mirror of
https://github.com/2dust/v2rayN.git
synced 2026-09-26 00:22:07 +03:00
Adjust allow insecure fmt (#9888)
* Adjust allow insecure fmt * Remove `VLESS` insecure fmt
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user