From abd962ab31c6e1548d7b4c169eded1d54ec94c76 Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Thu, 8 Jan 2026 17:15:59 +0800 Subject: [PATCH] Update Global.cs --- v2rayN/ServiceLib/Global.cs | 527 ++++++++++++++++++------------------ 1 file changed, 265 insertions(+), 262 deletions(-) diff --git a/v2rayN/ServiceLib/Global.cs b/v2rayN/ServiceLib/Global.cs index 12089008..7add585f 100644 --- a/v2rayN/ServiceLib/Global.cs +++ b/v2rayN/ServiceLib/Global.cs @@ -93,228 +93,230 @@ public class Global public static readonly List IEProxyProtocols = [ "{ip}:{http_port}", - "socks={ip}:{socks_port}", - "http={ip}:{http_port};https={ip}:{http_port};ftp={ip}:{http_port};socks={ip}:{socks_port}", - "http=http://{ip}:{http_port};https=http://{ip}:{http_port}", - "" + "socks={ip}:{socks_port}", + "http={ip}:{http_port};https={ip}:{http_port};ftp={ip}:{http_port};socks={ip}:{socks_port}", + "http=http://{ip}:{http_port};https=http://{ip}:{http_port}", + "" ]; public static readonly List SubConvertUrls = [ @"https://sub.xeton.dev/sub?url={0}", - @"https://api.dler.io/sub?url={0}", - @"http://127.0.0.1:25500/sub?url={0}", - "" + @"https://api.dler.io/sub?url={0}", + @"http://127.0.0.1:25500/sub?url={0}", + "" ]; public static readonly List SubConvertConfig = - [@"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online.ini"]; + [ + @"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online.ini" + ]; public static readonly List SubConvertTargets = [ "", - "mixed", - "v2ray", - "clash", - "ss" + "mixed", + "v2ray", + "clash", + "ss" ]; public static readonly List SpeedTestUrls = [ @"https://cachefly.cachefly.net/50mb.test", - @"https://speed.cloudflare.com/__down?bytes=10000000", - @"https://speed.cloudflare.com/__down?bytes=50000000", - @"https://speed.cloudflare.com/__down?bytes=100000000", - ]; + @"https://speed.cloudflare.com/__down?bytes=10000000", + @"https://speed.cloudflare.com/__down?bytes=50000000", + @"https://speed.cloudflare.com/__down?bytes=100000000", + ]; public static readonly List SpeedPingTestUrls = [ @"https://www.google.com/generate_204", - @"https://www.gstatic.com/generate_204", - @"https://www.apple.com/library/test/success.html", - @"http://www.msftconnecttest.com/connecttest.txt" + @"https://www.gstatic.com/generate_204", + @"https://www.apple.com/library/test/success.html", + @"http://www.msftconnecttest.com/connecttest.txt" ]; public static readonly List GeoFilesSources = [ "", - @"https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/{0}.dat", - @"https://github.com/Chocolate4U/Iran-v2ray-rules/releases/latest/download/{0}.dat" + @"https://github.com/runetfreedom/russia-v2ray-rules-dat/releases/latest/download/{0}.dat", + @"https://github.com/Chocolate4U/Iran-v2ray-rules/releases/latest/download/{0}.dat" ]; public static readonly List SingboxRulesetSources = -[ - "", - @"https://raw.githubusercontent.com/runetfreedom/russia-v2ray-rules-dat/release/sing-box/rule-set-{0}/{1}.srs", - @"https://raw.githubusercontent.com/chocolate4u/Iran-sing-box-rules/rule-set/{1}.srs" -]; + [ + "", + @"https://raw.githubusercontent.com/runetfreedom/russia-v2ray-rules-dat/release/sing-box/rule-set-{0}/{1}.srs", + @"https://raw.githubusercontent.com/chocolate4u/Iran-sing-box-rules/rule-set/{1}.srs" + ]; public static readonly List RoutingRulesSources = [ "", - @"https://raw.githubusercontent.com/runetfreedom/russia-v2ray-custom-routing-list/main/v2rayN/template.json", - @"https://raw.githubusercontent.com/Chocolate4U/Iran-v2ray-rules/main/v2rayN/template.json" + @"https://raw.githubusercontent.com/runetfreedom/russia-v2ray-custom-routing-list/main/v2rayN/template.json", + @"https://raw.githubusercontent.com/Chocolate4U/Iran-v2ray-rules/main/v2rayN/template.json" ]; public static readonly List DNSTemplateSources = [ "", - @"https://raw.githubusercontent.com/runetfreedom/russia-v2ray-custom-routing-list/main/v2rayN/", - @"https://raw.githubusercontent.com/Chocolate4U/Iran-v2ray-rules/main/v2rayN/" + @"https://raw.githubusercontent.com/runetfreedom/russia-v2ray-custom-routing-list/main/v2rayN/", + @"https://raw.githubusercontent.com/Chocolate4U/Iran-v2ray-rules/main/v2rayN/" ]; public static readonly Dictionary UserAgentTexts = new() - { - {"chrome","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36" }, - {"firefox","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0" }, - {"safari","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Safari/605.1.15" }, - {"edge","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.70" }, - {"none",""} - }; + { + {"chrome","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36" }, + {"firefox","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0" }, + {"safari","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Safari/605.1.15" }, + {"edge","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.70" }, + {"none",""} + }; public const string Hysteria2ProtocolShare = "hy2://"; public static readonly Dictionary ProtocolShares = new() - { - { EConfigType.VMess, "vmess://" }, - { EConfigType.Shadowsocks, "ss://" }, - { EConfigType.SOCKS, "socks://" }, - { EConfigType.VLESS, "vless://" }, - { EConfigType.Trojan, "trojan://" }, - { EConfigType.Hysteria2, "hysteria2://" }, - { EConfigType.TUIC, "tuic://" }, - { EConfigType.WireGuard, "wireguard://" }, - { EConfigType.Anytls, "anytls://" } - }; + { + { EConfigType.VMess, "vmess://" }, + { EConfigType.Shadowsocks, "ss://" }, + { EConfigType.SOCKS, "socks://" }, + { EConfigType.VLESS, "vless://" }, + { EConfigType.Trojan, "trojan://" }, + { EConfigType.Hysteria2, "hysteria2://" }, + { EConfigType.TUIC, "tuic://" }, + { EConfigType.WireGuard, "wireguard://" }, + { EConfigType.Anytls, "anytls://" } + }; public static readonly Dictionary ProtocolTypes = new() - { - { EConfigType.VMess, "vmess" }, - { EConfigType.Shadowsocks, "shadowsocks" }, - { EConfigType.SOCKS, "socks" }, - { EConfigType.HTTP, "http" }, - { EConfigType.VLESS, "vless" }, - { EConfigType.Trojan, "trojan" }, - { EConfigType.Hysteria2, "hysteria2" }, - { EConfigType.TUIC, "tuic" }, - { EConfigType.WireGuard, "wireguard" }, - { EConfigType.Anytls, "anytls" } - }; + { + { EConfigType.VMess, "vmess" }, + { EConfigType.Shadowsocks, "shadowsocks" }, + { EConfigType.SOCKS, "socks" }, + { EConfigType.HTTP, "http" }, + { EConfigType.VLESS, "vless" }, + { EConfigType.Trojan, "trojan" }, + { EConfigType.Hysteria2, "hysteria2" }, + { EConfigType.TUIC, "tuic" }, + { EConfigType.WireGuard, "wireguard" }, + { EConfigType.Anytls, "anytls" } + }; public static readonly List VmessSecurities = [ "aes-128-gcm", - "chacha20-poly1305", - "auto", - "none", - "zero" + "chacha20-poly1305", + "auto", + "none", + "zero" ]; public static readonly List SsSecurities = [ "aes-256-gcm", - "aes-128-gcm", - "chacha20-poly1305", - "chacha20-ietf-poly1305", - "none", - "plain" + "aes-128-gcm", + "chacha20-poly1305", + "chacha20-ietf-poly1305", + "none", + "plain" ]; public static readonly List SsSecuritiesInXray = [ "aes-256-gcm", - "aes-128-gcm", - "chacha20-poly1305", - "chacha20-ietf-poly1305", - "xchacha20-poly1305", - "xchacha20-ietf-poly1305", - "none", - "plain", - "2022-blake3-aes-128-gcm", - "2022-blake3-aes-256-gcm", - "2022-blake3-chacha20-poly1305" + "aes-128-gcm", + "chacha20-poly1305", + "chacha20-ietf-poly1305", + "xchacha20-poly1305", + "xchacha20-ietf-poly1305", + "none", + "plain", + "2022-blake3-aes-128-gcm", + "2022-blake3-aes-256-gcm", + "2022-blake3-chacha20-poly1305" ]; public static readonly List SsSecuritiesInSingbox = [ "aes-256-gcm", - "aes-192-gcm", - "aes-128-gcm", - "chacha20-ietf-poly1305", - "xchacha20-ietf-poly1305", - "none", - "2022-blake3-aes-128-gcm", - "2022-blake3-aes-256-gcm", - "2022-blake3-chacha20-poly1305", - "aes-128-ctr", - "aes-192-ctr", - "aes-256-ctr", - "aes-128-cfb", - "aes-192-cfb", - "aes-256-cfb", - "rc4-md5", - "chacha20-ietf", - "xchacha20" + "aes-192-gcm", + "aes-128-gcm", + "chacha20-ietf-poly1305", + "xchacha20-ietf-poly1305", + "none", + "2022-blake3-aes-128-gcm", + "2022-blake3-aes-256-gcm", + "2022-blake3-chacha20-poly1305", + "aes-128-ctr", + "aes-192-ctr", + "aes-256-ctr", + "aes-128-cfb", + "aes-192-cfb", + "aes-256-cfb", + "rc4-md5", + "chacha20-ietf", + "xchacha20" ]; public static readonly List Flows = [ "", - "xtls-rprx-vision", - "xtls-rprx-vision-udp443" + "xtls-rprx-vision", + "xtls-rprx-vision-udp443" ]; public static readonly List Networks = [ "tcp", - "kcp", - "ws", - "httpupgrade", - "xhttp", - "h2", - "quic", - "grpc" + "kcp", + "ws", + "httpupgrade", + "xhttp", + "h2", + "quic", + "grpc" ]; public static readonly List KcpHeaderTypes = [ "srtp", - "utp", - "wechat-video", - "dtls", - "wireguard", - "dns" + "utp", + "wechat-video", + "dtls", + "wireguard", + "dns" ]; public static readonly List CoreTypes = [ "Xray", - "sing_box" + "sing_box" ]; public static readonly HashSet XraySupportConfigType = [ EConfigType.VMess, - EConfigType.VLESS, - EConfigType.Shadowsocks, - EConfigType.Trojan, - EConfigType.WireGuard, - EConfigType.SOCKS, - EConfigType.HTTP, + EConfigType.VLESS, + EConfigType.Shadowsocks, + EConfigType.Trojan, + EConfigType.WireGuard, + EConfigType.SOCKS, + EConfigType.HTTP, ]; public static readonly HashSet SingboxSupportConfigType = [ EConfigType.VMess, - EConfigType.VLESS, - EConfigType.Shadowsocks, - EConfigType.Trojan, - EConfigType.Hysteria2, - EConfigType.TUIC, - EConfigType.Anytls, - EConfigType.WireGuard, - EConfigType.SOCKS, - EConfigType.HTTP, + EConfigType.VLESS, + EConfigType.Shadowsocks, + EConfigType.Trojan, + EConfigType.Hysteria2, + EConfigType.TUIC, + EConfigType.Anytls, + EConfigType.WireGuard, + EConfigType.SOCKS, + EConfigType.HTTP, ]; public static readonly HashSet SingboxOnlyConfigType = SingboxSupportConfigType.Except(XraySupportConfigType).ToHashSet(); @@ -329,129 +331,129 @@ public class Global public static readonly List DomainStrategies4Singbox = [ "ipv4_only", - "ipv6_only", - "prefer_ipv4", - "prefer_ipv6", - "" + "ipv6_only", + "prefer_ipv4", + "prefer_ipv6", + "" ]; public static readonly List Fingerprints = [ "chrome", - "firefox", - "safari", - "ios", - "android", - "edge", - "360", - "qq", - "random", - "randomized", - "" + "firefox", + "safari", + "ios", + "android", + "edge", + "360", + "qq", + "random", + "randomized", + "" ]; public static readonly List UserAgent = [ "chrome", - "firefox", - "safari", - "edge", - "none" + "firefox", + "safari", + "edge", + "none" ]; public static readonly List XhttpMode = [ "auto", - "packet-up", - "stream-up", - "stream-one" + "packet-up", + "stream-up", + "stream-one" ]; public static readonly List AllowInsecure = [ "true", - "false", - "" + "false", + "" ]; public static readonly List DomainStrategy4Freedoms = [ "AsIs", - "UseIP", - "UseIPv4", - "UseIPv6", - "" + "UseIP", + "UseIPv4", + "UseIPv6", + "" ]; public static readonly List SingboxDomainStrategy4Out = [ "", - "ipv4_only", - "prefer_ipv4", - "prefer_ipv6", - "ipv6_only" + "ipv4_only", + "prefer_ipv4", + "prefer_ipv6", + "ipv6_only" ]; public static readonly List DomainDirectDNSAddress = [ "https://dns.alidns.com/dns-query", - "https://doh.pub/dns-query", - "223.5.5.5", - "119.29.29.29", - "localhost" + "https://doh.pub/dns-query", + "223.5.5.5", + "119.29.29.29", + "localhost" ]; public static readonly List DomainRemoteDNSAddress = [ "https://cloudflare-dns.com/dns-query", - "https://dns.cloudflare.com/dns-query", - "https://dns.google/dns-query", - "https://doh.dns.sb/dns-query", - "https://doh.opendns.com/dns-query", - "https://common.dot.dns.yandex.net", - "8.8.8.8", - "1.1.1.1", - "185.222.222.222", - "208.67.222.222", - "77.88.8.8" + "https://dns.cloudflare.com/dns-query", + "https://dns.google/dns-query", + "https://doh.dns.sb/dns-query", + "https://doh.opendns.com/dns-query", + "https://common.dot.dns.yandex.net", + "8.8.8.8", + "1.1.1.1", + "185.222.222.222", + "208.67.222.222", + "77.88.8.8" ]; public static readonly List DomainPureIPDNSAddress = [ "223.5.5.5", - "119.29.29.29", - "localhost" + "119.29.29.29", + "localhost" ]; public static readonly List Languages = [ "zh-Hans", - "zh-Hant", - "en", - "fa-Ir", - "fr", - "ru", - "hu" + "zh-Hant", + "en", + "fa-Ir", + "fr", + "ru", + "hu" ]; public static readonly List Alpns = [ "h3", - "h2", - "http/1.1", - "h3,h2", - "h2,http/1.1", - "h3,h2,http/1.1", - "" + "h2", + "http/1.1", + "h3,h2", + "h2,http/1.1", + "h3,h2,http/1.1", + "" ]; public static readonly List LogLevels = [ "debug", - "info", - "warning", - "error", - "none" + "info", + "warning", + "error", + "none" ]; public static readonly Dictionary LogLevelColors = new() @@ -465,32 +467,32 @@ public class Global public static readonly List InboundTags = [ "socks", - "socks2", - "socks3" + "socks2", + "socks3" ]; public static readonly List RuleProtocols = [ "http", - "tls", - "bittorrent" + "tls", + "bittorrent" ]; public static readonly List RuleNetworks = [ "", - "tcp", - "udp", - "tcp,udp" + "tcp", + "udp", + "tcp,udp" ]; public static readonly List destOverrideProtocols = [ "http", - "tls", - "quic", - "fakedns", - "fakedns+others" + "tls", + "quic", + "fakedns", + "fakedns+others" ]; public static readonly List TunMtus = @@ -506,83 +508,83 @@ public class Global public static readonly List TunStacks = [ "gvisor", - "system", - "mixed" + "system", + "mixed" ]; public static readonly List PresetMsgFilters = [ "proxy", - "direct", - "block", - "" + "direct", + "block", + "" ]; public static readonly List SingboxMuxs = [ "h2mux", - "smux", - "yamux", - "" + "smux", + "yamux", + "" ]; public static readonly List TuicCongestionControls = [ "cubic", - "new_reno", - "bbr" + "new_reno", + "bbr" ]; public static readonly List allowSelectType = [ "selector", - "urltest", - "loadbalance", - "fallback" + "urltest", + "loadbalance", + "fallback" ]; public static readonly List notAllowTestType = [ "selector", - "urltest", - "direct", - "reject", - "compatible", - "pass", - "loadbalance", - "fallback" + "urltest", + "direct", + "reject", + "compatible", + "pass", + "loadbalance", + "fallback" ]; public static readonly List proxyVehicleType = [ "file", - "http" + "http" ]; public static readonly Dictionary CoreUrls = new() - { - { ECoreType.v2fly, "v2fly/v2ray-core" }, - { ECoreType.v2fly_v5, "v2fly/v2ray-core" }, - { ECoreType.Xray, "XTLS/Xray-core" }, - { ECoreType.sing_box, "SagerNet/sing-box" }, - { ECoreType.mihomo, "MetaCubeX/mihomo" }, - { ECoreType.hysteria, "apernet/hysteria" }, - { ECoreType.hysteria2, "apernet/hysteria" }, - { ECoreType.naiveproxy, "klzgrad/naiveproxy" }, - { ECoreType.tuic, "EAimTY/tuic" }, - { ECoreType.juicity, "juicity/juicity" }, - { ECoreType.brook, "txthinking/brook" }, - { ECoreType.overtls, "ShadowsocksR-Live/overtls" }, - { ECoreType.shadowquic, "spongebob888/shadowquic" }, - { ECoreType.mieru, "enfein/mieru" }, - { ECoreType.v2rayN, "2dust/v2rayN" }, - }; + { + { ECoreType.v2fly, "v2fly/v2ray-core" }, + { ECoreType.v2fly_v5, "v2fly/v2ray-core" }, + { ECoreType.Xray, "XTLS/Xray-core" }, + { ECoreType.sing_box, "SagerNet/sing-box" }, + { ECoreType.mihomo, "MetaCubeX/mihomo" }, + { ECoreType.hysteria, "apernet/hysteria" }, + { ECoreType.hysteria2, "apernet/hysteria" }, + { ECoreType.naiveproxy, "klzgrad/naiveproxy" }, + { ECoreType.tuic, "EAimTY/tuic" }, + { ECoreType.juicity, "juicity/juicity" }, + { ECoreType.brook, "txthinking/brook" }, + { ECoreType.overtls, "ShadowsocksR-Live/overtls" }, + { ECoreType.shadowquic, "spongebob888/shadowquic" }, + { ECoreType.mieru, "enfein/mieru" }, + { ECoreType.v2rayN, "2dust/v2rayN" }, + }; public static readonly List OtherGeoUrls = [ @"https://raw.githubusercontent.com/Loyalsoldier/geoip/release/geoip-only-cn-private.dat", - @"https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country.mmdb", - @"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.metadb" + @"https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country.mmdb", + @"https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.metadb" ]; public static readonly List IPAPIUrls = @@ -602,36 +604,37 @@ public class Global ]; public static readonly Dictionary> PredefinedHosts = new() - { - { "dns.google", new List { "8.8.8.8", "8.8.4.4", "2001:4860:4860::8888", "2001:4860:4860::8844" } }, - { "dns.alidns.com", new List { "223.5.5.5", "223.6.6.6", "2400:3200::1", "2400:3200:baba::1" } }, - { "one.one.one.one", new List { "1.1.1.1", "1.0.0.1", "2606:4700:4700::1111", "2606:4700:4700::1001" } }, - { "1dot1dot1dot1.cloudflare-dns.com", new List { "1.1.1.1", "1.0.0.1", "2606:4700:4700::1111", "2606:4700:4700::1001" } }, - { "cloudflare-dns.com", new List { "104.16.249.249", "104.16.248.249", "2606:4700::6810:f8f9", "2606:4700::6810:f9f9" } }, - { "dns.cloudflare.com", new List { "104.16.132.229", "104.16.133.229", "2606:4700::6810:84e5", "2606:4700::6810:85e5" } }, - { "dot.pub", new List { "1.12.12.12", "120.53.53.53" } }, - { "doh.pub", new List { "1.12.12.12", "120.53.53.53" } }, - { "dns.quad9.net", new List { "9.9.9.9", "149.112.112.112", "2620:fe::fe", "2620:fe::9" } }, - { "dns.yandex.net", new List { "77.88.8.8", "77.88.8.1", "2a02:6b8::feed:0ff", "2a02:6b8:0:1::feed:0ff" } }, - { "dns.sb", new List { "185.222.222.222", "2a09::" } }, - { "dns.umbrella.com", new List { "208.67.220.220", "208.67.222.222", "2620:119:35::35", "2620:119:53::53" } }, - { "dns.sse.cisco.com", new List { "208.67.220.220", "208.67.222.222", "2620:119:35::35", "2620:119:53::53" } }, - { "engage.cloudflareclient.com", new List { "162.159.192.1", "2606:4700:d0::a29f:c001" } } - }; + { + { "dns.google", new List { "8.8.8.8", "8.8.4.4", "2001:4860:4860::8888", "2001:4860:4860::8844" } }, + { "dns.alidns.com", new List { "223.5.5.5", "223.6.6.6", "2400:3200::1", "2400:3200:baba::1" } }, + { "one.one.one.one", new List { "1.1.1.1", "1.0.0.1", "2606:4700:4700::1111", "2606:4700:4700::1001" } }, + { "1dot1dot1dot1.cloudflare-dns.com", new List { "1.1.1.1", "1.0.0.1", "2606:4700:4700::1111", "2606:4700:4700::1001" } }, + { "cloudflare-dns.com", new List { "104.16.249.249", "104.16.248.249", "2606:4700::6810:f8f9", "2606:4700::6810:f9f9" } }, + { "dns.cloudflare.com", new List { "104.16.132.229", "104.16.133.229", "2606:4700::6810:84e5", "2606:4700::6810:85e5" } }, + { "dot.pub", new List { "1.12.12.12", "120.53.53.53" } }, + { "doh.pub", new List { "1.12.12.12", "120.53.53.53" } }, + { "dns.quad9.net", new List { "9.9.9.9", "149.112.112.112", "2620:fe::fe", "2620:fe::9" } }, + { "dns.yandex.net", new List { "77.88.8.8", "77.88.8.1", "2a02:6b8::feed:0ff", "2a02:6b8:0:1::feed:0ff" } }, + { "dns.sb", new List { "185.222.222.222", "2a09::" } }, + { "dns.umbrella.com", new List { "208.67.220.220", "208.67.222.222", "2620:119:35::35", "2620:119:53::53" } }, + { "dns.sse.cisco.com", new List { "208.67.220.220", "208.67.222.222", "2620:119:35::35", "2620:119:53::53" } }, + { "engage.cloudflareclient.com", new List { "162.159.192.1", "2606:4700:d0::a29f:c001" } } + }; public static readonly List ExpectedIPs = [ "geoip:cn", - "geoip:ir", - "geoip:ru", - "" + "geoip:ir", + "geoip:ru", + "" ]; public static readonly List EchForceQuerys = [ - "none", - "half", - "full", + "none", + "half", + "full", + "" ]; #endregion const