using DownKyi.Core.Aria2cNet.Server; namespace DownKyi.Core.Settings { public partial class SettingsManager { // 是否开启解除地区限制 private readonly AllowStatus isLiftingOfRegion = AllowStatus.YES; // 下载器 private readonly Downloader downloader = Downloader.ARIA; // 最大同时下载数(任务数) private readonly int maxCurrentDownloads = 3; // 单文件最大线程数 private readonly int split = 8; // HttpProxy代理 private readonly AllowStatus isHttpProxy = AllowStatus.NO; private readonly string httpProxy = ""; private readonly int httpProxyListenPort = 0; // Aria服务器端口号 private readonly int ariaListenPort = 6800; // Aria日志等级 private readonly AriaConfigLogLevel ariaLogLevel = AriaConfigLogLevel.INFO; // Aria单文件最大线程数 private readonly int ariaSplit = 5; // Aria下载速度限制 private readonly int ariaMaxOverallDownloadLimit = 0; // Aria下载单文件速度限制 private readonly int ariaMaxDownloadLimit = 0; // Aria文件预分配 private readonly AriaConfigFileAllocation ariaFileAllocation = AriaConfigFileAllocation.NONE; // Aria HttpProxy代理 private readonly AllowStatus isAriaHttpProxy = AllowStatus.NO; private readonly string ariaHttpProxy = ""; private readonly int ariaHttpProxyListenPort = 0; /// /// 获取是否解除地区限制 /// /// public AllowStatus IsLiftingOfRegion() { appSettings = GetSettings(); if (appSettings.Network.IsLiftingOfRegion == AllowStatus.NONE) { // 第一次获取,先设置默认值 IsLiftingOfRegion(isLiftingOfRegion); return isLiftingOfRegion; } return appSettings.Network.IsLiftingOfRegion; } /// /// 设置是否解除地区限制 /// /// /// public bool IsLiftingOfRegion(AllowStatus isLiftingOfRegion) { appSettings.Network.IsLiftingOfRegion = isLiftingOfRegion; return SetSettings(); } /// /// 获取下载器 /// /// public Downloader GetDownloader() { appSettings = GetSettings(); if (appSettings.Network.Downloader == Downloader.NOT_SET) { // 第一次获取,先设置默认值 SetDownloader(downloader); return downloader; } return appSettings.Network.Downloader; } /// /// 设置下载器 /// /// /// public bool SetDownloader(Downloader downloader) { appSettings.Network.Downloader = downloader; return SetSettings(); } /// /// 获取最大同时下载数(任务数) /// /// public int GetMaxCurrentDownloads() { appSettings = GetSettings(); if (appSettings.Network.MaxCurrentDownloads == -1) { // 第一次获取,先设置默认值 SetMaxCurrentDownloads(maxCurrentDownloads); return maxCurrentDownloads; } return appSettings.Network.MaxCurrentDownloads; } /// /// 设置最大同时下载数(任务数) /// /// /// public bool SetMaxCurrentDownloads(int maxCurrentDownloads) { appSettings.Network.MaxCurrentDownloads = maxCurrentDownloads; return SetSettings(); } /// /// 获取单文件最大线程数 /// /// public int GetSplit() { appSettings = GetSettings(); if (appSettings.Network.Split == -1) { // 第一次获取,先设置默认值 SetSplit(split); return split; } return appSettings.Network.Split; } /// /// 设置单文件最大线程数 /// /// /// public bool SetSplit(int split) { appSettings.Network.Split = split; return SetSettings(); } /// /// 获取是否开启Http代理 /// /// public AllowStatus IsHttpProxy() { appSettings = GetSettings(); if (appSettings.Network.IsHttpProxy == AllowStatus.NONE) { // 第一次获取,先设置默认值 IsHttpProxy(isHttpProxy); return isHttpProxy; } return appSettings.Network.IsHttpProxy; } /// /// 设置是否开启Http代理 /// /// /// public bool IsHttpProxy(AllowStatus isHttpProxy) { appSettings.Network.IsHttpProxy = isHttpProxy; return SetSettings(); } /// /// 获取Http代理的地址 /// /// public string GetHttpProxy() { appSettings = GetSettings(); if (appSettings.Network.HttpProxy == null) { // 第一次获取,先设置默认值 SetHttpProxy(httpProxy); return httpProxy; } return appSettings.Network.HttpProxy; } /// /// 设置Aria的http代理的地址 /// /// /// public bool SetHttpProxy(string httpProxy) { appSettings.Network.HttpProxy = httpProxy; return SetSettings(); } /// /// 获取Http代理的端口 /// /// public int GetHttpProxyListenPort() { appSettings = GetSettings(); if (appSettings.Network.HttpProxyListenPort == -1) { // 第一次获取,先设置默认值 SetHttpProxyListenPort(httpProxyListenPort); return httpProxyListenPort; } return appSettings.Network.HttpProxyListenPort; } /// /// 设置Http代理的端口 /// /// /// public bool SetHttpProxyListenPort(int httpProxyListenPort) { appSettings.Network.HttpProxyListenPort = httpProxyListenPort; return SetSettings(); } /// /// 获取Aria服务器的端口号 /// /// public int GetAriaListenPort() { appSettings = GetSettings(); if (appSettings.Network.AriaListenPort == -1) { // 第一次获取,先设置默认值 SetAriaListenPort(ariaListenPort); return ariaListenPort; } return appSettings.Network.AriaListenPort; } /// /// 设置Aria服务器的端口号 /// /// /// public bool SetAriaListenPort(int ariaListenPort) { appSettings.Network.AriaListenPort = ariaListenPort; return SetSettings(); } /// /// 获取Aria日志等级 /// /// public AriaConfigLogLevel GetAriaLogLevel() { appSettings = GetSettings(); if (appSettings.Network.AriaLogLevel == AriaConfigLogLevel.NOT_SET) { // 第一次获取,先设置默认值 SetAriaLogLevel(ariaLogLevel); return ariaLogLevel; } return appSettings.Network.AriaLogLevel; } /// /// 设置Aria日志等级 /// /// /// public bool SetAriaLogLevel(AriaConfigLogLevel ariaLogLevel) { appSettings.Network.AriaLogLevel = ariaLogLevel; return SetSettings(); } /// /// 获取Aria单文件最大线程数 /// /// public int GetAriaSplit() { appSettings = GetSettings(); if (appSettings.Network.AriaSplit == -1) { // 第一次获取,先设置默认值 SetAriaSplit(ariaSplit); return ariaSplit; } return appSettings.Network.AriaSplit; } /// /// 设置Aria单文件最大线程数 /// /// /// public bool SetAriaSplit(int ariaSplit) { appSettings.Network.AriaSplit = ariaSplit; return SetSettings(); } /// /// 获取Aria下载速度限制 /// /// public int GetAriaMaxOverallDownloadLimit() { appSettings = GetSettings(); if (appSettings.Network.AriaMaxOverallDownloadLimit == -1) { // 第一次获取,先设置默认值 SetAriaMaxOverallDownloadLimit(ariaMaxOverallDownloadLimit); return ariaMaxOverallDownloadLimit; } return appSettings.Network.AriaMaxOverallDownloadLimit; } /// /// 设置Aria下载速度限制 /// /// /// public bool SetAriaMaxOverallDownloadLimit(int ariaMaxOverallDownloadLimit) { appSettings.Network.AriaMaxOverallDownloadLimit = ariaMaxOverallDownloadLimit; return SetSettings(); } /// /// 获取Aria下载单文件速度限制 /// /// public int GetAriaMaxDownloadLimit() { appSettings = GetSettings(); if (appSettings.Network.AriaMaxDownloadLimit == -1) { // 第一次获取,先设置默认值 SetAriaMaxDownloadLimit(ariaMaxDownloadLimit); return ariaMaxDownloadLimit; } return appSettings.Network.AriaMaxDownloadLimit; } /// /// 设置Aria下载单文件速度限制 /// /// /// public bool SetAriaMaxDownloadLimit(int ariaMaxDownloadLimit) { appSettings.Network.AriaMaxDownloadLimit = ariaMaxDownloadLimit; return SetSettings(); } /// /// 获取Aria文件预分配 /// /// public AriaConfigFileAllocation GetAriaFileAllocation() { appSettings = GetSettings(); if (appSettings.Network.AriaFileAllocation == AriaConfigFileAllocation.NOT_SET) { // 第一次获取,先设置默认值 SetAriaFileAllocation(ariaFileAllocation); return ariaFileAllocation; } return appSettings.Network.AriaFileAllocation; } /// /// 设置Aria文件预分配 /// /// /// public bool SetAriaFileAllocation(AriaConfigFileAllocation ariaFileAllocation) { appSettings.Network.AriaFileAllocation = ariaFileAllocation; return SetSettings(); } /// /// 获取是否开启Aria http代理 /// /// public AllowStatus IsAriaHttpProxy() { appSettings = GetSettings(); if (appSettings.Network.IsAriaHttpProxy == AllowStatus.NONE) { // 第一次获取,先设置默认值 IsAriaHttpProxy(isAriaHttpProxy); return isAriaHttpProxy; } return appSettings.Network.IsAriaHttpProxy; } /// /// 设置是否开启Aria http代理 /// /// /// public bool IsAriaHttpProxy(AllowStatus isAriaHttpProxy) { appSettings.Network.IsAriaHttpProxy = isAriaHttpProxy; return SetSettings(); } /// /// 获取Aria的http代理的地址 /// /// public string GetAriaHttpProxy() { appSettings = GetSettings(); if (appSettings.Network.AriaHttpProxy == null) { // 第一次获取,先设置默认值 SetAriaHttpProxy(ariaHttpProxy); return ariaHttpProxy; } return appSettings.Network.AriaHttpProxy; } /// /// 设置Aria的http代理的地址 /// /// /// public bool SetAriaHttpProxy(string ariaHttpProxy) { appSettings.Network.AriaHttpProxy = ariaHttpProxy; return SetSettings(); } /// /// 获取Aria的http代理的端口 /// /// public int GetAriaHttpProxyListenPort() { appSettings = GetSettings(); if (appSettings.Network.AriaHttpProxyListenPort == -1) { // 第一次获取,先设置默认值 SetAriaHttpProxyListenPort(ariaHttpProxyListenPort); return ariaHttpProxyListenPort; } return appSettings.Network.AriaHttpProxyListenPort; } /// /// 设置Aria的http代理的端口 /// /// /// public bool SetAriaHttpProxyListenPort(int ariaHttpProxyListenPort) { appSettings.Network.AriaHttpProxyListenPort = ariaHttpProxyListenPort; return SetSettings(); } } }