diff --git a/v2rayN/ServiceLib/Handler/ConfigHandler.cs b/v2rayN/ServiceLib/Handler/ConfigHandler.cs
index 1ad3b1ca..080b7aac 100644
--- a/v2rayN/ServiceLib/Handler/ConfigHandler.cs
+++ b/v2rayN/ServiceLib/Handler/ConfigHandler.cs
@@ -1209,16 +1209,16 @@ public static class ConfigHandler
{
profileItem.Remarks = multipleLoad switch
{
- EMultipleLoad.Random => ResUI.menuSetDefaultMultipleServerXrayRandom,
- EMultipleLoad.RoundRobin => ResUI.menuSetDefaultMultipleServerXrayRoundRobin,
- EMultipleLoad.LeastPing => ResUI.menuSetDefaultMultipleServerXrayLeastPing,
- EMultipleLoad.LeastLoad => ResUI.menuSetDefaultMultipleServerXrayLeastLoad,
- _ => ResUI.menuSetDefaultMultipleServerXrayRoundRobin,
+ EMultipleLoad.Random => ResUI.menuGenGroupMultipleServerXrayRandom,
+ EMultipleLoad.RoundRobin => ResUI.menuGenGroupMultipleServerXrayRoundRobin,
+ EMultipleLoad.LeastPing => ResUI.menuGenGroupMultipleServerXrayLeastPing,
+ EMultipleLoad.LeastLoad => ResUI.menuGenGroupMultipleServerXrayLeastLoad,
+ _ => ResUI.menuGenGroupMultipleServerXrayRoundRobin,
};
}
else if (coreType == ECoreType.sing_box)
{
- profileItem.Remarks = ResUI.menuSetDefaultMultipleServerSingBoxLeastPing;
+ profileItem.Remarks = ResUI.menuGenGroupMultipleServerSingBoxLeastPing;
}
profileItem.Address = Global.CoreMultipleLoadConfigFileName;
profileItem.ConfigType = EConfigType.Custom;
diff --git a/v2rayN/ServiceLib/Resx/ResUI.Designer.cs b/v2rayN/ServiceLib/Resx/ResUI.Designer.cs
index d91ee1f2..cfab6c55 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.Designer.cs
+++ b/v2rayN/ServiceLib/Resx/ResUI.Designer.cs
@@ -978,6 +978,60 @@ namespace ServiceLib.Resx {
}
}
+ ///
+ /// 查找类似 Generate Policy Group from Multiple Profiles 的本地化字符串。
+ ///
+ public static string menuGenGroupMultipleServer {
+ get {
+ return ResourceManager.GetString("menuGenGroupMultipleServer", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 Multi-Configuration LeastPing by sing-box 的本地化字符串。
+ ///
+ public static string menuGenGroupMultipleServerSingBoxLeastPing {
+ get {
+ return ResourceManager.GetString("menuGenGroupMultipleServerSingBoxLeastPing", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 Multi-Configuration LeastLoad by Xray 的本地化字符串。
+ ///
+ public static string menuGenGroupMultipleServerXrayLeastLoad {
+ get {
+ return ResourceManager.GetString("menuGenGroupMultipleServerXrayLeastLoad", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 Multi-Configuration LeastPing by Xray 的本地化字符串。
+ ///
+ public static string menuGenGroupMultipleServerXrayLeastPing {
+ get {
+ return ResourceManager.GetString("menuGenGroupMultipleServerXrayLeastPing", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 Multi-Configuration Random by Xray 的本地化字符串。
+ ///
+ public static string menuGenGroupMultipleServerXrayRandom {
+ get {
+ return ResourceManager.GetString("menuGenGroupMultipleServerXrayRandom", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 Multi-Configuration RoundRobin by Xray 的本地化字符串。
+ ///
+ public static string menuGenGroupMultipleServerXrayRoundRobin {
+ get {
+ return ResourceManager.GetString("menuGenGroupMultipleServerXrayRoundRobin", resourceCulture);
+ }
+ }
+
///
/// 查找类似 Global Hotkey Setting 的本地化字符串。
///
@@ -1518,60 +1572,6 @@ namespace ServiceLib.Resx {
}
}
- ///
- /// 查找类似 Multi-Configuration to custom configuration 的本地化字符串。
- ///
- public static string menuSetDefaultMultipleServer {
- get {
- return ResourceManager.GetString("menuSetDefaultMultipleServer", resourceCulture);
- }
- }
-
- ///
- /// 查找类似 Multi-Configuration LeastPing by sing-box 的本地化字符串。
- ///
- public static string menuSetDefaultMultipleServerSingBoxLeastPing {
- get {
- return ResourceManager.GetString("menuSetDefaultMultipleServerSingBoxLeastPing", resourceCulture);
- }
- }
-
- ///
- /// 查找类似 Multi-Configuration LeastLoad by Xray 的本地化字符串。
- ///
- public static string menuSetDefaultMultipleServerXrayLeastLoad {
- get {
- return ResourceManager.GetString("menuSetDefaultMultipleServerXrayLeastLoad", resourceCulture);
- }
- }
-
- ///
- /// 查找类似 Multi-Configuration LeastPing by Xray 的本地化字符串。
- ///
- public static string menuSetDefaultMultipleServerXrayLeastPing {
- get {
- return ResourceManager.GetString("menuSetDefaultMultipleServerXrayLeastPing", resourceCulture);
- }
- }
-
- ///
- /// 查找类似 Multi-Configuration Random by Xray 的本地化字符串。
- ///
- public static string menuSetDefaultMultipleServerXrayRandom {
- get {
- return ResourceManager.GetString("menuSetDefaultMultipleServerXrayRandom", resourceCulture);
- }
- }
-
- ///
- /// 查找类似 Multi-Configuration RoundRobin by Xray 的本地化字符串。
- ///
- public static string menuSetDefaultMultipleServerXrayRoundRobin {
- get {
- return ResourceManager.GetString("menuSetDefaultMultipleServerXrayRoundRobin", resourceCulture);
- }
- }
-
///
/// 查找类似 Set as active Configuration (Enter) 的本地化字符串。
///
diff --git a/v2rayN/ServiceLib/Resx/ResUI.fa-Ir.resx b/v2rayN/ServiceLib/Resx/ResUI.fa-Ir.resx
index acf0230b..6e72ecf3 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.fa-Ir.resx
+++ b/v2rayN/ServiceLib/Resx/ResUI.fa-Ir.resx
@@ -1377,22 +1377,22 @@
مخفی و پورت می شود، با کاما (،) جدا می شود
-
- چند سرور به پیکربندی سفارشی
+
+ Generate Policy Group from Multiple Profiles
-
+
چند سرور تصادفی توسط Xray
-
+
چند سرور RoundRobin توسط Xray
-
+
چند سرور LeastPing توسط Xray
-
+
چند سرور LeastLoad توسط Xray
-
+
LeastPing چند سرور توسط sing-box
diff --git a/v2rayN/ServiceLib/Resx/ResUI.hu.resx b/v2rayN/ServiceLib/Resx/ResUI.hu.resx
index 2b23db1e..77da5d71 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.hu.resx
+++ b/v2rayN/ServiceLib/Resx/ResUI.hu.resx
@@ -1377,22 +1377,22 @@
A portot lefedi, vesszővel (,) elválasztva
-
- Több konfiguráció egyéni konfigurációra
+
+ Generate Policy Group from Multiple Profiles
-
+
Több konfiguráció véletlenszerűen Xray szerint
-
+
Több konfiguráció RoundRobin Xray szerint
-
+
Több konfiguráció legkisebb pinggel Xray szerint
-
+
Több konfiguráció legkisebb terheléssel Xray szerint
-
+
Több konfiguráció legkisebb pinggel sing-box szerint
diff --git a/v2rayN/ServiceLib/Resx/ResUI.resx b/v2rayN/ServiceLib/Resx/ResUI.resx
index 8202e1c5..96bfb43e 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.resx
+++ b/v2rayN/ServiceLib/Resx/ResUI.resx
@@ -1377,22 +1377,22 @@
Will cover the port, separate with commas (,)
-
- Multi-Configuration to custom configuration
+
+ Generate Policy Group from Multiple Profiles
-
+
Multi-Configuration Random by Xray
-
+
Multi-Configuration RoundRobin by Xray
-
+
Multi-Configuration LeastPing by Xray
-
+
Multi-Configuration LeastLoad by Xray
-
+
Multi-Configuration LeastPing by sing-box
diff --git a/v2rayN/ServiceLib/Resx/ResUI.ru.resx b/v2rayN/ServiceLib/Resx/ResUI.ru.resx
index 9550f28d..50481c7b 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.ru.resx
+++ b/v2rayN/ServiceLib/Resx/ResUI.ru.resx
@@ -1377,22 +1377,22 @@
Заменит указанный порт, перечисляйте через запятую (,)
-
- От мультиконфигурации к пользовательской конфигурации
+
+ Generate Policy Group from Multiple Profiles
-
+
Случайный (Xray)
-
+
Круговой (Xray)
-
+
Минимальное RTT (минимальное время туда-обратно) (Xray)
-
+
Минимальная нагрузка (Xray)
-
+
Минимальное RTT (минимальное время туда-обратно) (sing-box)
diff --git a/v2rayN/ServiceLib/Resx/ResUI.zh-Hans.resx b/v2rayN/ServiceLib/Resx/ResUI.zh-Hans.resx
index ae24f0b4..bd9dc471 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.zh-Hans.resx
+++ b/v2rayN/ServiceLib/Resx/ResUI.zh-Hans.resx
@@ -1374,22 +1374,22 @@
会覆盖端口,多组时用逗号 (,) 隔开
-
- 多配置文件产生自定义配置 (多选)
+
+ 多配置文件生成策略组
-
+
多配置文件随机 Xray
-
+
多配置文件负载均衡 Xray
-
+
多配置文件最低延迟 Xray
-
+
多配置文件最稳定 Xray
-
+
多配置文件最低延迟 sing-box
diff --git a/v2rayN/ServiceLib/Resx/ResUI.zh-Hant.resx b/v2rayN/ServiceLib/Resx/ResUI.zh-Hant.resx
index fdaa2d7c..09915756 100644
--- a/v2rayN/ServiceLib/Resx/ResUI.zh-Hant.resx
+++ b/v2rayN/ServiceLib/Resx/ResUI.zh-Hant.resx
@@ -1374,22 +1374,22 @@
會覆蓋埠,多組時用逗號 (,) 隔開
-
- 多設定檔產生自訂配置 (多選)
+
+ Generate Policy Group from Multiple Profiles
-
+
多設定檔隨機 Xray
-
+
多設定檔負載平衡 Xray
-
+
多設定檔最低延遲 Xray
-
+
多設定檔最穩定 Xray
-
+
多設定檔最低延遲 sing-box
diff --git a/v2rayN/ServiceLib/ViewModels/ProfilesViewModel.cs b/v2rayN/ServiceLib/ViewModels/ProfilesViewModel.cs
index 636f92b3..7a3761a1 100644
--- a/v2rayN/ServiceLib/ViewModels/ProfilesViewModel.cs
+++ b/v2rayN/ServiceLib/ViewModels/ProfilesViewModel.cs
@@ -52,11 +52,11 @@ public class ProfilesViewModel : MyReactiveObject
public ReactiveCommand CopyServerCmd { get; }
public ReactiveCommand SetDefaultServerCmd { get; }
public ReactiveCommand ShareServerCmd { get; }
- public ReactiveCommand SetDefaultMultipleServerXrayRandomCmd { get; }
- public ReactiveCommand SetDefaultMultipleServerXrayRoundRobinCmd { get; }
- public ReactiveCommand SetDefaultMultipleServerXrayLeastPingCmd { get; }
- public ReactiveCommand SetDefaultMultipleServerXrayLeastLoadCmd { get; }
- public ReactiveCommand SetDefaultMultipleServerSingBoxLeastPingCmd { get; }
+ public ReactiveCommand GenGroupMultipleServerXrayRandomCmd { get; }
+ public ReactiveCommand GenGroupMultipleServerXrayRoundRobinCmd { get; }
+ public ReactiveCommand GenGroupMultipleServerXrayLeastPingCmd { get; }
+ public ReactiveCommand GenGroupMultipleServerXrayLeastLoadCmd { get; }
+ public ReactiveCommand GenGroupMultipleServerSingBoxLeastPingCmd { get; }
//servers move
public ReactiveCommand MoveTopCmd { get; }
@@ -138,25 +138,25 @@ public class ProfilesViewModel : MyReactiveObject
{
await ShareServerAsync();
}, canEditRemove);
- SetDefaultMultipleServerXrayRandomCmd = ReactiveCommand.CreateFromTask(async () =>
+ GenGroupMultipleServerXrayRandomCmd = ReactiveCommand.CreateFromTask(async () =>
{
- await SetDefaultMultipleServer(ECoreType.Xray, EMultipleLoad.Random);
+ await GenGroupMultipleServer(ECoreType.Xray, EMultipleLoad.Random);
}, canEditRemove);
- SetDefaultMultipleServerXrayRoundRobinCmd = ReactiveCommand.CreateFromTask(async () =>
+ GenGroupMultipleServerXrayRoundRobinCmd = ReactiveCommand.CreateFromTask(async () =>
{
- await SetDefaultMultipleServer(ECoreType.Xray, EMultipleLoad.RoundRobin);
+ await GenGroupMultipleServer(ECoreType.Xray, EMultipleLoad.RoundRobin);
}, canEditRemove);
- SetDefaultMultipleServerXrayLeastPingCmd = ReactiveCommand.CreateFromTask(async () =>
+ GenGroupMultipleServerXrayLeastPingCmd = ReactiveCommand.CreateFromTask(async () =>
{
- await SetDefaultMultipleServer(ECoreType.Xray, EMultipleLoad.LeastPing);
+ await GenGroupMultipleServer(ECoreType.Xray, EMultipleLoad.LeastPing);
}, canEditRemove);
- SetDefaultMultipleServerXrayLeastLoadCmd = ReactiveCommand.CreateFromTask(async () =>
+ GenGroupMultipleServerXrayLeastLoadCmd = ReactiveCommand.CreateFromTask(async () =>
{
- await SetDefaultMultipleServer(ECoreType.Xray, EMultipleLoad.LeastLoad);
+ await GenGroupMultipleServer(ECoreType.Xray, EMultipleLoad.LeastLoad);
}, canEditRemove);
- SetDefaultMultipleServerSingBoxLeastPingCmd = ReactiveCommand.CreateFromTask(async () =>
+ GenGroupMultipleServerSingBoxLeastPingCmd = ReactiveCommand.CreateFromTask(async () =>
{
- await SetDefaultMultipleServer(ECoreType.sing_box, EMultipleLoad.LeastPing);
+ await GenGroupMultipleServer(ECoreType.sing_box, EMultipleLoad.LeastPing);
}, canEditRemove);
//servers move
@@ -619,7 +619,7 @@ public class ProfilesViewModel : MyReactiveObject
await _updateView?.Invoke(EViewAction.ShareServer, url);
}
- private async Task SetDefaultMultipleServer(ECoreType coreType, EMultipleLoad multipleLoad)
+ private async Task GenGroupMultipleServer(ECoreType coreType, EMultipleLoad multipleLoad)
{
var lstSelected = await GetProfileItems(true);
if (lstSelected == null)
diff --git a/v2rayN/v2rayN.Desktop/Views/ProfilesView.axaml b/v2rayN/v2rayN.Desktop/Views/ProfilesView.axaml
index 3c2cd91b..73c3ed95 100644
--- a/v2rayN/v2rayN.Desktop/Views/ProfilesView.axaml
+++ b/v2rayN/v2rayN.Desktop/Views/ProfilesView.axaml
@@ -99,13 +99,13 @@
-