Adjust allow insecure fmt (#9888)

* Adjust allow insecure fmt

* Remove `VLESS` insecure fmt
This commit is contained in:
DHR60
2026-08-05 06:26:16 +00:00
committed by GitHub
parent eff584597f
commit b27ae11d1e
5 changed files with 35 additions and 36 deletions
@@ -25,6 +25,11 @@ public class AnytlsFmt : BaseFmt
var query = Utils.ParseQueryString(parsedUrl.Query);
ResolveUriQuery(query, ref item);
if (GetQueryValue(query, "insecure") == "1")
{
item.AllowInsecure = Global.StringTrue;
}
return item;
}
@@ -41,6 +46,10 @@ public class AnytlsFmt : BaseFmt
}
var pw = item.Password;
var dicQuery = new Dictionary<string, string>();
if (item.GetAllowInsecure())
{
dicQuery.Add("insecure", "1");
}
ToUriQuery(item, Global.None, ref dicQuery);
return ToUri(EConfigType.Anytls, item.Address, item.Port, pw, dicQuery, remark);
-35
View File
@@ -4,8 +4,6 @@ namespace ServiceLib.Handler.Fmt;
public class BaseFmt
{
private static readonly string[] _allowInsecureArray = new[] { "insecure", "allowInsecure", "allow_insecure" };
private static string UrlEncodeSafe(string? value) => Utils.UrlEncode(value ?? string.Empty);
protected static string GetIpv6(string address)
@@ -67,7 +65,6 @@ public class BaseFmt
{
dicQuery.Add("alpn", Utils.UrlEncode(item.Alpn));
}
ToUriQueryAllowInsecure(item, ref dicQuery);
}
if (item.EchConfigList.IsNotEmpty())
{
@@ -196,25 +193,6 @@ public class BaseFmt
dicQuery.Add("alpn", Utils.UrlEncode(item.Alpn));
}
ToUriQueryAllowInsecure(item, ref dicQuery);
return 0;
}
private static int ToUriQueryAllowInsecure(ProfileItem item, ref Dictionary<string, string> dicQuery)
{
if (item.GetAllowInsecure())
{
// Add two for compatibility
dicQuery.Add("insecure", "1");
dicQuery.Add("allowInsecure", "1");
}
else
{
dicQuery.Add("insecure", "0");
dicQuery.Add("allowInsecure", "0");
}
return 0;
}
@@ -252,19 +230,6 @@ public class BaseFmt
item.Finalmask = string.Empty;
}
if (_allowInsecureArray.Any(k => GetQueryDecoded(query, k) == "1"))
{
item.AllowInsecure = Global.StringTrue;
}
else if (_allowInsecureArray.Any(k => GetQueryDecoded(query, k) == "0"))
{
item.AllowInsecure = Global.StringFalse;
}
else
{
item.AllowInsecure = string.Empty;
}
var net = GetQueryValue(query, "type", nameof(ETransport.raw));
if (net == Global.RawNetworkAlias)
{
@@ -162,6 +162,10 @@ public class Hysteria2Fmt : BaseFmt
private static void ResolveHy2UriQuery(NameValueCollection query, ref ProfileItem item)
{
if (GetQueryValue(query, "insecure") == "1")
{
item.AllowInsecure = Global.StringTrue;
}
if (item.CertSha.IsNullOrEmpty())
{
item.CertSha = GetQueryDecoded(query, "pinSHA256");
@@ -198,6 +202,10 @@ public class Hysteria2Fmt : BaseFmt
private static void ToHy2UriQuery(ProfileItem item, ref Dictionary<string, string> dicQuery)
{
if (item.GetAllowInsecure())
{
dicQuery.Add("insecure", "1");
}
if (!item.CertSha.IsNullOrEmpty()
&& !item.CertSha.Contains(','))
{
@@ -2,6 +2,8 @@ namespace ServiceLib.Handler.Fmt;
public class TrojanFmt : BaseFmt
{
private static readonly List<string> _insecureQueryKeys = new() { "allowInsecure", "insecure" };
public static ProfileItem? Resolve(string str, out string msg)
{
msg = ResUI.ConfigurationFormatIncorrect;
@@ -23,6 +25,10 @@ public class TrojanFmt : BaseFmt
item.Password = Utils.UrlDecode(url.UserInfo);
var query = Utils.ParseQueryString(url.Query);
if (_insecureQueryKeys.Any(q => GetQueryValue(query, q) == "1"))
{
item.AllowInsecure = Global.StringTrue;
}
item.SetProtocolExtra(item.GetProtocolExtra() with { Flow = GetQueryValue(query, "flow") });
ResolveUriQuery(query, ref item);
@@ -41,6 +47,10 @@ public class TrojanFmt : BaseFmt
remark = "#" + Utils.UrlEncode(item.Remarks);
}
var dicQuery = new Dictionary<string, string>();
if (item.GetAllowInsecure())
{
_insecureQueryKeys.ForEach(q => dicQuery.Add(q, "1"));
}
if (!item.GetProtocolExtra().Flow.IsNullOrEmpty())
{
dicQuery.Add("flow", item.GetProtocolExtra().Flow);
+8 -1
View File
@@ -30,6 +30,10 @@ public class TuicFmt : BaseFmt
var query = Utils.ParseQueryString(url.Query);
ResolveUriQuery(query, ref item);
if (GetQueryValue(query, "allow_insecure") == "1")
{
item.AllowInsecure = Global.StringTrue;
}
item.SetProtocolExtra(item.GetProtocolExtra() with
{
CongestionControl = GetQueryValue(query, "congestion_control")
@@ -53,7 +57,10 @@ public class TuicFmt : BaseFmt
var dicQuery = new Dictionary<string, string>();
ToUriQueryLite(item, ref dicQuery);
if (item.GetAllowInsecure())
{
dicQuery.Add("allow_insecure", "1");
}
if (!item.GetProtocolExtra().CongestionControl.IsNullOrEmpty())
{
dicQuery.Add("congestion_control", item.GetProtocolExtra().CongestionControl);