/// <summary> /// 关闭Aria服务器 /// </summary> private async Task CloseAriaServer() { // 暂停所有下载 var ariaPause = await AriaClient.PauseAllAsync(); Core.Utils.Debugging.Console.PrintLine(ariaPause.ToString()); // 关闭服务器 bool close = AriaServer.CloseServer(); Core.Utils.Debugging.Console.PrintLine(close); }
/// <summary> /// 启动Aria服务器 /// </summary> private async void StartAriaServer() { List <string> header = new List <string> { $"Cookie: {LoginHelper.GetLoginInfoCookiesString()}", $"Origin: https://www.bilibili.com", $"Referer: https://www.bilibili.com", $"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36" }; AriaConfig config = new AriaConfig() { ListenPort = SettingsManager.GetInstance().GetAriaListenPort(), Token = "downkyi", LogLevel = SettingsManager.GetInstance().GetAriaLogLevel(), MaxConcurrentDownloads = SettingsManager.GetInstance().GetMaxCurrentDownloads(), MaxConnectionPerServer = 8, // 最大取16 Split = SettingsManager.GetInstance().GetAriaSplit(), //MaxTries = 5, MinSplitSize = 10, // 10MB MaxOverallDownloadLimit = SettingsManager.GetInstance().GetAriaMaxOverallDownloadLimit() * 1024L, // 输入的单位是KB/s,所以需要乘以1024 MaxDownloadLimit = SettingsManager.GetInstance().GetAriaMaxDownloadLimit() * 1024L, // 输入的单位是KB/s,所以需要乘以1024 MaxOverallUploadLimit = 0, MaxUploadLimit = 0, ContinueDownload = true, FileAllocation = SettingsManager.GetInstance().GetAriaFileAllocation(), Headers = header }; var task = await AriaServer.StartServerAsync(config); if (task) { Console.WriteLine("Start ServerAsync Completed"); } for (int i = 0; i < 10; i++) { var globOpt = await AriaClient.GetGlobalOptionAsync(); if (globOpt != null) { break; } await Task.Delay(1000); } Console.WriteLine("Start ServerAsync end"); }