Compare commits

..

1 commit

Author SHA1 Message Date
JieXu
05fa29b8e4
Merge 00aed2729d into bbedc4dbb1 2025-10-23 08:40:46 +00:00
4 changed files with 24 additions and 33 deletions

View file

@ -1221,7 +1221,6 @@ public static class ConfigHandler
CoreType = coreType, CoreType = coreType,
ConfigType = EConfigType.PolicyGroup, ConfigType = EConfigType.PolicyGroup,
Remarks = remark, Remarks = remark,
IsSub = false
}; };
if (!subId.IsNullOrEmpty()) if (!subId.IsNullOrEmpty())
{ {

View file

@ -187,7 +187,7 @@
<value>Type</value> <value>Type</value>
</data> </data>
<data name="LvSubscription" xml:space="preserve"> <data name="LvSubscription" xml:space="preserve">
<value>Grp abonn.</value> <value>Groupe dabonnement</value>
</data> </data>
<data name="LvTodayDownloadDataAmount" xml:space="preserve"> <data name="LvTodayDownloadDataAmount" xml:space="preserve">
<value>Téléchargement du jour</value> <value>Téléchargement du jour</value>
@ -202,7 +202,7 @@
<value>Total téléversé</value> <value>Total téléversé</value>
</data> </data>
<data name="LvTransportProtocol" xml:space="preserve"> <data name="LvTransportProtocol" xml:space="preserve">
<value>Protoc. Transport</value> <value>Protocole de transport</value>
</data> </data>
<data name="MsgDownloadV2rayCoreSuccessfully" xml:space="preserve"> <data name="MsgDownloadV2rayCoreSuccessfully" xml:space="preserve">
<value>Téléchargement du Core réussi</value> <value>Téléchargement du Core réussi</value>
@ -397,7 +397,7 @@
<value>Local</value> <value>Local</value>
</data> </data>
<data name="MsgServerTitle" xml:space="preserve"> <data name="MsgServerTitle" xml:space="preserve">
<value>Filtre : Entrée pour exécuter</value> <value>Filtre, appuyez sur Entrée pour exécuter</value>
</data> </data>
<data name="menuCheckUpdate" xml:space="preserve"> <data name="menuCheckUpdate" xml:space="preserve">
<value>Rechercher mises à jour</value> <value>Rechercher mises à jour</value>
@ -463,7 +463,7 @@
<value>Mode PAC</value> <value>Mode PAC</value>
</data> </data>
<data name="menuSystemProxySet" xml:space="preserve"> <data name="menuSystemProxySet" xml:space="preserve">
<value>Configuration auto proxy système</value> <value>Configurer automatiquement le proxy système</value>
</data> </data>
<data name="TbSettingsColor" xml:space="preserve"> <data name="TbSettingsColor" xml:space="preserve">
<value>Couleur</value> <value>Couleur</value>
@ -607,7 +607,7 @@
<value>Alias (remarks)</value> <value>Alias (remarks)</value>
</data> </data>
<data name="TbRequestHost" xml:space="preserve"> <data name="TbRequestHost" xml:space="preserve">
<value>Domaine de camouflage (host)</value> <value>Nom dhôte de camouflage (host)</value>
</data> </data>
<data name="TbSecurity" xml:space="preserve"> <data name="TbSecurity" xml:space="preserve">
<value>Méthode de chiffrement (security)</value> <value>Méthode de chiffrement (security)</value>
@ -616,7 +616,7 @@
<value>SNI</value> <value>SNI</value>
</data> </data>
<data name="TbStreamSecurity" xml:space="preserve"> <data name="TbStreamSecurity" xml:space="preserve">
<value>Sécurité couche transport (TLS)</value> <value>Sécurité de la couche de transport (TLS)</value>
</data> </data>
<data name="TipNetwork" xml:space="preserve"> <data name="TipNetwork" xml:space="preserve">
<value>*tcp par défaut ; un mauvais choix empêchera la connexion</value> <value>*tcp par défaut ; un mauvais choix empêchera la connexion</value>
@ -640,13 +640,13 @@
<value>ID utilisateur (id)</value> <value>ID utilisateur (id)</value>
</data> </data>
<data name="TbSecurity3" xml:space="preserve"> <data name="TbSecurity3" xml:space="preserve">
<value>Mode chiffrement (encryption)</value> <value>Méthode de chiffrement (encryption)</value>
</data> </data>
<data name="TbSecurity4" xml:space="preserve"> <data name="TbSecurity4" xml:space="preserve">
<value>Nom dutilisateur (optionnel)</value> <value>Nom dutilisateur (optionnel)</value>
</data> </data>
<data name="TbSecurity5" xml:space="preserve"> <data name="TbSecurity5" xml:space="preserve">
<value>Mode chiffrement (encryption)</value> <value>Méthode de chiffrement (encryption)</value>
</data> </data>
<data name="TbPreSocksPort" xml:space="preserve"> <data name="TbPreSocksPort" xml:space="preserve">
<value>Port Socks</value> <value>Port Socks</value>
@ -715,7 +715,7 @@
<value>Niveau de journalisation</value> <value>Niveau de journalisation</value>
</data> </data>
<data name="TbSettingsMuxEnabled" xml:space="preserve"> <data name="TbSettingsMuxEnabled" xml:space="preserve">
<value>Activer Mux multiplex</value> <value>Activer la multiplexion Mux</value>
</data> </data>
<data name="TbSettingsN" xml:space="preserve"> <data name="TbSettingsN" xml:space="preserve">
<value>Paramètres v2rayN</value> <value>Paramètres v2rayN</value>
@ -988,16 +988,16 @@
<value>Redémarrer en tant quadministrateur</value> <value>Redémarrer en tant quadministrateur</value>
</data> </data>
<data name="LvMoreUrl" xml:space="preserve"> <data name="LvMoreUrl" xml:space="preserve">
<value>Adresses suppl. (URL), séparées par des virgules ; la conversion dabonnement sera désactivée</value> <value>Adresses supplémentaires (URL), séparées par des virgules ; la conversion dabonnement sera désactivée</value>
</data> </data>
<data name="LvAutoUpdateInterval" xml:space="preserve"> <data name="LvAutoUpdateInterval" xml:space="preserve">
<value>Intervalle maj. auto (min)</value> <value>Intervalle de mise à jour automatique (minutes)</value>
</data> </data>
<data name="TbSettingsLogEnabledToFile" xml:space="preserve"> <data name="TbSettingsLogEnabledToFile" xml:space="preserve">
<value>Activer lenregistrement des journaux dans un fichier</value> <value>Activer lenregistrement des journaux dans un fichier</value>
</data> </data>
<data name="LvConvertTarget" xml:space="preserve"> <data name="LvConvertTarget" xml:space="preserve">
<value>Type cible conv. dabonnement</value> <value>Type de cible de conversion dabonnement</value>
</data> </data>
<data name="LvConvertTargetTip" xml:space="preserve"> <data name="LvConvertTargetTip" xml:space="preserve">
<value>Laisser vide si aucune conversion nest nécessaire</value> <value>Laisser vide si aucune conversion nest nécessaire</value>
@ -1042,7 +1042,7 @@
<value>Ajouter [TUIC]</value> <value>Ajouter [TUIC]</value>
</data> </data>
<data name="TbHeaderType8" xml:space="preserve"> <data name="TbHeaderType8" xml:space="preserve">
<value>Algo contrôle congestion</value> <value>Algorithme de contrôle de congestion</value>
</data> </data>
<data name="LvPrevProfile" xml:space="preserve"> <data name="LvPrevProfile" xml:space="preserve">
<value>Alias de configuration du proxy amont</value> <value>Alias de configuration du proxy amont</value>
@ -1051,7 +1051,7 @@
<value>Alias de configuration du proxy aval</value> <value>Alias de configuration du proxy aval</value>
</data> </data>
<data name="LvPrevProfileTip" xml:space="preserve"> <data name="LvPrevProfileTip" xml:space="preserve">
<value>Assurez-vous que lalias config existe et est unique</value> <value>Assurez-vous que lalias de configuration existe et est unique</value>
</data> </data>
<data name="TbSettingsTunAutoRoute" xml:space="preserve"> <data name="TbSettingsTunAutoRoute" xml:space="preserve">
<value>Routage automatique</value> <value>Routage automatique</value>
@ -1120,7 +1120,7 @@
<value>Set de règles sing-box perso</value> <value>Set de règles sing-box perso</value>
</data> </data>
<data name="NeedRebootTips" xml:space="preserve"> <data name="NeedRebootTips" xml:space="preserve">
<value>Opération réussie. Veuillez redémarrer lapp via le menu Paramètres.</value> <value>Opération réussie. Veuillez redémarrer lapplication via le menu Paramètres.</value>
</data> </data>
<data name="menuOpenTheFileLocation" xml:space="preserve"> <data name="menuOpenTheFileLocation" xml:space="preserve">
<value>Ouvrir lemplacement du fichier</value> <value>Ouvrir lemplacement du fichier</value>
@ -1225,7 +1225,7 @@
<value>Afficher ou masquer linterface principale</value> <value>Afficher ou masquer linterface principale</value>
</data> </data>
<data name="TbPreSocksPort4Sub" xml:space="preserve"> <data name="TbPreSocksPort4Sub" xml:space="preserve">
<value>Port Socks config personnalisée</value> <value>Port Socks de la configuration personnalisée</value>
</data> </data>
<data name="menuBackupAndRestore" xml:space="preserve"> <data name="menuBackupAndRestore" xml:space="preserve">
<value>Sauvegarder et restaurer</value> <value>Sauvegarder et restaurer</value>
@ -1297,7 +1297,7 @@
<value>Iran</value> <value>Iran</value>
</data> </data>
<data name="TbSettingsChinaUserTip" xml:space="preserve"> <data name="TbSettingsChinaUserTip" xml:space="preserve">
<value>Les utilisateurs de Chine peuvent ignorer</value> <value>Les utilisateurs de la région Chine peuvent ignorer ceci</value>
</data> </data>
<data name="menuAddServerViaImage" xml:space="preserve"> <data name="menuAddServerViaImage" xml:space="preserve">
<value>Scanner le QR code dans limage</value> <value>Scanner le QR code dans limage</value>
@ -1318,7 +1318,7 @@
<value>Mémo</value> <value>Mémo</value>
</data> </data>
<data name="TbSettingsLinuxSudoPassword" xml:space="preserve"> <data name="TbSettingsLinuxSudoPassword" xml:space="preserve">
<value>Mot de passe sudo système</value> <value>Mot de passe sudo du système</value>
</data> </data>
<data name="TbSettingsLinuxSudoPasswordTip" xml:space="preserve"> <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> <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>
@ -1336,7 +1336,7 @@
<value>Niveau de concurrence lors des tests multithread</value> <value>Niveau de concurrence lors des tests multithread</value>
</data> </data>
<data name="TbSettingsExceptionTip2" xml:space="preserve"> <data name="TbSettingsExceptionTip2" xml:space="preserve">
<value>Exceptions : ne pas utiliser le proxy pour ces adresses, séparées par des virgules (,).</value> <value>Exceptions : ne pas utiliser le proxy pour les adresses suivantes. Séparez par des virgules (,).</value>
</data> </data>
<data name="TbSettingsDestOverride" xml:space="preserve"> <data name="TbSettingsDestOverride" xml:space="preserve">
<value>Type de détection de trafic</value> <value>Type de détection de trafic</value>
@ -1360,7 +1360,7 @@
<value>Selon le résultat des tests</value> <value>Selon le résultat des tests</value>
</data> </data>
<data name="menuRemoveInvalidServerResult" xml:space="preserve"> <data name="menuRemoveInvalidServerResult" xml:space="preserve">
<value>Supprimer les éléments invalides selon résultats tests</value> <value>Supprimer les éléments invalides selon le résultat des tests</value>
</data> </data>
<data name="RemoveInvalidServerResultTip" xml:space="preserve"> <data name="RemoveInvalidServerResultTip" xml:space="preserve">
<value>{0} résultats de test invalides supprimés.</value> <value>{0} résultats de test invalides supprimés.</value>
@ -1579,7 +1579,7 @@
<value>Protocole « {0} » non pris en charge.</value> <value>Protocole « {0} » non pris en charge.</value>
</data> </data>
<data name="TbSettingsHide2TrayWhenCloseTip" xml:space="preserve"> <data name="TbSettingsHide2TrayWhenCloseTip" xml:space="preserve">
<value>Si le système na pas de zone de notif., nactivez pas cette option</value> <value>Si le système na pas de zone de notification, ne pas activer cette option</value>
</data> </data>
<data name="TbRuleType" xml:space="preserve"> <data name="TbRuleType" xml:space="preserve">
<value>Type de règle</value> <value>Type de règle</value>

View file

@ -97,12 +97,9 @@ public partial class CoreConfigV2rayService
continue; continue;
} }
} }
else if ((!fullConfigTemplate.ProxyDetour.IsNullOrEmpty()) else if (!fullConfigTemplate.ProxyDetour.IsNullOrEmpty())
&& ((outbound.streamSettings?.sockopt?.dialerProxy.IsNullOrEmpty() ?? true) == true))
{ {
var outboundAddress = outbound.settings?.servers?.FirstOrDefault()?.address var outboundAddress = outbound.settings?.servers?.FirstOrDefault()?.address ?? outbound.settings?.vnext?.FirstOrDefault()?.address ?? string.Empty;
?? outbound.settings?.vnext?.FirstOrDefault()?.address
?? string.Empty;
if (!Utils.IsPrivateNetwork(outboundAddress)) if (!Utils.IsPrivateNetwork(outboundAddress))
{ {
outbound.streamSettings ??= new StreamSettings4Ray(); outbound.streamSettings ??= new StreamSettings4Ray();

View file

@ -82,16 +82,11 @@ public partial class CoreConfigV2rayService
var (domain, scheme, port, path) = Utils.ParseUrl(dnsAddress); var (domain, scheme, port, path) = Utils.ParseUrl(dnsAddress);
var domainFinal = dnsAddress; var domainFinal = dnsAddress;
int? portFinal = null; int? portFinal = null;
if (scheme.IsNullOrEmpty() || scheme.StartsWith("udp", StringComparison.OrdinalIgnoreCase)) if (scheme.IsNullOrEmpty() || scheme.Contains("udp", StringComparison.OrdinalIgnoreCase) || scheme.Contains("tcp", StringComparison.OrdinalIgnoreCase))
{ {
domainFinal = domain; domainFinal = domain;
portFinal = port > 0 ? port : null; portFinal = port > 0 ? port : null;
} }
else if (scheme.StartsWith("tcp", StringComparison.OrdinalIgnoreCase))
{
domainFinal = scheme + "://" + domain;
portFinal = port > 0 ? port : null;
}
var dnsServer = new DnsServer4Ray var dnsServer = new DnsServer4Ray
{ {
address = domainFinal, address = domainFinal,