Compare commits

..

4 commits

Author SHA1 Message Date
DHR60
366daef7c5 Fix
Fix raw http ui

Fill xhttp default mode

Fix share uri

Remove RawHost

Fix singbox tcp http path

Fix vmess share uri
2026-03-29 17:22:58 +08:00
DHR60
8de4ba082d Fix 2026-03-29 17:22:58 +08:00
DHR60
0458df7b69 Rename tcp to raw 2026-03-29 17:22:58 +08:00
DHR60
40770dd250 Refactor transport 2026-03-29 17:22:58 +08:00
16 changed files with 182 additions and 217 deletions

View file

@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
<Version>7.20.1</Version>
<Version>7.20.0</Version>
</PropertyGroup>
<PropertyGroup>

View file

@ -1433,7 +1433,7 @@ public static class ConfigHandler
else if (node.ConfigType == EConfigType.Custom
&& node.PreSocksPort is > 0 and <= 65535)
{
var preCoreType = config.TunModeItem.EnableTun ? ECoreType.sing_box : ECoreType.Xray;
var preCoreType = AppManager.Instance.RunningCoreType = config.TunModeItem.EnableTun ? ECoreType.sing_box : ECoreType.Xray;
itemSocks = new ProfileItem()
{
CoreType = preCoreType,

View file

@ -90,9 +90,6 @@ public class CoreManager
await CoreStart(mainContext);
await CoreStartPreService(preContext);
AppManager.Instance.RunningCoreType = preContext?.RunCoreType ?? mainContext.RunCoreType;
if (_processService != null)
{
await UpdateFunc(true, $"{node.GetSummary()}");
@ -175,7 +172,7 @@ public class CoreManager
private async Task CoreStart(CoreConfigContext context)
{
var node = context.Node;
var coreType = AppManager.Instance.GetCoreType(node, node.ConfigType);
var coreType = AppManager.Instance.RunningCoreType = AppManager.Instance.GetCoreType(node, node.ConfigType);
var coreInfo = CoreInfoManager.Instance.GetCoreInfo(coreType);
var displayLog = node.ConfigType != EConfigType.Custom || node.DisplayLog;

View file

@ -2661,15 +2661,6 @@ namespace ServiceLib.Resx {
}
}
/// <summary>
/// 查找类似 Camouflage domain 的本地化字符串。
/// </summary>
public static string TbCamouflageDomain {
get {
return ResourceManager.GetString("TbCamouflageDomain", resourceCulture);
}
}
/// <summary>
/// 查找类似 Cancel 的本地化字符串。
/// </summary>
@ -3087,15 +3078,6 @@ namespace ServiceLib.Resx {
}
}
/// <summary>
/// 查找类似 Host 的本地化字符串。
/// </summary>
public static string TbHost {
get {
return ResourceManager.GetString("TbHost", resourceCulture);
}
}
/// <summary>
/// 查找类似 ICMP routing policy 的本地化字符串。
/// </summary>
@ -3402,6 +3384,15 @@ namespace ServiceLib.Resx {
}
}
/// <summary>
/// 查找类似 Camouflage domain(host) 的本地化字符串。
/// </summary>
public static string TbRequestHost {
get {
return ResourceManager.GetString("TbRequestHost", resourceCulture);
}
}
/// <summary>
/// 查找类似 Reserved (2,3,4) 的本地化字符串。
/// </summary>
@ -3772,7 +3763,7 @@ namespace ServiceLib.Resx {
}
/// <summary>
/// 查找类似 This parameter is valid only for raw/http and ws 的本地化字符串。
/// 查找类似 This parameter is valid only for tcp/http and ws 的本地化字符串。
/// </summary>
public static string TbSettingsDefUserAgentTips {
get {
@ -4636,7 +4627,7 @@ namespace ServiceLib.Resx {
}
/// <summary>
/// 查找类似 *Default value raw 的本地化字符串。
/// 查找类似 *Default value tcp 的本地化字符串。
/// </summary>
public static string TipNetwork {
get {
@ -4663,47 +4654,47 @@ namespace ServiceLib.Resx {
}
/// <summary>
/// 查找类似 raw camouflage type 的本地化字符串。
/// 查找类似 *tcp camouflage type 的本地化字符串。
/// </summary>
public static string TransportHeaderType1 {
public static string TransportHeaderTypeTip1 {
get {
return ResourceManager.GetString("TransportHeaderType1", resourceCulture);
return ResourceManager.GetString("TransportHeaderTypeTip1", resourceCulture);
}
}
/// <summary>
/// 查找类似 kcp camouflage type 的本地化字符串。
/// 查找类似 *kcp camouflage type 的本地化字符串。
/// </summary>
public static string TransportHeaderType2 {
public static string TransportHeaderTypeTip2 {
get {
return ResourceManager.GetString("TransportHeaderType2", resourceCulture);
return ResourceManager.GetString("TransportHeaderTypeTip2", resourceCulture);
}
}
/// <summary>
/// 查找类似 QUIC camouflage type 的本地化字符串。
/// 查找类似 *QUIC camouflage type 的本地化字符串。
/// </summary>
public static string TransportHeaderType3 {
public static string TransportHeaderTypeTip3 {
get {
return ResourceManager.GetString("TransportHeaderType3", resourceCulture);
return ResourceManager.GetString("TransportHeaderTypeTip3", resourceCulture);
}
}
/// <summary>
/// 查找类似 gRPC mode 的本地化字符串。
/// 查找类似 *grpc mode 的本地化字符串。
/// </summary>
public static string TransportHeaderType4 {
public static string TransportHeaderTypeTip4 {
get {
return ResourceManager.GetString("TransportHeaderType4", resourceCulture);
return ResourceManager.GetString("TransportHeaderTypeTip4", resourceCulture);
}
}
/// <summary>
/// 查找类似 xhttp mode 的本地化字符串。
/// 查找类似 *xhttp mode 的本地化字符串。
/// </summary>
public static string TransportHeaderType5 {
public static string TransportHeaderTypeTip5 {
get {
return ResourceManager.GetString("TransportHeaderType5", resourceCulture);
return ResourceManager.GetString("TransportHeaderTypeTip5", resourceCulture);
}
}
@ -4735,7 +4726,7 @@ namespace ServiceLib.Resx {
}
/// <summary>
/// 查找类似 gRPC service name 的本地化字符串。
/// 查找类似 *grpc service name 的本地化字符串。
/// </summary>
public static string TransportPathTip4 {
get {
@ -4789,7 +4780,7 @@ namespace ServiceLib.Resx {
}
/// <summary>
/// 查找类似 gRPC Authority 的本地化字符串。
/// 查找类似 *grpc Authority 的本地化字符串。
/// </summary>
public static string TransportRequestHostTip5 {
get {

View file

@ -343,7 +343,7 @@
<value>*QUIC key/Kcp seed</value>
</data>
<data name="TransportPathTip4" xml:space="preserve">
<value>gRPC serviceName</value>
<value>*grpc serviceName</value>
</data>
<data name="TransportRequestHostTip1" xml:space="preserve">
<value>*هاست http جدا شده با کاما (،)</value>
@ -357,17 +357,17 @@
<data name="TransportRequestHostTip4" xml:space="preserve">
<value>*QUIC securty</value>
</data>
<data name="TransportHeaderType1" xml:space="preserve">
<value>raw camouflage type</value>
<data name="TransportHeaderTypeTip1" xml:space="preserve">
<value>*tcp camouflage type</value>
</data>
<data name="TransportHeaderType2" xml:space="preserve">
<value>kcp camouflage type</value>
<data name="TransportHeaderTypeTip2" xml:space="preserve">
<value>*kcp camouflage type</value>
</data>
<data name="TransportHeaderType3" xml:space="preserve">
<value>QUIC camouflage type</value>
<data name="TransportHeaderTypeTip3" xml:space="preserve">
<value>*QUIC camouflage type</value>
</data>
<data name="TransportHeaderType4" xml:space="preserve">
<value>حالت grpc</value>
<data name="TransportHeaderTypeTip4" xml:space="preserve">
<value>*حالت grpc</value>
</data>
<data name="LvTLS" xml:space="preserve">
<value>TLS</value>
@ -606,6 +606,9 @@
<data name="TbRemarks" xml:space="preserve">
<value>نام مستعار (ملاحظات)</value>
</data>
<data name="TbRequestHost" xml:space="preserve">
<value>Camouflage domain(host)</value>
</data>
<data name="TbSecurity" xml:space="preserve">
<value>روش رمزگذاری (امنیتی)</value>
</data>
@ -616,7 +619,7 @@
<value>TLS</value>
</data>
<data name="TipNetwork" xml:space="preserve">
<value>*مقدار پیش فرض raw</value>
<value>*مقدار پیش فرض tcp</value>
</data>
<data name="TbCoreType" xml:space="preserve">
<value>نوع هسته</value>
@ -934,7 +937,7 @@
<value>User-Agent</value>
</data>
<data name="TbSettingsDefUserAgentTips" xml:space="preserve">
<value>این پارامتر فقط برای raw/http و ws معتبر است</value>
<value>این پارامتر فقط برای tcp/http و ws معتبر است</value>
</data>
<data name="TbSettingsCurrentFontFamily" xml:space="preserve">
<value>FontFamily (نیاز به راه اندازی مجدد)</value>
@ -1099,7 +1102,7 @@
<value>پایان تست...</value>
</data>
<data name="TransportRequestHostTip5" xml:space="preserve">
<value>RPC Authority</value>
<value>*grpc Authority</value>
</data>
<data name="menuAddHttpServer" xml:space="preserve">
<value>افزودن سرور [HTTP]</value>
@ -1317,8 +1320,8 @@
<data name="TbSettingsLinuxSudoPasswordTip" xml:space="preserve">
<value>The password will be validated via the command line. If a validation error causes the application to malfunction, please restart the application. The password will not be stored and must be entered again after each restart.</value>
</data>
<data name="TransportHeaderType5" xml:space="preserve">
<value>حالت xhttp</value>
<data name="TransportHeaderTypeTip5" xml:space="preserve">
<value>*حالت xhttp</value>
</data>
<data name="TransportExtraTip" xml:space="preserve">
<value>جیسون خام XHTTP Extra, فرمت: { XHTTPObject }</value>
@ -1695,10 +1698,4 @@ The "Get Certificate" action may fail if a self-signed certificate is used or if
<data name="TbLegacyProtect" xml:space="preserve">
<value>Legacy TUN Protect</value>
</data>
<data name="TbCamouflageDomain" xml:space="preserve">
<value>Camouflage domain</value>
</data>
<data name="TbHost" xml:space="preserve">
<value>Host</value>
</data>
</root>

View file

@ -343,7 +343,7 @@
<value>*clé de chiffrement QUIC</value>
</data>
<data name="TransportPathTip4" xml:space="preserve">
<value>nom de service gRPC</value>
<value>*nom de service gRPC</value>
</data>
<data name="TransportRequestHostTip1" xml:space="preserve">
<value>*hôte http, séparés par des virgules (,)</value>
@ -357,17 +357,17 @@
<data name="TransportRequestHostTip4" xml:space="preserve">
<value>*méthode de chiffrement QUIC</value>
</data>
<data name="TransportHeaderType1" xml:space="preserve">
<value>type de camouflage raw</value>
<data name="TransportHeaderTypeTip1" xml:space="preserve">
<value>*type de camouflage tcp</value>
</data>
<data name="TransportHeaderType2" xml:space="preserve">
<value>type de camouflage kcp</value>
<data name="TransportHeaderTypeTip2" xml:space="preserve">
<value>*type de camouflage kcp</value>
</data>
<data name="TransportHeaderType3" xml:space="preserve">
<value>type de camouflage QUIC</value>
<data name="TransportHeaderTypeTip3" xml:space="preserve">
<value>*type de camouflage QUIC</value>
</data>
<data name="TransportHeaderType4" xml:space="preserve">
<value>mode gRPC</value>
<data name="TransportHeaderTypeTip4" xml:space="preserve">
<value>*mode gRPC</value>
</data>
<data name="LvTLS" xml:space="preserve">
<value>TLS</value>
@ -606,6 +606,9 @@
<data name="TbRemarks" xml:space="preserve">
<value>Alias (remarks)</value>
</data>
<data name="TbRequestHost" xml:space="preserve">
<value>Domaine de camouflage (host)</value>
</data>
<data name="TbSecurity" xml:space="preserve">
<value>Méthode de chiffrement (security)</value>
</data>
@ -616,7 +619,7 @@
<value>Sécurité couche transport (TLS)</value>
</data>
<data name="TipNetwork" xml:space="preserve">
<value>*raw par défaut ; un mauvais choix bloque la connexion</value>
<value>*tcp par défaut ; un mauvais choix bloque la connexion</value>
</data>
<data name="TbCoreType" xml:space="preserve">
<value>Type de Core</value>
@ -934,7 +937,7 @@
<value>Agent utilisateur (User-Agent)</value>
</data>
<data name="TbSettingsDefUserAgentTips" xml:space="preserve">
<value>Valable uniquement pour les protocoles raw/http et ws</value>
<value>Valable uniquement pour les protocoles tcp/http et ws</value>
</data>
<data name="TbSettingsCurrentFontFamily" xml:space="preserve">
<value>Police actuelle (redémarrage requis)</value>
@ -1096,7 +1099,7 @@
<value>Arrêt du test en cours...</value>
</data>
<data name="TransportRequestHostTip5" xml:space="preserve">
<value>Autorité gRPC</value>
<value>*Autorité gRPC</value>
</data>
<data name="menuAddHttpServer" xml:space="preserve">
<value>Ajouter [HTTP]</value>
@ -1314,8 +1317,8 @@
<data name="TbSettingsLinuxSudoPasswordTip" xml:space="preserve">
<value>Le mot de passe sera vérifié en ligne de commande. En cas déchec ou de dysfonctionnement, redémarrez lapplication. Il nest pas stocké et doit être saisi à chaque redémarrage.</value>
</data>
<data name="TransportHeaderType5" xml:space="preserve">
<value>Mode XHTTP</value>
<data name="TransportHeaderTypeTip5" xml:space="preserve">
<value>*Mode XHTTP</value>
</data>
<data name="TransportExtraTip" xml:space="preserve">
<value>JSON brut XHTTP Extra, format : { XHTTPObject }</value>
@ -1692,10 +1695,4 @@ The "Get Certificate" action may fail if a self-signed certificate is used or if
<data name="TbLegacyProtect" xml:space="preserve">
<value>Legacy TUN Protect</value>
</data>
<data name="TbCamouflageDomain" xml:space="preserve">
<value>Domaine de camouflage</value>
</data>
<data name="TbHost" xml:space="preserve">
<value>Host</value>
</data>
</root>

View file

@ -343,7 +343,7 @@
<value>*QUIC kulcs/KCP seed</value>
</data>
<data name="TransportPathTip4" xml:space="preserve">
<value>gRPC szolgáltatásnév</value>
<value>*grpc szolgáltatásnév</value>
</data>
<data name="TransportRequestHostTip1" xml:space="preserve">
<value>*http host vesszővel elválasztva (,)</value>
@ -357,17 +357,17 @@
<data name="TransportRequestHostTip4" xml:space="preserve">
<value>*QUIC biztonság</value>
</data>
<data name="TransportHeaderType1" xml:space="preserve">
<value>raw álcázási típus</value>
<data name="TransportHeaderTypeTip1" xml:space="preserve">
<value>*tcp álcázási típus</value>
</data>
<data name="TransportHeaderType2" xml:space="preserve">
<value>kcp álcázási típus</value>
<data name="TransportHeaderTypeTip2" xml:space="preserve">
<value>*kcp álcázási típus</value>
</data>
<data name="TransportHeaderType3" xml:space="preserve">
<value>QUIC álcázási típus</value>
<data name="TransportHeaderTypeTip3" xml:space="preserve">
<value>*QUIC álcázási típus</value>
</data>
<data name="TransportHeaderType4" xml:space="preserve">
<value>gRPC mód</value>
<data name="TransportHeaderTypeTip4" xml:space="preserve">
<value>*grpc mód</value>
</data>
<data name="LvTLS" xml:space="preserve">
<value>TLS</value>
@ -606,6 +606,9 @@
<data name="TbRemarks" xml:space="preserve">
<value>Alias (megjegyzések)</value>
</data>
<data name="TbRequestHost" xml:space="preserve">
<value>Álcázási tartomány(host)</value>
</data>
<data name="TbSecurity" xml:space="preserve">
<value>Titkosítási módszer (biztonság)</value>
</data>
@ -616,7 +619,7 @@
<value>TLS</value>
</data>
<data name="TipNetwork" xml:space="preserve">
<value>*Alapértelmezett érték raw</value>
<value>*Alapértelmezett érték tcp</value>
</data>
<data name="TbCoreType" xml:space="preserve">
<value>Core Típus</value>
@ -934,7 +937,7 @@
<value>User-Agent</value>
</data>
<data name="TbSettingsDefUserAgentTips" xml:space="preserve">
<value>Ez a paraméter csak raw/http és ws esetén érvényes</value>
<value>Ez a paraméter csak tcp/http és ws esetén érvényes</value>
</data>
<data name="TbSettingsCurrentFontFamily" xml:space="preserve">
<value>Betűtípus (újraindítást igényel)</value>
@ -1099,7 +1102,7 @@
<value>Teszt megszakítása...</value>
</data>
<data name="TransportRequestHostTip5" xml:space="preserve">
<value>gRPC Authority</value>
<value>*grpc Authority</value>
</data>
<data name="menuAddHttpServer" xml:space="preserve">
<value>HTTP konfiguráció hozzáadása</value>
@ -1317,8 +1320,8 @@
<data name="TbSettingsLinuxSudoPasswordTip" xml:space="preserve">
<value>A jelszót a parancssoron keresztül ellenőrizzük. Ha egy érvényesítési hiba miatt az alkalmazás hibásan működik, indítsa újra az alkalmazást. A jelszó nem kerül tárolásra, és minden újraindítás után újra meg kell adni.</value>
</data>
<data name="TransportHeaderType5" xml:space="preserve">
<value>xhttp mód</value>
<data name="TransportHeaderTypeTip5" xml:space="preserve">
<value>*xhttp mód</value>
</data>
<data name="TransportExtraTip" xml:space="preserve">
<value>XHTTP Extra nyers JSON, formátum: { XHTTP Objektum }</value>
@ -1695,10 +1698,4 @@ The "Get Certificate" action may fail if a self-signed certificate is used or if
<data name="TbLegacyProtect" xml:space="preserve">
<value>Legacy TUN Protect</value>
</data>
<data name="TbCamouflageDomain" xml:space="preserve">
<value>Álcázási tartomány</value>
</data>
<data name="TbHost" xml:space="preserve">
<value>Host</value>
</data>
</root>

View file

@ -343,7 +343,7 @@
<value>*QUIC key/KCP seed</value>
</data>
<data name="TransportPathTip4" xml:space="preserve">
<value>gRPC service name</value>
<value>*grpc service name</value>
</data>
<data name="TransportRequestHostTip1" xml:space="preserve">
<value>*http host separated by commas (,)</value>
@ -357,17 +357,17 @@
<data name="TransportRequestHostTip4" xml:space="preserve">
<value>*QUIC security</value>
</data>
<data name="TransportHeaderType1" xml:space="preserve">
<value>raw camouflage type</value>
<data name="TransportHeaderTypeTip1" xml:space="preserve">
<value>*tcp camouflage type</value>
</data>
<data name="TransportHeaderType2" xml:space="preserve">
<value>kcp camouflage type</value>
<data name="TransportHeaderTypeTip2" xml:space="preserve">
<value>*kcp camouflage type</value>
</data>
<data name="TransportHeaderType3" xml:space="preserve">
<value>QUIC camouflage type</value>
<data name="TransportHeaderTypeTip3" xml:space="preserve">
<value>*QUIC camouflage type</value>
</data>
<data name="TransportHeaderType4" xml:space="preserve">
<value>gRPC mode</value>
<data name="TransportHeaderTypeTip4" xml:space="preserve">
<value>*grpc mode</value>
</data>
<data name="LvTLS" xml:space="preserve">
<value>TLS</value>
@ -606,6 +606,9 @@
<data name="TbRemarks" xml:space="preserve">
<value>Alias (remarks)</value>
</data>
<data name="TbRequestHost" xml:space="preserve">
<value>Camouflage domain(host)</value>
</data>
<data name="TbSecurity" xml:space="preserve">
<value>Encryption method (security)</value>
</data>
@ -616,7 +619,7 @@
<value>TLS</value>
</data>
<data name="TipNetwork" xml:space="preserve">
<value>*Default value raw</value>
<value>*Default value tcp</value>
</data>
<data name="TbCoreType" xml:space="preserve">
<value>Core Type</value>
@ -934,7 +937,7 @@
<value>User-Agent</value>
</data>
<data name="TbSettingsDefUserAgentTips" xml:space="preserve">
<value>This parameter is valid only for raw/http and ws</value>
<value>This parameter is valid only for tcp/http and ws</value>
</data>
<data name="TbSettingsCurrentFontFamily" xml:space="preserve">
<value>Font family (requires restart)</value>
@ -1099,7 +1102,7 @@
<value>Test terminating...</value>
</data>
<data name="TransportRequestHostTip5" xml:space="preserve">
<value>gRPC Authority</value>
<value>*grpc Authority</value>
</data>
<data name="menuAddHttpServer" xml:space="preserve">
<value>Add [HTTP]</value>
@ -1317,8 +1320,8 @@
<data name="TbSettingsLinuxSudoPasswordTip" xml:space="preserve">
<value>The password will be validated via the command line. If a validation error causes the application to malfunction, please restart the application. The password will not be stored and must be entered again after each restart.</value>
</data>
<data name="TransportHeaderType5" xml:space="preserve">
<value>xhttp mode</value>
<data name="TransportHeaderTypeTip5" xml:space="preserve">
<value>*xhttp mode</value>
</data>
<data name="TransportExtraTip" xml:space="preserve">
<value>XHTTP Extra raw JSON, format: { XHTTP Object }</value>
@ -1695,10 +1698,4 @@ The "Get Certificate" action may fail if a self-signed certificate is used or if
<data name="TbLegacyProtect" xml:space="preserve">
<value>Legacy TUN Protect</value>
</data>
<data name="TbCamouflageDomain" xml:space="preserve">
<value>Camouflage domain</value>
</data>
<data name="TbHost" xml:space="preserve">
<value>Host</value>
</data>
</root>

View file

@ -343,7 +343,7 @@
<value>*QUIC-ключ / KCP-seed</value>
</data>
<data name="TransportPathTip4" xml:space="preserve">
<value>Имя сервиса gRPC</value>
<value>Имя сервиса *gRPC</value>
</data>
<data name="TransportRequestHostTip1" xml:space="preserve">
<value>*http-хосты, разделённые запятыми (,)</value>
@ -357,17 +357,17 @@
<data name="TransportRequestHostTip4" xml:space="preserve">
<value>Безопасность *QUIC</value>
</data>
<data name="TransportHeaderType1" xml:space="preserve">
<value>Тип raw-камуфляжа</value>
<data name="TransportHeaderTypeTip1" xml:space="preserve">
<value>Тип *TCP-камуфляжа</value>
</data>
<data name="TransportHeaderType2" xml:space="preserve">
<value>Тип KCP-камуфляжа</value>
<data name="TransportHeaderTypeTip2" xml:space="preserve">
<value>Тип *KCP-камуфляжа</value>
</data>
<data name="TransportHeaderType3" xml:space="preserve">
<value>Тип QUIC-камуфляжа</value>
<data name="TransportHeaderTypeTip3" xml:space="preserve">
<value>Тип *QUIC-камуфляжа</value>
</data>
<data name="TransportHeaderType4" xml:space="preserve">
<value>Режим gRPC</value>
<data name="TransportHeaderTypeTip4" xml:space="preserve">
<value>Режим *gRPC</value>
</data>
<data name="LvTLS" xml:space="preserve">
<value>TLS</value>
@ -606,6 +606,9 @@
<data name="TbRemarks" xml:space="preserve">
<value>Примечание</value>
</data>
<data name="TbRequestHost" xml:space="preserve">
<value>Маскирующий домен (хост)</value>
</data>
<data name="TbSecurity" xml:space="preserve">
<value>Метод шифрования</value>
</data>
@ -616,7 +619,7 @@
<value>TLS</value>
</data>
<data name="TipNetwork" xml:space="preserve">
<value>*По-умолчанию raw</value>
<value>*По-умолчанию TCP</value>
</data>
<data name="TbCoreType" xml:space="preserve">
<value>Ядро</value>
@ -934,7 +937,7 @@
<value>User-Agent</value>
</data>
<data name="TbSettingsDefUserAgentTips" xml:space="preserve">
<value>Параметр действует только для raw/HTTP и WebSocket (WS)</value>
<value>Параметр действует только для TCP/HTTP и WebSocket (WS)</value>
</data>
<data name="TbSettingsCurrentFontFamily" xml:space="preserve">
<value>Шрифт (требуется перезагрузка)</value>
@ -1099,7 +1102,7 @@
<value>Отмена тестирования...</value>
</data>
<data name="TransportRequestHostTip5" xml:space="preserve">
<value>gRPC Authority (HTTP/2 псевдозаголовок :authority)</value>
<value>* gRPC Authority (HTTP/2 псевдозаголовок :authority)</value>
</data>
<data name="menuAddHttpServer" xml:space="preserve">
<value>Добавить сервер [HTTP]</value>
@ -1317,8 +1320,8 @@
<data name="TbSettingsLinuxSudoPasswordTip" xml:space="preserve">
<value>Пароль sudo будет проверен в терминале. Если из-за ошибки проверки приложение начнёт работать некорректно, перезапустите его. Пароль не сохраняется — его нужно вводить после каждого перезапуска.</value>
</data>
<data name="TransportHeaderType5" xml:space="preserve">
<value>XHTTP-режим</value>
<data name="TransportHeaderTypeTip5" xml:space="preserve">
<value>*XHTTP-режим</value>
</data>
<data name="TransportExtraTip" xml:space="preserve">
<value>Дополнительный „сырой“ JSON для XHTTP, формат: { XHTTP Object }</value>
@ -1695,10 +1698,4 @@
<data name="TbLegacyProtect" xml:space="preserve">
<value>Legacy TUN Protect</value>
</data>
<data name="TbCamouflageDomain" xml:space="preserve">
<value>Маскирующий домен</value>
</data>
<data name="TbHost" xml:space="preserve">
<value>Host</value>
</data>
</root>

View file

@ -343,7 +343,7 @@
<value>*QUIC 加密密钥</value>
</data>
<data name="TransportPathTip4" xml:space="preserve">
<value>gRPC serviceName</value>
<value>*grpc serviceName</value>
</data>
<data name="TransportRequestHostTip1" xml:space="preserve">
<value>*http host 中间逗号 (,) 分隔</value>
@ -357,17 +357,17 @@
<data name="TransportRequestHostTip4" xml:space="preserve">
<value>*QUIC 加密方式</value>
</data>
<data name="TransportHeaderType1" xml:space="preserve">
<value>raw 伪装类型</value>
<data name="TransportHeaderTypeTip1" xml:space="preserve">
<value>*tcp 伪装类型</value>
</data>
<data name="TransportHeaderType2" xml:space="preserve">
<value>kcp 伪装类型</value>
<data name="TransportHeaderTypeTip2" xml:space="preserve">
<value>*kcp 伪装类型</value>
</data>
<data name="TransportHeaderType3" xml:space="preserve">
<value>QUIC 伪装类型</value>
<data name="TransportHeaderTypeTip3" xml:space="preserve">
<value>*QUIC 伪装类型</value>
</data>
<data name="TransportHeaderType4" xml:space="preserve">
<value>gRPC 模式</value>
<data name="TransportHeaderTypeTip4" xml:space="preserve">
<value>*grpc 模式</value>
</data>
<data name="LvTLS" xml:space="preserve">
<value>TLS</value>
@ -606,6 +606,9 @@
<data name="TbRemarks" xml:space="preserve">
<value>别名 (remarks)</value>
</data>
<data name="TbRequestHost" xml:space="preserve">
<value>伪装域名 (host)</value>
</data>
<data name="TbSecurity" xml:space="preserve">
<value>加密方式 (security)</value>
</data>
@ -616,7 +619,7 @@
<value>传输层安全 (TLS)</value>
</data>
<data name="TipNetwork" xml:space="preserve">
<value>*默认 raw,选错会无法连接</value>
<value>*默认 tcp,选错会无法连接</value>
</data>
<data name="TbCoreType" xml:space="preserve">
<value>Core 类型</value>
@ -934,7 +937,7 @@
<value>用户代理 (User-Agent)</value>
</data>
<data name="TbSettingsDefUserAgentTips" xml:space="preserve">
<value>仅对 raw/http、ws 协议生效</value>
<value>仅对 tcp/http、ws 协议生效</value>
</data>
<data name="TbSettingsCurrentFontFamily" xml:space="preserve">
<value>当前字体 (需重启)</value>
@ -1096,7 +1099,7 @@
<value>测试终止中...</value>
</data>
<data name="TransportRequestHostTip5" xml:space="preserve">
<value>gRPC Authority</value>
<value>*grpc Authority</value>
</data>
<data name="menuAddHttpServer" xml:space="preserve">
<value>添加 [HTTP]</value>
@ -1314,8 +1317,8 @@
<data name="TbSettingsLinuxSudoPasswordTip" xml:space="preserve">
<value>密码将调用命令行校验,如果因为校验错误导致无法正常运行时,请重启本应用。 密码不会存储,每次重启后都需要再次输入。</value>
</data>
<data name="TransportHeaderType5" xml:space="preserve">
<value>XHTTP 模式</value>
<data name="TransportHeaderTypeTip5" xml:space="preserve">
<value>*XHTTP 模式</value>
</data>
<data name="TransportExtraTip" xml:space="preserve">
<value>XHTTP Extra 原始 JSON格式 { XHTTPObject }</value>
@ -1692,10 +1695,4 @@
<data name="TbLegacyProtect" xml:space="preserve">
<value>旧版 TUN 保护</value>
</data>
<data name="TbCamouflageDomain" xml:space="preserve">
<value>伪装域名</value>
</data>
<data name="TbHost" xml:space="preserve">
<value>Host</value>
</data>
</root>

View file

@ -343,7 +343,7 @@
<value>*QUIC 加密金鑰</value>
</data>
<data name="TransportPathTip4" xml:space="preserve">
<value>gRPC serviceName</value>
<value>*grpc serviceName</value>
</data>
<data name="TransportRequestHostTip1" xml:space="preserve">
<value>*http host 中間逗號 (,) 分隔</value>
@ -357,17 +357,17 @@
<data name="TransportRequestHostTip4" xml:space="preserve">
<value>*QUIC 加密方式</value>
</data>
<data name="TransportHeaderType1" xml:space="preserve">
<value>raw 偽裝類型</value>
<data name="TransportHeaderTypeTip1" xml:space="preserve">
<value>*TCP 偽裝類型</value>
</data>
<data name="TransportHeaderType2" xml:space="preserve">
<value>KCP 偽裝類型</value>
<data name="TransportHeaderTypeTip2" xml:space="preserve">
<value>*KCP 偽裝類型</value>
</data>
<data name="TransportHeaderType3" xml:space="preserve">
<value>QUIC 偽裝類型</value>
<data name="TransportHeaderTypeTip3" xml:space="preserve">
<value>*QUIC 偽裝類型</value>
</data>
<data name="TransportHeaderType4" xml:space="preserve">
<value>gRPC 模式</value>
<data name="TransportHeaderTypeTip4" xml:space="preserve">
<value>*GRPC 模式</value>
</data>
<data name="LvTLS" xml:space="preserve">
<value>TLS</value>
@ -606,6 +606,9 @@
<data name="TbRemarks" xml:space="preserve">
<value>別名 (remarks)</value>
</data>
<data name="TbRequestHost" xml:space="preserve">
<value>偽裝域名 (host)</value>
</data>
<data name="TbSecurity" xml:space="preserve">
<value>加密方式 (security)</value>
</data>
@ -616,7 +619,7 @@
<value>傳輸層安全性 (TLS)</value>
</data>
<data name="TipNetwork" xml:space="preserve">
<value>*預設 raw,選錯會無法連線</value>
<value>*預設 TCP,選錯會無法連線</value>
</data>
<data name="TbCoreType" xml:space="preserve">
<value>Core 類型</value>
@ -934,7 +937,7 @@
<value>使用者代理 (User-Agent)</value>
</data>
<data name="TbSettingsDefUserAgentTips" xml:space="preserve">
<value>僅對 raw/HTTP、WS 協定生效</value>
<value>僅對 TCP/HTTP、WS 協定生效</value>
</data>
<data name="TbSettingsCurrentFontFamily" xml:space="preserve">
<value>目前字型 (需重啟)</value>
@ -1096,7 +1099,7 @@
<value>測試終止中...</value>
</data>
<data name="TransportRequestHostTip5" xml:space="preserve">
<value>gRPC Authority</value>
<value>*grpc Authority</value>
</data>
<data name="menuAddHttpServer" xml:space="preserve">
<value>新增 [HTTP] 節點</value>
@ -1314,8 +1317,8 @@
<data name="TbSettingsLinuxSudoPasswordTip" xml:space="preserve">
<value>密碼將調用命令行校驗,如果因為校驗錯誤導致無法正常運行時,請重啟本應用。密碼不會存儲,每次重啟後都需要再次輸入。</value>
</data>
<data name="TransportHeaderType5" xml:space="preserve">
<value>xhttp 模式</value>
<data name="TransportHeaderTypeTip5" xml:space="preserve">
<value>*xhttp 模式</value>
</data>
<data name="TransportExtraTip" xml:space="preserve">
<value>XHTTP Extra 原始 JSON格式 { XHTTPObject }</value>
@ -1692,10 +1695,4 @@
<data name="TbLegacyProtect" xml:space="preserve">
<value>Legacy TUN Protect</value>
</data>
<data name="TbCamouflageDomain" xml:space="preserve">
<value>偽裝域名</value>
</data>
<data name="TbHost" xml:space="preserve">
<value>Host</value>
</data>
</root>

View file

@ -22,7 +22,7 @@ public partial class CoreConfigSingboxService
}
if (withSelector)
{
var proxyTags = proxyOutboundList.Where(n => n.tag.StartsWith(baseTagName)).Select(n => n.tag).ToList();
var proxyTags = proxyOutboundList.Where(n => n.tag.StartsWith(Global.ProxyTag)).Select(n => n.tag).ToList();
if (proxyTags.Count > 1)
{
proxyOutboundList.InsertRange(0, BuildSelectorOutbounds(proxyTags, baseTagName));

View file

@ -642,8 +642,7 @@ public partial class CoreConfigV2rayService
streamSettings.finalmask = hy2Finalmask;
break;
default:
// raw
case nameof(ETransport.raw):
if (headerType == Global.RawHeaderHttp)
{
RawSettings4Ray rawSettings = new()
@ -674,6 +673,9 @@ public partial class CoreConfigV2rayService
streamSettings.rawSettings = rawSettings;
}
break;
default:
break;
}
if (!_node.Finalmask.IsNullOrEmpty())

View file

@ -709,22 +709,18 @@ public class ProfilesViewModel : MyReactiveObject
public async Task ServerSpeedtest(ESpeedActionType actionType)
{
List<ProfileItem>? lstSelected;
if (actionType is ESpeedActionType.Mixedtest or ESpeedActionType.FastRealping)
if (actionType == ESpeedActionType.Mixedtest)
{
if (actionType == ESpeedActionType.FastRealping)
{
actionType = ESpeedActionType.Realping;
}
lstSelected = JsonUtils.Deserialize<List<ProfileItem>>(JsonUtils.Serialize(ProfileItems?.OrderBy(t => t.Sort)));
SelectedProfiles = ProfileItems;
}
else
else if (actionType == ESpeedActionType.FastRealping)
{
lstSelected = await GetProfileItems(false);
SelectedProfiles = ProfileItems;
actionType = ESpeedActionType.Realping;
}
if (lstSelected is null || lstSelected.Count <= 0)
var lstSelected = await GetProfileItems(false);
if (lstSelected == null)
{
return;
}

View file

@ -726,7 +726,7 @@
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TransportHeaderType1}" />
Text="{x:Static resx:ResUI.TbHeaderType}" />
<ComboBox
x:Name="cmbHeaderTypeRaw"
Grid.Row="0"
@ -746,7 +746,7 @@
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbCamouflageDomain}" />
Text="{x:Static resx:ResUI.TbRequestHost}" />
<TextBox
x:Name="txtRequestHostRaw"
Grid.Row="0"
@ -778,7 +778,7 @@
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TransportHeaderType5}" />
Text="{x:Static resx:ResUI.TbHeaderType}" />
<ComboBox
x:Name="cmbHeaderTypeXhttp"
Grid.Row="0"
@ -790,7 +790,7 @@
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbHost}" />
Text="{x:Static resx:ResUI.TbRequestHost}" />
<TextBox
x:Name="txtRequestHostXhttp"
Grid.Row="1"
@ -837,7 +837,7 @@
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TransportHeaderType2}" />
Text="{x:Static resx:ResUI.TbHeaderType}" />
<ComboBox
x:Name="cmbHeaderTypeKcp"
Grid.Row="0"
@ -868,7 +868,7 @@
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TransportHeaderType4}" />
Text="{x:Static resx:ResUI.TbHeaderType}" />
<ComboBox
x:Name="cmbHeaderTypeGrpc"
Grid.Row="0"
@ -880,7 +880,7 @@
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TransportRequestHostTip5}" />
Text="{x:Static resx:ResUI.TbRequestHost}" />
<TextBox
x:Name="txtRequestHostGrpc"
Grid.Row="1"
@ -892,7 +892,7 @@
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TransportPathTip4}" />
Text="{x:Static resx:ResUI.TbPath}" />
<TextBox
x:Name="txtPathGrpc"
Grid.Row="2"
@ -911,7 +911,7 @@
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbHost}" />
Text="{x:Static resx:ResUI.TbRequestHost}" />
<TextBox
x:Name="txtRequestHostWs"
Grid.Row="0"
@ -942,7 +942,7 @@
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbHost}" />
Text="{x:Static resx:ResUI.TbRequestHost}" />
<TextBox
x:Name="txtRequestHostHttpupgrade"
Grid.Row="0"

View file

@ -960,7 +960,7 @@
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}"
Text="{x:Static resx:ResUI.TransportHeaderType1}" />
Text="{x:Static resx:ResUI.TbHeaderType}" />
<ComboBox
x:Name="cmbHeaderTypeRaw"
Grid.Row="0"
@ -988,7 +988,7 @@
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}"
Text="{x:Static resx:ResUI.TbCamouflageDomain}" />
Text="{x:Static resx:ResUI.TbRequestHost}" />
<TextBox
x:Name="txtRequestHostRaw"
Grid.Row="0"
@ -1030,7 +1030,7 @@
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}"
Text="{x:Static resx:ResUI.TransportHeaderType5}" />
Text="{x:Static resx:ResUI.TbHeaderType}" />
<ComboBox
x:Name="cmbHeaderTypeXhttp"
Grid.Row="0"
@ -1044,7 +1044,7 @@
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}"
Text="{x:Static resx:ResUI.TbHost}" />
Text="{x:Static resx:ResUI.TbRequestHost}" />
<TextBox
x:Name="txtRequestHostXhttp"
Grid.Row="1"
@ -1102,7 +1102,7 @@
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}"
Text="{x:Static resx:ResUI.TransportHeaderType2}" />
Text="{x:Static resx:ResUI.TbHeaderType}" />
<ComboBox
x:Name="cmbHeaderTypeKcp"
Grid.Row="0"
@ -1142,7 +1142,7 @@
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}"
Text="{x:Static resx:ResUI.TransportHeaderType4}" />
Text="{x:Static resx:ResUI.TbHeaderType}" />
<ComboBox
x:Name="cmbHeaderTypeGrpc"
Grid.Row="0"
@ -1156,7 +1156,7 @@
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}"
Text="{x:Static resx:ResUI.TransportRequestHostTip5}" />
Text="{x:Static resx:ResUI.TbRequestHost}" />
<TextBox
x:Name="txtRequestHostGrpc"
Grid.Row="1"
@ -1170,7 +1170,7 @@
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}"
Text="{x:Static resx:ResUI.TransportPathTip4}" />
Text="{x:Static resx:ResUI.TbPath}" />
<TextBox
x:Name="txtPathGrpc"
Grid.Row="2"
@ -1195,7 +1195,7 @@
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}"
Text="{x:Static resx:ResUI.TbHost}" />
Text="{x:Static resx:ResUI.TbRequestHost}" />
<TextBox
x:Name="txtRequestHostWs"
Grid.Row="0"
@ -1234,7 +1234,7 @@
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Style="{StaticResource ToolbarTextBlock}"
Text="{x:Static resx:ResUI.TbHost}" />
Text="{x:Static resx:ResUI.TbRequestHost}" />
<TextBox
x:Name="txtRequestHostHttpupgrade"
Grid.Row="0"