mirror of
				https://github.com/2dust/v2rayN.git
				synced 2025-10-31 12:32:53 +00:00 
			
		
		
		
	add xray core leastPing support (#7023)
* add xray core leastPing support * Refactor multi-server configuration UI logic * Remove unused functions
This commit is contained in:
		
							parent
							
								
									6ad0762731
								
							
						
					
					
						commit
						e3580b05f7
					
				
					 17 changed files with 891 additions and 656 deletions
				
			
		
							
								
								
									
										10
									
								
								v2rayN/ServiceLib/Enums/EMultipleLoad.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								v2rayN/ServiceLib/Enums/EMultipleLoad.cs
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| namespace ServiceLib.Enums | ||||
| { | ||||
|     public enum EMultipleLoad | ||||
|     { | ||||
|         Random, | ||||
|         RoundRobin, | ||||
|         LeastPing, | ||||
|         LeastLoad | ||||
|     } | ||||
| } | ||||
|  | @ -1005,12 +1005,12 @@ namespace ServiceLib.Handler | |||
|             return 0; | ||||
|         } | ||||
| 
 | ||||
|         public static async Task<RetResult> AddCustomServer4Multiple(Config config, List<ProfileItem> selecteds, ECoreType coreType) | ||||
|         public static async Task<RetResult> AddCustomServer4Multiple(Config config, List<ProfileItem> selecteds, ECoreType coreType, EMultipleLoad multipleLoad) | ||||
|         { | ||||
|             var indexId = Utils.GetMd5(Global.CoreMultipleLoadConfigFileName); | ||||
|             var configPath = Utils.GetConfigPath(Global.CoreMultipleLoadConfigFileName); | ||||
| 
 | ||||
|             var result = await CoreConfigHandler.GenerateClientMultipleLoadConfig(config, configPath, selecteds, coreType); | ||||
|             var result = await CoreConfigHandler.GenerateClientMultipleLoadConfig(config, configPath, selecteds, coreType, multipleLoad); | ||||
|             if (result.Success != true) | ||||
|             { | ||||
|                 return result; | ||||
|  | @ -1023,7 +1023,14 @@ namespace ServiceLib.Handler | |||
| 
 | ||||
|             var profileItem = await AppHandler.Instance.GetProfileItem(indexId) ?? new(); | ||||
|             profileItem.IndexId = indexId; | ||||
|             profileItem.Remarks = coreType == ECoreType.sing_box ? ResUI.menuSetDefaultMultipleServer : ResUI.menuSetDefaultLoadBalanceServer; | ||||
|             profileItem.Remarks = multipleLoad switch | ||||
|             { | ||||
|                 EMultipleLoad.Random => ResUI.menuSetDefaultMultipleServerXrayRandom, | ||||
|                 EMultipleLoad.RoundRobin => ResUI.menuSetDefaultMultipleServerXrayRoundRobin, | ||||
|                 EMultipleLoad.LeastPing => ResUI.menuSetDefaultMultipleServerXrayLeastPing, | ||||
|                 EMultipleLoad.LeastLoad => ResUI.menuSetDefaultMultipleServerXrayLeastLoad, | ||||
|                 _ => ResUI.menuSetDefaultMultipleServerXrayRoundRobin, | ||||
|             }; | ||||
|             profileItem.Address = Global.CoreMultipleLoadConfigFileName; | ||||
|             profileItem.ConfigType = EConfigType.Custom; | ||||
|             profileItem.CoreType = coreType; | ||||
|  |  | |||
|  | @ -1,3 +1,7 @@ | |||
| using DynamicData; | ||||
| using ServiceLib.Enums; | ||||
| using ServiceLib.Models; | ||||
| 
 | ||||
| namespace ServiceLib.Handler | ||||
| { | ||||
|     /// <summary> | ||||
|  | @ -133,16 +137,16 @@ namespace ServiceLib.Handler | |||
|             return result; | ||||
|         } | ||||
| 
 | ||||
|         public static async Task<RetResult> GenerateClientMultipleLoadConfig(Config config, string fileName, List<ProfileItem> selecteds, ECoreType coreType) | ||||
|         public static async Task<RetResult> GenerateClientMultipleLoadConfig(Config config, string fileName, List<ProfileItem> selecteds, ECoreType coreType, EMultipleLoad multipleLoad) | ||||
|         { | ||||
|             var result = new RetResult(); | ||||
|             if (coreType == ECoreType.sing_box) | ||||
|             { | ||||
|                 result = await new CoreConfigSingboxService(config).GenerateClientMultipleLoadConfig(selecteds); | ||||
|             } | ||||
|             else if (coreType == ECoreType.Xray) | ||||
|             else | ||||
|             { | ||||
|                 result = await new CoreConfigV2rayService(config).GenerateClientMultipleLoadConfig(selecteds); | ||||
|                 result = await new CoreConfigV2rayService(config).GenerateClientMultipleLoadConfig(selecteds, multipleLoad); | ||||
|             } | ||||
| 
 | ||||
|             if (result.Success != true) | ||||
|  |  | |||
|  | @ -12,6 +12,8 @@ namespace ServiceLib.Models | |||
|         public Metrics4Ray? metrics { get; set; } | ||||
|         public Policy4Ray? policy { get; set; } | ||||
|         public Stats4Ray? stats { get; set; } | ||||
|         public Observatory4Ray? observatory { get; set; } | ||||
|         public BurstObservatory4Ray? burstObservatory { get; set; } | ||||
|         public string? remarks { get; set; } | ||||
|     } | ||||
| 
 | ||||
|  | @ -232,6 +234,46 @@ namespace ServiceLib.Models | |||
|     public class BalancersStrategy4Ray | ||||
|     { | ||||
|         public string? type { get; set; } | ||||
|         public BalancersStrategySettings4Ray? settings { get; set; } | ||||
|     } | ||||
| 
 | ||||
|     public class BalancersStrategySettings4Ray | ||||
|     { | ||||
|         public int? expected { get; set; } | ||||
|         public string? maxRTT { get; set; } | ||||
|         public float? tolerance { get; set; } | ||||
|         public List<string>? baselines { get; set; } | ||||
|         public List<BalancersStrategySettingsCosts4Ray>? costs { get; set; } | ||||
|     } | ||||
| 
 | ||||
|     public class BalancersStrategySettingsCosts4Ray | ||||
|     { | ||||
|         public bool? regexp { get; set; } | ||||
|         public string? match { get; set; } | ||||
|         public float? value { get; set; } | ||||
|     } | ||||
| 
 | ||||
|     public class Observatory4Ray | ||||
|     { | ||||
|         public List<string>? subjectSelector { get; set; } | ||||
|         public string? probeUrl { get; set; } | ||||
|         public string? probeInterval { get; set; } | ||||
|         public bool? enableConcurrency { get; set; } | ||||
|     } | ||||
| 
 | ||||
|     public class BurstObservatory4Ray | ||||
|     { | ||||
|         public List<string>? subjectSelector { get; set; } | ||||
|         public BurstObservatoryPingConfig4Ray? pingConfig { get; set; } | ||||
|     } | ||||
| 
 | ||||
|     public class BurstObservatoryPingConfig4Ray | ||||
|     { | ||||
|         public string? destination { get; set; } | ||||
|         public string? connectivity { get; set; } | ||||
|         public string? interval { get; set; } | ||||
|         public int? sampling { get; set; } | ||||
|         public string? timeout { get; set; } | ||||
|     } | ||||
| 
 | ||||
|     public class StreamSettings4Ray | ||||
|  |  | |||
							
								
								
									
										48
									
								
								v2rayN/ServiceLib/Resx/ResUI.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										48
									
								
								v2rayN/ServiceLib/Resx/ResUI.Designer.cs
									
									
									
										generated
									
									
									
								
							|  | @ -1474,20 +1474,56 @@ namespace ServiceLib.Resx { | |||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   查找类似 Multi-server load balancing 的本地化字符串。 | ||||
|         ///   查找类似 Multi-Server lowest latency sing-box 的本地化字符串。 | ||||
|         /// </summary> | ||||
|         public static string menuSetDefaultLoadBalanceServer { | ||||
|         public static string menuSetDefaultMultipleServerSingBoxLeastPing { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("menuSetDefaultLoadBalanceServer", resourceCulture); | ||||
|                 return ResourceManager.GetString("menuSetDefaultMultipleServerSingBoxLeastPing", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   查找类似 Multi-Server lowest latency 的本地化字符串。 | ||||
|         ///   查找类似 Multi-Server Xray 的本地化字符串。 | ||||
|         /// </summary> | ||||
|         public static string menuSetDefaultMultipleServer { | ||||
|         public static string menuSetDefaultMultipleServerXray { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("menuSetDefaultMultipleServer", resourceCulture); | ||||
|                 return ResourceManager.GetString("menuSetDefaultMultipleServerXray", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   查找类似 Multi-Server LeastLoad 的本地化字符串。 | ||||
|         /// </summary> | ||||
|         public static string menuSetDefaultMultipleServerXrayLeastLoad { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("menuSetDefaultMultipleServerXrayLeastLoad", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   查找类似 Multi-Server LeastPing 的本地化字符串。 | ||||
|         /// </summary> | ||||
|         public static string menuSetDefaultMultipleServerXrayLeastPing { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("menuSetDefaultMultipleServerXrayLeastPing", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   查找类似 Multi-Server Random 的本地化字符串。 | ||||
|         /// </summary> | ||||
|         public static string menuSetDefaultMultipleServerXrayRandom { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("menuSetDefaultMultipleServerXrayRandom", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         ///   查找类似 Multi-Server RoundRobin 的本地化字符串。 | ||||
|         /// </summary> | ||||
|         public static string menuSetDefaultMultipleServerXrayRoundRobin { | ||||
|             get { | ||||
|                 return ResourceManager.GetString("menuSetDefaultMultipleServerXrayRoundRobin", resourceCulture); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|  |  | |||
|  | @ -936,21 +936,219 @@ | |||
|   <data name="TbSettingsTunMode" xml:space="preserve"> | ||||
|     <value>تنظیمات TunMode</value> | ||||
|   </data> | ||||
|   <data name="menuMoveToGroup" xml:space="preserve"> | ||||
|     <value>انتقال به گروه</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableDragDropSort" xml:space="preserve"> | ||||
|     <value>فعال کردن مرتبسازی سرورها با کشیدن و رها کردن (نیاز به راهاندازی مجدد)</value> | ||||
|   </data> | ||||
|   <data name="TbAutoRefresh" xml:space="preserve"> | ||||
|     <value>بازخوانی خودکار</value> | ||||
|   </data> | ||||
|   <data name="SpeedtestingSkip" xml:space="preserve"> | ||||
|     <value>رد شدن از آزمون</value> | ||||
|   </data> | ||||
|   <data name="menuEditServer" xml:space="preserve"> | ||||
|     <value>ویرایش سرور (Ctrl+D)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDoubleClick2Activate" xml:space="preserve"> | ||||
|     <value>دوبار کلیک کردن سرور باعث فعال شدن آن می شود</value> | ||||
|   </data> | ||||
|   <data name="SpeedtestingCompleted" xml:space="preserve"> | ||||
|     <value>تست تکمیل شد</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDefFingerprint" xml:space="preserve"> | ||||
|     <value>اثر انگشت tls پیش فرض</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDefUserAgent" xml:space="preserve"> | ||||
|     <value>User-Agent</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDefUserAgentTips" xml:space="preserve"> | ||||
|     <value>این پارامتر فقط برای tcp/http و ws معتبر است</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsCurrentFontFamily" xml:space="preserve"> | ||||
|     <value>FontFamily (نیاز به راه اندازی مجدد)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsCurrentFontFamilyTip" xml:space="preserve"> | ||||
|     <value>فایل TTF/TTC فونت را در دایرکتوری guiFonts کپی کنید. پنجره تنظیمات را دوباره باز کنید</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSocksPortTip" xml:space="preserve"> | ||||
|     <value>پورت Pac = +3; پورت Xray API = +4; پورت mihomo API = +5;</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsStartBootTip" xml:space="preserve"> | ||||
|     <value>این را با امتیازات ادمین تنظیم کنید، پس از راه اندازی، امتیازات مدیر را دریافت کنید</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsFontSize" xml:space="preserve"> | ||||
|     <value>اندازه فونت</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSpeedTestTimeout" xml:space="preserve"> | ||||
|     <value>یمقدار تاخیر تست سرعت منفرد</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSpeedTestUrl" xml:space="preserve"> | ||||
|     <value>/آدرس اینترنتی SpeedTest</value> | ||||
|   </data> | ||||
|   <data name="menuMoveTo" xml:space="preserve"> | ||||
|     <value>بالا و پایین حرکت کنید</value> | ||||
|   </data> | ||||
|   <data name="TbPublicKey" xml:space="preserve"> | ||||
|     <value>PublicKey</value> | ||||
|   </data> | ||||
|   <data name="TbShortId" xml:space="preserve"> | ||||
|     <value>ShortId</value> | ||||
|   </data> | ||||
|   <data name="TbSpiderX" xml:space="preserve"> | ||||
|     <value>SpiderX</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableHWA" xml:space="preserve"> | ||||
|     <value>فعال سازی شتاب دهنده سخت افزاری (نیاز به راهاندازی مجدد)</value> | ||||
|   </data> | ||||
|   <data name="SpeedtestingWait" xml:space="preserve"> | ||||
|     <value>در انتظار آزمایش (برای پایان دادن به ESC فشار دهید)...</value> | ||||
|   </data> | ||||
|   <data name="TipDisplayLog" xml:space="preserve"> | ||||
|     <value>لطفاً در صورت قطع غیرعادی آن را خاموش کنید</value> | ||||
|   </data> | ||||
|   <data name="MsgSkipSubscriptionUpdate" xml:space="preserve"> | ||||
|     <value>به روز رسانی ها فعال نیستند، از این اشتراک رد شوید</value> | ||||
|   </data> | ||||
|   <data name="menuRebootAsAdmin" xml:space="preserve"> | ||||
|     <value>به عنوان مدیر راه اندازی مجدد</value> | ||||
|   </data> | ||||
|   <data name="LvMoreUrl" xml:space="preserve"> | ||||
|     <value>نشانیهای وب بیشتر که با کاما از هم جدا شدهاند. تبدیل اشتراک نامعتبر خواهد بود</value> | ||||
|   </data> | ||||
|   <data name="SpeedDisplayText" xml:space="preserve"> | ||||
|     <value>{0} : {1}/s↑ | {2}/s↓</value> | ||||
|   </data> | ||||
|   <data name="LvAutoUpdateInterval" xml:space="preserve"> | ||||
|     <value>فاصله به روز رسانی خودکار (دقیقه)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsLogEnabledToFile" xml:space="preserve"> | ||||
|     <value>فعال کردن ورود به فایل</value> | ||||
|   </data> | ||||
|   <data name="LvConvertTarget" xml:space="preserve"> | ||||
|     <value>تبدیل نوع هدف</value> | ||||
|   </data> | ||||
|   <data name="LvConvertTargetTip" xml:space="preserve"> | ||||
|     <value>اگر نیازی به تبدیل نیست، لطفاً خالی بگذارید</value> | ||||
|   </data> | ||||
|   <data name="menuDNSSetting" xml:space="preserve"> | ||||
|     <value>تنظیمات DNS</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsCoreDnsSingbox" xml:space="preserve"> | ||||
|     <value>تنظیمات DNS sing-box</value> | ||||
|   </data> | ||||
|   <data name="TbDnsSingboxObjectDoc" xml:space="preserve"> | ||||
|     <value>لطفا ساختار DNS را پر کنید، برای مشاهده سند کلیک کنید</value> | ||||
|   </data> | ||||
|   <data name="TbSettingDnsImportDefConfig" xml:space="preserve"> | ||||
|     <value>برای وارد کردن تنظیمات پیشفرض DNS کلیک کنید</value> | ||||
|   </data> | ||||
|   <data name="TbdomainStrategy4Singbox" xml:space="preserve"> | ||||
|     <value>استراتژی دامنه sing-box</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsMux4SboxProtocol" xml:space="preserve"> | ||||
|     <value>پروتکل sing-box Mux</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleProcess" xml:space="preserve"> | ||||
|     <value>نام کامل فرانید (حالت Tun)</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleIP" xml:space="preserve"> | ||||
|     <value>IP or IP CIDR</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleDomain" xml:space="preserve"> | ||||
|     <value>دامنه</value> | ||||
|   </data> | ||||
|   <data name="menuAddHysteria2Server" xml:space="preserve"> | ||||
|     <value>Add [Hysteria2] server</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsHysteriaBandwidth" xml:space="preserve"> | ||||
|     <value>حداکتر پهنای باند هیستریا (آپلود/دانلود)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsUseSystemHosts" xml:space="preserve"> | ||||
|     <value>استفاده کردن از System Hosts</value> | ||||
|   </data> | ||||
|   <data name="menuAddTuicServer" xml:space="preserve"> | ||||
|     <value>افزودن سرور [TUIC]</value> | ||||
|   </data> | ||||
|   <data name="TbHeaderType8" xml:space="preserve"> | ||||
|     <value>کنترل تراکم</value> | ||||
|   </data> | ||||
|   <data name="LvPrevProfile" xml:space="preserve"> | ||||
|     <value>نام مستعار پروکسی قبلی</value> | ||||
|   </data> | ||||
|   <data name="LvNextProfile" xml:space="preserve"> | ||||
|     <value>نام مستعار پروکسی بعدی</value> | ||||
|   </data> | ||||
|   <data name="LvPrevProfileTip" xml:space="preserve"> | ||||
|     <value>لطفاً مطمئن شوید که ملاحظات وجود دارند و منحصر به فرد هستند</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableExInbound" xml:space="preserve"> | ||||
|     <value>فعال سازی additional Inbound</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableIPv6Address" xml:space="preserve"> | ||||
|     <value>فعال سازی آدرس IPv6</value> | ||||
|   </data> | ||||
|   <data name="menuAddWireguardServer" xml:space="preserve"> | ||||
|     <value>افزودن سرور [WireGuard]</value> | ||||
|   </data> | ||||
|   <data name="TbPrivateKey" xml:space="preserve"> | ||||
|     <value>کلید خصوصی</value> | ||||
|   </data> | ||||
|   <data name="TbReserved" xml:space="preserve"> | ||||
|     <value>Reserved (2,3,4)</value> | ||||
|   </data> | ||||
|   <data name="TbLocalAddress" xml:space="preserve"> | ||||
|     <value>آدرس (IPv4, IPv6)</value> | ||||
|   </data> | ||||
|   <data name="TbPath7" xml:space="preserve"> | ||||
|     <value>پسورد obfs</value> | ||||
|   </data> | ||||
|   <data name="TbRuleMatchingTips" xml:space="preserve"> | ||||
|     <value>(Domain or IP or ProcName) and Port and Protocol and InboundTag => OutboundTag</value> | ||||
|   </data> | ||||
|   <data name="TbAutoScrollToEnd" xml:space="preserve"> | ||||
|     <value>خودکار ScrollToEnd</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSpeedPingTestUrl" xml:space="preserve"> | ||||
|     <value>آدرس اینترنتی تست پینگ سرعت</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableUpdateSubOnlyRemarksExist" xml:space="preserve"> | ||||
|     <value>اشتراک در حال بهروزرسانی، فقط مشخص کنید که ملاحظاتی آیا وجود دارد!</value> | ||||
|   </data> | ||||
|   <data name="SpeedtestingStop" xml:space="preserve"> | ||||
|     <value>پایان تست...</value> | ||||
|   </data> | ||||
|   <data name="TransportRequestHostTip5" xml:space="preserve"> | ||||
|     <value>*grpc Authority</value> | ||||
|   </data> | ||||
|   <data name="menuAddHttpServer" xml:space="preserve"> | ||||
|     <value>افزودن سرور [HTTP]</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableFragmentTips" xml:space="preserve"> | ||||
|     <value>از Xray استفاده کنید و حالت non-Tun را فعال کنید، که با پراکسی قبلی گروه در تضاد است</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableFragment" xml:space="preserve"> | ||||
|     <value>فعال کردن فرگمنت</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve"> | ||||
|     <value>فعال کردن کش فایل مجموعه قوانین برای sing-box</value> | ||||
|   </data> | ||||
|   <data name="LvCustomRulesetPath4Singbox" xml:space="preserve"> | ||||
|     <value>سفارش سازی مجموعه قوانین sing box</value> | ||||
|   </data> | ||||
|   <data name="NeedRebootTips" xml:space="preserve"> | ||||
|     <value>عملکرد موفقیت آمیز بود، روی منوی تنظیمات کلیک کنید تا برنامه راه اندازی مجدد شود.</value> | ||||
|   </data> | ||||
|   <data name="menuOpenTheFileLocation" xml:space="preserve"> | ||||
|     <value>باز کردن محل ذخیره سازی</value> | ||||
|   </data> | ||||
|   <data name="TbSorting" xml:space="preserve"> | ||||
|     <value>مرتب سازی</value> | ||||
|   </data> | ||||
|   <data name="TbSortingChain" xml:space="preserve"> | ||||
|     <value>Chain</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDefault" xml:space="preserve"> | ||||
|     <value>پیش فرض</value> | ||||
|   </data> | ||||
|  | @ -963,12 +1161,21 @@ | |||
|   <data name="TbSortingDownTraffic" xml:space="preserve"> | ||||
|     <value>ترافیک دانلود</value> | ||||
|   </data> | ||||
|   <data name="TbSortingHost" xml:space="preserve"> | ||||
|     <value>هاست</value> | ||||
|   </data> | ||||
|   <data name="TbSortingName" xml:space="preserve"> | ||||
|     <value>نام</value> | ||||
|   </data> | ||||
|   <data name="TbSortingNetwork" xml:space="preserve"> | ||||
|     <value>شبکه</value> | ||||
|   </data> | ||||
|   <data name="TbSortingTime" xml:space="preserve"> | ||||
|     <value>زمان</value> | ||||
|   </data> | ||||
|   <data name="TbSortingType" xml:space="preserve"> | ||||
|     <value>نوع</value> | ||||
|   </data> | ||||
|   <data name="TbSortingUpSpeed" xml:space="preserve"> | ||||
|     <value>سرعت اپلود</value> | ||||
|   </data> | ||||
|  | @ -1008,27 +1215,18 @@ | |||
|   <data name="menuProxiesDelaytestPart" xml:space="preserve"> | ||||
|     <value>تست تاخیر قسمت گره (نقطه اتصال)</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesReload" xml:space="preserve"> | ||||
|     <value>تازه سازی پروکسی ها</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesSelectActivity" xml:space="preserve"> | ||||
|     <value>انتخاب گره فعال (Enter)</value> | ||||
|   </data> | ||||
|   <data name="menuRemoteBackup" xml:space="preserve"> | ||||
|     <value>پشتیبان گیری از راه دور (WebDAV)</value> | ||||
|   </data> | ||||
|   <data name="menuRemoteRestore" xml:space="preserve"> | ||||
|     <value>بازیابی از راه دور (WebDAV)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDomainStrategy4Out" xml:space="preserve"> | ||||
|     <value>استراتژی دامنه پیش فرض برای خروجی</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServer" xml:space="preserve"> | ||||
|     <value>کمترین تأخیر چند سروره</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsMainGirdOrientation" xml:space="preserve"> | ||||
|     <value>جهت چیدمان اصلی (نیاز به راه اندازی مجدد)</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultLoadBalanceServer" xml:space="preserve"> | ||||
|     <value>تعادل بار چند سروره</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDomainDNSAddress" xml:space="preserve"> | ||||
|     <value>آدرس DNS خروجی</value> | ||||
|   </data> | ||||
|  | @ -1056,6 +1254,12 @@ | |||
|   <data name="menuLocalRestore" xml:space="preserve"> | ||||
|     <value>بازیابی از محلی</value> | ||||
|   </data> | ||||
|   <data name="menuRemoteBackup" xml:space="preserve"> | ||||
|     <value>پشتیبان گیری از راه دور (WebDAV)</value> | ||||
|   </data> | ||||
|   <data name="menuRemoteRestore" xml:space="preserve"> | ||||
|     <value>بازیابی از راه دور (WebDAV)</value> | ||||
|   </data> | ||||
|   <data name="menuLocalBackupAndRestore" xml:space="preserve"> | ||||
|     <value>محلی</value> | ||||
|   </data> | ||||
|  | @ -1131,216 +1335,6 @@ | |||
|   <data name="LvMemo" xml:space="preserve"> | ||||
|     <value>یادداشت ملاحظات</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsLogEnabledToFile" xml:space="preserve"> | ||||
|     <value>فعال کردن ورود به فایل</value> | ||||
|   </data> | ||||
|   <data name="MsgSkipSubscriptionUpdate" xml:space="preserve"> | ||||
|     <value>به روز رسانی ها فعال نیستند، از این اشتراک رد شوید</value> | ||||
|   </data> | ||||
|   <data name="menuRebootAsAdmin" xml:space="preserve"> | ||||
|     <value>به عنوان مدیر راه اندازی مجدد</value> | ||||
|   </data> | ||||
|   <data name="LvMoreUrl" xml:space="preserve"> | ||||
|     <value>نشانیهای وب بیشتر که با کاما از هم جدا شدهاند. تبدیل اشتراک نامعتبر خواهد بود</value> | ||||
|   </data> | ||||
|   <data name="SpeedDisplayText" xml:space="preserve"> | ||||
|     <value>{0} : {1}/s↑ | {2}/s↓</value> | ||||
|   </data> | ||||
|   <data name="LvAutoUpdateInterval" xml:space="preserve"> | ||||
|     <value>فاصله به روز رسانی خودکار (دقیقه)</value> | ||||
|   </data> | ||||
|   <data name="LvConvertTarget" xml:space="preserve"> | ||||
|     <value>تبدیل نوع هدف</value> | ||||
|   </data> | ||||
|   <data name="LvConvertTargetTip" xml:space="preserve"> | ||||
|     <value>اگر نیازی به تبدیل نیست، لطفاً خالی بگذارید</value> | ||||
|   </data> | ||||
|   <data name="TipDisplayLog" xml:space="preserve"> | ||||
|     <value>لطفاً در صورت قطع غیرعادی آن را خاموش کنید</value> | ||||
|   </data> | ||||
|   <data name="menuDNSSetting" xml:space="preserve"> | ||||
|     <value>تنظیمات DNS</value> | ||||
|   </data> | ||||
|   <data name="TbDnsSingboxObjectDoc" xml:space="preserve"> | ||||
|     <value>لطفا ساختار DNS را پر کنید، برای مشاهده سند کلیک کنید</value> | ||||
|   </data> | ||||
|   <data name="TbSettingDnsImportDefConfig" xml:space="preserve"> | ||||
|     <value>برای وارد کردن تنظیمات پیشفرض DNS کلیک کنید</value> | ||||
|   </data> | ||||
|   <data name="TbdomainStrategy4Singbox" xml:space="preserve"> | ||||
|     <value>استراتژی دامنه sing-box</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsMux4SboxProtocol" xml:space="preserve"> | ||||
|     <value>پروتکل sing-box Mux</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleProcess" xml:space="preserve"> | ||||
|     <value>نام کامل فرانید (حالت Tun)</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleIP" xml:space="preserve"> | ||||
|     <value>IP or IP CIDR</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleDomain" xml:space="preserve"> | ||||
|     <value>دامنه</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsCoreDnsSingbox" xml:space="preserve"> | ||||
|     <value>تنظیمات DNS sing-box</value> | ||||
|   </data> | ||||
|   <data name="SpeedtestingWait" xml:space="preserve"> | ||||
|     <value>در انتظار آزمایش (برای پایان دادن به ESC فشار دهید)...</value> | ||||
|   </data> | ||||
|   <data name="TbSpiderX" xml:space="preserve"> | ||||
|     <value>SpiderX</value> | ||||
|   </data> | ||||
|   <data name="TbShortId" xml:space="preserve"> | ||||
|     <value>ShortId</value> | ||||
|   </data> | ||||
|   <data name="menuMoveToGroup" xml:space="preserve"> | ||||
|     <value>انتقال به گروه</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableDragDropSort" xml:space="preserve"> | ||||
|     <value>فعال کردن مرتبسازی سرورها با کشیدن و رها کردن (نیاز به راهاندازی مجدد)</value> | ||||
|   </data> | ||||
|   <data name="TbAutoRefresh" xml:space="preserve"> | ||||
|     <value>بازخوانی خودکار</value> | ||||
|   </data> | ||||
|   <data name="SpeedtestingSkip" xml:space="preserve"> | ||||
|     <value>رد شدن از آزمون</value> | ||||
|   </data> | ||||
|   <data name="menuEditServer" xml:space="preserve"> | ||||
|     <value>ویرایش سرور (Ctrl+D)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDoubleClick2Activate" xml:space="preserve"> | ||||
|     <value>دوبار کلیک کردن سرور باعث فعال شدن آن می شود</value> | ||||
|   </data> | ||||
|   <data name="SpeedtestingCompleted" xml:space="preserve"> | ||||
|     <value>تست تکمیل شد</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDefFingerprint" xml:space="preserve"> | ||||
|     <value>اثر انگشت tls پیش فرض</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsCurrentFontFamily" xml:space="preserve"> | ||||
|     <value>FontFamily (نیاز به راه اندازی مجدد)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsCurrentFontFamilyTip" xml:space="preserve"> | ||||
|     <value>فایل TTF/TTC فونت را در دایرکتوری guiFonts کپی کنید. پنجره تنظیمات را دوباره باز کنید</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSocksPortTip" xml:space="preserve"> | ||||
|     <value>پورت Pac = +3; پورت Xray API = +4; پورت mihomo API = +5;</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsStartBootTip" xml:space="preserve"> | ||||
|     <value>این را با امتیازات ادمین تنظیم کنید، پس از راه اندازی، امتیازات مدیر را دریافت کنید</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsFontSize" xml:space="preserve"> | ||||
|     <value>اندازه فونت</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSpeedTestTimeout" xml:space="preserve"> | ||||
|     <value>یمقدار تاخیر تست سرعت منفرد</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSpeedTestUrl" xml:space="preserve"> | ||||
|     <value>/آدرس اینترنتی SpeedTest</value> | ||||
|   </data> | ||||
|   <data name="menuMoveTo" xml:space="preserve"> | ||||
|     <value>بالا و پایین حرکت کنید</value> | ||||
|   </data> | ||||
|   <data name="TbPublicKey" xml:space="preserve"> | ||||
|     <value>PublicKey</value> | ||||
|   </data> | ||||
|   <data name="menuAddHysteria2Server" xml:space="preserve"> | ||||
|     <value>Add [Hysteria2] server</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsHysteriaBandwidth" xml:space="preserve"> | ||||
|     <value>حداکتر پهنای باند هیستریا (آپلود/دانلود)</value> | ||||
|   </data> | ||||
|   <data name="menuAddTuicServer" xml:space="preserve"> | ||||
|     <value>افزودن سرور [TUIC]</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableUpdateSubOnlyRemarksExist" xml:space="preserve"> | ||||
|     <value>اشتراک در حال بهروزرسانی، فقط مشخص کنید که ملاحظاتی آیا وجود دارد!</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesReload" xml:space="preserve"> | ||||
|     <value>تازه سازی پروکسی ها</value> | ||||
|   </data> | ||||
|   <data name="TbSortingNetwork" xml:space="preserve"> | ||||
|     <value>شبکه</value> | ||||
|   </data> | ||||
|   <data name="TbSortingType" xml:space="preserve"> | ||||
|     <value>نوع</value> | ||||
|   </data> | ||||
|   <data name="TransportRequestHostTip5" xml:space="preserve"> | ||||
|     <value>*grpc Authority</value> | ||||
|   </data> | ||||
|   <data name="menuAddHttpServer" xml:space="preserve"> | ||||
|     <value>افزودن سرور [HTTP]</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSpeedPingTestUrl" xml:space="preserve"> | ||||
|     <value>آدرس اینترنتی تست پینگ سرعت</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableFragmentTips" xml:space="preserve"> | ||||
|     <value>از Xray استفاده کنید و حالت non-Tun را فعال کنید، که با پراکسی قبلی گروه در تضاد است</value> | ||||
|   </data> | ||||
|   <data name="LvCustomRulesetPath4Singbox" xml:space="preserve"> | ||||
|     <value>سفارش سازی مجموعه قوانین sing box</value> | ||||
|   </data> | ||||
|   <data name="NeedRebootTips" xml:space="preserve"> | ||||
|     <value>عملکرد موفقیت آمیز بود، روی منوی تنظیمات کلیک کنید تا برنامه راه اندازی مجدد شود.</value> | ||||
|   </data> | ||||
|   <data name="menuOpenTheFileLocation" xml:space="preserve"> | ||||
|     <value>باز کردن محل ذخیره سازی</value> | ||||
|   </data> | ||||
|   <data name="TbSortingChain" xml:space="preserve"> | ||||
|     <value>Chain</value> | ||||
|   </data> | ||||
|   <data name="TbSortingHost" xml:space="preserve"> | ||||
|     <value>هاست</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsUseSystemHosts" xml:space="preserve"> | ||||
|     <value>استفاده کردن از System Hosts</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableFragment" xml:space="preserve"> | ||||
|     <value>فعال کردن فرگمنت</value> | ||||
|   </data> | ||||
|   <data name="TbAutoScrollToEnd" xml:space="preserve"> | ||||
|     <value>خودکار ScrollToEnd</value> | ||||
|   </data> | ||||
|   <data name="SpeedtestingStop" xml:space="preserve"> | ||||
|     <value>پایان تست...</value> | ||||
|   </data> | ||||
|   <data name="LvNextProfile" xml:space="preserve"> | ||||
|     <value>نام مستعار پروکسی بعدی</value> | ||||
|   </data> | ||||
|   <data name="TbPath7" xml:space="preserve"> | ||||
|     <value>پسورد obfs</value> | ||||
|   </data> | ||||
|   <data name="TbHeaderType8" xml:space="preserve"> | ||||
|     <value>کنترل تراکم</value> | ||||
|   </data> | ||||
|   <data name="LvPrevProfile" xml:space="preserve"> | ||||
|     <value>نام مستعار پروکسی قبلی</value> | ||||
|   </data> | ||||
|   <data name="TbLocalAddress" xml:space="preserve"> | ||||
|     <value>آدرس (IPv4, IPv6)</value> | ||||
|   </data> | ||||
|   <data name="TbReserved" xml:space="preserve"> | ||||
|     <value>Reserved (2,3,4)</value> | ||||
|   </data> | ||||
|   <data name="TbPrivateKey" xml:space="preserve"> | ||||
|     <value>کلید خصوصی</value> | ||||
|   </data> | ||||
|   <data name="menuAddWireguardServer" xml:space="preserve"> | ||||
|     <value>افزودن سرور [WireGuard]</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableIPv6Address" xml:space="preserve"> | ||||
|     <value>فعال سازی آدرس IPv6</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableExInbound" xml:space="preserve"> | ||||
|     <value>فعال سازی additional Inbound</value> | ||||
|   </data> | ||||
|   <data name="LvPrevProfileTip" xml:space="preserve"> | ||||
|     <value>لطفاً مطمئن شوید که ملاحظات وجود دارند و منحصر به فرد هستند</value> | ||||
|   </data> | ||||
|   <data name="TbRuleMatchingTips" xml:space="preserve"> | ||||
|     <value>(Domain or IP or ProcName) and Port and Protocol and InboundTag => OutboundTag</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsLinuxSudoPassword" xml:space="preserve"> | ||||
|     <value>رمز عبور sudo سیستم</value> | ||||
|   </data> | ||||
|  | @ -1401,4 +1395,22 @@ | |||
|   <data name="TbPorts7Tips" xml:space="preserve"> | ||||
|     <value>مخفی و پورت می شود، با کاما (،) جدا می شود</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXray" xml:space="preserve"> | ||||
|     <value>چند سرور Xray (چند انتخابی)</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayRandom" xml:space="preserve"> | ||||
|     <value>چند سرور تصادفی</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayRoundRobin" xml:space="preserve"> | ||||
|     <value>چند سرور گردشی</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayLeastPing" xml:space="preserve"> | ||||
|     <value>چند سرور کمترین تأخیر</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayLeastLoad" xml:space="preserve"> | ||||
|     <value>چند سرور پایدارترین</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerSingBoxLeastPing" xml:space="preserve"> | ||||
|     <value>چند سرور کمترین تأخیر sing-box (چند انتخابی)</value> | ||||
|   </data> | ||||
| </root> | ||||
|  |  | |||
|  | @ -1224,15 +1224,9 @@ | |||
|   <data name="TbSettingsDomainStrategy4Out" xml:space="preserve"> | ||||
|     <value>Alapértelmezett domain stratégia a kimenő forgalomhoz</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServer" xml:space="preserve"> | ||||
|     <value>Multi-szerver alacsony késleltetés</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsMainGirdOrientation" xml:space="preserve"> | ||||
|     <value>Fő elrendezés irányítása (indítás szükséges)</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultLoadBalanceServer" xml:space="preserve"> | ||||
|     <value>Multi-szerver terheléselosztás</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDomainDNSAddress" xml:space="preserve"> | ||||
|     <value>Kimenő DNS cím</value> | ||||
|   </data> | ||||
|  | @ -1401,4 +1395,22 @@ | |||
|   <data name="TbPorts7Tips" xml:space="preserve"> | ||||
|     <value>Will cover the port, separate with commas (,)</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXray" xml:space="preserve"> | ||||
|     <value>Többszerveres Xray (többválasztásos)</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayRandom" xml:space="preserve"> | ||||
|     <value>Többszerveres véletlenszerű</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayRoundRobin" xml:space="preserve"> | ||||
|     <value>Többszerveres körforgásos</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayLeastPing" xml:space="preserve"> | ||||
|     <value>Többszerveres legkisebb késleltetésű</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayLeastLoad" xml:space="preserve"> | ||||
|     <value>Többszerveres legstabilabb</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerSingBoxLeastPing" xml:space="preserve"> | ||||
|     <value>Többszerveres legkisebb késleltetésű sing-box (többválasztásos)</value> | ||||
|   </data> | ||||
| </root> | ||||
|  |  | |||
|  | @ -1224,15 +1224,9 @@ | |||
|   <data name="TbSettingsDomainStrategy4Out" xml:space="preserve"> | ||||
|     <value>Default domain strategy for outbound</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServer" xml:space="preserve"> | ||||
|     <value>Multi-Server lowest latency</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsMainGirdOrientation" xml:space="preserve"> | ||||
|     <value>Main layout orientation (requires restart)</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultLoadBalanceServer" xml:space="preserve"> | ||||
|     <value>Multi-server load balancing</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDomainDNSAddress" xml:space="preserve"> | ||||
|     <value>Outbound DNS address</value> | ||||
|   </data> | ||||
|  | @ -1401,4 +1395,22 @@ | |||
|   <data name="TbPorts7Tips" xml:space="preserve"> | ||||
|     <value>Will cover the port, separate with commas (,)</value> | ||||
|   </data> | ||||
| </root> | ||||
|   <data name="menuSetDefaultMultipleServerXray" xml:space="preserve"> | ||||
|     <value>Multi-Server Xray</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayRandom" xml:space="preserve"> | ||||
|     <value>Multi-Server Random</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayRoundRobin" xml:space="preserve"> | ||||
|     <value>Multi-Server RoundRobin</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayLeastPing" xml:space="preserve"> | ||||
|     <value>Multi-Server LeastPing</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayLeastLoad" xml:space="preserve"> | ||||
|     <value>Multi-Server LeastLoad</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerSingBoxLeastPing" xml:space="preserve"> | ||||
|     <value>Multi-Server lowest latency sing-box</value> | ||||
|   </data> | ||||
| </root> | ||||
|  |  | |||
|  | @ -681,18 +681,12 @@ | |||
|   <data name="TbSettingsAutoUpdateInterval" xml:space="preserve"> | ||||
|     <value>Интервал автоматического обновления Geo в часах</value> | ||||
|   </data> | ||||
|   <data name="LvAutoUpdateInterval" xml:space="preserve"> | ||||
|     <value>Интервал автоматического обновления в минутах</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsCore" xml:space="preserve"> | ||||
|     <value>Ядро: базовые настройки</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsCoreDns" xml:space="preserve"> | ||||
|     <value>Настройки DNS V2ray</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsCoreDnsSingbox" xml:space="preserve"> | ||||
|     <value>Настройки DNS sing-box</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsCoreKcp" xml:space="preserve"> | ||||
|     <value>Ядро: настройки KCP</value> | ||||
|   </data> | ||||
|  | @ -978,137 +972,146 @@ | |||
|   <data name="TbSettingsCurrentFontFamilyTip" xml:space="preserve"> | ||||
|     <value>Скопируйте файл шрифта TTF/TTC в каталог guiFonts, перезапустите настройки</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSocksPortTip" xml:space="preserve"> | ||||
|     <value>Pac порт = +3; Xray API порт = +4; mihomo API порт = +5;</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsStartBootTip" xml:space="preserve"> | ||||
|     <value>Установите это с правами администратора</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsFontSize" xml:space="preserve"> | ||||
|     <value>Размер шрифта</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableHWA" xml:space="preserve"> | ||||
|     <value>Включить аппаратное ускорение (требуется перезагрузка)</value> | ||||
|   </data> | ||||
|   <data name="menuRebootAsAdmin" xml:space="preserve"> | ||||
|     <value>Перезагрузить как администратор</value> | ||||
|   </data> | ||||
|   <data name="menuDNSSetting" xml:space="preserve"> | ||||
|     <value>Настройки DNS</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsLogEnabledToFile" xml:space="preserve"> | ||||
|     <value>Включить логгирование в файл</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSpeedTestTimeout" xml:space="preserve"> | ||||
|     <value>Таймаут одиночного спидтеста</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSpeedTestUrl" xml:space="preserve"> | ||||
|     <value>URL спидтеста</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsGeoFilesSource" xml:space="preserve"> | ||||
|     <value>Источник geo файлов</value> | ||||
|   <data name="menuMoveTo" xml:space="preserve"> | ||||
|     <value>Move up and down</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSrsFilesSource" xml:space="preserve"> | ||||
|     <value>Источник sing-box srs файлов</value> | ||||
|   <data name="TbPublicKey" xml:space="preserve"> | ||||
|     <value>PublicKey</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsRoutingRulesSource" xml:space="preserve"> | ||||
|     <value>Источник правил маршрутизации</value> | ||||
|   <data name="TbShortId" xml:space="preserve"> | ||||
|     <value>ShortId</value> | ||||
|   </data> | ||||
|   <data name="menuRegionalPresets" xml:space="preserve"> | ||||
|     <value>Региональные пресеты</value> | ||||
|   <data name="TbSpiderX" xml:space="preserve"> | ||||
|     <value>SpiderX</value> | ||||
|   </data> | ||||
|   <data name="menuRegionalPresetsDefault" xml:space="preserve"> | ||||
|     <value>По умолчанию (Китай)</value> | ||||
|   <data name="TbSettingsEnableHWA" xml:space="preserve"> | ||||
|     <value>Включить аппаратное ускорение (требуется перезагрузка)</value> | ||||
|   </data> | ||||
|   <data name="menuRegionalPresetsRussia" xml:space="preserve"> | ||||
|     <value>Россия</value> | ||||
|   <data name="SpeedtestingWait" xml:space="preserve"> | ||||
|     <value>Ожидание тестирования (нажмите ESC для отмены)...</value> | ||||
|   </data> | ||||
|   <data name="menuRegionalPresetsIran" xml:space="preserve"> | ||||
|     <value>Иран</value> | ||||
|   <data name="TipDisplayLog" xml:space="preserve"> | ||||
|     <value>Please turn off when there is an abnormal disconnection</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsChinaUserTip" xml:space="preserve"> | ||||
|     <value>Используйте Настройки -> Региональные пресеты вместо изменения этого поля</value> | ||||
|   <data name="MsgSkipSubscriptionUpdate" xml:space="preserve"> | ||||
|     <value>Updates are not enabled, skip this subscription</value> | ||||
|   </data> | ||||
|   <data name="LvMemo" xml:space="preserve"> | ||||
|     <value>Remarks Memo</value> | ||||
|   <data name="menuRebootAsAdmin" xml:space="preserve"> | ||||
|     <value>Перезагрузить как администратор</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSpeedPingTestUrl" xml:space="preserve"> | ||||
|     <value>URL-адрес для проверки скорости пинга</value> | ||||
|   <data name="LvMoreUrl" xml:space="preserve"> | ||||
|     <value>More URLs, separated by commas; Subscription conversion will be invalid</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesDelaytestPart" xml:space="preserve"> | ||||
|     <value>Part Node Latency Test</value> | ||||
|   <data name="SpeedDisplayText" xml:space="preserve"> | ||||
|     <value>{0} : {1}/s↑ | {2}/s↓</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesReload" xml:space="preserve"> | ||||
|     <value>Обновить прокси</value> | ||||
|   <data name="LvAutoUpdateInterval" xml:space="preserve"> | ||||
|     <value>Интервал автоматического обновления в минутах</value> | ||||
|   </data> | ||||
|   <data name="TbAutoScrollToEnd" xml:space="preserve"> | ||||
|     <value>Автоматическая прокрутка в конец</value> | ||||
|   <data name="TbSettingsLogEnabledToFile" xml:space="preserve"> | ||||
|     <value>Включить логгирование в файл</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesSelectActivity" xml:space="preserve"> | ||||
|     <value>Активировать узел (Enter)</value> | ||||
|   <data name="LvConvertTarget" xml:space="preserve"> | ||||
|     <value>Преобразовать тип цели</value> | ||||
|   </data> | ||||
|   <data name="TbRuleMatchingTips" xml:space="preserve"> | ||||
|     <value>(Domain or IP or ProcName) and Port and Protocol and InboundTag => OutboundTag</value> | ||||
|   <data name="LvConvertTargetTip" xml:space="preserve"> | ||||
|     <value>Если преобразование не требуется, оставьте поле пустым.</value> | ||||
|   </data> | ||||
|   <data name="TbPath7" xml:space="preserve"> | ||||
|     <value>obfs password</value> | ||||
|   <data name="menuDNSSetting" xml:space="preserve"> | ||||
|     <value>Настройки DNS</value> | ||||
|   </data> | ||||
|   <data name="TbLocalAddress" xml:space="preserve"> | ||||
|     <value>Адрес(Ipv4,Ipv6)</value> | ||||
|   <data name="TbSettingsCoreDnsSingbox" xml:space="preserve"> | ||||
|     <value>Настройки DNS sing-box</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDomainStrategy4Out" xml:space="preserve"> | ||||
|     <value>Стратегия домена по умолчанию для исходящих</value> | ||||
|   <data name="TbDnsSingboxObjectDoc" xml:space="preserve"> | ||||
|     <value>Пожалуйста, заполните структуру DNS. Нажмите, чтобы просмотреть документ.</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServer" xml:space="preserve"> | ||||
|     <value>Multi-Server lowest latency</value> | ||||
|   <data name="TbSettingDnsImportDefConfig" xml:space="preserve"> | ||||
|     <value>Нажмите, чтобы импортировать конфигурацию DNS по умолчанию</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsMainGirdOrientation" xml:space="preserve"> | ||||
|     <value>Основная ориентация макета (требуется перезагрузка)</value> | ||||
|   <data name="TbdomainStrategy4Singbox" xml:space="preserve"> | ||||
|     <value>Стратегия домена для sing-box</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultLoadBalanceServer" xml:space="preserve"> | ||||
|     <value>Multi-server load balancing</value> | ||||
|   <data name="TbSettingsMux4SboxProtocol" xml:space="preserve"> | ||||
|     <value>sing-box Mux Protocol</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesDelaytest" xml:space="preserve"> | ||||
|     <value>Тест задержки</value> | ||||
|   <data name="TbRoutingRuleProcess" xml:space="preserve"> | ||||
|     <value>Full process name (Tun mode)</value> | ||||
|   </data> | ||||
|   <data name="TbReserved" xml:space="preserve"> | ||||
|     <value>Reserved(2,3,4)</value> | ||||
|   <data name="TbRoutingRuleIP" xml:space="preserve"> | ||||
|     <value>IP or IP CIDR</value> | ||||
|   </data> | ||||
|   <data name="TbPrivateKey" xml:space="preserve"> | ||||
|     <value>PrivateKey</value> | ||||
|   <data name="TbRoutingRuleDomain" xml:space="preserve"> | ||||
|     <value>Домен</value> | ||||
|   </data> | ||||
|   <data name="menuAddWireguardServer" xml:space="preserve"> | ||||
|     <value>Добавить [WireGuard] сервер</value> | ||||
|   <data name="menuAddHysteria2Server" xml:space="preserve"> | ||||
|     <value>Добавить [Hysteria2] сервер</value> | ||||
|   </data> | ||||
|   <data name="menuProfileAutofitColumnWidth" xml:space="preserve"> | ||||
|     <value>Автоматическая регулировка ширины столбца</value> | ||||
|   <data name="TbSettingsHysteriaBandwidth" xml:space="preserve"> | ||||
|     <value>Hysteria Max bandwidth (Up/Dw)</value> | ||||
|   </data> | ||||
|   <data name="menuExport2ShareUrlBase64" xml:space="preserve"> | ||||
|     <value>Export Base64-encoded Share Links to Clipboard</value> | ||||
|   <data name="TbSettingsUseSystemHosts" xml:space="preserve"> | ||||
|     <value>Использовать системные узлы</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDelay" xml:space="preserve"> | ||||
|     <value>Задержка</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableExInbound" xml:space="preserve"> | ||||
|     <value>Enable additional Inbound</value> | ||||
|   </data> | ||||
|   <data name="LvPrevProfileTip" xml:space="preserve"> | ||||
|     <value>Пожалуйста, убедитесь, что примечание существует и является уникальным.</value> | ||||
|   </data> | ||||
|   <data name="menuExport2ClientConfigClipboard" xml:space="preserve"> | ||||
|     <value>Экспортировать выбранный сервер для полной конфигурации в буфер обмена</value> | ||||
|   </data> | ||||
|   <data name="LvNextProfile" xml:space="preserve"> | ||||
|     <value>Next proxy remarks</value> | ||||
|   </data> | ||||
|   <data name="menuShowOrHideMainWindow" xml:space="preserve"> | ||||
|     <value>Показать или скрыть главное окно</value> | ||||
|   </data> | ||||
|   <data name="LvPrevProfile" xml:space="preserve"> | ||||
|     <value>Previous proxy remarks</value> | ||||
|   <data name="menuAddTuicServer" xml:space="preserve"> | ||||
|     <value>Добавить [TUIC] сервер</value> | ||||
|   </data> | ||||
|   <data name="TbHeaderType8" xml:space="preserve"> | ||||
|     <value>Контроль перегрузок</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDomainDNSAddress" xml:space="preserve"> | ||||
|     <value>Исходящий DNS адрес</value> | ||||
|   <data name="LvPrevProfile" xml:space="preserve"> | ||||
|     <value>Previous proxy remarks</value> | ||||
|   </data> | ||||
|   <data name="LvNextProfile" xml:space="preserve"> | ||||
|     <value>Next proxy remarks</value> | ||||
|   </data> | ||||
|   <data name="LvPrevProfileTip" xml:space="preserve"> | ||||
|     <value>Пожалуйста, убедитесь, что примечание существует и является уникальным.</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableExInbound" xml:space="preserve"> | ||||
|     <value>Enable additional Inbound</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableIPv6Address" xml:space="preserve"> | ||||
|     <value>Включить IPv6 адреса</value> | ||||
|   </data> | ||||
|   <data name="menuAddWireguardServer" xml:space="preserve"> | ||||
|     <value>Добавить [WireGuard] сервер</value> | ||||
|   </data> | ||||
|   <data name="TbPrivateKey" xml:space="preserve"> | ||||
|     <value>PrivateKey</value> | ||||
|   </data> | ||||
|   <data name="TbReserved" xml:space="preserve"> | ||||
|     <value>Reserved(2,3,4)</value> | ||||
|   </data> | ||||
|   <data name="TbLocalAddress" xml:space="preserve"> | ||||
|     <value>Адрес(Ipv4,Ipv6)</value> | ||||
|   </data> | ||||
|   <data name="TbPath7" xml:space="preserve"> | ||||
|     <value>obfs password</value> | ||||
|   </data> | ||||
|   <data name="TbRuleMatchingTips" xml:space="preserve"> | ||||
|     <value>(Domain or IP or ProcName) and Port and Protocol and InboundTag => OutboundTag</value> | ||||
|   </data> | ||||
|   <data name="TbAutoScrollToEnd" xml:space="preserve"> | ||||
|     <value>Автоматическая прокрутка в конец</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSpeedPingTestUrl" xml:space="preserve"> | ||||
|     <value>URL-адрес для проверки скорости пинга</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableUpdateSubOnlyRemarksExist" xml:space="preserve"> | ||||
|     <value>Updating subscription, only determine remarks exists</value> | ||||
|  | @ -1119,23 +1122,41 @@ | |||
|   <data name="TransportRequestHostTip5" xml:space="preserve"> | ||||
|     <value>*grpc Authority</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDefault" xml:space="preserve"> | ||||
|     <value>По умолчанию</value> | ||||
|   <data name="menuAddHttpServer" xml:space="preserve"> | ||||
|     <value>Добавить [HTTP] сервер</value> | ||||
|   </data> | ||||
|   <data name="TbSortingChain" xml:space="preserve"> | ||||
|     <value>Chain</value> | ||||
|   <data name="TbSettingsEnableFragmentTips" xml:space="preserve"> | ||||
|     <value>Use Xray and enable non-Tun mode, which conflicts with the group previous proxy</value> | ||||
|   </data> | ||||
|   <data name="TbSorting" xml:space="preserve"> | ||||
|     <value>Сортировка</value> | ||||
|   <data name="TbSettingsEnableFragment" xml:space="preserve"> | ||||
|     <value>Включить фрагмент</value> | ||||
|   </data> | ||||
|   <data name="menuOpenTheFileLocation" xml:space="preserve"> | ||||
|     <value>Открыть место хранения</value> | ||||
|   <data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve"> | ||||
|     <value>Включить файл кэша для sing-box (файлы наборов правил)</value> | ||||
|   </data> | ||||
|   <data name="LvCustomRulesetPath4Singbox" xml:space="preserve"> | ||||
|     <value>Пользовательский набор правил для sing-box</value> | ||||
|   </data> | ||||
|   <data name="NeedRebootTips" xml:space="preserve"> | ||||
|     <value>Successful operation. Click the settings menu to reboot the app.</value> | ||||
|   </data> | ||||
|   <data name="LvCustomRulesetPath4Singbox" xml:space="preserve"> | ||||
|     <value>Пользовательский набор правил для sing-box</value> | ||||
|   <data name="menuOpenTheFileLocation" xml:space="preserve"> | ||||
|     <value>Открыть место хранения</value> | ||||
|   </data> | ||||
|   <data name="TbSorting" xml:space="preserve"> | ||||
|     <value>Сортировка</value> | ||||
|   </data> | ||||
|   <data name="TbSortingChain" xml:space="preserve"> | ||||
|     <value>Chain</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDefault" xml:space="preserve"> | ||||
|     <value>По умолчанию</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDelay" xml:space="preserve"> | ||||
|     <value>Задержка</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDownSpeed" xml:space="preserve"> | ||||
|     <value>Скорость загрузки</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDownTraffic" xml:space="preserve"> | ||||
|     <value>Download Traffic</value> | ||||
|  | @ -1155,9 +1176,6 @@ | |||
|   <data name="TbSortingType" xml:space="preserve"> | ||||
|     <value>Тип</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve"> | ||||
|     <value>Включить файл кэша для sing-box (файлы наборов правил)</value> | ||||
|   </data> | ||||
|   <data name="TbSortingUpSpeed" xml:space="preserve"> | ||||
|     <value>Скорость загрузки</value> | ||||
|   </data> | ||||
|  | @ -1188,158 +1206,134 @@ | |||
|   <data name="menuModeNothing" xml:space="preserve"> | ||||
|     <value>Do not change</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableFragment" xml:space="preserve"> | ||||
|     <value>Включить фрагмент</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableFragmentTips" xml:space="preserve"> | ||||
|     <value>Use Xray and enable non-Tun mode, which conflicts with the group previous proxy</value> | ||||
|   </data> | ||||
|   <data name="menuModeRule" xml:space="preserve"> | ||||
|     <value>Правила</value> | ||||
|   </data> | ||||
|   <data name="menuAddHttpServer" xml:space="preserve"> | ||||
|     <value>Добавить [HTTP] сервер</value> | ||||
|   <data name="menuProxiesDelaytest" xml:space="preserve"> | ||||
|     <value>Тест задержки</value> | ||||
|   </data> | ||||
|   <data name="menuAddTuicServer" xml:space="preserve"> | ||||
|     <value>Добавить [TUIC] сервер</value> | ||||
|   <data name="menuProxiesDelaytestPart" xml:space="preserve"> | ||||
|     <value>Part Node Latency Test</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableIPv6Address" xml:space="preserve"> | ||||
|     <value>Включить IPv6 адреса</value> | ||||
|   <data name="menuProxiesReload" xml:space="preserve"> | ||||
|     <value>Обновить прокси</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesSelectActivity" xml:space="preserve"> | ||||
|     <value>Активировать узел (Enter)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDomainStrategy4Out" xml:space="preserve"> | ||||
|     <value>Стратегия домена по умолчанию для исходящих</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsMainGirdOrientation" xml:space="preserve"> | ||||
|     <value>Основная ориентация макета (требуется перезагрузка)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDomainDNSAddress" xml:space="preserve"> | ||||
|     <value>Исходящий DNS адрес</value> | ||||
|   </data> | ||||
|   <data name="menuProfileAutofitColumnWidth" xml:space="preserve"> | ||||
|     <value>Автоматическая регулировка ширины столбца</value> | ||||
|   </data> | ||||
|   <data name="menuExport2ShareUrlBase64" xml:space="preserve"> | ||||
|     <value>Export Base64-encoded Share Links to Clipboard</value> | ||||
|   </data> | ||||
|   <data name="menuExport2ClientConfigClipboard" xml:space="preserve"> | ||||
|     <value>Экспортировать выбранный сервер для полной конфигурации в буфер обмена</value> | ||||
|   </data> | ||||
|   <data name="menuShowOrHideMainWindow" xml:space="preserve"> | ||||
|     <value>Показать или скрыть главное окно</value> | ||||
|   </data> | ||||
|   <data name="TbPreSocksPort4Sub" xml:space="preserve"> | ||||
|     <value>Пользовательская конфигурация порта socks</value> | ||||
|   </data> | ||||
|   <data name="menuBackupAndRestore" xml:space="preserve"> | ||||
|     <value>Резервное копирование и восстановление</value> | ||||
|   </data> | ||||
|   <data name="menuLocalBackup" xml:space="preserve"> | ||||
|     <value>Сохранить в файл</value> | ||||
|   </data> | ||||
|   <data name="menuLocalRestore" xml:space="preserve"> | ||||
|     <value>Восстановить из файла</value> | ||||
|   </data> | ||||
|   <data name="menuRemoteBackup" xml:space="preserve"> | ||||
|     <value>Backup to remote (WebDAV)</value> | ||||
|   </data> | ||||
|   <data name="menuRemoteRestore" xml:space="preserve"> | ||||
|     <value>Restore from remote (WebDAV)</value> | ||||
|   </data> | ||||
|   <data name="menuLocalBackupAndRestore" xml:space="preserve"> | ||||
|     <value>Local</value> | ||||
|   </data> | ||||
|   <data name="menuRemoteBackupAndRestore" xml:space="preserve"> | ||||
|     <value>Remote (WebDAV)</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavUrl" xml:space="preserve"> | ||||
|     <value>WebDav Url</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavUserName" xml:space="preserve"> | ||||
|     <value>WebDav User Name</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavPassword" xml:space="preserve"> | ||||
|     <value>WebDav Password</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavCheck" xml:space="preserve"> | ||||
|     <value>WebDav Check</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleDomain" xml:space="preserve"> | ||||
|     <value>Домен</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleIP" xml:space="preserve"> | ||||
|     <value>IP or IP CIDR</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleProcess" xml:space="preserve"> | ||||
|     <value>Full process name (Tun mode)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsMux4SboxProtocol" xml:space="preserve"> | ||||
|     <value>sing-box Mux Protocol</value> | ||||
|   <data name="LvWebDavDirName" xml:space="preserve"> | ||||
|     <value>Имя удаленной папки (необязательно)</value> | ||||
|   </data> | ||||
|   <data name="LocalRestoreInvalidZipTips" xml:space="preserve"> | ||||
|     <value>Неверный файл резервной копии</value> | ||||
|   </data> | ||||
|   <data name="TbdomainStrategy4Singbox" xml:space="preserve"> | ||||
|     <value>Стратегия домена для sing-box</value> | ||||
|   </data> | ||||
|   <data name="ConnectionsHostFilterTitle" xml:space="preserve"> | ||||
|     <value>Host filter</value> | ||||
|   </data> | ||||
|   <data name="TbSettingDnsImportDefConfig" xml:space="preserve"> | ||||
|     <value>Нажмите, чтобы импортировать конфигурацию DNS по умолчанию</value> | ||||
|   </data> | ||||
|   <data name="TipActiveServer" xml:space="preserve"> | ||||
|     <value>Active</value> | ||||
|   </data> | ||||
|   <data name="TbDnsSingboxObjectDoc" xml:space="preserve"> | ||||
|     <value>Пожалуйста, заполните структуру DNS. Нажмите, чтобы просмотреть документ.</value> | ||||
|   <data name="TbSettingsGeoFilesSource" xml:space="preserve"> | ||||
|     <value>Источник geo файлов</value> | ||||
|   </data> | ||||
|   <data name="LvConvertTargetTip" xml:space="preserve"> | ||||
|     <value>Если преобразование не требуется, оставьте поле пустым.</value> | ||||
|   </data> | ||||
|   <data name="LvConvertTarget" xml:space="preserve"> | ||||
|     <value>Преобразовать тип цели</value> | ||||
|   </data> | ||||
|   <data name="SpeedDisplayText" xml:space="preserve"> | ||||
|     <value>{0} : {1}/s↑ | {2}/s↓</value> | ||||
|   </data> | ||||
|   <data name="LvMoreUrl" xml:space="preserve"> | ||||
|     <value>More URLs, separated by commas; Subscription conversion will be invalid</value> | ||||
|   </data> | ||||
|   <data name="MsgSkipSubscriptionUpdate" xml:space="preserve"> | ||||
|     <value>Updates are not enabled, skip this subscription</value> | ||||
|   <data name="TbSettingsSrsFilesSource" xml:space="preserve"> | ||||
|     <value>Источник sing-box srs файлов</value> | ||||
|   </data> | ||||
|   <data name="UpgradeAppNotExistTip" xml:space="preserve"> | ||||
|     <value>Программы для обновления не существует</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsRoutingRulesSource" xml:space="preserve"> | ||||
|     <value>Источник правил маршрутизации</value> | ||||
|   </data> | ||||
|   <data name="menuRegionalPresets" xml:space="preserve"> | ||||
|     <value>Региональные пресеты</value> | ||||
|   </data> | ||||
|   <data name="menuRegionalPresetsDefault" xml:space="preserve"> | ||||
|     <value>По умолчанию (Китай)</value> | ||||
|   </data> | ||||
|   <data name="menuRegionalPresetsRussia" xml:space="preserve"> | ||||
|     <value>Россия</value> | ||||
|   </data> | ||||
|   <data name="menuRegionalPresetsIran" xml:space="preserve"> | ||||
|     <value>Иран</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsChinaUserTip" xml:space="preserve"> | ||||
|     <value>Используйте Настройки -> Региональные пресеты вместо изменения этого поля</value> | ||||
|   </data> | ||||
|   <data name="menuAddServerViaImage" xml:space="preserve"> | ||||
|     <value>Сканировать QR-код с изображения</value> | ||||
|   </data> | ||||
|   <data name="TipDisplayLog" xml:space="preserve"> | ||||
|     <value>Please turn off when there is an abnormal disconnection</value> | ||||
|   </data> | ||||
|   <data name="SpeedtestingWait" xml:space="preserve"> | ||||
|     <value>Ожидание тестирования (нажмите ESC для отмены)...</value> | ||||
|   </data> | ||||
|   <data name="TbSpiderX" xml:space="preserve"> | ||||
|     <value>SpiderX</value> | ||||
|   </data> | ||||
|   <data name="TbShortId" xml:space="preserve"> | ||||
|     <value>ShortId</value> | ||||
|   </data> | ||||
|   <data name="InvalidUrlTip" xml:space="preserve"> | ||||
|     <value>Неверный адрес (Url)</value> | ||||
|   </data> | ||||
|   <data name="InsecureUrlProtocol" xml:space="preserve"> | ||||
|     <value>Пожалуйста, не используйте небезопасный адрес подписки по протоколу HTTP.</value> | ||||
|   </data> | ||||
|   <data name="TbPublicKey" xml:space="preserve"> | ||||
|     <value>PublicKey</value> | ||||
|   </data> | ||||
|   <data name="menuMoveTo" xml:space="preserve"> | ||||
|     <value>Move up and down</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSocksPortTip" xml:space="preserve"> | ||||
|     <value>Pac порт = +3; Xray API порт = +4; mihomo API порт = +5;</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsCurrentFontFamilyLinuxTip" xml:space="preserve"> | ||||
|     <value>Установите шрифт в систему и перезапустите настройки</value> | ||||
|   </data> | ||||
|   <data name="menuAddHysteria2Server" xml:space="preserve"> | ||||
|     <value>Добавить [Hysteria2] сервер</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavPassword" xml:space="preserve"> | ||||
|     <value>WebDav Password</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavDirName" xml:space="preserve"> | ||||
|     <value>Имя удаленной папки (необязательно)</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDownSpeed" xml:space="preserve"> | ||||
|     <value>Скорость загрузки</value> | ||||
|   </data> | ||||
|   <data name="menuRemoteRestore" xml:space="preserve"> | ||||
|     <value>Restore from remote (WebDAV)</value> | ||||
|   </data> | ||||
|   <data name="menuRemoteBackup" xml:space="preserve"> | ||||
|     <value>Backup to remote (WebDAV)</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavUserName" xml:space="preserve"> | ||||
|     <value>WebDav User Name</value> | ||||
|   </data> | ||||
|   <data name="menuLocalRestore" xml:space="preserve"> | ||||
|     <value>Восстановить из файла</value> | ||||
|   </data> | ||||
|   <data name="menuLocalBackup" xml:space="preserve"> | ||||
|     <value>Сохранить в файл</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsUseSystemHosts" xml:space="preserve"> | ||||
|     <value>Использовать системные узлы</value> | ||||
|   </data> | ||||
|   <data name="menuBackupAndRestore" xml:space="preserve"> | ||||
|     <value>Резервное копирование и восстановление</value> | ||||
|   </data> | ||||
|   <data name="menuLocalBackupAndRestore" xml:space="preserve"> | ||||
|     <value>Local</value> | ||||
|   </data> | ||||
|   <data name="menuExitTips" xml:space="preserve"> | ||||
|     <value>Вы уверены, что хотите выйти?</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsHysteriaBandwidth" xml:space="preserve"> | ||||
|     <value>Hysteria Max bandwidth (Up/Dw)</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavUrl" xml:space="preserve"> | ||||
|     <value>WebDav Url</value> | ||||
|   </data> | ||||
|   <data name="menuRemoteBackupAndRestore" xml:space="preserve"> | ||||
|     <value>Remote (WebDAV)</value> | ||||
|   <data name="LvMemo" xml:space="preserve"> | ||||
|     <value>Remarks Memo</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsLinuxSudoPassword" xml:space="preserve"> | ||||
|     <value>System sudo password</value> | ||||
|  | @ -1401,4 +1395,22 @@ | |||
|   <data name="TbPorts7Tips" xml:space="preserve"> | ||||
|     <value>Will cover the port, separate with commas (,)</value> | ||||
|   </data> | ||||
| </root> | ||||
|   <data name="menuSetDefaultMultipleServerXray" xml:space="preserve"> | ||||
|     <value>Мультисерверный Xray (множественный выбор)</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayRandom" xml:space="preserve"> | ||||
|     <value>Мультисерверный случайный</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayRoundRobin" xml:space="preserve"> | ||||
|     <value>Мультисерверный круговой</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayLeastPing" xml:space="preserve"> | ||||
|     <value>Мультисерверная минимальная задержка</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayLeastLoad" xml:space="preserve"> | ||||
|     <value>Мультисерверный наиболее стабильный</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerSingBoxLeastPing" xml:space="preserve"> | ||||
|     <value>Мультисерверная минимальная задержка sing-box (множественный выбор)</value> | ||||
|   </data> | ||||
| </root> | ||||
|  | @ -1050,12 +1050,12 @@ | |||
|   <data name="TbRoutingRuleProcess" xml:space="preserve"> | ||||
|     <value>进程名全称 (Tun 模式)</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleDomain" xml:space="preserve"> | ||||
|     <value>Domain</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleIP" xml:space="preserve"> | ||||
|     <value>IP 或 IP CIDR</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleDomain" xml:space="preserve"> | ||||
|     <value>Domain</value> | ||||
|   </data> | ||||
|   <data name="menuAddHysteria2Server" xml:space="preserve"> | ||||
|     <value>添加 [Hysteria2] 服务器</value> | ||||
|   </data> | ||||
|  | @ -1122,12 +1122,12 @@ | |||
|   <data name="menuAddHttpServer" xml:space="preserve"> | ||||
|     <value>添加 [HTTP] 服务器</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableFragment" xml:space="preserve"> | ||||
|     <value>启用分片(Fragment)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableFragmentTips" xml:space="preserve"> | ||||
|     <value>使用 Xray 且非 Tun 模式启用,和分组前置代理冲突</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableFragment" xml:space="preserve"> | ||||
|     <value>启用分片(Fragment)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve"> | ||||
|     <value>启用 sing-box(规则集文件)的缓存文件</value> | ||||
|   </data> | ||||
|  | @ -1221,15 +1221,9 @@ | |||
|   <data name="TbSettingsDomainStrategy4Out" xml:space="preserve"> | ||||
|     <value>Outbound 默认解析策略</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServer" xml:space="preserve"> | ||||
|     <value>多服务器最低延迟 (多选)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsMainGirdOrientation" xml:space="preserve"> | ||||
|     <value>主界面布局方向(需重启)</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultLoadBalanceServer" xml:space="preserve"> | ||||
|     <value>多服务器负载均衡 (多选)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDomainDNSAddress" xml:space="preserve"> | ||||
|     <value>Outbound 域名解析地址</value> | ||||
|   </data> | ||||
|  | @ -1269,17 +1263,17 @@ | |||
|   <data name="menuRemoteBackupAndRestore" xml:space="preserve"> | ||||
|     <value>远程 (WebDAV)</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavUrl" xml:space="preserve"> | ||||
|     <value>WebDav 服务器地址</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavUserName" xml:space="preserve"> | ||||
|     <value>WebDav 账户</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavCheck" xml:space="preserve"> | ||||
|     <value>WebDav 可用检查</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavPassword" xml:space="preserve"> | ||||
|     <value>WebDav 密码</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavUrl" xml:space="preserve"> | ||||
|     <value>WebDav 服务器地址</value> | ||||
|   <data name="LvWebDavCheck" xml:space="preserve"> | ||||
|     <value>WebDav 可用检查</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavDirName" xml:space="preserve"> | ||||
|     <value>远程文件夹名称 (可选)</value> | ||||
|  | @ -1296,18 +1290,15 @@ | |||
|   <data name="TbSettingsGeoFilesSource" xml:space="preserve"> | ||||
|     <value>Geo 文件来源 (可选)</value> | ||||
|   </data> | ||||
|   <data name="UpgradeAppNotExistTip" xml:space="preserve"> | ||||
|     <value>升级工具 App 不存在</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSrsFilesSource" xml:space="preserve"> | ||||
|     <value>sing-box ruleset 文件来源 (可选)</value> | ||||
|   </data> | ||||
|   <data name="UpgradeAppNotExistTip" xml:space="preserve"> | ||||
|     <value>升级工具 App 不存在</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsRoutingRulesSource" xml:space="preserve"> | ||||
|     <value>路由规则集来源 (可选)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsChinaUserTip" xml:space="preserve"> | ||||
|     <value>中国区域用户可忽略此项</value> | ||||
|   </data> | ||||
|   <data name="menuRegionalPresets" xml:space="preserve"> | ||||
|     <value>区域预置设置</value> | ||||
|   </data> | ||||
|  | @ -1320,6 +1311,9 @@ | |||
|   <data name="menuRegionalPresetsIran" xml:space="preserve"> | ||||
|     <value>伊朗</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsChinaUserTip" xml:space="preserve"> | ||||
|     <value>中国区域用户可忽略此项</value> | ||||
|   </data> | ||||
|   <data name="menuAddServerViaImage" xml:space="preserve"> | ||||
|     <value>扫描图片中的二维码</value> | ||||
|   </data> | ||||
|  | @ -1398,4 +1392,22 @@ | |||
|   <data name="TbPorts7Tips" xml:space="preserve"> | ||||
|     <value>会覆盖端口,多组时用逗号 (,) 隔开</value> | ||||
|   </data> | ||||
| </root> | ||||
|   <data name="menuSetDefaultMultipleServerXray" xml:space="preserve"> | ||||
|     <value>多服务器 Xray (多选)</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayRandom" xml:space="preserve"> | ||||
|     <value>多服务器随机</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayRoundRobin" xml:space="preserve"> | ||||
|     <value>多服务器轮询</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayLeastPing" xml:space="preserve"> | ||||
|     <value>多服务器最低延迟</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayLeastLoad" xml:space="preserve"> | ||||
|     <value>多服务器最稳定</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerSingBoxLeastPing" xml:space="preserve"> | ||||
|     <value>多服务器最低延迟 sing-box (多选)</value> | ||||
|   </data> | ||||
| </root> | ||||
|  |  | |||
|  | @ -663,7 +663,6 @@ | |||
|   <data name="TipPreSocksPort" xml:space="preserve"> | ||||
|     <value>*自訂設定的 Socks 埠值,可不設定;當設定此值後,將使用 Xray/sing-box (Tun) 額外啟動一個前置 Socks 服務,提供分流和速度顯示等功能</value> | ||||
|   </data> | ||||
|   <!--********************************************--> | ||||
|   <data name="TbBrowse" xml:space="preserve"> | ||||
|     <value>瀏覽</value> | ||||
|   </data> | ||||
|  | @ -1051,15 +1050,27 @@ | |||
|   <data name="TbRoutingRuleProcess" xml:space="preserve"> | ||||
|     <value>行程名全稱 (Tun 模式)</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleDomain" xml:space="preserve"> | ||||
|     <value>Domain</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleIP" xml:space="preserve"> | ||||
|     <value>IP 或 IP CIDR</value> | ||||
|   </data> | ||||
|   <data name="TbRoutingRuleDomain" xml:space="preserve"> | ||||
|     <value>Domain</value> | ||||
|   </data> | ||||
|   <data name="menuAddHysteria2Server" xml:space="preserve"> | ||||
|     <value>添加 [Hysteria2] 伺服器</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsHysteriaBandwidth" xml:space="preserve"> | ||||
|     <value>Hysteria 最大頻寬 (Up/Dw)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsUseSystemHosts" xml:space="preserve"> | ||||
|     <value>使用系統 hosts</value> | ||||
|   </data> | ||||
|   <data name="menuAddTuicServer" xml:space="preserve"> | ||||
|     <value>新增 [TUIC] 伺服器</value> | ||||
|   </data> | ||||
|   <data name="TbHeaderType8" xml:space="preserve"> | ||||
|     <value>擁塞控制算法</value> | ||||
|   </data> | ||||
|   <data name="LvPrevProfile" xml:space="preserve"> | ||||
|     <value>前置代理別名</value> | ||||
|   </data> | ||||
|  | @ -1075,6 +1086,21 @@ | |||
|   <data name="TbSettingsEnableIPv6Address" xml:space="preserve"> | ||||
|     <value>啟用 IPv6</value> | ||||
|   </data> | ||||
|   <data name="menuAddWireguardServer" xml:space="preserve"> | ||||
|     <value>添加 [WireGuard] 伺服器</value> | ||||
|   </data> | ||||
|   <data name="TbPrivateKey" xml:space="preserve"> | ||||
|     <value>PrivateKey</value> | ||||
|   </data> | ||||
|   <data name="TbReserved" xml:space="preserve"> | ||||
|     <value>Reserved (2,3,4)</value> | ||||
|   </data> | ||||
|   <data name="TbLocalAddress" xml:space="preserve"> | ||||
|     <value>Address (Ipv4,Ipv6)</value> | ||||
|   </data> | ||||
|   <data name="TbPath7" xml:space="preserve"> | ||||
|     <value>混淆密碼 (obfs password)</value> | ||||
|   </data> | ||||
|   <data name="TbRuleMatchingTips" xml:space="preserve"> | ||||
|     <value>(Domain 或 IP 或 行程名) 与 Port 与 Protocol 与 InboundTag => OutboundTag</value> | ||||
|   </data> | ||||
|  | @ -1096,12 +1122,12 @@ | |||
|   <data name="menuAddHttpServer" xml:space="preserve"> | ||||
|     <value>新增 [HTTP] 伺服器</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableFragment" xml:space="preserve"> | ||||
|     <value>啟用分片(Fragment)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableFragmentTips" xml:space="preserve"> | ||||
|     <value>使用 Xray 且非 Tun 模式啟用,和分組前置代理衝突</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableFragment" xml:space="preserve"> | ||||
|     <value>啟用分片(Fragment)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsEnableCacheFile4Sbox" xml:space="preserve"> | ||||
|     <value>啟用 sing-box(規則集檔案)的快取檔案</value> | ||||
|   </data> | ||||
|  | @ -1114,6 +1140,93 @@ | |||
|   <data name="menuOpenTheFileLocation" xml:space="preserve"> | ||||
|     <value>打開儲存所在的位置</value> | ||||
|   </data> | ||||
|   <data name="TbSorting" xml:space="preserve"> | ||||
|     <value>排序</value> | ||||
|   </data> | ||||
|   <data name="TbSortingChain" xml:space="preserve"> | ||||
|     <value>路由鏈</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDefault" xml:space="preserve"> | ||||
|     <value>預設</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDelay" xml:space="preserve"> | ||||
|     <value>延遲</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDownSpeed" xml:space="preserve"> | ||||
|     <value>下載速度</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDownTraffic" xml:space="preserve"> | ||||
|     <value>下載流量</value> | ||||
|   </data> | ||||
|   <data name="TbSortingHost" xml:space="preserve"> | ||||
|     <value>主機</value> | ||||
|   </data> | ||||
|   <data name="TbSortingName" xml:space="preserve"> | ||||
|     <value>名稱</value> | ||||
|   </data> | ||||
|   <data name="TbSortingNetwork" xml:space="preserve"> | ||||
|     <value>網路</value> | ||||
|   </data> | ||||
|   <data name="TbSortingTime" xml:space="preserve"> | ||||
|     <value>時間</value> | ||||
|   </data> | ||||
|   <data name="TbSortingType" xml:space="preserve"> | ||||
|     <value>類型</value> | ||||
|   </data> | ||||
|   <data name="TbSortingUpSpeed" xml:space="preserve"> | ||||
|     <value>上傳速度</value> | ||||
|   </data> | ||||
|   <data name="TbSortingUpTraffic" xml:space="preserve"> | ||||
|     <value>上傳流量</value> | ||||
|   </data> | ||||
|   <data name="TbConnections" xml:space="preserve"> | ||||
|     <value>目前連線</value> | ||||
|   </data> | ||||
|   <data name="menuConnectionClose" xml:space="preserve"> | ||||
|     <value>關閉連線</value> | ||||
|   </data> | ||||
|   <data name="menuConnectionCloseAll" xml:space="preserve"> | ||||
|     <value>關閉所有連線</value> | ||||
|   </data> | ||||
|   <data name="TbProxies" xml:space="preserve"> | ||||
|     <value>目前代理</value> | ||||
|   </data> | ||||
|   <data name="menuRulemode" xml:space="preserve"> | ||||
|     <value>規則模式</value> | ||||
|   </data> | ||||
|   <data name="menuModeDirect" xml:space="preserve"> | ||||
|     <value>直連</value> | ||||
|   </data> | ||||
|   <data name="menuModeGlobal" xml:space="preserve"> | ||||
|     <value>全局</value> | ||||
|   </data> | ||||
|   <data name="menuModeNothing" xml:space="preserve"> | ||||
|     <value>随原配置</value> | ||||
|   </data> | ||||
|   <data name="menuModeRule" xml:space="preserve"> | ||||
|     <value>規則</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesDelaytest" xml:space="preserve"> | ||||
|     <value>延遲測試</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesDelaytestPart" xml:space="preserve"> | ||||
|     <value>目前部分節點延遲測試</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesReload" xml:space="preserve"> | ||||
|     <value>重新整理</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesSelectActivity" xml:space="preserve"> | ||||
|     <value>設為活動節點 (Enter)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDomainStrategy4Out" xml:space="preserve"> | ||||
|     <value>Outbound 預設解析策略</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsMainGirdOrientation" xml:space="preserve"> | ||||
|     <value>主界面佈局方向 (需重啟)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDomainDNSAddress" xml:space="preserve"> | ||||
|     <value>Outbound 域名解析位址</value> | ||||
|   </data> | ||||
|   <data name="menuProfileAutofitColumnWidth" xml:space="preserve"> | ||||
|     <value>自動調整列寬</value> | ||||
|   </data> | ||||
|  | @ -1150,17 +1263,17 @@ | |||
|   <data name="menuRemoteBackupAndRestore" xml:space="preserve"> | ||||
|     <value>遠端 (WebDAV)</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavUrl" xml:space="preserve"> | ||||
|     <value>WebDav 伺服器位址</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavUserName" xml:space="preserve"> | ||||
|     <value>WebDav 賬戶</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavCheck" xml:space="preserve"> | ||||
|     <value>WebDav 可用檢查</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavPassword" xml:space="preserve"> | ||||
|     <value>WebDav 密碼</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavUrl" xml:space="preserve"> | ||||
|     <value>WebDav 伺服器位址</value> | ||||
|   <data name="LvWebDavCheck" xml:space="preserve"> | ||||
|     <value>WebDav 可用檢查</value> | ||||
|   </data> | ||||
|   <data name="LvWebDavDirName" xml:space="preserve"> | ||||
|     <value>遠端資料夾名稱 (可選)</value> | ||||
|  | @ -1177,18 +1290,15 @@ | |||
|   <data name="TbSettingsGeoFilesSource" xml:space="preserve"> | ||||
|     <value>Geo 檔案來源 (可選)</value> | ||||
|   </data> | ||||
|   <data name="UpgradeAppNotExistTip" xml:space="preserve"> | ||||
|     <value>升級工具 App 不存在</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsSrsFilesSource" xml:space="preserve"> | ||||
|     <value>sing-box ruleset 檔案來源 (可選)</value> | ||||
|   </data> | ||||
|   <data name="UpgradeAppNotExistTip" xml:space="preserve"> | ||||
|     <value>升級工具 App 不存在</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsRoutingRulesSource" xml:space="preserve"> | ||||
|     <value>路由規則集來源 (可選)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsChinaUserTip" xml:space="preserve"> | ||||
|     <value>中國區域用戶可忽略此項</value> | ||||
|   </data> | ||||
|   <data name="menuRegionalPresets" xml:space="preserve"> | ||||
|     <value>區域預置設定</value> | ||||
|   </data> | ||||
|  | @ -1201,6 +1311,9 @@ | |||
|   <data name="menuRegionalPresetsIran" xml:space="preserve"> | ||||
|     <value>伊朗</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsChinaUserTip" xml:space="preserve"> | ||||
|     <value>中國區域用戶可忽略此項</value> | ||||
|   </data> | ||||
|   <data name="menuAddServerViaImage" xml:space="preserve"> | ||||
|     <value>掃描圖片中的二維碼</value> | ||||
|   </data> | ||||
|  | @ -1219,126 +1332,6 @@ | |||
|   <data name="LvMemo" xml:space="preserve"> | ||||
|     <value>備註備忘</value> | ||||
|   </data> | ||||
|   <data name="TbHeaderType8" xml:space="preserve"> | ||||
|     <value>擁塞控制算法</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesSelectActivity" xml:space="preserve"> | ||||
|     <value>設為活動節點 (Enter)</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesReload" xml:space="preserve"> | ||||
|     <value>重新整理</value> | ||||
|   </data> | ||||
|   <data name="TbSorting" xml:space="preserve"> | ||||
|     <value>排序</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesDelaytest" xml:space="preserve"> | ||||
|     <value>延遲測試</value> | ||||
|   </data> | ||||
|   <data name="menuModeRule" xml:space="preserve"> | ||||
|     <value>規則</value> | ||||
|   </data> | ||||
|   <data name="menuModeNothing" xml:space="preserve"> | ||||
|     <value>随原配置</value> | ||||
|   </data> | ||||
|   <data name="menuModeGlobal" xml:space="preserve"> | ||||
|     <value>全局</value> | ||||
|   </data> | ||||
|   <data name="menuModeDirect" xml:space="preserve"> | ||||
|     <value>直連</value> | ||||
|   </data> | ||||
|   <data name="menuRulemode" xml:space="preserve"> | ||||
|     <value>規則模式</value> | ||||
|   </data> | ||||
|   <data name="TbProxies" xml:space="preserve"> | ||||
|     <value>目前代理</value> | ||||
|   </data> | ||||
|   <data name="menuConnectionCloseAll" xml:space="preserve"> | ||||
|     <value>關閉所有連線</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDomainStrategy4Out" xml:space="preserve"> | ||||
|     <value>Outbound 預設解析策略</value> | ||||
|   </data> | ||||
|   <data name="menuConnectionClose" xml:space="preserve"> | ||||
|     <value>關閉連線</value> | ||||
|   </data> | ||||
|   <data name="TbSortingUpTraffic" xml:space="preserve"> | ||||
|     <value>上傳流量</value> | ||||
|   </data> | ||||
|   <data name="TbSortingUpSpeed" xml:space="preserve"> | ||||
|     <value>上傳速度</value> | ||||
|   </data> | ||||
|   <data name="TbSortingType" xml:space="preserve"> | ||||
|     <value>類型</value> | ||||
|   </data> | ||||
|   <data name="TbSortingTime" xml:space="preserve"> | ||||
|     <value>時間</value> | ||||
|   </data> | ||||
|   <data name="TbSortingNetwork" xml:space="preserve"> | ||||
|     <value>網路</value> | ||||
|   </data> | ||||
|   <data name="TbSortingName" xml:space="preserve"> | ||||
|     <value>名稱</value> | ||||
|   </data> | ||||
|   <data name="TbSortingHost" xml:space="preserve"> | ||||
|     <value>主機</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDownTraffic" xml:space="preserve"> | ||||
|     <value>下載流量</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDownSpeed" xml:space="preserve"> | ||||
|     <value>下載速度</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDelay" xml:space="preserve"> | ||||
|     <value>延遲</value> | ||||
|   </data> | ||||
|   <data name="TbSortingDefault" xml:space="preserve"> | ||||
|     <value>預設</value> | ||||
|   </data> | ||||
|   <data name="TbConnections" xml:space="preserve"> | ||||
|     <value>目前連線</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServer" xml:space="preserve"> | ||||
|     <value>多伺服器最低延遲 (多選)</value> | ||||
|   </data> | ||||
|   <data name="menuProxiesDelaytestPart" xml:space="preserve"> | ||||
|     <value>目前部分節點延遲測試</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultLoadBalanceServer" xml:space="preserve"> | ||||
|     <value>多伺服器負載平衡 (多選)</value> | ||||
|   </data> | ||||
|   <data name="menuAddHysteria2Server" xml:space="preserve"> | ||||
|     <value>添加 [Hysteria2] 伺服器</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsHysteriaBandwidth" xml:space="preserve"> | ||||
|     <value>Hysteria 最大頻寬 (Up/Dw)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsMainGirdOrientation" xml:space="preserve"> | ||||
|     <value>主界面佈局方向 (需重啟)</value> | ||||
|   </data> | ||||
|   <data name="menuAddWireguardServer" xml:space="preserve"> | ||||
|     <value>添加 [WireGuard] 伺服器</value> | ||||
|   </data> | ||||
|   <data name="TbPrivateKey" xml:space="preserve"> | ||||
|     <value>PrivateKey</value> | ||||
|   </data> | ||||
|   <data name="TbReserved" xml:space="preserve"> | ||||
|     <value>Reserved (2,3,4)</value> | ||||
|   </data> | ||||
|   <data name="TbLocalAddress" xml:space="preserve"> | ||||
|     <value>Address (Ipv4,Ipv6)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsUseSystemHosts" xml:space="preserve"> | ||||
|     <value>使用系統 hosts</value> | ||||
|   </data> | ||||
|   <data name="TbSortingChain" xml:space="preserve"> | ||||
|     <value>路由鏈</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsDomainDNSAddress" xml:space="preserve"> | ||||
|     <value>Outbound 域名解析位址</value> | ||||
|   </data> | ||||
|   <data name="TbPath7" xml:space="preserve"> | ||||
|     <value>混淆密碼 (obfs password)</value> | ||||
|   </data> | ||||
|   <data name="TbSettingsLinuxSudoPassword" xml:space="preserve"> | ||||
|     <value>系統的 sudo 密碼</value> | ||||
|   </data> | ||||
|  | @ -1399,4 +1392,22 @@ | |||
|   <data name="TbPorts7Tips" xml:space="preserve"> | ||||
|     <value>會覆蓋端口,多組時用逗號 (,) 隔開</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXray" xml:space="preserve"> | ||||
|     <value>多伺服器 Xray (多選)</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayRandom" xml:space="preserve"> | ||||
|     <value>多伺服器隨機</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayRoundRobin" xml:space="preserve"> | ||||
|     <value>多伺服器輪詢</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayLeastPing" xml:space="preserve"> | ||||
|     <value>多伺服器最低延遲</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerXrayLeastLoad" xml:space="preserve"> | ||||
|     <value>多伺服器最穩定</value> | ||||
|   </data> | ||||
|   <data name="menuSetDefaultMultipleServerSingBoxLeastPing" xml:space="preserve"> | ||||
|     <value>多伺服器最低延遲 sing-box (多選)</value> | ||||
|   </data> | ||||
| </root> | ||||
|  | @ -77,7 +77,7 @@ namespace ServiceLib.Services.CoreConfig | |||
|             } | ||||
|         } | ||||
| 
 | ||||
|         public async Task<RetResult> GenerateClientMultipleLoadConfig(List<ProfileItem> selecteds) | ||||
|         public async Task<RetResult> GenerateClientMultipleLoadConfig(List<ProfileItem> selecteds, EMultipleLoad multipleLoad) | ||||
|         { | ||||
|             var ret = new RetResult(); | ||||
| 
 | ||||
|  | @ -164,13 +164,9 @@ namespace ServiceLib.Services.CoreConfig | |||
|                 } | ||||
| 
 | ||||
|                 //add balancers | ||||
|                 var balancer = new BalancersItem4Ray | ||||
|                 { | ||||
|                     selector = [Global.ProxyTag], | ||||
|                     strategy = new() { type = "roundRobin" }, | ||||
|                     tag = $"{Global.ProxyTag}-round", | ||||
|                 }; | ||||
|                 v2rayConfig.routing.balancers = [balancer]; | ||||
|                 await GenBalancer(v2rayConfig, multipleLoad); | ||||
| 
 | ||||
|                 var balancer = v2rayConfig.routing.balancers.First(); | ||||
| 
 | ||||
|                 //add rule | ||||
|                 var rules = v2rayConfig.routing.rules.Where(t => t.outboundTag == Global.ProxyTag).ToList(); | ||||
|  | @ -1316,6 +1312,36 @@ namespace ServiceLib.Services.CoreConfig | |||
|             return 0; | ||||
|         } | ||||
| 
 | ||||
|         private async Task<int> GenBalancer(V2rayConfig v2rayConfig, EMultipleLoad multipleLoad) | ||||
|         { | ||||
|             if (multipleLoad is EMultipleLoad.LeastLoad or EMultipleLoad.LeastPing) | ||||
|             { | ||||
|                 var observatory = new Observatory4Ray | ||||
|                 { | ||||
|                     subjectSelector = [Global.ProxyTag], | ||||
|                     probeUrl = AppHandler.Instance.Config.SpeedTestItem.SpeedPingTestUrl, | ||||
|                     probeInterval = "3m" | ||||
|                 }; | ||||
|                 v2rayConfig.observatory = observatory; | ||||
|             } | ||||
|             var strategyType = multipleLoad switch | ||||
|             { | ||||
|                 EMultipleLoad.Random => "random", | ||||
|                 EMultipleLoad.RoundRobin => "roundRobin", | ||||
|                 EMultipleLoad.LeastPing => "leastPing", | ||||
|                 EMultipleLoad.LeastLoad => "leastLoad", | ||||
|                 _ => "roundRobin", | ||||
|             }; | ||||
|             var balancer = new BalancersItem4Ray | ||||
|             { | ||||
|                 selector = [Global.ProxyTag], | ||||
|                 strategy = new() { type = strategyType }, | ||||
|                 tag = $"{Global.ProxyTag}-round", | ||||
|             }; | ||||
|             v2rayConfig.routing.balancers = [balancer]; | ||||
|             return await Task.FromResult(0); | ||||
|         } | ||||
| 
 | ||||
|         #endregion private gen function | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -62,8 +62,11 @@ namespace ServiceLib.ViewModels | |||
|         public ReactiveCommand<Unit, Unit> CopyServerCmd { get; } | ||||
|         public ReactiveCommand<Unit, Unit> SetDefaultServerCmd { get; } | ||||
|         public ReactiveCommand<Unit, Unit> ShareServerCmd { get; } | ||||
|         public ReactiveCommand<Unit, Unit> SetDefaultMultipleServerCmd { get; } | ||||
|         public ReactiveCommand<Unit, Unit> SetDefaultLoadBalanceServerCmd { get; } | ||||
|         public ReactiveCommand<Unit, Unit> SetDefaultMultipleServerXrayRandomCmd { get; } | ||||
|         public ReactiveCommand<Unit, Unit> SetDefaultMultipleServerXrayRoundRobinCmd { get; } | ||||
|         public ReactiveCommand<Unit, Unit> SetDefaultMultipleServerXrayLeastPingCmd { get; } | ||||
|         public ReactiveCommand<Unit, Unit> SetDefaultMultipleServerXrayLeastLoadCmd { get; } | ||||
|         public ReactiveCommand<Unit, Unit> SetDefaultMultipleServerSingBoxLeastPingCmd { get; } | ||||
| 
 | ||||
|         //servers move | ||||
|         public ReactiveCommand<Unit, Unit> MoveTopCmd { get; } | ||||
|  | @ -150,13 +153,25 @@ namespace ServiceLib.ViewModels | |||
|             { | ||||
|                 await ShareServerAsync(); | ||||
|             }, canEditRemove); | ||||
|             SetDefaultMultipleServerCmd = ReactiveCommand.CreateFromTask(async () => | ||||
|             SetDefaultMultipleServerXrayRandomCmd = ReactiveCommand.CreateFromTask(async () => | ||||
|             { | ||||
|                 await SetDefaultMultipleServer(ECoreType.sing_box); | ||||
|                 await SetDefaultMultipleServer(ECoreType.Xray, EMultipleLoad.Random); | ||||
|             }, canEditRemove); | ||||
|             SetDefaultLoadBalanceServerCmd = ReactiveCommand.CreateFromTask(async () => | ||||
|             SetDefaultMultipleServerXrayRoundRobinCmd = ReactiveCommand.CreateFromTask(async () => | ||||
|             { | ||||
|                 await SetDefaultMultipleServer(ECoreType.Xray); | ||||
|                 await SetDefaultMultipleServer(ECoreType.Xray, EMultipleLoad.RoundRobin); | ||||
|             }, canEditRemove); | ||||
|             SetDefaultMultipleServerXrayLeastPingCmd = ReactiveCommand.CreateFromTask(async () => | ||||
|             { | ||||
|                 await SetDefaultMultipleServer(ECoreType.Xray, EMultipleLoad.LeastPing); | ||||
|             }, canEditRemove); | ||||
|             SetDefaultMultipleServerXrayLeastLoadCmd = ReactiveCommand.CreateFromTask(async () => | ||||
|             { | ||||
|                 await SetDefaultMultipleServer(ECoreType.Xray, EMultipleLoad.LeastLoad); | ||||
|             }, canEditRemove); | ||||
|             SetDefaultMultipleServerSingBoxLeastPingCmd = ReactiveCommand.CreateFromTask(async () => | ||||
|             { | ||||
|                 await SetDefaultMultipleServer(ECoreType.sing_box, EMultipleLoad.LeastPing); | ||||
|             }, canEditRemove); | ||||
| 
 | ||||
|             //servers move | ||||
|  | @ -621,7 +636,7 @@ namespace ServiceLib.ViewModels | |||
|             await _updateView?.Invoke(EViewAction.ShareServer, url); | ||||
|         } | ||||
| 
 | ||||
|         private async Task SetDefaultMultipleServer(ECoreType coreType) | ||||
|         private async Task SetDefaultMultipleServer(ECoreType coreType, EMultipleLoad multipleLoad) | ||||
|         { | ||||
|             var lstSelected = await GetProfileItems(true); | ||||
|             if (lstSelected == null) | ||||
|  | @ -629,7 +644,7 @@ namespace ServiceLib.ViewModels | |||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             var ret = await ConfigHandler.AddCustomServer4Multiple(_config, lstSelected, coreType); | ||||
|             var ret = await ConfigHandler.AddCustomServer4Multiple(_config, lstSelected, coreType, multipleLoad); | ||||
|             if (ret.Success != true) | ||||
|             { | ||||
|                 NoticeHandler.Instance.Enqueue(ResUI.OperationFailed); | ||||
|  |  | |||
|  | @ -99,8 +99,13 @@ | |||
|                         <MenuItem x:Name="menuCopyServer" Header="{x:Static resx:ResUI.menuCopyServer}" /> | ||||
|                         <MenuItem x:Name="menuShareServer" Header="{x:Static resx:ResUI.menuShareServer}" /> | ||||
|                         <Separator /> | ||||
|                         <MenuItem x:Name="menuSetDefaultMultipleServer" Header="{x:Static resx:ResUI.menuSetDefaultMultipleServer}" /> | ||||
|                         <MenuItem x:Name="menuSetDefaultLoadBalanceServer" Header="{x:Static resx:ResUI.menuSetDefaultLoadBalanceServer}" /> | ||||
|                         <MenuItem Header="{x:Static resx:ResUI.menuSetDefaultMultipleServerXray}"> | ||||
|                             <MenuItem x:Name="menuSetDefaultMultipleServerXrayRandom" Header="{x:Static resx:ResUI.menuSetDefaultMultipleServerXrayRandom}" /> | ||||
|                             <MenuItem x:Name="menuSetDefaultMultipleServerXrayRoundRobin" Header="{x:Static resx:ResUI.menuSetDefaultMultipleServerXrayRoundRobin}" /> | ||||
|                             <MenuItem x:Name="menuSetDefaultMultipleServerXrayLeastPing" Header="{x:Static resx:ResUI.menuSetDefaultMultipleServerXrayLeastPing}" /> | ||||
|                             <MenuItem x:Name="menuSetDefaultMultipleServerXrayLeastLoad" Header="{x:Static resx:ResUI.menuSetDefaultMultipleServerXrayLeastLoad}" /> | ||||
|                         </MenuItem> | ||||
|                         <MenuItem x:Name="menuSetDefaultMultipleServerSingBoxLeastPing" Header="{x:Static resx:ResUI.menuSetDefaultMultipleServerSingBoxLeastPing}" /> | ||||
|                         <Separator /> | ||||
|                         <MenuItem x:Name="menuMixedTestServer" Header="{x:Static resx:ResUI.menuMixedTestServer}" /> | ||||
|                         <MenuItem x:Name="menuTcpingServer" Header="{x:Static resx:ResUI.menuTcpingServer}" /> | ||||
|  |  | |||
|  | @ -67,8 +67,11 @@ namespace v2rayN.Desktop.Views | |||
|                 this.BindCommand(ViewModel, vm => vm.CopyServerCmd, v => v.menuCopyServer).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultServerCmd, v => v.menuSetDefaultServer).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.ShareServerCmd, v => v.menuShareServer).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultMultipleServerCmd, v => v.menuSetDefaultMultipleServer).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultLoadBalanceServerCmd, v => v.menuSetDefaultLoadBalanceServer).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultMultipleServerXrayRandomCmd, v => v.menuSetDefaultMultipleServerXrayRandom).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultMultipleServerXrayRoundRobinCmd, v => v.menuSetDefaultMultipleServerXrayRoundRobin).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultMultipleServerXrayLeastPingCmd, v => v.menuSetDefaultMultipleServerXrayLeastPing).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultMultipleServerXrayLeastLoadCmd, v => v.menuSetDefaultMultipleServerXrayLeastLoad).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultMultipleServerSingBoxLeastPingCmd, v => v.menuSetDefaultMultipleServerSingBoxLeastPing).DisposeWith(disposables); | ||||
| 
 | ||||
|                 //servers move | ||||
|                 //this.OneWayBind(ViewModel, vm => vm.SubItems, v => v.cmbMoveToGroup.ItemsSource).DisposeWith(disposables); | ||||
|  |  | |||
|  | @ -120,15 +120,28 @@ | |||
|                             Height="{StaticResource MenuItemHeight}" | ||||
|                             Header="{x:Static resx:ResUI.menuShareServer}" /> | ||||
|                         <Separator /> | ||||
|                         <MenuItem Header="{x:Static resx:ResUI.menuSetDefaultMultipleServerXray}"> | ||||
|                             <MenuItem | ||||
|                                 x:Name="menuSetDefaultMultipleServerXrayRandom" | ||||
|                                 Height="{StaticResource MenuItemHeight}" | ||||
|                                 Header="{x:Static resx:ResUI.menuSetDefaultMultipleServerXrayRandom}" /> | ||||
|                             <MenuItem | ||||
|                                 x:Name="menuSetDefaultMultipleServerXrayRoundRobin" | ||||
|                                 Height="{StaticResource MenuItemHeight}" | ||||
|                                 Header="{x:Static resx:ResUI.menuSetDefaultMultipleServerXrayRoundRobin}" /> | ||||
|                             <MenuItem | ||||
|                                 x:Name="menuSetDefaultMultipleServerXrayLeastPing" | ||||
|                                 Height="{StaticResource MenuItemHeight}" | ||||
|                                 Header="{x:Static resx:ResUI.menuSetDefaultMultipleServerXrayLeastPing}" /> | ||||
|                             <MenuItem | ||||
|                                 x:Name="menuSetDefaultMultipleServerXrayLeastLoad" | ||||
|                                 Height="{StaticResource MenuItemHeight}" | ||||
|                                 Header="{x:Static resx:ResUI.menuSetDefaultMultipleServerXrayLeastLoad}" /> | ||||
|                         </MenuItem> | ||||
|                         <MenuItem | ||||
|                             x:Name="menuSetDefaultMultipleServer" | ||||
|                             x:Name="menuSetDefaultMultipleServerSingBoxLeastPing" | ||||
|                             Height="{StaticResource MenuItemHeight}" | ||||
|                             Header="{x:Static resx:ResUI.menuSetDefaultMultipleServer}" /> | ||||
| 
 | ||||
|                         <MenuItem | ||||
|                             x:Name="menuSetDefaultLoadBalanceServer" | ||||
|                             Height="{StaticResource MenuItemHeight}" | ||||
|                             Header="{x:Static resx:ResUI.menuSetDefaultLoadBalanceServer}" /> | ||||
|                             Header="{x:Static resx:ResUI.menuSetDefaultMultipleServerSingBoxLeastPing}" /> | ||||
|                         <Separator /> | ||||
|                         <MenuItem | ||||
|                             x:Name="menuMixedTestServer" | ||||
|  |  | |||
|  | @ -61,8 +61,11 @@ namespace v2rayN.Views | |||
|                 this.BindCommand(ViewModel, vm => vm.CopyServerCmd, v => v.menuCopyServer).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultServerCmd, v => v.menuSetDefaultServer).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.ShareServerCmd, v => v.menuShareServer).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultMultipleServerCmd, v => v.menuSetDefaultMultipleServer).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultLoadBalanceServerCmd, v => v.menuSetDefaultLoadBalanceServer).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultMultipleServerXrayRandomCmd, v => v.menuSetDefaultMultipleServerXrayRandom).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultMultipleServerXrayRoundRobinCmd, v => v.menuSetDefaultMultipleServerXrayRoundRobin).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultMultipleServerXrayLeastPingCmd, v => v.menuSetDefaultMultipleServerXrayLeastPing).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultMultipleServerXrayLeastLoadCmd, v => v.menuSetDefaultMultipleServerXrayLeastLoad).DisposeWith(disposables); | ||||
|                 this.BindCommand(ViewModel, vm => vm.SetDefaultMultipleServerSingBoxLeastPingCmd, v => v.menuSetDefaultMultipleServerSingBoxLeastPing).DisposeWith(disposables); | ||||
| 
 | ||||
|                 //servers move | ||||
|                 this.OneWayBind(ViewModel, vm => vm.SubItems, v => v.cmbMoveToGroup.ItemsSource).DisposeWith(disposables); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 DHR60
						DHR60