diff --git a/v2rayN/ServiceLib/Handler/Fmt/BaseFmt.cs b/v2rayN/ServiceLib/Handler/Fmt/BaseFmt.cs index 2f31e827..ffcd15c5 100644 --- a/v2rayN/ServiceLib/Handler/Fmt/BaseFmt.cs +++ b/v2rayN/ServiceLib/Handler/Fmt/BaseFmt.cs @@ -118,7 +118,23 @@ public class BaseFmt } if (item.Extra.IsNotEmpty()) { - dicQuery.Add("extra", Utils.UrlEncode(item.Extra)); + var extra = item.Extra; + try + { + var node = JsonNode.Parse(item.Extra); + if (node != null) + { + extra = node.ToJsonString(new JsonSerializerOptions + { + WriteIndented = false, + Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping + }); + } + } + catch + { + } + dicQuery.Add("extra", Utils.UrlEncode(extra)); } break;