From 26645906b1a4682f238ff2b18bca99c93ff0369b Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 00:46:37 +0300 Subject: [PATCH 01/46] feat: remove china iplists, added hwid support for happ --- .../resources/view/nikki/profile.js | 3 +- .../luci-static/resources/view/nikki/proxy.js | 6 - luci-app-nikki/po/templates/nikki.pot | 26 +- luci-app-nikki/po/zh_Hans/nikki.po | 12 +- luci-app-nikki/po/zh_Hant/nikki.po | 8 - nikki/Makefile | 3 - nikki/files/nftables/geoip6_cn.nft | 12812 ---------------- nikki/files/nftables/geoip_cn.nft | 7363 --------- nikki/files/nikki.conf | 4 +- nikki/files/nikki.init | 24 +- nikki/files/scripts/include.sh | 40 +- nikki/files/uci-defaults/migrate.sh | 4 - nikki/files/ucode/hijack.ut | 35 +- 13 files changed, 75 insertions(+), 20265 deletions(-) delete mode 100644 nikki/files/nftables/geoip6_cn.nft delete mode 100644 nikki/files/nftables/geoip_cn.nft diff --git a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js b/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js index 6b85fcf28a..90a0721a07 100644 --- a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js +++ b/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js @@ -71,10 +71,9 @@ return view.extend({ o.rmempty = false; o = s.option(form.Value, 'user_agent', _('User Agent')); - o.default = 'clash'; + o.default = 'clash.meta'; o.modalonly = true; o.rmempty = false; - o.value('clash'); o.value('clash.meta'); o.value('mihomo'); diff --git a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js b/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js index bba0b95949..4e1bc5517a 100644 --- a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js +++ b/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js @@ -170,12 +170,6 @@ return view.extend({ s.tab('bypass', _('Bypass')); - o = s.taboption('bypass', form.Flag, 'bypass_china_mainland_ip', _('Bypass China Mainland IP')); - o.rmempty = false; - - o = s.taboption('bypass', form.Flag, 'bypass_china_mainland_ip6', _('Bypass China Mainland IP6')); - o.rmempty = false; - o = s.taboption('bypass', form.Value, 'proxy_tcp_dport', _('Destination TCP Port to Proxy')); o.rmempty = false; o.value('0-65535', _('All Port')); diff --git a/luci-app-nikki/po/templates/nikki.pot b/luci-app-nikki/po/templates/nikki.pot index 1c0b906a79..157bba621e 100644 --- a/luci-app-nikki/po/templates/nikki.pot +++ b/luci-app-nikki/po/templates/nikki.pot @@ -72,19 +72,11 @@ msgstr "" msgid "Bypass" msgstr "" -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:173 -msgid "Bypass China Mainland IP" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:176 -msgid "Bypass China Mainland IP6" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:189 +#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:183 msgid "Bypass DSCP" msgstr "" -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:192 +#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:186 msgid "Bypass FWMark" msgstr "" @@ -105,8 +97,8 @@ msgstr "" msgid "Clear Log" msgstr "" -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:182 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:187 +#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:176 +#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:181 msgid "Commonly Used Port" msgstr "" @@ -167,11 +159,11 @@ msgstr "" msgid "Destination Port" msgstr "" -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:179 +#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:173 msgid "Destination TCP Port to Proxy" msgstr "" -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:184 +#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:178 msgid "Destination UDP Port to Proxy" msgstr "" @@ -733,11 +725,11 @@ msgstr "" msgid "Remote" msgstr "" -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:196 +#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:190 msgid "Reserved IP" msgstr "" -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:199 +#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:193 msgid "Reserved IP6" msgstr "" @@ -901,7 +893,7 @@ msgstr "" msgid "TUN Mode" msgstr "" -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:202 +#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:196 msgid "TUN Timeout" msgstr "" diff --git a/luci-app-nikki/po/zh_Hans/nikki.po b/luci-app-nikki/po/zh_Hans/nikki.po index 8505579675..de689edf1d 100644 --- a/luci-app-nikki/po/zh_Hans/nikki.po +++ b/luci-app-nikki/po/zh_Hans/nikki.po @@ -79,19 +79,11 @@ msgstr "黑名单模式" msgid "Bypass" msgstr "绕过" -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:173 -msgid "Bypass China Mainland IP" -msgstr "绕过中国大陆 IP" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:176 -msgid "Bypass China Mainland IP6" -msgstr "绕过中国大陆 IP6" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:189 +#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:183 msgid "Bypass DSCP" msgstr "绕过 DSCP" -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:192 +#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:186 msgid "Bypass FWMark" msgstr "绕过 FWMark" diff --git a/luci-app-nikki/po/zh_Hant/nikki.po b/luci-app-nikki/po/zh_Hant/nikki.po index cc40b23bdc..b19b62fb89 100644 --- a/luci-app-nikki/po/zh_Hant/nikki.po +++ b/luci-app-nikki/po/zh_Hant/nikki.po @@ -79,14 +79,6 @@ msgstr "黑名單模式" msgid "Bypass" msgstr "繞過" -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:173 -msgid "Bypass China Mainland IP" -msgstr "繞過中國大陸 IP" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:176 -msgid "Bypass China Mainland IP6" -msgstr "繞過中國大陸 IP6" - #: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:189 msgid "Bypass DSCP" msgstr "繞過 DSCP" diff --git a/nikki/Makefile b/nikki/Makefile index 1e75fbe271..66591d36d8 100644 --- a/nikki/Makefile +++ b/nikki/Makefile @@ -69,9 +69,6 @@ define Package/nikki/install $(INSTALL_BIN) $(CURDIR)/files/scripts/firewall_include.sh $(1)/etc/nikki/scripts/firewall_include.sh $(INSTALL_BIN) $(CURDIR)/files/scripts/debug.sh $(1)/etc/nikki/scripts/debug.sh - $(INSTALL_BIN) $(CURDIR)/files/nftables/geoip_cn.nft $(1)/etc/nikki/nftables/geoip_cn.nft - $(INSTALL_BIN) $(CURDIR)/files/nftables/geoip6_cn.nft $(1)/etc/nikki/nftables/geoip6_cn.nft - $(INSTALL_DIR) $(1)/etc/config $(INSTALL_CONF) $(CURDIR)/files/nikki.conf $(1)/etc/config/nikki diff --git a/nikki/files/nftables/geoip6_cn.nft b/nikki/files/nftables/geoip6_cn.nft deleted file mode 100644 index 6e77994a0a..0000000000 --- a/nikki/files/nftables/geoip6_cn.nft +++ /dev/null @@ -1,12812 +0,0 @@ -#!/usr/sbin/nft -f - -table inet nikki { - set china_ip6 { - type ipv6_addr - flags interval - elements = { - 2001:250::/30, - 2001:254::/31, - 2001:256::/32, - 2001:470:5:a::/64, - 2001:470:5:70::/64, - 2001:470:5:7a::/64, - 2001:470:5:101::/64, - 2001:470:5:120::/64, - 2001:470:5:124::/64, - 2001:470:5:130::/64, - 2001:470:5:135::/64, - 2001:470:5:14c::/64, - 2001:470:5:15a::/64, - 2001:470:5:175::/64, - 2001:470:5:184::/64, - 2001:470:5:18d::/64, - 2001:470:5:1a0::/64, - 2001:470:5:1ab::/64, - 2001:470:5:1af::/64, - 2001:470:5:1e8::/64, - 2001:470:5:20b::/64, - 2001:470:5:231::/64, - 2001:470:5:277::/64, - 2001:470:5:312::/64, - 2001:470:5:314::/64, - 2001:470:5:316::/64, - 2001:470:5:334::/64, - 2001:470:5:352::/64, - 2001:470:5:354::/64, - 2001:470:5:36b::/64, - 2001:470:5:36d::/64, - 2001:470:5:3a0::/64, - 2001:470:5:3bb::/64, - 2001:470:5:3c9::/64, - 2001:470:5:3d2::/64, - 2001:470:5:406::/64, - 2001:470:5:4e4::/64, - 2001:470:5:5ba::/64, - 2001:470:5:5d7::/64, - 2001:470:5:5fe::/64, - 2001:470:5:60f::/64, - 2001:470:5:db0::/64, - 2001:470:8:2::/64, - 2001:470:8:9::/64, - 2001:470:8:a::/64, - 2001:470:8:1f::/64, - 2001:470:8:21::/64, - 2001:470:8:28::/64, - 2001:470:8:3a::/64, - 2001:470:8:6e::/64, - 2001:470:8:90::/63, - 2001:470:8:99::/64, - 2001:470:8:a9::/64, - 2001:470:8:d6::/64, - 2001:470:8:d9::/64, - 2001:470:8:104::/64, - 2001:470:8:117::/64, - 2001:470:8:118::/64, - 2001:470:8:11c::/64, - 2001:470:8:12f::/64, - 2001:470:8:136::/64, - 2001:470:8:14e::/64, - 2001:470:8:15f::/64, - 2001:470:8:19a::/64, - 2001:470:8:1b5::/64, - 2001:470:8:1c8::/63, - 2001:470:8:1d8::/64, - 2001:470:8:1de::/64, - 2001:470:8:1e5::/64, - 2001:470:8:1f5::/64, - 2001:470:8:1fc::/64, - 2001:470:8:1ff::/64, - 2001:470:8:206::/64, - 2001:470:8:21d::/64, - 2001:470:8:226::/64, - 2001:470:8:235::/64, - 2001:470:8:246::/64, - 2001:470:8:252::/64, - 2001:470:8:257::/64, - 2001:470:8:258::/64, - 2001:470:8:25e::/64, - 2001:470:8:27d::/64, - 2001:470:8:291::/64, - 2001:470:8:297::/64, - 2001:470:8:2a6::/64, - 2001:470:8:2b0::/64, - 2001:470:8:2b3::/64, - 2001:470:8:2bb::/64, - 2001:470:8:2c6::/64, - 2001:470:8:2cc::/64, - 2001:470:8:2e2::/64, - 2001:470:8:2f7::/64, - 2001:470:8:2fa::/64, - 2001:470:8:301::/64, - 2001:470:8:302::/63, - 2001:470:8:305::/64, - 2001:470:8:308::/63, - 2001:470:8:311::/64, - 2001:470:8:319::/64, - 2001:470:8:324::/64, - 2001:470:8:327::/64, - 2001:470:8:33b::/64, - 2001:470:8:345::/64, - 2001:470:8:34d::/64, - 2001:470:8:34f::/64, - 2001:470:8:353::/64, - 2001:470:8:35d::/64, - 2001:470:8:370::/64, - 2001:470:8:37c::/64, - 2001:470:8:381::/64, - 2001:470:8:399::/64, - 2001:470:8:3b9::/64, - 2001:470:8:3bc::/64, - 2001:470:8:3be::/64, - 2001:470:8:3c3::/64, - 2001:470:8:3cb::/64, - 2001:470:8:3fb::/64, - 2001:470:8:41d::/64, - 2001:470:8:44e::/64, - 2001:470:8:45a::/64, - 2001:470:8:467::/64, - 2001:470:8:469::/64, - 2001:470:8:46d::/64, - 2001:470:8:46e::/64, - 2001:470:8:47a::/64, - 2001:470:8:493::/64, - 2001:470:8:4a6::/64, - 2001:470:8:4a9::/64, - 2001:470:8:4b0::/64, - 2001:470:8:4ce::/64, - 2001:470:8:4d7::/64, - 2001:470:8:4d9::/64, - 2001:470:8:4e0::/64, - 2001:470:8:4ef::/64, - 2001:470:8:527::/64, - 2001:470:8:52c::/64, - 2001:470:8:564::/64, - 2001:470:8:56a::/64, - 2001:470:8:574::/63, - 2001:470:8:577::/64, - 2001:470:8:579::/64, - 2001:470:8:71d::/64, - 2001:470:8:7d7::/64, - 2001:470:8:7e6::/64, - 2001:470:8:99a::/64, - 2001:470:8:c55::/64, - 2001:470:8:ddc::/64, - 2001:470:8:1171::/64, - 2001:470:b:8::/64, - 2001:470:b:b::/64, - 2001:470:b:14::/64, - 2001:470:b:17::/64, - 2001:470:b:1b::/64, - 2001:470:b:1c::/64, - 2001:470:b:1f::/64, - 2001:470:b:20::/64, - 2001:470:b:2e::/63, - 2001:470:b:35::/64, - 2001:470:b:3d::/64, - 2001:470:b:46::/64, - 2001:470:b:4a::/64, - 2001:470:b:4f::/64, - 2001:470:b:53::/64, - 2001:470:b:5d::/64, - 2001:470:b:6d::/64, - 2001:470:b:7c::/64, - 2001:470:b:89::/64, - 2001:470:b:92::/64, - 2001:470:b:95::/64, - 2001:470:b:96::/64, - 2001:470:b:ad::/64, - 2001:470:b:d8::/64, - 2001:470:b:e3::/64, - 2001:470:b:e5::/64, - 2001:470:b:e8::/64, - 2001:470:b:ec::/64, - 2001:470:b:f2::/64, - 2001:470:b:f9::/64, - 2001:470:b:fa::/64, - 2001:470:b:114::/64, - 2001:470:b:119::/64, - 2001:470:b:123::/64, - 2001:470:b:127::/64, - 2001:470:b:128::/64, - 2001:470:b:12e::/63, - 2001:470:b:132::/64, - 2001:470:b:13d::/64, - 2001:470:b:13e::/64, - 2001:470:b:146::/64, - 2001:470:b:15a::/64, - 2001:470:b:16d::/64, - 2001:470:b:181::/64, - 2001:470:b:188::/64, - 2001:470:b:18a::/64, - 2001:470:b:192::/63, - 2001:470:b:19d::/64, - 2001:470:b:1a7::/64, - 2001:470:b:1b9::/64, - 2001:470:b:1be::/64, - 2001:470:b:1c3::/64, - 2001:470:b:1c7::/64, - 2001:470:b:1d8::/64, - 2001:470:b:1de::/64, - 2001:470:b:1e1::/64, - 2001:470:b:1e2::/64, - 2001:470:b:1e6::/64, - 2001:470:b:1ee::/64, - 2001:470:b:1f1::/64, - 2001:470:b:1f2::/64, - 2001:470:b:1f5::/64, - 2001:470:b:1f7::/64, - 2001:470:b:1f9::/64, - 2001:470:b:20a::/64, - 2001:470:b:212::/64, - 2001:470:b:215::/64, - 2001:470:b:228::/64, - 2001:470:b:22e::/64, - 2001:470:b:25b::/64, - 2001:470:b:25c::/64, - 2001:470:b:25e::/64, - 2001:470:b:262::/64, - 2001:470:b:265::/64, - 2001:470:b:269::/64, - 2001:470:b:288::/64, - 2001:470:b:296::/63, - 2001:470:b:298::/64, - 2001:470:b:29e::/64, - 2001:470:b:2aa::/64, - 2001:470:b:2b6::/64, - 2001:470:b:2ba::/63, - 2001:470:b:2be::/64, - 2001:470:b:2c1::/64, - 2001:470:b:2c2::/64, - 2001:470:b:2c6::/64, - 2001:470:b:2ca::/64, - 2001:470:b:2cc::/64, - 2001:470:b:2cf::/64, - 2001:470:b:2d1::/64, - 2001:470:b:2d2::/64, - 2001:470:b:2da::/64, - 2001:470:b:2e5::/64, - 2001:470:b:2eb::/64, - 2001:470:b:2ec::/64, - 2001:470:b:2f2::/64, - 2001:470:b:2f9::/64, - 2001:470:b:2fc::/64, - 2001:470:b:2fe::/63, - 2001:470:b:302::/64, - 2001:470:b:304::/64, - 2001:470:b:308::/64, - 2001:470:b:30d::/64, - 2001:470:b:30e::/64, - 2001:470:b:316::/64, - 2001:470:b:31c::/64, - 2001:470:b:31f::/64, - 2001:470:b:32c::/64, - 2001:470:b:332::/64, - 2001:470:b:340::/64, - 2001:470:b:359::/64, - 2001:470:b:35f::/64, - 2001:470:b:362::/63, - 2001:470:b:368::/64, - 2001:470:b:377::/64, - 2001:470:b:37a::/64, - 2001:470:b:384::/64, - 2001:470:b:38f::/64, - 2001:470:b:392::/64, - 2001:470:b:3a8::/64, - 2001:470:b:3b0::/64, - 2001:470:b:3b4::/64, - 2001:470:b:3be::/63, - 2001:470:b:3c3::/64, - 2001:470:b:3c6::/64, - 2001:470:b:3cd::/64, - 2001:470:b:3d1::/64, - 2001:470:b:3d6::/64, - 2001:470:b:3da::/64, - 2001:470:b:3dc::/64, - 2001:470:b:3df::/64, - 2001:470:b:3ea::/64, - 2001:470:b:3f1::/64, - 2001:470:b:3fc::/64, - 2001:470:b:401::/64, - 2001:470:b:404::/64, - 2001:470:b:40b::/64, - 2001:470:b:40c::/64, - 2001:470:b:42a::/64, - 2001:470:b:42f::/64, - 2001:470:b:436::/64, - 2001:470:b:43c::/64, - 2001:470:b:460::/64, - 2001:470:b:468::/64, - 2001:470:b:46a::/63, - 2001:470:b:483::/64, - 2001:470:b:48b::/64, - 2001:470:b:491::/64, - 2001:470:b:493::/64, - 2001:470:b:4a8::/64, - 2001:470:b:4ad::/64, - 2001:470:b:4b3::/64, - 2001:470:b:4b5::/64, - 2001:470:b:4ba::/64, - 2001:470:b:4bc::/64, - 2001:470:b:4be::/64, - 2001:470:b:4d0::/64, - 2001:470:b:4db::/64, - 2001:470:b:4dc::/63, - 2001:470:b:4e4::/64, - 2001:470:b:4e6::/64, - 2001:470:b:4eb::/64, - 2001:470:b:4f0::/63, - 2001:470:b:4fe::/64, - 2001:470:b:509::/64, - 2001:470:b:517::/64, - 2001:470:b:521::/64, - 2001:470:b:527::/64, - 2001:470:b:538::/64, - 2001:470:b:55c::/64, - 2001:470:b:55e::/64, - 2001:470:b:569::/64, - 2001:470:b:576::/64, - 2001:470:b:579::/64, - 2001:470:b:57d::/64, - 2001:470:b:592::/64, - 2001:470:b:633::/64, - 2001:470:b:63a::/64, - 2001:470:b:6b8::/64, - 2001:470:b:739::/64, - 2001:470:b:7de::/64, - 2001:470:b:c8a::/64, - 2001:470:b:c9d::/64, - 2001:470:d:1::/64, - 2001:470:d:2::/63, - 2001:470:d:4::/64, - 2001:470:d:7::/64, - 2001:470:d:c::/63, - 2001:470:d:11::/64, - 2001:470:d:13::/64, - 2001:470:d:14::/63, - 2001:470:d:16::/64, - 2001:470:d:18::/64, - 2001:470:d:1b::/64, - 2001:470:d:1c::/64, - 2001:470:d:1e::/63, - 2001:470:d:20::/63, - 2001:470:d:22::/64, - 2001:470:d:24::/63, - 2001:470:d:27::/64, - 2001:470:d:2a::/63, - 2001:470:d:2c::/64, - 2001:470:d:2f::/64, - 2001:470:d:32::/63, - 2001:470:d:34::/64, - 2001:470:d:36::/63, - 2001:470:d:3a::/64, - 2001:470:d:3c::/64, - 2001:470:d:3e::/64, - 2001:470:d:40::/62, - 2001:470:d:46::/63, - 2001:470:d:49::/64, - 2001:470:d:4b::/64, - 2001:470:d:54::/63, - 2001:470:d:57::/64, - 2001:470:d:59::/64, - 2001:470:d:5a::/64, - 2001:470:d:5c::/64, - 2001:470:d:5e::/64, - 2001:470:d:61::/64, - 2001:470:d:62::/64, - 2001:470:d:66::/64, - 2001:470:d:6f::/64, - 2001:470:d:77::/64, - 2001:470:d:79::/64, - 2001:470:d:7b::/64, - 2001:470:d:81::/64, - 2001:470:d:82::/64, - 2001:470:d:84::/63, - 2001:470:d:87::/64, - 2001:470:d:88::/63, - 2001:470:d:8d::/64, - 2001:470:d:8f::/64, - 2001:470:d:90::/63, - 2001:470:d:94::/62, - 2001:470:d:99::/64, - 2001:470:d:9d::/64, - 2001:470:d:9e::/64, - 2001:470:d:a0::/63, - 2001:470:d:a3::/64, - 2001:470:d:a7::/64, - 2001:470:d:ab::/64, - 2001:470:d:b0::/64, - 2001:470:d:b2::/64, - 2001:470:d:b6::/64, - 2001:470:d:bc::/63, - 2001:470:d:c1::/64, - 2001:470:d:c3::/64, - 2001:470:d:c5::/64, - 2001:470:d:c7::/64, - 2001:470:d:cd::/64, - 2001:470:d:d1::/64, - 2001:470:d:d2::/63, - 2001:470:d:d4::/63, - 2001:470:d:d7::/64, - 2001:470:d:d8::/62, - 2001:470:d:dc::/64, - 2001:470:d:de::/64, - 2001:470:d:e0::/64, - 2001:470:d:e2::/64, - 2001:470:d:e4::/64, - 2001:470:d:eb::/64, - 2001:470:d:ec::/64, - 2001:470:d:ef::/64, - 2001:470:d:f0::/64, - 2001:470:d:f2::/64, - 2001:470:d:f4::/63, - 2001:470:d:f9::/64, - 2001:470:d:fa::/63, - 2001:470:d:fe::/63, - 2001:470:d:101::/64, - 2001:470:d:103::/64, - 2001:470:d:105::/64, - 2001:470:d:106::/63, - 2001:470:d:109::/64, - 2001:470:d:10a::/64, - 2001:470:d:10d::/64, - 2001:470:d:113::/64, - 2001:470:d:116::/63, - 2001:470:d:118::/64, - 2001:470:d:11d::/64, - 2001:470:d:11f::/64, - 2001:470:d:121::/64, - 2001:470:d:123::/64, - 2001:470:d:124::/63, - 2001:470:d:126::/64, - 2001:470:d:128::/63, - 2001:470:d:12a::/64, - 2001:470:d:12c::/63, - 2001:470:d:136::/63, - 2001:470:d:139::/64, - 2001:470:d:13d::/64, - 2001:470:d:13f::/64, - 2001:470:d:140::/64, - 2001:470:d:145::/64, - 2001:470:d:148::/63, - 2001:470:d:14a::/64, - 2001:470:d:14d::/64, - 2001:470:d:150::/63, - 2001:470:d:154::/64, - 2001:470:d:157::/64, - 2001:470:d:15c::/64, - 2001:470:d:15e::/64, - 2001:470:d:161::/64, - 2001:470:d:165::/64, - 2001:470:d:16d::/64, - 2001:470:d:16f::/64, - 2001:470:d:172::/64, - 2001:470:d:176::/64, - 2001:470:d:17a::/64, - 2001:470:d:17c::/64, - 2001:470:d:184::/63, - 2001:470:d:187::/64, - 2001:470:d:188::/64, - 2001:470:d:18a::/64, - 2001:470:d:18c::/64, - 2001:470:d:18e::/64, - 2001:470:d:190::/64, - 2001:470:d:194::/63, - 2001:470:d:198::/64, - 2001:470:d:19d::/64, - 2001:470:d:19e::/64, - 2001:470:d:1a6::/64, - 2001:470:d:1ad::/64, - 2001:470:d:1ae::/64, - 2001:470:d:1b0::/63, - 2001:470:d:1b3::/64, - 2001:470:d:1b4::/63, - 2001:470:d:1b9::/64, - 2001:470:d:1ba::/63, - 2001:470:d:1be::/64, - 2001:470:d:1c0::/64, - 2001:470:d:1c2::/64, - 2001:470:d:1c6::/64, - 2001:470:d:1c8::/64, - 2001:470:d:1cc::/64, - 2001:470:d:1d3::/64, - 2001:470:d:1d4::/63, - 2001:470:d:1d8::/64, - 2001:470:d:1dd::/64, - 2001:470:d:1de::/64, - 2001:470:d:1e2::/64, - 2001:470:d:1e6::/63, - 2001:470:d:1ea::/64, - 2001:470:d:1f0::/63, - 2001:470:d:1f4::/64, - 2001:470:d:1f7::/64, - 2001:470:d:1fc::/63, - 2001:470:d:202::/63, - 2001:470:d:205::/64, - 2001:470:d:206::/63, - 2001:470:d:20a::/64, - 2001:470:d:20d::/64, - 2001:470:d:20e::/64, - 2001:470:d:210::/63, - 2001:470:d:216::/64, - 2001:470:d:21e::/63, - 2001:470:d:221::/64, - 2001:470:d:222::/64, - 2001:470:d:225::/64, - 2001:470:d:227::/64, - 2001:470:d:229::/64, - 2001:470:d:22b::/64, - 2001:470:d:22c::/63, - 2001:470:d:232::/64, - 2001:470:d:234::/64, - 2001:470:d:236::/64, - 2001:470:d:239::/64, - 2001:470:d:23a::/63, - 2001:470:d:23f::/64, - 2001:470:d:241::/64, - 2001:470:d:243::/64, - 2001:470:d:245::/64, - 2001:470:d:246::/64, - 2001:470:d:24d::/64, - 2001:470:d:24e::/64, - 2001:470:d:250::/62, - 2001:470:d:255::/64, - 2001:470:d:25c::/62, - 2001:470:d:262::/63, - 2001:470:d:267::/64, - 2001:470:d:269::/64, - 2001:470:d:26e::/64, - 2001:470:d:272::/64, - 2001:470:d:275::/64, - 2001:470:d:276::/64, - 2001:470:d:279::/64, - 2001:470:d:27b::/64, - 2001:470:d:27c::/63, - 2001:470:d:27e::/64, - 2001:470:d:280::/64, - 2001:470:d:285::/64, - 2001:470:d:287::/64, - 2001:470:d:288::/63, - 2001:470:d:28b::/64, - 2001:470:d:28c::/63, - 2001:470:d:28f::/64, - 2001:470:d:291::/64, - 2001:470:d:294::/64, - 2001:470:d:296::/64, - 2001:470:d:29c::/62, - 2001:470:d:2a1::/64, - 2001:470:d:2a3::/64, - 2001:470:d:2a4::/63, - 2001:470:d:2a6::/64, - 2001:470:d:2aa::/64, - 2001:470:d:2ad::/64, - 2001:470:d:2ae::/63, - 2001:470:d:2b0::/64, - 2001:470:d:2b4::/64, - 2001:470:d:2b6::/64, - 2001:470:d:2b8::/64, - 2001:470:d:2bc::/64, - 2001:470:d:2c0::/63, - 2001:470:d:2c3::/64, - 2001:470:d:2c4::/64, - 2001:470:d:2c6::/64, - 2001:470:d:2c9::/64, - 2001:470:d:2cf::/64, - 2001:470:d:2d2::/64, - 2001:470:d:2d7::/64, - 2001:470:d:2da::/63, - 2001:470:d:2dd::/64, - 2001:470:d:2e2::/63, - 2001:470:d:2e5::/64, - 2001:470:d:2e7::/64, - 2001:470:d:2e9::/64, - 2001:470:d:2ea::/63, - 2001:470:d:2ec::/64, - 2001:470:d:2f1::/64, - 2001:470:d:2f3::/64, - 2001:470:d:2f4::/64, - 2001:470:d:2f6::/64, - 2001:470:d:2fb::/64, - 2001:470:d:2fc::/64, - 2001:470:d:2fe::/64, - 2001:470:d:305::/64, - 2001:470:d:309::/64, - 2001:470:d:30a::/64, - 2001:470:d:310::/63, - 2001:470:d:313::/64, - 2001:470:d:315::/64, - 2001:470:d:317::/64, - 2001:470:d:319::/64, - 2001:470:d:31d::/64, - 2001:470:d:320::/64, - 2001:470:d:326::/63, - 2001:470:d:328::/64, - 2001:470:d:32d::/64, - 2001:470:d:32f::/64, - 2001:470:d:330::/64, - 2001:470:d:333::/64, - 2001:470:d:334::/63, - 2001:470:d:33b::/64, - 2001:470:d:33c::/63, - 2001:470:d:341::/64, - 2001:470:d:344::/64, - 2001:470:d:349::/64, - 2001:470:d:34b::/64, - 2001:470:d:357::/64, - 2001:470:d:358::/63, - 2001:470:d:35d::/64, - 2001:470:d:35e::/63, - 2001:470:d:360::/63, - 2001:470:d:363::/64, - 2001:470:d:367::/64, - 2001:470:d:36b::/64, - 2001:470:d:36f::/64, - 2001:470:d:370::/64, - 2001:470:d:374::/63, - 2001:470:d:37f::/64, - 2001:470:d:380::/64, - 2001:470:d:385::/64, - 2001:470:d:38c::/64, - 2001:470:d:38e::/63, - 2001:470:d:398::/64, - 2001:470:d:39a::/63, - 2001:470:d:39e::/63, - 2001:470:d:3a0::/63, - 2001:470:d:3a3::/64, - 2001:470:d:3a5::/64, - 2001:470:d:3a8::/64, - 2001:470:d:3ad::/64, - 2001:470:d:3b3::/64, - 2001:470:d:3b5::/64, - 2001:470:d:3b6::/64, - 2001:470:d:3bf::/64, - 2001:470:d:3c3::/64, - 2001:470:d:3c4::/64, - 2001:470:d:3c6::/63, - 2001:470:d:3c9::/64, - 2001:470:d:3cc::/63, - 2001:470:d:3cf::/64, - 2001:470:d:3d4::/63, - 2001:470:d:3d7::/64, - 2001:470:d:3dd::/64, - 2001:470:d:3e4::/64, - 2001:470:d:3e8::/63, - 2001:470:d:3eb::/64, - 2001:470:d:3ed::/64, - 2001:470:d:3ef::/64, - 2001:470:d:3f0::/64, - 2001:470:d:3f3::/64, - 2001:470:d:3f4::/63, - 2001:470:d:3f7::/64, - 2001:470:d:3fb::/64, - 2001:470:d:3fc::/64, - 2001:470:d:3ff::/64, - 2001:470:d:401::/64, - 2001:470:d:408::/62, - 2001:470:d:40c::/63, - 2001:470:d:40e::/64, - 2001:470:d:412::/63, - 2001:470:d:421::/64, - 2001:470:d:426::/64, - 2001:470:d:42a::/63, - 2001:470:d:42d::/64, - 2001:470:d:42f::/64, - 2001:470:d:430::/63, - 2001:470:d:433::/64, - 2001:470:d:437::/64, - 2001:470:d:439::/64, - 2001:470:d:43a::/63, - 2001:470:d:43c::/64, - 2001:470:d:444::/64, - 2001:470:d:44a::/63, - 2001:470:d:44f::/64, - 2001:470:d:451::/64, - 2001:470:d:453::/64, - 2001:470:d:454::/64, - 2001:470:d:45b::/64, - 2001:470:d:462::/63, - 2001:470:d:468::/64, - 2001:470:d:46d::/64, - 2001:470:d:46e::/64, - 2001:470:d:473::/64, - 2001:470:d:476::/64, - 2001:470:d:478::/64, - 2001:470:d:47a::/63, - 2001:470:d:47c::/64, - 2001:470:d:47f::/64, - 2001:470:d:480::/63, - 2001:470:d:485::/64, - 2001:470:d:489::/64, - 2001:470:d:48a::/63, - 2001:470:d:492::/63, - 2001:470:d:49a::/63, - 2001:470:d:4a0::/64, - 2001:470:d:4a4::/64, - 2001:470:d:4a8::/63, - 2001:470:d:4ab::/64, - 2001:470:d:4ac::/64, - 2001:470:d:4ae::/63, - 2001:470:d:4b0::/64, - 2001:470:d:4b3::/64, - 2001:470:d:4b4::/64, - 2001:470:d:4bd::/64, - 2001:470:d:4be::/64, - 2001:470:d:4c2::/63, - 2001:470:d:4c9::/64, - 2001:470:d:4ca::/64, - 2001:470:d:4ce::/64, - 2001:470:d:4d1::/64, - 2001:470:d:4d2::/64, - 2001:470:d:4d5::/64, - 2001:470:d:4d9::/64, - 2001:470:d:4dd::/64, - 2001:470:d:4e0::/64, - 2001:470:d:4e2::/64, - 2001:470:d:4e5::/64, - 2001:470:d:4e7::/64, - 2001:470:d:4e8::/64, - 2001:470:d:4f1::/64, - 2001:470:d:4f2::/64, - 2001:470:d:4f6::/63, - 2001:470:d:500::/64, - 2001:470:d:502::/64, - 2001:470:d:504::/64, - 2001:470:d:507::/64, - 2001:470:d:509::/64, - 2001:470:d:50a::/63, - 2001:470:d:50c::/63, - 2001:470:d:50e::/64, - 2001:470:d:512::/64, - 2001:470:d:51a::/63, - 2001:470:d:51c::/64, - 2001:470:d:520::/64, - 2001:470:d:522::/63, - 2001:470:d:52a::/64, - 2001:470:d:52f::/64, - 2001:470:d:530::/62, - 2001:470:d:534::/64, - 2001:470:d:537::/64, - 2001:470:d:539::/64, - 2001:470:d:53c::/64, - 2001:470:d:53f::/64, - 2001:470:d:540::/63, - 2001:470:d:542::/64, - 2001:470:d:547::/64, - 2001:470:d:549::/64, - 2001:470:d:54b::/64, - 2001:470:d:54c::/64, - 2001:470:d:54e::/63, - 2001:470:d:555::/64, - 2001:470:d:556::/64, - 2001:470:d:558::/64, - 2001:470:d:55d::/64, - 2001:470:d:55e::/63, - 2001:470:d:560::/62, - 2001:470:d:566::/64, - 2001:470:d:569::/64, - 2001:470:d:56a::/64, - 2001:470:d:56d::/64, - 2001:470:d:56e::/64, - 2001:470:d:570::/64, - 2001:470:d:575::/64, - 2001:470:d:576::/64, - 2001:470:d:578::/63, - 2001:470:d:57c::/64, - 2001:470:d:57e::/64, - 2001:470:d:580::/64, - 2001:470:d:584::/64, - 2001:470:d:586::/63, - 2001:470:d:588::/63, - 2001:470:d:58b::/64, - 2001:470:d:592::/64, - 2001:470:d:594::/64, - 2001:470:d:596::/63, - 2001:470:d:598::/64, - 2001:470:d:59b::/64, - 2001:470:d:59c::/64, - 2001:470:d:59f::/64, - 2001:470:d:5a0::/62, - 2001:470:d:5ab::/64, - 2001:470:d:5ad::/64, - 2001:470:d:5b0::/62, - 2001:470:d:5b8::/62, - 2001:470:d:5bc::/64, - 2001:470:d:5be::/64, - 2001:470:d:5c4::/63, - 2001:470:d:5c8::/64, - 2001:470:d:5ca::/64, - 2001:470:d:5cc::/64, - 2001:470:d:5ce::/64, - 2001:470:d:5d2::/64, - 2001:470:d:5d4::/64, - 2001:470:d:5d6::/63, - 2001:470:d:5d9::/64, - 2001:470:d:5de::/64, - 2001:470:d:5e2::/64, - 2001:470:d:5e6::/63, - 2001:470:d:5e9::/64, - 2001:470:d:5ef::/64, - 2001:470:d:5f1::/64, - 2001:470:d:5f3::/64, - 2001:470:d:5f5::/64, - 2001:470:d:5f6::/63, - 2001:470:d:5f9::/64, - 2001:470:d:5fc::/64, - 2001:470:d:601::/64, - 2001:470:d:605::/64, - 2001:470:d:607::/64, - 2001:470:d:60c::/62, - 2001:470:d:611::/64, - 2001:470:d:613::/64, - 2001:470:d:614::/64, - 2001:470:d:617::/64, - 2001:470:d:618::/63, - 2001:470:d:61a::/64, - 2001:470:d:61c::/63, - 2001:470:d:621::/64, - 2001:470:d:622::/63, - 2001:470:d:624::/64, - 2001:470:d:626::/63, - 2001:470:d:62a::/64, - 2001:470:d:62c::/64, - 2001:470:d:62f::/64, - 2001:470:d:630::/63, - 2001:470:d:636::/64, - 2001:470:d:638::/63, - 2001:470:d:63d::/64, - 2001:470:d:640::/64, - 2001:470:d:643::/64, - 2001:470:d:64c::/63, - 2001:470:d:658::/64, - 2001:470:d:65a::/63, - 2001:470:d:661::/64, - 2001:470:d:667::/64, - 2001:470:d:66c::/63, - 2001:470:d:66f::/64, - 2001:470:d:671::/64, - 2001:470:d:677::/64, - 2001:470:d:678::/64, - 2001:470:d:67b::/64, - 2001:470:d:680::/64, - 2001:470:d:682::/63, - 2001:470:d:684::/63, - 2001:470:d:688::/63, - 2001:470:d:68c::/64, - 2001:470:d:68e::/64, - 2001:470:d:691::/64, - 2001:470:d:693::/64, - 2001:470:d:695::/64, - 2001:470:d:69a::/63, - 2001:470:d:69c::/63, - 2001:470:d:69e::/64, - 2001:470:d:6a3::/64, - 2001:470:d:6a5::/64, - 2001:470:d:6a8::/64, - 2001:470:d:6ab::/64, - 2001:470:d:6ad::/64, - 2001:470:d:6ae::/64, - 2001:470:d:6b1::/64, - 2001:470:d:6b3::/64, - 2001:470:d:6b7::/64, - 2001:470:d:6bd::/64, - 2001:470:d:6bf::/64, - 2001:470:d:6c2::/63, - 2001:470:d:6c4::/64, - 2001:470:d:6c7::/64, - 2001:470:d:6c8::/64, - 2001:470:d:6cb::/64, - 2001:470:d:6cf::/64, - 2001:470:d:6d0::/64, - 2001:470:d:6d2::/63, - 2001:470:d:6d4::/64, - 2001:470:d:6d8::/63, - 2001:470:d:6de::/63, - 2001:470:d:6e0::/64, - 2001:470:d:6e6::/64, - 2001:470:d:6e8::/64, - 2001:470:d:6ea::/63, - 2001:470:d:6f4::/63, - 2001:470:d:6f7::/64, - 2001:470:d:6f9::/64, - 2001:470:d:6fc::/63, - 2001:470:d:700::/64, - 2001:470:d:706::/63, - 2001:470:d:709::/64, - 2001:470:d:70d::/64, - 2001:470:d:70f::/64, - 2001:470:d:712::/64, - 2001:470:d:714::/64, - 2001:470:d:716::/63, - 2001:470:d:718::/63, - 2001:470:d:71c::/64, - 2001:470:d:71f::/64, - 2001:470:d:721::/64, - 2001:470:d:722::/64, - 2001:470:d:725::/64, - 2001:470:d:726::/64, - 2001:470:d:72c::/64, - 2001:470:d:731::/64, - 2001:470:d:735::/64, - 2001:470:d:736::/63, - 2001:470:d:73b::/64, - 2001:470:d:741::/64, - 2001:470:d:743::/64, - 2001:470:d:744::/64, - 2001:470:d:747::/64, - 2001:470:d:749::/64, - 2001:470:d:74a::/63, - 2001:470:d:74c::/64, - 2001:470:d:74e::/63, - 2001:470:d:753::/64, - 2001:470:d:754::/64, - 2001:470:d:756::/63, - 2001:470:d:758::/64, - 2001:470:d:75c::/64, - 2001:470:d:75e::/63, - 2001:470:d:764::/64, - 2001:470:d:767::/64, - 2001:470:d:768::/62, - 2001:470:d:76d::/64, - 2001:470:d:76e::/64, - 2001:470:d:774::/64, - 2001:470:d:776::/64, - 2001:470:d:77a::/64, - 2001:470:d:782::/64, - 2001:470:d:786::/63, - 2001:470:d:788::/64, - 2001:470:d:797::/64, - 2001:470:d:7a2::/64, - 2001:470:d:7a7::/64, - 2001:470:d:7a9::/64, - 2001:470:d:7aa::/63, - 2001:470:d:7ac::/64, - 2001:470:d:7ae::/63, - 2001:470:d:7b0::/64, - 2001:470:d:7b2::/64, - 2001:470:d:7b5::/64, - 2001:470:d:7b7::/64, - 2001:470:d:7bd::/64, - 2001:470:d:7c2::/63, - 2001:470:d:7ca::/64, - 2001:470:d:7ce::/64, - 2001:470:d:7d0::/64, - 2001:470:d:7d4::/64, - 2001:470:d:7d8::/64, - 2001:470:d:7dc::/64, - 2001:470:d:7e2::/64, - 2001:470:d:7e4::/64, - 2001:470:d:7e6::/64, - 2001:470:d:7e8::/63, - 2001:470:d:7ec::/63, - 2001:470:d:7f2::/64, - 2001:470:d:7f4::/62, - 2001:470:d:7f8::/63, - 2001:470:d:7fb::/64, - 2001:470:d:7ff::/64, - 2001:470:d:802::/63, - 2001:470:d:805::/64, - 2001:470:d:806::/63, - 2001:470:d:809::/64, - 2001:470:d:80a::/64, - 2001:470:d:80c::/64, - 2001:470:d:80f::/64, - 2001:470:d:810::/64, - 2001:470:d:812::/63, - 2001:470:d:814::/62, - 2001:470:d:818::/64, - 2001:470:d:81b::/64, - 2001:470:d:81c::/63, - 2001:470:d:822::/63, - 2001:470:d:825::/64, - 2001:470:d:828::/64, - 2001:470:d:82d::/64, - 2001:470:d:82e::/63, - 2001:470:d:830::/63, - 2001:470:d:835::/64, - 2001:470:d:836::/64, - 2001:470:d:839::/64, - 2001:470:d:83a::/63, - 2001:470:d:83c::/64, - 2001:470:d:841::/64, - 2001:470:d:842::/64, - 2001:470:d:844::/63, - 2001:470:d:846::/64, - 2001:470:d:851::/64, - 2001:470:d:853::/64, - 2001:470:d:855::/64, - 2001:470:d:858::/63, - 2001:470:d:85a::/64, - 2001:470:d:85f::/64, - 2001:470:d:860::/63, - 2001:470:d:864::/64, - 2001:470:d:869::/64, - 2001:470:d:86a::/64, - 2001:470:d:86c::/64, - 2001:470:d:873::/64, - 2001:470:d:876::/63, - 2001:470:d:87a::/64, - 2001:470:d:87e::/64, - 2001:470:d:882::/63, - 2001:470:d:884::/64, - 2001:470:d:889::/64, - 2001:470:d:88d::/64, - 2001:470:d:891::/64, - 2001:470:d:892::/63, - 2001:470:d:898::/63, - 2001:470:d:89a::/64, - 2001:470:d:89f::/64, - 2001:470:d:8a3::/64, - 2001:470:d:8a6::/63, - 2001:470:d:8a8::/63, - 2001:470:d:8ac::/63, - 2001:470:d:8b6::/64, - 2001:470:d:8bb::/64, - 2001:470:d:8bc::/64, - 2001:470:d:8c2::/63, - 2001:470:d:8c4::/64, - 2001:470:d:8c8::/64, - 2001:470:d:8cb::/64, - 2001:470:d:8cf::/64, - 2001:470:d:8d0::/63, - 2001:470:d:8d2::/64, - 2001:470:d:8d4::/63, - 2001:470:d:8d7::/64, - 2001:470:d:8d8::/64, - 2001:470:d:8db::/64, - 2001:470:d:8dd::/64, - 2001:470:d:8de::/63, - 2001:470:d:8e1::/64, - 2001:470:d:8e2::/64, - 2001:470:d:8e4::/62, - 2001:470:d:8e8::/63, - 2001:470:d:8f0::/64, - 2001:470:d:8f2::/64, - 2001:470:d:8fa::/63, - 2001:470:d:8fd::/64, - 2001:470:d:902::/64, - 2001:470:d:904::/62, - 2001:470:d:90b::/64, - 2001:470:d:90d::/64, - 2001:470:d:916::/63, - 2001:470:d:91b::/64, - 2001:470:d:91c::/64, - 2001:470:d:91f::/64, - 2001:470:d:926::/63, - 2001:470:d:92a::/64, - 2001:470:d:92d::/64, - 2001:470:d:92f::/64, - 2001:470:d:933::/64, - 2001:470:d:934::/64, - 2001:470:d:936::/64, - 2001:470:d:938::/64, - 2001:470:d:942::/64, - 2001:470:d:947::/64, - 2001:470:d:948::/64, - 2001:470:d:94b::/64, - 2001:470:d:94c::/64, - 2001:470:d:94e::/64, - 2001:470:d:950::/64, - 2001:470:d:952::/64, - 2001:470:d:954::/63, - 2001:470:d:95a::/64, - 2001:470:d:95c::/64, - 2001:470:d:95e::/64, - 2001:470:d:960::/63, - 2001:470:d:964::/63, - 2001:470:d:967::/64, - 2001:470:d:968::/64, - 2001:470:d:96c::/63, - 2001:470:d:96e::/64, - 2001:470:d:973::/64, - 2001:470:d:974::/63, - 2001:470:d:979::/64, - 2001:470:d:97d::/64, - 2001:470:d:97f::/64, - 2001:470:d:986::/63, - 2001:470:d:988::/64, - 2001:470:d:98b::/64, - 2001:470:d:98c::/64, - 2001:470:d:992::/64, - 2001:470:d:997::/64, - 2001:470:d:998::/63, - 2001:470:d:99c::/64, - 2001:470:d:99e::/64, - 2001:470:d:9ab::/64, - 2001:470:d:9b4::/64, - 2001:470:d:9ba::/63, - 2001:470:d:9c6::/64, - 2001:470:d:9c9::/64, - 2001:470:d:9ca::/64, - 2001:470:d:9d0::/64, - 2001:470:d:9d6::/63, - 2001:470:d:9dc::/64, - 2001:470:d:9de::/63, - 2001:470:d:9e0::/64, - 2001:470:d:9e4::/63, - 2001:470:d:9ea::/64, - 2001:470:d:9ee::/64, - 2001:470:d:9fe::/64, - 2001:470:d:a01::/64, - 2001:470:d:a05::/64, - 2001:470:d:a0c::/64, - 2001:470:d:a16::/64, - 2001:470:d:a1a::/63, - 2001:470:d:a1e::/64, - 2001:470:d:a20::/64, - 2001:470:d:a25::/64, - 2001:470:d:a26::/63, - 2001:470:d:a28::/63, - 2001:470:d:a2f::/64, - 2001:470:d:a32::/64, - 2001:470:d:a34::/64, - 2001:470:d:a40::/64, - 2001:470:d:a42::/64, - 2001:470:d:a45::/64, - 2001:470:d:a47::/64, - 2001:470:d:a4a::/63, - 2001:470:d:a4f::/64, - 2001:470:d:a51::/64, - 2001:470:d:a57::/64, - 2001:470:d:a61::/64, - 2001:470:d:a67::/64, - 2001:470:d:a6e::/64, - 2001:470:d:a8b::/64, - 2001:470:d:a8c::/64, - 2001:470:d:a9b::/64, - 2001:470:d:aa0::/64, - 2001:470:d:aa2::/63, - 2001:470:d:aa6::/64, - 2001:470:d:aaf::/64, - 2001:470:d:ab1::/64, - 2001:470:d:abc::/64, - 2001:470:d:ac1::/64, - 2001:470:d:ac2::/64, - 2001:470:d:ac6::/64, - 2001:470:d:ac8::/63, - 2001:470:d:acc::/64, - 2001:470:d:ad0::/63, - 2001:470:d:ad5::/64, - 2001:470:d:adc::/64, - 2001:470:d:ae2::/64, - 2001:470:d:ae6::/64, - 2001:470:d:aef::/64, - 2001:470:d:af1::/64, - 2001:470:d:af5::/64, - 2001:470:d:af7::/64, - 2001:470:d:af8::/64, - 2001:470:d:aff::/64, - 2001:470:d:b07::/64, - 2001:470:d:b10::/64, - 2001:470:d:b16::/63, - 2001:470:d:b2f::/64, - 2001:470:d:b35::/64, - 2001:470:d:b3c::/62, - 2001:470:d:b44::/64, - 2001:470:d:b46::/64, - 2001:470:d:b5a::/64, - 2001:470:d:b5d::/64, - 2001:470:d:b5e::/64, - 2001:470:d:b66::/64, - 2001:470:d:b69::/64, - 2001:470:d:b6a::/64, - 2001:470:d:b6c::/64, - 2001:470:d:b71::/64, - 2001:470:d:b72::/64, - 2001:470:d:b75::/64, - 2001:470:d:b87::/64, - 2001:470:d:b8a::/64, - 2001:470:d:ba6::/64, - 2001:470:d:bae::/64, - 2001:470:d:bb2::/63, - 2001:470:d:bb4::/64, - 2001:470:d:bb6::/64, - 2001:470:d:bba::/64, - 2001:470:d:bc0::/64, - 2001:470:d:bc3::/64, - 2001:470:d:bcb::/64, - 2001:470:d:bce::/64, - 2001:470:d:bd2::/63, - 2001:470:d:bd4::/64, - 2001:470:d:bdc::/64, - 2001:470:d:be3::/64, - 2001:470:d:be4::/64, - 2001:470:d:be9::/64, - 2001:470:d:bea::/64, - 2001:470:d:bec::/64, - 2001:470:d:bef::/64, - 2001:470:d:bf8::/64, - 2001:470:d:bfa::/64, - 2001:470:d:bfc::/64, - 2001:470:d:c00::/64, - 2001:470:d:c07::/64, - 2001:470:d:c08::/63, - 2001:470:d:c0c::/64, - 2001:470:d:c0e::/64, - 2001:470:d:c10::/64, - 2001:470:d:c14::/63, - 2001:470:d:c19::/64, - 2001:470:d:c1c::/64, - 2001:470:d:c20::/64, - 2001:470:d:c23::/64, - 2001:470:d:c28::/64, - 2001:470:d:c2d::/64, - 2001:470:d:c2f::/64, - 2001:470:d:c38::/63, - 2001:470:d:c3a::/64, - 2001:470:d:c46::/63, - 2001:470:d:c4a::/63, - 2001:470:d:c51::/64, - 2001:470:d:c59::/64, - 2001:470:d:c66::/64, - 2001:470:d:c68::/64, - 2001:470:d:c6a::/63, - 2001:470:d:c6c::/64, - 2001:470:d:c72::/64, - 2001:470:d:c76::/64, - 2001:470:d:c7a::/64, - 2001:470:d:c7f::/64, - 2001:470:d:c83::/64, - 2001:470:d:c85::/64, - 2001:470:d:c88::/64, - 2001:470:d:c94::/64, - 2001:470:d:ca3::/64, - 2001:470:d:ca5::/64, - 2001:470:d:cac::/63, - 2001:470:d:cb0::/64, - 2001:470:d:cb3::/64, - 2001:470:d:cb7::/64, - 2001:470:d:cbd::/64, - 2001:470:d:cc2::/64, - 2001:470:d:cce::/63, - 2001:470:d:cd6::/63, - 2001:470:d:cd8::/64, - 2001:470:d:cdf::/64, - 2001:470:d:cfd::/64, - 2001:470:d:d01::/64, - 2001:470:d:d0f::/64, - 2001:470:d:d10::/64, - 2001:470:d:d1b::/64, - 2001:470:d:d1e::/63, - 2001:470:d:d26::/64, - 2001:470:d:d29::/64, - 2001:470:d:d2d::/64, - 2001:470:d:d30::/64, - 2001:470:d:d39::/64, - 2001:470:d:d44::/64, - 2001:470:d:d4d::/64, - 2001:470:d:d4e::/64, - 2001:470:d:d56::/64, - 2001:470:d:d63::/64, - 2001:470:d:d68::/64, - 2001:470:d:d6f::/64, - 2001:470:d:d7b::/64, - 2001:470:d:d7c::/64, - 2001:470:d:d7f::/64, - 2001:470:d:d83::/64, - 2001:470:d:d86::/64, - 2001:470:d:d89::/64, - 2001:470:d:d90::/64, - 2001:470:d:d93::/64, - 2001:470:d:d99::/64, - 2001:470:d:d9e::/64, - 2001:470:d:da7::/64, - 2001:470:d:da8::/64, - 2001:470:d:db1::/64, - 2001:470:d:db2::/64, - 2001:470:d:dba::/63, - 2001:470:d:dc3::/64, - 2001:470:d:dc5::/64, - 2001:470:d:dc9::/64, - 2001:470:d:dce::/64, - 2001:470:d:dd8::/64, - 2001:470:d:de3::/64, - 2001:470:d:de5::/64, - 2001:470:d:de6::/63, - 2001:470:d:dea::/64, - 2001:470:d:dec::/64, - 2001:470:d:def::/64, - 2001:470:d:df2::/64, - 2001:470:d:df7::/64, - 2001:470:d:dfe::/64, - 2001:470:d:e02::/63, - 2001:470:d:e05::/64, - 2001:470:d:e09::/64, - 2001:470:d:e0c::/64, - 2001:470:d:e0e::/64, - 2001:470:d:e10::/64, - 2001:470:d:e16::/64, - 2001:470:d:e19::/64, - 2001:470:d:e1f::/64, - 2001:470:d:e23::/64, - 2001:470:d:e25::/64, - 2001:470:d:e2b::/64, - 2001:470:d:e2c::/63, - 2001:470:d:e35::/64, - 2001:470:d:e37::/64, - 2001:470:d:e3b::/64, - 2001:470:d:e3f::/64, - 2001:470:d:e43::/64, - 2001:470:d:e48::/64, - 2001:470:d:e4c::/64, - 2001:470:d:e50::/64, - 2001:470:d:e55::/64, - 2001:470:d:e57::/64, - 2001:470:d:e58::/64, - 2001:470:d:e5d::/64, - 2001:470:d:e64::/63, - 2001:470:d:e6b::/64, - 2001:470:d:e6e::/63, - 2001:470:d:e7c::/64, - 2001:470:d:e81::/64, - 2001:470:d:e83::/64, - 2001:470:d:e87::/64, - 2001:470:d:e8a::/64, - 2001:470:d:e8d::/64, - 2001:470:d:e8e::/64, - 2001:470:d:e90::/63, - 2001:470:d:e98::/64, - 2001:470:d:ea6::/64, - 2001:470:d:eaa::/64, - 2001:470:d:eae::/64, - 2001:470:d:eb0::/64, - 2001:470:d:eb6::/64, - 2001:470:d:ebf::/64, - 2001:470:d:ec6::/64, - 2001:470:d:ec8::/64, - 2001:470:d:ece::/63, - 2001:470:d:ed4::/63, - 2001:470:d:ed6::/64, - 2001:470:d:eda::/64, - 2001:470:d:ede::/64, - 2001:470:d:ee3::/64, - 2001:470:d:ee8::/64, - 2001:470:d:eef::/64, - 2001:470:d:ef2::/64, - 2001:470:d:ef4::/64, - 2001:470:d:efa::/64, - 2001:470:d:f03::/64, - 2001:470:d:f07::/64, - 2001:470:d:f09::/64, - 2001:470:d:f0c::/64, - 2001:470:d:f15::/64, - 2001:470:d:f16::/63, - 2001:470:d:f1a::/64, - 2001:470:d:f1d::/64, - 2001:470:d:f22::/64, - 2001:470:d:f24::/64, - 2001:470:d:f26::/63, - 2001:470:d:f28::/64, - 2001:470:d:f2a::/63, - 2001:470:d:f30::/62, - 2001:470:d:f3b::/64, - 2001:470:d:f3d::/64, - 2001:470:d:f45::/64, - 2001:470:d:f4c::/63, - 2001:470:d:f4f::/64, - 2001:470:d:f50::/64, - 2001:470:d:f55::/64, - 2001:470:d:f57::/64, - 2001:470:d:f59::/64, - 2001:470:d:f5b::/64, - 2001:470:d:f5f::/64, - 2001:470:d:f68::/64, - 2001:470:d:f6a::/64, - 2001:470:d:f6c::/63, - 2001:470:d:f70::/64, - 2001:470:d:f75::/64, - 2001:470:d:f79::/64, - 2001:470:d:f7b::/64, - 2001:470:d:f82::/64, - 2001:470:d:f85::/64, - 2001:470:d:f88::/63, - 2001:470:d:f8f::/64, - 2001:470:d:f93::/64, - 2001:470:d:f95::/64, - 2001:470:d:f9a::/64, - 2001:470:d:f9c::/64, - 2001:470:d:f9f::/64, - 2001:470:d:fa5::/64, - 2001:470:d:fa7::/64, - 2001:470:d:fa9::/64, - 2001:470:d:faa::/64, - 2001:470:d:fae::/63, - 2001:470:d:fb0::/63, - 2001:470:d:fb7::/64, - 2001:470:d:fc5::/64, - 2001:470:d:fcb::/64, - 2001:470:d:fcd::/64, - 2001:470:d:fce::/64, - 2001:470:d:fd0::/64, - 2001:470:d:fd2::/63, - 2001:470:d:fd4::/63, - 2001:470:d:fd7::/64, - 2001:470:d:fd9::/64, - 2001:470:d:fda::/64, - 2001:470:d:fde::/64, - 2001:470:d:fe1::/64, - 2001:470:d:fe5::/64, - 2001:470:d:fef::/64, - 2001:470:d:ffa::/64, - 2001:470:d:ffd::/64, - 2001:470:d:ffe::/64, - 2001:470:d:1001::/64, - 2001:470:d:1004::/64, - 2001:470:d:100a::/63, - 2001:470:d:100e::/64, - 2001:470:d:1010::/64, - 2001:470:d:1018::/64, - 2001:470:d:101b::/64, - 2001:470:d:101d::/64, - 2001:470:d:1024::/63, - 2001:470:d:1027::/64, - 2001:470:d:102a::/63, - 2001:470:d:102c::/64, - 2001:470:d:102f::/64, - 2001:470:d:1037::/64, - 2001:470:d:1039::/64, - 2001:470:d:103f::/64, - 2001:470:d:1040::/63, - 2001:470:d:1046::/63, - 2001:470:d:1049::/64, - 2001:470:d:104a::/64, - 2001:470:d:1051::/64, - 2001:470:d:1055::/64, - 2001:470:d:1059::/64, - 2001:470:d:105b::/64, - 2001:470:d:105e::/64, - 2001:470:d:1067::/64, - 2001:470:d:106e::/64, - 2001:470:d:1071::/64, - 2001:470:d:1074::/64, - 2001:470:d:1078::/63, - 2001:470:d:107c::/64, - 2001:470:d:1087::/64, - 2001:470:d:1088::/64, - 2001:470:d:108a::/64, - 2001:470:d:108d::/64, - 2001:470:d:1091::/64, - 2001:470:d:1093::/64, - 2001:470:d:1094::/64, - 2001:470:d:1099::/64, - 2001:470:d:109c::/64, - 2001:470:d:109f::/64, - 2001:470:d:10a0::/64, - 2001:470:d:10a2::/63, - 2001:470:d:10a4::/64, - 2001:470:d:10a6::/63, - 2001:470:d:10ac::/63, - 2001:470:d:10b0::/64, - 2001:470:d:10b3::/64, - 2001:470:d:10b8::/64, - 2001:470:d:10ba::/64, - 2001:470:d:10be::/64, - 2001:470:d:10c0::/63, - 2001:470:d:10c3::/64, - 2001:470:d:10c5::/64, - 2001:470:d:10c9::/64, - 2001:470:d:10d4::/64, - 2001:470:d:10d6::/64, - 2001:470:d:10da::/64, - 2001:470:d:10de::/64, - 2001:470:d:10e1::/64, - 2001:470:d:10e2::/64, - 2001:470:d:10e5::/64, - 2001:470:d:10ec::/64, - 2001:470:d:10ee::/64, - 2001:470:d:10f2::/64, - 2001:470:d:10f5::/64, - 2001:470:d:10f6::/64, - 2001:470:d:1101::/64, - 2001:470:d:1103::/64, - 2001:470:d:1106::/64, - 2001:470:d:1109::/64, - 2001:470:d:110d::/64, - 2001:470:d:1111::/64, - 2001:470:d:1113::/64, - 2001:470:d:1114::/64, - 2001:470:d:1117::/64, - 2001:470:d:111c::/64, - 2001:470:d:111f::/64, - 2001:470:d:1126::/64, - 2001:470:d:1128::/64, - 2001:470:d:112c::/64, - 2001:470:d:1132::/64, - 2001:470:d:113e::/64, - 2001:470:d:1144::/63, - 2001:470:d:1148::/64, - 2001:470:d:114b::/64, - 2001:470:d:114d::/64, - 2001:470:d:1150::/64, - 2001:470:d:1158::/64, - 2001:470:d:115a::/64, - 2001:470:d:115e::/64, - 2001:470:d:1163::/64, - 2001:470:d:117a::/63, - 2001:470:d:117f::/64, - 2001:470:d:1180::/64, - 2001:470:d:1182::/63, - 2001:470:d:1184::/63, - 2001:470:d:1187::/64, - 2001:470:d:118a::/64, - 2001:470:d:118d::/64, - 2001:470:d:118e::/64, - 2001:470:d:1194::/63, - 2001:470:d:1199::/64, - 2001:470:d:119b::/64, - 2001:470:d:11a8::/64, - 2001:470:d:11ae::/63, - 2001:470:d:11b5::/64, - 2001:470:d:11b9::/64, - 2001:470:d:11ba::/64, - 2001:470:d:11be::/63, - 2001:470:d:11c0::/64, - 2001:470:d:11c3::/64, - 2001:470:d:11c8::/64, - 2001:470:d:11ce::/64, - 2001:470:d:11d0::/64, - 2001:470:d:11d3::/64, - 2001:470:d:11d4::/64, - 2001:470:d:11d8::/64, - 2001:470:d:11de::/63, - 2001:470:d:11e1::/64, - 2001:470:d:11e5::/64, - 2001:470:d:11ea::/64, - 2001:470:d:11ee::/63, - 2001:470:d:11f4::/64, - 2001:470:d:11f7::/64, - 2001:470:d:11fa::/64, - 2001:470:d:11ff::/64, - 2001:470:d:1203::/64, - 2001:470:d:1206::/63, - 2001:470:d:1208::/64, - 2001:470:d:1211::/64, - 2001:470:d:1214::/64, - 2001:470:d:121a::/64, - 2001:470:d:1221::/64, - 2001:470:d:122b::/64, - 2001:470:d:122c::/64, - 2001:470:d:1232::/63, - 2001:470:d:1234::/64, - 2001:470:d:1236::/63, - 2001:470:d:1238::/64, - 2001:470:d:123c::/64, - 2001:470:d:123f::/64, - 2001:470:d:1240::/63, - 2001:470:d:1242::/64, - 2001:470:d:1248::/63, - 2001:470:d:124c::/64, - 2001:470:d:1255::/64, - 2001:470:d:1258::/64, - 2001:470:d:125b::/64, - 2001:470:d:1260::/64, - 2001:470:d:1266::/64, - 2001:470:d:1268::/64, - 2001:470:d:126b::/64, - 2001:470:d:12db::/64, - 2001:470:d:1355::/64, - 2001:470:d:1368::/64, - 2001:470:d:137d::/64, - 2001:470:d:13d2::/64, - 2001:470:d:140f::/64, - 2001:470:d:141f::/64, - 2001:470:d:1436::/64, - 2001:470:d:145c::/64, - 2001:470:d:1476::/64, - 2001:470:d:1485::/64, - 2001:470:d:149b::/64, - 2001:470:d:14ab::/64, - 2001:470:d:14bc::/64, - 2001:470:d:14ee::/64, - 2001:470:d:14f5::/64, - 2001:470:d:14f7::/64, - 2001:470:d:151e::/64, - 2001:470:d:1533::/64, - 2001:470:d:1593::/64, - 2001:470:d:15e1::/64, - 2001:470:d:15e5::/64, - 2001:470:d:15fb::/64, - 2001:470:d:1609::/64, - 2001:470:d:1623::/64, - 2001:470:d:1635::/64, - 2001:470:d:16af::/64, - 2001:470:d:16f2::/64, - 2001:470:d:170c::/64, - 2001:470:d:171a::/64, - 2001:470:d:1786::/64, - 2001:470:d:17a3::/64, - 2001:470:d:17ac::/64, - 2001:470:d:17c1::/64, - 2001:470:d:1803::/64, - 2001:470:d:1813::/64, - 2001:470:d:1821::/64, - 2001:470:d:185a::/64, - 2001:470:d:189d::/64, - 2001:470:d:18b7::/64, - 2001:470:d:18be::/64, - 2001:470:d:18ef::/64, - 2001:470:d:190b::/64, - 2001:470:d:1910::/64, - 2001:470:d:192c::/64, - 2001:470:d:194e::/64, - 2001:470:d:196d::/64, - 2001:470:d:1986::/64, - 2001:470:d:19a9::/64, - 2001:470:d:19b8::/64, - 2001:470:d:1a1b::/64, - 2001:470:d:1a27::/64, - 2001:470:d:1a29::/64, - 2001:470:d:1a52::/64, - 2001:470:d:1a76::/64, - 2001:470:d:1a9d::/64, - 2001:470:d:1aa1::/64, - 2001:470:d:1aa2::/64, - 2001:470:d:1aa7::/64, - 2001:470:d:1abb::/64, - 2001:470:d:1abe::/64, - 2001:470:d:1ac6::/64, - 2001:470:d:1ace::/64, - 2001:470:d:1afe::/64, - 2001:470:d:1b10::/64, - 2001:470:d:1b28::/64, - 2001:470:d:1b2b::/64, - 2001:470:d:1b4c::/64, - 2001:470:d:1b56::/64, - 2001:470:d:1b75::/64, - 2001:470:d:1b82::/64, - 2001:470:d:1bce::/64, - 2001:470:d:1bde::/64, - 2001:470:d:1c51::/64, - 2001:470:d:1c62::/64, - 2001:470:d:1c70::/64, - 2001:470:d:1c86::/64, - 2001:470:d:1ca4::/64, - 2001:470:d:1d43::/64, - 2001:470:18:723::/64, - 2001:470:19:1::/64, - 2001:470:19:4::/62, - 2001:470:19:8::/64, - 2001:470:19:a::/63, - 2001:470:19:d::/64, - 2001:470:19:e::/63, - 2001:470:19:11::/64, - 2001:470:19:12::/63, - 2001:470:19:15::/64, - 2001:470:19:19::/64, - 2001:470:19:1a::/64, - 2001:470:19:1c::/62, - 2001:470:19:22::/64, - 2001:470:19:26::/63, - 2001:470:19:28::/64, - 2001:470:19:2a::/64, - 2001:470:19:2c::/64, - 2001:470:19:2e::/63, - 2001:470:19:30::/63, - 2001:470:19:33::/64, - 2001:470:19:34::/64, - 2001:470:19:36::/63, - 2001:470:19:3d::/64, - 2001:470:19:3e::/64, - 2001:470:19:40::/64, - 2001:470:19:42::/63, - 2001:470:19:45::/64, - 2001:470:19:46::/63, - 2001:470:19:48::/63, - 2001:470:19:4a::/64, - 2001:470:19:4c::/62, - 2001:470:19:53::/64, - 2001:470:19:54::/62, - 2001:470:19:59::/64, - 2001:470:19:5a::/63, - 2001:470:19:5d::/64, - 2001:470:19:5e::/63, - 2001:470:19:63::/64, - 2001:470:19:65::/64, - 2001:470:19:66::/64, - 2001:470:19:68::/63, - 2001:470:19:6c::/62, - 2001:470:19:70::/64, - 2001:470:19:72::/63, - 2001:470:19:74::/64, - 2001:470:19:76::/63, - 2001:470:19:79::/64, - 2001:470:19:7a::/64, - 2001:470:19:7c::/62, - 2001:470:19:82::/63, - 2001:470:19:85::/64, - 2001:470:19:88::/61, - 2001:470:19:90::/62, - 2001:470:19:95::/64, - 2001:470:19:97::/64, - 2001:470:19:99::/64, - 2001:470:19:9a::/64, - 2001:470:19:9c::/64, - 2001:470:19:9e::/63, - 2001:470:19:a0::/64, - 2001:470:19:a3::/64, - 2001:470:19:a5::/64, - 2001:470:19:a6::/63, - 2001:470:19:a9::/64, - 2001:470:19:ab::/64, - 2001:470:19:ac::/63, - 2001:470:19:af::/64, - 2001:470:19:b1::/64, - 2001:470:19:b2::/64, - 2001:470:19:b4::/64, - 2001:470:19:b6::/63, - 2001:470:19:b8::/64, - 2001:470:19:ba::/64, - 2001:470:19:bc::/64, - 2001:470:19:be::/64, - 2001:470:19:c1::/64, - 2001:470:19:c2::/64, - 2001:470:19:c4::/63, - 2001:470:19:c6::/64, - 2001:470:19:c8::/63, - 2001:470:19:cb::/64, - 2001:470:19:cc::/63, - 2001:470:19:cf::/64, - 2001:470:19:d1::/64, - 2001:470:19:d2::/64, - 2001:470:19:d4::/63, - 2001:470:19:d6::/64, - 2001:470:19:d9::/64, - 2001:470:19:db::/64, - 2001:470:19:dc::/64, - 2001:470:19:de::/63, - 2001:470:19:e0::/62, - 2001:470:19:e4::/63, - 2001:470:19:e6::/64, - 2001:470:19:e8::/64, - 2001:470:19:ea::/64, - 2001:470:19:ec::/63, - 2001:470:19:ee::/64, - 2001:470:19:f0::/64, - 2001:470:19:f2::/63, - 2001:470:19:f4::/64, - 2001:470:19:f6::/64, - 2001:470:19:f8::/62, - 2001:470:19:fc::/63, - 2001:470:19:100::/63, - 2001:470:19:102::/64, - 2001:470:19:104::/62, - 2001:470:19:108::/61, - 2001:470:19:110::/63, - 2001:470:19:112::/64, - 2001:470:19:114::/64, - 2001:470:19:116::/63, - 2001:470:19:118::/63, - 2001:470:19:11f::/64, - 2001:470:19:120::/63, - 2001:470:19:125::/64, - 2001:470:19:126::/64, - 2001:470:19:128::/62, - 2001:470:19:12d::/64, - 2001:470:19:12e::/64, - 2001:470:19:131::/64, - 2001:470:19:132::/63, - 2001:470:19:134::/64, - 2001:470:19:136::/63, - 2001:470:19:138::/61, - 2001:470:19:140::/63, - 2001:470:19:143::/64, - 2001:470:19:144::/62, - 2001:470:19:148::/62, - 2001:470:19:14e::/64, - 2001:470:19:150::/64, - 2001:470:19:152::/63, - 2001:470:19:156::/63, - 2001:470:19:15a::/64, - 2001:470:19:15c::/63, - 2001:470:19:15e::/64, - 2001:470:19:160::/64, - 2001:470:19:162::/63, - 2001:470:19:165::/64, - 2001:470:19:169::/64, - 2001:470:19:16b::/64, - 2001:470:19:16e::/63, - 2001:470:19:171::/64, - 2001:470:19:172::/63, - 2001:470:19:175::/64, - 2001:470:19:176::/64, - 2001:470:19:179::/64, - 2001:470:19:17b::/64, - 2001:470:19:17c::/64, - 2001:470:19:17e::/63, - 2001:470:19:180::/64, - 2001:470:19:183::/64, - 2001:470:19:185::/64, - 2001:470:19:186::/64, - 2001:470:19:189::/64, - 2001:470:19:18a::/64, - 2001:470:19:18d::/64, - 2001:470:19:18e::/63, - 2001:470:19:190::/63, - 2001:470:19:194::/64, - 2001:470:19:196::/63, - 2001:470:19:198::/64, - 2001:470:19:19a::/64, - 2001:470:19:19d::/64, - 2001:470:19:19e::/63, - 2001:470:19:1a0::/61, - 2001:470:19:1a8::/63, - 2001:470:19:1ac::/64, - 2001:470:19:1ae::/63, - 2001:470:19:1b0::/63, - 2001:470:19:1b2::/64, - 2001:470:19:1b4::/63, - 2001:470:19:1b7::/64, - 2001:470:19:1b8::/62, - 2001:470:19:1bc::/63, - 2001:470:19:1be::/64, - 2001:470:19:1c0::/62, - 2001:470:19:1c5::/64, - 2001:470:19:1c6::/63, - 2001:470:19:1c8::/64, - 2001:470:19:1cc::/62, - 2001:470:19:1d0::/64, - 2001:470:19:1d2::/63, - 2001:470:19:1d4::/64, - 2001:470:19:1d8::/63, - 2001:470:19:1da::/64, - 2001:470:19:1dc::/64, - 2001:470:19:1e2::/63, - 2001:470:19:1e6::/63, - 2001:470:19:1ea::/64, - 2001:470:19:1ec::/63, - 2001:470:19:1ef::/64, - 2001:470:19:1f0::/64, - 2001:470:19:1f4::/63, - 2001:470:19:1f6::/64, - 2001:470:19:1f9::/64, - 2001:470:19:1fb::/64, - 2001:470:19:1fe::/63, - 2001:470:19:201::/64, - 2001:470:19:202::/63, - 2001:470:19:206::/63, - 2001:470:19:208::/64, - 2001:470:19:20b::/64, - 2001:470:19:20c::/64, - 2001:470:19:20f::/64, - 2001:470:19:210::/63, - 2001:470:19:213::/64, - 2001:470:19:214::/64, - 2001:470:19:216::/64, - 2001:470:19:21a::/64, - 2001:470:19:21c::/64, - 2001:470:19:21e::/63, - 2001:470:19:220::/64, - 2001:470:19:222::/63, - 2001:470:19:225::/64, - 2001:470:19:227::/64, - 2001:470:19:228::/64, - 2001:470:19:22b::/64, - 2001:470:19:22c::/64, - 2001:470:19:230::/64, - 2001:470:19:232::/63, - 2001:470:19:234::/63, - 2001:470:19:237::/64, - 2001:470:19:238::/62, - 2001:470:19:23c::/64, - 2001:470:19:23e::/64, - 2001:470:19:242::/63, - 2001:470:19:245::/64, - 2001:470:19:249::/64, - 2001:470:19:24a::/64, - 2001:470:19:24c::/63, - 2001:470:19:251::/64, - 2001:470:19:252::/64, - 2001:470:19:255::/64, - 2001:470:19:256::/64, - 2001:470:19:259::/64, - 2001:470:19:25a::/64, - 2001:470:19:25e::/63, - 2001:470:19:260::/64, - 2001:470:19:263::/64, - 2001:470:19:264::/63, - 2001:470:19:267::/64, - 2001:470:19:268::/61, - 2001:470:19:270::/63, - 2001:470:19:272::/64, - 2001:470:19:278::/63, - 2001:470:19:27a::/64, - 2001:470:19:27c::/62, - 2001:470:19:281::/64, - 2001:470:19:282::/63, - 2001:470:19:285::/64, - 2001:470:19:286::/63, - 2001:470:19:28a::/64, - 2001:470:19:28c::/64, - 2001:470:19:28f::/64, - 2001:470:19:291::/64, - 2001:470:19:292::/63, - 2001:470:19:294::/64, - 2001:470:19:297::/64, - 2001:470:19:299::/64, - 2001:470:19:29b::/64, - 2001:470:19:29e::/63, - 2001:470:19:2a2::/63, - 2001:470:19:2a4::/64, - 2001:470:19:2a7::/64, - 2001:470:19:2a8::/64, - 2001:470:19:2ab::/64, - 2001:470:19:2ad::/64, - 2001:470:19:2af::/64, - 2001:470:19:2b0::/62, - 2001:470:19:2b5::/64, - 2001:470:19:2b6::/63, - 2001:470:19:2b9::/64, - 2001:470:19:2bb::/64, - 2001:470:19:2bc::/62, - 2001:470:19:2c0::/61, - 2001:470:19:2c8::/62, - 2001:470:19:2cc::/63, - 2001:470:19:2cf::/64, - 2001:470:19:2d0::/62, - 2001:470:19:2d5::/64, - 2001:470:19:2d6::/63, - 2001:470:19:2d8::/63, - 2001:470:19:2de::/64, - 2001:470:19:2e2::/63, - 2001:470:19:2e4::/62, - 2001:470:19:2e8::/64, - 2001:470:19:2ea::/64, - 2001:470:19:2ec::/64, - 2001:470:19:2f0::/63, - 2001:470:19:2f3::/64, - 2001:470:19:2f4::/63, - 2001:470:19:2f6::/64, - 2001:470:19:2f8::/64, - 2001:470:19:2fa::/64, - 2001:470:19:2fc::/63, - 2001:470:19:2ff::/64, - 2001:470:19:300::/64, - 2001:470:19:302::/63, - 2001:470:19:306::/63, - 2001:470:19:309::/64, - 2001:470:19:30b::/64, - 2001:470:19:30d::/64, - 2001:470:19:30e::/63, - 2001:470:19:310::/62, - 2001:470:19:315::/64, - 2001:470:19:316::/63, - 2001:470:19:319::/64, - 2001:470:19:31a::/63, - 2001:470:19:31c::/64, - 2001:470:19:31f::/64, - 2001:470:19:320::/62, - 2001:470:19:325::/64, - 2001:470:19:326::/63, - 2001:470:19:329::/64, - 2001:470:19:32c::/63, - 2001:470:19:330::/62, - 2001:470:19:334::/63, - 2001:470:19:337::/64, - 2001:470:19:338::/64, - 2001:470:19:33a::/63, - 2001:470:19:340::/64, - 2001:470:19:342::/63, - 2001:470:19:344::/62, - 2001:470:19:348::/64, - 2001:470:19:34e::/63, - 2001:470:19:351::/64, - 2001:470:19:356::/63, - 2001:470:19:358::/62, - 2001:470:19:35e::/64, - 2001:470:19:361::/64, - 2001:470:19:362::/63, - 2001:470:19:364::/62, - 2001:470:19:368::/64, - 2001:470:19:36c::/64, - 2001:470:19:36e::/63, - 2001:470:19:370::/63, - 2001:470:19:373::/64, - 2001:470:19:374::/64, - 2001:470:19:378::/63, - 2001:470:19:37c::/64, - 2001:470:19:380::/62, - 2001:470:19:385::/64, - 2001:470:19:386::/63, - 2001:470:19:388::/62, - 2001:470:19:38c::/63, - 2001:470:19:38f::/64, - 2001:470:19:393::/64, - 2001:470:19:394::/63, - 2001:470:19:397::/64, - 2001:470:19:399::/64, - 2001:470:19:39a::/63, - 2001:470:19:39c::/63, - 2001:470:19:39e::/64, - 2001:470:19:3a1::/64, - 2001:470:19:3a3::/64, - 2001:470:19:3a4::/63, - 2001:470:19:3a8::/64, - 2001:470:19:3aa::/63, - 2001:470:19:3ae::/63, - 2001:470:19:3b0::/63, - 2001:470:19:3b2::/64, - 2001:470:19:3b4::/64, - 2001:470:19:3b7::/64, - 2001:470:19:3b8::/62, - 2001:470:19:3bc::/64, - 2001:470:19:3be::/63, - 2001:470:19:3c1::/64, - 2001:470:19:3c5::/64, - 2001:470:19:3c6::/64, - 2001:470:19:3c8::/64, - 2001:470:19:3ca::/63, - 2001:470:19:3cc::/63, - 2001:470:19:3ce::/64, - 2001:470:19:3d0::/63, - 2001:470:19:3d2::/64, - 2001:470:19:3d4::/63, - 2001:470:19:3d7::/64, - 2001:470:19:3d8::/62, - 2001:470:19:3e0::/63, - 2001:470:19:3e3::/64, - 2001:470:19:3e4::/63, - 2001:470:19:3e6::/64, - 2001:470:19:3e9::/64, - 2001:470:19:3ea::/63, - 2001:470:19:3ee::/64, - 2001:470:19:3f0::/62, - 2001:470:19:3f4::/64, - 2001:470:19:3f6::/64, - 2001:470:19:3f9::/64, - 2001:470:19:3fc::/63, - 2001:470:19:400::/61, - 2001:470:19:408::/63, - 2001:470:19:40b::/64, - 2001:470:19:40d::/64, - 2001:470:19:40e::/63, - 2001:470:19:410::/64, - 2001:470:19:412::/64, - 2001:470:19:414::/64, - 2001:470:19:418::/64, - 2001:470:19:41c::/63, - 2001:470:19:41f::/64, - 2001:470:19:421::/64, - 2001:470:19:422::/63, - 2001:470:19:424::/64, - 2001:470:19:426::/63, - 2001:470:19:428::/64, - 2001:470:19:42a::/63, - 2001:470:19:42c::/63, - 2001:470:19:42e::/64, - 2001:470:19:430::/64, - 2001:470:19:433::/64, - 2001:470:19:437::/64, - 2001:470:19:43b::/64, - 2001:470:19:43c::/64, - 2001:470:19:43e::/64, - 2001:470:19:441::/64, - 2001:470:19:442::/63, - 2001:470:19:444::/63, - 2001:470:19:447::/64, - 2001:470:19:449::/64, - 2001:470:19:44a::/63, - 2001:470:19:44e::/63, - 2001:470:19:450::/64, - 2001:470:19:452::/63, - 2001:470:19:454::/63, - 2001:470:19:457::/64, - 2001:470:19:458::/63, - 2001:470:19:45b::/64, - 2001:470:19:45d::/64, - 2001:470:19:45e::/63, - 2001:470:19:460::/62, - 2001:470:19:465::/64, - 2001:470:19:466::/64, - 2001:470:19:46a::/63, - 2001:470:19:472::/63, - 2001:470:19:474::/62, - 2001:470:19:479::/64, - 2001:470:19:47c::/64, - 2001:470:19:47f::/64, - 2001:470:19:480::/64, - 2001:470:19:482::/63, - 2001:470:19:485::/64, - 2001:470:19:487::/64, - 2001:470:19:488::/63, - 2001:470:19:48b::/64, - 2001:470:19:48e::/64, - 2001:470:19:491::/64, - 2001:470:19:492::/63, - 2001:470:19:49a::/64, - 2001:470:19:49d::/64, - 2001:470:19:49e::/64, - 2001:470:19:4a0::/63, - 2001:470:19:4a3::/64, - 2001:470:19:4a4::/64, - 2001:470:19:4a8::/63, - 2001:470:19:4ac::/63, - 2001:470:19:4ae::/64, - 2001:470:19:4b0::/62, - 2001:470:19:4b4::/63, - 2001:470:19:4b8::/63, - 2001:470:19:4ba::/64, - 2001:470:19:4bc::/63, - 2001:470:19:4c0::/64, - 2001:470:19:4c3::/64, - 2001:470:19:4c4::/64, - 2001:470:19:4c6::/64, - 2001:470:19:4c8::/64, - 2001:470:19:4ca::/63, - 2001:470:19:4cc::/64, - 2001:470:19:4ce::/63, - 2001:470:19:4d0::/64, - 2001:470:19:4d2::/64, - 2001:470:19:4d4::/64, - 2001:470:19:4d7::/64, - 2001:470:19:4da::/63, - 2001:470:19:4dc::/63, - 2001:470:19:4e2::/63, - 2001:470:19:4e4::/64, - 2001:470:19:4e6::/63, - 2001:470:19:4e8::/63, - 2001:470:19:4ec::/64, - 2001:470:19:4ee::/64, - 2001:470:19:4f0::/63, - 2001:470:19:4f3::/64, - 2001:470:19:4f5::/64, - 2001:470:19:4f6::/63, - 2001:470:19:4f8::/62, - 2001:470:19:4fc::/63, - 2001:470:19:4ff::/64, - 2001:470:19:500::/62, - 2001:470:19:504::/64, - 2001:470:19:507::/64, - 2001:470:19:50a::/64, - 2001:470:19:50c::/63, - 2001:470:19:511::/64, - 2001:470:19:512::/63, - 2001:470:19:514::/64, - 2001:470:19:517::/64, - 2001:470:19:518::/64, - 2001:470:19:51b::/64, - 2001:470:19:51c::/63, - 2001:470:19:51e::/64, - 2001:470:19:520::/61, - 2001:470:19:528::/63, - 2001:470:19:52b::/64, - 2001:470:19:52c::/64, - 2001:470:19:52e::/64, - 2001:470:19:532::/63, - 2001:470:19:534::/63, - 2001:470:19:537::/64, - 2001:470:19:538::/63, - 2001:470:19:53a::/64, - 2001:470:19:53c::/64, - 2001:470:19:53f::/64, - 2001:470:19:541::/64, - 2001:470:19:542::/64, - 2001:470:19:545::/64, - 2001:470:19:548::/63, - 2001:470:19:54a::/64, - 2001:470:19:54c::/64, - 2001:470:19:54e::/63, - 2001:470:19:550::/63, - 2001:470:19:552::/64, - 2001:470:19:554::/64, - 2001:470:19:556::/63, - 2001:470:19:559::/64, - 2001:470:19:55a::/64, - 2001:470:19:55c::/62, - 2001:470:19:561::/64, - 2001:470:19:562::/64, - 2001:470:19:564::/62, - 2001:470:19:568::/64, - 2001:470:19:56a::/63, - 2001:470:19:56f::/64, - 2001:470:19:570::/64, - 2001:470:19:572::/64, - 2001:470:19:578::/64, - 2001:470:19:57a::/64, - 2001:470:19:57c::/64, - 2001:470:19:580::/64, - 2001:470:19:582::/64, - 2001:470:19:584::/62, - 2001:470:19:588::/63, - 2001:470:19:58c::/62, - 2001:470:19:592::/63, - 2001:470:19:594::/62, - 2001:470:19:599::/64, - 2001:470:19:59a::/63, - 2001:470:19:59c::/63, - 2001:470:19:59f::/64, - 2001:470:19:5a0::/63, - 2001:470:19:5a3::/64, - 2001:470:19:5a5::/64, - 2001:470:19:5a6::/64, - 2001:470:19:5aa::/63, - 2001:470:19:5ad::/64, - 2001:470:19:5ae::/64, - 2001:470:19:5b1::/64, - 2001:470:19:5b5::/64, - 2001:470:19:5b6::/64, - 2001:470:19:5b9::/64, - 2001:470:19:5ba::/64, - 2001:470:19:5bc::/63, - 2001:470:19:5bf::/64, - 2001:470:19:5c0::/61, - 2001:470:19:5c8::/63, - 2001:470:19:5cd::/64, - 2001:470:19:5ce::/63, - 2001:470:19:5d3::/64, - 2001:470:19:5d4::/62, - 2001:470:19:5d8::/62, - 2001:470:19:5de::/64, - 2001:470:19:5e2::/64, - 2001:470:19:5e4::/63, - 2001:470:19:5e7::/64, - 2001:470:19:5e9::/64, - 2001:470:19:5ea::/64, - 2001:470:19:5ec::/63, - 2001:470:19:5ee::/64, - 2001:470:19:5f0::/64, - 2001:470:19:5f2::/64, - 2001:470:19:5f4::/63, - 2001:470:19:5f7::/64, - 2001:470:19:5fc::/63, - 2001:470:19:5ff::/64, - 2001:470:19:600::/64, - 2001:470:19:606::/64, - 2001:470:19:608::/63, - 2001:470:19:60d::/64, - 2001:470:19:60e::/64, - 2001:470:19:610::/62, - 2001:470:19:617::/64, - 2001:470:19:618::/63, - 2001:470:19:61f::/64, - 2001:470:19:620::/64, - 2001:470:19:622::/63, - 2001:470:19:624::/63, - 2001:470:19:626::/64, - 2001:470:19:628::/62, - 2001:470:19:62c::/64, - 2001:470:19:62e::/63, - 2001:470:19:630::/64, - 2001:470:19:632::/63, - 2001:470:19:634::/63, - 2001:470:19:63b::/64, - 2001:470:19:63c::/62, - 2001:470:19:641::/64, - 2001:470:19:642::/63, - 2001:470:19:645::/64, - 2001:470:19:646::/63, - 2001:470:19:649::/64, - 2001:470:19:64d::/64, - 2001:470:19:651::/64, - 2001:470:19:652::/63, - 2001:470:19:655::/64, - 2001:470:19:656::/63, - 2001:470:19:658::/62, - 2001:470:19:65f::/64, - 2001:470:19:660::/63, - 2001:470:19:663::/64, - 2001:470:19:667::/64, - 2001:470:19:668::/62, - 2001:470:19:66d::/64, - 2001:470:19:671::/64, - 2001:470:19:674::/63, - 2001:470:19:676::/64, - 2001:470:19:678::/62, - 2001:470:19:67c::/64, - 2001:470:19:67e::/63, - 2001:470:19:681::/64, - 2001:470:19:683::/64, - 2001:470:19:686::/64, - 2001:470:19:689::/64, - 2001:470:19:68a::/64, - 2001:470:19:68c::/64, - 2001:470:19:68e::/64, - 2001:470:19:691::/64, - 2001:470:19:693::/64, - 2001:470:19:694::/63, - 2001:470:19:697::/64, - 2001:470:19:698::/63, - 2001:470:19:69c::/63, - 2001:470:19:69f::/64, - 2001:470:19:6a0::/63, - 2001:470:19:6a2::/64, - 2001:470:19:6a4::/63, - 2001:470:19:6a6::/64, - 2001:470:19:6ab::/64, - 2001:470:19:6ad::/64, - 2001:470:19:6ae::/63, - 2001:470:19:6b0::/62, - 2001:470:19:6b6::/64, - 2001:470:19:6b8::/63, - 2001:470:19:6bc::/64, - 2001:470:19:6be::/63, - 2001:470:19:6c1::/64, - 2001:470:19:6c7::/64, - 2001:470:19:6c8::/63, - 2001:470:19:6cb::/64, - 2001:470:19:6cc::/64, - 2001:470:19:6d7::/64, - 2001:470:19:6d8::/64, - 2001:470:19:6db::/64, - 2001:470:19:6dc::/64, - 2001:470:19:6e2::/64, - 2001:470:19:6e8::/62, - 2001:470:19:6f4::/63, - 2001:470:19:6f6::/64, - 2001:470:19:6fa::/64, - 2001:470:19:6fc::/63, - 2001:470:19:6ff::/64, - 2001:470:19:700::/63, - 2001:470:19:703::/64, - 2001:470:19:704::/62, - 2001:470:19:709::/64, - 2001:470:19:70b::/64, - 2001:470:19:70d::/64, - 2001:470:19:70f::/64, - 2001:470:19:710::/64, - 2001:470:19:713::/64, - 2001:470:19:714::/64, - 2001:470:19:716::/64, - 2001:470:19:718::/64, - 2001:470:19:71a::/63, - 2001:470:19:71d::/64, - 2001:470:19:720::/62, - 2001:470:19:725::/64, - 2001:470:19:728::/63, - 2001:470:19:72c::/63, - 2001:470:19:731::/64, - 2001:470:19:732::/63, - 2001:470:19:734::/62, - 2001:470:19:738::/63, - 2001:470:19:73b::/64, - 2001:470:19:73f::/64, - 2001:470:19:740::/64, - 2001:470:19:742::/64, - 2001:470:19:749::/64, - 2001:470:19:74c::/63, - 2001:470:19:74e::/64, - 2001:470:19:754::/64, - 2001:470:19:756::/63, - 2001:470:19:758::/64, - 2001:470:19:75a::/63, - 2001:470:19:762::/64, - 2001:470:19:764::/63, - 2001:470:19:766::/64, - 2001:470:19:768::/64, - 2001:470:19:76c::/64, - 2001:470:19:76f::/64, - 2001:470:19:771::/64, - 2001:470:19:772::/63, - 2001:470:19:775::/64, - 2001:470:19:777::/64, - 2001:470:19:77a::/63, - 2001:470:19:77d::/64, - 2001:470:19:77f::/64, - 2001:470:19:780::/63, - 2001:470:19:782::/64, - 2001:470:19:784::/63, - 2001:470:19:786::/64, - 2001:470:19:788::/62, - 2001:470:19:78e::/64, - 2001:470:19:790::/64, - 2001:470:19:792::/64, - 2001:470:19:794::/64, - 2001:470:19:796::/64, - 2001:470:19:79a::/63, - 2001:470:19:79d::/64, - 2001:470:19:79e::/64, - 2001:470:19:7a0::/64, - 2001:470:19:7a4::/62, - 2001:470:19:7a8::/62, - 2001:470:19:7ac::/64, - 2001:470:19:7ae::/63, - 2001:470:19:7b1::/64, - 2001:470:19:7b3::/64, - 2001:470:19:7b4::/64, - 2001:470:19:7b6::/64, - 2001:470:19:7b8::/63, - 2001:470:19:7ba::/64, - 2001:470:19:7bd::/64, - 2001:470:19:7be::/63, - 2001:470:19:7c0::/63, - 2001:470:19:7c7::/64, - 2001:470:19:7c9::/64, - 2001:470:19:7ca::/63, - 2001:470:19:7ce::/63, - 2001:470:19:7d0::/63, - 2001:470:19:7d3::/64, - 2001:470:19:7d4::/64, - 2001:470:19:7d6::/63, - 2001:470:19:7d8::/63, - 2001:470:19:7db::/64, - 2001:470:19:7dc::/63, - 2001:470:19:7df::/64, - 2001:470:19:7e0::/62, - 2001:470:19:7e6::/63, - 2001:470:19:7e8::/64, - 2001:470:19:7ea::/64, - 2001:470:19:7ec::/64, - 2001:470:19:7ef::/64, - 2001:470:19:7f0::/63, - 2001:470:19:7f5::/64, - 2001:470:19:7f6::/63, - 2001:470:19:7f9::/64, - 2001:470:19:7fa::/64, - 2001:470:19:7ff::/64, - 2001:470:19:800::/63, - 2001:470:19:802::/64, - 2001:470:19:804::/63, - 2001:470:19:807::/64, - 2001:470:19:808::/63, - 2001:470:19:80a::/64, - 2001:470:19:810::/64, - 2001:470:19:812::/64, - 2001:470:19:81a::/63, - 2001:470:19:81c::/62, - 2001:470:19:820::/63, - 2001:470:19:823::/64, - 2001:470:19:825::/64, - 2001:470:19:826::/64, - 2001:470:19:82b::/64, - 2001:470:19:82d::/64, - 2001:470:19:82e::/63, - 2001:470:19:830::/63, - 2001:470:19:834::/63, - 2001:470:19:836::/64, - 2001:470:19:839::/64, - 2001:470:19:83b::/64, - 2001:470:19:83d::/64, - 2001:470:19:840::/64, - 2001:470:19:842::/63, - 2001:470:19:846::/63, - 2001:470:19:848::/63, - 2001:470:19:84c::/64, - 2001:470:19:84f::/64, - 2001:470:19:850::/63, - 2001:470:19:853::/64, - 2001:470:19:854::/62, - 2001:470:19:858::/63, - 2001:470:19:85b::/64, - 2001:470:19:85c::/62, - 2001:470:19:862::/63, - 2001:470:19:864::/63, - 2001:470:19:866::/64, - 2001:470:19:868::/64, - 2001:470:19:86a::/63, - 2001:470:19:86c::/62, - 2001:470:19:870::/63, - 2001:470:19:872::/64, - 2001:470:19:874::/64, - 2001:470:19:876::/63, - 2001:470:19:879::/64, - 2001:470:19:87a::/63, - 2001:470:19:87c::/62, - 2001:470:19:880::/64, - 2001:470:19:882::/64, - 2001:470:19:886::/63, - 2001:470:19:888::/64, - 2001:470:19:88a::/64, - 2001:470:19:88d::/64, - 2001:470:19:88f::/64, - 2001:470:19:891::/64, - 2001:470:19:892::/63, - 2001:470:19:894::/64, - 2001:470:19:897::/64, - 2001:470:19:898::/64, - 2001:470:19:89a::/63, - 2001:470:19:89c::/64, - 2001:470:19:8a0::/63, - 2001:470:19:8a4::/63, - 2001:470:19:8a9::/64, - 2001:470:19:8ac::/64, - 2001:470:19:8ae::/64, - 2001:470:19:8b2::/64, - 2001:470:19:8b6::/64, - 2001:470:19:8b8::/64, - 2001:470:19:8bb::/64, - 2001:470:19:8bd::/64, - 2001:470:19:8be::/63, - 2001:470:19:8c2::/63, - 2001:470:19:8c4::/63, - 2001:470:19:8c6::/64, - 2001:470:19:8ca::/64, - 2001:470:19:8ce::/63, - 2001:470:19:8d0::/62, - 2001:470:19:8d5::/64, - 2001:470:19:8d6::/64, - 2001:470:19:8d9::/64, - 2001:470:19:8da::/63, - 2001:470:19:8dc::/64, - 2001:470:19:8df::/64, - 2001:470:19:8e0::/64, - 2001:470:19:8e2::/63, - 2001:470:19:8e4::/64, - 2001:470:19:8e6::/64, - 2001:470:19:8ea::/63, - 2001:470:19:8ed::/64, - 2001:470:19:8ee::/63, - 2001:470:19:8f1::/64, - 2001:470:19:8f2::/64, - 2001:470:19:8f6::/64, - 2001:470:19:8f8::/62, - 2001:470:19:8fc::/64, - 2001:470:19:8fe::/63, - 2001:470:19:900::/64, - 2001:470:19:906::/64, - 2001:470:19:909::/64, - 2001:470:19:90c::/63, - 2001:470:19:90f::/64, - 2001:470:19:910::/63, - 2001:470:19:914::/63, - 2001:470:19:916::/64, - 2001:470:19:918::/64, - 2001:470:19:91b::/64, - 2001:470:19:91c::/62, - 2001:470:19:921::/64, - 2001:470:19:923::/64, - 2001:470:19:925::/64, - 2001:470:19:926::/64, - 2001:470:19:929::/64, - 2001:470:19:92a::/63, - 2001:470:19:92c::/62, - 2001:470:19:932::/64, - 2001:470:19:936::/64, - 2001:470:19:938::/64, - 2001:470:19:93a::/64, - 2001:470:19:93d::/64, - 2001:470:19:942::/64, - 2001:470:19:944::/64, - 2001:470:19:946::/64, - 2001:470:19:948::/64, - 2001:470:19:94e::/63, - 2001:470:19:950::/63, - 2001:470:19:953::/64, - 2001:470:19:954::/64, - 2001:470:19:958::/64, - 2001:470:19:95a::/64, - 2001:470:19:95d::/64, - 2001:470:19:960::/64, - 2001:470:19:963::/64, - 2001:470:19:964::/62, - 2001:470:19:968::/64, - 2001:470:19:96a::/64, - 2001:470:19:970::/63, - 2001:470:19:973::/64, - 2001:470:19:974::/64, - 2001:470:19:977::/64, - 2001:470:19:979::/64, - 2001:470:19:97a::/63, - 2001:470:19:97c::/62, - 2001:470:19:981::/64, - 2001:470:19:982::/64, - 2001:470:19:984::/63, - 2001:470:19:987::/64, - 2001:470:19:989::/64, - 2001:470:19:98e::/63, - 2001:470:19:991::/64, - 2001:470:19:992::/63, - 2001:470:19:996::/64, - 2001:470:19:998::/64, - 2001:470:19:99a::/63, - 2001:470:19:99d::/64, - 2001:470:19:9a1::/64, - 2001:470:19:9a2::/64, - 2001:470:19:9a4::/63, - 2001:470:19:9a9::/64, - 2001:470:19:9ac::/63, - 2001:470:19:9af::/64, - 2001:470:19:9b0::/63, - 2001:470:19:9b3::/64, - 2001:470:19:9b4::/63, - 2001:470:19:9b8::/63, - 2001:470:19:9bb::/64, - 2001:470:19:9bc::/63, - 2001:470:19:9be::/64, - 2001:470:19:9c0::/62, - 2001:470:19:9c4::/63, - 2001:470:19:9c8::/62, - 2001:470:19:9cc::/64, - 2001:470:19:9cf::/64, - 2001:470:19:9d0::/62, - 2001:470:19:9d8::/64, - 2001:470:19:9eb::/64, - 2001:470:19:9ec::/63, - 2001:470:19:9ee::/64, - 2001:470:19:9f0::/64, - 2001:470:19:9f3::/64, - 2001:470:19:9f4::/63, - 2001:470:19:9f8::/64, - 2001:470:19:9fa::/63, - 2001:470:19:9fd::/64, - 2001:470:19:a01::/64, - 2001:470:19:a05::/64, - 2001:470:19:a07::/64, - 2001:470:19:a08::/63, - 2001:470:19:a0c::/62, - 2001:470:19:a11::/64, - 2001:470:19:a14::/64, - 2001:470:19:a19::/64, - 2001:470:19:a1b::/64, - 2001:470:19:a1c::/64, - 2001:470:19:a1e::/63, - 2001:470:19:a20::/64, - 2001:470:19:a24::/64, - 2001:470:19:a26::/64, - 2001:470:19:a28::/62, - 2001:470:19:a2c::/64, - 2001:470:19:a2f::/64, - 2001:470:19:a30::/62, - 2001:470:19:a35::/64, - 2001:470:19:a36::/63, - 2001:470:19:a38::/62, - 2001:470:19:a3d::/64, - 2001:470:19:a3f::/64, - 2001:470:19:a42::/64, - 2001:470:19:a47::/64, - 2001:470:19:a4c::/63, - 2001:470:19:a4f::/64, - 2001:470:19:a50::/64, - 2001:470:19:a53::/64, - 2001:470:19:a54::/63, - 2001:470:19:a5a::/64, - 2001:470:19:a5e::/63, - 2001:470:19:a62::/63, - 2001:470:19:a64::/62, - 2001:470:19:a69::/64, - 2001:470:19:a6a::/63, - 2001:470:19:a6c::/64, - 2001:470:19:a6e::/63, - 2001:470:19:a70::/64, - 2001:470:19:a74::/63, - 2001:470:19:a76::/64, - 2001:470:19:a78::/64, - 2001:470:19:a7a::/64, - 2001:470:19:a7c::/63, - 2001:470:19:a80::/64, - 2001:470:19:a85::/64, - 2001:470:19:a86::/63, - 2001:470:19:a89::/64, - 2001:470:19:a8a::/64, - 2001:470:19:a8d::/64, - 2001:470:19:a8e::/64, - 2001:470:19:a91::/64, - 2001:470:19:a94::/64, - 2001:470:19:a96::/64, - 2001:470:19:a98::/64, - 2001:470:19:a9a::/64, - 2001:470:19:a9f::/64, - 2001:470:19:aa0::/62, - 2001:470:19:aa4::/63, - 2001:470:19:aa8::/64, - 2001:470:19:aae::/63, - 2001:470:19:ab3::/64, - 2001:470:19:ab4::/62, - 2001:470:19:ab8::/63, - 2001:470:19:abb::/64, - 2001:470:19:abc::/64, - 2001:470:19:abe::/64, - 2001:470:19:ac0::/64, - 2001:470:19:ac3::/64, - 2001:470:19:ac4::/63, - 2001:470:19:ac6::/64, - 2001:470:19:ac8::/64, - 2001:470:19:aca::/64, - 2001:470:19:acc::/64, - 2001:470:19:acf::/64, - 2001:470:19:ad0::/63, - 2001:470:19:ad2::/64, - 2001:470:19:ad4::/64, - 2001:470:19:ad6::/63, - 2001:470:19:ad8::/64, - 2001:470:19:ada::/63, - 2001:470:19:adc::/63, - 2001:470:19:ae0::/61, - 2001:470:19:ae9::/64, - 2001:470:19:aed::/64, - 2001:470:19:aee::/63, - 2001:470:19:af3::/64, - 2001:470:19:af4::/63, - 2001:470:19:af8::/62, - 2001:470:19:afd::/64, - 2001:470:19:afe::/64, - 2001:470:19:b00::/64, - 2001:470:19:b04::/63, - 2001:470:19:b07::/64, - 2001:470:19:b09::/64, - 2001:470:19:b0a::/64, - 2001:470:19:b0c::/64, - 2001:470:19:b0f::/64, - 2001:470:19:b10::/64, - 2001:470:19:b12::/63, - 2001:470:19:b14::/64, - 2001:470:19:b16::/64, - 2001:470:19:b18::/64, - 2001:470:19:b1c::/64, - 2001:470:19:b1f::/64, - 2001:470:19:b21::/64, - 2001:470:19:b22::/63, - 2001:470:19:b24::/62, - 2001:470:19:b28::/63, - 2001:470:19:b2d::/64, - 2001:470:19:b38::/62, - 2001:470:19:b3c::/64, - 2001:470:19:b3e::/64, - 2001:470:19:b40::/64, - 2001:470:19:b42::/64, - 2001:470:19:b4e::/64, - 2001:470:19:b50::/63, - 2001:470:19:b54::/64, - 2001:470:19:b56::/63, - 2001:470:19:b59::/64, - 2001:470:19:b5c::/63, - 2001:470:19:b5e::/64, - 2001:470:19:b60::/63, - 2001:470:19:b63::/64, - 2001:470:19:b64::/63, - 2001:470:19:b66::/64, - 2001:470:19:b69::/64, - 2001:470:19:b6a::/64, - 2001:470:19:b6d::/64, - 2001:470:19:b6f::/64, - 2001:470:19:b70::/63, - 2001:470:19:b72::/64, - 2001:470:19:b76::/63, - 2001:470:19:b7a::/63, - 2001:470:19:b7c::/63, - 2001:470:19:b7e::/64, - 2001:470:19:b80::/64, - 2001:470:19:b83::/64, - 2001:470:19:b86::/63, - 2001:470:19:b88::/64, - 2001:470:19:b8b::/64, - 2001:470:19:b8c::/64, - 2001:470:19:b8f::/64, - 2001:470:19:b90::/64, - 2001:470:19:b92::/64, - 2001:470:19:b95::/64, - 2001:470:19:b97::/64, - 2001:470:19:b99::/64, - 2001:470:19:b9b::/64, - 2001:470:19:b9c::/64, - 2001:470:19:b9f::/64, - 2001:470:19:ba0::/63, - 2001:470:19:ba5::/64, - 2001:470:19:baa::/64, - 2001:470:19:bac::/63, - 2001:470:19:bb0::/63, - 2001:470:19:bb2::/64, - 2001:470:19:bb5::/64, - 2001:470:19:bb6::/63, - 2001:470:19:bbb::/64, - 2001:470:19:bbc::/63, - 2001:470:19:bbf::/64, - 2001:470:19:bc2::/63, - 2001:470:19:bc5::/64, - 2001:470:19:bc6::/63, - 2001:470:19:bca::/63, - 2001:470:19:bcc::/62, - 2001:470:19:bd0::/64, - 2001:470:19:bd4::/64, - 2001:470:19:bd6::/63, - 2001:470:19:bd8::/63, - 2001:470:19:bdb::/64, - 2001:470:19:bdc::/64, - 2001:470:19:bde::/63, - 2001:470:19:be4::/64, - 2001:470:19:be7::/64, - 2001:470:19:be9::/64, - 2001:470:19:bea::/63, - 2001:470:19:bed::/64, - 2001:470:19:bee::/63, - 2001:470:19:bf0::/63, - 2001:470:19:bf5::/64, - 2001:470:19:bf7::/64, - 2001:470:19:bfc::/63, - 2001:470:19:bfe::/64, - 2001:470:19:c02::/63, - 2001:470:19:c04::/63, - 2001:470:19:c07::/64, - 2001:470:19:c08::/62, - 2001:470:19:c0c::/64, - 2001:470:19:c0e::/64, - 2001:470:19:c11::/64, - 2001:470:19:c12::/64, - 2001:470:19:c17::/64, - 2001:470:19:c1c::/64, - 2001:470:19:c1e::/64, - 2001:470:19:c21::/64, - 2001:470:19:c25::/64, - 2001:470:19:c27::/64, - 2001:470:19:c2a::/64, - 2001:470:19:c2f::/64, - 2001:470:19:c32::/64, - 2001:470:19:c35::/64, - 2001:470:19:c38::/63, - 2001:470:19:c3b::/64, - 2001:470:19:c3c::/64, - 2001:470:19:c40::/64, - 2001:470:19:c43::/64, - 2001:470:19:c44::/64, - 2001:470:19:c49::/64, - 2001:470:19:c4a::/64, - 2001:470:19:c4f::/64, - 2001:470:19:c50::/63, - 2001:470:19:c52::/64, - 2001:470:19:c54::/63, - 2001:470:19:c58::/63, - 2001:470:19:c5b::/64, - 2001:470:19:c5e::/63, - 2001:470:19:c60::/63, - 2001:470:19:c62::/64, - 2001:470:19:c69::/64, - 2001:470:19:c6a::/64, - 2001:470:19:c6e::/63, - 2001:470:19:c70::/62, - 2001:470:19:c74::/64, - 2001:470:19:c76::/64, - 2001:470:19:c78::/62, - 2001:470:19:c7c::/63, - 2001:470:19:c7f::/64, - 2001:470:19:c81::/64, - 2001:470:19:c82::/64, - 2001:470:19:c88::/63, - 2001:470:19:c8a::/64, - 2001:470:19:c8d::/64, - 2001:470:19:c8e::/63, - 2001:470:19:c90::/62, - 2001:470:19:c94::/64, - 2001:470:19:c96::/64, - 2001:470:19:c98::/64, - 2001:470:19:c9a::/63, - 2001:470:19:c9c::/64, - 2001:470:19:ca1::/64, - 2001:470:19:ca3::/64, - 2001:470:19:ca4::/64, - 2001:470:19:ca9::/64, - 2001:470:19:caa::/63, - 2001:470:19:caf::/64, - 2001:470:19:cb1::/64, - 2001:470:19:cb2::/64, - 2001:470:19:cb4::/63, - 2001:470:19:cb6::/64, - 2001:470:19:cbb::/64, - 2001:470:19:cbd::/64, - 2001:470:19:cc1::/64, - 2001:470:19:cc3::/64, - 2001:470:19:cc4::/64, - 2001:470:19:cc7::/64, - 2001:470:19:cc8::/64, - 2001:470:19:ccb::/64, - 2001:470:19:ccc::/63, - 2001:470:19:cd1::/64, - 2001:470:19:cd2::/63, - 2001:470:19:cd4::/63, - 2001:470:19:cd9::/64, - 2001:470:19:cda::/64, - 2001:470:19:cdd::/64, - 2001:470:19:cde::/63, - 2001:470:19:ce1::/64, - 2001:470:19:ce3::/64, - 2001:470:19:ce4::/64, - 2001:470:19:ce7::/64, - 2001:470:19:ce9::/64, - 2001:470:19:cea::/64, - 2001:470:19:cec::/63, - 2001:470:19:cf0::/63, - 2001:470:19:cf2::/64, - 2001:470:19:cf5::/64, - 2001:470:19:cf6::/64, - 2001:470:19:cf9::/64, - 2001:470:19:cfb::/64, - 2001:470:19:cfc::/64, - 2001:470:19:cfe::/63, - 2001:470:19:d00::/63, - 2001:470:19:d02::/64, - 2001:470:19:d07::/64, - 2001:470:19:d0a::/64, - 2001:470:19:d10::/62, - 2001:470:19:d14::/64, - 2001:470:19:d18::/63, - 2001:470:19:d1a::/64, - 2001:470:19:d1c::/63, - 2001:470:19:d1f::/64, - 2001:470:19:d25::/64, - 2001:470:19:d26::/63, - 2001:470:19:d2b::/64, - 2001:470:19:d2d::/64, - 2001:470:19:d2e::/64, - 2001:470:19:d30::/63, - 2001:470:19:d33::/64, - 2001:470:19:d34::/64, - 2001:470:19:d3a::/63, - 2001:470:19:d3c::/64, - 2001:470:19:d3e::/64, - 2001:470:19:d41::/64, - 2001:470:19:d42::/63, - 2001:470:19:d45::/64, - 2001:470:19:d46::/64, - 2001:470:19:d4a::/63, - 2001:470:19:d4d::/64, - 2001:470:19:d4e::/64, - 2001:470:19:d51::/64, - 2001:470:19:d52::/63, - 2001:470:19:d54::/63, - 2001:470:19:d57::/64, - 2001:470:19:d58::/63, - 2001:470:19:d5a::/64, - 2001:470:19:d5e::/64, - 2001:470:19:d60::/62, - 2001:470:19:d64::/64, - 2001:470:19:d66::/64, - 2001:470:19:d68::/64, - 2001:470:19:d6a::/63, - 2001:470:19:d6e::/63, - 2001:470:19:d70::/62, - 2001:470:19:d75::/64, - 2001:470:19:d76::/64, - 2001:470:19:d78::/64, - 2001:470:19:d7b::/64, - 2001:470:19:d7c::/64, - 2001:470:19:d7e::/64, - 2001:470:19:d80::/64, - 2001:470:19:d82::/64, - 2001:470:19:d84::/63, - 2001:470:19:d88::/64, - 2001:470:19:d8a::/64, - 2001:470:19:d8c::/63, - 2001:470:19:d8f::/64, - 2001:470:19:d94::/64, - 2001:470:19:d97::/64, - 2001:470:19:d9a::/64, - 2001:470:19:d9e::/63, - 2001:470:19:da1::/64, - 2001:470:19:da4::/63, - 2001:470:19:da6::/64, - 2001:470:19:da8::/63, - 2001:470:19:dab::/64, - 2001:470:19:dae::/64, - 2001:470:19:db1::/64, - 2001:470:19:db3::/64, - 2001:470:19:db4::/64, - 2001:470:19:db6::/63, - 2001:470:19:db9::/64, - 2001:470:19:dba::/63, - 2001:470:19:dbc::/64, - 2001:470:19:dbf::/64, - 2001:470:19:dc1::/64, - 2001:470:19:dc2::/64, - 2001:470:19:dc5::/64, - 2001:470:19:dc8::/62, - 2001:470:19:dcd::/64, - 2001:470:19:dce::/63, - 2001:470:19:dd0::/64, - 2001:470:19:dd2::/64, - 2001:470:19:dd4::/64, - 2001:470:19:dd7::/64, - 2001:470:19:dd8::/62, - 2001:470:19:ddd::/64, - 2001:470:19:de0::/64, - 2001:470:19:de2::/64, - 2001:470:19:de5::/64, - 2001:470:19:de8::/64, - 2001:470:19:dea::/63, - 2001:470:19:dec::/63, - 2001:470:19:def::/64, - 2001:470:19:df2::/64, - 2001:470:19:df7::/64, - 2001:470:19:df8::/62, - 2001:470:19:dfe::/63, - 2001:470:19:e01::/64, - 2001:470:19:e02::/64, - 2001:470:19:e06::/64, - 2001:470:19:e0c::/63, - 2001:470:19:e0e::/64, - 2001:470:19:e10::/64, - 2001:470:19:e12::/64, - 2001:470:19:e14::/62, - 2001:470:19:e19::/64, - 2001:470:19:e1a::/63, - 2001:470:19:e1c::/62, - 2001:470:19:e20::/63, - 2001:470:19:e22::/64, - 2001:470:19:e27::/64, - 2001:470:19:e28::/62, - 2001:470:19:e35::/64, - 2001:470:19:e38::/64, - 2001:470:19:e3a::/64, - 2001:470:19:e3c::/64, - 2001:470:19:e3e::/64, - 2001:470:19:e41::/64, - 2001:470:19:e42::/63, - 2001:470:19:e46::/64, - 2001:470:19:e49::/64, - 2001:470:19:e4a::/64, - 2001:470:19:e4d::/64, - 2001:470:19:e4f::/64, - 2001:470:19:e54::/63, - 2001:470:19:e58::/64, - 2001:470:19:e5e::/63, - 2001:470:19:e60::/64, - 2001:470:19:e62::/64, - 2001:470:19:e64::/63, - 2001:470:19:e67::/64, - 2001:470:19:e68::/63, - 2001:470:19:e6a::/64, - 2001:470:19:e6e::/63, - 2001:470:19:e70::/64, - 2001:470:19:e73::/64, - 2001:470:19:e76::/64, - 2001:470:19:e7a::/64, - 2001:470:19:e7c::/63, - 2001:470:19:e7f::/64, - 2001:470:19:e81::/64, - 2001:470:19:e82::/63, - 2001:470:19:e84::/64, - 2001:470:19:e86::/63, - 2001:470:19:e8a::/63, - 2001:470:19:e8c::/63, - 2001:470:19:e8e::/64, - 2001:470:19:e93::/64, - 2001:470:19:e9c::/64, - 2001:470:19:e9f::/64, - 2001:470:19:ea0::/62, - 2001:470:19:ea5::/64, - 2001:470:19:ea6::/63, - 2001:470:19:eab::/64, - 2001:470:19:eac::/63, - 2001:470:19:eae::/64, - 2001:470:19:eb1::/64, - 2001:470:19:eb3::/64, - 2001:470:19:eb6::/64, - 2001:470:19:eb8::/63, - 2001:470:19:eba::/64, - 2001:470:19:ebc::/62, - 2001:470:19:ec0::/64, - 2001:470:19:ec2::/64, - 2001:470:19:ec6::/63, - 2001:470:19:ec8::/64, - 2001:470:19:ecc::/64, - 2001:470:19:ece::/63, - 2001:470:19:ed0::/64, - 2001:470:19:ed2::/64, - 2001:470:19:ed9::/64, - 2001:470:19:edf::/64, - 2001:470:19:ee4::/64, - 2001:470:19:ee6::/64, - 2001:470:19:eeb::/64, - 2001:470:19:eec::/63, - 2001:470:19:ef6::/64, - 2001:470:19:ef9::/64, - 2001:470:19:efb::/64, - 2001:470:19:efc::/63, - 2001:470:19:f00::/63, - 2001:470:19:f04::/64, - 2001:470:19:f09::/64, - 2001:470:19:f0c::/63, - 2001:470:19:f0e::/64, - 2001:470:19:f10::/64, - 2001:470:19:f14::/64, - 2001:470:19:f17::/64, - 2001:470:19:f18::/62, - 2001:470:19:f1f::/64, - 2001:470:19:f20::/63, - 2001:470:19:f22::/64, - 2001:470:19:f24::/64, - 2001:470:19:f27::/64, - 2001:470:19:f2a::/64, - 2001:470:19:f2d::/64, - 2001:470:19:f2e::/64, - 2001:470:19:f30::/64, - 2001:470:19:f33::/64, - 2001:470:19:f34::/63, - 2001:470:19:f36::/64, - 2001:470:19:f38::/63, - 2001:470:19:f3a::/64, - 2001:470:19:f3f::/64, - 2001:470:19:f40::/63, - 2001:470:19:f44::/64, - 2001:470:19:f46::/63, - 2001:470:19:f49::/64, - 2001:470:19:f4a::/64, - 2001:470:19:f51::/64, - 2001:470:19:f53::/64, - 2001:470:19:f54::/63, - 2001:470:19:f56::/64, - 2001:470:19:f58::/63, - 2001:470:19:f5a::/64, - 2001:470:19:f64::/64, - 2001:470:19:f67::/64, - 2001:470:19:f68::/64, - 2001:470:19:f6a::/64, - 2001:470:19:f73::/64, - 2001:470:19:f76::/63, - 2001:470:19:f78::/64, - 2001:470:19:f7a::/64, - 2001:470:19:f7f::/64, - 2001:470:19:f81::/64, - 2001:470:19:f83::/64, - 2001:470:19:f84::/64, - 2001:470:19:f87::/64, - 2001:470:19:f88::/63, - 2001:470:19:f8c::/63, - 2001:470:19:f8f::/64, - 2001:470:19:f90::/64, - 2001:470:19:f93::/64, - 2001:470:19:f94::/64, - 2001:470:19:f9a::/64, - 2001:470:19:f9c::/63, - 2001:470:19:fa0::/64, - 2001:470:19:fa4::/64, - 2001:470:19:fa8::/64, - 2001:470:19:faa::/64, - 2001:470:19:fac::/64, - 2001:470:19:fae::/64, - 2001:470:19:fb2::/64, - 2001:470:19:fb6::/64, - 2001:470:19:fba::/64, - 2001:470:19:fc0::/64, - 2001:470:19:fc2::/64, - 2001:470:19:fc4::/63, - 2001:470:19:fcb::/64, - 2001:470:19:fce::/63, - 2001:470:19:fd6::/63, - 2001:470:19:fd8::/63, - 2001:470:19:fda::/64, - 2001:470:19:fdc::/64, - 2001:470:19:fe0::/63, - 2001:470:19:fe7::/64, - 2001:470:19:fe8::/64, - 2001:470:19:feb::/64, - 2001:470:19:fed::/64, - 2001:470:19:fef::/64, - 2001:470:19:ff3::/64, - 2001:470:19:ff4::/64, - 2001:470:19:1000::/63, - 2001:470:19:1002::/64, - 2001:470:19:100c::/64, - 2001:470:19:1011::/64, - 2001:470:19:1016::/64, - 2001:470:19:1018::/62, - 2001:470:19:101d::/64, - 2001:470:19:1020::/64, - 2001:470:19:1027::/64, - 2001:470:19:1028::/63, - 2001:470:19:102c::/64, - 2001:470:19:102e::/64, - 2001:470:19:1033::/64, - 2001:470:19:1034::/63, - 2001:470:19:1037::/64, - 2001:470:19:1038::/64, - 2001:470:19:103a::/63, - 2001:470:19:103c::/64, - 2001:470:19:103e::/63, - 2001:470:19:1041::/64, - 2001:470:19:1043::/64, - 2001:470:19:1046::/64, - 2001:470:19:1049::/64, - 2001:470:19:104b::/64, - 2001:470:19:104c::/63, - 2001:470:19:104e::/64, - 2001:470:19:1050::/64, - 2001:470:19:1054::/64, - 2001:470:19:1057::/64, - 2001:470:19:1058::/62, - 2001:470:19:105e::/63, - 2001:470:19:1065::/64, - 2001:470:19:1068::/63, - 2001:470:19:106b::/64, - 2001:470:19:106d::/64, - 2001:470:19:1070::/64, - 2001:470:19:1072::/64, - 2001:470:19:1076::/63, - 2001:470:19:1079::/64, - 2001:470:19:107a::/64, - 2001:470:19:1082::/64, - 2001:470:19:1084::/64, - 2001:470:19:1086::/64, - 2001:470:19:1088::/63, - 2001:470:19:108c::/63, - 2001:470:19:1090::/64, - 2001:470:19:1096::/63, - 2001:470:19:109f::/64, - 2001:470:19:10a2::/64, - 2001:470:19:10a6::/63, - 2001:470:19:10ac::/63, - 2001:470:19:10af::/64, - 2001:470:19:10b0::/63, - 2001:470:19:10b5::/64, - 2001:470:19:10b6::/64, - 2001:470:19:10b8::/64, - 2001:470:19:10ba::/64, - 2001:470:19:10be::/64, - 2001:470:19:10c2::/64, - 2001:470:19:10c4::/64, - 2001:470:19:10c7::/64, - 2001:470:19:10ca::/64, - 2001:470:19:10cd::/64, - 2001:470:19:10d1::/64, - 2001:470:19:10d3::/64, - 2001:470:19:10d6::/64, - 2001:470:19:10d8::/64, - 2001:470:19:10da::/64, - 2001:470:19:10dd::/64, - 2001:470:19:10df::/64, - 2001:470:19:10ea::/64, - 2001:470:19:10ef::/64, - 2001:470:19:10f4::/64, - 2001:470:19:10fb::/64, - 2001:470:19:10fd::/64, - 2001:470:19:1106::/64, - 2001:470:19:1110::/64, - 2001:470:19:1112::/64, - 2001:470:19:1116::/64, - 2001:470:19:1135::/64, - 2001:470:19:114e::/64, - 2001:470:19:115c::/64, - 2001:470:19:115f::/64, - 2001:470:19:1172::/64, - 2001:470:19:117c::/63, - 2001:470:19:117f::/64, - 2001:470:19:1185::/64, - 2001:470:19:118f::/64, - 2001:470:19:1191::/64, - 2001:470:19:1198::/64, - 2001:470:19:11b1::/64, - 2001:470:19:11b5::/64, - 2001:470:19:11c0::/64, - 2001:470:19:11df::/64, - 2001:470:19:11ef::/64, - 2001:470:19:11fb::/64, - 2001:470:19:1206::/64, - 2001:470:19:1209::/64, - 2001:470:19:1249::/64, - 2001:470:19:124e::/63, - 2001:470:19:1255::/64, - 2001:470:19:125c::/64, - 2001:470:19:126a::/64, - 2001:470:19:1272::/64, - 2001:470:19:128e::/64, - 2001:470:19:12da::/64, - 2001:470:19:12dc::/64, - 2001:470:19:12e7::/64, - 2001:470:19:12f1::/64, - 2001:470:19:1319::/64, - 2001:470:19:131c::/64, - 2001:470:19:1329::/64, - 2001:470:19:1344::/64, - 2001:470:19:135d::/64, - 2001:470:19:1371::/64, - 2001:470:19:137f::/64, - 2001:470:19:139b::/64, - 2001:470:19:13f8::/64, - 2001:470:19:146a::/64, - 2001:470:19:1478::/64, - 2001:470:19:14c4::/64, - 2001:470:19:14e3::/64, - 2001:470:19:1500::/64, - 2001:470:19:155e::/64, - 2001:470:19:156e::/64, - 2001:470:19:15b3::/64, - 2001:470:19:15e0::/64, - 2001:470:19:1673::/64, - 2001:470:19:1683::/64, - 2001:470:19:16ad::/64, - 2001:470:19:16cf::/64, - 2001:470:19:16d5::/64, - 2001:470:19:1702::/64, - 2001:470:19:1730::/64, - 2001:470:19:1732::/64, - 2001:470:19:1758::/64, - 2001:470:19:176e::/64, - 2001:470:19:179f::/64, - 2001:470:19:17bd::/64, - 2001:470:19:17d3::/64, - 2001:470:19:17f0::/64, - 2001:470:19:1805::/64, - 2001:470:19:1852::/64, - 2001:470:19:185e::/64, - 2001:470:19:1899::/64, - 2001:470:19:18a7::/64, - 2001:470:19:18d0::/64, - 2001:470:19:18d7::/64, - 2001:470:19:18ee::/64, - 2001:470:19:18fa::/64, - 2001:470:19:1904::/64, - 2001:470:19:1914::/64, - 2001:470:19:195b::/64, - 2001:470:19:1977::/64, - 2001:470:19:1988::/64, - 2001:470:19:19f5::/64, - 2001:470:19:1a46::/64, - 2001:470:19:1a9b::/64, - 2001:470:19:1a9f::/64, - 2001:470:19:1ada::/64, - 2001:470:19:1b47::/64, - 2001:470:19:1b4b::/64, - 2001:470:19:1b7b::/64, - 2001:470:19:1bab::/64, - 2001:470:19:1bae::/63, - 2001:470:19:1bd0::/64, - 2001:470:19:1bd2::/64, - 2001:470:19:1bde::/64, - 2001:470:19:1c4c::/64, - 2001:470:19:1c54::/64, - 2001:470:19:1c6f::/64, - 2001:470:19:1c7a::/64, - 2001:470:19:1c7e::/64, - 2001:470:19:1c8c::/64, - 2001:470:19:1cd4::/64, - 2001:470:19:1cf8::/64, - 2001:470:1d:e::/64, - 2001:470:1d:3c::/64, - 2001:470:1d:42::/64, - 2001:470:1d:81::/64, - 2001:470:1d:91::/64, - 2001:470:1d:9e::/64, - 2001:470:1d:cb::/64, - 2001:470:1d:d4::/64, - 2001:470:1d:dc::/64, - 2001:470:1d:152::/64, - 2001:470:1d:165::/64, - 2001:470:1d:167::/64, - 2001:470:1d:17b::/64, - 2001:470:1d:17e::/64, - 2001:470:1d:18b::/64, - 2001:470:1d:19d::/64, - 2001:470:1d:1b3::/64, - 2001:470:1d:1b5::/64, - 2001:470:1d:1b7::/64, - 2001:470:1d:1dc::/64, - 2001:470:1d:210::/64, - 2001:470:1d:218::/64, - 2001:470:1d:21e::/63, - 2001:470:1d:220::/64, - 2001:470:1d:224::/64, - 2001:470:1d:248::/64, - 2001:470:1d:24e::/64, - 2001:470:1d:250::/64, - 2001:470:1d:26a::/64, - 2001:470:1d:291::/64, - 2001:470:1d:2a0::/64, - 2001:470:1d:2b4::/64, - 2001:470:1d:2f6::/64, - 2001:470:1d:2fb::/64, - 2001:470:1d:36d::/64, - 2001:470:1d:383::/64, - 2001:470:1d:3a8::/64, - 2001:470:1d:3b3::/64, - 2001:470:1d:3b9::/64, - 2001:470:1d:400::/64, - 2001:470:1d:403::/64, - 2001:470:1d:46b::/64, - 2001:470:1d:47a::/64, - 2001:470:1d:47c::/64, - 2001:470:1d:482::/64, - 2001:470:1d:4e5::/64, - 2001:470:1d:4e7::/64, - 2001:470:1d:4ff::/64, - 2001:470:1d:892::/64, - 2001:470:23:23c::/64, - 2001:470:24:1::/64, - 2001:470:24:2::/64, - 2001:470:24:7::/64, - 2001:470:24:d::/64, - 2001:470:24:16::/64, - 2001:470:24:1e::/64, - 2001:470:24:21::/64, - 2001:470:24:2c::/64, - 2001:470:24:2e::/64, - 2001:470:24:31::/64, - 2001:470:24:35::/64, - 2001:470:24:36::/64, - 2001:470:24:3b::/64, - 2001:470:24:3c::/64, - 2001:470:24:42::/64, - 2001:470:24:46::/64, - 2001:470:24:4a::/63, - 2001:470:24:4c::/63, - 2001:470:24:50::/64, - 2001:470:24:55::/64, - 2001:470:24:57::/64, - 2001:470:24:5f::/64, - 2001:470:24:61::/64, - 2001:470:24:62::/64, - 2001:470:24:67::/64, - 2001:470:24:6e::/63, - 2001:470:24:72::/64, - 2001:470:24:76::/63, - 2001:470:24:7b::/64, - 2001:470:24:80::/62, - 2001:470:24:8f::/64, - 2001:470:24:93::/64, - 2001:470:24:99::/64, - 2001:470:24:9a::/64, - 2001:470:24:9c::/63, - 2001:470:24:9f::/64, - 2001:470:24:a8::/64, - 2001:470:24:ad::/64, - 2001:470:24:ae::/64, - 2001:470:24:b5::/64, - 2001:470:24:b9::/64, - 2001:470:24:bc::/63, - 2001:470:24:bf::/64, - 2001:470:24:c3::/64, - 2001:470:24:c5::/64, - 2001:470:24:c7::/64, - 2001:470:24:c9::/64, - 2001:470:24:ca::/64, - 2001:470:24:d2::/64, - 2001:470:24:da::/64, - 2001:470:24:e1::/64, - 2001:470:24:e2::/64, - 2001:470:24:e5::/64, - 2001:470:24:e9::/64, - 2001:470:24:ed::/64, - 2001:470:24:ee::/64, - 2001:470:24:f1::/64, - 2001:470:24:fb::/64, - 2001:470:24:fc::/63, - 2001:470:24:102::/64, - 2001:470:24:105::/64, - 2001:470:24:108::/64, - 2001:470:24:10f::/64, - 2001:470:24:111::/64, - 2001:470:24:113::/64, - 2001:470:24:117::/64, - 2001:470:24:118::/64, - 2001:470:24:11d::/64, - 2001:470:24:11e::/64, - 2001:470:24:120::/64, - 2001:470:24:124::/64, - 2001:470:24:126::/64, - 2001:470:24:129::/64, - 2001:470:24:12a::/64, - 2001:470:24:12c::/63, - 2001:470:24:131::/64, - 2001:470:24:132::/64, - 2001:470:24:138::/64, - 2001:470:24:13b::/64, - 2001:470:24:13c::/64, - 2001:470:24:13e::/64, - 2001:470:24:141::/64, - 2001:470:24:142::/64, - 2001:470:24:14d::/64, - 2001:470:24:14e::/63, - 2001:470:24:156::/64, - 2001:470:24:159::/64, - 2001:470:24:15b::/64, - 2001:470:24:15c::/64, - 2001:470:24:15f::/64, - 2001:470:24:161::/64, - 2001:470:24:162::/64, - 2001:470:24:16d::/64, - 2001:470:24:170::/64, - 2001:470:24:176::/64, - 2001:470:24:17e::/63, - 2001:470:24:182::/63, - 2001:470:24:18d::/64, - 2001:470:24:18f::/64, - 2001:470:24:190::/64, - 2001:470:24:192::/64, - 2001:470:24:19c::/64, - 2001:470:24:19e::/64, - 2001:470:24:1a7::/64, - 2001:470:24:1b6::/64, - 2001:470:24:1b9::/64, - 2001:470:24:1bd::/64, - 2001:470:24:1c1::/64, - 2001:470:24:1c5::/64, - 2001:470:24:1cb::/64, - 2001:470:24:1ce::/63, - 2001:470:24:1d0::/64, - 2001:470:24:1d3::/64, - 2001:470:24:1d4::/64, - 2001:470:24:1dc::/64, - 2001:470:24:1de::/64, - 2001:470:24:1e2::/64, - 2001:470:24:1e9::/64, - 2001:470:24:1ec::/64, - 2001:470:24:1f3::/64, - 2001:470:24:1f7::/64, - 2001:470:24:1f8::/64, - 2001:470:24:201::/64, - 2001:470:24:202::/64, - 2001:470:24:206::/64, - 2001:470:24:208::/64, - 2001:470:24:20f::/64, - 2001:470:24:211::/64, - 2001:470:24:213::/64, - 2001:470:24:214::/64, - 2001:470:24:216::/63, - 2001:470:24:218::/64, - 2001:470:24:21b::/64, - 2001:470:24:221::/64, - 2001:470:24:225::/64, - 2001:470:24:226::/64, - 2001:470:24:229::/64, - 2001:470:24:22f::/64, - 2001:470:24:23a::/64, - 2001:470:24:23c::/64, - 2001:470:24:241::/64, - 2001:470:24:242::/63, - 2001:470:24:245::/64, - 2001:470:24:248::/64, - 2001:470:24:24a::/64, - 2001:470:24:24e::/64, - 2001:470:24:257::/64, - 2001:470:24:258::/64, - 2001:470:24:263::/64, - 2001:470:24:264::/63, - 2001:470:24:267::/64, - 2001:470:24:26a::/63, - 2001:470:24:270::/63, - 2001:470:24:276::/63, - 2001:470:24:279::/64, - 2001:470:24:27e::/64, - 2001:470:24:281::/64, - 2001:470:24:284::/63, - 2001:470:24:28b::/64, - 2001:470:24:28d::/64, - 2001:470:24:291::/64, - 2001:470:24:292::/64, - 2001:470:24:295::/64, - 2001:470:24:296::/63, - 2001:470:24:29b::/64, - 2001:470:24:29c::/63, - 2001:470:24:2a4::/63, - 2001:470:24:2a9::/64, - 2001:470:24:2ac::/64, - 2001:470:24:2b2::/63, - 2001:470:24:2bc::/64, - 2001:470:24:2be::/64, - 2001:470:24:2c2::/64, - 2001:470:24:2c4::/64, - 2001:470:24:2c8::/64, - 2001:470:24:2cd::/64, - 2001:470:24:2ce::/64, - 2001:470:24:2d1::/64, - 2001:470:24:2d3::/64, - 2001:470:24:2d5::/64, - 2001:470:24:2d7::/64, - 2001:470:24:2db::/64, - 2001:470:24:2df::/64, - 2001:470:24:2e1::/64, - 2001:470:24:2e2::/64, - 2001:470:24:2e7::/64, - 2001:470:24:2e8::/64, - 2001:470:24:2ea::/63, - 2001:470:24:2ec::/64, - 2001:470:24:2f0::/63, - 2001:470:24:2f2::/64, - 2001:470:24:2f7::/64, - 2001:470:24:2f8::/64, - 2001:470:24:300::/62, - 2001:470:24:305::/64, - 2001:470:24:30a::/64, - 2001:470:24:30c::/63, - 2001:470:24:310::/64, - 2001:470:24:312::/64, - 2001:470:24:314::/63, - 2001:470:24:318::/63, - 2001:470:24:321::/64, - 2001:470:24:323::/64, - 2001:470:24:329::/64, - 2001:470:24:32a::/63, - 2001:470:24:32c::/63, - 2001:470:24:331::/64, - 2001:470:24:33c::/64, - 2001:470:24:33e::/63, - 2001:470:24:345::/64, - 2001:470:24:348::/64, - 2001:470:24:34d::/64, - 2001:470:24:34f::/64, - 2001:470:24:351::/64, - 2001:470:24:35b::/64, - 2001:470:24:363::/64, - 2001:470:24:369::/64, - 2001:470:24:36b::/64, - 2001:470:24:36e::/63, - 2001:470:24:372::/64, - 2001:470:24:37c::/64, - 2001:470:24:382::/64, - 2001:470:24:386::/64, - 2001:470:24:38a::/64, - 2001:470:24:38d::/64, - 2001:470:24:390::/64, - 2001:470:24:396::/63, - 2001:470:24:39c::/64, - 2001:470:24:3a1::/64, - 2001:470:24:3a3::/64, - 2001:470:24:3a4::/63, - 2001:470:24:3ab::/64, - 2001:470:24:3b3::/64, - 2001:470:24:3c0::/63, - 2001:470:24:3c4::/63, - 2001:470:24:3cb::/64, - 2001:470:24:3d2::/64, - 2001:470:24:3d6::/64, - 2001:470:24:3d8::/64, - 2001:470:24:3dc::/64, - 2001:470:24:3e2::/64, - 2001:470:24:3e9::/64, - 2001:470:24:3ef::/64, - 2001:470:24:3f3::/64, - 2001:470:24:3f6::/64, - 2001:470:24:3f8::/64, - 2001:470:24:3fa::/64, - 2001:470:24:40d::/64, - 2001:470:24:40f::/64, - 2001:470:24:415::/64, - 2001:470:24:416::/64, - 2001:470:24:419::/64, - 2001:470:24:41d::/64, - 2001:470:24:423::/64, - 2001:470:24:426::/64, - 2001:470:24:42a::/64, - 2001:470:24:42d::/64, - 2001:470:24:42f::/64, - 2001:470:24:430::/64, - 2001:470:24:432::/63, - 2001:470:24:435::/64, - 2001:470:24:436::/64, - 2001:470:24:439::/64, - 2001:470:24:43b::/64, - 2001:470:24:43d::/64, - 2001:470:24:43f::/64, - 2001:470:24:441::/64, - 2001:470:24:442::/63, - 2001:470:24:447::/64, - 2001:470:24:448::/64, - 2001:470:24:44f::/64, - 2001:470:24:450::/63, - 2001:470:24:452::/64, - 2001:470:24:454::/64, - 2001:470:24:458::/64, - 2001:470:24:45b::/64, - 2001:470:24:45f::/64, - 2001:470:24:465::/64, - 2001:470:24:46a::/64, - 2001:470:24:46d::/64, - 2001:470:24:471::/64, - 2001:470:24:472::/63, - 2001:470:24:475::/64, - 2001:470:24:47b::/64, - 2001:470:24:47e::/64, - 2001:470:24:482::/64, - 2001:470:24:485::/64, - 2001:470:24:488::/64, - 2001:470:24:48a::/63, - 2001:470:24:48e::/63, - 2001:470:24:496::/64, - 2001:470:24:499::/64, - 2001:470:24:49d::/64, - 2001:470:24:4a0::/64, - 2001:470:24:4a3::/64, - 2001:470:24:4a4::/64, - 2001:470:24:4a8::/61, - 2001:470:24:4b0::/64, - 2001:470:24:4b9::/64, - 2001:470:24:4c0::/64, - 2001:470:24:4cf::/64, - 2001:470:24:4d0::/64, - 2001:470:24:4d4::/64, - 2001:470:24:4db::/64, - 2001:470:24:4de::/63, - 2001:470:24:4e5::/64, - 2001:470:24:4e6::/64, - 2001:470:24:4e9::/64, - 2001:470:24:4f2::/64, - 2001:470:24:4f7::/64, - 2001:470:24:4f9::/64, - 2001:470:24:4fa::/63, - 2001:470:24:502::/64, - 2001:470:24:506::/64, - 2001:470:24:509::/64, - 2001:470:24:50a::/64, - 2001:470:24:50c::/64, - 2001:470:24:510::/63, - 2001:470:24:513::/64, - 2001:470:24:515::/64, - 2001:470:24:516::/64, - 2001:470:24:518::/64, - 2001:470:24:51b::/64, - 2001:470:24:51f::/64, - 2001:470:24:521::/64, - 2001:470:24:524::/64, - 2001:470:24:526::/64, - 2001:470:24:531::/64, - 2001:470:24:537::/64, - 2001:470:24:53d::/64, - 2001:470:24:545::/64, - 2001:470:24:54b::/64, - 2001:470:24:54c::/64, - 2001:470:24:54f::/64, - 2001:470:24:553::/64, - 2001:470:24:559::/64, - 2001:470:24:55d::/64, - 2001:470:24:562::/64, - 2001:470:24:565::/64, - 2001:470:24:566::/64, - 2001:470:24:56a::/64, - 2001:470:24:571::/64, - 2001:470:24:572::/64, - 2001:470:24:574::/64, - 2001:470:24:57a::/64, - 2001:470:24:583::/64, - 2001:470:24:586::/64, - 2001:470:24:58d::/64, - 2001:470:24:591::/64, - 2001:470:24:593::/64, - 2001:470:24:594::/64, - 2001:470:24:5a5::/64, - 2001:470:24:5a6::/63, - 2001:470:24:5b0::/64, - 2001:470:24:5b5::/64, - 2001:470:24:5b7::/64, - 2001:470:24:5c5::/64, - 2001:470:24:5cb::/64, - 2001:470:24:5ce::/64, - 2001:470:24:5d6::/64, - 2001:470:24:5e1::/64, - 2001:470:24:5e3::/64, - 2001:470:24:5f6::/64, - 2001:470:24:5f9::/64, - 2001:470:24:5ff::/64, - 2001:470:24:60b::/64, - 2001:470:24:60d::/64, - 2001:470:24:617::/64, - 2001:470:24:61b::/64, - 2001:470:24:61f::/64, - 2001:470:24:626::/64, - 2001:470:24:634::/64, - 2001:470:24:63b::/64, - 2001:470:24:646::/64, - 2001:470:24:666::/64, - 2001:470:24:66c::/63, - 2001:470:24:681::/64, - 2001:470:24:689::/64, - 2001:470:24:6a9::/64, - 2001:470:24:6b8::/64, - 2001:470:24:6c4::/64, - 2001:470:24:6db::/64, - 2001:470:24:6e8::/64, - 2001:470:24:6f2::/63, - 2001:470:24:6fc::/64, - 2001:470:24:705::/64, - 2001:470:24:70e::/64, - 2001:470:24:716::/63, - 2001:470:24:723::/64, - 2001:470:24:725::/64, - 2001:470:24:726::/63, - 2001:470:24:729::/64, - 2001:470:24:736::/64, - 2001:470:24:73f::/64, - 2001:470:24:74f::/64, - 2001:470:24:754::/64, - 2001:470:24:75b::/64, - 2001:470:24:765::/64, - 2001:470:24:767::/64, - 2001:470:24:769::/64, - 2001:470:24:76b::/64, - 2001:470:24:76c::/64, - 2001:470:24:76e::/64, - 2001:470:24:7ca::/64, - 2001:470:24:7f1::/64, - 2001:470:24:7fe::/64, - 2001:470:24:80e::/64, - 2001:470:24:838::/64, - 2001:470:24:84c::/64, - 2001:470:24:866::/64, - 2001:470:24:8fe::/64, - 2001:470:24:901::/64, - 2001:470:24:90e::/64, - 2001:470:24:92d::/64, - 2001:470:24:96e::/64, - 2001:470:24:9ac::/64, - 2001:470:24:a02::/64, - 2001:470:24:a96::/64, - 2001:470:24:a9c::/64, - 2001:470:24:be9::/64, - 2001:470:24:c42::/64, - 2001:470:24:d91::/64, - 2001:470:24:dbd::/64, - 2001:470:24:e5b::/64, - 2001:470:24:e80::/64, - 2001:470:24:f57::/64, - 2001:470:24:106a::/64, - 2001:470:24:1097::/64, - 2001:470:24:1131::/64, - 2001:470:24:1192::/64, - 2001:470:26:2d::/64, - 2001:470:26:102::/63, - 2001:470:26:15b::/64, - 2001:470:26:179::/64, - 2001:470:26:1ef::/64, - 2001:470:26:21c::/64, - 2001:470:26:230::/64, - 2001:470:26:2da::/64, - 2001:470:26:2e6::/64, - 2001:470:26:46f::/64, - 2001:470:26:4e7::/64, - 2001:470:26:53c::/64, - 2001:470:26:577::/64, - 2001:470:26:696::/64, - 2001:470:26:6e5::/64, - 2001:470:26:70f::/64, - 2001:470:26:783::/64, - 2001:470:26:797::/64, - 2001:470:28:46e::/64, - 2001:470:28:49f::/64, - 2001:470:28:4c8::/64, - 2001:470:28:4de::/64, - 2001:470:28:518::/64, - 2001:470:28:5ab::/64, - 2001:470:28:5bb::/64, - 2001:470:28:5be::/64, - 2001:470:28:5d2::/64, - 2001:470:28:6da::/64, - 2001:470:28:713::/64, - 2001:470:28:9b0::/64, - 2001:470:28:b0a::/64, - 2001:470:28:c5e::/64, - 2001:470:28:c77::/64, - 2001:470:28:d94::/64, - 2001:470:28:e1b::/64, - 2001:470:28:f04::/64, - 2001:470:36:c::/64, - 2001:470:36:11::/64, - 2001:470:36:19::/64, - 2001:470:36:1f::/64, - 2001:470:36:26::/64, - 2001:470:36:2e::/64, - 2001:470:36:33::/64, - 2001:470:36:40::/64, - 2001:470:36:42::/63, - 2001:470:36:48::/63, - 2001:470:36:4d::/64, - 2001:470:36:52::/64, - 2001:470:36:58::/64, - 2001:470:36:5d::/64, - 2001:470:36:66::/64, - 2001:470:36:6a::/64, - 2001:470:36:74::/64, - 2001:470:36:7a::/64, - 2001:470:36:7c::/64, - 2001:470:36:7e::/64, - 2001:470:36:87::/64, - 2001:470:36:88::/64, - 2001:470:36:8c::/64, - 2001:470:36:9b::/64, - 2001:470:36:a2::/64, - 2001:470:36:a5::/64, - 2001:470:36:a7::/64, - 2001:470:36:aa::/64, - 2001:470:36:bb::/64, - 2001:470:36:bd::/64, - 2001:470:36:be::/64, - 2001:470:36:c0::/64, - 2001:470:36:c7::/64, - 2001:470:36:cb::/64, - 2001:470:36:cd::/64, - 2001:470:36:db::/64, - 2001:470:36:e3::/64, - 2001:470:36:e4::/64, - 2001:470:36:e7::/64, - 2001:470:36:eb::/64, - 2001:470:36:105::/64, - 2001:470:36:106::/64, - 2001:470:36:112::/64, - 2001:470:36:119::/64, - 2001:470:36:131::/64, - 2001:470:36:133::/64, - 2001:470:36:139::/64, - 2001:470:36:13c::/64, - 2001:470:36:13f::/64, - 2001:470:36:145::/64, - 2001:470:36:156::/64, - 2001:470:36:16d::/64, - 2001:470:36:171::/64, - 2001:470:36:179::/64, - 2001:470:36:17a::/64, - 2001:470:36:183::/64, - 2001:470:36:19a::/64, - 2001:470:36:19f::/64, - 2001:470:36:1aa::/63, - 2001:470:36:1b1::/64, - 2001:470:36:1b4::/63, - 2001:470:36:1b9::/64, - 2001:470:36:1bd::/64, - 2001:470:36:1c2::/64, - 2001:470:36:1cc::/64, - 2001:470:36:1d1::/64, - 2001:470:36:1d2::/64, - 2001:470:36:1f2::/64, - 2001:470:36:1fb::/64, - 2001:470:36:201::/64, - 2001:470:36:208::/64, - 2001:470:36:20c::/63, - 2001:470:36:20e::/64, - 2001:470:36:210::/64, - 2001:470:36:244::/63, - 2001:470:36:250::/63, - 2001:470:36:269::/64, - 2001:470:36:270::/63, - 2001:470:36:273::/64, - 2001:470:36:278::/64, - 2001:470:36:27f::/64, - 2001:470:36:281::/64, - 2001:470:36:288::/64, - 2001:470:36:28a::/64, - 2001:470:36:29e::/64, - 2001:470:36:2a9::/64, - 2001:470:36:2ac::/64, - 2001:470:36:2ae::/64, - 2001:470:36:2b1::/64, - 2001:470:36:2b5::/64, - 2001:470:36:2bf::/64, - 2001:470:36:2c5::/64, - 2001:470:36:2c9::/64, - 2001:470:36:2ce::/64, - 2001:470:36:2d2::/63, - 2001:470:36:2d4::/64, - 2001:470:36:2d7::/64, - 2001:470:36:2dc::/64, - 2001:470:36:2e3::/64, - 2001:470:36:2e7::/64, - 2001:470:36:2e9::/64, - 2001:470:36:2ea::/64, - 2001:470:36:30a::/64, - 2001:470:36:30c::/64, - 2001:470:36:334::/64, - 2001:470:36:33a::/64, - 2001:470:36:348::/64, - 2001:470:36:350::/64, - 2001:470:36:35a::/64, - 2001:470:36:361::/64, - 2001:470:36:362::/64, - 2001:470:36:366::/64, - 2001:470:36:371::/64, - 2001:470:36:378::/64, - 2001:470:36:386::/64, - 2001:470:36:38a::/64, - 2001:470:36:38d::/64, - 2001:470:36:3aa::/64, - 2001:470:36:3b4::/64, - 2001:470:36:3b6::/64, - 2001:470:36:3ba::/63, - 2001:470:36:3c1::/64, - 2001:470:36:3d4::/64, - 2001:470:36:3d6::/64, - 2001:470:36:3dd::/64, - 2001:470:36:3e3::/64, - 2001:470:36:3e9::/64, - 2001:470:36:3fa::/64, - 2001:470:36:3fe::/63, - 2001:470:36:405::/64, - 2001:470:36:408::/64, - 2001:470:36:40a::/63, - 2001:470:36:411::/64, - 2001:470:36:412::/64, - 2001:470:36:414::/64, - 2001:470:36:416::/64, - 2001:470:36:41f::/64, - 2001:470:36:420::/64, - 2001:470:36:424::/64, - 2001:470:36:42e::/64, - 2001:470:36:431::/64, - 2001:470:36:43e::/64, - 2001:470:36:441::/64, - 2001:470:36:444::/63, - 2001:470:36:446::/64, - 2001:470:36:448::/64, - 2001:470:36:44b::/64, - 2001:470:36:44c::/64, - 2001:470:36:451::/64, - 2001:470:36:454::/64, - 2001:470:36:456::/64, - 2001:470:36:45c::/64, - 2001:470:36:45f::/64, - 2001:470:36:471::/64, - 2001:470:36:472::/63, - 2001:470:36:475::/64, - 2001:470:36:478::/64, - 2001:470:36:481::/64, - 2001:470:36:48e::/64, - 2001:470:36:491::/64, - 2001:470:36:4b3::/64, - 2001:470:36:4b9::/64, - 2001:470:36:4e1::/64, - 2001:470:36:4e5::/64, - 2001:470:36:4ea::/64, - 2001:470:36:4ef::/64, - 2001:470:36:4f5::/64, - 2001:470:36:4fa::/64, - 2001:470:36:51f::/64, - 2001:470:36:525::/64, - 2001:470:36:53e::/64, - 2001:470:36:545::/64, - 2001:470:36:552::/64, - 2001:470:36:56c::/64, - 2001:470:36:571::/64, - 2001:470:36:57e::/64, - 2001:470:36:59e::/64, - 2001:470:36:5ca::/64, - 2001:470:36:5d5::/64, - 2001:470:36:5fd::/64, - 2001:470:36:601::/64, - 2001:470:36:609::/64, - 2001:470:36:613::/64, - 2001:470:36:616::/64, - 2001:470:36:627::/64, - 2001:470:36:632::/64, - 2001:470:36:63b::/64, - 2001:470:36:643::/64, - 2001:470:36:64c::/64, - 2001:470:36:658::/64, - 2001:470:36:661::/64, - 2001:470:36:66b::/64, - 2001:470:36:674::/64, - 2001:470:36:676::/64, - 2001:470:36:685::/64, - 2001:470:36:692::/64, - 2001:470:36:69a::/64, - 2001:470:36:69d::/64, - 2001:470:36:6a1::/64, - 2001:470:36:6ab::/64, - 2001:470:36:6d1::/64, - 2001:470:36:6f7::/64, - 2001:470:36:70c::/64, - 2001:470:36:72e::/64, - 2001:470:36:73f::/64, - 2001:470:36:746::/64, - 2001:470:36:770::/63, - 2001:470:36:798::/64, - 2001:470:36:7dd::/64, - 2001:470:36:80f::/64, - 2001:470:36:836::/64, - 2001:470:36:83a::/64, - 2001:470:36:84c::/64, - 2001:470:36:86b::/64, - 2001:470:36:881::/64, - 2001:470:36:8c8::/63, - 2001:470:36:8f2::/64, - 2001:470:36:8fd::/64, - 2001:470:36:912::/64, - 2001:470:36:926::/64, - 2001:470:36:94c::/64, - 2001:470:36:956::/64, - 2001:470:36:960::/64, - 2001:470:36:973::/64, - 2001:470:36:989::/64, - 2001:470:36:9b8::/64, - 2001:470:36:9d1::/64, - 2001:470:36:9da::/64, - 2001:470:36:9fe::/64, - 2001:470:36:a95::/64, - 2001:470:36:b3a::/64, - 2001:470:36:b50::/64, - 2001:470:36:b9c::/64, - 2001:470:36:c2c::/64, - 2001:470:36:d15::/64, - 2001:470:36:e10::/64, - 2001:470:36:1052::/64, - 2001:470:36:1103::/64, - 2001:470:36:1243::/64, - 2001:470:4b:1::/64, - 2001:470:4b:b::/64, - 2001:470:4b:d::/64, - 2001:470:4b:24::/64, - 2001:470:4b:2e::/64, - 2001:470:4b:35::/64, - 2001:470:4b:5b::/64, - 2001:470:4b:64::/64, - 2001:470:4b:7a::/64, - 2001:470:4b:86::/64, - 2001:470:4b:90::/64, - 2001:470:4b:93::/64, - 2001:470:4b:bb::/64, - 2001:470:4b:c3::/64, - 2001:470:4b:101::/64, - 2001:470:4b:121::/64, - 2001:470:4b:126::/64, - 2001:470:4b:12a::/64, - 2001:470:4b:139::/64, - 2001:470:4b:140::/64, - 2001:470:4b:146::/64, - 2001:470:4b:15e::/63, - 2001:470:4b:162::/63, - 2001:470:4b:164::/62, - 2001:470:4b:168::/61, - 2001:470:4b:170::/61, - 2001:470:4b:178::/62, - 2001:470:4b:180::/64, - 2001:470:4b:184::/64, - 2001:470:4b:187::/64, - 2001:470:4b:189::/64, - 2001:470:4b:18f::/64, - 2001:470:4b:190::/62, - 2001:470:4b:194::/64, - 2001:470:4b:196::/63, - 2001:470:4b:199::/64, - 2001:470:4b:19a::/63, - 2001:470:4b:19c::/62, - 2001:470:4b:1a0::/62, - 2001:470:4b:1a4::/64, - 2001:470:4b:1a7::/64, - 2001:470:4b:1a8::/64, - 2001:470:4b:1ab::/64, - 2001:470:4b:1ac::/64, - 2001:470:4b:1af::/64, - 2001:470:4b:1b1::/64, - 2001:470:4b:1b2::/63, - 2001:470:4b:1b4::/63, - 2001:470:4b:1b6::/64, - 2001:470:4b:1b8::/62, - 2001:470:4b:1bc::/64, - 2001:470:4b:1bf::/64, - 2001:470:4b:1c0::/63, - 2001:470:4b:1c3::/64, - 2001:470:4b:1c4::/62, - 2001:470:4b:1c8::/63, - 2001:470:4b:1ca::/64, - 2001:470:4b:1ce::/64, - 2001:470:4b:1d2::/63, - 2001:470:4b:1d9::/64, - 2001:470:4b:1dc::/64, - 2001:470:4b:1e0::/64, - 2001:470:4b:1e2::/64, - 2001:470:4b:1e5::/64, - 2001:470:4b:1e6::/63, - 2001:470:4b:1e9::/64, - 2001:470:4b:1eb::/64, - 2001:470:4b:1f3::/64, - 2001:470:4b:1fb::/64, - 2001:470:4b:200::/64, - 2001:470:4b:203::/64, - 2001:470:4b:20a::/64, - 2001:470:4b:20f::/64, - 2001:470:4b:210::/64, - 2001:470:4b:235::/64, - 2001:470:4b:243::/64, - 2001:470:4b:249::/64, - 2001:470:4b:24f::/64, - 2001:470:4b:281::/64, - 2001:470:4b:289::/64, - 2001:470:4b:291::/64, - 2001:470:4b:2b4::/64, - 2001:470:4b:36b::/64, - 2001:470:4b:3f9::/64, - 2001:470:4b:435::/64, - 2001:470:4b:4db::/64, - 2001:470:4b:4dc::/64, - 2001:470:4b:502::/64, - 2001:470:67:1::/64, - 2001:470:67:2::/64, - 2001:470:67:c::/63, - 2001:470:67:14::/64, - 2001:470:67:16::/63, - 2001:470:67:1b::/64, - 2001:470:67:1c::/64, - 2001:470:67:21::/64, - 2001:470:67:24::/63, - 2001:470:67:26::/64, - 2001:470:67:28::/64, - 2001:470:67:2d::/64, - 2001:470:67:2e::/63, - 2001:470:67:31::/64, - 2001:470:67:32::/64, - 2001:470:67:34::/64, - 2001:470:67:39::/64, - 2001:470:67:3c::/64, - 2001:470:67:3e::/64, - 2001:470:67:42::/64, - 2001:470:67:44::/64, - 2001:470:67:4b::/64, - 2001:470:67:4c::/64, - 2001:470:67:4e::/64, - 2001:470:67:51::/64, - 2001:470:67:59::/64, - 2001:470:67:5a::/64, - 2001:470:67:5d::/64, - 2001:470:67:63::/64, - 2001:470:67:6d::/64, - 2001:470:67:6f::/64, - 2001:470:67:78::/63, - 2001:470:67:7b::/64, - 2001:470:67:7e::/63, - 2001:470:67:80::/64, - 2001:470:67:84::/64, - 2001:470:67:86::/63, - 2001:470:67:88::/64, - 2001:470:67:8b::/64, - 2001:470:67:8d::/64, - 2001:470:67:8f::/64, - 2001:470:67:94::/63, - 2001:470:67:97::/64, - 2001:470:67:9a::/64, - 2001:470:67:9c::/64, - 2001:470:67:a7::/64, - 2001:470:67:aa::/64, - 2001:470:67:b4::/63, - 2001:470:67:b7::/64, - 2001:470:67:b9::/64, - 2001:470:67:ba::/64, - 2001:470:67:bc::/64, - 2001:470:67:c1::/64, - 2001:470:67:c2::/64, - 2001:470:67:c5::/64, - 2001:470:67:c6::/64, - 2001:470:67:c9::/64, - 2001:470:67:cd::/64, - 2001:470:67:ce::/64, - 2001:470:67:d0::/64, - 2001:470:67:d2::/64, - 2001:470:67:d4::/64, - 2001:470:67:d6::/63, - 2001:470:67:d8::/64, - 2001:470:67:da::/64, - 2001:470:67:e0::/64, - 2001:470:67:e2::/64, - 2001:470:67:e4::/64, - 2001:470:67:e9::/64, - 2001:470:67:eb::/64, - 2001:470:67:ed::/64, - 2001:470:67:f0::/63, - 2001:470:67:f2::/64, - 2001:470:67:f5::/64, - 2001:470:67:f8::/63, - 2001:470:67:ff::/64, - 2001:470:67:106::/63, - 2001:470:67:108::/64, - 2001:470:67:10c::/62, - 2001:470:67:110::/63, - 2001:470:67:113::/64, - 2001:470:67:118::/63, - 2001:470:67:11d::/64, - 2001:470:67:120::/64, - 2001:470:67:125::/64, - 2001:470:67:126::/64, - 2001:470:67:128::/63, - 2001:470:67:12a::/64, - 2001:470:67:131::/64, - 2001:470:67:133::/64, - 2001:470:67:138::/63, - 2001:470:67:13b::/64, - 2001:470:67:13f::/64, - 2001:470:67:140::/63, - 2001:470:67:145::/64, - 2001:470:67:146::/64, - 2001:470:67:14a::/64, - 2001:470:67:152::/64, - 2001:470:67:158::/64, - 2001:470:67:165::/64, - 2001:470:67:167::/64, - 2001:470:67:169::/64, - 2001:470:67:171::/64, - 2001:470:67:176::/64, - 2001:470:67:17b::/64, - 2001:470:67:17f::/64, - 2001:470:67:188::/63, - 2001:470:67:18d::/64, - 2001:470:67:18f::/64, - 2001:470:67:197::/64, - 2001:470:67:19c::/64, - 2001:470:67:1a0::/64, - 2001:470:67:1a3::/64, - 2001:470:67:1ab::/64, - 2001:470:67:1ac::/64, - 2001:470:67:1ae::/64, - 2001:470:67:1b2::/63, - 2001:470:67:1b4::/64, - 2001:470:67:1bf::/64, - 2001:470:67:1c3::/64, - 2001:470:67:1c5::/64, - 2001:470:67:1cc::/63, - 2001:470:67:1d0::/63, - 2001:470:67:1d4::/64, - 2001:470:67:1d8::/64, - 2001:470:67:1dc::/63, - 2001:470:67:1e0::/64, - 2001:470:67:1e2::/64, - 2001:470:67:1e7::/64, - 2001:470:67:1ed::/64, - 2001:470:67:1ef::/64, - 2001:470:67:1f1::/64, - 2001:470:67:1f4::/62, - 2001:470:67:1f9::/64, - 2001:470:67:1fa::/64, - 2001:470:67:1fd::/64, - 2001:470:67:1fe::/64, - 2001:470:67:202::/64, - 2001:470:67:204::/64, - 2001:470:67:20a::/64, - 2001:470:67:20c::/64, - 2001:470:67:20e::/64, - 2001:470:67:213::/64, - 2001:470:67:217::/64, - 2001:470:67:218::/63, - 2001:470:67:21a::/64, - 2001:470:67:21d::/64, - 2001:470:67:21e::/64, - 2001:470:67:220::/64, - 2001:470:67:229::/64, - 2001:470:67:22c::/64, - 2001:470:67:22f::/64, - 2001:470:67:233::/64, - 2001:470:67:235::/64, - 2001:470:67:238::/64, - 2001:470:67:23a::/64, - 2001:470:67:23c::/63, - 2001:470:67:23f::/64, - 2001:470:67:240::/64, - 2001:470:67:244::/64, - 2001:470:67:246::/63, - 2001:470:67:249::/64, - 2001:470:67:24a::/64, - 2001:470:67:24c::/64, - 2001:470:67:253::/64, - 2001:470:67:254::/64, - 2001:470:67:258::/63, - 2001:470:67:25a::/64, - 2001:470:67:266::/64, - 2001:470:67:269::/64, - 2001:470:67:26b::/64, - 2001:470:67:26d::/64, - 2001:470:67:26e::/64, - 2001:470:67:270::/63, - 2001:470:67:275::/64, - 2001:470:67:279::/64, - 2001:470:67:27d::/64, - 2001:470:67:27e::/63, - 2001:470:67:284::/64, - 2001:470:67:287::/64, - 2001:470:67:28f::/64, - 2001:470:67:292::/64, - 2001:470:67:296::/64, - 2001:470:67:299::/64, - 2001:470:67:29c::/63, - 2001:470:67:29f::/64, - 2001:470:67:2a1::/64, - 2001:470:67:2a2::/64, - 2001:470:67:2a6::/63, - 2001:470:67:2a9::/64, - 2001:470:67:2ab::/64, - 2001:470:67:2ad::/64, - 2001:470:67:2ae::/64, - 2001:470:67:2b6::/64, - 2001:470:67:2b9::/64, - 2001:470:67:2ba::/63, - 2001:470:67:2bd::/64, - 2001:470:67:2be::/64, - 2001:470:67:2c4::/64, - 2001:470:67:2cb::/64, - 2001:470:67:2d8::/64, - 2001:470:67:2db::/64, - 2001:470:67:2dd::/64, - 2001:470:67:2de::/63, - 2001:470:67:2e6::/64, - 2001:470:67:2eb::/64, - 2001:470:67:2ed::/64, - 2001:470:67:2f3::/64, - 2001:470:67:2f4::/64, - 2001:470:67:2f7::/64, - 2001:470:67:2fb::/64, - 2001:470:67:2fd::/64, - 2001:470:67:2fe::/64, - 2001:470:67:302::/63, - 2001:470:67:304::/63, - 2001:470:67:30d::/64, - 2001:470:67:316::/64, - 2001:470:67:318::/64, - 2001:470:67:31d::/64, - 2001:470:67:320::/64, - 2001:470:67:322::/64, - 2001:470:67:326::/64, - 2001:470:67:328::/64, - 2001:470:67:32a::/63, - 2001:470:67:330::/64, - 2001:470:67:337::/64, - 2001:470:67:338::/64, - 2001:470:67:341::/64, - 2001:470:67:343::/64, - 2001:470:67:34c::/64, - 2001:470:67:34f::/64, - 2001:470:67:358::/64, - 2001:470:67:35a::/63, - 2001:470:67:360::/64, - 2001:470:67:363::/64, - 2001:470:67:365::/64, - 2001:470:67:369::/64, - 2001:470:67:36b::/64, - 2001:470:67:379::/64, - 2001:470:67:37c::/64, - 2001:470:67:386::/64, - 2001:470:67:38c::/64, - 2001:470:67:3a7::/64, - 2001:470:67:3ab::/64, - 2001:470:67:3ac::/64, - 2001:470:67:3b2::/64, - 2001:470:67:3b5::/64, - 2001:470:67:3b6::/64, - 2001:470:67:3bc::/64, - 2001:470:67:3c4::/64, - 2001:470:67:3c8::/64, - 2001:470:67:3cc::/64, - 2001:470:67:3d1::/64, - 2001:470:67:3d6::/64, - 2001:470:67:3de::/64, - 2001:470:67:3ee::/64, - 2001:470:67:3f3::/64, - 2001:470:67:3fb::/64, - 2001:470:67:3fe::/64, - 2001:470:67:400::/64, - 2001:470:67:403::/64, - 2001:470:67:406::/64, - 2001:470:67:408::/64, - 2001:470:67:40b::/64, - 2001:470:67:413::/64, - 2001:470:67:416::/64, - 2001:470:67:436::/64, - 2001:470:67:43b::/64, - 2001:470:67:43c::/64, - 2001:470:67:443::/64, - 2001:470:67:44c::/63, - 2001:470:67:451::/64, - 2001:470:67:452::/64, - 2001:470:67:457::/64, - 2001:470:67:461::/64, - 2001:470:67:462::/64, - 2001:470:67:473::/64, - 2001:470:67:487::/64, - 2001:470:67:48b::/64, - 2001:470:67:4b1::/64, - 2001:470:67:4f5::/64, - 2001:470:67:4ff::/64, - 2001:470:67:502::/64, - 2001:470:67:512::/63, - 2001:470:67:51e::/64, - 2001:470:67:521::/64, - 2001:470:67:53e::/64, - 2001:470:67:54c::/64, - 2001:470:67:562::/64, - 2001:470:67:56e::/64, - 2001:470:67:579::/64, - 2001:470:67:587::/64, - 2001:470:67:58d::/64, - 2001:470:67:5a5::/64, - 2001:470:67:5c9::/64, - 2001:470:67:5d2::/64, - 2001:470:67:668::/64, - 2001:470:67:66f::/64, - 2001:470:67:671::/64, - 2001:470:67:67e::/63, - 2001:470:67:680::/64, - 2001:470:67:682::/64, - 2001:470:67:688::/64, - 2001:470:67:68b::/64, - 2001:470:67:68c::/64, - 2001:470:67:68e::/64, - 2001:470:67:690::/64, - 2001:470:67:693::/64, - 2001:470:67:698::/64, - 2001:470:67:69c::/64, - 2001:470:67:6a0::/64, - 2001:470:67:6a2::/64, - 2001:470:67:6a8::/64, - 2001:470:67:6ab::/64, - 2001:470:67:6b3::/64, - 2001:470:67:6b4::/64, - 2001:470:67:6b8::/64, - 2001:470:67:6bf::/64, - 2001:470:67:6c0::/64, - 2001:470:67:6c8::/64, - 2001:470:67:6cb::/64, - 2001:470:67:6d0::/64, - 2001:470:67:6e6::/64, - 2001:470:67:6ea::/64, - 2001:470:67:81b::/64, - 2001:470:67:900::/64, - 2001:470:67:90f::/64, - 2001:470:67:98e::/64, - 2001:470:67:a51::/64, - 2001:470:67:a52::/64, - 2001:470:67:aec::/64, - 2001:470:67:b85::/64, - 2001:470:67:d60::/64, - 2001:470:67:d93::/64, - 2001:470:6d:b9::/64, - 2001:470:6d:127::/64, - 2001:470:6d:153::/64, - 2001:470:6d:157::/64, - 2001:470:6d:163::/64, - 2001:470:6d:17e::/64, - 2001:470:6d:1b1::/64, - 2001:470:6d:290::/64, - 2001:470:6d:2cb::/64, - 2001:470:6d:2de::/64, - 2001:470:6d:348::/64, - 2001:470:6d:40e::/64, - 2001:470:6d:418::/64, - 2001:470:6d:4cf::/64, - 2001:470:6d:5a1::/64, - 2001:470:6d:5b6::/64, - 2001:470:6d:60a::/64, - 2001:470:6d:647::/64, - 2001:470:6d:65e::/64, - 2001:470:6d:690::/64, - 2001:470:6d:6c0::/64, - 2001:470:6d:713::/64, - 2001:470:6d:720::/64, - 2001:470:6d:747::/64, - 2001:470:6d:7bc::/64, - 2001:470:6d:7c3::/64, - 2001:470:6d:7d7::/64, - 2001:470:6d:7dd::/64, - 2001:470:6d:b6f::/64, - 2001:470:6d:c1d::/64, - 2001:470:6d:c57::/64, - 2001:470:6d:c96::/64, - 2001:470:6d:d18::/64, - 2001:470:6d:db6::/64, - 2001:470:6d:ede::/64, - 2001:470:6d:ef9::/64, - 2001:470:6d:f22::/64, - 2001:470:6d:fbc::/64, - 2001:470:6f:141::/64, - 2001:470:6f:225::/64, - 2001:470:6f:22f::/64, - 2001:470:6f:30a::/64, - 2001:470:6f:372::/64, - 2001:470:6f:38b::/64, - 2001:470:6f:3ab::/64, - 2001:470:6f:4d3::/64, - 2001:470:6f:600::/64, - 2001:470:6f:620::/64, - 2001:470:6f:662::/64, - 2001:470:6f:6d8::/64, - 2001:470:6f:701::/64, - 2001:470:71:6f::/64, - 2001:470:71:81::/64, - 2001:470:71:c2::/64, - 2001:470:71:fa::/64, - 2001:470:71:1e5::/64, - 2001:470:71:248::/64, - 2001:470:71:280::/64, - 2001:470:71:351::/64, - 2001:470:71:35a::/64, - 2001:470:71:3af::/64, - 2001:470:71:42a::/64, - 2001:470:71:544::/64, - 2001:470:71:564::/64, - 2001:470:71:5a9::/64, - 2001:470:71:678::/64, - 2001:470:71:713::/64, - 2001:470:71:754::/64, - 2001:470:71:8b7::/64, - 2001:470:7c:1b::/64, - 2001:470:7c:2b::/64, - 2001:470:7c:36::/64, - 2001:470:7c:43::/64, - 2001:470:7c:64::/64, - 2001:470:7c:68::/64, - 2001:470:7c:76::/64, - 2001:470:7c:7f::/64, - 2001:470:7c:9a::/64, - 2001:470:7c:a5::/64, - 2001:470:7c:b8::/64, - 2001:470:7c:c0::/64, - 2001:470:7c:e0::/64, - 2001:470:7c:f9::/64, - 2001:470:7c:117::/64, - 2001:470:7c:11b::/64, - 2001:470:7c:149::/64, - 2001:470:7c:14e::/64, - 2001:470:7c:15e::/64, - 2001:470:7c:163::/64, - 2001:470:7c:16c::/64, - 2001:470:7c:177::/64, - 2001:470:7c:178::/62, - 2001:470:7c:17e::/63, - 2001:470:7c:180::/62, - 2001:470:7c:186::/63, - 2001:470:7c:188::/63, - 2001:470:7c:18a::/64, - 2001:470:7c:18c::/63, - 2001:470:7c:197::/64, - 2001:470:7c:198::/64, - 2001:470:7c:1a0::/64, - 2001:470:7c:1ac::/64, - 2001:470:7c:1ae::/63, - 2001:470:7c:1b1::/64, - 2001:470:7c:1b2::/64, - 2001:470:7c:1b6::/63, - 2001:470:7c:1bf::/64, - 2001:470:7c:1c1::/64, - 2001:470:7c:1ce::/63, - 2001:470:7c:1dc::/64, - 2001:470:7c:1de::/63, - 2001:470:7c:1e3::/64, - 2001:470:7c:1e4::/64, - 2001:470:7c:1e7::/64, - 2001:470:7c:1e8::/64, - 2001:470:7c:1ea::/63, - 2001:470:7c:1f0::/63, - 2001:470:7c:1f8::/63, - 2001:470:7c:1fc::/64, - 2001:470:7c:202::/64, - 2001:470:7c:213::/64, - 2001:470:7c:21a::/63, - 2001:470:7c:21f::/64, - 2001:470:7c:220::/64, - 2001:470:7c:231::/64, - 2001:470:7c:258::/64, - 2001:470:7c:25c::/63, - 2001:470:7c:267::/64, - 2001:470:7c:26a::/64, - 2001:470:7c:2bd::/64, - 2001:470:7c:2cf::/64, - 2001:470:7c:2d3::/64, - 2001:470:7c:2d7::/64, - 2001:470:7c:2e5::/64, - 2001:470:7c:307::/64, - 2001:470:7c:35d::/64, - 2001:470:7c:38d::/64, - 2001:470:7c:3ee::/64, - 2001:470:7c:507::/64, - 2001:470:1848::/48, - 2001:470:18a5::/48, - 2001:470:18c2::/48, - 2001:470:18f0::/48, - 2001:470:190b::/48, - 2001:470:1916::/48, - 2001:470:193f::/48, - 2001:470:199a::/48, - 2001:470:1b6f::/48, - 2001:470:1f05:1::/64, - 2001:470:1f05:2::/63, - 2001:470:1f05:5::/64, - 2001:470:1f05:e::/63, - 2001:470:1f05:10::/64, - 2001:470:1f05:13::/64, - 2001:470:1f05:16::/63, - 2001:470:1f05:18::/64, - 2001:470:1f05:23::/64, - 2001:470:1f05:27::/64, - 2001:470:1f05:29::/64, - 2001:470:1f05:31::/64, - 2001:470:1f05:32::/63, - 2001:470:1f05:37::/64, - 2001:470:1f05:39::/64, - 2001:470:1f05:3e::/64, - 2001:470:1f05:40::/64, - 2001:470:1f05:43::/64, - 2001:470:1f05:45::/64, - 2001:470:1f05:49::/64, - 2001:470:1f05:4b::/64, - 2001:470:1f05:4c::/64, - 2001:470:1f05:50::/64, - 2001:470:1f05:52::/63, - 2001:470:1f05:54::/64, - 2001:470:1f05:56::/64, - 2001:470:1f05:59::/64, - 2001:470:1f05:5a::/64, - 2001:470:1f05:5c::/64, - 2001:470:1f05:5e::/64, - 2001:470:1f05:69::/64, - 2001:470:1f05:6c::/64, - 2001:470:1f05:6e::/64, - 2001:470:1f05:75::/64, - 2001:470:1f05:78::/64, - 2001:470:1f05:7c::/63, - 2001:470:1f05:7e::/64, - 2001:470:1f05:82::/64, - 2001:470:1f05:85::/64, - 2001:470:1f05:8b::/64, - 2001:470:1f05:91::/64, - 2001:470:1f05:92::/63, - 2001:470:1f05:98::/63, - 2001:470:1f05:9c::/64, - 2001:470:1f05:9f::/64, - 2001:470:1f05:ad::/64, - 2001:470:1f05:ae::/63, - 2001:470:1f05:b2::/64, - 2001:470:1f05:b5::/64, - 2001:470:1f05:b6::/64, - 2001:470:1f05:b8::/63, - 2001:470:1f05:ba::/64, - 2001:470:1f05:c0::/64, - 2001:470:1f05:c2::/63, - 2001:470:1f05:c5::/64, - 2001:470:1f05:c6::/64, - 2001:470:1f05:c8::/64, - 2001:470:1f05:ca::/63, - 2001:470:1f05:cc::/63, - 2001:470:1f05:db::/64, - 2001:470:1f05:de::/63, - 2001:470:1f05:e0::/64, - 2001:470:1f05:e7::/64, - 2001:470:1f05:eb::/64, - 2001:470:1f05:ec::/64, - 2001:470:1f05:f0::/64, - 2001:470:1f05:f4::/64, - 2001:470:1f05:f6::/64, - 2001:470:1f05:f9::/64, - 2001:470:1f05:fb::/64, - 2001:470:1f05:ff::/64, - 2001:470:1f05:104::/64, - 2001:470:1f05:107::/64, - 2001:470:1f05:109::/64, - 2001:470:1f05:10a::/64, - 2001:470:1f05:10c::/64, - 2001:470:1f05:10f::/64, - 2001:470:1f05:110::/64, - 2001:470:1f05:114::/63, - 2001:470:1f05:118::/63, - 2001:470:1f05:11b::/64, - 2001:470:1f05:11c::/64, - 2001:470:1f05:120::/62, - 2001:470:1f05:12b::/64, - 2001:470:1f05:12d::/64, - 2001:470:1f05:12e::/64, - 2001:470:1f05:130::/63, - 2001:470:1f05:137::/64, - 2001:470:1f05:139::/64, - 2001:470:1f05:13b::/64, - 2001:470:1f05:13d::/64, - 2001:470:1f05:13f::/64, - 2001:470:1f05:140::/64, - 2001:470:1f05:142::/64, - 2001:470:1f05:14b::/64, - 2001:470:1f05:14c::/63, - 2001:470:1f05:14e::/64, - 2001:470:1f05:151::/64, - 2001:470:1f05:154::/64, - 2001:470:1f05:158::/64, - 2001:470:1f05:15c::/63, - 2001:470:1f05:162::/63, - 2001:470:1f05:16d::/64, - 2001:470:1f05:16f::/64, - 2001:470:1f05:17d::/64, - 2001:470:1f05:17e::/63, - 2001:470:1f05:181::/64, - 2001:470:1f05:183::/64, - 2001:470:1f05:184::/63, - 2001:470:1f05:186::/64, - 2001:470:1f05:188::/63, - 2001:470:1f05:192::/63, - 2001:470:1f05:196::/64, - 2001:470:1f05:199::/64, - 2001:470:1f05:19c::/64, - 2001:470:1f05:19f::/64, - 2001:470:1f05:1a6::/64, - 2001:470:1f05:1a8::/64, - 2001:470:1f05:1ae::/63, - 2001:470:1f05:1b0::/63, - 2001:470:1f05:1b3::/64, - 2001:470:1f05:1b4::/63, - 2001:470:1f05:1b6::/64, - 2001:470:1f05:1b8::/64, - 2001:470:1f05:1ba::/64, - 2001:470:1f05:1bc::/63, - 2001:470:1f05:1be::/64, - 2001:470:1f05:1c6::/64, - 2001:470:1f05:1c9::/64, - 2001:470:1f05:1ca::/64, - 2001:470:1f05:1cf::/64, - 2001:470:1f05:1d2::/63, - 2001:470:1f05:1d4::/62, - 2001:470:1f05:1d8::/64, - 2001:470:1f05:1de::/64, - 2001:470:1f05:1e1::/64, - 2001:470:1f05:1e4::/63, - 2001:470:1f05:1ec::/64, - 2001:470:1f05:1f3::/64, - 2001:470:1f05:1f4::/64, - 2001:470:1f05:1fa::/63, - 2001:470:1f05:202::/64, - 2001:470:1f05:206::/64, - 2001:470:1f05:20b::/64, - 2001:470:1f05:20e::/64, - 2001:470:1f05:210::/64, - 2001:470:1f05:217::/64, - 2001:470:1f05:21c::/63, - 2001:470:1f05:221::/64, - 2001:470:1f05:222::/63, - 2001:470:1f05:224::/63, - 2001:470:1f05:22a::/64, - 2001:470:1f05:22c::/63, - 2001:470:1f05:231::/64, - 2001:470:1f05:234::/63, - 2001:470:1f05:238::/64, - 2001:470:1f05:23a::/64, - 2001:470:1f05:23d::/64, - 2001:470:1f05:23f::/64, - 2001:470:1f05:241::/64, - 2001:470:1f05:246::/64, - 2001:470:1f05:248::/64, - 2001:470:1f05:24e::/64, - 2001:470:1f05:250::/64, - 2001:470:1f05:25c::/64, - 2001:470:1f05:261::/64, - 2001:470:1f05:263::/64, - 2001:470:1f05:264::/63, - 2001:470:1f05:266::/64, - 2001:470:1f05:270::/64, - 2001:470:1f05:278::/64, - 2001:470:1f05:27a::/63, - 2001:470:1f05:28f::/64, - 2001:470:1f05:290::/64, - 2001:470:1f05:29b::/64, - 2001:470:1f05:2a5::/64, - 2001:470:1f05:2bb::/64, - 2001:470:1f05:2d6::/64, - 2001:470:1f05:2db::/64, - 2001:470:1f05:2e4::/64, - 2001:470:1f05:2e8::/64, - 2001:470:1f05:2ea::/64, - 2001:470:1f05:2ec::/64, - 2001:470:1f05:2ee::/64, - 2001:470:1f05:2f4::/64, - 2001:470:1f05:2fa::/64, - 2001:470:1f05:30f::/64, - 2001:470:1f05:318::/63, - 2001:470:1f05:31a::/64, - 2001:470:1f05:331::/64, - 2001:470:1f05:341::/64, - 2001:470:1f05:345::/64, - 2001:470:1f05:34b::/64, - 2001:470:1f05:34e::/63, - 2001:470:1f05:351::/64, - 2001:470:1f05:353::/64, - 2001:470:1f05:355::/64, - 2001:470:1f05:356::/63, - 2001:470:1f05:358::/64, - 2001:470:1f05:362::/63, - 2001:470:1f05:365::/64, - 2001:470:1f05:367::/64, - 2001:470:1f05:369::/64, - 2001:470:1f05:36b::/64, - 2001:470:1f05:36d::/64, - 2001:470:1f05:36e::/64, - 2001:470:1f05:372::/64, - 2001:470:1f05:375::/64, - 2001:470:1f05:376::/63, - 2001:470:1f05:379::/64, - 2001:470:1f05:37a::/64, - 2001:470:1f05:37d::/64, - 2001:470:1f05:380::/64, - 2001:470:1f05:383::/64, - 2001:470:1f05:384::/64, - 2001:470:1f05:38c::/64, - 2001:470:1f05:391::/64, - 2001:470:1f05:392::/64, - 2001:470:1f05:396::/64, - 2001:470:1f05:398::/63, - 2001:470:1f05:39c::/64, - 2001:470:1f05:39f::/64, - 2001:470:1f05:3a1::/64, - 2001:470:1f05:3a2::/64, - 2001:470:1f05:3a4::/63, - 2001:470:1f05:3a6::/64, - 2001:470:1f05:3a9::/64, - 2001:470:1f05:3b4::/63, - 2001:470:1f05:3b6::/64, - 2001:470:1f05:3bf::/64, - 2001:470:1f05:3c4::/64, - 2001:470:1f05:3ce::/63, - 2001:470:1f05:3d3::/64, - 2001:470:1f05:3d7::/64, - 2001:470:1f05:3e2::/64, - 2001:470:1f05:3e5::/64, - 2001:470:1f05:3e7::/64, - 2001:470:1f05:3e8::/64, - 2001:470:1f05:3ea::/64, - 2001:470:1f05:3f4::/64, - 2001:470:1f05:3fa::/64, - 2001:470:1f05:3fd::/64, - 2001:470:1f05:3fe::/63, - 2001:470:1f05:403::/64, - 2001:470:1f05:407::/64, - 2001:470:1f05:40a::/64, - 2001:470:1f05:40d::/64, - 2001:470:1f05:40e::/64, - 2001:470:1f05:412::/64, - 2001:470:1f05:414::/63, - 2001:470:1f05:416::/64, - 2001:470:1f05:41a::/64, - 2001:470:1f05:423::/64, - 2001:470:1f05:424::/64, - 2001:470:1f05:432::/64, - 2001:470:1f05:434::/63, - 2001:470:1f05:440::/64, - 2001:470:1f05:44b::/64, - 2001:470:1f05:44c::/63, - 2001:470:1f05:45b::/64, - 2001:470:1f05:468::/64, - 2001:470:1f05:470::/64, - 2001:470:1f05:472::/64, - 2001:470:1f05:474::/64, - 2001:470:1f05:476::/63, - 2001:470:1f05:489::/64, - 2001:470:1f05:48b::/64, - 2001:470:1f05:494::/64, - 2001:470:1f05:497::/64, - 2001:470:1f05:49f::/64, - 2001:470:1f05:4a9::/64, - 2001:470:1f05:4af::/64, - 2001:470:1f05:4b3::/64, - 2001:470:1f05:4bf::/64, - 2001:470:1f05:4c3::/64, - 2001:470:1f05:4d1::/64, - 2001:470:1f05:4d3::/64, - 2001:470:1f05:4d4::/64, - 2001:470:1f05:4d7::/64, - 2001:470:1f05:4e0::/63, - 2001:470:1f05:4e7::/64, - 2001:470:1f05:4f0::/64, - 2001:470:1f05:502::/64, - 2001:470:1f05:506::/64, - 2001:470:1f05:50d::/64, - 2001:470:1f05:51d::/64, - 2001:470:1f05:52c::/64, - 2001:470:1f05:52e::/64, - 2001:470:1f05:534::/64, - 2001:470:1f05:537::/64, - 2001:470:1f05:545::/64, - 2001:470:1f05:54a::/63, - 2001:470:1f05:551::/64, - 2001:470:1f05:554::/64, - 2001:470:1f05:557::/64, - 2001:470:1f05:55e::/64, - 2001:470:1f05:564::/64, - 2001:470:1f05:56c::/64, - 2001:470:1f05:56e::/64, - 2001:470:1f05:574::/64, - 2001:470:1f05:57a::/64, - 2001:470:1f05:584::/64, - 2001:470:1f05:591::/64, - 2001:470:1f05:5a2::/64, - 2001:470:1f05:5ad::/64, - 2001:470:1f05:5b8::/64, - 2001:470:1f05:5c3::/64, - 2001:470:1f05:5c9::/64, - 2001:470:1f05:5cd::/64, - 2001:470:1f05:5d1::/64, - 2001:470:1f05:5d5::/64, - 2001:470:1f05:5d6::/63, - 2001:470:1f05:5d9::/64, - 2001:470:1f05:5da::/64, - 2001:470:1f05:5dc::/63, - 2001:470:1f05:5e0::/64, - 2001:470:1f05:5e2::/64, - 2001:470:1f05:5ea::/64, - 2001:470:1f05:5ec::/64, - 2001:470:1f05:5f1::/64, - 2001:470:1f05:5f3::/64, - 2001:470:1f05:5f4::/64, - 2001:470:1f05:5fa::/64, - 2001:470:1f05:5fc::/64, - 2001:470:1f05:60a::/64, - 2001:470:1f05:613::/64, - 2001:470:1f05:629::/64, - 2001:470:1f05:62f::/64, - 2001:470:1f05:63a::/64, - 2001:470:1f05:63d::/64, - 2001:470:1f05:641::/64, - 2001:470:1f05:643::/64, - 2001:470:1f05:645::/64, - 2001:470:1f05:646::/64, - 2001:470:1f05:650::/64, - 2001:470:1f05:653::/64, - 2001:470:1f05:659::/64, - 2001:470:1f05:65b::/64, - 2001:470:1f05:65c::/64, - 2001:470:1f05:669::/64, - 2001:470:1f05:66b::/64, - 2001:470:1f05:674::/64, - 2001:470:1f05:680::/64, - 2001:470:1f05:682::/64, - 2001:470:1f05:684::/64, - 2001:470:1f05:689::/64, - 2001:470:1f05:68e::/64, - 2001:470:1f05:690::/64, - 2001:470:1f05:694::/63, - 2001:470:1f05:69a::/64, - 2001:470:1f05:6a4::/64, - 2001:470:1f05:6a8::/64, - 2001:470:1f05:6b3::/64, - 2001:470:1f05:6b9::/64, - 2001:470:1f05:6bc::/64, - 2001:470:1f05:6be::/64, - 2001:470:1f05:6c7::/64, - 2001:470:1f05:6c8::/64, - 2001:470:1f05:6cb::/64, - 2001:470:1f05:6cc::/64, - 2001:470:1f05:6ce::/64, - 2001:470:1f05:6d8::/64, - 2001:470:1f05:6ed::/64, - 2001:470:1f05:6f2::/63, - 2001:470:1f05:6fa::/64, - 2001:470:1f05:704::/64, - 2001:470:1f05:707::/64, - 2001:470:1f05:709::/64, - 2001:470:1f05:70e::/64, - 2001:470:1f05:71b::/64, - 2001:470:1f05:71e::/64, - 2001:470:1f05:726::/64, - 2001:470:1f05:72d::/64, - 2001:470:1f05:741::/64, - 2001:470:1f05:748::/64, - 2001:470:1f05:74c::/64, - 2001:470:1f05:775::/64, - 2001:470:1f05:77a::/64, - 2001:470:1f05:77c::/64, - 2001:470:1f05:782::/64, - 2001:470:1f05:78d::/64, - 2001:470:1f05:7b0::/64, - 2001:470:1f05:7b6::/63, - 2001:470:1f05:7c7::/64, - 2001:470:1f05:7ff::/64, - 2001:470:1f05:804::/64, - 2001:470:1f05:81e::/64, - 2001:470:1f05:832::/64, - 2001:470:1f05:835::/64, - 2001:470:1f05:83f::/64, - 2001:470:1f05:840::/64, - 2001:470:1f05:84e::/64, - 2001:470:1f05:85e::/64, - 2001:470:1f05:882::/64, - 2001:470:1f05:88d::/64, - 2001:470:1f05:894::/64, - 2001:470:1f05:8b0::/63, - 2001:470:1f05:8b5::/64, - 2001:470:1f05:8d8::/64, - 2001:470:1f05:8db::/64, - 2001:470:1f05:8e2::/64, - 2001:470:1f05:8ec::/64, - 2001:470:1f05:8ef::/64, - 2001:470:1f05:8f0::/64, - 2001:470:1f05:8f4::/64, - 2001:470:1f05:8fc::/64, - 2001:470:1f05:8ff::/64, - 2001:470:1f05:902::/64, - 2001:470:1f05:904::/64, - 2001:470:1f05:907::/64, - 2001:470:1f05:90b::/64, - 2001:470:1f05:913::/64, - 2001:470:1f05:914::/64, - 2001:470:1f05:919::/64, - 2001:470:1f05:91c::/64, - 2001:470:1f05:920::/63, - 2001:470:1f05:926::/64, - 2001:470:1f05:92f::/64, - 2001:470:1f05:931::/64, - 2001:470:1f05:932::/64, - 2001:470:1f05:936::/64, - 2001:470:1f05:93e::/64, - 2001:470:1f05:944::/63, - 2001:470:1f05:946::/64, - 2001:470:1f05:94f::/64, - 2001:470:1f05:965::/64, - 2001:470:1f05:96c::/64, - 2001:470:1f05:96e::/64, - 2001:470:1f05:970::/64, - 2001:470:1f05:972::/64, - 2001:470:1f05:980::/64, - 2001:470:1f05:984::/64, - 2001:470:1f05:986::/64, - 2001:470:1f05:98c::/63, - 2001:470:1f05:992::/64, - 2001:470:1f05:99b::/64, - 2001:470:1f05:9a1::/64, - 2001:470:1f05:9af::/64, - 2001:470:1f05:9b0::/64, - 2001:470:1f05:9b5::/64, - 2001:470:1f05:9c1::/64, - 2001:470:1f05:9c2::/64, - 2001:470:1f05:9d1::/64, - 2001:470:1f05:9ed::/64, - 2001:470:1f05:a0b::/64, - 2001:470:1f05:a0d::/64, - 2001:470:1f05:a1b::/64, - 2001:470:1f05:a1c::/63, - 2001:470:1f05:a1e::/64, - 2001:470:1f05:a23::/64, - 2001:470:1f05:a52::/64, - 2001:470:1f05:a66::/64, - 2001:470:1f05:ab8::/64, - 2001:470:1f05:adb::/64, - 2001:470:1f05:b3f::/64, - 2001:470:1f05:c8b::/64, - 2001:470:1f05:e15::/64, - 2001:470:1f05:f2b::/64, - 2001:470:1f05:10b0::/64, - 2001:470:1f05:10c3::/64, - 2001:470:1f05:10de::/64, - 2001:470:1f05:117b::/64, - 2001:470:1f07:6::/64, - 2001:470:1f07:14::/64, - 2001:470:1f07:20::/64, - 2001:470:1f07:33::/64, - 2001:470:1f07:34::/63, - 2001:470:1f07:37::/64, - 2001:470:1f07:43::/64, - 2001:470:1f07:4a::/64, - 2001:470:1f07:56::/64, - 2001:470:1f07:5e::/64, - 2001:470:1f07:62::/64, - 2001:470:1f07:6a::/64, - 2001:470:1f07:74::/64, - 2001:470:1f07:84::/64, - 2001:470:1f07:90::/64, - 2001:470:1f07:94::/64, - 2001:470:1f07:9a::/64, - 2001:470:1f07:9e::/64, - 2001:470:1f07:ab::/64, - 2001:470:1f07:c8::/64, - 2001:470:1f07:cb::/64, - 2001:470:1f07:cf::/64, - 2001:470:1f07:d9::/64, - 2001:470:1f07:e0::/64, - 2001:470:1f07:f4::/64, - 2001:470:1f07:100::/64, - 2001:470:1f07:104::/64, - 2001:470:1f07:10e::/63, - 2001:470:1f07:115::/64, - 2001:470:1f07:116::/64, - 2001:470:1f07:118::/64, - 2001:470:1f07:11a::/64, - 2001:470:1f07:122::/64, - 2001:470:1f07:13c::/64, - 2001:470:1f07:15e::/64, - 2001:470:1f07:163::/64, - 2001:470:1f07:16c::/64, - 2001:470:1f07:171::/64, - 2001:470:1f07:1a1::/64, - 2001:470:1f07:1a4::/64, - 2001:470:1f07:1b0::/64, - 2001:470:1f07:1c7::/64, - 2001:470:1f07:1c8::/64, - 2001:470:1f07:1dc::/64, - 2001:470:1f07:1e4::/64, - 2001:470:1f07:1f0::/64, - 2001:470:1f07:1fb::/64, - 2001:470:1f07:1fe::/64, - 2001:470:1f07:206::/64, - 2001:470:1f07:20d::/64, - 2001:470:1f07:211::/64, - 2001:470:1f07:22b::/64, - 2001:470:1f07:235::/64, - 2001:470:1f07:236::/64, - 2001:470:1f07:252::/64, - 2001:470:1f07:259::/64, - 2001:470:1f07:25c::/64, - 2001:470:1f07:260::/64, - 2001:470:1f07:26a::/64, - 2001:470:1f07:278::/64, - 2001:470:1f07:28c::/64, - 2001:470:1f07:2a3::/64, - 2001:470:1f07:2a4::/64, - 2001:470:1f07:2a8::/64, - 2001:470:1f07:2ad::/64, - 2001:470:1f07:2b2::/64, - 2001:470:1f07:2c6::/64, - 2001:470:1f07:2d2::/64, - 2001:470:1f07:2d5::/64, - 2001:470:1f07:2e3::/64, - 2001:470:1f07:2e5::/64, - 2001:470:1f07:2ea::/64, - 2001:470:1f07:2ec::/63, - 2001:470:1f07:2fb::/64, - 2001:470:1f07:304::/63, - 2001:470:1f07:308::/64, - 2001:470:1f07:30f::/64, - 2001:470:1f07:31a::/64, - 2001:470:1f07:329::/64, - 2001:470:1f07:32a::/64, - 2001:470:1f07:341::/64, - 2001:470:1f07:344::/64, - 2001:470:1f07:350::/64, - 2001:470:1f07:35d::/64, - 2001:470:1f07:367::/64, - 2001:470:1f07:388::/64, - 2001:470:1f07:38b::/64, - 2001:470:1f07:38f::/64, - 2001:470:1f07:39f::/64, - 2001:470:1f07:3a0::/63, - 2001:470:1f07:3b1::/64, - 2001:470:1f07:3ba::/64, - 2001:470:1f07:3be::/64, - 2001:470:1f07:3c7::/64, - 2001:470:1f07:3dc::/64, - 2001:470:1f07:3e4::/64, - 2001:470:1f07:3fd::/64, - 2001:470:1f07:406::/64, - 2001:470:1f07:417::/64, - 2001:470:1f07:453::/64, - 2001:470:1f07:468::/64, - 2001:470:1f07:471::/64, - 2001:470:1f07:4a0::/64, - 2001:470:1f07:4a4::/64, - 2001:470:1f07:4b1::/64, - 2001:470:1f07:4bb::/64, - 2001:470:1f07:4c0::/63, - 2001:470:1f07:4c6::/63, - 2001:470:1f07:4d7::/64, - 2001:470:1f07:4e2::/64, - 2001:470:1f07:4ea::/64, - 2001:470:1f07:4f1::/64, - 2001:470:1f07:4f2::/64, - 2001:470:1f07:51d::/64, - 2001:470:1f07:51f::/64, - 2001:470:1f07:526::/64, - 2001:470:1f07:52e::/64, - 2001:470:1f07:555::/64, - 2001:470:1f07:556::/64, - 2001:470:1f07:56c::/64, - 2001:470:1f07:572::/64, - 2001:470:1f07:57e::/64, - 2001:470:1f07:589::/64, - 2001:470:1f07:58a::/64, - 2001:470:1f07:596::/64, - 2001:470:1f07:599::/64, - 2001:470:1f07:59a::/64, - 2001:470:1f07:5a5::/64, - 2001:470:1f07:5b5::/64, - 2001:470:1f07:5b9::/64, - 2001:470:1f07:5be::/64, - 2001:470:1f07:5c8::/64, - 2001:470:1f07:5cf::/64, - 2001:470:1f07:5e8::/64, - 2001:470:1f07:5ea::/64, - 2001:470:1f07:61b::/64, - 2001:470:1f07:620::/64, - 2001:470:1f07:62c::/64, - 2001:470:1f07:630::/64, - 2001:470:1f07:64c::/64, - 2001:470:1f07:655::/64, - 2001:470:1f07:665::/64, - 2001:470:1f07:666::/64, - 2001:470:1f07:66d::/64, - 2001:470:1f07:66e::/64, - 2001:470:1f07:680::/64, - 2001:470:1f07:687::/64, - 2001:470:1f07:68e::/63, - 2001:470:1f07:693::/64, - 2001:470:1f07:696::/64, - 2001:470:1f07:69a::/64, - 2001:470:1f07:69d::/64, - 2001:470:1f07:6a1::/64, - 2001:470:1f07:6a6::/64, - 2001:470:1f07:6b1::/64, - 2001:470:1f07:6ba::/64, - 2001:470:1f07:6be::/64, - 2001:470:1f07:6c1::/64, - 2001:470:1f07:6dc::/64, - 2001:470:1f07:6ef::/64, - 2001:470:1f07:6f6::/63, - 2001:470:1f07:700::/63, - 2001:470:1f07:708::/64, - 2001:470:1f07:70d::/64, - 2001:470:1f07:715::/64, - 2001:470:1f07:718::/64, - 2001:470:1f07:71e::/64, - 2001:470:1f07:721::/64, - 2001:470:1f07:73a::/63, - 2001:470:1f07:73d::/64, - 2001:470:1f07:74a::/64, - 2001:470:1f07:754::/64, - 2001:470:1f07:76e::/63, - 2001:470:1f07:775::/64, - 2001:470:1f07:776::/64, - 2001:470:1f07:781::/64, - 2001:470:1f07:784::/64, - 2001:470:1f07:791::/64, - 2001:470:1f07:79a::/64, - 2001:470:1f07:7a0::/64, - 2001:470:1f07:7a6::/64, - 2001:470:1f07:7c3::/64, - 2001:470:1f07:7c6::/64, - 2001:470:1f07:7cd::/64, - 2001:470:1f07:7e0::/64, - 2001:470:1f07:7e4::/64, - 2001:470:1f07:7f4::/64, - 2001:470:1f07:7f9::/64, - 2001:470:1f07:7fa::/64, - 2001:470:1f07:7ff::/64, - 2001:470:1f07:800::/64, - 2001:470:1f07:810::/64, - 2001:470:1f07:827::/64, - 2001:470:1f07:828::/64, - 2001:470:1f07:82c::/64, - 2001:470:1f07:82e::/63, - 2001:470:1f07:83a::/64, - 2001:470:1f07:84e::/64, - 2001:470:1f07:850::/63, - 2001:470:1f07:854::/64, - 2001:470:1f07:896::/64, - 2001:470:1f07:8a2::/64, - 2001:470:1f07:8aa::/64, - 2001:470:1f07:8ac::/64, - 2001:470:1f07:8bd::/64, - 2001:470:1f07:8c6::/64, - 2001:470:1f07:8cd::/64, - 2001:470:1f07:8fb::/64, - 2001:470:1f07:902::/64, - 2001:470:1f07:913::/64, - 2001:470:1f07:923::/64, - 2001:470:1f07:924::/64, - 2001:470:1f07:927::/64, - 2001:470:1f07:943::/64, - 2001:470:1f07:948::/63, - 2001:470:1f07:94f::/64, - 2001:470:1f07:955::/64, - 2001:470:1f07:96a::/64, - 2001:470:1f07:96e::/64, - 2001:470:1f07:970::/64, - 2001:470:1f07:979::/64, - 2001:470:1f07:98a::/64, - 2001:470:1f07:993::/64, - 2001:470:1f07:bbc::/64, - 2001:470:1f07:c1d::/64, - 2001:470:1f07:c40::/64, - 2001:470:1f07:ea6::/64, - 2001:470:1f07:eab::/64, - 2001:470:1f07:eac::/64, - 2001:470:1f07:ed9::/64, - 2001:470:1f07:1087::/64, - 2001:470:1f07:111f::/64, - 2001:470:1f07:1474::/64, - 2001:470:1f07:1591::/64, - 2001:470:1f09:5f::/64, - 2001:470:1f09:89::/64, - 2001:470:1f09:ef::/64, - 2001:470:1f09:fc::/64, - 2001:470:1f09:103::/64, - 2001:470:1f09:11f::/64, - 2001:470:1f09:139::/64, - 2001:470:1f09:16d::/64, - 2001:470:1f09:182::/64, - 2001:470:1f09:187::/64, - 2001:470:1f09:1d4::/64, - 2001:470:1f09:208::/64, - 2001:470:1f09:21c::/64, - 2001:470:1f09:29a::/64, - 2001:470:1f09:2dc::/64, - 2001:470:1f09:2de::/64, - 2001:470:1f09:2ee::/64, - 2001:470:1f09:316::/64, - 2001:470:1f09:332::/64, - 2001:470:1f09:369::/64, - 2001:470:1f09:36e::/64, - 2001:470:1f09:370::/64, - 2001:470:1f09:372::/64, - 2001:470:1f09:38a::/64, - 2001:470:1f09:393::/64, - 2001:470:1f09:3af::/64, - 2001:470:1f09:3dc::/64, - 2001:470:1f09:3fc::/64, - 2001:470:1f09:411::/64, - 2001:470:1f09:41e::/64, - 2001:470:1f09:42a::/63, - 2001:470:1f09:55b::/64, - 2001:470:1f09:5f0::/64, - 2001:470:1f09:678::/64, - 2001:470:1f09:6ee::/64, - 2001:470:1f09:731::/64, - 2001:470:1f09:807::/64, - 2001:470:1f09:86c::/64, - 2001:470:1f09:950::/64, - 2001:470:1f09:95e::/64, - 2001:470:1f09:973::/64, - 2001:470:1f09:97b::/64, - 2001:470:1f09:99d::/64, - 2001:470:1f09:aa7::/64, - 2001:470:1f09:b7c::/64, - 2001:470:1f09:bd8::/64, - 2001:470:1f09:be0::/64, - 2001:470:1f09:bef::/64, - 2001:470:1f09:c37::/64, - 2001:470:1f09:cef::/64, - 2001:470:1f09:d2a::/64, - 2001:470:1f09:12e3::/64, - 2001:470:1f0b:5e::/64, - 2001:470:1f0b:71::/64, - 2001:470:1f0b:a4::/64, - 2001:470:1f0b:159::/64, - 2001:470:1f0b:177::/64, - 2001:470:1f0b:18f::/64, - 2001:470:1f0b:1b6::/64, - 2001:470:1f0b:254::/64, - 2001:470:1f0b:2e6::/64, - 2001:470:1f0b:372::/64, - 2001:470:1f0b:392::/64, - 2001:470:1f0b:3c0::/64, - 2001:470:1f0b:3d1::/64, - 2001:470:1f0b:3e5::/64, - 2001:470:1f0b:3f2::/64, - 2001:470:1f0b:42a::/64, - 2001:470:1f0b:44a::/64, - 2001:470:1f0b:47d::/64, - 2001:470:1f0b:501::/64, - 2001:470:1f0b:507::/64, - 2001:470:1f0b:59f::/64, - 2001:470:1f0b:5cc::/64, - 2001:470:1f0b:5e9::/64, - 2001:470:1f0b:665::/64, - 2001:470:1f0b:676::/64, - 2001:470:1f0b:6f2::/64, - 2001:470:1f0b:773::/64, - 2001:470:1f0b:7c6::/64, - 2001:470:1f0b:8ec::/64, - 2001:470:1f0b:972::/64, - 2001:470:1f0b:ab2::/64, - 2001:470:1f0b:b48::/64, - 2001:470:1f0b:b4f::/64, - 2001:470:1f0b:b75::/64, - 2001:470:1f0b:bb6::/64, - 2001:470:1f0b:c2a::/64, - 2001:470:1f0b:c6b::/64, - 2001:470:1f0b:c8e::/64, - 2001:470:1f0b:cb5::/64, - 2001:470:1f0b:cd0::/64, - 2001:470:1f0b:cf1::/64, - 2001:470:1f0b:d0f::/64, - 2001:470:1f0b:dc9::/64, - 2001:470:1f0b:e2e::/64, - 2001:470:1f0b:e84::/64, - 2001:470:1f0b:ea7::/64, - 2001:470:1f0b:ed1::/64, - 2001:470:1f0b:fa8::/64, - 2001:470:1f0b:fcf::/64, - 2001:470:1f0b:1011::/64, - 2001:470:1f0b:1013::/64, - 2001:470:1f0b:1032::/64, - 2001:470:1f0b:10f7::/64, - 2001:470:1f0b:10fb::/64, - 2001:470:1f0b:10fc::/64, - 2001:470:1f0b:1102::/64, - 2001:470:1f0b:110e::/63, - 2001:470:1f0b:111a::/64, - 2001:470:1f0b:111d::/64, - 2001:470:1f0b:115e::/64, - 2001:470:1f0b:1183::/64, - 2001:470:1f0b:1187::/64, - 2001:470:1f0b:11d9::/64, - 2001:470:1f0b:120b::/64, - 2001:470:1f0b:12fd::/64, - 2001:470:1f0f:3::/64, - 2001:470:1f0f:6::/64, - 2001:470:1f0f:9::/64, - 2001:470:1f0f:b::/64, - 2001:470:1f0f:d::/64, - 2001:470:1f0f:f::/64, - 2001:470:1f0f:12::/64, - 2001:470:1f0f:3b::/64, - 2001:470:1f0f:45::/64, - 2001:470:1f0f:5d::/64, - 2001:470:1f0f:6d::/64, - 2001:470:1f0f:81::/64, - 2001:470:1f0f:8f::/64, - 2001:470:1f0f:90::/64, - 2001:470:1f0f:95::/64, - 2001:470:1f0f:a6::/64, - 2001:470:1f0f:b4::/64, - 2001:470:1f0f:be::/64, - 2001:470:1f0f:d0::/63, - 2001:470:1f0f:d4::/63, - 2001:470:1f0f:e5::/64, - 2001:470:1f0f:e9::/64, - 2001:470:1f0f:ea::/64, - 2001:470:1f0f:ef::/64, - 2001:470:1f0f:fb::/64, - 2001:470:1f0f:fe::/63, - 2001:470:1f0f:101::/64, - 2001:470:1f0f:10e::/64, - 2001:470:1f0f:114::/64, - 2001:470:1f0f:126::/64, - 2001:470:1f0f:12c::/64, - 2001:470:1f0f:130::/64, - 2001:470:1f0f:138::/63, - 2001:470:1f0f:140::/64, - 2001:470:1f0f:152::/64, - 2001:470:1f0f:16e::/64, - 2001:470:1f0f:188::/64, - 2001:470:1f0f:192::/64, - 2001:470:1f0f:196::/64, - 2001:470:1f0f:199::/64, - 2001:470:1f0f:1c1::/64, - 2001:470:1f0f:1c6::/64, - 2001:470:1f0f:1cd::/64, - 2001:470:1f0f:1d2::/64, - 2001:470:1f0f:1e9::/64, - 2001:470:1f0f:1ed::/64, - 2001:470:1f0f:20c::/64, - 2001:470:1f0f:227::/64, - 2001:470:1f0f:242::/64, - 2001:470:1f0f:257::/64, - 2001:470:1f0f:25c::/64, - 2001:470:1f0f:269::/64, - 2001:470:1f0f:270::/64, - 2001:470:1f0f:283::/64, - 2001:470:1f0f:28f::/64, - 2001:470:1f0f:292::/64, - 2001:470:1f0f:294::/64, - 2001:470:1f0f:2a0::/63, - 2001:470:1f0f:2aa::/63, - 2001:470:1f0f:2af::/64, - 2001:470:1f0f:2b3::/64, - 2001:470:1f0f:2bf::/64, - 2001:470:1f0f:2d2::/64, - 2001:470:1f0f:2d9::/64, - 2001:470:1f0f:2e4::/64, - 2001:470:1f0f:302::/64, - 2001:470:1f0f:305::/64, - 2001:470:1f0f:30a::/63, - 2001:470:1f0f:313::/64, - 2001:470:1f0f:31e::/64, - 2001:470:1f0f:322::/64, - 2001:470:1f0f:332::/64, - 2001:470:1f0f:337::/64, - 2001:470:1f0f:342::/64, - 2001:470:1f0f:34e::/64, - 2001:470:1f0f:358::/64, - 2001:470:1f0f:35b::/64, - 2001:470:1f0f:366::/64, - 2001:470:1f0f:36a::/64, - 2001:470:1f0f:373::/64, - 2001:470:1f0f:374::/64, - 2001:470:1f0f:37e::/64, - 2001:470:1f0f:385::/64, - 2001:470:1f0f:398::/64, - 2001:470:1f0f:39b::/64, - 2001:470:1f0f:3ad::/64, - 2001:470:1f0f:3ae::/64, - 2001:470:1f0f:3b1::/64, - 2001:470:1f0f:3c9::/64, - 2001:470:1f0f:3ca::/64, - 2001:470:1f0f:3e6::/64, - 2001:470:1f0f:3ff::/64, - 2001:470:1f0f:44f::/64, - 2001:470:1f0f:4a5::/64, - 2001:470:1f0f:4c3::/64, - 2001:470:1f0f:536::/64, - 2001:470:1f0f:555::/64, - 2001:470:1f0f:569::/64, - 2001:470:1f0f:576::/64, - 2001:470:1f0f:5a6::/64, - 2001:470:1f0f:5c2::/64, - 2001:470:1f0f:5dc::/64, - 2001:470:1f0f:606::/64, - 2001:470:1f0f:614::/64, - 2001:470:1f0f:621::/64, - 2001:470:1f0f:627::/64, - 2001:470:1f0f:628::/64, - 2001:470:1f0f:62c::/64, - 2001:470:1f0f:62e::/64, - 2001:470:1f0f:637::/64, - 2001:470:1f0f:638::/64, - 2001:470:1f0f:63a::/64, - 2001:470:1f0f:63c::/64, - 2001:470:1f0f:63e::/63, - 2001:470:1f0f:640::/64, - 2001:470:1f0f:643::/64, - 2001:470:1f0f:647::/64, - 2001:470:1f0f:649::/64, - 2001:470:1f0f:64b::/64, - 2001:470:1f0f:64d::/64, - 2001:470:1f0f:652::/64, - 2001:470:1f0f:657::/64, - 2001:470:1f0f:65c::/63, - 2001:470:1f0f:66b::/64, - 2001:470:1f0f:66c::/64, - 2001:470:1f0f:66f::/64, - 2001:470:1f0f:678::/64, - 2001:470:1f0f:67c::/64, - 2001:470:1f0f:687::/64, - 2001:470:1f0f:689::/64, - 2001:470:1f0f:691::/64, - 2001:470:1f0f:692::/64, - 2001:470:1f0f:698::/64, - 2001:470:1f0f:69c::/64, - 2001:470:1f0f:69e::/63, - 2001:470:1f0f:6a4::/64, - 2001:470:1f0f:6a6::/63, - 2001:470:1f0f:6b5::/64, - 2001:470:1f0f:6b8::/64, - 2001:470:1f0f:778::/64, - 2001:470:1f0f:8bb::/64, - 2001:470:1f0f:922::/64, - 2001:470:1f0f:995::/64, - 2001:470:1f11:a::/64, - 2001:470:1f11:21::/64, - 2001:470:1f11:5d::/64, - 2001:470:1f11:61::/64, - 2001:470:1f11:62::/64, - 2001:470:1f11:6a::/64, - 2001:470:1f11:93::/64, - 2001:470:1f11:98::/64, - 2001:470:1f11:a2::/64, - 2001:470:1f11:10c::/64, - 2001:470:1f11:132::/64, - 2001:470:1f11:134::/64, - 2001:470:1f11:148::/64, - 2001:470:1f11:157::/64, - 2001:470:1f11:15b::/64, - 2001:470:1f11:15c::/64, - 2001:470:1f11:15f::/64, - 2001:470:1f11:177::/64, - 2001:470:1f11:1a3::/64, - 2001:470:1f11:1b6::/64, - 2001:470:1f11:1bc::/64, - 2001:470:1f11:1c5::/64, - 2001:470:1f11:1ea::/64, - 2001:470:1f11:1ec::/63, - 2001:470:1f11:203::/64, - 2001:470:1f11:20a::/64, - 2001:470:1f11:241::/64, - 2001:470:1f11:248::/64, - 2001:470:1f11:257::/64, - 2001:470:1f11:25b::/64, - 2001:470:1f11:264::/64, - 2001:470:1f11:266::/64, - 2001:470:1f11:279::/64, - 2001:470:1f11:27e::/64, - 2001:470:1f11:282::/64, - 2001:470:1f11:292::/64, - 2001:470:1f11:2a6::/64, - 2001:470:1f11:2b0::/64, - 2001:470:1f11:2b2::/64, - 2001:470:1f11:2b9::/64, - 2001:470:1f11:2ba::/64, - 2001:470:1f11:2cd::/64, - 2001:470:1f11:2df::/64, - 2001:470:1f11:2ef::/64, - 2001:470:1f11:301::/64, - 2001:470:1f11:303::/64, - 2001:470:1f11:314::/64, - 2001:470:1f11:318::/63, - 2001:470:1f11:32e::/64, - 2001:470:1f11:331::/64, - 2001:470:1f11:332::/64, - 2001:470:1f11:349::/64, - 2001:470:1f11:364::/64, - 2001:470:1f11:36b::/64, - 2001:470:1f11:376::/64, - 2001:470:1f11:37d::/64, - 2001:470:1f11:37e::/64, - 2001:470:1f11:389::/64, - 2001:470:1f11:38e::/64, - 2001:470:1f11:3a0::/64, - 2001:470:1f11:3c9::/64, - 2001:470:1f11:3d8::/64, - 2001:470:1f11:3e4::/64, - 2001:470:1f11:3f3::/64, - 2001:470:1f11:3f6::/64, - 2001:470:1f11:3fa::/64, - 2001:470:1f11:3fc::/64, - 2001:470:1f11:405::/64, - 2001:470:1f11:40e::/64, - 2001:470:1f11:418::/64, - 2001:470:1f11:41f::/64, - 2001:470:1f11:429::/64, - 2001:470:1f11:430::/64, - 2001:470:1f11:43a::/64, - 2001:470:1f11:450::/63, - 2001:470:1f11:46b::/64, - 2001:470:1f11:47a::/64, - 2001:470:1f11:492::/64, - 2001:470:1f11:494::/64, - 2001:470:1f11:4a2::/64, - 2001:470:1f11:4ac::/64, - 2001:470:1f11:4b8::/64, - 2001:470:1f11:4c1::/64, - 2001:470:1f11:4c5::/64, - 2001:470:1f11:4ce::/64, - 2001:470:1f11:4e1::/64, - 2001:470:1f11:4e2::/64, - 2001:470:1f11:4ff::/64, - 2001:470:1f11:503::/64, - 2001:470:1f11:525::/64, - 2001:470:1f11:598::/64, - 2001:470:1f11:62f::/64, - 2001:470:1f11:716::/64, - 2001:470:1f11:7b4::/64, - 2001:470:1f11:888::/64, - 2001:470:1f11:8e8::/64, - 2001:470:1f11:b41::/64, - 2001:470:1f11:ba7::/64, - 2001:470:1f11:bbf::/64, - 2001:470:1f11:bc1::/64, - 2001:470:1f13:22::/64, - 2001:470:1f13:8c::/64, - 2001:470:1f13:96::/64, - 2001:470:1f13:c5::/64, - 2001:470:1f13:e3::/64, - 2001:470:1f13:ef::/64, - 2001:470:1f13:103::/64, - 2001:470:1f13:113::/64, - 2001:470:1f13:134::/64, - 2001:470:1f13:15b::/64, - 2001:470:1f13:33b::/64, - 2001:470:1f13:3d4::/64, - 2001:470:1f13:444::/64, - 2001:470:1f13:493::/64, - 2001:470:1f13:513::/64, - 2001:470:1f13:57f::/64, - 2001:470:1f13:592::/64, - 2001:470:1f13:611::/64, - 2001:470:1f13:7d8::/64, - 2001:470:1f13:807::/64, - 2001:470:1f13:a2e::/64, - 2001:470:1f15:6::/64, - 2001:470:1f15:3b::/64, - 2001:470:1f15:93::/64, - 2001:470:1f15:97::/64, - 2001:470:1f15:b2::/64, - 2001:470:1f15:c4::/64, - 2001:470:1f15:242::/64, - 2001:470:1f15:278::/64, - 2001:470:1f15:2a6::/64, - 2001:470:1f15:2cf::/64, - 2001:470:1f15:2fe::/64, - 2001:470:1f15:315::/64, - 2001:470:1f15:32a::/64, - 2001:470:1f15:340::/64, - 2001:470:1f15:354::/64, - 2001:470:1f15:382::/64, - 2001:470:1f15:406::/64, - 2001:470:1f15:42d::/64, - 2001:470:1f15:46f::/64, - 2001:470:1f15:4b6::/64, - 2001:470:1f15:5aa::/64, - 2001:470:1f15:5f8::/64, - 2001:470:1f15:604::/64, - 2001:470:1f15:613::/64, - 2001:470:1f15:635::/64, - 2001:470:1f15:642::/64, - 2001:470:1f15:6ca::/64, - 2001:470:1f15:79e::/64, - 2001:470:1f15:7bf::/64, - 2001:470:1f15:7e4::/64, - 2001:470:1f15:898::/64, - 2001:470:1f15:8fb::/64, - 2001:470:1f15:9b5::/64, - 2001:470:1f15:a56::/64, - 2001:470:1f15:a90::/64, - 2001:470:1f15:ac7::/64, - 2001:470:1f15:c85::/64, - 2001:470:1f15:1185::/64, - 2001:470:1f17:10::/64, - 2001:470:1f17:22::/64, - 2001:470:1f17:4b::/64, - 2001:470:1f17:55::/64, - 2001:470:1f17:58::/64, - 2001:470:1f17:90::/64, - 2001:470:1f17:9d::/64, - 2001:470:1f17:a8::/64, - 2001:470:1f17:ba::/64, - 2001:470:1f17:be::/64, - 2001:470:1f17:e3::/64, - 2001:470:1f17:e6::/64, - 2001:470:1f17:e8::/63, - 2001:470:1f17:ea::/64, - 2001:470:1f17:f4::/64, - 2001:470:1f17:f8::/64, - 2001:470:1f17:111::/64, - 2001:470:1f17:118::/64, - 2001:470:1f17:11a::/63, - 2001:470:1f17:12d::/64, - 2001:470:1f17:135::/64, - 2001:470:1f17:136::/63, - 2001:470:1f17:147::/64, - 2001:470:1f17:148::/63, - 2001:470:1f17:14b::/64, - 2001:470:1f17:160::/64, - 2001:470:1f17:162::/63, - 2001:470:1f17:164::/64, - 2001:470:1f17:172::/64, - 2001:470:1f17:177::/64, - 2001:470:1f17:188::/62, - 2001:470:1f17:18e::/64, - 2001:470:1f17:214::/64, - 2001:470:1f17:217::/64, - 2001:470:1f17:25e::/64, - 2001:470:1f17:26c::/63, - 2001:470:1f17:288::/64, - 2001:470:1f17:28f::/64, - 2001:470:1f17:298::/64, - 2001:470:1f17:2b9::/64, - 2001:470:1f19:5::/64, - 2001:470:1f19:7::/64, - 2001:470:1f19:8::/64, - 2001:470:1f19:e::/64, - 2001:470:1f19:10::/63, - 2001:470:1f19:12::/64, - 2001:470:1f19:16::/63, - 2001:470:1f19:18::/64, - 2001:470:1f19:1b::/64, - 2001:470:1f19:1c::/63, - 2001:470:1f19:21::/64, - 2001:470:1f19:25::/64, - 2001:470:1f19:29::/64, - 2001:470:1f19:2a::/64, - 2001:470:1f19:30::/64, - 2001:470:1f19:3a::/64, - 2001:470:1f19:3e::/63, - 2001:470:1f19:41::/64, - 2001:470:1f19:4a::/64, - 2001:470:1f19:52::/63, - 2001:470:1f19:5b::/64, - 2001:470:1f19:5f::/64, - 2001:470:1f19:60::/64, - 2001:470:1f19:65::/64, - 2001:470:1f19:6e::/64, - 2001:470:1f19:72::/64, - 2001:470:1f19:7f::/64, - 2001:470:1f19:83::/64, - 2001:470:1f19:85::/64, - 2001:470:1f19:87::/64, - 2001:470:1f19:89::/64, - 2001:470:1f19:8b::/64, - 2001:470:1f19:93::/64, - 2001:470:1f19:96::/64, - 2001:470:1f19:98::/64, - 2001:470:1f19:9c::/64, - 2001:470:1f19:9e::/64, - 2001:470:1f19:a4::/63, - 2001:470:1f19:a6::/64, - 2001:470:1f19:a8::/64, - 2001:470:1f19:ac::/64, - 2001:470:1f19:ae::/64, - 2001:470:1f19:b5::/64, - 2001:470:1f19:bf::/64, - 2001:470:1f19:c1::/64, - 2001:470:1f19:c6::/64, - 2001:470:1f19:cb::/64, - 2001:470:1f19:d4::/64, - 2001:470:1f19:d6::/64, - 2001:470:1f19:df::/64, - 2001:470:1f19:e2::/64, - 2001:470:1f19:f2::/64, - 2001:470:1f19:f8::/63, - 2001:470:1f19:fc::/63, - 2001:470:1f19:ff::/64, - 2001:470:1f19:104::/64, - 2001:470:1f19:106::/64, - 2001:470:1f19:10b::/64, - 2001:470:1f19:10c::/63, - 2001:470:1f19:112::/64, - 2001:470:1f19:114::/64, - 2001:470:1f19:116::/63, - 2001:470:1f19:118::/63, - 2001:470:1f19:11b::/64, - 2001:470:1f19:11d::/64, - 2001:470:1f19:11e::/64, - 2001:470:1f19:120::/64, - 2001:470:1f19:125::/64, - 2001:470:1f19:126::/63, - 2001:470:1f19:128::/62, - 2001:470:1f19:130::/63, - 2001:470:1f19:134::/63, - 2001:470:1f19:137::/64, - 2001:470:1f19:139::/64, - 2001:470:1f19:13d::/64, - 2001:470:1f19:142::/64, - 2001:470:1f19:146::/64, - 2001:470:1f19:14a::/64, - 2001:470:1f19:14d::/64, - 2001:470:1f19:14e::/64, - 2001:470:1f19:152::/64, - 2001:470:1f19:15b::/64, - 2001:470:1f19:166::/64, - 2001:470:1f19:169::/64, - 2001:470:1f19:16c::/64, - 2001:470:1f19:16f::/64, - 2001:470:1f19:17b::/64, - 2001:470:1f19:17f::/64, - 2001:470:1f19:187::/64, - 2001:470:1f19:192::/64, - 2001:470:1f19:195::/64, - 2001:470:1f19:197::/64, - 2001:470:1f19:19a::/64, - 2001:470:1f19:19d::/64, - 2001:470:1f19:19f::/64, - 2001:470:1f19:1af::/64, - 2001:470:1f19:1b5::/64, - 2001:470:1f19:1ba::/64, - 2001:470:1f19:1c3::/64, - 2001:470:1f19:1d0::/64, - 2001:470:1f19:1d3::/64, - 2001:470:1f19:1dd::/64, - 2001:470:1f19:1e2::/63, - 2001:470:1f19:1e8::/63, - 2001:470:1f19:1f0::/64, - 2001:470:1f19:1f3::/64, - 2001:470:1f19:1f4::/64, - 2001:470:1f19:1fb::/64, - 2001:470:1f19:1fc::/64, - 2001:470:1f19:205::/64, - 2001:470:1f19:209::/64, - 2001:470:1f19:210::/64, - 2001:470:1f19:212::/64, - 2001:470:1f19:214::/64, - 2001:470:1f19:21a::/63, - 2001:470:1f19:220::/64, - 2001:470:1f19:223::/64, - 2001:470:1f19:224::/64, - 2001:470:1f19:228::/64, - 2001:470:1f19:22a::/64, - 2001:470:1f19:22e::/63, - 2001:470:1f19:234::/64, - 2001:470:1f19:239::/64, - 2001:470:1f19:23c::/64, - 2001:470:1f19:23f::/64, - 2001:470:1f19:245::/64, - 2001:470:1f19:25b::/64, - 2001:470:1f19:262::/64, - 2001:470:1f19:276::/64, - 2001:470:1f19:2a2::/64, - 2001:470:1f19:2bc::/64, - 2001:470:1f19:2f5::/64, - 2001:470:1f19:2ff::/64, - 2001:470:1f19:300::/64, - 2001:470:1f19:322::/64, - 2001:470:1f19:376::/64, - 2001:470:1f19:38b::/64, - 2001:470:1f19:3b9::/64, - 2001:470:1f19:3d2::/64, - 2001:470:1f19:42a::/64, - 2001:470:1f19:441::/64, - 2001:470:1f19:452::/64, - 2001:470:1f19:46f::/64, - 2001:470:1f19:4a8::/64, - 2001:470:1f19:4ae::/64, - 2001:470:1f19:4b4::/64, - 2001:470:1f19:4bd::/64, - 2001:470:1f19:4be::/64, - 2001:470:1f19:4c0::/64, - 2001:470:1f19:4d0::/64, - 2001:470:1f19:4d7::/64, - 2001:470:1f19:4e4::/64, - 2001:470:1f19:4f0::/64, - 2001:470:1f19:4f2::/64, - 2001:470:1f19:4f8::/64, - 2001:470:1f19:53c::/64, - 2001:470:1f19:5a3::/64, - 2001:470:1f19:643::/64, - 2001:470:1f19:6d3::/64, - 2001:470:1f19:763::/64, - 2001:470:1f19:773::/64, - 2001:470:1f19:79b::/64, - 2001:470:1f1b:15f::/64, - 2001:470:1f1b:2a6::/64, - 2001:470:1f1b:2da::/64, - 2001:470:1f1b:344::/64, - 2001:470:1f1b:40b::/64, - 2001:470:1f1b:47e::/64, - 2001:470:1f1b:4f0::/64, - 2001:470:1f1b:864::/64, - 2001:470:1f1d:1f::/64, - 2001:470:1f1d:20::/64, - 2001:470:1f1d:82::/64, - 2001:470:1f1d:9c::/64, - 2001:470:1f1d:116::/64, - 2001:470:1f1d:137::/64, - 2001:470:1f1d:188::/64, - 2001:470:1f1d:1a1::/64, - 2001:470:1f1d:1b4::/64, - 2001:470:1f1d:1be::/64, - 2001:470:1f1d:1e9::/64, - 2001:470:1f1d:1ec::/64, - 2001:470:1f1d:1ef::/64, - 2001:470:1f1d:207::/64, - 2001:470:1f1d:218::/64, - 2001:470:1f1d:23e::/64, - 2001:470:1f1d:253::/64, - 2001:470:1f1d:25a::/64, - 2001:470:1f1d:279::/64, - 2001:470:1f1d:299::/64, - 2001:470:1f1d:2b0::/64, - 2001:470:1f1d:2f6::/64, - 2001:470:1f1d:304::/64, - 2001:470:1f1d:31b::/64, - 2001:470:1f1d:326::/64, - 2001:470:1f1d:373::/64, - 2001:470:1f1d:376::/64, - 2001:470:1f1d:3af::/64, - 2001:470:1f1d:3f9::/64, - 2001:470:1f1d:41f::/64, - 2001:470:1f1d:47e::/64, - 2001:470:1f1d:4d2::/64, - 2001:470:1f1d:568::/64, - 2001:470:1f1d:5f6::/64, - 2001:470:1f1d:6dd::/64, - 2001:470:1f1d:7dc::/64, - 2001:470:1f1d:7e2::/64, - 2001:470:1f1d:86f::/64, - 2001:470:1f1d:875::/64, - 2001:470:1f1d:879::/64, - 2001:470:1f1d:922::/64, - 2001:470:1f1f:6::/64, - 2001:470:1f1f:e::/63, - 2001:470:1f1f:1b::/64, - 2001:470:1f1f:20::/64, - 2001:470:1f1f:24::/64, - 2001:470:1f1f:27::/64, - 2001:470:1f1f:5b::/64, - 2001:470:1f1f:5f::/64, - 2001:470:1f1f:73::/64, - 2001:470:1f1f:8b::/64, - 2001:470:1f1f:8f::/64, - 2001:470:1f1f:98::/64, - 2001:470:1f1f:a1::/64, - 2001:470:1f1f:a3::/64, - 2001:470:1f1f:a5::/64, - 2001:470:1f1f:af::/64, - 2001:470:1f1f:ce::/64, - 2001:470:1f1f:f2::/63, - 2001:470:1f1f:fc::/64, - 2001:470:1f1f:139::/64, - 2001:470:1f1f:13b::/64, - 2001:470:1f1f:13c::/62, - 2001:470:1f1f:140::/62, - 2001:470:1f1f:144::/64, - 2001:470:1f1f:147::/64, - 2001:470:1f1f:148::/64, - 2001:470:1f1f:14b::/64, - 2001:470:1f1f:14c::/63, - 2001:470:1f1f:14e::/64, - 2001:470:1f1f:167::/64, - 2001:470:1f1f:168::/61, - 2001:470:1f1f:170::/62, - 2001:470:1f1f:175::/64, - 2001:470:1f1f:176::/63, - 2001:470:1f1f:17b::/64, - 2001:470:1f1f:17d::/64, - 2001:470:1f1f:19d::/64, - 2001:470:1f1f:1b1::/64, - 2001:470:1f1f:1c0::/63, - 2001:470:1f1f:1d5::/64, - 2001:470:1f1f:1e8::/64, - 2001:470:1f1f:1f2::/64, - 2001:470:1f1f:215::/64, - 2001:470:1f1f:216::/63, - 2001:470:1f1f:218::/61, - 2001:470:1f1f:221::/64, - 2001:470:1f1f:223::/64, - 2001:470:1f1f:224::/63, - 2001:470:1f1f:226::/64, - 2001:470:1f1f:229::/64, - 2001:470:1f1f:22a::/64, - 2001:470:1f1f:22c::/63, - 2001:470:1f1f:238::/64, - 2001:470:1f1f:23c::/64, - 2001:470:1f1f:23f::/64, - 2001:470:1f1f:241::/64, - 2001:470:1f1f:242::/64, - 2001:470:1f1f:244::/63, - 2001:470:1f1f:247::/64, - 2001:470:1f1f:249::/64, - 2001:470:1f1f:24a::/64, - 2001:470:1f1f:24d::/64, - 2001:470:1f1f:250::/64, - 2001:470:1f1f:253::/64, - 2001:470:1f1f:254::/63, - 2001:470:1f1f:258::/64, - 2001:470:1f1f:25c::/64, - 2001:470:1f1f:25e::/64, - 2001:470:1f1f:260::/64, - 2001:470:1f1f:262::/64, - 2001:470:1f1f:265::/64, - 2001:470:1f1f:2b6::/64, - 2001:470:1f1f:313::/64, - 2001:470:1f1f:327::/64, - 2001:470:1f1f:328::/64, - 2001:470:1f1f:39f::/64, - 2001:470:1f1f:3ef::/64, - 2001:470:1f21:5::/64, - 2001:470:1f21:b::/64, - 2001:470:1f21:21::/64, - 2001:470:1f21:6b::/64, - 2001:470:1f21:dc::/64, - 2001:470:1f21:139::/64, - 2001:470:1f21:151::/64, - 2001:470:1f21:158::/64, - 2001:470:1f21:177::/64, - 2001:470:1f21:202::/64, - 2001:470:1f21:2a7::/64, - 2001:470:1f23:73::/64, - 2001:470:1f23:b4::/64, - 2001:470:1f23:c7::/64, - 2001:470:1f23:eb::/64, - 2001:470:1f23:137::/64, - 2001:470:1f23:140::/64, - 2001:470:1f23:163::/64, - 2001:470:1f23:34a::/64, - 2001:470:1f23:35c::/64, - 2001:470:1f23:37b::/64, - 2001:470:1f23:37c::/64, - 2001:470:1f27:4::/64, - 2001:470:1f27:7::/64, - 2001:470:1f27:8::/64, - 2001:470:1f27:e::/64, - 2001:470:1f27:14::/64, - 2001:470:1f27:35::/64, - 2001:470:1f27:51::/64, - 2001:470:1f27:6a::/64, - 2001:470:1f27:d1::/64, - 2001:470:1f27:db::/64, - 2001:470:1f27:136::/64, - 2001:470:1f27:138::/64, - 2001:470:1f27:148::/63, - 2001:470:1f27:14a::/64, - 2001:470:1f27:159::/64, - 2001:470:1f27:15b::/64, - 2001:470:1f27:168::/63, - 2001:470:1f29:24::/64, - 2001:470:1f29:2a::/64, - 2001:470:1f29:30::/64, - 2001:470:1f29:78::/64, - 2001:470:1f29:c5::/64, - 2001:470:1f29:fe::/64, - 2001:470:1f29:10d::/64, - 2001:470:1f29:11e::/64, - 2001:470:1f29:121::/64, - 2001:470:1f29:206::/64, - 2001:470:1f29:240::/64, - 2001:470:1f29:24e::/64, - 2001:470:1f29:340::/64, - 2001:470:1f29:358::/64, - 2001:470:1f29:3ee::/64, - 2001:470:1f29:431::/64, - 2001:470:1f29:43b::/64, - 2001:470:1f29:44c::/64, - 2001:470:1f29:460::/64, - 2001:470:1f2b:65::/64, - 2001:470:1f2b:a9::/64, - 2001:470:1f2b:14f::/64, - 2001:470:1f2b:1b1::/64, - 2001:470:1f2b:1f4::/64, - 2001:470:1f2b:208::/64, - 2001:470:1f2b:211::/64, - 2001:470:1f2b:237::/64, - 2001:470:1f2b:243::/64, - 2001:470:1f2b:248::/64, - 2001:470:1f2d:2b::/64, - 2001:470:1f2d:2d::/64, - 2001:470:1f2d:3d::/64, - 2001:470:1f2d:56::/64, - 2001:470:1f2d:66::/64, - 2001:470:1f2d:87::/64, - 2001:470:1f2d:8d::/64, - 2001:470:1f2d:93::/64, - 2001:470:1f2d:b2::/64, - 2001:470:1f2d:db::/64, - 2001:470:1f2d:e3::/64, - 2001:470:1f2d:117::/64, - 2001:470:1f2d:11f::/64, - 2001:470:1f2d:17a::/64, - 2001:470:1f2d:191::/64, - 2001:470:1f2d:193::/64, - 2001:470:1f2d:1a5::/64, - 2001:470:1f2d:1a6::/64, - 2001:470:1f2d:1da::/64, - 2001:470:1f2d:1e0::/63, - 2001:470:1f2d:1e3::/64, - 2001:470:1f2d:218::/64, - 2001:470:1f2d:278::/64, - 2001:470:1f2d:2ce::/64, - 2001:470:1f2f:f::/64, - 2001:470:1f2f:10::/64, - 2001:470:1f2f:1f::/64, - 2001:470:1f2f:2c::/64, - 2001:470:1f2f:30::/64, - 2001:470:1f2f:32::/64, - 2001:470:1f2f:40::/64, - 2001:470:1f2f:49::/64, - 2001:470:1f2f:4a::/63, - 2001:470:1f2f:4c::/64, - 2001:470:1f2f:51::/64, - 2001:470:1f2f:54::/64, - 2001:470:1f2f:58::/64, - 2001:470:1f2f:5b::/64, - 2001:470:1f2f:5f::/64, - 2001:470:1f2f:73::/64, - 2001:470:1f2f:7a::/64, - 2001:470:1f2f:84::/64, - 2001:470:1f2f:91::/64, - 2001:470:1f2f:94::/63, - 2001:470:1f2f:b7::/64, - 2001:470:1f2f:b8::/64, - 2001:470:1f2f:c2::/64, - 2001:470:1f2f:c7::/64, - 2001:470:1f2f:ca::/64, - 2001:470:1f2f:d3::/64, - 2001:470:1f2f:de::/64, - 2001:470:1f2f:e2::/64, - 2001:470:1f2f:f8::/64, - 2001:470:1f2f:fb::/64, - 2001:470:1f2f:106::/64, - 2001:470:1f2f:10c::/64, - 2001:470:1f2f:11a::/64, - 2001:470:1f2f:125::/64, - 2001:470:1f2f:135::/64, - 2001:470:1f2f:14b::/64, - 2001:470:1f2f:14c::/64, - 2001:470:1f2f:19b::/64, - 2001:470:1f2f:1be::/64, - 2001:470:1f2f:1c2::/64, - 2001:470:1f2f:1e6::/64, - 2001:470:1f2f:1fa::/64, - 2001:470:1f2f:1fc::/64, - 2001:470:1f2f:219::/64, - 2001:470:1f2f:231::/64, - 2001:470:1f2f:238::/64, - 2001:470:1f2f:243::/64, - 2001:470:1f2f:249::/64, - 2001:470:1f2f:24b::/64, - 2001:470:1f2f:254::/62, - 2001:470:1f2f:258::/61, - 2001:470:1f2f:260::/64, - 2001:470:1f2f:263::/64, - 2001:470:1f2f:264::/63, - 2001:470:1f2f:269::/64, - 2001:470:1f2f:26a::/63, - 2001:470:1f2f:26d::/64, - 2001:470:1f2f:26e::/63, - 2001:470:1f2f:270::/63, - 2001:470:1f2f:276::/64, - 2001:470:1f2f:278::/63, - 2001:470:1f2f:27c::/62, - 2001:470:1f2f:280::/62, - 2001:470:1f2f:285::/64, - 2001:470:1f2f:287::/64, - 2001:470:1f2f:290::/63, - 2001:470:1f2f:292::/64, - 2001:470:1f2f:297::/64, - 2001:470:1f2f:29a::/64, - 2001:470:1f2f:29d::/64, - 2001:470:1f2f:2a4::/64, - 2001:470:1f2f:2a9::/64, - 2001:470:1f2f:2b4::/64, - 2001:470:1f2f:2cc::/64, - 2001:470:1f2f:2e5::/64, - 2001:470:1f2f:2fa::/64, - 2001:470:1f2f:3d4::/64, - 2001:470:1f2f:43d::/64, - 2001:470:1f2f:441::/64, - 2001:470:2801::/48, - 2001:470:2804::/48, - 2001:470:2807::/48, - 2001:470:2809::/48, - 2001:470:280c::/48, - 2001:470:2823::/48, - 2001:470:2824::/47, - 2001:470:2827::/48, - 2001:470:2829::/48, - 2001:470:282b::/48, - 2001:470:282c::/48, - 2001:470:282e::/48, - 2001:470:2832::/48, - 2001:470:2838::/48, - 2001:470:283c::/48, - 2001:470:2844::/48, - 2001:470:284b::/48, - 2001:470:2852::/48, - 2001:470:2858::/48, - 2001:470:285c::/48, - 2001:470:2889::/48, - 2001:470:2898::/48, - 2001:470:289e::/47, - 2001:470:28a5::/48, - 2001:470:28a7::/48, - 2001:470:28a8::/48, - 2001:470:28ad::/48, - 2001:470:28b0::/48, - 2001:470:28b4::/48, - 2001:470:292d::/48, - 2001:470:2950::/48, - 2001:470:2991::/48, - 2001:470:29ac::/48, - 2001:470:29b8::/48, - 2001:470:29ba::/48, - 2001:470:29d2::/48, - 2001:470:2a73::/48, - 2001:470:2a99::/48, - 2001:470:2aa3::/48, - 2001:470:2aa5::/48, - 2001:470:2adf::/48, - 2001:470:2b09::/48, - 2001:470:2b0d::/48, - 2001:470:2b49::/48, - 2001:470:2b87::/48, - 2001:470:301e::/48, - 2001:470:305e::/48, - 2001:470:30b0::/48, - 2001:470:30b2::/48, - 2001:470:30b5::/48, - 2001:470:30be::/48, - 2001:470:30d3::/48, - 2001:470:30f8::/48, - 2001:470:30fb::/48, - 2001:470:3104::/48, - 2001:470:3135::/48, - 2001:470:3136::/47, - 2001:470:3159::/48, - 2001:470:315a::/47, - 2001:470:316a::/47, - 2001:470:316c::/48, - 2001:470:317a::/48, - 2001:470:317c::/48, - 2001:470:319b::/48, - 2001:470:319c::/46, - 2001:470:3819::/48, - 2001:470:389c::/48, - 2001:470:38a4::/48, - 2001:470:38aa::/47, - 2001:470:38ac::/46, - 2001:470:38b0::/46, - 2001:470:38b5::/48, - 2001:470:38b7::/48, - 2001:470:38b8::/47, - 2001:470:38ba::/48, - 2001:470:38bc::/47, - 2001:470:38be::/48, - 2001:470:38c2::/48, - 2001:470:38cf::/48, - 2001:470:38d0::/48, - 2001:470:38d2::/47, - 2001:470:38d5::/48, - 2001:470:38d7::/48, - 2001:470:38e3::/48, - 2001:470:38f3::/48, - 2001:470:3901::/48, - 2001:470:3903::/48, - 2001:470:3904::/48, - 2001:470:3908::/48, - 2001:470:390a::/48, - 2001:470:3912::/47, - 2001:470:3916::/48, - 2001:470:3918::/48, - 2001:470:3920::/48, - 2001:470:3928::/48, - 2001:470:392d::/48, - 2001:470:3933::/48, - 2001:470:3936::/48, - 2001:470:393d::/48, - 2001:470:3948::/48, - 2001:470:3950::/47, - 2001:470:3955::/48, - 2001:470:3956::/48, - 2001:470:39cc::/48, - 2001:470:3a3c::/48, - 2001:470:401e::/48, - 2001:470:402f::/48, - 2001:470:4051::/48, - 2001:470:4088::/48, - 2001:470:408e::/48, - 2001:470:409f::/48, - 2001:470:40a0::/48, - 2001:470:40a2::/47, - 2001:470:40a4::/48, - 2001:470:40a7::/48, - 2001:470:40a9::/48, - 2001:470:40aa::/48, - 2001:470:40ac::/47, - 2001:470:40ae::/48, - 2001:470:40b0::/46, - 2001:470:40b4::/47, - 2001:470:40b7::/48, - 2001:470:40b9::/48, - 2001:470:40ba::/47, - 2001:470:40bc::/46, - 2001:470:40c0::/48, - 2001:470:40c3::/48, - 2001:470:40c4::/47, - 2001:470:40c6::/48, - 2001:470:40d2::/47, - 2001:470:40d4::/47, - 2001:470:40d7::/48, - 2001:470:40d8::/48, - 2001:470:40da::/47, - 2001:470:40dd::/48, - 2001:470:40de::/47, - 2001:470:40e0::/47, - 2001:470:40e3::/48, - 2001:470:40e4::/46, - 2001:470:40e8::/47, - 2001:470:40ed::/48, - 2001:470:40ee::/48, - 2001:470:40f1::/48, - 2001:470:40f2::/47, - 2001:470:40f4::/46, - 2001:470:40f8::/48, - 2001:470:40fa::/48, - 2001:470:40fc::/46, - 2001:470:4100::/45, - 2001:470:4108::/47, - 2001:470:410a::/48, - 2001:470:4110::/48, - 2001:470:4114::/48, - 2001:470:411a::/48, - 2001:470:411e::/48, - 2001:470:4122::/48, - 2001:470:4124::/48, - 2001:470:4127::/48, - 2001:470:4128::/47, - 2001:470:412b::/48, - 2001:470:412d::/48, - 2001:470:4139::/48, - 2001:470:413a::/48, - 2001:470:4141::/48, - 2001:470:4146::/48, - 2001:470:414b::/48, - 2001:470:414f::/48, - 2001:470:4154::/47, - 2001:470:41a6::/48, - 2001:470:41ac::/48, - 2001:470:4801::/48, - 2001:470:4802::/48, - 2001:470:4808::/47, - 2001:470:480d::/48, - 2001:470:4818::/48, - 2001:470:482e::/48, - 2001:470:4836::/48, - 2001:470:4838::/48, - 2001:470:483d::/48, - 2001:470:483e::/48, - 2001:470:4840::/48, - 2001:470:4842::/47, - 2001:470:4849::/48, - 2001:470:484f::/48, - 2001:470:4852::/48, - 2001:470:485e::/47, - 2001:470:4862::/47, - 2001:470:4864::/48, - 2001:470:486b::/48, - 2001:470:486e::/48, - 2001:470:4870::/48, - 2001:470:4879::/48, - 2001:470:487c::/46, - 2001:470:4880::/48, - 2001:470:4884::/47, - 2001:470:4887::/48, - 2001:470:4893::/48, - 2001:470:4894::/48, - 2001:470:4899::/48, - 2001:470:489a::/48, - 2001:470:489e::/48, - 2001:470:48a0::/48, - 2001:470:48ab::/48, - 2001:470:48af::/48, - 2001:470:48b6::/48, - 2001:470:48b9::/48, - 2001:470:48c0::/47, - 2001:470:48c2::/48, - 2001:470:48c5::/48, - 2001:470:48d5::/48, - 2001:470:48d9::/48, - 2001:470:48da::/48, - 2001:470:48df::/48, - 2001:470:48e1::/48, - 2001:470:48e3::/48, - 2001:470:48f1::/48, - 2001:470:48f3::/48, - 2001:470:48f5::/48, - 2001:470:48f6::/48, - 2001:470:4907::/48, - 2001:470:4910::/47, - 2001:470:491b::/48, - 2001:470:4921::/48, - 2001:470:4928::/47, - 2001:470:492d::/48, - 2001:470:4932::/47, - 2001:470:4938::/48, - 2001:470:4963::/48, - 2001:470:4971::/48, - 2001:470:498c::/48, - 2001:470:498e::/48, - 2001:470:4992::/48, - 2001:470:4995::/48, - 2001:470:499f::/48, - 2001:470:49ac::/48, - 2001:470:49bd::/48, - 2001:470:49c5::/48, - 2001:470:49c9::/48, - 2001:470:49cb::/48, - 2001:470:49cc::/47, - 2001:470:49d0::/48, - 2001:470:49d5::/48, - 2001:470:49d8::/48, - 2001:470:49db::/48, - 2001:470:49dd::/48, - 2001:470:49e2::/48, - 2001:470:49e6::/48, - 2001:470:49ea::/47, - 2001:470:49ec::/48, - 2001:470:49f1::/48, - 2001:470:49f5::/48, - 2001:470:49f7::/48, - 2001:470:49fb::/48, - 2001:470:49fc::/48, - 2001:470:4a04::/47, - 2001:470:4a08::/48, - 2001:470:4a0d::/48, - 2001:470:4a12::/48, - 2001:470:4a15::/48, - 2001:470:4a26::/48, - 2001:470:4a29::/48, - 2001:470:4a36::/48, - 2001:470:4a3f::/48, - 2001:470:4a56::/48, - 2001:470:4a74::/48, - 2001:470:4a8e::/48, - 2001:470:4a92::/48, - 2001:470:4aca::/48, - 2001:470:4ae5::/48, - 2001:470:4af1::/48, - 2001:470:4af2::/48, - 2001:470:4b0b::/48, - 2001:470:4c48::/48, - 2001:470:502c::/48, - 2001:470:52b9::/48, - 2001:470:536b::/48, - 2001:470:5848::/48, - 2001:470:58c7::/48, - 2001:470:596b::/48, - 2001:470:59fa::/48, - 2001:470:5a86::/48, - 2001:470:6103::/48, - 2001:470:6262::/48, - 2001:470:6310::/48, - 2001:470:6400::/48, - 2001:470:683e::/48, - 2001:470:684c::/48, - 2001:470:6872::/48, - 2001:470:68b7::/48, - 2001:470:68c5::/48, - 2001:470:6900::/48, - 2001:470:6948::/48, - 2001:470:6950::/48, - 2001:470:695a::/48, - 2001:470:6969::/48, - 2001:470:6ad9::/48, - 2001:470:6b5e::/48, - 2001:470:6c1b::/48, - 2001:470:6d5a::/48, - 2001:470:7073::/48, - 2001:470:70e3::/48, - 2001:470:7103::/48, - 2001:470:7123::/48, - 2001:470:71eb::/48, - 2001:470:7373::/48, - 2001:470:7414::/48, - 2001:470:747f::/48, - 2001:470:7489::/48, - 2001:470:749b::/48, - 2001:470:7536::/48, - 2001:470:758d::/48, - 2001:470:75a0::/48, - 2001:470:75d9::/48, - 2001:470:7604::/48, - 2001:470:7830::/48, - 2001:470:7909::/48, - 2001:470:7911::/48, - 2001:470:793b::/48, - 2001:470:797f::/48, - 2001:470:7a0c::/48, - 2001:470:7d25::/48, - 2001:470:7fb1::/48, - 2001:470:8001::/48, - 2001:470:8002::/47, - 2001:470:8008::/48, - 2001:470:8018::/48, - 2001:470:801a::/48, - 2001:470:801f::/48, - 2001:470:8020::/47, - 2001:470:8023::/48, - 2001:470:8027::/48, - 2001:470:8030::/48, - 2001:470:8037::/48, - 2001:470:8039::/48, - 2001:470:803a::/48, - 2001:470:803c::/47, - 2001:470:8045::/48, - 2001:470:8046::/48, - 2001:470:8049::/48, - 2001:470:804b::/48, - 2001:470:8053::/48, - 2001:470:8056::/48, - 2001:470:805a::/48, - 2001:470:8071::/48, - 2001:470:8072::/48, - 2001:470:8074::/48, - 2001:470:8076::/47, - 2001:470:807e::/47, - 2001:470:8083::/48, - 2001:470:8087::/48, - 2001:470:808b::/48, - 2001:470:808e::/48, - 2001:470:8090::/48, - 2001:470:8099::/48, - 2001:470:809c::/47, - 2001:470:80a0::/48, - 2001:470:80a4::/48, - 2001:470:80a6::/48, - 2001:470:80a8::/47, - 2001:470:80ac::/48, - 2001:470:80b1::/48, - 2001:470:80b6::/47, - 2001:470:80ba::/48, - 2001:470:80bf::/48, - 2001:470:80c2::/48, - 2001:470:80c6::/47, - 2001:470:80cd::/48, - 2001:470:80ce::/48, - 2001:470:80d2::/48, - 2001:470:80dd::/48, - 2001:470:80e0::/47, - 2001:470:80e3::/48, - 2001:470:80e5::/48, - 2001:470:80e6::/48, - 2001:470:80fd::/48, - 2001:470:80fe::/47, - 2001:470:8103::/48, - 2001:470:8109::/48, - 2001:470:810c::/48, - 2001:470:810f::/48, - 2001:470:8110::/48, - 2001:470:811c::/48, - 2001:470:811f::/48, - 2001:470:8139::/48, - 2001:470:813a::/48, - 2001:470:813e::/48, - 2001:470:8140::/47, - 2001:470:814a::/48, - 2001:470:8153::/48, - 2001:470:815c::/48, - 2001:470:8160::/48, - 2001:470:816b::/48, - 2001:470:817e::/47, - 2001:470:818a::/48, - 2001:470:818e::/48, - 2001:470:819f::/48, - 2001:470:81a1::/48, - 2001:470:81a6::/48, - 2001:470:81a8::/48, - 2001:470:81ad::/48, - 2001:470:81b0::/48, - 2001:470:81b4::/47, - 2001:470:81b6::/48, - 2001:470:81bb::/48, - 2001:470:81be::/47, - 2001:470:81c2::/48, - 2001:470:81c7::/48, - 2001:470:81cb::/48, - 2001:470:81cc::/47, - 2001:470:81d1::/48, - 2001:470:81d2::/48, - 2001:470:81e0::/48, - 2001:470:81e2::/47, - 2001:470:81e6::/48, - 2001:470:81f1::/48, - 2001:470:81f9::/48, - 2001:470:81fa::/48, - 2001:470:81fe::/48, - 2001:470:8204::/48, - 2001:470:8208::/48, - 2001:470:820b::/48, - 2001:470:8212::/47, - 2001:470:8216::/48, - 2001:470:821b::/48, - 2001:470:821c::/47, - 2001:470:8222::/48, - 2001:470:8225::/48, - 2001:470:8227::/48, - 2001:470:8228::/48, - 2001:470:822b::/48, - 2001:470:822f::/48, - 2001:470:8232::/48, - 2001:470:8236::/47, - 2001:470:8239::/48, - 2001:470:823c::/47, - 2001:470:8240::/47, - 2001:470:8242::/48, - 2001:470:8246::/48, - 2001:470:824a::/48, - 2001:470:8252::/48, - 2001:470:8255::/48, - 2001:470:8256::/47, - 2001:470:8258::/47, - 2001:470:8262::/48, - 2001:470:8266::/47, - 2001:470:8268::/48, - 2001:470:826f::/48, - 2001:470:8271::/48, - 2001:470:8272::/47, - 2001:470:827a::/48, - 2001:470:827e::/47, - 2001:470:8295::/48, - 2001:470:82a0::/48, - 2001:470:82b5::/48, - 2001:470:82c2::/47, - 2001:470:82c8::/48, - 2001:470:82cc::/47, - 2001:470:82d2::/48, - 2001:470:8400::/48, - 2001:470:8427::/48, - 2001:470:842e::/48, - 2001:470:843f::/48, - 2001:470:84c8::/48, - 2001:470:84db::/48, - 2001:470:84de::/48, - 2001:470:84e0::/48, - 2001:470:84fb::/48, - 2001:470:84fc::/48, - 2001:470:8507::/48, - 2001:470:8527::/48, - 2001:470:8809::/48, - 2001:470:8833::/48, - 2001:470:8850::/48, - 2001:470:8856::/48, - 2001:470:885d::/48, - 2001:470:887e::/48, - 2001:470:8889::/48, - 2001:470:88a8::/48, - 2001:470:88de::/48, - 2001:470:88e3::/48, - 2001:470:8900::/48, - 2001:470:892f::/48, - 2001:470:8935::/48, - 2001:470:8941::/48, - 2001:470:8948::/47, - 2001:470:8952::/48, - 2001:470:8954::/48, - 2001:470:897e::/48, - 2001:470:89a0::/48, - 2001:470:89bc::/48, - 2001:470:89c0::/47, - 2001:470:89c9::/48, - 2001:470:8a0f::/48, - 2001:470:8a54::/48, - 2001:470:8a5a::/48, - 2001:470:8a80::/48, - 2001:470:8a8a::/48, - 2001:470:8aac::/48, - 2001:470:8acb::/48, - 2001:470:8adf::/48, - 2001:470:8aec::/48, - 2001:470:8af5::/48, - 2001:470:8aff::/48, - 2001:470:8b08::/48, - 2001:470:8b44::/48, - 2001:470:8b5b::/48, - 2001:470:8b76::/48, - 2001:470:8b8c::/47, - 2001:470:8ba9::/48, - 2001:470:8bb0::/48, - 2001:470:8bb6::/48, - 2001:470:8bc2::/48, - 2001:470:8bc4::/48, - 2001:470:8bcb::/48, - 2001:470:8bce::/48, - 2001:470:8bda::/48, - 2001:470:8bdd::/48, - 2001:470:8d90::/47, - 2001:470:8d93::/48, - 2001:470:98bd::/48, - 2001:470:991d::/48, - 2001:470:a80b::/48, - 2001:470:b05f::/48, - 2001:470:b060::/48, - 2001:470:b06e::/48, - 2001:470:b0d1::/48, - 2001:470:b0f7::/48, - 2001:470:b126::/48, - 2001:470:b158::/48, - 2001:470:b182::/48, - 2001:470:b1c7::/48, - 2001:470:b1cf::/48, - 2001:470:b280::/48, - 2001:470:b330::/48, - 2001:470:b4b8::/48, - 2001:470:b4ca::/48, - 2001:470:b4cc::/48, - 2001:470:b4ce::/48, - 2001:470:b5b4::/48, - 2001:470:b61d::/48, - 2001:470:b814::/48, - 2001:470:b834::/48, - 2001:470:b854::/48, - 2001:470:b85f::/48, - 2001:470:b873::/48, - 2001:470:b87b::/48, - 2001:470:b87f::/48, - 2001:470:b88f::/48, - 2001:470:b897::/48, - 2001:470:b89d::/48, - 2001:470:b8ab::/48, - 2001:470:b8da::/48, - 2001:470:b8e3::/48, - 2001:470:b8f0::/48, - 2001:470:b8fe::/48, - 2001:470:b932::/48, - 2001:470:b937::/48, - 2001:470:b939::/48, - 2001:470:b95d::/48, - 2001:470:b965::/48, - 2001:470:b984::/48, - 2001:470:b9b0::/48, - 2001:470:b9b8::/48, - 2001:470:ba16::/48, - 2001:470:ba4a::/48, - 2001:470:ba58::/48, - 2001:470:ba5a::/48, - 2001:470:ba62::/48, - 2001:470:ba7a::/48, - 2001:470:ba7e::/48, - 2001:470:ba85::/48, - 2001:470:ba86::/48, - 2001:470:ba8b::/48, - 2001:470:ba8d::/48, - 2001:470:ba9a::/47, - 2001:470:ba9c::/48, - 2001:470:ba9e::/48, - 2001:470:baa0::/47, - 2001:470:baa2::/48, - 2001:470:baa7::/48, - 2001:470:baaa::/48, - 2001:470:baac::/47, - 2001:470:baae::/48, - 2001:470:bab0::/48, - 2001:470:bab6::/48, - 2001:470:babc::/47, - 2001:470:bac7::/48, - 2001:470:bac8::/48, - 2001:470:baca::/48, - 2001:470:bad3::/48, - 2001:470:bad8::/48, - 2001:470:baee::/48, - 2001:470:baf2::/48, - 2001:470:bafa::/48, - 2001:470:bafc::/48, - 2001:470:bb02::/48, - 2001:470:bb07::/48, - 2001:470:bb0a::/48, - 2001:470:bb0c::/48, - 2001:470:bb10::/48, - 2001:470:bb12::/47, - 2001:470:bb14::/48, - 2001:470:bb20::/48, - 2001:470:bb25::/48, - 2001:470:bb28::/48, - 2001:470:c02d::/48, - 2001:470:c034::/48, - 2001:470:c061::/48, - 2001:470:c093::/48, - 2001:470:c096::/48, - 2001:470:c0bf::/48, - 2001:470:c0cb::/48, - 2001:470:c0fa::/48, - 2001:470:c13b::/48, - 2001:470:c13e::/48, - 2001:470:c145::/48, - 2001:470:c14d::/48, - 2001:470:c173::/48, - 2001:470:c17a::/48, - 2001:470:c18a::/48, - 2001:470:c1b8::/48, - 2001:470:c217::/48, - 2001:470:c221::/48, - 2001:470:c222::/48, - 2001:470:c337::/48, - 2001:470:c83e::/48, - 2001:470:c857::/48, - 2001:470:c888::/48, - 2001:470:ca56::/48, - 2001:470:ca59::/48, - 2001:470:ca61::/48, - 2001:470:d8a0::/48, - 2001:470:d94d::/48, - 2001:470:d958::/48, - 2001:470:d972::/48, - 2001:470:d986::/48, - 2001:470:d98f::/48, - 2001:470:d9b3::/48, - 2001:470:da78::/48, - 2001:470:dc73::/48, - 2001:470:de3b::/48, - 2001:470:de3f::/48, - 2001:470:ded9::/48, - 2001:470:df18::/48, - 2001:470:e00d::/48, - 2001:470:e010::/48, - 2001:470:e01d::/48, - 2001:470:e026::/48, - 2001:470:e04c::/48, - 2001:470:e074::/48, - 2001:470:e095::/48, - 2001:470:e0c4::/48, - 2001:470:e102::/48, - 2001:470:e120::/48, - 2001:470:e162::/48, - 2001:470:e16f::/48, - 2001:470:e17a::/48, - 2001:470:e192::/48, - 2001:470:e19a::/48, - 2001:470:e19c::/48, - 2001:470:e1a1::/48, - 2001:470:e1a5::/48, - 2001:470:e1b1::/48, - 2001:470:e1cd::/48, - 2001:470:e1d7::/48, - 2001:470:e1ef::/48, - 2001:470:e1f1::/48, - 2001:470:e1fb::/48, - 2001:470:e205::/48, - 2001:470:e208::/48, - 2001:470:e20f::/48, - 2001:470:e259::/48, - 2001:470:e267::/48, - 2001:470:e80a::/48, - 2001:470:e810::/48, - 2001:470:e81e::/48, - 2001:470:e823::/48, - 2001:470:e828::/48, - 2001:470:e835::/48, - 2001:470:e849::/48, - 2001:470:e862::/48, - 2001:470:e875::/48, - 2001:470:e886::/48, - 2001:470:e88a::/48, - 2001:470:e8a1::/48, - 2001:470:e8a3::/48, - 2001:470:e8ac::/48, - 2001:470:e8c6::/48, - 2001:470:e8c9::/48, - 2001:470:e8d9::/48, - 2001:470:e907::/48, - 2001:470:e91d::/48, - 2001:470:e92b::/48, - 2001:470:e930::/48, - 2001:470:e942::/48, - 2001:470:e953::/48, - 2001:470:e95e::/48, - 2001:470:e972::/48, - 2001:470:e975::/48, - 2001:470:e987::/48, - 2001:470:e9a6::/48, - 2001:470:e9cf::/48, - 2001:470:e9d3::/48, - 2001:470:e9ee::/48, - 2001:470:e9f5::/48, - 2001:470:e9ff::/48, - 2001:470:ea02::/48, - 2001:470:ea08::/48, - 2001:470:ea18::/48, - 2001:470:ea26::/48, - 2001:470:ea6a::/48, - 2001:470:ec06::/48, - 2001:470:ec09::/48, - 2001:470:ec0a::/48, - 2001:470:ec12::/47, - 2001:470:ec30::/48, - 2001:470:ec34::/48, - 2001:470:ec3b::/48, - 2001:470:ec3c::/48, - 2001:470:ec3f::/48, - 2001:470:ec50::/48, - 2001:470:ec64::/48, - 2001:470:ec66::/48, - 2001:470:ec71::/48, - 2001:470:ec73::/48, - 2001:470:ec78::/48, - 2001:470:ec89::/48, - 2001:470:ec8c::/48, - 2001:470:ec9b::/48, - 2001:470:ecb1::/48, - 2001:470:ecbf::/48, - 2001:470:ecdf::/48, - 2001:470:ece8::/48, - 2001:470:ecee::/48, - 2001:470:ed03::/48, - 2001:470:ed2a::/48, - 2001:470:ed3e::/48, - 2001:470:ed4e::/48, - 2001:470:ed63::/48, - 2001:470:ed6a::/48, - 2001:470:ed72::/48, - 2001:470:ed84::/48, - 2001:470:ed88::/47, - 2001:470:ed98::/48, - 2001:470:eda8::/48, - 2001:470:edb7::/48, - 2001:470:edc4::/48, - 2001:470:edcc::/48, - 2001:470:eddb::/48, - 2001:470:eddd::/48, - 2001:470:ede4::/48, - 2001:470:ede6::/48, - 2001:470:edef::/48, - 2001:470:ee0a::/48, - 2001:470:ee0f::/48, - 2001:470:ee1f::/48, - 2001:470:ee27::/48, - 2001:470:ee51::/48, - 2001:470:ee6b::/48, - 2001:470:ee6f::/48, - 2001:470:ee80::/48, - 2001:470:ee9e::/48, - 2001:470:eea3::/48, - 2001:470:eea6::/48, - 2001:470:eeb4::/48, - 2001:470:eebc::/48, - 2001:470:f001::/48, - 2001:470:f003::/48, - 2001:470:f004::/48, - 2001:470:f00c::/48, - 2001:470:f00e::/48, - 2001:470:f013::/48, - 2001:470:f014::/47, - 2001:470:f017::/48, - 2001:470:f019::/48, - 2001:470:f01a::/47, - 2001:470:f01c::/48, - 2001:470:f01f::/48, - 2001:470:f020::/48, - 2001:470:f029::/48, - 2001:470:f02a::/48, - 2001:470:f02f::/48, - 2001:470:f035::/48, - 2001:470:f036::/48, - 2001:470:f038::/48, - 2001:470:f03c::/47, - 2001:470:f040::/47, - 2001:470:f042::/48, - 2001:470:f047::/48, - 2001:470:f049::/48, - 2001:470:f04a::/48, - 2001:470:f04d::/48, - 2001:470:f052::/48, - 2001:470:f05b::/48, - 2001:470:f05c::/48, - 2001:470:f060::/47, - 2001:470:f063::/48, - 2001:470:f067::/48, - 2001:470:f068::/46, - 2001:470:f07c::/48, - 2001:470:f085::/48, - 2001:470:f089::/48, - 2001:470:f08b::/48, - 2001:470:f090::/48, - 2001:470:f093::/48, - 2001:470:f094::/48, - 2001:470:f097::/48, - 2001:470:f099::/48, - 2001:470:f09a::/48, - 2001:470:f09c::/48, - 2001:470:f0a0::/48, - 2001:470:f0a6::/48, - 2001:470:f0af::/48, - 2001:470:f0b0::/48, - 2001:470:f0b3::/48, - 2001:470:f0b6::/60, - 2001:470:f0b6:12::/63, - 2001:470:f0b6:14::/62, - 2001:470:f0b6:18::/61, - 2001:470:f0b6:20::/59, - 2001:470:f0b6:40::/58, - 2001:470:f0b6:80::/57, - 2001:470:f0b6:100::/56, - 2001:470:f0b6:200::/55, - 2001:470:f0b6:400::/55, - 2001:470:f0b6:601::/64, - 2001:470:f0b6:602::/63, - 2001:470:f0b6:604::/62, - 2001:470:f0b6:608::/61, - 2001:470:f0b6:610::/60, - 2001:470:f0b6:620::/59, - 2001:470:f0b6:640::/58, - 2001:470:f0b6:680::/57, - 2001:470:f0b6:700::/56, - 2001:470:f0b6:800::/60, - 2001:470:f0b6:814::/62, - 2001:470:f0b6:818::/61, - 2001:470:f0b6:820::/59, - 2001:470:f0b6:840::/58, - 2001:470:f0b6:880::/57, - 2001:470:f0b6:900::/56, - 2001:470:f0b6:a00::/55, - 2001:470:f0b6:c00::/54, - 2001:470:f0b6:1000::/52, - 2001:470:f0b6:2000::/51, - 2001:470:f0b6:4000::/50, - 2001:470:f0b6:8000::/54, - 2001:470:f0b6:8400::/56, - 2001:470:f0b6:8501::/64, - 2001:470:f0b6:8502::/64, - 2001:470:f0b6:8504::/62, - 2001:470:f0b6:8508::/61, - 2001:470:f0b6:8510::/60, - 2001:470:f0b6:8520::/59, - 2001:470:f0b6:8540::/58, - 2001:470:f0b6:8580::/57, - 2001:470:f0b6:8600::/55, - 2001:470:f0b6:8800::/58, - 2001:470:f0b6:8840::/59, - 2001:470:f0b6:8863::/64, - 2001:470:f0b6:8864::/62, - 2001:470:f0b6:8868::/61, - 2001:470:f0b6:8870::/60, - 2001:470:f0b6:8880::/57, - 2001:470:f0b6:8900::/56, - 2001:470:f0b6:8a00::/55, - 2001:470:f0b6:8c00::/54, - 2001:470:f0b6:9000::/54, - 2001:470:f0b6:9400::/55, - 2001:470:f0b6:9600::/56, - 2001:470:f0b6:9700::/58, - 2001:470:f0b6:9740::/59, - 2001:470:f0b6:9761::/64, - 2001:470:f0b6:9762::/63, - 2001:470:f0b6:9764::/62, - 2001:470:f0b6:9768::/61, - 2001:470:f0b6:9770::/60, - 2001:470:f0b6:9780::/57, - 2001:470:f0b6:9800::/53, - 2001:470:f0b6:a000::/51, - 2001:470:f0b6:c000::/51, - 2001:470:f0b6:e000::/52, - 2001:470:f0b6:f000::/53, - 2001:470:f0b6:f800::/54, - 2001:470:f0b6:fc00::/55, - 2001:470:f0b6:fe00::/56, - 2001:470:f0b6:ff00::/57, - 2001:470:f0b6:ff80::/58, - 2001:470:f0b6:ffc0::/59, - 2001:470:f0b6:ffe0::/60, - 2001:470:f0b6:fff0::/61, - 2001:470:f0b6:fff8::/62, - 2001:470:f0b6:fffc::/63, - 2001:470:f0b6:fffe::/64, - 2001:470:f0b7::/48, - 2001:470:f0ba::/48, - 2001:470:f0be::/48, - 2001:470:f0c5::/48, - 2001:470:f0c6::/47, - 2001:470:f0cb::/48, - 2001:470:f0cd::/48, - 2001:470:f0cf::/48, - 2001:470:f0d3:1::/64, - 2001:470:f0d7::/48, - 2001:470:f0d8::/48, - 2001:470:f0dc::/48, - 2001:470:f0de::/48, - 2001:470:f0e0::/48, - 2001:470:f0ea::/48, - 2001:470:f0ed::/48, - 2001:470:f0ee::/48, - 2001:470:f0f2::/48, - 2001:470:f0f6::/47, - 2001:470:f0fa::/48, - 2001:470:f0fd::/48, - 2001:470:f0fe::/48, - 2001:470:f101::/48, - 2001:470:f103::/48, - 2001:470:f104::/48, - 2001:470:f108::/48, - 2001:470:f10a::/48, - 2001:470:f10e::/48, - 2001:470:f110::/48, - 2001:470:f115::/48, - 2001:470:f116::/47, - 2001:470:f118::/48, - 2001:470:f11d::/48, - 2001:470:f120::/48, - 2001:470:f122::/47, - 2001:470:f126::/47, - 2001:470:f128::/47, - 2001:470:f12b::/48, - 2001:470:f133::/48, - 2001:470:f137::/48, - 2001:470:f139::/48, - 2001:470:f13f::/48, - 2001:470:f142::/47, - 2001:470:f144::/48, - 2001:470:f146::/48, - 2001:470:f149::/48, - 2001:470:f14a::/48, - 2001:470:f14f::/48, - 2001:470:f153::/48, - 2001:470:f156::/48, - 2001:470:f158::/48, - 2001:470:f15d::/48, - 2001:470:f15f::/48, - 2001:470:f162::/48, - 2001:470:f164::/48, - 2001:470:f166::/48, - 2001:470:f169::/48, - 2001:470:f16d::/48, - 2001:470:f172::/48, - 2001:470:f174::/48, - 2001:470:f177::/48, - 2001:470:f179::/48, - 2001:470:f182::/48, - 2001:470:f186::/48, - 2001:470:f18e::/48, - 2001:470:f192::/48, - 2001:470:f196::/48, - 2001:470:f1a0::/47, - 2001:470:f1a3::/48, - 2001:470:f1a6::/48, - 2001:470:f1a9::/48, - 2001:470:f1b3::/48, - 2001:470:f1b7::/48, - 2001:470:f1b9::/48, - 2001:470:f1bc::/48, - 2001:470:f1be::/48, - 2001:470:f1c0::/48, - 2001:470:f1c5::/48, - 2001:470:f1cf::/48, - 2001:470:f1d2::/48, - 2001:470:f1d9::/48, - 2001:470:f1dc::/48, - 2001:470:f1de::/47, - 2001:470:f1e0::/48, - 2001:470:f1e8::/48, - 2001:470:f1ed::/48, - 2001:470:f1ee::/48, - 2001:470:f1f1::/48, - 2001:470:f1f5::/48, - 2001:470:f1f6::/48, - 2001:470:f1f8::/48, - 2001:470:f1fc::/48, - 2001:470:f1fe::/47, - 2001:470:f200::/47, - 2001:470:f204::/46, - 2001:470:f20c::/48, - 2001:470:f20e::/48, - 2001:470:f210::/48, - 2001:470:f213::/48, - 2001:470:f216::/48, - 2001:470:f21a::/48, - 2001:470:f21d::/48, - 2001:470:f224::/47, - 2001:470:f227::/48, - 2001:470:f22b::/48, - 2001:470:f22c::/48, - 2001:470:f22e::/48, - 2001:470:f234::/48, - 2001:470:f237::/48, - 2001:470:f23a::/48, - 2001:470:f23c::/48, - 2001:470:f23f::/48, - 2001:470:f249::/48, - 2001:470:f24a::/48, - 2001:470:f24c::/48, - 2001:470:f250::/48, - 2001:470:f253::/48, - 2001:470:f257::/48, - 2001:470:f259::/48, - 2001:470:f262::/48, - 2001:470:f267::/48, - 2001:470:f26e::/48, - 2001:470:f270::/48, - 2001:470:f273::/48, - 2001:470:f274::/48, - 2001:470:f276::/47, - 2001:470:f278::/48, - 2001:470:f27a::/48, - 2001:470:f280::/47, - 2001:470:f282::/48, - 2001:470:f286::/48, - 2001:470:f28d::/48, - 2001:470:f28e::/47, - 2001:470:f293::/48, - 2001:470:f29c::/48, - 2001:470:f2a2::/48, - 2001:470:f2a5::/48, - 2001:470:f2a7::/48, - 2001:470:f2ab::/48, - 2001:470:f2ad::/48, - 2001:470:f2b4::/48, - 2001:470:f2ba::/48, - 2001:470:f2cd::/48, - 2001:470:f2cf::/48, - 2001:470:f2d0::/47, - 2001:470:f2d3::/48, - 2001:470:f2e0::/48, - 2001:470:f2e2::/48, - 2001:470:f2e4::/48, - 2001:470:f2e7::/48, - 2001:470:f2e9::/48, - 2001:470:f2ee::/48, - 2001:470:f2f4::/48, - 2001:470:f2f7::/48, - 2001:470:f2f8::/48, - 2001:470:f2ff::/48, - 2001:470:f300::/48, - 2001:470:f302::/48, - 2001:470:f308::/48, - 2001:470:f30f::/48, - 2001:470:f310::/48, - 2001:470:f313::/48, - 2001:470:f316::/48, - 2001:470:f318::/47, - 2001:470:f31e::/48, - 2001:470:f324::/47, - 2001:470:f326::/48, - 2001:470:f328::/48, - 2001:470:f32a::/48, - 2001:470:f330::/48, - 2001:470:f335::/48, - 2001:470:f338::/48, - 2001:470:f341::/48, - 2001:470:f342::/47, - 2001:470:f34a::/48, - 2001:470:f355::/48, - 2001:470:f357::/48, - 2001:470:f35b::/48, - 2001:470:f35d::/48, - 2001:470:f35e::/48, - 2001:470:f362::/47, - 2001:470:f364::/48, - 2001:470:f366::/47, - 2001:470:f371::/48, - 2001:470:f373::/48, - 2001:470:f377::/48, - 2001:470:f378::/47, - 2001:470:f37a::/48, - 2001:470:f37e::/47, - 2001:470:f385::/48, - 2001:470:f387::/48, - 2001:470:f38b::/48, - 2001:470:f38e::/48, - 2001:470:f391::/48, - 2001:470:f39b::/48, - 2001:470:f39d::/48, - 2001:470:f39e::/47, - 2001:470:f3a3::/48, - 2001:470:f3aa::/48, - 2001:470:f3ac::/47, - 2001:470:f3ae::/48, - 2001:470:f3b0::/48, - 2001:470:f3b6::/47, - 2001:470:f3b9::/48, - 2001:470:f3ba::/48, - 2001:470:f3bc::/48, - 2001:470:f3ca::/48, - 2001:470:f3d1::/48, - 2001:470:f3d5::/48, - 2001:470:f3e0::/47, - 2001:470:f3e5::/48, - 2001:470:f3fd::/48, - 2001:470:f43e::/48, - 2001:470:f440::/48, - 2001:470:f448::/48, - 2001:470:f458::/48, - 2001:470:f488::/48, - 2001:470:f49d::/48, - 2001:470:f4b6::/48, - 2001:470:f4c8::/48, - 2001:470:f500::/48, - 2001:470:f52e::/48, - 2001:470:f541::/48, - 2001:470:f58e::/48, - 2001:470:f598::/48, - 2001:470:f5be::/48, - 2001:470:f801::/48, - 2001:470:f803::/48, - 2001:470:f804::/48, - 2001:470:f806::/47, - 2001:470:f80a::/47, - 2001:470:f80f::/48, - 2001:470:f810::/47, - 2001:470:f813::/48, - 2001:470:f814::/47, - 2001:470:f819::/48, - 2001:470:f81a::/48, - 2001:470:f81f::/48, - 2001:470:f820::/48, - 2001:470:f82a::/48, - 2001:470:f82c::/48, - 2001:470:f82e::/47, - 2001:470:f830::/47, - 2001:470:f835::/48, - 2001:470:f839::/48, - 2001:470:f83a::/47, - 2001:470:f83d::/48, - 2001:470:f83f::/48, - 2001:470:f840::/46, - 2001:470:f845::/48, - 2001:470:f846::/47, - 2001:470:f848::/48, - 2001:470:f84b::/48, - 2001:470:f84c::/48, - 2001:470:f84e::/48, - 2001:470:f850::/47, - 2001:470:f852::/48, - 2001:470:f854::/46, - 2001:470:f858::/47, - 2001:470:f85c::/47, - 2001:470:f85f::/48, - 2001:470:f860::/46, - 2001:470:f864::/48, - 2001:470:f866::/47, - 2001:470:f869::/48, - 2001:470:f86a::/48, - 2001:470:f86f::/48, - 2001:470:f870::/47, - 2001:470:f872::/48, - 2001:470:f874::/48, - 2001:470:f876::/47, - 2001:470:f87a::/47, - 2001:470:f87e::/48, - 2001:470:f881::/48, - 2001:470:f882::/48, - 2001:470:f884::/47, - 2001:470:f887::/48, - 2001:470:f888::/46, - 2001:470:f88d::/48, - 2001:470:f88e::/48, - 2001:470:f890::/48, - 2001:470:f892::/47, - 2001:470:f895::/48, - 2001:470:f896::/48, - 2001:470:f899::/48, - 2001:470:f89a::/47, - 2001:470:f89c::/48, - 2001:470:f89e::/47, - 2001:470:f8a3::/48, - 2001:470:f8a4::/48, - 2001:470:f8a6::/47, - 2001:470:f8a9::/48, - 2001:470:f8ad::/48, - 2001:470:f8b7::/48, - 2001:470:f8b8::/47, - 2001:470:f8ba::/48, - 2001:470:f8bd::/48, - 2001:470:f8be::/47, - 2001:470:f8c0::/48, - 2001:470:f8c2::/47, - 2001:470:f8c6::/48, - 2001:470:f8c8::/47, - 2001:470:f8ca::/48, - 2001:470:f8cf::/48, - 2001:470:f8d1::/48, - 2001:470:f8d2::/47, - 2001:470:f8d4::/47, - 2001:470:f8dc::/48, - 2001:470:f8de::/48, - 2001:470:f8e2::/48, - 2001:470:f8e4::/48, - 2001:470:f8e6::/47, - 2001:470:f8e8::/47, - 2001:470:f8ec::/47, - 2001:470:f8ef::/48, - 2001:470:f8f0::/48, - 2001:470:f8f2::/48, - 2001:470:f8f6::/47, - 2001:470:f8fb::/48, - 2001:470:f900::/47, - 2001:470:f903::/48, - 2001:470:f905::/48, - 2001:470:f906::/48, - 2001:470:f908::/47, - 2001:470:f90b::/48, - 2001:470:f914::/46, - 2001:470:f918::/48, - 2001:470:f91a::/47, - 2001:470:f91c::/46, - 2001:470:f921::/48, - 2001:470:f922::/47, - 2001:470:f924::/48, - 2001:470:f926::/48, - 2001:470:f928::/47, - 2001:470:f92c::/48, - 2001:470:f92f::/48, - 2001:470:f932::/48, - 2001:470:f934::/48, - 2001:470:f937::/48, - 2001:470:f939::/48, - 2001:470:f93a::/47, - 2001:470:f93e::/48, - 2001:470:f940::/47, - 2001:470:f942::/48, - 2001:470:f945::/48, - 2001:470:f947::/48, - 2001:470:f94d::/48, - 2001:470:f94e::/47, - 2001:470:f951::/48, - 2001:470:f952::/47, - 2001:470:f955::/48, - 2001:470:f956::/48, - 2001:470:f95a::/48, - 2001:470:f95c::/48, - 2001:470:f95e::/48, - 2001:470:f960::/48, - 2001:470:f962::/48, - 2001:470:f965::/48, - 2001:470:f96b::/48, - 2001:470:f96d::/48, - 2001:470:f96e::/48, - 2001:470:f972::/47, - 2001:470:f974::/48, - 2001:470:f976::/48, - 2001:470:f978::/48, - 2001:470:f97b::/48, - 2001:470:f97c::/48, - 2001:470:f97e::/47, - 2001:470:f980::/48, - 2001:470:f982::/48, - 2001:470:f984::/47, - 2001:470:f986::/48, - 2001:470:f988::/48, - 2001:470:f992::/48, - 2001:470:f994::/46, - 2001:470:f998::/48, - 2001:470:f99c::/46, - 2001:470:f9a0::/46, - 2001:470:f9a7::/48, - 2001:470:f9aa::/48, - 2001:470:f9ad::/48, - 2001:470:f9b0::/47, - 2001:470:f9b2::/48, - 2001:470:f9b5::/48, - 2001:470:f9b6::/48, - 2001:470:f9b9::/48, - 2001:470:f9be::/47, - 2001:470:f9c1::/48, - 2001:470:f9c2::/47, - 2001:470:f9c4::/48, - 2001:470:f9c9::/48, - 2001:470:f9ca::/47, - 2001:470:f9cc::/47, - 2001:470:f9d0::/48, - 2001:470:f9d2::/48, - 2001:470:f9d4::/47, - 2001:470:f9d6::/48, - 2001:470:f9d9::/48, - 2001:470:f9da::/48, - 2001:470:f9de::/47, - 2001:470:f9e1::/48, - 2001:470:f9e3::/48, - 2001:470:f9e4::/48, - 2001:470:f9e7::/48, - 2001:470:f9e8::/48, - 2001:470:f9eb::/48, - 2001:470:f9ec::/48, - 2001:470:f9f0::/47, - 2001:470:f9f5::/48, - 2001:470:f9fc::/48, - 2001:470:fa00::/48, - 2001:470:fa04::/48, - 2001:470:fa07::/48, - 2001:470:fa08::/47, - 2001:470:fa0c::/48, - 2001:470:fa0f::/48, - 2001:470:fa12::/48, - 2001:470:fa15::/48, - 2001:470:fa1a::/48, - 2001:470:fa1e::/48, - 2001:470:fa20::/48, - 2001:470:fa22::/47, - 2001:470:fa24::/48, - 2001:470:fa28::/48, - 2001:470:fa2b::/48, - 2001:470:fa2c::/47, - 2001:470:fa2e::/48, - 2001:470:fa31::/48, - 2001:470:fa32::/47, - 2001:470:fa34::/48, - 2001:470:fa38::/47, - 2001:470:fa3c::/48, - 2001:470:fa3f::/48, - 2001:470:fa40::/48, - 2001:470:fa46::/48, - 2001:470:fa48::/47, - 2001:470:fa4b::/48, - 2001:470:fa4e::/48, - 2001:470:fa52::/47, - 2001:470:fa55::/48, - 2001:470:fa56::/47, - 2001:470:fa58::/60, - 2001:470:fa58:12::/63, - 2001:470:fa58:14::/62, - 2001:470:fa58:18::/61, - 2001:470:fa58:20::/59, - 2001:470:fa58:40::/58, - 2001:470:fa58:80::/57, - 2001:470:fa58:100::/56, - 2001:470:fa58:200::/55, - 2001:470:fa58:400::/55, - 2001:470:fa58:601::/64, - 2001:470:fa58:602::/63, - 2001:470:fa58:604::/62, - 2001:470:fa58:608::/61, - 2001:470:fa58:610::/60, - 2001:470:fa58:620::/59, - 2001:470:fa58:640::/58, - 2001:470:fa58:680::/57, - 2001:470:fa58:700::/56, - 2001:470:fa58:800::/60, - 2001:470:fa58:814::/62, - 2001:470:fa58:818::/61, - 2001:470:fa58:820::/59, - 2001:470:fa58:840::/58, - 2001:470:fa58:880::/57, - 2001:470:fa58:900::/56, - 2001:470:fa58:a00::/55, - 2001:470:fa58:c00::/54, - 2001:470:fa58:1000::/52, - 2001:470:fa58:2000::/51, - 2001:470:fa58:4000::/51, - 2001:470:fa58:6000::/54, - 2001:470:fa58:6400::/55, - 2001:470:fa58:6600::/56, - 2001:470:fa58:6700::/59, - 2001:470:fa58:6721::/64, - 2001:470:fa58:6722::/63, - 2001:470:fa58:6724::/62, - 2001:470:fa58:6728::/61, - 2001:470:fa58:6730::/60, - 2001:470:fa58:6740::/58, - 2001:470:fa58:6780::/57, - 2001:470:fa58:6800::/53, - 2001:470:fa58:7000::/52, - 2001:470:fa58:8000::/54, - 2001:470:fa58:8400::/56, - 2001:470:fa58:8501::/64, - 2001:470:fa58:8502::/64, - 2001:470:fa58:8504::/62, - 2001:470:fa58:8508::/61, - 2001:470:fa58:8510::/60, - 2001:470:fa58:8521::/64, - 2001:470:fa58:8522::/63, - 2001:470:fa58:8524::/62, - 2001:470:fa58:8528::/61, - 2001:470:fa58:8531::/64, - 2001:470:fa58:8532::/63, - 2001:470:fa58:8534::/62, - 2001:470:fa58:8538::/61, - 2001:470:fa58:8540::/58, - 2001:470:fa58:8580::/57, - 2001:470:fa58:8600::/55, - 2001:470:fa58:8800::/58, - 2001:470:fa58:8840::/59, - 2001:470:fa58:8863::/64, - 2001:470:fa58:8864::/62, - 2001:470:fa58:8868::/61, - 2001:470:fa58:8870::/60, - 2001:470:fa58:8880::/57, - 2001:470:fa58:8900::/56, - 2001:470:fa58:8a00::/55, - 2001:470:fa58:8c00::/54, - 2001:470:fa58:9000::/54, - 2001:470:fa58:9400::/55, - 2001:470:fa58:9600::/56, - 2001:470:fa58:9700::/58, - 2001:470:fa58:9740::/59, - 2001:470:fa58:9761::/64, - 2001:470:fa58:9762::/63, - 2001:470:fa58:9764::/62, - 2001:470:fa58:9768::/61, - 2001:470:fa58:9770::/60, - 2001:470:fa58:9780::/57, - 2001:470:fa58:9800::/53, - 2001:470:fa58:a000::/51, - 2001:470:fa58:c000::/51, - 2001:470:fa58:e000::/52, - 2001:470:fa58:f000::/53, - 2001:470:fa58:f800::/54, - 2001:470:fa58:fc00::/55, - 2001:470:fa58:fe00::/56, - 2001:470:fa58:ff00::/57, - 2001:470:fa58:ff80::/58, - 2001:470:fa58:ffc0::/59, - 2001:470:fa58:ffe0::/60, - 2001:470:fa58:fff0::/61, - 2001:470:fa58:fff8::/62, - 2001:470:fa58:fffc::/63, - 2001:470:fa58:fffe::/64, - 2001:470:fa59::/48, - 2001:470:fa5b::/48, - 2001:470:fa5c::/48, - 2001:470:fa5e::/47, - 2001:470:fa60::/47, - 2001:470:fa66::/48, - 2001:470:fa68::/48, - 2001:470:fa6a::/48, - 2001:470:fa6d::/48, - 2001:470:fa6e::/47, - 2001:470:fa70::/47, - 2001:470:fa75::/48, - 2001:470:fa76::/48, - 2001:470:fa78::/48, - 2001:470:fa7c::/48, - 2001:470:fa81::/48, - 2001:470:fa82::/48, - 2001:470:fa87::/48, - 2001:470:fa89::/48, - 2001:470:fa8a::/48, - 2001:470:fa8f::/48, - 2001:470:fa94::/48, - 2001:470:fa96::/48, - 2001:470:fa99::/48, - 2001:470:fa9a::/47, - 2001:470:fa9f::/48, - 2001:470:faa0::/47, - 2001:470:faaa::/48, - 2001:470:faae::/48, - 2001:470:fab0::/48, - 2001:470:fab9::/48, - 2001:470:fabf::/48, - 2001:470:fac0::/48, - 2001:470:fac4::/47, - 2001:470:fac6::/48, - 2001:470:fac8::/48, - 2001:470:facd::/48, - 2001:470:face::/47, - 2001:470:fad1::/48, - 2001:470:fad5::/48, - 2001:470:fada::/48, - 2001:470:fae0::/48, - 2001:470:fae4::/47, - 2001:470:faeb::/48, - 2001:470:faed::/48, - 2001:470:faf2::/47, - 2001:470:faf7::/48, - 2001:470:faff::/48, - 2001:470:fb01::/48, - 2001:470:fb06::/48, - 2001:470:fb08::/48, - 2001:470:fb0c::/48, - 2001:470:fb0e::/48, - 2001:470:fb11::/48, - 2001:470:fb12::/48, - 2001:470:fb15::/48, - 2001:470:fb17::/48, - 2001:470:fb18::/48, - 2001:470:fb1a::/47, - 2001:470:fb1e::/48, - 2001:470:fb20::/48, - 2001:470:fb22::/47, - 2001:470:fb28::/48, - 2001:470:fb2c::/48, - 2001:470:fb32::/48, - 2001:470:fb3b::/48, - 2001:470:fb43::/48, - 2001:470:fb44::/48, - 2001:470:fb46::/48, - 2001:470:fb4a::/48, - 2001:470:fb4e::/48, - 2001:470:fb50::/47, - 2001:470:fb53::/48, - 2001:470:fb57::/48, - 2001:470:fb5b::/48, - 2001:470:fb5c::/47, - 2001:470:fb61::/48, - 2001:470:fb64::/48, - 2001:470:fb68::/48, - 2001:470:fb6b::/48, - 2001:470:fb6d::/48, - 2001:470:fb6f::/48, - 2001:470:fb78::/48, - 2001:470:fb83::/48, - 2001:470:fb84::/48, - 2001:470:fb93::/48, - 2001:470:fb94::/47, - 2001:470:fb9e::/48, - 2001:470:fba0::/48, - 2001:470:fba4::/48, - 2001:470:fba7::/48, - 2001:470:fbab::/48, - 2001:470:fbae::/48, - 2001:470:fbb1:2bbb::/64, - 2001:470:fbb3::/48, - 2001:470:fbb7::/48, - 2001:470:fbb8::/48, - 2001:470:fbbc::/48, - 2001:470:fbc4::/48, - 2001:470:fbc7::/48, - 2001:470:fbc9::/48, - 2001:470:fbca::/48, - 2001:470:fbcc::/48, - 2001:470:fbcf::/48, - 2001:470:fbd2::/47, - 2001:470:fbd6::/48, - 2001:470:fbdd::/48, - 2001:470:fbe5::/48, - 2001:470:fbe8::/47, - 2001:470:fbec::/48, - 2001:470:fbfa::/48, - 2001:470:fc01::/48, - 2001:470:fc09::/48, - 2001:470:fc0a::/48, - 2001:470:fc0e::/48, - 2001:470:fc12::/48, - 2001:470:fc18::/48, - 2001:470:fc1b::/48, - 2001:470:fc22::/48, - 2001:470:fc2d::/48, - 2001:470:fc31::/48, - 2001:470:fc35::/48, - 2001:470:fc37::/48, - 2001:470:fc3c::/48, - 2001:470:fc45::/48, - 2001:470:fc46::/48, - 2001:470:fc4e::/48, - 2001:470:fc51::/48, - 2001:470:fc52::/47, - 2001:470:fc55::/48, - 2001:470:fc56::/47, - 2001:470:fc58::/48, - 2001:470:fc5a::/47, - 2001:470:fc6b::/48, - 2001:470:fc74::/48, - 2001:470:fc78::/47, - 2001:470:fc7b::/48, - 2001:470:fc84::/48, - 2001:470:fc86::/48, - 2001:470:fc8d::/48, - 2001:470:fc91::/48, - 2001:470:fc92::/48, - 2001:470:fc9d::/48, - 2001:470:fca1::/48, - 2001:470:fca2::/48, - 2001:470:fca6::/48, - 2001:470:fcad::/48, - 2001:470:fcae::/48, - 2001:470:fcb6::/48, - 2001:470:fcb9::/48, - 2001:470:fcc0::/48, - 2001:470:fcc4::/48, - 2001:470:fcc6::/47, - 2001:470:fccb::/48, - 2001:470:fcce::/60, - 2001:470:fcce:12::/63, - 2001:470:fcce:14::/62, - 2001:470:fcce:18::/61, - 2001:470:fcce:20::/59, - 2001:470:fcce:40::/58, - 2001:470:fcce:80::/57, - 2001:470:fcce:100::/56, - 2001:470:fcce:200::/55, - 2001:470:fcce:400::/55, - 2001:470:fcce:601::/64, - 2001:470:fcce:602::/63, - 2001:470:fcce:604::/62, - 2001:470:fcce:608::/61, - 2001:470:fcce:610::/60, - 2001:470:fcce:620::/59, - 2001:470:fcce:640::/58, - 2001:470:fcce:680::/57, - 2001:470:fcce:700::/56, - 2001:470:fcce:800::/60, - 2001:470:fcce:814::/62, - 2001:470:fcce:818::/61, - 2001:470:fcce:820::/59, - 2001:470:fcce:840::/58, - 2001:470:fcce:880::/57, - 2001:470:fcce:900::/56, - 2001:470:fcce:a00::/55, - 2001:470:fcce:c00::/54, - 2001:470:fcce:1000::/52, - 2001:470:fcce:2000::/51, - 2001:470:fcce:4000::/51, - 2001:470:fcce:6000::/54, - 2001:470:fcce:6400::/55, - 2001:470:fcce:6600::/56, - 2001:470:fcce:6700::/59, - 2001:470:fcce:6721::/64, - 2001:470:fcce:6722::/63, - 2001:470:fcce:6724::/62, - 2001:470:fcce:6728::/61, - 2001:470:fcce:6730::/60, - 2001:470:fcce:6740::/58, - 2001:470:fcce:6780::/57, - 2001:470:fcce:6800::/53, - 2001:470:fcce:7000::/52, - 2001:470:fcce:8000::/54, - 2001:470:fcce:8400::/56, - 2001:470:fcce:8501::/64, - 2001:470:fcce:8502::/64, - 2001:470:fcce:8504::/62, - 2001:470:fcce:8508::/61, - 2001:470:fcce:8510::/60, - 2001:470:fcce:8521::/64, - 2001:470:fcce:8522::/63, - 2001:470:fcce:8524::/62, - 2001:470:fcce:8528::/61, - 2001:470:fcce:8531::/64, - 2001:470:fcce:8532::/63, - 2001:470:fcce:8534::/62, - 2001:470:fcce:8538::/61, - 2001:470:fcce:8540::/58, - 2001:470:fcce:8580::/57, - 2001:470:fcce:8600::/55, - 2001:470:fcce:8800::/58, - 2001:470:fcce:8840::/59, - 2001:470:fcce:8863::/64, - 2001:470:fcce:8864::/62, - 2001:470:fcce:8868::/61, - 2001:470:fcce:8870::/60, - 2001:470:fcce:8880::/57, - 2001:470:fcce:8900::/56, - 2001:470:fcce:8a00::/55, - 2001:470:fcce:8c00::/54, - 2001:470:fcce:9000::/54, - 2001:470:fcce:9400::/55, - 2001:470:fcce:9600::/56, - 2001:470:fcce:9700::/58, - 2001:470:fcce:9740::/59, - 2001:470:fcce:9761::/64, - 2001:470:fcce:9762::/63, - 2001:470:fcce:9764::/62, - 2001:470:fcce:9768::/61, - 2001:470:fcce:9770::/60, - 2001:470:fcce:9780::/57, - 2001:470:fcce:9800::/53, - 2001:470:fcce:a000::/51, - 2001:470:fcce:c000::/51, - 2001:470:fcce:e000::/52, - 2001:470:fcce:f000::/53, - 2001:470:fcce:f800::/54, - 2001:470:fcce:fc00::/55, - 2001:470:fcce:fe00::/56, - 2001:470:fcce:ff00::/57, - 2001:470:fcce:ff80::/58, - 2001:470:fcce:ffc0::/59, - 2001:470:fcce:ffe0::/60, - 2001:470:fcce:fff0::/61, - 2001:470:fcce:fff8::/62, - 2001:470:fcce:fffc::/63, - 2001:470:fcce:fffe::/64, - 2001:470:fcdb::/48, - 2001:470:fce2::/48, - 2001:470:fce4::/48, - 2001:470:fcec::/48, - 2001:470:fcef::/48, - 2001:470:fcf0::/48, - 2001:470:fcf5::/48, - 2001:470:fcfe::/48, - 2001:470:fd03::/48, - 2001:470:fd09::/48, - 2001:470:fd0c::/48, - 2001:470:fd0f::/48, - 2001:470:fd10::/48, - 2001:470:fd14::/48, - 2001:470:fd20::/48, - 2001:470:fd22::/48, - 2001:470:fd24::/47, - 2001:470:fd2a::/48, - 2001:470:fd34::/48, - 2001:470:fd38::/48, - 2001:470:fd3a::/48, - 2001:470:fd41::/48, - 2001:470:fd4f::/48, - 2001:470:fd53::/48, - 2001:470:fd5d::/48, - 2001:470:fd5e::/47, - 2001:470:fd69::/48, - 2001:470:fd6e::/47, - 2001:470:fd70::/48, - 2001:470:fd72::/48, - 2001:470:fd78::/48, - 2001:470:fd7d::/48, - 2001:470:fd8b::/48, - 2001:470:fd8c::/47, - 2001:470:fd93::/48, - 2001:470:fd98::/57, - 2001:470:fd98:80::/58, - 2001:470:fd98:c0::/59, - 2001:470:fd98:e0::/63, - 2001:470:fd98:e2::/64, - 2001:470:fd98:e4::/62, - 2001:470:fd98:e8::/61, - 2001:470:fd98:f0::/60, - 2001:470:fd98:100::/56, - 2001:470:fd98:200::/55, - 2001:470:fd98:400::/54, - 2001:470:fd98:800::/53, - 2001:470:fd98:1000::/52, - 2001:470:fd98:2000::/51, - 2001:470:fd98:4000::/50, - 2001:470:fd98:8000::/49, - 2001:470:fd9d::/48, - 2001:470:fdac::/48, - 2001:470:fdb4::/48, - 2001:470:fdb6::/48, - 2001:470:fdbd::/48, - 2001:470:fdc2::/48, - 2001:470:fdc7::/48, - 2001:470:fdcb::/48, - 2001:470:fdd2::/47, - 2001:470:fddf::/48, - 2001:470:fde2::/47, - 2001:470:fde4::/48, - 2001:470:fde8::/48, - 2001:470:fdeb::/48, - 2001:470:fdf2::/48, - 2001:470:fdf4::/48, - 2001:470:fdf9::/48, - 2001:470:fe07::/48, - 2001:470:fe0b::/48, - 2001:470:fe0c::/48, - 2001:470:fe10::/48, - 2001:470:fe16::/48, - 2001:470:fe1a::/48, - 2001:470:fe1c::/48, - 2001:470:fe20::/48, - 2001:470:fe22::/48, - 2001:470:fe28::/48, - 2001:470:fe32::/48, - 2001:470:fe34::/48, - 2001:470:fe39::/48, - 2001:470:fe3a::/48, - 2001:470:fe3d::/48, - 2001:470:fe3e::/48, - 2001:470:fe40::/48, - 2001:470:fe66::/48, - 2001:470:fe8c::/48, - 2001:470:fedc::/48, - 2001:470:fef3::/48, - 2001:470:ff0a::/48, - 2001:470:ff2f::/48, - 2001:470:ffdd::/48, - 2001:67c:a1c::/48, - 2001:67c:aec::/48, - 2001:67c:ebc::/48, - 2001:67c:2c1c::/48, - 2001:7fa:5::/48, - 2001:7fa:10::/48, - 2001:c68::/32, - 2001:cc0::/32, - 2001:da8::/31, - 2001:daa::/32, - 2001:dc7::/32, - 2001:dd8:1::/48, - 2001:dd8:5::/48, - 2001:dd8:1a::/48, - 2001:dd9::/48, - 2001:df0:423::/48, - 2001:df0:9c0::/48, - 2001:df0:1bc0::/48, - 2001:df0:25c0::/48, - 2001:df0:2e00::/48, - 2001:df0:2e80::/48, - 2001:df0:59c0::/48, - 2001:df0:85c0::/48, - 2001:df0:9d40::/48, - 2001:df0:ac40::/48, - 2001:df0:bf80::/48, - 2001:df0:d880::/48, - 2001:df0:f8c0::/48, - 2001:df1:c80::/48, - 2001:df1:2b40::/48, - 2001:df1:4580::/48, - 2001:df1:5280::/48, - 2001:df1:5b80::/48, - 2001:df1:5fc0::/48, - 2001:df1:6180::/48, - 2001:df1:61c0::/48, - 2001:df1:a100::/48, - 2001:df1:c900::/48, - 2001:df1:d180::/48, - 2001:df1:da00::/48, - 2001:df1:f480::/48, - 2001:df1:fd80::/48, - 2001:df2:80::/48, - 2001:df2:5780::/48, - 2001:df2:8bc0::/48, - 2001:df2:a580::/48, - 2001:df2:c240::/48, - 2001:df2:d4c0::/48, - 2001:df3:15c0::/48, - 2001:df3:2a80::/48, - 2001:df3:3a80::/48, - 2001:df3:7440::/48, - 2001:df3:8b80::/48, - 2001:df3:9a40::/48, - 2001:df3:a680::/48, - 2001:df3:b380::/48, - 2001:df3:c380::/48, - 2001:df3:c680::/48, - 2001:df3:d0c0::/48, - 2001:df3:d880::/48, - 2001:df3:ed80::/48, - 2001:df3:ef80::/48, - 2001:df4:880::/48, - 2001:df4:d80::/48, - 2001:df4:1880::/48, - 2001:df4:2780::/48, - 2001:df4:2e80::/48, - 2001:df4:3d80::/48, - 2001:df4:4b80::/48, - 2001:df4:4d80::/48, - 2001:df4:a1c0::/48, - 2001:df4:a680::/48, - 2001:df4:a980::/48, - 2001:df4:c180::/48, - 2001:df4:c580::/48, - 2001:df4:c780::/48, - 2001:df4:e140::/48, - 2001:df5:1440::/48, - 2001:df5:2080::/48, - 2001:df5:2fc0::/48, - 2001:df5:44c0::/48, - 2001:df5:4740::/48, - 2001:df5:4cc0::/48, - 2001:df5:5f80::/48, - 2001:df5:7800::/48, - 2001:df6:100::/48, - 2001:df6:3d00::/48, - 2001:df6:5d00::/48, - 2001:df6:6800::/48, - 2001:df6:f400::/48, - 2001:df7:1480::/48, - 2001:df7:2b80::/48, - 2001:df7:6600::/48, - 2001:e08::/32, - 2001:e18::/32, - 2001:e80::/32, - 2001:e88::/32, - 2001:f38::/32, - 2001:f88::/32, - 2001:2030:0:4d::/64, - 2001:4438::/32, - 2001:4510::/29, - 2400:1040::/32, - 2400:1160::/32, - 2400:12c0::/32, - 2400:1340::/32, - 2400:1380::/32, - 2400:15c0::/32, - 2400:1640::/32, - 2400:16c0::/32, - 2400:1740::/32, - 2400:17c0::/32, - 2400:1840::/32, - 2400:18c0::/32, - 2400:1940::/32, - 2400:19a0::/32, - 2400:19c0::/32, - 2400:1a40::/32, - 2400:1ac0::/32, - 2400:1b40::/32, - 2400:1cc0::/32, - 2400:1d40::/32, - 2400:1dc0::/32, - 2400:1e40::/32, - 2400:1ec0::/32, - 2400:1f40::/32, - 2400:1fc0::/32, - 2400:3040::/32, - 2400:3140::/32, - 2400:3160::/32, - 2400:31c0::/32, - 2400:3200::/32, - 2400:3280::/32, - 2400:32c0::/32, - 2400:3340::/32, - 2400:33c0::/32, - 2400:3440::/32, - 2400:34c0::/32, - 2400:3540::/32, - 2400:35c0::/32, - 2400:3600::/32, - 2400:3640::/32, - 2400:3660::/32, - 2400:36c0::/32, - 2400:38c0::/32, - 2400:39c0::/32, - 2400:3a00::/32, - 2400:3a40::/32, - 2400:3b40::/32, - 2400:3c40::/32, - 2400:3cc0::/32, - 2400:3e00::/32, - 2400:3f40::/32, - 2400:3f60::/48, - 2400:3f60:3::/48, - 2400:3f60:5::/48, - 2400:3f60:6::/47, - 2400:3f60:8::/45, - 2400:3f60:10::/48, - 2400:3f60:12::/47, - 2400:3f60:14::/46, - 2400:3f60:18::/45, - 2400:3f60:20::/43, - 2400:3f60:40::/42, - 2400:3f60:80::/41, - 2400:3f60:100::/40, - 2400:3f60:200::/39, - 2400:3f60:400::/38, - 2400:3f60:800::/37, - 2400:3f60:1000::/36, - 2400:3f60:2000::/35, - 2400:3f60:4000::/34, - 2400:3f60:8000::/33, - 2400:3fc0::/32, - 2400:4440::/32, - 2400:44c0::/32, - 2400:4540::/32, - 2400:4600::/32, - 2400:4640::/32, - 2400:46c0::/32, - 2400:4920::/32, - 2400:4bc0::/32, - 2400:4e00::/32, - 2400:4e40::/32, - 2400:5080::/32, - 2400:5280::/32, - 2400:5400::/32, - 2400:5580::/32, - 2400:55c0::/32, - 2400:55e0::/32, - 2400:5600::/32, - 2400:5640::/32, - 2400:56c0::/32, - 2400:57c0::/32, - 2400:5840::/32, - 2400:5a00::/32, - 2400:5a40::/32, - 2400:5a60::/32, - 2400:5ac0::/32, - 2400:5b40::/32, - 2400:5bc0::/32, - 2400:5c40::/32, - 2400:5c80::/32, - 2400:5cc0::/32, - 2400:5e20::/32, - 2400:5e80::/32, - 2400:5ee0::/32, - 2400:5f60::/32, - 2400:5fc0::/32, - 2400:6000::/32, - 2400:6040::/32, - 2400:60c0::/32, - 2400:61c0::/32, - 2400:6200::/32, - 2400:6460::/39, - 2400:6460:300::/40, - 2400:6500:100:7200::/56, - 2400:6600::/32, - 2400:6640::/32, - 2400:66a0::/32, - 2400:66c0::/32, - 2400:66e0::/32, - 2400:6740::/32, - 2400:67a0::/32, - 2400:67c0::/32, - 2400:6840::/32, - 2400:68c0::/32, - 2400:6940::/32, - 2400:69c0::/32, - 2400:6a00::/32, - 2400:6a40::/32, - 2400:6ac0::/32, - 2400:6b40::/32, - 2400:6bc0::/32, - 2400:6c40::/32, - 2400:6cc0::/32, - 2400:6d40::/32, - 2400:6da0::/32, - 2400:6dc0::/32, - 2400:6e00::/32, - 2400:6e40::/32, - 2400:6e60::/32, - 2400:6ec0::/32, - 2400:6f40::/32, - 2400:6f80::/32, - 2400:6fc0::/32, - 2400:7040::/32, - 2400:70a0::/32, - 2400:7100::/32, - 2400:7140::/32, - 2400:71c0::/32, - 2400:7200::/32, - 2400:7240::/32, - 2400:72c0::/32, - 2400:72e0::/32, - 2400:7340::/32, - 2400:73c0::/32, - 2400:73e0::/32, - 2400:7440::/32, - 2400:74c0::/32, - 2400:7540::/32, - 2400:75a0::/28, - 2400:75c0::/32, - 2400:7640::/32, - 2400:7680::/32, - 2400:76c0::/32, - 2400:7740::/32, - 2400:77c0::/32, - 2400:79c0::/32, - 2400:7ac0::/32, - 2400:7ae0::/32, - 2400:7bc0::/32, - 2400:7f80::/32, - 2400:7fc0::/32, - 2400:8080::/32, - 2400:8200::/31, - 2400:82c0::/32, - 2400:8580::/32, - 2400:8600::/32, - 2400:86a0::/32, - 2400:86e0::/32, - 2400:8780::/32, - 2400:87c0::/32, - 2400:8840::/32, - 2400:8920::/32, - 2400:8980::/32, - 2400:89c0::/32, - 2400:8be0::/32, - 2400:8ce0::/32, - 2400:8e00::/32, - 2400:8e60::/32, - 2400:8f00::/32, - 2400:8f60::/32, - 2400:8fc0::/32, - 2400:9020::/32, - 2400:9040::/32, - 2400:9340::/32, - 2400:9380:8001::/48, - 2400:9380:8003::/48, - 2400:9380:8021::/48, - 2400:9380:8040::/48, - 2400:9380:8140::/48, - 2400:9380:8201::/48, - 2400:9380:8301::/48, - 2400:9380:9001::/48, - 2400:9380:9002::/48, - 2400:9380:9005::/48, - 2400:9380:9009::/48, - 2400:9380:900a::/48, - 2400:9380:9020::/47, - 2400:9380:9040::/47, - 2400:9380:9050::/47, - 2400:9380:9060::/48, - 2400:9380:9071::/48, - 2400:9380:9080::/47, - 2400:9380:90b0::/45, - 2400:9380:9100::/47, - 2400:9380:9121::/48, - 2400:9380:9201::/48, - 2400:9380:9202::/48, - 2400:9380:9220::/47, - 2400:9380:9240::/47, - 2400:9380:9250::/47, - 2400:9380:9252::/48, - 2400:9380:9260::/48, - 2400:9380:9271::/48, - 2400:9380:9272::/48, - 2400:9380:9280::/47, - 2400:9380:9282::/48, - 2400:9380:92b0::/45, - 2400:93e0::/32, - 2400:9520::/32, - 2400:9580::/32, - 2400:95c0::/32, - 2400:95e0::/32, - 2400:9600::/32, - 2400:9620::/32, - 2400:98c0::/32, - 2400:9960::/32, - 2400:99e0::/32, - 2400:9a00::/32, - 2400:9ca0::/32, - 2400:9e00::/32, - 2400:9e20:caf7::/48, - 2400:9e20:caf8::/47, - 2400:a040::/32, - 2400:a320::/32, - 2400:a380::/32, - 2400:a420::/32, - 2400:a480::/32, - 2400:a5a0::/32, - 2400:a6a0::/39, - 2400:a6a0:300::/40, - 2400:a6a0:400::/38, - 2400:a6a0:800::/37, - 2400:a6a0:1000::/36, - 2400:a6a0:2000::/35, - 2400:a6a0:4000::/34, - 2400:a6a0:8000::/33, - 2400:a780::/32, - 2400:a860::/32, - 2400:a8a0::/32, - 2400:a8c0::/32, - 2400:a900::/32, - 2400:a980::/29, - 2400:a9a0::/32, - 2400:abc0::/32, - 2400:ae00::/32, - 2400:b200::/32, - 2400:b2c0::/32, - 2400:b500::/32, - 2400:b600::/32, - 2400:b620::/32, - 2400:b6c0::/32, - 2400:b700::/32, - 2400:b9a0::/32, - 2400:b9c0::/32, - 2400:ba00::/32, - 2400:ba41::/48, - 2400:ba41:3::/48, - 2400:ba41:4::/46, - 2400:ba41:8::/45, - 2400:ba41:10::/44, - 2400:ba41:20::/43, - 2400:ba41:40::/42, - 2400:ba41:80::/41, - 2400:ba41:100::/40, - 2400:ba41:200::/39, - 2400:ba41:400::/38, - 2400:ba41:800::/37, - 2400:ba41:1000::/36, - 2400:ba41:2000::/35, - 2400:ba41:4000::/34, - 2400:ba41:8000::/33, - 2400:bac0::/32, - 2400:be00::/32, - 2400:bf00::/32, - 2400:c200::/32, - 2400:c380::/32, - 2400:c840::/32, - 2400:c8c0::/32, - 2400:c940::/32, - 2400:c9c0::/32, - 2400:ca40::/32, - 2400:cac0::/32, - 2400:cb40::/32, - 2400:cb80::/32, - 2400:cbc0::/32, - 2400:cc40::/32, - 2400:cc80::/32, - 2400:ccc0::/32, - 2400:cd40::/32, - 2400:cda0::/32, - 2400:cdc0::/32, - 2400:ce00::/32, - 2400:ce40::/32, - 2400:cf40::/32, - 2400:cfc0::/32, - 2400:d0a0::/32, - 2400:d0c0::/32, - 2400:d100::/32, - 2400:d160::/32, - 2400:d1c0::/32, - 2400:d200::/32, - 2400:d300::/32, - 2400:d440::/32, - 2400:d600::/32, - 2400:d6a0::/32, - 2400:d6c0::/32, - 2400:d720::/32, - 2400:d780::/32, - 2400:d7a0::/32, - 2400:da00::/32, - 2400:da60::/32, - 2400:dd00::/28, - 2400:dd40::/32, - 2400:dda0::/32, - 2400:de00::/32, - 2400:de80::/32, - 2400:dee0::/32, - 2400:e0c0::/32, - 2400:e680::/32, - 2400:e7e0::/32, - 2400:e880::/32, - 2400:ebc0::/32, - 2400:ed60::/32, - 2400:eda0::/32, - 2400:edc0::/32, - 2400:ee00::/32, - 2400:eec0::/32, - 2400:ef40::/32, - 2400:f480::/32, - 2400:f5c0::/32, - 2400:f6e0::/32, - 2400:f720::/32, - 2400:f7c0::/32, - 2400:f840::/32, - 2400:f860::/32, - 2400:f980::/32, - 2400:fac0::/32, - 2400:fb40::/32, - 2400:fb60::/32, - 2400:fbc0::/32, - 2400:fc40::/32, - 2400:fcc0::/32, - 2400:fe00::/32, - 2401:20::/32, - 2401:60::/32, - 2401:80::/32, - 2401:140::/32, - 2401:1c0::/32, - 2401:540::/32, - 2401:620::/32, - 2401:7c0::/32, - 2401:800::/32, - 2401:9c0::/32, - 2401:a00::/32, - 2401:a40::/32, - 2401:ac0::/32, - 2401:b40::/32, - 2401:ba0::/32, - 2401:bc0::/32, - 2401:c40::/32, - 2401:cc0::/32, - 2401:d40::/32, - 2401:e00::/32, - 2401:1000::/32, - 2401:1160::/32, - 2401:11a0::/40, - 2401:11a0:100::/42, - 2401:11a0:140::/44, - 2401:11a0:160::/43, - 2401:11a0:180::/41, - 2401:11a0:200::/39, - 2401:11a0:400::/38, - 2401:11a0:800::/37, - 2401:11a0:1000::/36, - 2401:11a0:2000::/35, - 2401:11a0:4000::/34, - 2401:11a0:8000::/33, - 2401:11c0::/32, - 2401:1200::/32, - 2401:12c0::/32, - 2401:1320::/32, - 2401:15c0::/32, - 2401:18c0::/32, - 2401:18e0::/28, - 2401:1940::/32, - 2401:19c0::/32, - 2401:1a40::/32, - 2401:1ac0::/32, - 2401:1c60::/32, - 2401:1ce0::/32, - 2401:1d40::/32, - 2401:1da0:2::/47, - 2401:1da0:4::/46, - 2401:1da0:8::/45, - 2401:1da0:10::/44, - 2401:1da0:20::/43, - 2401:1da0:40::/42, - 2401:1da0:80::/41, - 2401:1da0:100::/40, - 2401:1da0:200::/39, - 2401:1da0:400::/38, - 2401:1da0:800::/37, - 2401:1da0:1000::/36, - 2401:1da0:2000::/35, - 2401:1da0:4000::/34, - 2401:1da0:8000::/33, - 2401:1dc0::/32, - 2401:1de0::/32, - 2401:1e00::/32, - 2401:1ec0::/32, - 2401:1f40::/32, - 2401:2040::/32, - 2401:2080::/32, - 2401:23c0::/32, - 2401:2600::/32, - 2401:2780::/32, - 2401:2980::/32, - 2401:2a00::/32, - 2401:2b40::/32, - 2401:2e00::/32, - 2401:2e20::/32, - 2401:3100::/32, - 2401:3380::/32, - 2401:33c0::/32, - 2401:3440::/32, - 2401:3480::/32, - 2401:34a0::/31, - 2401:34c0::/32, - 2401:3640::/32, - 2401:3780::/32, - 2401:3800::/32, - 2401:3880::/32, - 2401:3980::/32, - 2401:3a00::/32, - 2401:3a80::/32, - 2401:3b80::/32, - 2401:3c20::/32, - 2401:3c80::/32, - 2401:3d80::/32, - 2401:3e80::/32, - 2401:3f80::/32, - 2401:4080::/32, - 2401:4180::/32, - 2401:4280::/32, - 2401:4380::/32, - 2401:4480::/32, - 2401:4580::/32, - 2401:4680::/32, - 2401:4780::/32, - 2401:4880::/32, - 2401:4a80::/32, - 2401:4b00::/32, - 2401:4f80::/32, - 2401:5180::/32, - 2401:5680::/32, - 2401:58a0::/32, - 2401:59c0::/32, - 2401:5b40::/32, - 2401:5c20::/32, - 2401:5c60::/32, - 2401:5c80::/32, - 2401:5fa0::/32, - 2401:70e0::/32, - 2401:7180::/32, - 2401:71c0::/32, - 2401:7240::/32, - 2401:7320::/32, - 2401:7340::/32, - 2401:7360::/32, - 2401:73a0::/32, - 2401:7580::/32, - 2401:7660::/32, - 2401:7680::/32, - 2401:7700::/32, - 2401:7780::/32, - 2401:77e0::/32, - 2401:7820::/32, - 2401:7880::/32, - 2401:78e0::/32, - 2401:7980::/32, - 2401:7a00::/32, - 2401:7a80::/32, - 2401:7b80::/32, - 2401:7bc0::/32, - 2401:7c80::/32, - 2401:7cc0::/32, - 2401:7ce0::/32, - 2401:7d40::/32, - 2401:7d80::/32, - 2401:7e00::/32, - 2401:7f80::/32, - 2401:8200::/32, - 2401:82c0::/32, - 2401:8380::/32, - 2401:8540::/32, - 2401:8600::/32, - 2401:8680::/32, - 2401:8720::/32, - 2401:87e0::/32, - 2401:8820::/31, - 2401:8840::/32, - 2401:8be0::/32, - 2401:8d00::/32, - 2401:8da0::/32, - 2401:8f40::/32, - 2401:8fc0::/32, - 2401:90a0::/32, - 2401:9260::/32, - 2401:92a0::/32, - 2401:92e0::/32, - 2401:9340::/32, - 2401:95e0::/32, - 2401:9600::/32, - 2401:96c0::/32, - 2401:96e0::/32, - 2401:9720::/32, - 2401:9740::/32, - 2401:97a0::/32, - 2401:98c0::/32, - 2401:9a00::/32, - 2401:9ac0::/32, - 2401:9b20::/31, - 2401:9b40::/32, - 2401:9b60::/32, - 2401:9bc0::/32, - 2401:9ca0::/32, - 2401:9d20::/32, - 2401:9dc0::/32, - 2401:9e20::/32, - 2401:9e40::/32, - 2401:9f80::/32, - 2401:9fa0::/32, - 2401:a140::/32, - 2401:a180::/32, - 2401:a2e0::/32, - 2401:a340::/32, - 2401:a3a0::/32, - 2401:a3c0::/32, - 2401:a4c0::/32, - 2401:a4e0::/32, - 2401:a540::/32, - 2401:a5c0::/32, - 2401:a620::/32, - 2401:a640::/32, - 2401:a6e0::/32, - 2401:a720::/32, - 2401:a940::/32, - 2401:a980::/32, - 2401:a9a0::/32, - 2401:aa00::/32, - 2401:aa20::/32, - 2401:aa40::/32, - 2401:ab60::/32, - 2401:aba0::/32, - 2401:acc0::/32, - 2401:ad40::/32, - 2401:adc0::/32, - 2401:af20:df11::/48, - 2401:afa0::/32, - 2401:b040::/32, - 2401:b180::/32, - 2401:b220::/32, - 2401:b340::/32, - 2401:b360::/32, - 2401:b400::/32, - 2401:b480::/32, - 2401:b4c0::/32, - 2401:b4e0::/32, - 2401:b540::/32, - 2401:b580::/32, - 2401:b5a0::/32, - 2401:b600::/32, - 2401:b680::/32, - 2401:b6c0::/32, - 2401:b6e0::/32, - 2401:b7c0::/32, - 2401:b940::/32, - 2401:ba00::/32, - 2401:ba40::/32, - 2401:bb20::/32, - 2401:bb80::/32, - 2401:bc60::/31, - 2401:bd60::/32, - 2401:bda0::/32, - 2401:be00::/32, - 2401:bf20::/32, - 2401:c020::/32, - 2401:c200::/32, - 2401:c540::/32, - 2401:c600::/32, - 2401:c640::/32, - 2401:c6c0::/32, - 2401:c840::/32, - 2401:c8c0::/32, - 2401:ca00::/32, - 2401:ca20::/32, - 2401:cb80::/32, - 2401:cbe0::/32, - 2401:cc00::/32, - 2401:cc60::/32, - 2401:ce00::/32, - 2401:cf40::/32, - 2401:cfc0::/32, - 2401:cfe0::/32, - 2401:d060::/32, - 2401:d0c0::/32, - 2401:d0e0::/32, - 2401:d140::/32, - 2401:d180::/32, - 2401:d2c0::/32, - 2401:d340::/32, - 2401:d420::/32, - 2401:d780::/32, - 2401:d7e0::/32, - 2401:d8e0::/32, - 2401:d920::/28, - 2401:da00::/32, - 2401:dbe0::/32, - 2401:dd20::/32, - 2401:dd60::/32, - 2401:dde0::/32, - 2401:de00::/32, - 2401:dfe0::/32, - 2401:e020::/32, - 2401:e080::/32, - 2401:e0c0::/32, - 2401:e140::/32, - 2401:e240::/32, - 2401:e2c0::/32, - 2401:e340::/32, - 2401:e360::/32, - 2401:e620::/32, - 2401:e840::/32, - 2401:e8c0::/32, - 2401:e940::/32, - 2401:e9c0::/32, - 2401:ec00::/32, - 2401:ec40::/32, - 2401:f0a0::/32, - 2401:f0e0::/32, - 2401:f220::/32, - 2401:f300::/32, - 2401:f320::/32, - 2401:f3e0::/32, - 2401:f7c0::/32, - 2401:f860::/32, - 2401:f9c0:cdcd::/48, - 2401:fa00:40::/43, - 2401:fa00:480:7600::/55, - 2401:fa80::/32, - 2401:fb80::/32, - 2401:fc60::/32, - 2401:fc80::/32, - 2401:ffc0::/32, - 2402:440::/32, - 2402:5c0::/32, - 2402:840::/32, - 2402:e00::/32, - 2402:fc0::/32, - 2402:1000::/32, - 2402:1440::/32, - 2402:14c0::/32, - 2402:1600::/32, - 2402:1740::/32, - 2402:19c0::/32, - 2402:1ec0::/32, - 2402:1f80::/32, - 2402:2000::/32, - 2402:2280::/32, - 2402:2440::/32, - 2402:24c0::/32, - 2402:2540::/32, - 2402:2640::/32, - 2402:2a00::/32, - 2402:2b80::/32, - 2402:2bc0::/32, - 2402:2d00::/32, - 2402:2d80::/32, - 2402:2e80::/32, - 2402:2f40::/32, - 2402:3040::/32, - 2402:3140::/32, - 2402:3180::/48, - 2402:3180:2::/47, - 2402:3180:4::/46, - 2402:3180:8::/45, - 2402:3180:10::/44, - 2402:3180:20::/43, - 2402:3180:40::/42, - 2402:3180:80::/41, - 2402:3180:100::/40, - 2402:3180:200::/39, - 2402:3180:400::/38, - 2402:3180:800::/37, - 2402:3180:1000::/36, - 2402:3180:2000::/35, - 2402:3180:4000::/34, - 2402:3180:8000::/33, - 2402:31c0::/32, - 2402:3240::/32, - 2402:33c0::/33, - 2402:33c0:8000::/35, - 2402:33c0:a000::/46, - 2402:33c0:a005::/48, - 2402:33c0:a006::/47, - 2402:33c0:a008::/45, - 2402:33c0:a010::/44, - 2402:33c0:a020::/43, - 2402:33c0:a040::/42, - 2402:33c0:a080::/41, - 2402:33c0:a100::/40, - 2402:33c0:a200::/39, - 2402:33c0:a400::/38, - 2402:33c0:a800::/37, - 2402:33c0:b000::/36, - 2402:33c0:c000::/34, - 2402:39c0::/32, - 2402:3a40::/32, - 2402:3ac0::/32, - 2402:3c00::/32, - 2402:3e00::/32, - 2402:3ec0::/32, - 2402:3f80::/32, - 2402:4140::/32, - 2402:42c0::/32, - 2402:4340::/32, - 2402:43c0::/32, - 2402:4440::/32, - 2402:4500::/32, - 2402:4540::/32, - 2402:4a00::/32, - 2402:4a40::/32, - 2402:4a80::/32, - 2402:4ac0::/32, - 2402:4b80::/32, - 2402:4bc0::/32, - 2402:4c40::/32, - 2402:4d80::/32, - 2402:4e00::/32, - 2402:4ec0::/32, - 2402:4f80::/32, - 2402:5180::/32, - 2402:52c0::/32, - 2402:5340::/32, - 2402:5880::/32, - 2402:5940::/32, - 2402:59c0::/32, - 2402:5a40::/32, - 2402:5b40::/32, - 2402:5bc0::/32, - 2402:5d00::/32, - 2402:5e00::/32, - 2402:5e40::/32, - 2402:5ec0::/32, - 2402:5f40::/32, - 2402:6280::/32, - 2402:62c0::/32, - 2402:64c0::/32, - 2402:66c0::/32, - 2402:6740::/32, - 2402:67c0::/32, - 2402:6a00::/32, - 2402:6b40::/32, - 2402:6bc0::/32, - 2402:6e00::/32, - 2402:6e80::/32, - 2402:6f40::/32, - 2402:6fc0::/32, - 2402:7040::/32, - 2402:7080::/32, - 2402:70c0::/32, - 2402:7140::/32, - 2402:71c0::/32, - 2402:7240::/32, - 2402:72c0::/32, - 2402:7540::/32, - 2402:75c0::/32, - 2402:7740::/32, - 2402:7d00::/32, - 2402:7d80::/32, - 2402:8180::/32, - 2402:8300::/32, - 2402:8380::/32, - 2402:85c0::/32, - 2402:8800::/32, - 2402:8840::/32, - 2402:8900::/32, - 2402:8940::/32, - 2402:89c0::/32, - 2402:8b40::/32, - 2402:8bc0::/32, - 2402:8cc0::/32, - 2402:8d40::/32, - 2402:8f40::/32, - 2402:8f80::/32, - 2402:9240::/32, - 2402:92c0::/32, - 2402:93c0::/32, - 2402:9440::/32, - 2402:9480::/32, - 2402:94c0::/32, - 2402:9580::/32, - 2402:95c0::/32, - 2402:9680::/32, - 2402:96c0::/32, - 2402:9840::/32, - 2402:98c0::/32, - 2402:9940::/32, - 2402:9a80::/32, - 2402:9b80::/32, - 2402:9f80::/32, - 2402:9fc0::/32, - 2402:a080::/32, - 2402:a180::/32, - 2402:a200::/32, - 2402:a240::/32, - 2402:a280::/32, - 2402:a380::/32, - 2402:a640::/32, - 2402:a680::/32, - 2402:a6c0::/32, - 2402:a840::/32, - 2402:a880::/32, - 2402:aa80::/32, - 2402:ab80::/32, - 2402:ae00::/32, - 2402:ae40::/32, - 2402:aec0::/32, - 2402:af80::/32, - 2402:afc0::/32, - 2402:b080::/32, - 2402:b200::/32, - 2402:b440::/32, - 2402:b6c0::/32, - 2402:b880::/32, - 2402:b8c0::/32, - 2402:b940::/32, - 2402:b980::/32, - 2402:ba80::/32, - 2402:bac0::/32, - 2402:bbc0::/32, - 2402:bf80::/32, - 2402:c280::/32, - 2402:c3c0::/32, - 2402:c5c0::/32, - 2402:c9c0::/32, - 2402:cc40::/32, - 2402:cf00::/32, - 2402:cf40::/32, - 2402:d040::/32, - 2402:d140::/40, - 2402:d140:200::/39, - 2402:d140:400::/38, - 2402:d140:800::/37, - 2402:d140:1000::/36, - 2402:d140:2000::/35, - 2402:d140:4000::/34, - 2402:d140:8000::/33, - 2402:d2c0::/32, - 2402:d300::/32, - 2402:d340::/32, - 2402:d380::/32, - 2402:d5c0::/32, - 2402:d6c0::/32, - 2402:d740::/32, - 2402:d780::/32, - 2402:d880::/32, - 2402:d980::/32, - 2402:da40::/32, - 2402:db40::/32, - 2402:dcc0::/32, - 2402:de40::/32, - 2402:dec0::/32, - 2402:df40::/32, - 2402:dfc0::/32, - 2402:e040::/32, - 2402:e0c0::/32, - 2402:e140::/32, - 2402:e2c0::/32, - 2402:e380:100::/40, - 2402:e3c0::/32, - 2402:e480::/32, - 2402:e540::/32, - 2402:e680::/32, - 2402:e740::/32, - 2402:e780::/32, - 2402:e7c0::/32, - 2402:e880::/32, - 2402:e980::/32, - 2402:eb80::/32, - 2402:ec80::/32, - 2402:ed80::/32, - 2402:ef40::/32, - 2402:ef80::/32, - 2402:f000::/32, - 2402:f140::/32, - 2402:f480::/32, - 2402:f540::/32, - 2402:f580::/32, - 2402:f740::/36, - 2402:f740:2000::/35, - 2402:f740:4000::/34, - 2402:f740:8000::/33, - 2402:f780::/32, - 2402:f8c0::/32, - 2402:f980::/32, - 2402:f9c0::/32, - 2402:fac0::/32, - 2402:fcc0::/32, - 2402:ff40::/32, - 2402:ffc0::/32, - 2403:300:a70:9780::/64, - 2403:300:13c0::/47, - 2403:600::/32, - 2403:700::/32, - 2403:7c0::/32, - 2403:800::/31, - 2403:980::/32, - 2403:a80::/32, - 2403:b80::/32, - 2403:c80::/32, - 2403:d40::/32, - 2403:d80::/32, - 2403:e80::/32, - 2403:f00::/32, - 2403:f40::/32, - 2403:f80::/32, - 2403:fc0::/32, - 2403:1180::/32, - 2403:1340::/32, - 2403:1440::/32, - 2403:1580::/32, - 2403:16c0::/32, - 2403:17c0::/32, - 2403:1980::/32, - 2403:1a40::/32, - 2403:1b80::/32, - 2403:1c80::/32, - 2403:1d80::/32, - 2403:1dc0::/32, - 2403:1e80::/32, - 2403:1ec0::/32, - 2403:1f80::/32, - 2403:2040::/32, - 2403:2080::/32, - 2403:2180::/32, - 2403:2240::/32, - 2403:2280::/32, - 2403:2380::/32, - 2403:2440::/32, - 2403:24c0::/32, - 2403:2580::/32, - 2403:25c0::/32, - 2403:2680::/32, - 2403:2740::/32, - 2403:2780::/32, - 2403:27c0:c02::/47, - 2403:28c0::/32, - 2403:2940::/32, - 2403:2a00::/32, - 2403:2a40::/32, - 2403:2ac0::/32, - 2403:2b40::/32, - 2403:2bc0::/32, - 2403:2cc0::/32, - 2403:2f40::/32, - 2403:2fc0::/32, - 2403:3040::/32, - 2403:30c0::/32, - 2403:3140::/32, - 2403:3280::/32, - 2403:32c0::/32, - 2403:3380::/32, - 2403:3480::/32, - 2403:3580::/32, - 2403:3640::/32, - 2403:3680::/32, - 2403:36c0::/32, - 2403:3740::/32, - 2403:3780::/32, - 2403:37c0::/32, - 2403:3840::/32, - 2403:3880::/32, - 2403:38c0::/32, - 2403:3940::/32, - 2403:3980::/32, - 2403:39c0::/32, - 2403:3a40::/32, - 2403:3b40::/32, - 2403:3b80::/32, - 2403:3bc0::/32, - 2403:3c40::/32, - 2403:3c80::/32, - 2403:3cc0::/32, - 2403:3d40::/32, - 2403:3d80::/32, - 2403:3dc0::/32, - 2403:3e80::/32, - 2403:3ec0::/32, - 2403:3f80::/32, - 2403:4080::/32, - 2403:4180::/32, - 2403:4240::/32, - 2403:4280::/32, - 2403:4300::/32, - 2403:4380::/32, - 2403:4580::/32, - 2403:4680::/32, - 2403:4780::/32, - 2403:4840::/32, - 2403:4880::/32, - 2403:4980::/32, - 2403:4a40::/32, - 2403:4a80::/32, - 2403:4b40::/32, - 2403:4b80::/32, - 2403:4c80::/32, - 2403:4cc0::/32, - 2403:4d80::/32, - 2403:4ec0::/32, - 2403:5040::/32, - 2403:5080::/32, - 2403:5280::/32, - 2403:5380::/32, - 2403:54c0::/32, - 2403:5540::/32, - 2403:5580::/32, - 2403:5640::/32, - 2403:5780::/32, - 2403:58c0::/32, - 2403:5980::/32, - 2403:5a80::/32, - 2403:5b40::/32, - 2403:5b80::/32, - 2403:5c80::/32, - 2403:5d80::/32, - 2403:5e40::/32, - 2403:5e80::/32, - 2403:5ec0::/32, - 2403:5f80::/32, - 2403:5fc0::/32, - 2403:6080::/32, - 2403:6180::/32, - 2403:6280::/32, - 2403:62c0::/32, - 2403:6380::/32, - 2403:6580::/32, - 2403:6680::/32, - 2403:6740::/32, - 2403:6780::/32, - 2403:6880::/32, - 2403:6980::/32, - 2403:6a00::/32, - 2403:6c80::/32, - 2403:6d40::/32, - 2403:6d80::/32, - 2403:6e80::/32, - 2403:6f40::/32, - 2403:6fc0::/32, - 2403:7040::/32, - 2403:7080::/32, - 2403:7180::/32, - 2403:7280::/32, - 2403:7380::/32, - 2403:7480::/32, - 2403:7540::/32, - 2403:7580::/32, - 2403:76c0::/32, - 2403:7700::/32, - 2403:7840::/32, - 2403:78c0::/32, - 2403:7a80::/32, - 2403:7b00::/32, - 2403:7d80::/32, - 2403:7e80::/32, - 2403:7f80::/32, - 2403:8080::/32, - 2403:8180::/32, - 2403:8280::/32, - 2403:8380::/32, - 2403:83c0::/32, - 2403:8480::/32, - 2403:8580::/32, - 2403:8880::/32, - 2403:8900::/32, - 2403:8980::/32, - 2403:8a40::/32, - 2403:8a80::/32, - 2403:8b00::/32, - 2403:8b80::/32, - 2403:8c00::/32, - 2403:8c80::/32, - 2403:8d00::/32, - 2403:8d80::/32, - 2403:9080::/32, - 2403:9180::/32, - 2403:9280::/32, - 2403:9380::/32, - 2403:9480::/32, - 2403:9580::/32, - 2403:9680::/32, - 2403:9780::/32, - 2403:9880::/32, - 2403:9a80::/32, - 2403:9ac0::/32, - 2403:9b00::/32, - 2403:9b40::/32, - 2403:9b80::/32, - 2403:9c80::/32, - 2403:9d00::/32, - 2403:9d80::/32, - 2403:9e40::/32, - 2403:9e80::/32, - 2403:9ec0::/32, - 2403:9f80::/32, - 2403:a100::/32, - 2403:a140::/32, - 2403:a200::/32, - 2403:a300::/32, - 2403:a480::/32, - 2403:a580::/32, - 2403:a680::/32, - 2403:a6c0::/32, - 2403:a780::/32, - 2403:a880::/32, - 2403:a940::/32, - 2403:a980::/32, - 2403:a9c0::/32, - 2403:aa40::/32, - 2403:aa80::/32, - 2403:ab80::/32, - 2403:ac00::/32, - 2403:ad80:8008::/48, - 2403:af80::/32, - 2403:b080::/32, - 2403:b180::/32, - 2403:b280::/32, - 2403:b380::/32, - 2403:b400::/32, - 2403:b480::/32, - 2403:b580::/32, - 2403:b680::/32, - 2403:b780::/32, - 2403:b880::/32, - 2403:b980::/32, - 2403:ba40::/32, - 2403:c040::/32, - 2403:c080::/32, - 2403:c100::/32, - 2403:c140::/32, - 2403:c180::/32, - 2403:c3c0::/32, - 2403:c440::/32, - 2403:c480::/32, - 2403:c4c0::/32, - 2403:c980::/32, - 2403:cdc0::/32, - 2403:cec0::/32, - 2403:cf80::/32, - 2403:d080::/32, - 2403:d180::/32, - 2403:d280::/32, - 2403:d2c0::/32, - 2403:d380::/32, - 2403:d400::/32, - 2403:d440::/32, - 2403:d480::/32, - 2403:d580::/32, - 2403:d680::/32, - 2403:d780::/32, - 2403:d7c0::/32, - 2403:d880::/32, - 2403:d980::/32, - 2403:d9c0::/32, - 2403:da80::/32, - 2403:dac0::/32, - 2403:db00::/32, - 2403:db80::/32, - 2403:dc80::/32, - 2403:dd80::/32, - 2403:de80::/32, - 2403:df80::/32, - 2403:e080::/32, - 2403:e180::/32, - 2403:e280::/32, - 2403:e300::/32, - 2403:e480::/32, - 2403:e500::/32, - 2403:e580::/32, - 2403:e640::/32, - 2403:e680::/32, - 2403:e700::/32, - 2403:e780::/32, - 2403:e7c0::/32, - 2403:e880::/32, - 2403:e980::/32, - 2403:ea80::/32, - 2403:eac0::/32, - 2403:eb80::/32, - 2403:ec80::/32, - 2403:ed00::/32, - 2403:ed40::/32, - 2403:ed80::/32, - 2403:ee80::/32, - 2403:ef80::/32, - 2403:f080::/32, - 2403:f100::/32, - 2403:f180::/32, - 2403:f240::/32, - 2403:f280::/32, - 2403:f300::/32, - 2403:f380::/32, - 2403:f4c0::/32, - 2403:f580::/32, - 2403:f740::/32, - 2403:f8c0::/32, - 2403:f980::/32, - 2403:fb00::/32, - 2403:fb80::/32, - 2403:fc40::/32, - 2403:fe40::/32, - 2403:fe80::/32, - 2403:fec0::/32, - 2403:ff80::/32, - 2403:ffc0::/31, - 2404:100::/32, - 2404:158::/32, - 2404:240::/32, - 2404:280::/32, - 2404:440::/32, - 2404:480::/32, - 2404:680::/32, - 2404:a80::/32, - 2404:b80::/32, - 2404:bc0::/32, - 2404:c40::/32, - 2404:d80::/32, - 2404:f00::/32, - 2404:f80::/32, - 2404:1080::/32, - 2404:10c0::/32, - 2404:1180::/32, - 2404:14c0::/32, - 2404:1880::/32, - 2404:1c80::/32, - 2404:1cc0::/32, - 2404:1d80::/32, - 2404:1e80::/32, - 2404:1f40::/32, - 2404:21c0::/32, - 2404:2280:105::/48, - 2404:2280:107::/48, - 2404:2280:109::/48, - 2404:2280:10a::/47, - 2404:2280:10d::/48, - 2404:2280:10f::/48, - 2404:2280:112::/47, - 2404:2280:115::/48, - 2404:2280:116::/47, - 2404:2280:11a::/47, - 2404:2280:11c::/46, - 2404:2280:123::/48, - 2404:2280:125::/48, - 2404:2280:126::/47, - 2404:2280:128::/46, - 2404:2280:12e::/48, - 2404:2280:130::/48, - 2404:2280:134::/48, - 2404:2280:136::/47, - 2404:2280:138::/48, - 2404:2280:13b::/48, - 2404:2280:13c::/47, - 2404:2280:142::/48, - 2404:2280:147::/48, - 2404:2280:14f::/48, - 2404:2280:150::/48, - 2404:2280:152::/48, - 2404:2280:154::/46, - 2404:2280:158::/45, - 2404:2280:160::/48, - 2404:2280:170::/48, - 2404:2280:177::/48, - 2404:2280:17a::/47, - 2404:2280:17c::/46, - 2404:2280:180::/47, - 2404:2280:183::/48, - 2404:2280:187::/48, - 2404:2280:18a::/47, - 2404:2280:18c::/46, - 2404:2280:193::/48, - 2404:2280:196::/48, - 2404:2280:198::/45, - 2404:2280:1a5::/48, - 2404:2280:1a6::/47, - 2404:2280:1a8::/47, - 2404:2280:1b0::/48, - 2404:2280:1b2::/48, - 2404:2280:1b4::/46, - 2404:2280:1b8::/47, - 2404:2280:1ba::/48, - 2404:2280:1bf::/48, - 2404:2280:1c1::/48, - 2404:2280:1c2::/47, - 2404:2280:1c4::/46, - 2404:2280:1c8::/48, - 2404:2280:1cb::/48, - 2404:2280:1cc::/48, - 2404:2280:1cf::/48, - 2404:2280:1d0::/47, - 2404:2280:1d3::/48, - 2404:2280:1d4::/48, - 2404:2280:1d6::/47, - 2404:2280:1d8::/45, - 2404:2280:1e0::/45, - 2404:2280:1e8::/46, - 2404:2280:1ec::/47, - 2404:2280:1ee::/48, - 2404:2280:1f0::/45, - 2404:2280:1f8::/46, - 2404:2280:202::/47, - 2404:2280:204::/47, - 2404:2280:209::/48, - 2404:30c0::/32, - 2404:3140::/32, - 2404:31c0::/32, - 2404:3240::/32, - 2404:32c0::/32, - 2404:3300::/32, - 2404:3340::/32, - 2404:3480::/32, - 2404:35c0::/32, - 2404:3640::/32, - 2404:36c0::/32, - 2404:3700::/32, - 2404:3740::/32, - 2404:37c0::/32, - 2404:3840::/32, - 2404:3940::/32, - 2404:3bc0::/32, - 2404:3c40::/32, - 2404:3d00:4002::/48, - 2404:3d00:4038::/48, - 2404:3d00:403e::/47, - 2404:3d00:4070::/47, - 2404:3d00:407a::/47, - 2404:3d00:407c::/46, - 2404:3d00:4080::/45, - 2404:3d00:4088::/47, - 2404:3d00:408c::/46, - 2404:3d00:4090::/47, - 2404:3d00:409a::/47, - 2404:3d00:409c::/47, - 2404:3d00:40b8::/47, - 2404:3d00:4110::/47, - 2404:3d00:411e::/47, - 2404:3d00:4120::/47, - 2404:3d00:4128::/47, - 2404:3d00:4198::/46, - 2404:3f40::/32, - 2404:4080::/32, - 2404:41c0::/32, - 2404:4540::/32, - 2404:4740::/32, - 2404:4bc0::/32, - 2404:4d00::/32, - 2404:4dc0::/32, - 2404:51c0::/32, - 2404:5640::/32, - 2404:5a80::/32, - 2404:5b00::/32, - 2404:5d00::/32, - 2404:6000::/32, - 2404:6100::/32, - 2404:6380::/32, - 2404:6500::/32, - 2404:65c0::/32, - 2404:6a40::/32, - 2404:6f80::/32, - 2404:7100::/32, - 2404:7180::/32, - 2404:71c0::/32, - 2404:7240::/32, - 2404:74c0::/32, - 2404:7600::/32, - 2404:7740::/32, - 2404:7940::/32, - 2404:7d00::/32, - 2404:8040::/32, - 2404:80c0::/32, - 2404:8140::/32, - 2404:81c0::/32, - 2404:8480::/32, - 2404:8580::/32, - 2404:8700::/32, - 2404:8880::/32, - 2404:8a80::/32, - 2404:8b00::/32, - 2404:8d02:28c8::/48, - 2404:8d02:4881::/48, - 2404:8dc0::/32, - 2404:9340::/32, - 2404:9b80::/32, - 2404:9c80::/32, - 2404:a000::/32, - 2404:a080::/32, - 2404:a0c0::/32, - 2404:a180::/32, - 2404:a240::/32, - 2404:a740::/32, - 2404:b100::/32, - 2404:b340::/32, - 2404:b3c0::/32, - 2404:b440::/32, - 2404:b4c0::/32, - 2404:b900::/32, - 2404:bbc0::/32, - 2404:bc40::/32, - 2404:c1c0::/32, - 2404:c240::/32, - 2404:c2c0::/32, - 2404:c300::/32, - 2404:c3c0::/32, - 2404:c440::/32, - 2404:c4c0::/32, - 2404:c540::/32, - 2404:c5c0::/32, - 2404:c640::/32, - 2404:c940::/32, - 2404:c9c0::/32, - 2404:cd00::/32, - 2404:d040::/32, - 2404:d080::/32, - 2404:d140::/32, - 2404:d280::/32, - 2404:d3c0::/32, - 2404:d640::/32, - 2404:d6c0::/32, - 2404:d7c0::/32, - 2404:d840::/32, - 2404:dd80::/32, - 2404:df00::/32, - 2404:e280::/32, - 2404:e540::/32, - 2404:e5c0::/32, - 2404:e780::/32, - 2404:e880::/32, - 2404:e8c0::/32, - 2404:eb80::/32, - 2404:ec40::/32, - 2404:ecc0::/32, - 2404:edc0::/32, - 2404:f040::/32, - 2404:f4c0::/34, - 2404:f4c0:4000::/35, - 2404:f4c0:6000::/38, - 2404:f4c0:6400::/39, - 2404:f4c0:6600::/42, - 2404:f4c0:6640::/43, - 2404:f4c0:6661::/48, - 2404:f4c0:6662::/47, - 2404:f4c0:6664::/47, - 2404:f4c0:6667::/48, - 2404:f4c0:6668::/45, - 2404:f4c0:6670::/44, - 2404:f4c0:6680::/41, - 2404:f4c0:6700::/40, - 2404:f4c0:6800::/37, - 2404:f4c0:7000::/36, - 2404:f4c0:8000::/34, - 2404:f4c0:c000::/35, - 2404:f4c0:e000::/36, - 2404:f4c0:f000::/38, - 2404:f4c0:f400::/39, - 2404:f4c0:f600::/40, - 2404:f4c0:f700::/45, - 2404:f4c0:f709::/48, - 2404:f4c0:f70a::/47, - 2404:f4c0:f70c::/46, - 2404:f4c0:f710::/44, - 2404:f4c0:f720::/43, - 2404:f4c0:f740::/42, - 2404:f4c0:f780::/41, - 2404:f4c0:f800::/44, - 2404:f4c0:f810::/45, - 2404:f4c0:f818::/46, - 2404:f4c0:f820::/43, - 2404:f4c0:f840::/42, - 2404:f4c0:f880::/41, - 2404:f4c0:f900::/40, - 2404:f4c0:fa00::/39, - 2404:f4c0:fc00::/40, - 2404:f4c0:fd03::/48, - 2404:f4c0:fd04::/47, - 2404:f4c0:fd07::/48, - 2404:f4c0:fd09::/48, - 2404:f4c0:fd0a::/47, - 2404:f4c0:fd0c::/46, - 2404:f4c0:fd10::/44, - 2404:f4c0:fd20::/43, - 2404:f4c0:fd40::/42, - 2404:f4c0:fd80::/41, - 2404:f4c0:fe00::/39, - 2404:f7c0::/32, - 2405:80::/32, - 2405:480::/32, - 2405:580::/32, - 2405:680::/32, - 2405:6c0:2::/47, - 2405:6c0:4::/46, - 2405:6c0:8::/45, - 2405:6c0:10::/44, - 2405:6c0:20::/43, - 2405:6c0:40::/42, - 2405:6c0:80::/41, - 2405:6c0:100::/40, - 2405:6c0:200::/39, - 2405:6c0:400::/38, - 2405:6c0:800::/37, - 2405:6c0:1000::/36, - 2405:6c0:2000::/35, - 2405:6c0:4000::/34, - 2405:6c0:8000::/33, - 2405:780::/32, - 2405:880::/32, - 2405:940::/32, - 2405:980::/32, - 2405:9c0::/32, - 2405:a80::/32, - 2405:b80::/32, - 2405:c80::/32, - 2405:d80::/32, - 2405:e80::/32, - 2405:f80::/32, - 2405:1080::/32, - 2405:1180::/32, - 2405:1280::/32, - 2405:1380::/32, - 2405:1480::/32, - 2405:1580::/32, - 2405:1640:6::/48, - 2405:1680::/32, - 2405:18c0::/32, - 2405:1c80::/32, - 2405:1d80::/32, - 2405:1e80::/32, - 2405:1f80::/32, - 2405:1fc0::/32, - 2405:2080::/32, - 2405:2180::/32, - 2405:2280::/32, - 2405:2300:ffcd::/48, - 2405:2340::/32, - 2405:2380::/32, - 2405:2480::/32, - 2405:24c0::/32, - 2405:2580::/32, - 2405:2680::/32, - 2405:2780::/32, - 2405:2880::/32, - 2405:2980::/32, - 2405:2a80::/32, - 2405:2b80::/32, - 2405:2bc0::/32, - 2405:2c80::/32, - 2405:2d80::/32, - 2405:2e80::/32, - 2405:2ec0::/32, - 2405:2f40::/32, - 2405:2f80::/32, - 2405:3140::/32, - 2405:31c0::/32, - 2405:37c0::/32, - 2405:3880::/32, - 2405:3980::/32, - 2405:39c0::/32, - 2405:3a80::/32, - 2405:3ac0::/32, - 2405:3b00::/32, - 2405:3b80::/32, - 2405:3bc0::/32, - 2405:3c40::/32, - 2405:3c80::/32, - 2405:3d80::/32, - 2405:3e80::/32, - 2405:3f40::/32, - 2405:3f80::/32, - 2405:4080::/32, - 2405:4140::/32, - 2405:4180::/32, - 2405:41c0::/32, - 2405:4280::/32, - 2405:4380::/32, - 2405:4480::/32, - 2405:44c0::/32, - 2405:4540::/32, - 2405:4580::/32, - 2405:4680::/32, - 2405:4780::/32, - 2405:4880::/32, - 2405:4980::/32, - 2405:4a80::/32, - 2405:4b80::/32, - 2405:4d40::/32, - 2405:4e80::/32, - 2405:4f80::/32, - 2405:5080::/32, - 2405:5180::/32, - 2405:5240::/32, - 2405:5280::/32, - 2405:52c0::/32, - 2405:5380::/32, - 2405:5480::/32, - 2405:5580::/32, - 2405:5680::/32, - 2405:5780::/32, - 2405:57c0::/32, - 2405:5880::/32, - 2405:5980::/32, - 2405:5a80::/32, - 2405:5b80::/32, - 2405:5c80::/32, - 2405:5cc0::/32, - 2405:5d40::/32, - 2405:5d80::/32, - 2405:5dc0::/32, - 2405:5e80::/32, - 2405:5f80::/32, - 2405:6080::/32, - 2405:6180::/32, - 2405:6200::/32, - 2405:66c0::/32, - 2405:6880::/32, - 2405:68c0::/32, - 2405:6940::/32, - 2405:69c0::/32, - 2405:6a80::/32, - 2405:6b80::/32, - 2405:6c80::/32, - 2405:6d80::/32, - 2405:6e80::/32, - 2405:6f00::/32, - 2405:6f80::/32, - 2405:7040::/32, - 2405:7080::/32, - 2405:7180::/32, - 2405:7240::/32, - 2405:7280::/32, - 2405:7380::/32, - 2405:7480::/32, - 2405:7580::/32, - 2405:7680::/32, - 2405:7780::/32, - 2405:7880::/32, - 2405:78c0::/32, - 2405:7980::/32, - 2405:79c0::/32, - 2405:7a80::/32, - 2405:7b80::/32, - 2405:7c80::/32, - 2405:7d40::/32, - 2405:7f40::/32, - 2405:7fc0::/32, - 2405:8280::/32, - 2405:8480::/32, - 2405:84c0::/34, - 2405:84c0:4000::/40, - 2405:84c0:4101::/48, - 2405:84c0:4102::/47, - 2405:84c0:4104::/46, - 2405:84c0:4108::/45, - 2405:84c0:4110::/44, - 2405:84c0:4120::/43, - 2405:84c0:4140::/42, - 2405:84c0:4180::/41, - 2405:84c0:4202::/47, - 2405:84c0:4204::/46, - 2405:84c0:4208::/45, - 2405:84c0:4210::/44, - 2405:84c0:4220::/43, - 2405:84c0:4240::/42, - 2405:84c0:4280::/41, - 2405:84c0:4302::/47, - 2405:84c0:4304::/46, - 2405:84c0:4308::/45, - 2405:84c0:4310::/44, - 2405:84c0:4320::/43, - 2405:84c0:4340::/42, - 2405:84c0:4380::/41, - 2405:84c0:4400::/38, - 2405:84c0:4800::/37, - 2405:84c0:6000::/37, - 2405:84c0:6900::/40, - 2405:84c0:6a00::/39, - 2405:84c0:6c00::/39, - 2405:84c0:6e00::/40, - 2405:84c0:7000::/36, - 2405:84c0:8030::/44, - 2405:84c0:8040::/42, - 2405:84c0:8080::/41, - 2405:84c0:8100::/40, - 2405:84c0:8200::/39, - 2405:84c0:8400::/38, - 2405:84c0:8800::/37, - 2405:84c0:9000::/36, - 2405:84c0:a000::/35, - 2405:84c0:c000::/35, - 2405:84c0:e000::/36, - 2405:84c0:f000::/37, - 2405:84c0:f800::/38, - 2405:84c0:fc00::/40, - 2405:84c0:fd00::/41, - 2405:84c0:fd80::/42, - 2405:84c0:fdc0::/43, - 2405:84c0:fde0::/44, - 2405:84c0:fdf0::/45, - 2405:84c0:fdf8::/47, - 2405:84c0:fdfc::/46, - 2405:84c0:fe00::/40, - 2405:84c0:ff00::/43, - 2405:84c0:ff20::/46, - 2405:84c0:ff24::/48, - 2405:84c0:ff26::/47, - 2405:84c0:ff28::/45, - 2405:84c0:ff30::/44, - 2405:84c0:ff40::/42, - 2405:84c0:ff80::/41, - 2405:8580::/32, - 2405:8680::/32, - 2405:8780::/32, - 2405:8880::/32, - 2405:8980::/32, - 2405:8a40::/32, - 2405:8a80::/32, - 2405:8ac0::/32, - 2405:8b80::/32, - 2405:8c80::/32, - 2405:8d80::/32, - 2405:8e80::/32, - 2405:8f80::/32, - 2405:9080::/32, - 2405:9180::/32, - 2405:9280::/32, - 2405:9300::/32, - 2405:9340::/32, - 2405:9380::/32, - 2405:93c0::/32, - 2405:9480::/32, - 2405:94c0::/32, - 2405:9580::/32, - 2405:9680::/32, - 2405:9700::/32, - 2405:9780::/32, - 2405:97c0::/32, - 2405:9880::/32, - 2405:9900::/32, - 2405:9980::/32, - 2405:99c0::/32, - 2405:9a80::/32, - 2405:9b00::/32, - 2405:9b80::/32, - 2405:9bc0::/32, - 2405:9e00::/32, - 2405:a240::/32, - 2405:a3c0::/32, - 2405:a500::/32, - 2405:a680::/32, - 2405:a900::/32, - 2405:a980::/32, - 2405:aa80::/32, - 2405:ab00::/32, - 2405:ad00::/32, - 2405:af00::/32, - 2405:b100::/32, - 2405:b300::/32, - 2405:b7c0::/32, - 2405:b880::/32, - 2405:b980::/32, - 2405:bb00::/32, - 2405:bd00::/32, - 2405:bd80::/32, - 2405:bdc0::/32, - 2405:be80::/32, - 2405:bf00::/32, - 2405:c040::/32, - 2405:c280::/32, - 2405:c380::/32, - 2405:c480::/32, - 2405:c500::/32, - 2405:c580::/32, - 2405:c680::/32, - 2405:c780::/32, - 2405:c880::/32, - 2405:c980::/32, - 2405:ca80::/32, - 2405:cb80::/32, - 2405:cc80::/32, - 2405:cd80::/32, - 2405:ce80::/32, - 2405:d280::/32, - 2405:d4c0::/32, - 2405:d700::/32, - 2405:d740::/32, - 2405:d900::/32, - 2405:df40::/32, - 2405:e000::/32, - 2405:e040::/32, - 2405:e1c0::/32, - 2405:e600::/32, - 2405:ed40::/32, - 2405:ef40::/30, - 2405:f340::/32, - 2405:f3c0::/48, - 2405:f3c0:1::/51, - 2405:f3c0:1:2000::/52, - 2405:f3c0:1:3000::/54, - 2405:f3c0:1:3400::/55, - 2405:f3c0:1:3600::/60, - 2405:f3c0:1:3610::/62, - 2405:f3c0:1:3614::/63, - 2405:f3c0:1:3616::/64, - 2405:f3c0:1:3618::/61, - 2405:f3c0:1:3620::/59, - 2405:f3c0:1:3640::/58, - 2405:f3c0:1:3680::/57, - 2405:f3c0:1:3700::/56, - 2405:f3c0:1:3800::/53, - 2405:f3c0:1:4000::/53, - 2405:f3c0:1:4800::/54, - 2405:f3c0:1:4c00::/58, - 2405:f3c0:1:4c40::/60, - 2405:f3c0:1:4c50::/62, - 2405:f3c0:1:4c54::/63, - 2405:f3c0:1:4c57::/64, - 2405:f3c0:1:4c58::/61, - 2405:f3c0:1:4c60::/59, - 2405:f3c0:1:4c80::/57, - 2405:f3c0:1:4d00::/56, - 2405:f3c0:1:4e00::/55, - 2405:f3c0:1:5000::/54, - 2405:f3c0:1:5400::/56, - 2405:f3c0:1:5500::/57, - 2405:f3c0:1:5580::/59, - 2405:f3c0:1:55a0::/60, - 2405:f3c0:1:55b1::/64, - 2405:f3c0:1:55b2::/63, - 2405:f3c0:1:55b4::/62, - 2405:f3c0:1:55b8::/61, - 2405:f3c0:1:55c0::/58, - 2405:f3c0:1:5600::/55, - 2405:f3c0:1:5800::/57, - 2405:f3c0:1:5880::/58, - 2405:f3c0:1:58c0::/61, - 2405:f3c0:1:58c8::/64, - 2405:f3c0:1:58ca::/63, - 2405:f3c0:1:58cc::/62, - 2405:f3c0:1:58d0::/60, - 2405:f3c0:1:58e0::/59, - 2405:f3c0:1:5900::/56, - 2405:f3c0:1:5a00::/55, - 2405:f3c0:1:5c00::/54, - 2405:f3c0:1:6000::/52, - 2405:f3c0:1:7400::/57, - 2405:f3c0:1:7480::/58, - 2405:f3c0:1:74c0::/63, - 2405:f3c0:1:74c3::/64, - 2405:f3c0:1:74c4::/62, - 2405:f3c0:1:74c8::/61, - 2405:f3c0:1:74d0::/60, - 2405:f3c0:1:74e0::/59, - 2405:f3c0:1:7500::/56, - 2405:f3c0:1:7600::/55, - 2405:f3c0:1:7800::/55, - 2405:f3c0:1:7a00::/57, - 2405:f3c0:1:7a80::/60, - 2405:f3c0:1:7a90::/61, - 2405:f3c0:1:7a98::/62, - 2405:f3c0:1:7a9c::/64, - 2405:f3c0:1:7a9e::/63, - 2405:f3c0:1:7aa0::/59, - 2405:f3c0:1:7ac0::/58, - 2405:f3c0:1:7b00::/56, - 2405:f3c0:1:7c00::/54, - 2405:f3c0:1:8000::/53, - 2405:f3c0:1:8800::/56, - 2405:f3c0:1:8900::/58, - 2405:f3c0:1:8940::/61, - 2405:f3c0:1:8948::/62, - 2405:f3c0:1:894c::/63, - 2405:f3c0:1:894e::/64, - 2405:f3c0:1:8950::/60, - 2405:f3c0:1:8960::/59, - 2405:f3c0:1:8980::/57, - 2405:f3c0:1:8a00::/55, - 2405:f3c0:1:8c00::/54, - 2405:f3c0:1:9000::/52, - 2405:f3c0:1:a000::/51, - 2405:f3c0:1:c000::/50, - 2405:f3c0:2::/47, - 2405:f3c0:4::/46, - 2405:f3c0:8::/45, - 2405:f3c0:10::/44, - 2405:f3c0:20::/43, - 2405:f3c0:40::/42, - 2405:f3c0:80::/41, - 2405:f3c0:100::/40, - 2405:f3c0:200::/39, - 2405:f3c0:400::/38, - 2405:f3c0:800::/37, - 2405:f3c0:1000::/36, - 2405:f3c0:2000::/35, - 2405:f3c0:4000::/34, - 2405:f3c0:8000::/33, - 2405:f580::/32, - 2405:f6c0::/32, - 2405:f940::/32, - 2405:fdc0::/32, - 2405:fe80::/32, - 2405:ff80::/32, - 2406:40::/32, - 2406:80::/32, - 2406:c0::/32, - 2406:140::/32, - 2406:280::/32, - 2406:440::/32, - 2406:4c0::/32, - 2406:7c0::/32, - 2406:840::/44, - 2406:840:10::/45, - 2406:840:18::/46, - 2406:840:1c::/47, - 2406:840:1e::/48, - 2406:840:1f::/52, - 2406:840:1f:1001::/64, - 2406:840:1f:1002::/63, - 2406:840:1f:1004::/62, - 2406:840:1f:1008::/61, - 2406:840:1f:1010::/60, - 2406:840:1f:1020::/59, - 2406:840:1f:1040::/58, - 2406:840:1f:1080::/57, - 2406:840:1f:1100::/56, - 2406:840:1f:1200::/55, - 2406:840:1f:1400::/54, - 2406:840:1f:1800::/53, - 2406:840:1f:2000::/51, - 2406:840:1f:4000::/50, - 2406:840:1f:8000::/49, - 2406:840:20::/43, - 2406:840:40::/42, - 2406:840:80::/41, - 2406:840:100::/40, - 2406:840:200::/39, - 2406:840:400::/38, - 2406:840:b00::/40, - 2406:840:d00::/42, - 2406:840:d40::/43, - 2406:840:d60::/44, - 2406:840:d71::/48, - 2406:840:d72::/47, - 2406:840:d74::/46, - 2406:840:d78::/45, - 2406:840:d80::/41, - 2406:840:e00::/39, - 2406:840:1001::/48, - 2406:840:1002::/47, - 2406:840:1004::/46, - 2406:840:1008::/45, - 2406:840:1010::/44, - 2406:840:1020::/43, - 2406:840:1040::/42, - 2406:840:1080::/41, - 2406:840:1100::/40, - 2406:840:1200::/39, - 2406:840:1400::/38, - 2406:840:1810::/44, - 2406:840:1820::/43, - 2406:840:1840::/43, - 2406:840:1861::/48, - 2406:840:1862::/47, - 2406:840:1864::/46, - 2406:840:1868::/45, - 2406:840:1870::/44, - 2406:840:1880::/41, - 2406:840:1900::/40, - 2406:840:1a00::/39, - 2406:840:1c00::/38, - 2406:840:2000::/37, - 2406:840:2810::/44, - 2406:840:2820::/43, - 2406:840:2840::/42, - 2406:840:2881::/48, - 2406:840:2882::/47, - 2406:840:2884::/46, - 2406:840:2888::/45, - 2406:840:2890::/44, - 2406:840:28a0::/43, - 2406:840:28c0::/42, - 2406:840:2900::/40, - 2406:840:2a00::/39, - 2406:840:2c00::/38, - 2406:840:3000::/37, - 2406:840:3810::/44, - 2406:840:3820::/43, - 2406:840:3840::/42, - 2406:840:3880::/41, - 2406:840:3900::/40, - 2406:840:3a00::/39, - 2406:840:3c00::/38, - 2406:840:4000::/37, - 2406:840:4810::/44, - 2406:840:4820::/43, - 2406:840:4840::/42, - 2406:840:4882::/47, - 2406:840:4884::/46, - 2406:840:4888::/45, - 2406:840:4890::/44, - 2406:840:48a0::/43, - 2406:840:48c0::/42, - 2406:840:4900::/40, - 2406:840:4a00::/39, - 2406:840:4c00::/38, - 2406:840:5000::/37, - 2406:840:5810::/44, - 2406:840:5820::/43, - 2406:840:5840::/43, - 2406:840:5862::/47, - 2406:840:5864::/46, - 2406:840:5868::/45, - 2406:840:5870::/44, - 2406:840:5882::/47, - 2406:840:5884::/46, - 2406:840:5888::/45, - 2406:840:5890::/44, - 2406:840:58a0::/43, - 2406:840:58c0::/42, - 2406:840:5900::/40, - 2406:840:5a00::/39, - 2406:840:5c00::/38, - 2406:840:6000::/35, - 2406:840:8000::/36, - 2406:840:9000::/38, - 2406:840:9400::/40, - 2406:840:9500::/41, - 2406:840:9580::/43, - 2406:840:95c0::/42, - 2406:840:9600::/41, - 2406:840:9680::/54, - 2406:840:9680:400::/55, - 2406:840:9680:600::/58, - 2406:840:9680:640::/59, - 2406:840:9680:660::/62, - 2406:840:9680:664::/63, - 2406:840:9680:667::/64, - 2406:840:9680:668::/61, - 2406:840:9680:670::/60, - 2406:840:9680:680::/57, - 2406:840:9680:700::/56, - 2406:840:9680:800::/53, - 2406:840:9680:1000::/52, - 2406:840:9680:2000::/51, - 2406:840:9680:4000::/51, - 2406:840:9680:6000::/53, - 2406:840:9680:6800::/57, - 2406:840:9680:6880::/61, - 2406:840:9680:6889::/64, - 2406:840:9680:688a::/63, - 2406:840:9680:688c::/62, - 2406:840:9680:6890::/60, - 2406:840:9680:68a0::/59, - 2406:840:9680:68c0::/58, - 2406:840:9680:6900::/56, - 2406:840:9680:6a00::/55, - 2406:840:9680:6c00::/54, - 2406:840:9680:7000::/52, - 2406:840:9680:8000::/53, - 2406:840:9680:8800::/57, - 2406:840:9680:8880::/61, - 2406:840:9680:8889::/64, - 2406:840:9680:888a::/63, - 2406:840:9680:888c::/62, - 2406:840:9680:8890::/60, - 2406:840:9680:88a0::/59, - 2406:840:9680:88c0::/58, - 2406:840:9680:8900::/56, - 2406:840:9680:8a00::/55, - 2406:840:9680:8c00::/54, - 2406:840:9680:9000::/52, - 2406:840:9680:a000::/51, - 2406:840:9680:c000::/50, - 2406:840:9681::/48, - 2406:840:9682::/47, - 2406:840:9684::/46, - 2406:840:9688::/45, - 2406:840:9690::/45, - 2406:840:9698::/46, - 2406:840:96a0::/43, - 2406:840:96c0::/42, - 2406:840:9700::/40, - 2406:840:9800::/44, - 2406:840:9810::/45, - 2406:840:9818::/46, - 2406:840:9820::/43, - 2406:840:9850::/44, - 2406:840:9860::/43, - 2406:840:9880::/41, - 2406:840:9900::/41, - 2406:840:9981::/48, - 2406:840:9982::/47, - 2406:840:9984::/46, - 2406:840:9988::/45, - 2406:840:9990::/44, - 2406:840:99a0::/43, - 2406:840:99c0::/42, - 2406:840:9a00::/39, - 2406:840:9c00::/39, - 2406:840:9e00::/41, - 2406:840:9e80::/42, - 2406:840:9ec0::/43, - 2406:840:9ee0::/44, - 2406:840:9f00::/40, - 2406:840:a000::/35, - 2406:840:c000::/36, - 2406:840:e000::/39, - 2406:840:e200::/40, - 2406:840:e300::/48, - 2406:840:e301::/51, - 2406:840:e301:2100::/56, - 2406:840:e301:2200::/55, - 2406:840:e301:2400::/54, - 2406:840:e301:2800::/53, - 2406:840:e301:3000::/52, - 2406:840:e301:4000::/50, - 2406:840:e301:8000::/49, - 2406:840:e302::/47, - 2406:840:e304::/46, - 2406:840:e308::/45, - 2406:840:e310::/44, - 2406:840:e320::/43, - 2406:840:e340::/42, - 2406:840:e380::/41, - 2406:840:e400::/40, - 2406:840:e500::/47, - 2406:840:e510::/44, - 2406:840:e520::/43, - 2406:840:e540::/42, - 2406:840:e580::/41, - 2406:840:e600::/39, - 2406:840:e800::/39, - 2406:840:ea00::/40, - 2406:840:eb00::/46, - 2406:840:eb04::/47, - 2406:840:eb07::/48, - 2406:840:eb08::/48, - 2406:840:eb0a::/47, - 2406:840:eb0c::/46, - 2406:840:eb10::/44, - 2406:840:eb20::/43, - 2406:840:eb40::/42, - 2406:840:eb80::/41, - 2406:840:ec00::/38, - 2406:840:f000::/38, - 2406:840:f410::/44, - 2406:840:f420::/43, - 2406:840:f440::/42, - 2406:840:f480::/41, - 2406:840:f500::/40, - 2406:840:f600::/39, - 2406:840:f800::/39, - 2406:840:fa00::/41, - 2406:840:fa90::/44, - 2406:840:faa0::/43, - 2406:840:fac0::/42, - 2406:840:fb00::/40, - 2406:840:fc00::/40, - 2406:840:fd00::/41, - 2406:840:fd80::/42, - 2406:840:fdc0::/43, - 2406:840:fde1::/48, - 2406:840:fde2::/47, - 2406:840:fde4::/46, - 2406:840:fde8::/45, - 2406:840:fdf0::/44, - 2406:840:fe00::/42, - 2406:840:fe4c::/46, - 2406:840:fe50::/44, - 2406:840:fe60::/43, - 2406:840:fe80::/41, - 2406:840:ff10::/47, - 2406:840:ff13::/48, - 2406:840:ff14::/46, - 2406:840:ff18::/45, - 2406:840:ff20::/43, - 2406:840:ff80::/44, - 2406:840:ffa0::/43, - 2406:840:ffc0::/42, - 2406:880::/32, - 2406:8c0::/32, - 2406:d80::/32, - 2406:e80::/32, - 2406:f80::/32, - 2406:1080::/32, - 2406:1100::/32, - 2406:1180::/32, - 2406:1280::/32, - 2406:1380::/32, - 2406:1480::/32, - 2406:1580::/32, - 2406:15c0::/32, - 2406:1680::/32, - 2406:1780::/32, - 2406:1880::/32, - 2406:1980::/32, - 2406:1a80::/32, - 2406:1b80::/32, - 2406:1c80::/32, - 2406:1d80::/32, - 2406:1e40::/32, - 2406:1e80::/32, - 2406:1f80::/32, - 2406:2080::/32, - 2406:2640::/32, - 2406:2700::/32, - 2406:2780::/32, - 2406:2880::/32, - 2406:2980::/32, - 2406:2a80::/32, - 2406:2b80::/32, - 2406:2c40::/32, - 2406:2c80::/32, - 2406:2d80::/32, - 2406:2e80::/32, - 2406:2f80::/32, - 2406:3080::/32, - 2406:3180::/32, - 2406:31c0::/32, - 2406:3280::/32, - 2406:3300::/32, - 2406:3340::/32, - 2406:3380::/32, - 2406:3440::/32, - 2406:3480::/32, - 2406:34c0::/32, - 2406:3580::/32, - 2406:3640::/32, - 2406:3680::/32, - 2406:3700::/32, - 2406:3780::/32, - 2406:3880::/32, - 2406:3980::/32, - 2406:39c0::/32, - 2406:3ac0::/32, - 2406:3d80::/32, - 2406:3e80::/32, - 2406:3f80::/32, - 2406:4080::/32, - 2406:40c0::/32, - 2406:4180::/32, - 2406:4280::/32, - 2406:42c0::/32, - 2406:4340::/32, - 2406:4380::/32, - 2406:43c0::/32, - 2406:4480::/32, - 2406:4500::/32, - 2406:4680::/32, - 2406:4b80::/32, - 2406:4c80::/32, - 2406:4d00::/32, - 2406:4d80::/32, - 2406:4e80::/32, - 2406:4f00::/32, - 2406:4f80::/32, - 2406:5080::/32, - 2406:50c0::/32, - 2406:5180::/32, - 2406:5280::/32, - 2406:52c0::/32, - 2406:5340::/32, - 2406:5380::/32, - 2406:5480::/32, - 2406:5580::/32, - 2406:5680::/32, - 2406:5780::/32, - 2406:5840::/32, - 2406:5880::/32, - 2406:5940::/32, - 2406:5980::/32, - 2406:5a40::/32, - 2406:5ac0::/32, - 2406:5b40::/32, - 2406:5d80::/32, - 2406:5e80::/32, - 2406:5f80::/32, - 2406:6080::/32, - 2406:6100::/32, - 2406:6180::/32, - 2406:61c0::/29, - 2406:6280::/32, - 2406:6300::/32, - 2406:6340::/32, - 2406:6380::/32, - 2406:6480::/32, - 2406:6500::/32, - 2406:6580::/32, - 2406:65c0::/32, - 2406:6640::/32, - 2406:6680::/32, - 2406:6780::/32, - 2406:6880::/32, - 2406:6980::/32, - 2406:6a80::/32, - 2406:6b80::/32, - 2406:6bc0::/32, - 2406:6c80::/32, - 2406:6d80::/32, - 2406:6e80::/32, - 2406:6f80::/32, - 2406:7080::/32, - 2406:7280::/32, - 2406:7380::/32, - 2406:7480::/32, - 2406:7580::/32, - 2406:7680::/32, - 2406:7780::/32, - 2406:7880::/32, - 2406:7980::/32, - 2406:7a80::/32, - 2406:7b80::/32, - 2406:7c80::/32, - 2406:7d00::/32, - 2406:7d80::/32, - 2406:7e80::/32, - 2406:7f80::/32, - 2406:7fc0::/32, - 2406:8080::/32, - 2406:8180::/32, - 2406:8280::/32, - 2406:8380::/32, - 2406:8480::/32, - 2406:8500::/32, - 2406:8580::/32, - 2406:8780::/32, - 2406:8880::/32, - 2406:8980::/32, - 2406:8a80::/32, - 2406:8b80::/32, - 2406:8c80::/32, - 2406:8d80::/32, - 2406:8e80::/32, - 2406:8f40::/32, - 2406:8f80::/32, - 2406:9180::/32, - 2406:9200::/32, - 2406:9380::/32, - 2406:9480::/32, - 2406:94c0::/32, - 2406:9780::/32, - 2406:9d80::/32, - 2406:9e40::/32, - 2406:9e80::/32, - 2406:9f80::/32, - 2406:a080::/32, - 2406:a180::/32, - 2406:a280::/32, - 2406:a380::/32, - 2406:a480::/32, - 2406:a580::/32, - 2406:a680::/32, - 2406:a780::/32, - 2406:a7c0::/32, - 2406:a880::/32, - 2406:a8c0::/32, - 2406:a980::/32, - 2406:aa80::/32, - 2406:aac0::/32, - 2406:ab80::/32, - 2406:ac80::/32, - 2406:acc0::/32, - 2406:ad40::/32, - 2406:ad80::/32, - 2406:ae80::/32, - 2406:af80::/32, - 2406:b080::/32, - 2406:b640::/32, - 2406:b880::/32, - 2406:b980::/32, - 2406:ba80::/32, - 2406:bb80::/32, - 2406:bc80::/32, - 2406:bd40::/32, - 2406:bd80::/32, - 2406:bdc0::/32, - 2406:be80::/32, - 2406:bf80::/32, - 2406:c080::/32, - 2406:c180::/32, - 2406:c280::/32, - 2406:c340::/32, - 2406:c480::/32, - 2406:c580::/32, - 2406:c680::/32, - 2406:c780::/32, - 2406:c880::/32, - 2406:c900::/32, - 2406:c980::/32, - 2406:ca80::/32, - 2406:cac0::/32, - 2406:cb80::/32, - 2406:cc80::/32, - 2406:cd80::/32, - 2406:ce80::/32, - 2406:cf00::/30, - 2406:cf80::/32, - 2406:d080::/32, - 2406:d140::/32, - 2406:d180::/32, - 2406:d280::/32, - 2406:d2c0::/32, - 2406:d380::/32, - 2406:d440::/32, - 2406:d480::/32, - 2406:d580::/32, - 2406:d680::/32, - 2406:d780::/32, - 2406:d880::/32, - 2406:d980::/32, - 2406:db80::/32, - 2406:dc80::/32, - 2406:dd00::/32, - 2406:dd80::/32, - 2406:de80::/32, - 2406:df80::/32, - 2406:e080::/32, - 2406:e180::/32, - 2406:e2c0::/32, - 2406:e380::/32, - 2406:e3c0::/32, - 2406:e500::/32, - 2406:e580::/32, - 2406:e680::/32, - 2406:e780::/32, - 2406:e8c0::/32, - 2406:ea40::/28, - 2406:f280::/32, - 2406:f300::/32, - 2406:f4c0::/32, - 2406:f7c0::/32, - 2406:f980::/32, - 2406:fc80::/32, - 2406:fd80::/32, - 2406:fe80::/32, - 2406:ff00::/32, - 2407:480::/32, - 2407:580::/32, - 2407:cc0::/32, - 2407:f40::/32, - 2407:17c0::/32, - 2407:1900::/32, - 2407:1d00::/32, - 2407:2280::/32, - 2407:2380::/32, - 2407:23c0::/32, - 2407:2780::/32, - 2407:2840::/32, - 2407:2ac0::/32, - 2407:31c0::/32, - 2407:3340::/32, - 2407:3540::/32, - 2407:3700::/32, - 2407:3740::/32, - 2407:37c0::/32, - 2407:3900::/32, - 2407:3f40::/32, - 2407:43c0::/32, - 2407:4440::/32, - 2407:4580::/32, - 2407:4680::/32, - 2407:4740::/32, - 2407:4880::/32, - 2407:4980::/32, - 2407:4a80::/32, - 2407:4c80::/32, - 2407:4d80::/32, - 2407:4e80::/32, - 2407:4f00::/32, - 2407:5380::/32, - 2407:53c0::/32, - 2407:5500::/32, - 2407:5780::/32, - 2407:5840::/32, - 2407:6040::/32, - 2407:6580::/32, - 2407:6c40::/32, - 2407:7680::/32, - 2407:7780::/32, - 2407:7880::/32, - 2407:7980::/32, - 2407:7c80::/32, - 2407:7d00::/32, - 2407:7d80::/32, - 2407:7e80::/32, - 2407:8880::/32, - 2407:8b80::/32, - 2407:8f40::/32, - 2407:9080::/32, - 2407:9180::/32, - 2407:94c0::/32, - 2407:9680::/32, - 2407:9980::/32, - 2407:9b40::/32, - 2407:9bc0::/32, - 2407:9f00::/32, - 2407:9f80::/32, - 2407:a040::/32, - 2407:a640::/32, - 2407:a7c0::/32, - 2407:a880::/32, - 2407:a940::/32, - 2407:ad80::/32, - 2407:ae80::/32, - 2407:af80::/32, - 2407:b080::/32, - 2407:b180::/32, - 2407:b280::/32, - 2407:b380::/32, - 2407:b580::/32, - 2407:b680::/32, - 2407:b780::/32, - 2407:b880::/32, - 2407:b980::/32, - 2407:ba00::/32, - 2407:ba80::/32, - 2407:bb80::/32, - 2407:bc00::/32, - 2407:bc80::/32, - 2407:bd80::/32, - 2407:bdc0::/32, - 2407:be80::/32, - 2407:bf80::/32, - 2407:c080::/32, - 2407:c380::/32, - 2407:c400::/32, - 2407:c480::/32, - 2407:c580::/32, - 2407:c680::/32, - 2407:c780::/32, - 2407:c880::/32, - 2407:c900::/32, - 2407:c980::/32, - 2407:cb80::/32, - 2407:cc80::/32, - 2407:cd80::/32, - 2407:ce80::/32, - 2407:cf00::/32, - 2407:cf80::/32, - 2407:d480::/32, - 2407:d580::/32, - 2407:d680::/32, - 2407:d780::/32, - 2407:d7c0::/32, - 2407:d880::/32, - 2407:d8c0::/32, - 2407:d980::/32, - 2407:d9c0::/32, - 2407:da80::/32, - 2407:db80::/32, - 2407:dc80::/32, - 2407:dd80::/32, - 2407:de80::/32, - 2407:df80::/32, - 2407:dfc0::/32, - 2407:e080::/32, - 2407:e180::/32, - 2407:e280::/32, - 2407:e380::/32, - 2407:e480::/32, - 2407:e580::/32, - 2407:e680::/32, - 2407:e780::/32, - 2407:e800::/32, - 2407:ea80::/32, - 2407:eb80::/32, - 2407:ec40::/32, - 2407:ec80::/32, - 2407:ecc0::/32, - 2407:ed80::/32, - 2407:ee80::/32, - 2407:ef80::/32, - 2407:f080::/32, - 2407:f180::/32, - 2407:f280::/32, - 2407:f380::/32, - 2407:f480::/32, - 2407:f580::/32, - 2407:f680::/32, - 2407:f780::/32, - 2407:f880::/32, - 2407:f980::/32, - 2407:fa80::/32, - 2407:fb80::/32, - 2407:fc80::/32, - 2407:fd80::/32, - 2408:4000::/22, - 2408:6000::/24, - 2408:8000::/20, - 2409:1000::/20, - 2409:2000::/21, - 2409:6000::/20, - 2409:8000::/20, - 240a:2000::/24, - 240a:4000::/21, - 240a:6000::/24, - 240a:8000::/21, - 240a:a000::/20, - 240a:c000::/20, - 240b:2000::/33, - 240b:2000:8000::/34, - 240b:2000:c000::/35, - 240b:2000:e000::/36, - 240b:2000:f000::/37, - 240b:2000:f800::/38, - 240b:2000:fc00::/39, - 240b:2000:fe00::/40, - 240b:2000:ff00::/41, - 240b:2000:ff80::/43, - 240b:2000:ffa0::/55, - 240b:2000:ffa0:201::/64, - 240b:2000:ffa0:202::/63, - 240b:2000:ffa0:204::/62, - 240b:2000:ffa0:208::/61, - 240b:2000:ffa0:210::/60, - 240b:2000:ffa0:220::/59, - 240b:2000:ffa0:240::/58, - 240b:2000:ffa0:280::/57, - 240b:2000:ffa0:300::/56, - 240b:2000:ffa0:400::/54, - 240b:2000:ffa0:800::/53, - 240b:2000:ffa0:1000::/52, - 240b:2000:ffa0:2000::/51, - 240b:2000:ffa0:4000::/50, - 240b:2000:ffa0:8000::/49, - 240b:2000:ffa1::/48, - 240b:2000:ffa2::/47, - 240b:2000:ffa4::/46, - 240b:2000:ffa8::/45, - 240b:2000:ffb0::/44, - 240b:2000:ffc0::/42, - 240b:2001::/32, - 240b:2002::/31, - 240b:2004::/30, - 240b:2008::/29, - 240b:2010::/28, - 240b:2020::/27, - 240b:2040::/26, - 240b:2080::/25, - 240b:2100::/24, - 240b:2200::/23, - 240b:6000::/20, - 240b:8000::/21, - 240b:a000::/25, - 240b:e000::/26, - 240c::/28, - 240c:4000::/22, - 240c:8000::/21, - 240c:c000::/20, - 240d:4000::/21, - 240d:8000::/24, - 240e::/18, - 240f:4000::/24, - 240f:8000::/24, - 240f:c000::/24, - 2600:70ff:9bea::/48, - 2600:70ff:a463::/48, - 2600:70ff:a48c::/48, - 2600:70ff:a810::/48, - 2600:70ff:a819::/48, - 2600:70ff:a87a::/48, - 2600:70ff:a881::/48, - 2600:70ff:a88b::/48, - 2600:70ff:a8a0::/48, - 2600:70ff:a8d9::/48, - 2600:70ff:a906::/48, - 2600:70ff:b066::/48, - 2600:70ff:b0d9::/48, - 2600:70ff:b80f::/48, - 2600:70ff:b813::/48, - 2600:70ff:b82c::/48, - 2600:70ff:b831::/48, - 2600:70ff:b839::/48, - 2600:70ff:b83b::/48, - 2600:70ff:b84a::/48, - 2600:70ff:b864::/48, - 2600:70ff:b89b::/48, - 2600:70ff:b8a8::/48, - 2600:70ff:b8bc::/48, - 2600:70ff:b8c3::/48, - 2600:70ff:b8c5::/48, - 2600:70ff:b8d7::/48, - 2600:70ff:b8d8::/45, - 2600:70ff:b8e0::/46, - 2600:70ff:b8e6::/47, - 2600:70ff:b8e8::/48, - 2600:70ff:b8ec::/47, - 2600:70ff:b8ee::/48, - 2600:70ff:b8f0::/46, - 2600:70ff:b8f4::/48, - 2600:70ff:b8f7::/48, - 2600:70ff:b8fa::/48, - 2600:70ff:b8fc::/47, - 2600:70ff:b900::/45, - 2600:70ff:b909::/48, - 2600:70ff:b90b::/48, - 2600:70ff:b914::/47, - 2600:70ff:b916::/48, - 2600:70ff:b91b::/48, - 2600:70ff:b91e::/48, - 2600:70ff:b921::/48, - 2600:70ff:b928::/48, - 2600:70ff:b92d::/48, - 2600:70ff:b937::/48, - 2600:70ff:b94f::/48, - 2600:70ff:b974::/48, - 2600:70ff:c028::/48, - 2600:70ff:c03f::/48, - 2600:70ff:c054::/48, - 2600:70ff:c0dc::/48, - 2600:70ff:c0e5::/48, - 2600:70ff:c0ea::/47, - 2600:70ff:c0ee::/47, - 2600:70ff:c0fe::/48, - 2600:70ff:c83f::/48, - 2600:70ff:c96e::/48, - 2600:70ff:d00c::/48, - 2600:70ff:d046::/48, - 2600:70ff:d053::/48, - 2600:70ff:d803::/48, - 2600:70ff:d814::/48, - 2600:70ff:d848::/48, - 2600:70ff:d912::/48, - 2600:70ff:d914::/48, - 2600:70ff:d924::/47, - 2600:70ff:d926::/48, - 2600:70ff:d934::/48, - 2600:70ff:d936::/48, - 2600:70ff:d944::/47, - 2600:70ff:e85f::/48, - 2600:70ff:e862::/48, - 2600:70ff:e9d9::/48, - 2600:70ff:e9eb::/48, - 2600:70ff:ea0a::/47, - 2600:70ff:f002::/48, - 2600:70ff:f80c::/47, - 2600:70ff:f815::/48, - 2600:70ff:f81e::/48, - 2600:70ff:f84b::/48, - 2600:70ff:f884::/48, - 2600:70ff:f892::/48, - 2600:70ff:f8a9::/48, - 2600:70ff:f8ab::/48, - 2600:70ff:f8b2::/47, - 2600:70ff:f8b4::/48, - 2600:70ff:f8ba::/47, - 2600:70ff:f8bc::/47, - 2600:70ff:f8c7::/48, - 2600:70ff:f8c9::/48, - 2600:70ff:f8ca::/47, - 2600:70ff:f8cc::/46, - 2600:70ff:f8d0::/46, - 2600:70ff:f8d5::/48, - 2600:70ff:f8d6::/47, - 2600:70ff:f8d8::/47, - 2600:70ff:f8da::/48, - 2600:70ff:f8dd::/48, - 2600:70ff:f8de::/47, - 2600:70ff:f8e0::/46, - 2600:70ff:f8e4::/48, - 2600:70ff:f909::/48, - 2600:70ff:f90a::/48, - 2600:70ff:f90e::/47, - 2600:70ff:f910::/48, - 2600:70ff:f93e::/48, - 2600:70ff:f944::/46, - 2600:70ff:f948::/47, - 2600:70ff:f94b::/48, - 2600:70ff:f94d::/48, - 2600:70ff:f94e::/47, - 2600:70ff:f952::/47, - 2600:70ff:f955::/48, - 2600:70ff:f956::/48, - 2600:70ff:f961::/48, - 2600:70ff:f964::/48, - 2600:70ff:f966::/48, - 2600:70ff:f969::/48, - 2600:70ff:f96b::/48, - 2600:70ff:f96c::/48, - 2600:70ff:f96e::/48, - 2600:70ff:f970::/48, - 2600:70ff:f972::/47, - 2600:70ff:f976::/48, - 2600:70ff:f979::/48, - 2600:70ff:f97c::/47, - 2600:70ff:f97e::/48, - 2600:70ff:f981::/48, - 2600:70ff:f985::/48, - 2600:70ff:f987::/48, - 2600:70ff:f989::/48, - 2600:70ff:f98b::/48, - 2600:70ff:f98e::/48, - 2600:70ff:fa41::/48, - 2602:2a9:d10::/44, - 2602:2e0:ff::/48, - 2602:814:f006::/48, - 2602:f765:fff:88::/64, - 2602:f795:c01::/48, - 2602:f795:c02::/47, - 2602:f795:c04::/47, - 2602:f795:fa0::/48, - 2602:f7b8:4::/48, - 2602:f7ee:ee::/48, - 2602:f93b:400::/38, - 2602:f93b:a00::/48, - 2602:f9ba:a8::/48, - 2602:f9ba:10c::/48, - 2602:fa76:1:7::/64, - 2602:fd92:cc0::/44, - 2602:fe9f:a00::/48, - 2602:feda:182::/47, - 2602:feda:1bf::/48, - 2602:feda:1d1::/48, - 2602:feda:1df::/48, - 2602:feda:2d0::/44, - 2602:feda:2f0::/44, - 2602:feda:e80::/44, - 2604:980:e00d::/48, - 2605:3e80:1b00::/40, - 2605:9d80:8001::/48, - 2605:9d80:8011::/48, - 2605:9d80:8021::/48, - 2605:9d80:8031::/48, - 2605:9d80:8041::/48, - 2605:9d80:8081::/48, - 2605:9d80:9003::/48, - 2605:9d80:9013::/48, - 2605:9d80:9023::/48, - 2605:9d80:9033::/48, - 2605:9d80:9042::/48, - 2605:9d80:9071::/48, - 2605:9d80:9092::/48, - 2606:54c0:1eb8::/45, - 2606:54c0:1ec0::/42, - 2606:54c0:1f00::/40, - 2606:54c0:2000::/38, - 2606:54c0:2400::/39, - 2606:54c0:2600::/41, - 2606:54c0:d440::/45, - 2606:54c3:0:13::/64, - 2606:54c3:0:1f::/64, - 2606:54c3:0:2f::/64, - 2606:54c3:0:32::/64, - 2606:54c3:0:49::/64, - 2606:54c3:0:4a::/64, - 2606:54c3:0:54::/64, - 2606:54c3:0:79::/64, - 2606:54c3:0:97::/64, - 2606:54c3:0:ed::/64, - 2606:54c3:0:13b::/64, - 2606:54c3:0:14c::/64, - 2606:54c3:0:193::/64, - 2606:54c3:0:1a6::/64, - 2606:54c3:0:1d1::/64, - 2606:54c3:0:1fa::/64, - 2606:54c3:0:20e::/64, - 2606:54c3:0:21c::/64, - 2606:54c3:0:21e::/64, - 2606:54c3:0:25d::/64, - 2606:54c3:0:260::/64, - 2606:54c3:0:27a::/64, - 2606:54c3:0:298::/64, - 2606:54c3:0:29e::/64, - 2606:54c3:0:2a3::/64, - 2606:54c3:0:2c4::/64, - 2606:54c3:0:2df::/64, - 2606:54c3:0:2f7::/64, - 2606:54c3:0:30f::/64, - 2606:54c3:0:335::/64, - 2606:54c3:0:356::/64, - 2606:54c3:0:37d::/64, - 2606:54c3:0:39f::/64, - 2606:54c3:0:3a8::/63, - 2606:54c3:0:3ab::/64, - 2606:54c3:0:3b1::/64, - 2606:54c3:0:3dc::/64, - 2606:54c3:0:3de::/64, - 2606:54c3:0:3fb::/64, - 2606:54c3:0:443::/64, - 2606:54c3:0:44d::/64, - 2606:54c3:0:44f::/64, - 2606:54c3:0:46a::/64, - 2606:54c3:0:47c::/64, - 2606:54c3:0:4ac::/64, - 2606:54c3:0:4db::/64, - 2606:54c3:0:4df::/64, - 2606:54c3:0:4e5::/64, - 2606:54c3:0:4ff::/64, - 2606:54c3:0:507::/64, - 2606:54c3:0:50a::/63, - 2606:54c3:0:54b::/64, - 2606:54c3:0:558::/64, - 2606:54c3:0:5a1::/64, - 2606:54c3:0:5bf::/64, - 2606:54c3:0:5f3::/64, - 2606:54c3:0:614::/64, - 2606:54c3:0:62c::/64, - 2606:54c3:0:63a::/64, - 2606:54c3:0:63d::/64, - 2606:54c3:0:646::/64, - 2606:54c3:0:65e::/64, - 2606:54c3:0:67a::/64, - 2606:54c3:0:693::/64, - 2606:54c3:0:69b::/64, - 2606:54c3:0:6c3::/64, - 2606:54c3:0:6d7::/64, - 2606:54c3:0:6e0::/64, - 2606:54c3:0:729::/64, - 2606:54c3:0:72a::/64, - 2606:54c3:0:73c::/64, - 2606:54c3:0:759::/64, - 2606:54c3:0:75f::/64, - 2606:54c3:0:765::/64, - 2606:54c3:0:799::/64, - 2606:54c3:0:7aa::/64, - 2606:54c3:0:7e3::/64, - 2606:54c3:0:7eb::/64, - 2606:54c3:0:7f2::/64, - 2606:54c3:0:808::/64, - 2606:54c3:0:854::/64, - 2606:54c3:0:85b::/64, - 2606:54c3:0:866::/64, - 2606:54c3:0:891::/64, - 2606:54c3:0:89b::/64, - 2606:54c3:0:89d::/64, - 2606:54c3:0:8a6::/64, - 2606:54c3:0:8ac::/64, - 2606:54c3:0:8be::/64, - 2606:54c3:0:8c5::/64, - 2606:54c3:0:8eb::/64, - 2606:54c3:0:8ec::/64, - 2606:54c3:0:900::/63, - 2606:54c3:0:91c::/64, - 2606:54c3:0:94b::/64, - 2606:54c3:0:972::/64, - 2606:54c3:0:985::/64, - 2606:54c3:0:9aa::/64, - 2606:54c3:0:9be::/64, - 2606:54c3:0:a14::/64, - 2606:54c3:0:a55::/64, - 2606:54c3:0:a82::/64, - 2606:54c3:0:aaf::/64, - 2606:54c3:0:ab6::/64, - 2606:54c3:0:ac5::/64, - 2606:54c3:0:b0d::/64, - 2606:54c3:0:b26::/64, - 2606:54c3:0:b2b::/64, - 2606:54c3:0:b79::/64, - 2606:54c3:0:b83::/64, - 2606:54c3:0:bb0::/64, - 2606:54c3:0:bd6::/64, - 2606:54c3:0:bfb::/64, - 2606:54c3:0:bff::/64, - 2606:54c3:0:c22::/64, - 2606:54c3:0:c31::/64, - 2606:54c3:0:c39::/64, - 2606:54c3:0:c3d::/64, - 2606:54c3:0:c47::/64, - 2606:54c3:0:c4f::/64, - 2606:54c3:0:c53::/64, - 2606:54c3:0:c57::/64, - 2606:54c3:0:c77::/64, - 2606:54c3:0:ca0::/64, - 2606:54c3:0:ca8::/64, - 2606:54c3:0:cb3::/64, - 2606:54c3:0:cb4::/64, - 2606:54c3:0:cbc::/64, - 2606:54c3:0:cd5::/64, - 2606:54c3:0:ce7::/64, - 2606:54c3:0:cec::/64, - 2606:54c3:0:cf9::/64, - 2606:54c3:0:cfc::/64, - 2606:54c3:0:d44::/64, - 2606:54c3:0:d58::/64, - 2606:54c3:0:d99::/64, - 2606:54c3:0:da3::/64, - 2606:54c3:0:dad::/64, - 2606:54c3:0:dd6::/64, - 2606:54c3:0:deb::/64, - 2606:54c3:0:e16::/64, - 2606:54c3:0:e46::/64, - 2606:54c3:0:e71::/64, - 2606:54c3:0:ede::/64, - 2606:54c3:0:ef6::/64, - 2606:54c3:0:f3e::/64, - 2606:54c3:0:f46::/64, - 2606:54c3:0:f57::/64, - 2606:54c3:0:f6a::/64, - 2606:54c3:0:f8d::/64, - 2606:54c3:0:f9c::/64, - 2606:54c3:0:ff0::/63, - 2606:54c3:0:ffc::/64, - 2606:54c3:0:ffe::/64, - 2606:54c3:0:1015::/64, - 2606:54c3:0:1025::/64, - 2606:54c3:0:1026::/64, - 2606:54c3:0:1045::/64, - 2606:54c3:0:1047::/64, - 2606:54c3:0:1062::/64, - 2606:54c3:0:1069::/64, - 2606:54c3:0:1070::/64, - 2606:54c3:0:10a9::/64, - 2606:54c3:0:10c3::/64, - 2606:54c3:0:1147::/64, - 2606:54c3:0:1151::/64, - 2606:54c3:0:1162::/64, - 2606:54c3:0:1194::/64, - 2606:54c3:0:119c::/64, - 2606:54c3:0:11b2::/64, - 2606:54c3:0:11e2::/64, - 2606:54c3:0:11e4::/64, - 2606:54c3:0:11ef::/64, - 2606:54c3:0:1218::/64, - 2606:54c3:0:1227::/64, - 2606:54c3:0:127d::/64, - 2606:54c3:0:12b8::/64, - 2606:54c3:0:12c7::/64, - 2606:54c3:0:12d7::/64, - 2606:54c3:0:12ec::/64, - 2606:54c3:0:12f1::/64, - 2606:54c3:0:1317::/64, - 2606:54c3:0:1341::/64, - 2606:54c3:0:1389::/64, - 2606:54c3:0:13c7::/64, - 2606:54c3:0:13ea::/64, - 2606:54c3:0:13ed::/64, - 2606:54c3:0:13f0::/64, - 2606:54c3:0:13f2::/64, - 2606:54c3:0:1400::/64, - 2606:54c3:0:142b::/64, - 2606:54c3:0:1435::/64, - 2606:54c3:0:1474::/64, - 2606:54c3:0:1499::/64, - 2606:54c3:0:149b::/64, - 2606:54c3:0:14a5::/64, - 2606:54c3:0:14cd::/64, - 2606:54c3:0:14ec::/64, - 2606:54c3:0:14f6::/64, - 2606:54c3:0:150d::/64, - 2606:54c3:0:150e::/64, - 2606:54c3:0:1510::/64, - 2606:54c3:0:151b::/64, - 2606:54c3:0:1572::/64, - 2606:54c3:0:1579::/64, - 2606:54c3:0:15bb::/64, - 2606:54c3:0:15ef::/64, - 2606:54c3:0:15fa::/64, - 2606:54c3:0:1612::/64, - 2606:54c3:0:1620::/64, - 2606:54c3:0:1647::/64, - 2606:54c3:0:1666::/64, - 2606:54c3:0:1678::/64, - 2606:54c3:0:1691::/64, - 2606:54c3:0:1698::/64, - 2606:54c3:0:16a6::/64, - 2606:54c3:0:1702::/64, - 2606:54c3:0:170d::/64, - 2606:54c3:0:170e::/64, - 2606:54c3:0:1757::/64, - 2606:54c3:0:1761::/64, - 2606:54c3:0:1792::/64, - 2606:54c3:0:17a4::/64, - 2606:54c3:0:17ca::/64, - 2606:54c3:0:17d9::/64, - 2606:54c3:0:1806::/64, - 2606:54c3:0:1823::/64, - 2606:54c3:0:188f::/64, - 2606:54c3:0:189d::/64, - 2606:54c3:0:18ab::/64, - 2606:54c3:0:18b1::/64, - 2606:54c3:0:1982::/64, - 2606:54c3:0:199b::/64, - 2606:54c3:0:19a0::/64, - 2606:54c3:0:19cf::/64, - 2606:54c3:0:19dd::/64, - 2606:54c3:0:19f4::/63, - 2606:54c3:0:1a02::/64, - 2606:54c3:0:1a1a::/64, - 2606:54c3:0:1a1c::/64, - 2606:54c3:0:1a4b::/64, - 2606:54c3:0:1a50::/64, - 2606:54c3:0:1a5a::/64, - 2606:54c3:0:1a66::/64, - 2606:54c3:0:1a91::/64, - 2606:f187:6000::/47, - 2607:740:18::/48, - 2607:6b80:69::/48, - 2610:a1:3074::/46, - 2610:a1:3078::/46, - 2620:123:2080::/48, - 2620:171:fb::/48, - 2804:1e48:9001::/48, - 2804:1e48:9002::/48, - 2a00:79e0:200:500::/56, - 2a00:79e0:ffe5:3a00::/56, - 2a00:79e1:abc:ab00::/56, - 2a01:ce9e:8000::/33, - 2a01:ffc7:100::/40, - 2a02:26f7:c400:4000::/64, - 2a02:26f7:c400:f400::/55, - 2a02:26f7:c400:f600::/61, - 2a02:26f7:c400:f608::/62, - 2a02:26f7:c400:f60c::/63, - 2a02:26f7:c401:4000::/64, - 2a02:26f7:c404:4000::/64, - 2a02:26f7:c404:f400::/55, - 2a02:26f7:c404:f600::/61, - 2a02:26f7:c404:f608::/62, - 2a02:26f7:c404:f60c::/63, - 2a02:26f7:c405:4000::/64, - 2a02:26f7:c408:4000::/64, - 2a02:26f7:c408:f400::/55, - 2a02:26f7:c408:f600::/61, - 2a02:26f7:c408:f608::/62, - 2a02:26f7:c408:f60c::/63, - 2a02:26f7:c409:4000::/64, - 2a02:26f7:c40c:4000::/64, - 2a02:26f7:c40c:f400::/55, - 2a02:26f7:c40c:f600::/61, - 2a02:26f7:c40c:f608::/62, - 2a02:26f7:c40c:f60c::/63, - 2a02:26f7:c40d:4000::/64, - 2a02:26f7:c410:4000::/64, - 2a02:26f7:c410:f400::/55, - 2a02:26f7:c410:f600::/61, - 2a02:26f7:c410:f608::/62, - 2a02:26f7:c410:f60c::/63, - 2a02:26f7:c411:4000::/64, - 2a02:26f7:c414:4000::/64, - 2a02:26f7:c414:f400::/55, - 2a02:26f7:c414:f600::/61, - 2a02:26f7:c414:f608::/62, - 2a02:26f7:c414:f60c::/63, - 2a02:26f7:c415:4000::/64, - 2a02:26f7:c418:4000::/64, - 2a02:26f7:c418:f400::/55, - 2a02:26f7:c418:f600::/61, - 2a02:26f7:c418:f608::/62, - 2a02:26f7:c418:f60c::/63, - 2a02:26f7:c419:4000::/64, - 2a02:26f7:c41c:4000::/64, - 2a02:26f7:c41c:f400::/55, - 2a02:26f7:c41c:f600::/61, - 2a02:26f7:c41c:f608::/62, - 2a02:26f7:c41c:f60c::/63, - 2a02:26f7:c41d:4000::/64, - 2a02:26f7:c420:4000::/64, - 2a02:26f7:c420:f400::/55, - 2a02:26f7:c420:f600::/61, - 2a02:26f7:c420:f608::/62, - 2a02:26f7:c420:f60c::/63, - 2a02:26f7:c421:4000::/64, - 2a02:26f7:ce80:4000::/64, - 2a02:26f7:ce80:d040::/62, - 2a02:26f7:ce80:d044::/63, - 2a02:26f7:ce80:d046::/64, - 2a02:26f7:ce81:4000::/64, - 2a02:26f7:ce88:4000::/64, - 2a02:26f7:ce88:d040::/62, - 2a02:26f7:ce88:d044::/63, - 2a02:26f7:ce88:d046::/64, - 2a02:26f7:ce89:4000::/64, - 2a02:26f7:ce8c:4000::/64, - 2a02:26f7:ce8c:d040::/62, - 2a02:26f7:ce8c:d044::/63, - 2a02:26f7:ce8c:d046::/64, - 2a02:26f7:ce8d:4000::/64, - 2a02:5740:67::/48, - 2a02:5741:67::/48, - 2a02:5742:67::/48, - 2a02:5743:67::/48, - 2a02:5744:67::/48, - 2a02:5745:67::/48, - 2a02:5746:67::/48, - 2a02:5747:67::/48, - 2a03:5840:11b::/48, - 2a03:83e0:d35::/48, - 2a03:83e0:e11::/48, - 2a03:83e0:f11::/48, - 2a03:83e0:1111::/48, - 2a03:83e0:1211::/48, - 2a03:83e0:1d11::/48, - 2a03:f900::/29, - 2a04:3e00:1002::/48, - 2a04:4e41:12a2::/48, - 2a04:4e41:4012:f000::/52, - 2a04:4e41:4022:f000::/52, - 2a04:4e41:4032:f000::/52, - 2a04:4e41:4042:f000::/52, - 2a04:4e41:4052:f000::/52, - 2a04:4e41:4062:f000::/52, - 2a04:4e41:4072:f000::/52, - 2a04:4e41:4082:f000::/52, - 2a04:4e41:6003::/48, - 2a04:4e41:6a03::/48, - 2a04:f580:8010::/47, - 2a04:f580:8090::/48, - 2a04:f580:8210::/47, - 2a04:f580:8290::/48, - 2a04:f580:9010::/48, - 2a04:f580:9012::/47, - 2a04:f580:9020::/48, - 2a04:f580:9030::/48, - 2a04:f580:9040::/48, - 2a04:f580:9050::/48, - 2a04:f580:9060::/48, - 2a04:f580:9070::/48, - 2a04:f580:9080::/48, - 2a04:f580:9090::/48, - 2a04:f580:9210::/48, - 2a04:f580:9212::/47, - 2a04:f580:9220::/48, - 2a04:f580:9230::/48, - 2a04:f580:9240::/48, - 2a04:f580:9250::/48, - 2a04:f580:9260::/48, - 2a04:f580:9270::/48, - 2a04:f580:9280::/48, - 2a04:f580:9290::/48, - 2a05:1087::/32, - 2a05:dfc1:16fd::/48, - 2a05:dfc1:16fe::/47, - 2a05:dfc3:ff00::/40, - 2a05:e580:700::/40, - 2a06:1281:8000::/36, - 2a06:3601::/32, - 2a06:3603::/32, - 2a06:3607::/32, - 2a06:9f81:4100::/48, - 2a06:9f81:4600::/43, - 2a06:9f81:4620::/44, - 2a06:9f81:4640::/43, - 2a06:9f81:4660::/44, - 2a06:9f81:5100::/40, - 2a06:9f81:6100::/40, - 2a06:9f81:640b::/48, - 2a06:9f81:6455::/48, - 2a06:9f81:6488::/48, - 2a06:9f81:64a1::/48, - 2a06:a005:260::/43, - 2a06:a005:280::/43, - 2a06:a005:2a0::/44, - 2a06:a005:770::/48, - 2a06:a005:8d0::/44, - 2a06:a005:9c0::/48, - 2a06:a005:9e0::/44, - 2a06:a005:a13::/48, - 2a06:a005:e80::/43, - 2a06:a005:1c40::/44, - 2a06:a005:2910::/44, - 2a06:e881:3800::/44, - 2a07:d887:2f00::/40, - 2a09:2702:48::/48, - 2a09:54c6:3000::/36, - 2a09:54c6:6000::/35, - 2a09:54c6:b000::/36, - 2a09:b280:ff83::/48, - 2a09:b280:ff84::/47, - 2a09:bac0:1000:5dc::/64, - 2a09:bac1:1980::/64, - 2a09:bac1:1980:8::/64, - 2a09:bac1:1980:10::/64, - 2a09:bac1:1980:18::/64, - 2a09:bac1:1980:20::/64, - 2a09:bac1:1980:28::/64, - 2a09:bac1:1980:30::/64, - 2a09:bac1:1980:38::/64, - 2a09:bac1:1980:40::/64, - 2a09:bac1:1980:48::/64, - 2a09:bac1:1980:50::/64, - 2a09:bac1:1980:58::/64, - 2a09:bac1:1980:60::/64, - 2a09:bac1:1980:68::/64, - 2a09:bac1:1980:78::/64, - 2a09:bac1:1980:80::/64, - 2a09:bac1:1980:88::/64, - 2a09:bac1:1980:90::/64, - 2a09:bac1:1980:98::/64, - 2a09:bac1:1980:a0::/64, - 2a09:bac1:1980:a8::/64, - 2a09:bac1:1980:b0::/64, - 2a09:bac1:1980:b8::/64, - 2a09:bac1:1980:c0::/64, - 2a09:bac1:1980:c8::/64, - 2a09:bac1:1980:d0::/64, - 2a09:bac1:1980:d8::/64, - 2a09:bac1:1980:e0::/64, - 2a09:bac1:1980:e8::/64, - 2a09:bac1:1980:f0::/64, - 2a09:bac1:1980:f8::/64, - 2a09:bac1:1980:100::/64, - 2a09:bac1:1980:108::/64, - 2a09:bac1:1980:110::/64, - 2a09:bac1:1980:118::/64, - 2a09:bac1:1980:120::/64, - 2a09:bac1:1980:128::/64, - 2a09:bac1:1980:130::/64, - 2a09:bac1:1980:138::/64, - 2a09:bac1:1980:140::/64, - 2a09:bac1:1980:148::/64, - 2a09:bac1:1980:150::/64, - 2a09:bac1:1980:158::/64, - 2a09:bac1:1980:160::/64, - 2a09:bac1:1980:168::/64, - 2a09:bac1:1980:170::/64, - 2a09:bac1:1980:180::/64, - 2a09:bac1:1980:188::/64, - 2a09:bac1:1980:2fc8::/64, - 2a09:bac1:1980:37b8::/64, - 2a09:bac1:1980:3888::/64, - 2a09:bac1:1980:3a78::/64, - 2a09:bac1:1980:3b28::/64, - 2a09:bac1:1980:3be0::/64, - 2a09:bac1:1980:3c60::/64, - 2a09:bac1:1980:3cc0::/64, - 2a09:bac1:1980:3cd0::/64, - 2a09:bac1:1980:3cf0::/64, - 2a09:bac1:1980:3cf8::/64, - 2a09:bac1:1980:3d78::/64, - 2a09:bac1:1980:3e08::/64, - 2a09:bac1:1980:3ec8::/64, - 2a09:bac1:1980:42d0::/64, - 2a09:bac1:1980:44a0::/64, - 2a09:bac1:1980:49a8::/64, - 2a09:bac1:1980:63b0::/64, - 2a09:bac1:1980:65a0::/64, - 2a09:bac1:1980:6848::/64, - 2a09:bac1:1980:6ac0::/64, - 2a09:bac1:1980:6c48::/64, - 2a09:bac1:1980:6ce0::/64, - 2a09:bac1:1980:6f00::/64, - 2a09:bac1:1980:6f60::/64, - 2a09:bac1:1980:6fe0::/64, - 2a09:bac1:1980:72d8::/64, - 2a09:bac1:1980:74d0::/64, - 2a09:bac1:1980:7570::/64, - 2a09:bac1:1980:76d8::/64, - 2a09:bac1:1980:76e8::/64, - 2a09:bac1:1980:7818::/64, - 2a09:bac1:1980:79f8::/64, - 2a09:bac1:1980:7be8::/64, - 2a09:bac1:1980:7d28::/64, - 2a09:bac1:1980:7f10::/64, - 2a09:bac1:1980:7fe0::/64, - 2a09:bac1:1980:8120::/64, - 2a09:bac1:1980:8588::/64, - 2a09:bac1:1980:8600::/64, - 2a09:bac1:1980:8620::/64, - 2a09:bac1:1980:8790::/64, - 2a09:bac1:1980:8888::/64, - 2a09:bac1:1980:88f8::/64, - 2a09:bac1:1980:8918::/64, - 2a09:bac1:1980:8d10::/64, - 2a09:bac1:1980:8d40::/64, - 2a09:bac1:1980:9018::/64, - 2a09:bac1:1980:9318::/64, - 2a09:bac1:1980:9498::/64, - 2a09:bac1:1980:95d0::/64, - 2a09:bac1:1980:9678::/64, - 2a09:bac1:1980:96a0::/64, - 2a09:bac1:1980:9b88::/64, - 2a09:bac1:1980:9c50::/64, - 2a09:bac1:1980:9f60::/64, - 2a09:bac1:1980:a020::/64, - 2a09:bac1:1980:ab78::/64, - 2a09:bac1:1980:b848::/64, - 2a09:bac1:1980:baa0::/64, - 2a09:bac1:1980:bb18::/64, - 2a09:bac1:1980:bbe0::/64, - 2a09:bac1:1980:bc78::/64, - 2a09:bac1:1980:bd30::/64, - 2a09:bac1:1980:be80::/64, - 2a09:bac1:1980:c3b0::/64, - 2a09:bac1:1980:c428::/64, - 2a09:bac1:1980:c448::/64, - 2a09:bac1:1980:c770::/64, - 2a09:bac1:1980:c800::/64, - 2a09:bac1:1980:c850::/64, - 2a09:bac1:1980:ca10::/64, - 2a09:bac1:1980:cbc0::/64, - 2a09:bac1:1980:d138::/64, - 2a09:bac1:1980:d798::/64, - 2a09:bac1:1980:d7c0::/64, - 2a09:bac1:1980:d820::/64, - 2a09:bac1:1980:d8a0::/64, - 2a09:bac1:1980:d948::/64, - 2a09:bac1:1980:da38::/64, - 2a09:bac1:1980:dc00::/64, - 2a09:bac1:1980:dc08::/64, - 2a09:bac1:1980:dc28::/64, - 2a09:bac1:1980:dce0::/64, - 2a09:bac1:1980:dde8::/64, - 2a09:bac1:1980:ddf8::/64, - 2a09:bac1:1980:de20::/64, - 2a09:bac1:1980:deb0::/64, - 2a09:bac1:1980:e1e0::/64, - 2a09:bac1:1980:e220::/64, - 2a09:bac1:1980:e250::/64, - 2a09:bac1:1980:e438::/64, - 2a09:bac1:1980:e558::/64, - 2a09:bac1:1980:e690::/64, - 2a09:bac1:1980:e698::/64, - 2a09:bac1:1980:e728::/64, - 2a09:bac1:1980:e790::/64, - 2a09:bac1:1980:e7b8::/64, - 2a09:bac1:1980:e7e0::/64, - 2a09:bac1:1980:ea28::/64, - 2a09:bac1:1980:ea30::/64, - 2a09:bac1:1980:ea48::/64, - 2a09:bac1:1980:edc8::/64, - 2a09:bac1:1980:ee08::/64, - 2a09:bac1:1980:ee10::/64, - 2a09:bac1:1980:ee80::/64, - 2a09:bac1:1980:ef48::/64, - 2a09:bac1:1980:efa0::/64, - 2a09:bac1:1980:eff8::/64, - 2a09:bac1:1980:f058::/64, - 2a09:bac1:1980:f3e8::/64, - 2a09:bac1:1980:f528::/64, - 2a09:bac1:1980:f920::/64, - 2a09:bac1:1980:f9c8::/64, - 2a09:bac1:1980:fae0::/64, - 2a09:bac1:1980:fb10::/64, - 2a09:bac1:1980:fb38::/64, - 2a09:bac1:1980:fba8::/64, - 2a09:bac1:1980:fc28::/64, - 2a09:bac1:1980:fd38::/64, - 2a09:bac1:1980:fd50::/64, - 2a09:bac1:1980:fd80::/64, - 2a09:bac1:1980:fdb0::/64, - 2a09:bac1:1980:fdd8::/64, - 2a09:bac1:1980:fe10::/64, - 2a09:bac1:1980:fe38::/64, - 2a09:bac1:1980:fe58::/64, - 2a09:bac1:1980:ff10::/64, - 2a09:bac1:1980:ff60::/64, - 2a09:bac1:1980:ff88::/64, - 2a09:bac1:1981:40::/64, - 2a09:bac1:1981:a0::/64, - 2a09:bac1:1981:c8::/64, - 2a09:bac1:1981:110::/64, - 2a09:bac1:1981:180::/64, - 2a09:bac1:1981:188::/64, - 2a09:bac1:1981:1a8::/64, - 2a09:bac1:1981:260::/64, - 2a09:bac1:1981:2f0::/64, - 2a09:bac1:1981:320::/64, - 2a09:bac1:1981:6d0::/64, - 2a09:bac1:1981:708::/64, - 2a09:bac1:1981:760::/64, - 2a09:bac1:1981:800::/64, - 2a09:bac1:1981:840::/64, - 2a09:bac1:1981:8f0::/64, - 2a09:bac1:1981:9d0::/64, - 2a09:bac1:1981:aa0::/64, - 2a09:bac1:1981:b18::/64, - 2a09:bac1:1981:b68::/64, - 2a09:bac1:1981:bd0::/64, - 2a09:bac1:1981:bd8::/64, - 2a09:bac1:1981:c38::/64, - 2a09:bac1:1981:c48::/64, - 2a09:bac1:1981:c78::/64, - 2a09:bac1:1981:d58::/64, - 2a09:bac1:1981:da8::/64, - 2a09:bac1:1981:dd8::/64, - 2a09:bac1:1981:ec8::/64, - 2a09:bac1:1981:1018::/64, - 2a09:bac1:1981:1150::/64, - 2a09:bac1:1981:1168::/64, - 2a09:bac1:1981:11a0::/64, - 2a09:bac1:1981:11f8::/64, - 2a09:bac1:1981:1270::/64, - 2a09:bac1:1981:1358::/64, - 2a09:bac1:1981:1388::/64, - 2a09:bac1:1981:13a0::/64, - 2a09:bac1:1981:1478::/64, - 2a09:bac1:1981:1628::/64, - 2a09:bac1:1981:16b0::/64, - 2a09:bac1:1981:1718::/64, - 2a09:bac1:1981:1740::/64, - 2a09:bac1:1981:1788::/64, - 2a09:bac1:1981:1790::/64, - 2a09:bac1:1981:19d0::/64, - 2a09:bac1:1981:1a18::/64, - 2a09:bac1:1981:1a60::/64, - 2a09:bac1:1981:1dd8::/64, - 2a09:bac1:1981:1ec8::/64, - 2a09:bac1:1981:2620::/64, - 2a09:bac1:1981:2858::/64, - 2a09:bac1:1981:2a28::/64, - 2a09:bac1:1981:2a50::/64, - 2a09:bac1:1981:2b80::/64, - 2a09:bac1:1981:3198::/64, - 2a09:bac1:1981:3388::/64, - 2a09:bac1:1981:33b0::/64, - 2a09:bac1:1981:34e0::/64, - 2a09:bac1:1981:3d88::/64, - 2a09:bac1:1981:4170::/64, - 2a09:bac1:1981:4a70::/64, - 2a09:bac1:1981:4ad0::/64, - 2a09:bac1:1981:4cf8::/64, - 2a09:bac1:1981:4e90::/64, - 2a09:bac1:1981:5060::/64, - 2a09:bac1:1981:51b0::/64, - 2a09:bac1:1981:5688::/64, - 2a09:bac1:1981:57e0::/64, - 2a09:bac1:1981:5930::/64, - 2a09:bac1:1981:5998::/64, - 2a09:bac1:19a0::/64, - 2a09:bac1:19a0:8::/64, - 2a09:bac1:19a0:10::/64, - 2a09:bac1:19a0:18::/64, - 2a09:bac1:19a0:20::/64, - 2a09:bac1:19a0:28::/64, - 2a09:bac1:19a0:30::/64, - 2a09:bac1:19a0:38::/64, - 2a09:bac1:19a0:40::/64, - 2a09:bac1:19a0:48::/64, - 2a09:bac1:19a0:50::/64, - 2a09:bac1:19a0:58::/64, - 2a09:bac1:19a0:60::/64, - 2a09:bac1:19a0:68::/64, - 2a09:bac1:19a0:78::/64, - 2a09:bac1:19a0:80::/64, - 2a09:bac1:19a0:88::/64, - 2a09:bac1:19a0:90::/64, - 2a09:bac1:19a0:98::/64, - 2a09:bac1:19a0:a0::/64, - 2a09:bac1:19a0:a8::/64, - 2a09:bac1:19a0:b0::/64, - 2a09:bac1:19a0:b8::/64, - 2a09:bac1:19a0:c0::/64, - 2a09:bac1:19a0:c8::/64, - 2a09:bac1:19a0:d0::/64, - 2a09:bac1:19a0:d8::/64, - 2a09:bac1:19a0:e0::/64, - 2a09:bac1:19a0:e8::/64, - 2a09:bac1:19a0:f0::/64, - 2a09:bac1:19a0:f8::/64, - 2a09:bac1:19a0:100::/64, - 2a09:bac1:19a0:108::/64, - 2a09:bac1:19a0:110::/64, - 2a09:bac1:19a0:118::/64, - 2a09:bac1:19a0:120::/64, - 2a09:bac1:19a0:128::/64, - 2a09:bac1:19a0:130::/64, - 2a09:bac1:19a0:138::/64, - 2a09:bac1:19a0:140::/64, - 2a09:bac1:19a0:148::/64, - 2a09:bac1:19a0:150::/64, - 2a09:bac1:19a0:158::/64, - 2a09:bac1:19a0:160::/64, - 2a09:bac1:19a0:168::/64, - 2a09:bac1:19a0:170::/64, - 2a09:bac1:19a0:180::/64, - 2a09:bac1:19a0:188::/64, - 2a09:bac1:19a0:2fc8::/64, - 2a09:bac1:19a0:37b8::/64, - 2a09:bac1:19a0:3888::/64, - 2a09:bac1:19a0:3a78::/64, - 2a09:bac1:19a0:3b28::/64, - 2a09:bac1:19a0:3be0::/64, - 2a09:bac1:19a0:3c60::/64, - 2a09:bac1:19a0:3cc0::/64, - 2a09:bac1:19a0:3cd0::/64, - 2a09:bac1:19a0:3cf0::/64, - 2a09:bac1:19a0:3cf8::/64, - 2a09:bac1:19a0:3d78::/64, - 2a09:bac1:19a0:3e08::/64, - 2a09:bac1:19a0:3ec8::/64, - 2a09:bac1:19a0:42d0::/64, - 2a09:bac1:19a0:44a0::/64, - 2a09:bac1:19a0:49a8::/64, - 2a09:bac1:19a0:63b0::/64, - 2a09:bac1:19a0:65a0::/64, - 2a09:bac1:19a0:6848::/64, - 2a09:bac1:19a0:6ac0::/64, - 2a09:bac1:19a0:6c48::/64, - 2a09:bac1:19a0:6ce0::/64, - 2a09:bac1:19a0:6f00::/64, - 2a09:bac1:19a0:6f60::/64, - 2a09:bac1:19a0:6fe0::/64, - 2a09:bac1:19a0:72d8::/64, - 2a09:bac1:19a0:74d0::/64, - 2a09:bac1:19a0:7570::/64, - 2a09:bac1:19a0:76d8::/64, - 2a09:bac1:19a0:76e8::/64, - 2a09:bac1:19a0:7818::/64, - 2a09:bac1:19a0:79f8::/64, - 2a09:bac1:19a0:7be8::/64, - 2a09:bac1:19a0:7d28::/64, - 2a09:bac1:19a0:7f10::/64, - 2a09:bac1:19a0:7fe0::/64, - 2a09:bac1:19a0:8120::/64, - 2a09:bac1:19a0:8588::/64, - 2a09:bac1:19a0:8600::/64, - 2a09:bac1:19a0:8620::/64, - 2a09:bac1:19a0:8790::/64, - 2a09:bac1:19a0:8888::/64, - 2a09:bac1:19a0:88f8::/64, - 2a09:bac1:19a0:8918::/64, - 2a09:bac1:19a0:8d10::/64, - 2a09:bac1:19a0:8d40::/64, - 2a09:bac1:19a0:9018::/64, - 2a09:bac1:19a0:9318::/64, - 2a09:bac1:19a0:9498::/64, - 2a09:bac1:19a0:95d0::/64, - 2a09:bac1:19a0:9678::/64, - 2a09:bac1:19a0:96a0::/64, - 2a09:bac1:19a0:9b88::/64, - 2a09:bac1:19a0:9c50::/64, - 2a09:bac1:19a0:9f60::/64, - 2a09:bac1:19a0:a020::/64, - 2a09:bac1:19a0:ab78::/64, - 2a09:bac1:19a0:b848::/64, - 2a09:bac1:19a0:baa0::/64, - 2a09:bac1:19a0:bb18::/64, - 2a09:bac1:19a0:bbe0::/64, - 2a09:bac1:19a0:bc78::/64, - 2a09:bac1:19a0:bd30::/64, - 2a09:bac1:19a0:be80::/64, - 2a09:bac1:19a0:c3b0::/64, - 2a09:bac1:19a0:c428::/64, - 2a09:bac1:19a0:c448::/64, - 2a09:bac1:19a0:c770::/64, - 2a09:bac1:19a0:c800::/64, - 2a09:bac1:19a0:c850::/64, - 2a09:bac1:19a0:ca10::/64, - 2a09:bac1:19a0:cbc0::/64, - 2a09:bac1:19a0:d138::/64, - 2a09:bac1:19a0:d798::/64, - 2a09:bac1:19a0:d7c0::/64, - 2a09:bac1:19a0:d820::/64, - 2a09:bac1:19a0:d8a0::/64, - 2a09:bac1:19a0:d948::/64, - 2a09:bac1:19a0:da38::/64, - 2a09:bac1:19a0:dc00::/64, - 2a09:bac1:19a0:dc08::/64, - 2a09:bac1:19a0:dc28::/64, - 2a09:bac1:19a0:dce0::/64, - 2a09:bac1:19a0:dde8::/64, - 2a09:bac1:19a0:ddf8::/64, - 2a09:bac1:19a0:de20::/64, - 2a09:bac1:19a0:deb0::/64, - 2a09:bac1:19a0:e1e0::/64, - 2a09:bac1:19a0:e220::/64, - 2a09:bac1:19a0:e250::/64, - 2a09:bac1:19a0:e438::/64, - 2a09:bac1:19a0:e558::/64, - 2a09:bac1:19a0:e690::/64, - 2a09:bac1:19a0:e698::/64, - 2a09:bac1:19a0:e728::/64, - 2a09:bac1:19a0:e790::/64, - 2a09:bac1:19a0:e7b8::/64, - 2a09:bac1:19a0:e7e0::/64, - 2a09:bac1:19a0:ea28::/64, - 2a09:bac1:19a0:ea30::/64, - 2a09:bac1:19a0:ea48::/64, - 2a09:bac1:19a0:edc8::/64, - 2a09:bac1:19a0:ee08::/64, - 2a09:bac1:19a0:ee10::/64, - 2a09:bac1:19a0:ee80::/64, - 2a09:bac1:19a0:ef48::/64, - 2a09:bac1:19a0:efa0::/64, - 2a09:bac1:19a0:eff8::/64, - 2a09:bac1:19a0:f058::/64, - 2a09:bac1:19a0:f3e8::/64, - 2a09:bac1:19a0:f528::/64, - 2a09:bac1:19a0:f920::/64, - 2a09:bac1:19a0:f9c8::/64, - 2a09:bac1:19a0:fae0::/64, - 2a09:bac1:19a0:fb10::/64, - 2a09:bac1:19a0:fb38::/64, - 2a09:bac1:19a0:fba8::/64, - 2a09:bac1:19a0:fc28::/64, - 2a09:bac1:19a0:fd38::/64, - 2a09:bac1:19a0:fd50::/64, - 2a09:bac1:19a0:fd80::/64, - 2a09:bac1:19a0:fdb0::/64, - 2a09:bac1:19a0:fdd8::/64, - 2a09:bac1:19a0:fe10::/64, - 2a09:bac1:19a0:fe38::/64, - 2a09:bac1:19a0:fe58::/64, - 2a09:bac1:19a0:ff10::/64, - 2a09:bac1:19a0:ff60::/64, - 2a09:bac1:19a0:ff88::/64, - 2a09:bac1:19a1:40::/64, - 2a09:bac1:19a1:a0::/64, - 2a09:bac1:19a1:c8::/64, - 2a09:bac1:19a1:110::/64, - 2a09:bac1:19a1:180::/64, - 2a09:bac1:19a1:188::/64, - 2a09:bac1:19a1:1a8::/64, - 2a09:bac1:19a1:260::/64, - 2a09:bac1:19a1:2f0::/64, - 2a09:bac1:19a1:320::/64, - 2a09:bac1:19a1:6d0::/64, - 2a09:bac1:19a1:708::/64, - 2a09:bac1:19a1:760::/64, - 2a09:bac1:19a1:800::/64, - 2a09:bac1:19a1:840::/64, - 2a09:bac1:19a1:8f0::/64, - 2a09:bac1:19a1:9d0::/64, - 2a09:bac1:19a1:aa0::/64, - 2a09:bac1:19a1:b18::/64, - 2a09:bac1:19a1:b68::/64, - 2a09:bac1:19a1:bd0::/64, - 2a09:bac1:19a1:bd8::/64, - 2a09:bac1:19a1:c38::/64, - 2a09:bac1:19a1:c48::/64, - 2a09:bac1:19a1:c78::/64, - 2a09:bac1:19a1:d58::/64, - 2a09:bac1:19a1:da8::/64, - 2a09:bac1:19a1:dd8::/64, - 2a09:bac1:19a1:ec8::/64, - 2a09:bac1:19a1:1018::/64, - 2a09:bac1:19a1:1150::/64, - 2a09:bac1:19a1:1168::/64, - 2a09:bac1:19a1:11a0::/64, - 2a09:bac1:19a1:11f8::/64, - 2a09:bac1:19a1:1270::/64, - 2a09:bac1:19a1:1358::/64, - 2a09:bac1:19a1:1388::/64, - 2a09:bac1:19a1:13a0::/64, - 2a09:bac1:19a1:1478::/64, - 2a09:bac1:19a1:1628::/64, - 2a09:bac1:19a1:16b0::/64, - 2a09:bac1:19a1:1718::/64, - 2a09:bac1:19a1:1740::/64, - 2a09:bac1:19a1:1788::/64, - 2a09:bac1:19a1:1790::/64, - 2a09:bac1:19a1:19d0::/64, - 2a09:bac1:19a1:1a18::/64, - 2a09:bac1:19a1:1a60::/64, - 2a09:bac1:19a1:1dd8::/64, - 2a09:bac1:19a1:1ec8::/64, - 2a09:bac1:19a1:2620::/64, - 2a09:bac1:19a1:2858::/64, - 2a09:bac1:19a1:2a28::/64, - 2a09:bac1:19a1:2a50::/64, - 2a09:bac1:19a1:2b80::/64, - 2a09:bac1:19a1:3198::/64, - 2a09:bac1:19a1:3388::/64, - 2a09:bac1:19a1:33b0::/64, - 2a09:bac1:19a1:34e0::/64, - 2a09:bac1:19a1:3d88::/64, - 2a09:bac1:19a1:4170::/64, - 2a09:bac1:19a1:4a70::/64, - 2a09:bac1:19a1:4ad0::/64, - 2a09:bac1:19a1:4cf8::/64, - 2a09:bac1:19a1:4e90::/64, - 2a09:bac1:19a1:5060::/64, - 2a09:bac1:19a1:51b0::/64, - 2a09:bac1:19a1:5688::/64, - 2a09:bac1:19a1:57e0::/64, - 2a09:bac1:19a1:5930::/64, - 2a09:bac1:19a1:5998::/64, - 2a09:bac1:19c0::/64, - 2a09:bac1:19c0:8::/64, - 2a09:bac1:19c0:10::/64, - 2a09:bac1:19c0:18::/64, - 2a09:bac1:19c0:20::/64, - 2a09:bac1:19c0:28::/64, - 2a09:bac1:19c0:30::/64, - 2a09:bac1:19c0:38::/64, - 2a09:bac1:19c0:40::/64, - 2a09:bac1:19c0:48::/64, - 2a09:bac1:19c0:50::/64, - 2a09:bac1:19c0:58::/64, - 2a09:bac1:19c0:60::/64, - 2a09:bac1:19c0:68::/64, - 2a09:bac1:19c0:78::/64, - 2a09:bac1:19c0:80::/64, - 2a09:bac1:19c0:88::/64, - 2a09:bac1:19c0:90::/64, - 2a09:bac1:19c0:98::/64, - 2a09:bac1:19c0:a0::/64, - 2a09:bac1:19c0:a8::/64, - 2a09:bac1:19c0:b0::/64, - 2a09:bac1:19c0:b8::/64, - 2a09:bac1:19c0:c0::/64, - 2a09:bac1:19c0:c8::/64, - 2a09:bac1:19c0:d0::/64, - 2a09:bac1:19c0:d8::/64, - 2a09:bac1:19c0:e0::/64, - 2a09:bac1:19c0:e8::/64, - 2a09:bac1:19c0:f0::/64, - 2a09:bac1:19c0:f8::/64, - 2a09:bac1:19c0:100::/64, - 2a09:bac1:19c0:108::/64, - 2a09:bac1:19c0:110::/64, - 2a09:bac1:19c0:118::/64, - 2a09:bac1:19c0:120::/64, - 2a09:bac1:19c0:128::/64, - 2a09:bac1:19c0:130::/64, - 2a09:bac1:19c0:138::/64, - 2a09:bac1:19c0:140::/64, - 2a09:bac1:19c0:148::/64, - 2a09:bac1:19c0:150::/64, - 2a09:bac1:19c0:158::/64, - 2a09:bac1:19c0:160::/64, - 2a09:bac1:19c0:168::/64, - 2a09:bac1:19c0:170::/64, - 2a09:bac1:19c0:180::/64, - 2a09:bac1:19c0:188::/64, - 2a09:bac1:19c0:2fc8::/64, - 2a09:bac1:19c0:37b8::/64, - 2a09:bac1:19c0:3888::/64, - 2a09:bac1:19c0:3a78::/64, - 2a09:bac1:19c0:3b28::/64, - 2a09:bac1:19c0:3be0::/64, - 2a09:bac1:19c0:3c60::/64, - 2a09:bac1:19c0:3cc0::/64, - 2a09:bac1:19c0:3cd0::/64, - 2a09:bac1:19c0:3cf0::/64, - 2a09:bac1:19c0:3cf8::/64, - 2a09:bac1:19c0:3d78::/64, - 2a09:bac1:19c0:3e08::/64, - 2a09:bac1:19c0:3ec8::/64, - 2a09:bac1:19c0:42d0::/64, - 2a09:bac1:19c0:44a0::/64, - 2a09:bac1:19c0:49a8::/64, - 2a09:bac1:19c0:63b0::/64, - 2a09:bac1:19c0:65a0::/64, - 2a09:bac1:19c0:6848::/64, - 2a09:bac1:19c0:6ac0::/64, - 2a09:bac1:19c0:6c48::/64, - 2a09:bac1:19c0:6ce0::/64, - 2a09:bac1:19c0:6f00::/64, - 2a09:bac1:19c0:6f60::/64, - 2a09:bac1:19c0:6fe0::/64, - 2a09:bac1:19c0:72d8::/64, - 2a09:bac1:19c0:74d0::/64, - 2a09:bac1:19c0:7570::/64, - 2a09:bac1:19c0:76d8::/64, - 2a09:bac1:19c0:76e8::/64, - 2a09:bac1:19c0:7818::/64, - 2a09:bac1:19c0:79f8::/64, - 2a09:bac1:19c0:7be8::/64, - 2a09:bac1:19c0:7d28::/64, - 2a09:bac1:19c0:7f10::/64, - 2a09:bac1:19c0:7fe0::/64, - 2a09:bac1:19c0:8120::/64, - 2a09:bac1:19c0:8588::/64, - 2a09:bac1:19c0:8600::/64, - 2a09:bac1:19c0:8620::/64, - 2a09:bac1:19c0:8790::/64, - 2a09:bac1:19c0:8888::/64, - 2a09:bac1:19c0:88f8::/64, - 2a09:bac1:19c0:8918::/64, - 2a09:bac1:19c0:8d10::/64, - 2a09:bac1:19c0:8d40::/64, - 2a09:bac1:19c0:9018::/64, - 2a09:bac1:19c0:9318::/64, - 2a09:bac1:19c0:9498::/64, - 2a09:bac1:19c0:95d0::/64, - 2a09:bac1:19c0:9678::/64, - 2a09:bac1:19c0:96a0::/64, - 2a09:bac1:19c0:9b88::/64, - 2a09:bac1:19c0:9c50::/64, - 2a09:bac1:19c0:9f60::/64, - 2a09:bac1:19c0:a020::/64, - 2a09:bac1:19c0:ab78::/64, - 2a09:bac1:19c0:b848::/64, - 2a09:bac1:19c0:baa0::/64, - 2a09:bac1:19c0:bb18::/64, - 2a09:bac1:19c0:bbe0::/64, - 2a09:bac1:19c0:bc78::/64, - 2a09:bac1:19c0:bd30::/64, - 2a09:bac1:19c0:be80::/64, - 2a09:bac1:19c0:c3b0::/64, - 2a09:bac1:19c0:c428::/64, - 2a09:bac1:19c0:c448::/64, - 2a09:bac1:19c0:c770::/64, - 2a09:bac1:19c0:c800::/64, - 2a09:bac1:19c0:c850::/64, - 2a09:bac1:19c0:ca10::/64, - 2a09:bac1:19c0:cbc0::/64, - 2a09:bac1:19c0:d138::/64, - 2a09:bac1:19c0:d798::/64, - 2a09:bac1:19c0:d7c0::/64, - 2a09:bac1:19c0:d820::/64, - 2a09:bac1:19c0:d8a0::/64, - 2a09:bac1:19c0:d948::/64, - 2a09:bac1:19c0:da38::/64, - 2a09:bac1:19c0:dc00::/64, - 2a09:bac1:19c0:dc08::/64, - 2a09:bac1:19c0:dc28::/64, - 2a09:bac1:19c0:dce0::/64, - 2a09:bac1:19c0:dde8::/64, - 2a09:bac1:19c0:ddf8::/64, - 2a09:bac1:19c0:de20::/64, - 2a09:bac1:19c0:deb0::/64, - 2a09:bac1:19c0:e1e0::/64, - 2a09:bac1:19c0:e220::/64, - 2a09:bac1:19c0:e250::/64, - 2a09:bac1:19c0:e438::/64, - 2a09:bac1:19c0:e558::/64, - 2a09:bac1:19c0:e690::/64, - 2a09:bac1:19c0:e698::/64, - 2a09:bac1:19c0:e728::/64, - 2a09:bac1:19c0:e790::/64, - 2a09:bac1:19c0:e7b8::/64, - 2a09:bac1:19c0:e7e0::/64, - 2a09:bac1:19c0:ea28::/64, - 2a09:bac1:19c0:ea30::/64, - 2a09:bac1:19c0:ea48::/64, - 2a09:bac1:19c0:edc8::/64, - 2a09:bac1:19c0:ee08::/64, - 2a09:bac1:19c0:ee10::/64, - 2a09:bac1:19c0:ee80::/64, - 2a09:bac1:19c0:ef48::/64, - 2a09:bac1:19c0:efa0::/64, - 2a09:bac1:19c0:eff8::/64, - 2a09:bac1:19c0:f058::/64, - 2a09:bac1:19c0:f3e8::/64, - 2a09:bac1:19c0:f528::/64, - 2a09:bac1:19c0:f920::/64, - 2a09:bac1:19c0:f9c8::/64, - 2a09:bac1:19c0:fae0::/64, - 2a09:bac1:19c0:fb10::/64, - 2a09:bac1:19c0:fb38::/64, - 2a09:bac1:19c0:fba8::/64, - 2a09:bac1:19c0:fc28::/64, - 2a09:bac1:19c0:fd38::/64, - 2a09:bac1:19c0:fd50::/64, - 2a09:bac1:19c0:fd80::/64, - 2a09:bac1:19c0:fdb0::/64, - 2a09:bac1:19c0:fdd8::/64, - 2a09:bac1:19c0:fe10::/64, - 2a09:bac1:19c0:fe38::/64, - 2a09:bac1:19c0:fe58::/64, - 2a09:bac1:19c0:ff10::/64, - 2a09:bac1:19c0:ff60::/64, - 2a09:bac1:19c0:ff88::/64, - 2a09:bac1:19c1:40::/64, - 2a09:bac1:19c1:a0::/64, - 2a09:bac1:19c1:c8::/64, - 2a09:bac1:19c1:110::/64, - 2a09:bac1:19c1:180::/64, - 2a09:bac1:19c1:188::/64, - 2a09:bac1:19c1:1a8::/64, - 2a09:bac1:19c1:260::/64, - 2a09:bac1:19c1:2f0::/64, - 2a09:bac1:19c1:320::/64, - 2a09:bac1:19c1:6d0::/64, - 2a09:bac1:19c1:708::/64, - 2a09:bac1:19c1:760::/64, - 2a09:bac1:19c1:800::/64, - 2a09:bac1:19c1:840::/64, - 2a09:bac1:19c1:8f0::/64, - 2a09:bac1:19c1:9d0::/64, - 2a09:bac1:19c1:aa0::/64, - 2a09:bac1:19c1:b18::/64, - 2a09:bac1:19c1:b68::/64, - 2a09:bac1:19c1:bd0::/64, - 2a09:bac1:19c1:bd8::/64, - 2a09:bac1:19c1:c38::/64, - 2a09:bac1:19c1:c48::/64, - 2a09:bac1:19c1:c78::/64, - 2a09:bac1:19c1:d58::/64, - 2a09:bac1:19c1:da8::/64, - 2a09:bac1:19c1:dd8::/64, - 2a09:bac1:19c1:ec8::/64, - 2a09:bac1:19c1:1018::/64, - 2a09:bac1:19c1:1150::/64, - 2a09:bac1:19c1:1168::/64, - 2a09:bac1:19c1:11a0::/64, - 2a09:bac1:19c1:11f8::/64, - 2a09:bac1:19c1:1270::/64, - 2a09:bac1:19c1:1358::/64, - 2a09:bac1:19c1:1388::/64, - 2a09:bac1:19c1:13a0::/64, - 2a09:bac1:19c1:1478::/64, - 2a09:bac1:19c1:1628::/64, - 2a09:bac1:19c1:16b0::/64, - 2a09:bac1:19c1:1718::/64, - 2a09:bac1:19c1:1740::/64, - 2a09:bac1:19c1:1788::/64, - 2a09:bac1:19c1:1790::/64, - 2a09:bac1:19c1:19d0::/64, - 2a09:bac1:19c1:1a18::/64, - 2a09:bac1:19c1:1a60::/64, - 2a09:bac1:19c1:1dd8::/64, - 2a09:bac1:19c1:1ec8::/64, - 2a09:bac1:19c1:2620::/64, - 2a09:bac1:19c1:2858::/64, - 2a09:bac1:19c1:2a28::/64, - 2a09:bac1:19c1:2a50::/64, - 2a09:bac1:19c1:2b80::/64, - 2a09:bac1:19c1:3198::/64, - 2a09:bac1:19c1:3388::/64, - 2a09:bac1:19c1:33b0::/64, - 2a09:bac1:19c1:34e0::/64, - 2a09:bac1:19c1:3d88::/64, - 2a09:bac1:19c1:4170::/64, - 2a09:bac1:19c1:4a70::/64, - 2a09:bac1:19c1:4ad0::/64, - 2a09:bac1:19c1:4cf8::/64, - 2a09:bac1:19c1:4e90::/64, - 2a09:bac1:19c1:5060::/64, - 2a09:bac1:19c1:51b0::/64, - 2a09:bac1:19c1:5688::/64, - 2a09:bac1:19c1:57e0::/64, - 2a09:bac1:19c1:5930::/64, - 2a09:bac1:19c1:5998::/64, - 2a09:bac1:19e0::/64, - 2a09:bac1:19e0:8::/64, - 2a09:bac1:19e0:10::/64, - 2a09:bac1:19e0:18::/64, - 2a09:bac1:19e0:20::/64, - 2a09:bac1:19e0:28::/64, - 2a09:bac1:19e0:30::/64, - 2a09:bac1:19e0:38::/64, - 2a09:bac1:19e0:40::/64, - 2a09:bac1:19e0:48::/64, - 2a09:bac1:19e0:50::/64, - 2a09:bac1:19e0:58::/64, - 2a09:bac1:19e0:60::/64, - 2a09:bac1:19e0:68::/64, - 2a09:bac1:19e0:78::/64, - 2a09:bac1:19e0:80::/64, - 2a09:bac1:19e0:88::/64, - 2a09:bac1:19e0:90::/64, - 2a09:bac1:19e0:98::/64, - 2a09:bac1:19e0:a0::/64, - 2a09:bac1:19e0:a8::/64, - 2a09:bac1:19e0:b0::/64, - 2a09:bac1:19e0:b8::/64, - 2a09:bac1:19e0:c0::/64, - 2a09:bac1:19e0:c8::/64, - 2a09:bac1:19e0:d0::/64, - 2a09:bac1:19e0:d8::/64, - 2a09:bac1:19e0:e0::/64, - 2a09:bac1:19e0:e8::/64, - 2a09:bac1:19e0:f0::/64, - 2a09:bac1:19e0:f8::/64, - 2a09:bac1:19e0:100::/64, - 2a09:bac1:19e0:108::/64, - 2a09:bac1:19e0:110::/64, - 2a09:bac1:19e0:118::/64, - 2a09:bac1:19e0:120::/64, - 2a09:bac1:19e0:128::/64, - 2a09:bac1:19e0:130::/64, - 2a09:bac1:19e0:138::/64, - 2a09:bac1:19e0:140::/64, - 2a09:bac1:19e0:148::/64, - 2a09:bac1:19e0:150::/64, - 2a09:bac1:19e0:158::/64, - 2a09:bac1:19e0:160::/64, - 2a09:bac1:19e0:168::/64, - 2a09:bac1:19e0:170::/64, - 2a09:bac1:19e0:180::/64, - 2a09:bac1:19e0:188::/64, - 2a09:bac1:19e0:2fc8::/64, - 2a09:bac1:19e0:37b8::/64, - 2a09:bac1:19e0:3888::/64, - 2a09:bac1:19e0:3a78::/64, - 2a09:bac1:19e0:3b28::/64, - 2a09:bac1:19e0:3be0::/64, - 2a09:bac1:19e0:3c60::/64, - 2a09:bac1:19e0:3cc0::/64, - 2a09:bac1:19e0:3cd0::/64, - 2a09:bac1:19e0:3cf0::/64, - 2a09:bac1:19e0:3cf8::/64, - 2a09:bac1:19e0:3d78::/64, - 2a09:bac1:19e0:3e08::/64, - 2a09:bac1:19e0:3ec8::/64, - 2a09:bac1:19e0:42d0::/64, - 2a09:bac1:19e0:44a0::/64, - 2a09:bac1:19e0:49a8::/64, - 2a09:bac1:19e0:63b0::/64, - 2a09:bac1:19e0:65a0::/64, - 2a09:bac1:19e0:6848::/64, - 2a09:bac1:19e0:6ac0::/64, - 2a09:bac1:19e0:6c48::/64, - 2a09:bac1:19e0:6ce0::/64, - 2a09:bac1:19e0:6f00::/64, - 2a09:bac1:19e0:6f60::/64, - 2a09:bac1:19e0:6fe0::/64, - 2a09:bac1:19e0:72d8::/64, - 2a09:bac1:19e0:74d0::/64, - 2a09:bac1:19e0:7570::/64, - 2a09:bac1:19e0:76d8::/64, - 2a09:bac1:19e0:76e8::/64, - 2a09:bac1:19e0:7818::/64, - 2a09:bac1:19e0:79f8::/64, - 2a09:bac1:19e0:7be8::/64, - 2a09:bac1:19e0:7d28::/64, - 2a09:bac1:19e0:7f10::/64, - 2a09:bac1:19e0:7fe0::/64, - 2a09:bac1:19e0:8120::/64, - 2a09:bac1:19e0:8588::/64, - 2a09:bac1:19e0:8600::/64, - 2a09:bac1:19e0:8620::/64, - 2a09:bac1:19e0:8790::/64, - 2a09:bac1:19e0:8888::/64, - 2a09:bac1:19e0:88f8::/64, - 2a09:bac1:19e0:8918::/64, - 2a09:bac1:19e0:8d10::/64, - 2a09:bac1:19e0:8d40::/64, - 2a09:bac1:19e0:9018::/64, - 2a09:bac1:19e0:9318::/64, - 2a09:bac1:19e0:9498::/64, - 2a09:bac1:19e0:95d0::/64, - 2a09:bac1:19e0:9678::/64, - 2a09:bac1:19e0:96a0::/64, - 2a09:bac1:19e0:9b88::/64, - 2a09:bac1:19e0:9c50::/64, - 2a09:bac1:19e0:9f60::/64, - 2a09:bac1:19e0:a020::/64, - 2a09:bac1:19e0:ab78::/64, - 2a09:bac1:19e0:b848::/64, - 2a09:bac1:19e0:baa0::/64, - 2a09:bac1:19e0:bb18::/64, - 2a09:bac1:19e0:bbe0::/64, - 2a09:bac1:19e0:bc78::/64, - 2a09:bac1:19e0:bd30::/64, - 2a09:bac1:19e0:be80::/64, - 2a09:bac1:19e0:c3b0::/64, - 2a09:bac1:19e0:c428::/64, - 2a09:bac1:19e0:c448::/64, - 2a09:bac1:19e0:c770::/64, - 2a09:bac1:19e0:c800::/64, - 2a09:bac1:19e0:c850::/64, - 2a09:bac1:19e0:ca10::/64, - 2a09:bac1:19e0:cbc0::/64, - 2a09:bac1:19e0:d138::/64, - 2a09:bac1:19e0:d798::/64, - 2a09:bac1:19e0:d7c0::/64, - 2a09:bac1:19e0:d820::/64, - 2a09:bac1:19e0:d8a0::/64, - 2a09:bac1:19e0:d948::/64, - 2a09:bac1:19e0:da38::/64, - 2a09:bac1:19e0:dc00::/64, - 2a09:bac1:19e0:dc08::/64, - 2a09:bac1:19e0:dc28::/64, - 2a09:bac1:19e0:dce0::/64, - 2a09:bac1:19e0:dde8::/64, - 2a09:bac1:19e0:ddf8::/64, - 2a09:bac1:19e0:de20::/64, - 2a09:bac1:19e0:deb0::/64, - 2a09:bac1:19e0:e1e0::/64, - 2a09:bac1:19e0:e220::/64, - 2a09:bac1:19e0:e250::/64, - 2a09:bac1:19e0:e438::/64, - 2a09:bac1:19e0:e558::/64, - 2a09:bac1:19e0:e690::/64, - 2a09:bac1:19e0:e698::/64, - 2a09:bac1:19e0:e728::/64, - 2a09:bac1:19e0:e790::/64, - 2a09:bac1:19e0:e7b8::/64, - 2a09:bac1:19e0:e7e0::/64, - 2a09:bac1:19e0:ea28::/64, - 2a09:bac1:19e0:ea30::/64, - 2a09:bac1:19e0:ea48::/64, - 2a09:bac1:19e0:edc8::/64, - 2a09:bac1:19e0:ee08::/64, - 2a09:bac1:19e0:ee10::/64, - 2a09:bac1:19e0:ee80::/64, - 2a09:bac1:19e0:ef48::/64, - 2a09:bac1:19e0:efa0::/64, - 2a09:bac1:19e0:eff8::/64, - 2a09:bac1:19e0:f058::/64, - 2a09:bac1:19e0:f3e8::/64, - 2a09:bac1:19e0:f528::/64, - 2a09:bac1:19e0:f920::/64, - 2a09:bac1:19e0:f9c8::/64, - 2a09:bac1:19e0:fae0::/64, - 2a09:bac1:19e0:fb10::/64, - 2a09:bac1:19e0:fb38::/64, - 2a09:bac1:19e0:fba8::/64, - 2a09:bac1:19e0:fc28::/64, - 2a09:bac1:19e0:fd38::/64, - 2a09:bac1:19e0:fd50::/64, - 2a09:bac1:19e0:fd80::/64, - 2a09:bac1:19e0:fdb0::/64, - 2a09:bac1:19e0:fdd8::/64, - 2a09:bac1:19e0:fe10::/64, - 2a09:bac1:19e0:fe38::/64, - 2a09:bac1:19e0:fe58::/64, - 2a09:bac1:19e0:ff10::/64, - 2a09:bac1:19e0:ff60::/64, - 2a09:bac1:19e0:ff88::/64, - 2a09:bac1:19e1:40::/64, - 2a09:bac1:19e1:a0::/64, - 2a09:bac1:19e1:c8::/64, - 2a09:bac1:19e1:110::/64, - 2a09:bac1:19e1:180::/64, - 2a09:bac1:19e1:188::/64, - 2a09:bac1:19e1:1a8::/64, - 2a09:bac1:19e1:260::/64, - 2a09:bac1:19e1:2f0::/64, - 2a09:bac1:19e1:320::/64, - 2a09:bac1:19e1:6d0::/64, - 2a09:bac1:19e1:708::/64, - 2a09:bac1:19e1:760::/64, - 2a09:bac1:19e1:800::/64, - 2a09:bac1:19e1:840::/64, - 2a09:bac1:19e1:8f0::/64, - 2a09:bac1:19e1:9d0::/64, - 2a09:bac1:19e1:aa0::/64, - 2a09:bac1:19e1:b18::/64, - 2a09:bac1:19e1:b68::/64, - 2a09:bac1:19e1:bd0::/64, - 2a09:bac1:19e1:bd8::/64, - 2a09:bac1:19e1:c38::/64, - 2a09:bac1:19e1:c48::/64, - 2a09:bac1:19e1:c78::/64, - 2a09:bac1:19e1:d58::/64, - 2a09:bac1:19e1:da8::/64, - 2a09:bac1:19e1:dd8::/64, - 2a09:bac1:19e1:ec8::/64, - 2a09:bac1:19e1:1018::/64, - 2a09:bac1:19e1:1150::/64, - 2a09:bac1:19e1:1168::/64, - 2a09:bac1:19e1:11a0::/64, - 2a09:bac1:19e1:11f8::/64, - 2a09:bac1:19e1:1270::/64, - 2a09:bac1:19e1:1358::/64, - 2a09:bac1:19e1:1388::/64, - 2a09:bac1:19e1:13a0::/64, - 2a09:bac1:19e1:1478::/64, - 2a09:bac1:19e1:1628::/64, - 2a09:bac1:19e1:16b0::/64, - 2a09:bac1:19e1:1718::/64, - 2a09:bac1:19e1:1740::/64, - 2a09:bac1:19e1:1788::/64, - 2a09:bac1:19e1:1790::/64, - 2a09:bac1:19e1:19d0::/64, - 2a09:bac1:19e1:1a18::/64, - 2a09:bac1:19e1:1a60::/64, - 2a09:bac1:19e1:1dd8::/64, - 2a09:bac1:19e1:1ec8::/64, - 2a09:bac1:19e1:2620::/64, - 2a09:bac1:19e1:2858::/64, - 2a09:bac1:19e1:2a28::/64, - 2a09:bac1:19e1:2a50::/64, - 2a09:bac1:19e1:2b80::/64, - 2a09:bac1:19e1:3198::/64, - 2a09:bac1:19e1:3388::/64, - 2a09:bac1:19e1:33b0::/64, - 2a09:bac1:19e1:34e0::/64, - 2a09:bac1:19e1:3d88::/64, - 2a09:bac1:19e1:4170::/64, - 2a09:bac1:19e1:4a70::/64, - 2a09:bac1:19e1:4ad0::/64, - 2a09:bac1:19e1:4cf8::/64, - 2a09:bac1:19e1:4e90::/64, - 2a09:bac1:19e1:5060::/64, - 2a09:bac1:19e1:51b0::/64, - 2a09:bac1:19e1:5688::/64, - 2a09:bac1:19e1:57e0::/64, - 2a09:bac1:19e1:5930::/64, - 2a09:bac1:19e1:5998::/64, - 2a09:bac2:1eb8::/45, - 2a09:bac2:1ec0::/42, - 2a09:bac2:1f00::/40, - 2a09:bac2:2000::/38, - 2a09:bac2:2400::/39, - 2a09:bac2:2600::/41, - 2a09:bac2:d440::/45, - 2a09:bac2:d4f0::/44, - 2a09:bac3:1eb8::/45, - 2a09:bac3:1ec0::/42, - 2a09:bac3:1f00::/40, - 2a09:bac3:2000::/38, - 2a09:bac3:2400::/39, - 2a09:bac3:2600::/41, - 2a09:bac3:d440::/45, - 2a09:bac3:d4f0::/44, - 2a09:bac4:178::/45, - 2a09:bac4:1178::/45, - 2a09:bac5:1ee8::/45, - 2a09:bac5:1ef0::/44, - 2a09:bac5:1f00::/40, - 2a09:bac5:2000::/38, - 2a09:bac5:2400::/39, - 2a09:bac5:2600::/41, - 2a09:bac5:2680::/43, - 2a09:bac5:26a0::/44, - 2a09:bac5:d540::/45, - 2a09:bac5:d5f8::/45, - 2a09:bac5:d600::/45, - 2a09:bac6:1ee8::/45, - 2a09:bac6:1ef0::/44, - 2a09:bac6:1f00::/40, - 2a09:bac6:2000::/38, - 2a09:bac6:2400::/39, - 2a09:bac6:2600::/41, - 2a09:bac6:2680::/43, - 2a09:bac6:26a0::/44, - 2a09:bac6:d548::/45, - 2a09:bac6:d5f8::/45, - 2a09:bac6:d600::/45, - 2a09:be41:8c00::/38, - 2a09:be41:9000::/40, - 2a09:be41:f400::/39, - 2a09:be41:f600::/40, - 2a09:be43:8c00::/38, - 2a09:be43:9000::/40, - 2a09:be43:f400::/39, - 2a09:be43:f600::/40, - 2a09:be45:8c00::/38, - 2a09:be45:9000::/40, - 2a09:be45:f400::/39, - 2a09:be45:f600::/40, - 2a0a:2840::/30, - 2a0a:2844::/32, - 2a0a:2845::/33, - 2a0a:2845:8000::/35, - 2a0a:2845:aab8::/46, - 2a0a:2845:b000::/36, - 2a0a:2845:c000::/34, - 2a0a:2846::/31, - 2a0a:6040:d740::/48, - 2a0a:6040:ec00::/40, - 2a0a:6044:6600::/39, - 2a0a:6044:7a00::/40, - 2a0a:8e00:6000::/47, - 2a0a:8f40:9::/48, - 2a0a:9606:6000::/47, - 2a0b:b87:ffb5::/48, - 2a0b:2542::/48, - 2a0b:4340:550::/44, - 2a0b:4e07:b8::/47, - 2a0c:9a40:84e0::/48, - 2a0c:9a40:95bf:7000::/54, - 2a0c:9a40:95bf:7400::/56, - 2a0c:9a40:95bf:7500::/60, - 2a0c:9a40:95bf:7520::/59, - 2a0c:9a40:95bf:7540::/58, - 2a0c:9a40:95bf:7580::/57, - 2a0c:9a40:95bf:7600::/55, - 2a0c:9a40:95bf:7800::/55, - 2a0c:9a40:95bf:7a00::/56, - 2a0c:9a40:95bf:7b00::/58, - 2a0c:9a40:95bf:7b40::/59, - 2a0c:9a40:95bf:7b60::/60, - 2a0c:9a40:95bf:7b86::/63, - 2a0c:9a40:95bf:7b88::/61, - 2a0c:9a40:95bf:7b90::/60, - 2a0c:9a40:95bf:7ba0::/59, - 2a0c:9a40:95bf:7bc0::/58, - 2a0c:9a40:95bf:7c00::/55, - 2a0c:9a40:95bf:7e00::/56, - 2a0c:9a40:95bf:7f00::/57, - 2a0c:9a40:95bf:7f80::/58, - 2a0c:9a40:95bf:7fc0::/60, - 2a0c:9a40:95bf:7fd0::/61, - 2a0c:9a40:95bf:7fd8::/62, - 2a0c:9a40:95bf:7fdc::/63, - 2a0c:9a40:95bf:7fdf::/64, - 2a0c:9a40:95bf:7fe0::/59, - 2a0c:9a46:800::/43, - 2a0c:b641:571::/48, - 2a0c:b641:d40::/44, - 2a0d:6c2:1000::/40, - 2a0d:6c2:1600::/40, - 2a0d:2406:1c2e::/48, - 2a0d:2587:3501::/48, - 2a0d:2587:3502::/48, - 2a0e:46c4:294a::/48, - 2a0e:48c2:8c00::/38, - 2a0e:48c2:9000::/40, - 2a0e:48c2:f400::/39, - 2a0e:48c2:f600::/40, - 2a0e:7580::/34, - 2a0e:7580:4000::/38, - 2a0e:7580:4400::/40, - 2a0e:7580:4500::/41, - 2a0e:7580:4580::/44, - 2a0e:7580:4591::/48, - 2a0e:7580:4592::/47, - 2a0e:7580:4594::/46, - 2a0e:7580:4598::/45, - 2a0e:7580:45a0::/43, - 2a0e:7580:45c0::/42, - 2a0e:7580:4600::/39, - 2a0e:7580:4800::/37, - 2a0e:7580:5000::/36, - 2a0e:7580:6000::/35, - 2a0e:7580:8000::/33, - 2a0e:7582::/31, - 2a0e:7584::/30, - 2a0e:8f02:2182::/47, - 2a0e:8f02:f03d:1100::/56, - 2a0e:8f02:f046:5::/64, - 2a0e:8f02:f055::/48, - 2a0e:8f02:f058:156::/64, - 2a0e:8f02:f067::/48, - 2a0e:97c0:550::/44, - 2a0e:97c0:83f::/48, - 2a0e:9b00::/29, - 2a0e:aa01:1fff::/48, - 2a0e:aa06::/40, - 2a0e:aa06:300::/40, - 2a0e:aa06:406::/48, - 2a0e:aa06:40d::/48, - 2a0e:aa06:40e::/48, - 2a0e:aa06:440::/48, - 2a0e:aa06:490::/44, - 2a0e:aa06:4e0::/44, - 2a0e:aa06:500::/44, - 2a0e:aa06:520::/48, - 2a0e:aa06:525::/48, - 2a0e:aa06:541::/48, - 2a0e:aa07:e01b::/48, - 2a0e:aa07:e025::/48, - 2a0e:aa07:e030::/48, - 2a0e:aa07:e035::/48, - 2a0e:aa07:e039::/48, - 2a0e:aa07:e044::/48, - 2a0e:aa07:e051::/48, - 2a0e:aa07:e052::/48, - 2a0e:aa07:e0e0::/44, - 2a0e:aa07:e151::/48, - 2a0e:aa07:e16a::/48, - 2a0e:aa07:e192::/48, - 2a0e:aa07:e1a0::/44, - 2a0e:aa07:e1e2::/48, - 2a0e:aa07:e1e4::/48, - 2a0e:aa07:e200::/44, - 2a0e:aa07:e210::/48, - 2a0e:aa07:e21c::/47, - 2a0e:aa07:e220::/44, - 2a0e:aa07:f012::/48, - 2a0e:aa07:f0d0::/46, - 2a0e:aa07:f0d4::/47, - 2a0e:aa07:f0d8::/48, - 2a0e:aa07:f0de::/48, - 2a0e:b107:12b::/48, - 2a0e:b107:272::/48, - 2a0e:b107:740::/44, - 2a0e:b107:c10::/48, - 2a0e:b107:da0::/44, - 2a0e:b107:dce::/48, - 2a0e:b107:14a0::/44, - 2a0e:b107:16b0::/44, - 2a0e:b107:178d::/48, - 2a0e:b107:1a32:1000::/52, - 2a0e:b107:1a34::/48, - 2a0e:b107:2440::/44, - 2a0e:b107:2715::/48, - 2a0e:ec05:4600::/39, - 2a0e:ec05:4800::/41, - 2a0e:ec05:79c0::/42, - 2a0e:ec05:7a00::/40, - 2a0e:ec05:7b00::/42, - 2a0f:f44:6000::/47, - 2a0f:5707:ac00::/47, - 2a0f:7802:e0e0::/48, - 2a0f:7803:e300::/40, - 2a0f:7803:f5d0::/44, - 2a0f:7803:f5e0::/43, - 2a0f:7803:f680::/43, - 2a0f:7803:f6a0::/44, - 2a0f:7803:f7a0::/44, - 2a0f:7803:f7c0::/42, - 2a0f:7803:f800::/43, - 2a0f:7803:f840::/44, - 2a0f:7803:f860::/44, - 2a0f:7803:f8b0::/44, - 2a0f:7803:fa21::/48, - 2a0f:7803:fa22::/47, - 2a0f:7803:fa24::/46, - 2a0f:7803:faf3::/48, - 2a0f:7803:faf7::/48, - 2a0f:7803:fd00::/44, - 2a0f:7803:fd20::/43, - 2a0f:7803:fd40::/42, - 2a0f:7803:fd80::/41, - 2a0f:7803:fe41::/48, - 2a0f:7803:fe42::/47, - 2a0f:7803:fe44::/46, - 2a0f:7803:fe4a::/48, - 2a0f:7803:fe4c::/48, - 2a0f:7803:fe81::/48, - 2a0f:7803:fe82::/48, - 2a0f:7803:ff02:4000::/50, - 2a0f:7803:ff02:8000::/50, - 2a0f:7803:ff10:2000::/51, - 2a0f:7804:f650::/44, - 2a0f:7804:f9f0::/44, - 2a0f:7807::/32, - 2a0f:7d07::/32, - 2a0f:85c1:816::/48, - 2a0f:85c1:b3a::/48, - 2a0f:85c1:ba5::/48, - 2a0f:85c1:bba::/48, - 2a0f:85c1:bfe::/48, - 2a0f:9400:6110::/48, - 2a0f:9400:6163::/48, - 2a0f:9400:7700::/48, - 2a0f:ac00::/29, - 2a10:2f00:15a::/48, - 2a10:9007:5:3::/64, - 2a10:c5c1:f016::/48, - 2a10:cc40:190::/48, - 2a10:ccc0:d01::/48, - 2a12:3fc2:df11::/48, - 2a12:49c0:8c00::/38, - 2a12:49c0:9000::/40, - 2a12:49c0:f400::/39, - 2a12:49c0:f600::/40, - 2a12:49c2:8c00::/38, - 2a12:49c2:9000::/40, - 2a12:49c2:f400::/39, - 2a12:49c2:f600::/40, - 2a12:49c4:3180::/41, - 2a12:49c4:3200::/43, - 2a12:49c4:3e80::/42, - 2a12:49c4:3ec0::/43, - 2a12:49c4:8c00::/38, - 2a12:49c4:9000::/40, - 2a12:49c4:f400::/39, - 2a12:49c4:f600::/40, - 2a12:f8c3::/36, - 2a13:1800::/29, - 2a13:8b40::/29, - 2a13:a5c3:1080::/41, - 2a13:a5c3:1100::/42, - 2a13:a5c3:1200::/41, - 2a13:a5c3:1280::/42, - 2a13:a5c3:1300::/41, - 2a13:a5c3:1380::/43, - 2a13:a5c3:1400::/40, - 2a13:a5c3:1500::/41, - 2a13:a5c3:1580::/43, - 2a13:a5c3:1600::/41, - 2a13:a5c3:1700::/42, - 2a13:a5c3:1740::/43, - 2a13:a5c3:1800::/43, - 2a13:a5c3:1900::/43, - 2a13:a5c3:1940::/43, - 2a13:a5c3:1a00::/41, - 2a13:a5c3:d600::/44, - 2a13:a5c3:d622::/47, - 2a13:a5c3:d624::/46, - 2a13:a5c3:d628::/45, - 2a13:a5c3:d630::/44, - 2a13:a5c3:f1c0::/44, - 2a13:a5c3:ff21::/48, - 2a13:a5c3:ff50::/44, - 2a13:a5c6:9100::/40, - 2a13:a5c7:1604::/48, - 2a13:a5c7:1800::/40, - 2a13:a5c7:2100::/48, - 2a13:a5c7:2102::/48, - 2a13:a5c7:2110::/48, - 2a13:a5c7:2121::/48, - 2a13:a5c7:2301::/48, - 2a13:a5c7:2303::/48, - 2a13:a5c7:23c0::/42, - 2a13:a5c7:2530::/48, - 2a13:a5c7:25ff:2f00::/57, - 2a13:a5c7:25ff:2f80::/58, - 2a13:a5c7:25ff:2fd0::/60, - 2a13:a5c7:25ff:2fe0::/59, - 2a13:a5c7:2600::/40, - 2a13:a5c7:2801::/48, - 2a13:a5c7:2803::/48, - 2a13:a5c7:3100::/47, - 2a13:a5c7:3106::/48, - 2a13:aac4::/32, - 2a13:b487:42d0::/47, - 2a13:b487:42d2::/48, - 2a13:df85:be00::/48, - 2a14:7c0:4a01::/48, - 2a14:7c0:5208::/48, - 2a14:4b00:5c00::/38, - 2a14:4c41::/32, - 2a14:67c1:20::/44, - 2a14:67c1:70::/47, - 2a14:67c1:73::/48, - 2a14:67c1:703::/48, - 2a14:67c1:704::/48, - 2a14:67c1:800::/48, - 2a14:67c1:a010::/44, - 2a14:67c1:a020::/48, - 2a14:67c1:a023::/48, - 2a14:67c1:a024::/48, - 2a14:67c1:a02a::/48, - 2a14:67c1:a02f::/48, - 2a14:67c1:a061::/48, - 2a14:67c1:a090::/47, - 2a14:67c1:a100::/44, - 2a14:67c1:b000::/48, - 2a14:67c1:b065::/48, - 2a14:67c1:b066::/47, - 2a14:67c1:b068::/47, - 2a14:67c1:b100::/46, - 2a14:67c1:b104::/47, - 2a14:67c5:1000::/39, - 2a14:7580:9202::/47, - 2a14:7580:9205::/48, - 2a14:7580:9207::/48, - 2a14:7580:9400::/39, - 2a14:7580:9600::/47, - 2a14:7580:9603::/48, - 2a14:7580:9604::/47, - 2a14:7580:d000::/37, - 2a14:7580:d800::/39, - 2a14:7580:e200::/40, - 2a14:7580:e4c0::/48, - 2a14:7580:e4c3::/48, - 2a14:7580:fa00::/40, - 2a14:7580:fe00::/40, - 2a14:7581:b10::/48, - 2a14:7581:b20::/48, - 2a14:7581:b30::/48, - 2a14:7581:b32::/47, - 2a14:7581:b34::/46, - 2a14:7581:b40::/48, - 2a14:7581:b42::/47, - 2a14:7581:b52::/48, - 2a14:7581:b60::/48, - 2a14:7581:b62::/47, - 2a14:7581:b64::/48, - 2a14:7581:b72::/48, - 2a14:7581:bbb::/48, - 2a14:7581:9010::/44, - 2a14:7584::/36, - 2a14:7584:9000::/36, - 2c0f:f7a8:8011::/48, - 2c0f:f7a8:8050::/48, - 2c0f:f7a8:805f::/48, - 2c0f:f7a8:8150::/48, - 2c0f:f7a8:815f::/48, - 2c0f:f7a8:8211::/48, - 2c0f:f7a8:9010::/47, - 2c0f:f7a8:9020::/48, - 2c0f:f7a8:9041::/48, - 2c0f:f7a8:9210::/47, - 2c0f:f7a8:9220::/48 - } - } -} diff --git a/nikki/files/nftables/geoip_cn.nft b/nikki/files/nftables/geoip_cn.nft deleted file mode 100644 index ac81740e19..0000000000 --- a/nikki/files/nftables/geoip_cn.nft +++ /dev/null @@ -1,7363 +0,0 @@ -#!/usr/sbin/nft -f - -table inet nikki { - set china_ip { - type ipv4_addr - flags interval - elements = { - 1.0.1.0/24, - 1.0.2.0/23, - 1.0.8.0/21, - 1.0.32.0/19, - 1.1.0.0/24, - 1.1.2.0/23, - 1.1.4.0/22, - 1.1.8.0/21, - 1.1.16.0/20, - 1.1.32.0/19, - 1.2.0.0/23, - 1.2.2.0/24, - 1.2.4.0/22, - 1.2.8.0/21, - 1.2.16.0/20, - 1.2.32.0/19, - 1.2.64.0/18, - 1.3.0.0/16, - 1.4.1.0/24, - 1.4.2.0/23, - 1.4.4.0/22, - 1.4.8.0/21, - 1.4.16.0/20, - 1.4.32.0/19, - 1.4.64.0/18, - 1.8.0.0/16, - 1.10.0.0/21, - 1.10.8.0/23, - 1.10.11.0/24, - 1.10.12.0/22, - 1.10.16.0/20, - 1.10.32.0/19, - 1.10.64.0/18, - 1.12.0.0/14, - 1.18.128.0/24, - 1.24.0.0/13, - 1.45.0.0/16, - 1.48.0.0/14, - 1.56.0.0/13, - 1.68.0.0/14, - 1.80.0.0/12, - 1.116.0.0/15, - 1.118.1.0/24, - 1.118.2.0/23, - 1.118.4.0/22, - 1.118.8.0/21, - 1.118.16.0/20, - 1.118.32.0/19, - 1.118.64.0/18, - 1.118.128.0/17, - 1.119.0.0/16, - 1.180.0.0/14, - 1.184.0.0/15, - 1.188.0.0/14, - 1.192.0.0/13, - 1.202.0.0/15, - 1.204.0.0/14, - 5.10.138.0/23, - 5.10.140.0/24, - 5.10.143.0/24, - 5.154.136.0/23, - 5.154.155.54/31, - 5.154.155.58/31, - 5.154.156.38/31, - 5.154.156.42/31, - 5.154.156.50/31, - 5.154.156.54/31, - 8.25.82.0/24, - 8.38.121.0/24, - 8.45.52.0/24, - 8.45.176.0/24, - 8.48.85.0/24, - 8.128.0.0/10, - 13.104.184.80/28, - 14.0.0.0/21, - 14.0.12.0/22, - 14.1.0.0/22, - 14.1.24.0/22, - 14.1.108.0/22, - 14.16.0.0/12, - 14.102.128.0/22, - 14.102.156.0/22, - 14.102.180.0/22, - 14.103.0.0/16, - 14.104.0.0/13, - 14.112.0.0/12, - 14.130.0.0/15, - 14.134.0.0/15, - 14.144.0.0/12, - 14.192.61.0/24, - 14.192.62.0/23, - 14.192.76.0/22, - 14.196.0.0/15, - 14.204.0.0/15, - 14.208.0.0/12, - 15.32.104.0/23, - 15.36.64.0/22, - 15.36.75.0/24, - 15.36.76.0/22, - 15.36.101.0/24, - 15.36.102.0/24, - 15.36.116.0/23, - 15.40.80.0/23, - 15.40.83.0/24, - 15.79.88.0/22, - 15.89.164.0/22, - 15.230.41.0/24, - 15.230.49.0/24, - 15.230.141.0/24, - 15.248.5.228/30, - 16.2.142.0/23, - 17.85.6.64/29, - 17.85.34.0/25, - 17.85.38.72/31, - 17.85.164.128/25, - 17.85.192.0/20, - 17.87.0.0/21, - 17.87.9.0/24, - 17.87.10.0/23, - 17.87.12.0/23, - 17.87.16.32/27, - 17.87.16.64/26, - 17.87.16.128/25, - 17.87.17.0/24, - 17.87.18.0/23, - 17.87.20.0/22, - 17.87.24.0/21, - 17.87.72.224/31, - 17.87.112.0/21, - 17.87.138.160/31, - 17.87.144.16/28, - 17.87.145.192/27, - 17.87.245.0/24, - 17.88.2.16/28, - 17.88.73.0/31, - 17.88.75.0/24, - 17.88.80.160/31, - 17.88.96.144/31, - 17.88.104.64/31, - 17.88.108.0/23, - 17.88.112.126/31, - 17.88.118.0/27, - 17.88.207.192/32, - 17.93.8.0/21, - 17.93.24.0/21, - 17.93.48.0/20, - 17.93.64.0/20, - 17.93.96.0/19, - 17.93.136.0/21, - 17.93.152.0/21, - 17.93.184.0/21, - 17.93.200.0/21, - 17.93.208.0/20, - 17.93.224.0/22, - 17.93.232.0/21, - 17.94.0.22/32, - 17.94.0.54/32, - 17.94.0.93/32, - 17.94.3.0/31, - 17.94.3.248/29, - 17.94.16.0/20, - 17.94.32.0/19, - 17.94.64.0/18, - 17.94.128.0/18, - 17.94.192.0/19, - 17.94.224.0/20, - 17.94.240.0/21, - 17.127.128.0/23, - 17.127.130.0/24, - 17.235.160.0/20, - 23.161.8.0/24, - 27.0.128.0/21, - 27.0.160.0/21, - 27.0.188.0/22, - 27.0.204.0/22, - 27.0.208.0/21, - 27.8.0.0/13, - 27.16.0.0/12, - 27.34.232.0/21, - 27.36.0.0/14, - 27.40.0.0/13, - 27.50.40.0/21, - 27.50.128.0/17, - 27.54.72.0/21, - 27.54.152.0/21, - 27.54.192.0/18, - 27.98.208.0/20, - 27.98.224.0/19, - 27.103.0.0/16, - 27.106.128.0/18, - 27.106.204.0/22, - 27.109.32.0/19, - 27.109.124.0/22, - 27.112.0.0/18, - 27.112.80.0/20, - 27.112.112.0/21, - 27.113.128.0/18, - 27.115.0.0/17, - 27.116.44.0/22, - 27.121.72.0/21, - 27.121.120.0/21, - 27.128.0.0/15, - 27.131.220.0/22, - 27.144.0.0/16, - 27.148.0.0/14, - 27.152.0.0/13, - 27.184.0.0/13, - 27.192.0.0/11, - 27.224.0.0/14, - 31.56.124.0/24, - 31.57.182.0/24, - 31.57.222.0/23, - 36.0.0.0/22, - 36.0.8.0/21, - 36.0.16.0/20, - 36.0.32.0/19, - 36.0.64.0/18, - 36.1.0.0/16, - 36.4.0.0/14, - 36.16.0.0/12, - 36.32.0.0/14, - 36.36.0.0/16, - 36.37.0.0/19, - 36.37.36.0/23, - 36.37.39.0/24, - 36.37.40.0/21, - 36.37.48.0/20, - 36.40.0.0/13, - 36.48.0.0/15, - 36.50.226.0/23, - 36.50.254.0/23, - 36.51.0.0/17, - 36.51.128.0/18, - 36.51.192.0/19, - 36.51.224.0/20, - 36.51.240.0/21, - 36.51.248.0/22, - 36.51.252.0/23, - 36.51.254.0/24, - 36.56.0.0/13, - 36.96.0.0/11, - 36.128.0.0/10, - 36.192.0.0/11, - 36.248.0.0/14, - 36.254.0.0/16, - 36.255.116.0/22, - 36.255.128.0/22, - 36.255.164.0/22, - 36.255.172.0/22, - 36.255.176.0/23, - 36.255.179.0/24, - 36.255.192.0/24, - 38.76.140.0/23, - 38.111.220.0/23, - 38.196.176.0/24, - 38.248.20.0/23, - 39.0.0.0/24, - 39.0.2.0/23, - 39.0.4.0/22, - 39.0.8.0/21, - 39.0.16.0/20, - 39.0.32.0/19, - 39.0.64.0/18, - 39.0.128.0/17, - 39.64.0.0/11, - 39.96.0.0/13, - 39.104.0.0/14, - 39.108.0.0/16, - 39.125.80.0/24, - 39.128.0.0/10, - 40.0.176.0/20, - 40.0.248.0/21, - 40.72.0.0/15, - 40.77.136.112/28, - 40.77.236.224/27, - 40.77.254.64/27, - 40.125.128.0/17, - 40.126.64.0/18, - 40.162.0.0/16, - 40.198.10.0/24, - 40.198.16.0/21, - 40.198.24.0/23, - 40.251.225.0/24, - 40.251.227.0/24, - 42.0.0.0/22, - 42.0.8.0/21, - 42.0.16.0/21, - 42.0.24.0/22, - 42.0.32.0/19, - 42.1.0.0/19, - 42.1.32.0/20, - 42.1.48.0/21, - 42.1.56.0/22, - 42.1.128.0/17, - 42.4.0.0/14, - 42.48.0.0/13, - 42.56.0.0/14, - 42.62.0.0/17, - 42.62.128.0/19, - 42.62.160.0/20, - 42.62.180.0/22, - 42.62.184.0/21, - 42.63.0.0/16, - 42.80.0.0/15, - 42.83.64.0/20, - 42.83.80.0/22, - 42.83.88.0/21, - 42.83.96.0/19, - 42.83.128.0/17, - 42.84.0.0/14, - 42.88.0.0/13, - 42.96.64.0/19, - 42.96.96.0/21, - 42.96.108.0/22, - 42.96.112.0/20, - 42.96.128.0/17, - 42.97.0.0/16, - 42.99.0.0/18, - 42.99.64.0/19, - 42.99.96.0/20, - 42.99.112.0/22, - 42.99.120.0/21, - 42.100.0.0/14, - 42.120.0.0/15, - 42.122.0.0/16, - 42.123.0.0/19, - 42.123.36.0/22, - 42.123.40.0/21, - 42.123.48.0/20, - 42.123.64.0/18, - 42.123.128.0/17, - 42.128.0.0/12, - 42.156.0.0/19, - 42.156.36.0/22, - 42.156.40.0/21, - 42.156.48.0/20, - 42.156.64.0/18, - 42.156.128.0/17, - 42.157.0.0/16, - 42.158.0.0/15, - 42.160.0.0/12, - 42.176.0.0/13, - 42.184.0.0/15, - 42.186.0.0/16, - 42.187.0.0/18, - 42.187.64.0/19, - 42.187.96.0/20, - 42.187.112.0/21, - 42.187.120.0/22, - 42.187.128.0/17, - 42.192.0.0/13, - 42.201.0.0/17, - 42.202.0.0/15, - 42.204.0.0/14, - 42.208.0.0/12, - 42.224.0.0/12, - 42.240.0.0/16, - 42.242.0.0/15, - 42.244.0.0/14, - 42.248.0.0/13, - 43.0.0.0/10, - 43.64.0.0/12, - 43.80.0.0/13, - 43.88.0.0/15, - 43.90.0.0/16, - 43.92.0.0/17, - 43.93.0.0/16, - 43.94.0.0/15, - 43.96.6.0/24, - 43.96.30.0/23, - 43.96.37.0/24, - 43.96.38.0/24, - 43.96.41.0/24, - 43.96.42.0/23, - 43.96.44.0/22, - 43.96.48.0/20, - 43.96.79.0/24, - 43.96.82.0/24, - 43.96.86.0/23, - 43.96.89.0/24, - 43.96.90.0/23, - 43.96.92.0/22, - 43.96.98.0/23, - 43.96.100.0/22, - 43.96.104.0/21, - 43.96.112.0/20, - 43.96.128.0/17, - 43.97.0.0/16, - 43.98.0.0/15, - 43.100.0.0/14, - 43.104.0.0/13, - 43.112.0.0/12, - 43.135.224.0/19, - 43.136.0.0/13, - 43.144.0.0/13, - 43.152.16.0/24, - 43.152.38.0/23, - 43.152.46.0/24, - 43.152.48.0/24, - 43.152.118.0/23, - 43.152.120.0/21, - 43.152.141.0/24, - 43.152.165.0/24, - 43.152.167.0/24, - 43.152.189.0/24, - 43.152.191.0/24, - 43.159.66.0/24, - 43.159.68.0/24, - 43.159.75.0/24, - 43.159.76.0/24, - 43.159.92.0/24, - 43.159.101.0/24, - 43.164.64.0/18, - 43.166.192.0/19, - 43.168.0.0/14, - 43.172.0.0/21, - 43.172.8.0/22, - 43.172.12.0/23, - 43.172.14.0/24, - 43.172.16.0/20, - 43.172.32.0/19, - 43.172.64.0/18, - 43.172.128.0/17, - 43.174.107.0/24, - 43.174.108.0/22, - 43.174.112.0/20, - 43.174.128.0/18, - 43.174.202.0/24, - 43.174.208.0/20, - 43.174.226.0/23, - 43.174.228.0/22, - 43.174.232.0/21, - 43.174.240.0/21, - 43.174.252.0/22, - 43.175.223.0/24, - 43.176.0.0/12, - 43.192.0.0/14, - 43.196.0.0/15, - 43.224.12.0/22, - 43.224.23.0/24, - 43.224.24.0/22, - 43.224.44.0/22, - 43.224.52.0/22, - 43.224.56.0/22, - 43.224.68.0/22, - 43.224.72.0/22, - 43.224.80.0/22, - 43.224.100.0/22, - 43.224.160.0/22, - 43.224.176.0/22, - 43.224.184.0/22, - 43.224.200.0/21, - 43.224.208.0/21, - 43.224.216.0/22, - 43.224.240.0/23, - 43.224.242.0/24, - 43.225.76.0/22, - 43.225.84.0/22, - 43.225.120.0/22, - 43.225.180.0/22, - 43.225.208.0/22, - 43.225.216.0/21, - 43.225.224.0/20, - 43.225.240.0/21, - 43.225.252.0/22, - 43.226.32.0/19, - 43.226.64.0/19, - 43.226.96.0/20, - 43.226.112.0/21, - 43.226.120.0/22, - 43.226.128.0/18, - 43.226.192.0/20, - 43.226.208.0/21, - 43.226.236.0/22, - 43.226.240.0/20, - 43.227.0.0/21, - 43.227.8.0/22, - 43.227.32.0/19, - 43.227.64.0/19, - 43.227.96.0/21, - 43.227.104.0/22, - 43.227.136.0/21, - 43.227.144.0/22, - 43.227.152.0/21, - 43.227.160.0/20, - 43.227.176.0/21, - 43.227.188.0/22, - 43.227.192.0/19, - 43.227.232.0/22, - 43.227.248.0/21, - 43.228.0.0/18, - 43.228.64.0/21, - 43.228.76.0/22, - 43.228.100.0/22, - 43.228.116.0/22, - 43.228.132.0/22, - 43.228.136.0/22, - 43.228.148.0/22, - 43.228.152.0/22, - 43.228.180.0/24, - 43.228.188.0/22, - 43.228.204.0/22, - 43.228.240.0/22, - 43.229.40.0/22, - 43.229.48.0/22, - 43.229.56.0/22, - 43.229.96.0/22, - 43.229.136.0/21, - 43.229.168.0/21, - 43.229.176.0/20, - 43.229.192.0/21, - 43.229.216.0/21, - 43.229.232.0/21, - 43.230.20.0/22, - 43.230.32.0/22, - 43.230.68.0/22, - 43.230.72.0/22, - 43.230.124.0/22, - 43.230.136.0/22, - 43.230.220.0/22, - 43.230.224.0/19, - 43.231.32.0/20, - 43.231.80.0/20, - 43.231.96.0/20, - 43.231.136.0/21, - 43.231.144.0/20, - 43.231.160.0/20, - 43.231.176.0/21, - 43.231.186.0/24, - 43.236.0.0/17, - 43.236.128.0/18, - 43.236.192.0/19, - 43.236.224.0/20, - 43.236.240.0/21, - 43.236.248.0/22, - 43.236.253.0/24, - 43.236.254.0/23, - 43.237.0.0/21, - 43.237.11.0/24, - 43.237.12.0/22, - 43.237.16.0/20, - 43.237.32.0/22, - 43.237.37.0/24, - 43.237.40.0/21, - 43.237.48.0/20, - 43.237.64.0/18, - 43.237.128.0/18, - 43.237.192.0/22, - 43.237.200.0/21, - 43.237.208.0/21, - 43.237.217.0/24, - 43.237.219.0/24, - 43.237.220.0/22, - 43.237.224.0/19, - 43.238.0.0/17, - 43.238.128.0/20, - 43.238.145.0/24, - 43.238.146.0/23, - 43.238.148.0/22, - 43.238.152.0/21, - 43.238.160.0/19, - 43.238.192.0/18, - 43.239.0.0/19, - 43.239.32.0/20, - 43.239.48.0/22, - 43.239.95.0/24, - 43.239.116.0/22, - 43.239.120.0/22, - 43.239.172.0/22, - 43.240.0.0/22, - 43.240.56.0/21, - 43.240.68.0/22, - 43.240.72.0/21, - 43.240.84.0/22, - 43.240.124.0/22, - 43.240.128.0/21, - 43.240.136.0/22, - 43.240.156.0/22, - 43.240.160.0/19, - 43.240.192.0/19, - 43.240.240.0/20, - 43.241.0.0/20, - 43.241.16.0/21, - 43.241.48.0/22, - 43.241.76.0/22, - 43.241.80.0/20, - 43.241.112.0/22, - 43.241.168.0/21, - 43.241.176.0/21, - 43.241.184.0/22, - 43.241.208.0/20, - 43.241.224.0/20, - 43.241.240.0/22, - 43.242.8.0/21, - 43.242.16.0/20, - 43.242.48.0/22, - 43.242.53.0/24, - 43.242.54.0/24, - 43.242.56.0/21, - 43.242.64.0/22, - 43.242.72.0/21, - 43.242.80.0/20, - 43.242.96.0/22, - 43.242.144.0/20, - 43.242.160.0/21, - 43.242.168.0/22, - 43.242.180.0/22, - 43.242.188.0/22, - 43.242.192.0/21, - 43.242.204.0/22, - 43.242.216.0/21, - 43.242.252.0/22, - 43.243.4.0/22, - 43.243.8.0/21, - 43.243.16.0/22, - 43.243.88.0/22, - 43.243.128.0/22, - 43.243.136.0/22, - 43.243.144.0/21, - 43.243.156.0/22, - 43.243.180.0/22, - 43.243.228.0/22, - 43.243.232.0/22, - 43.243.244.0/22, - 43.246.0.0/18, - 43.246.64.0/19, - 43.246.96.0/22, - 43.246.112.0/24, - 43.246.228.0/22, - 43.247.4.0/22, - 43.247.8.0/22, - 43.247.44.0/22, - 43.247.48.0/22, - 43.247.68.0/22, - 43.247.76.0/22, - 43.247.84.0/22, - 43.247.88.0/21, - 43.247.96.0/21, - 43.247.108.0/22, - 43.247.112.0/22, - 43.247.148.0/22, - 43.247.152.0/22, - 43.247.176.0/20, - 43.247.196.0/22, - 43.247.200.0/21, - 43.247.208.0/20, - 43.247.224.0/19, - 43.248.0.0/21, - 43.248.20.0/22, - 43.248.28.0/22, - 43.248.48.0/22, - 43.248.76.0/22, - 43.248.80.0/20, - 43.248.96.0/19, - 43.248.128.0/20, - 43.248.144.0/21, - 43.248.177.0/24, - 43.248.178.0/23, - 43.248.180.0/22, - 43.248.184.0/21, - 43.248.192.0/20, - 43.248.208.0/22, - 43.248.228.0/22, - 43.248.232.0/22, - 43.248.244.0/22, - 43.249.4.0/22, - 43.249.120.0/22, - 43.249.132.0/22, - 43.249.136.0/22, - 43.249.144.0/20, - 43.249.160.0/21, - 43.249.168.0/22, - 43.249.192.0/22, - 43.249.236.0/22, - 43.250.4.0/22, - 43.250.12.0/25, - 43.250.12.128/29, - 43.250.12.136/31, - 43.250.12.140/30, - 43.250.12.144/28, - 43.250.12.160/28, - 43.250.12.176/30, - 43.250.12.182/31, - 43.250.12.184/29, - 43.250.12.192/26, - 43.250.13.0/24, - 43.250.14.0/25, - 43.250.14.128/29, - 43.250.14.136/31, - 43.250.14.140/30, - 43.250.14.144/28, - 43.250.14.160/28, - 43.250.14.176/30, - 43.250.14.182/31, - 43.250.14.184/29, - 43.250.14.192/26, - 43.250.15.0/24, - 43.250.16.0/21, - 43.250.28.0/22, - 43.250.32.0/21, - 43.250.96.0/21, - 43.250.107.0/24, - 43.250.108.0/22, - 43.250.112.0/22, - 43.250.128.0/22, - 43.250.144.0/21, - 43.250.160.0/22, - 43.250.168.0/22, - 43.250.176.0/22, - 43.250.180.0/23, - 43.250.200.0/22, - 43.250.212.0/22, - 43.250.216.0/21, - 43.250.236.0/22, - 43.250.244.0/22, - 43.251.4.0/22, - 43.251.8.0/22, - 43.251.36.0/22, - 43.251.100.0/22, - 43.251.192.0/22, - 43.251.232.0/22, - 43.251.244.0/22, - 43.252.48.0/22, - 43.252.56.0/22, - 43.254.0.0/21, - 43.254.8.0/22, - 43.254.24.0/22, - 43.254.36.0/22, - 43.254.44.0/22, - 43.254.52.0/22, - 43.254.64.0/22, - 43.254.72.0/22, - 43.254.84.0/22, - 43.254.88.0/21, - 43.254.100.0/22, - 43.254.104.0/22, - 43.254.112.0/21, - 43.254.136.0/21, - 43.254.144.0/20, - 43.254.168.0/21, - 43.254.180.0/22, - 43.254.184.0/21, - 43.254.192.0/21, - 43.254.200.0/22, - 43.254.208.0/22, - 43.254.220.0/22, - 43.254.224.0/20, - 43.254.240.0/22, - 43.254.248.0/21, - 43.255.0.0/21, - 43.255.8.0/22, - 43.255.16.0/22, - 43.255.48.0/22, - 43.255.64.0/20, - 43.255.84.0/22, - 43.255.96.0/22, - 43.255.144.0/22, - 43.255.176.0/22, - 43.255.184.0/22, - 43.255.192.0/22, - 43.255.200.0/21, - 43.255.208.0/21, - 43.255.224.0/21, - 43.255.232.0/22, - 43.255.244.0/22, - 44.31.28.0/24, - 44.31.42.0/24, - 44.31.81.0/24, - 44.31.96.0/24, - 44.31.216.0/24, - 44.32.143.0/24, - 44.32.188.0/24, - 44.32.191.0/24, - 44.32.192.0/24, - 45.9.11.0/24, - 45.40.192.0/18, - 45.65.16.0/20, - 45.112.132.0/22, - 45.112.188.0/22, - 45.112.208.0/21, - 45.112.216.0/22, - 45.112.220.0/23, - 45.112.222.0/26, - 45.112.222.64/27, - 45.112.222.96/29, - 45.112.222.106/31, - 45.112.222.108/30, - 45.112.222.112/28, - 45.112.222.130/31, - 45.112.222.132/30, - 45.112.222.136/29, - 45.112.222.146/31, - 45.112.222.150/31, - 45.112.222.152/29, - 45.112.222.160/27, - 45.112.222.192/26, - 45.112.223.0/24, - 45.112.228.0/22, - 45.112.232.0/21, - 45.113.12.0/22, - 45.113.16.0/20, - 45.113.40.0/22, - 45.113.56.0/22, - 45.113.72.0/22, - 45.113.144.0/21, - 45.113.168.0/22, - 45.113.176.0/22, - 45.113.184.0/22, - 45.113.200.0/21, - 45.113.208.0/20, - 45.113.240.0/22, - 45.113.252.0/22, - 45.114.0.0/22, - 45.114.32.0/22, - 45.114.40.0/22, - 45.114.52.0/22, - 45.114.96.0/22, - 45.114.136.0/22, - 45.114.189.0/24, - 45.114.196.0/22, - 45.114.200.0/22, - 45.114.228.0/22, - 45.114.252.0/22, - 45.115.44.0/22, - 45.115.100.0/22, - 45.115.120.0/22, - 45.115.132.0/22, - 45.115.144.0/22, - 45.115.156.0/22, - 45.115.164.0/22, - 45.115.200.0/22, - 45.115.212.0/22, - 45.115.244.0/22, - 45.115.248.0/22, - 45.116.16.0/22, - 45.116.24.0/22, - 45.116.32.0/21, - 45.116.52.0/22, - 45.116.96.0/21, - 45.116.140.0/22, - 45.116.152.0/22, - 45.116.208.0/22, - 45.117.8.0/22, - 45.117.20.0/22, - 45.117.68.0/22, - 45.117.124.0/22, - 45.117.252.0/22, - 45.119.60.0/22, - 45.119.64.0/21, - 45.119.72.0/22, - 45.119.104.0/22, - 45.119.116.0/22, - 45.119.232.0/22, - 45.120.100.0/22, - 45.120.140.0/22, - 45.120.164.0/22, - 45.120.180.128/27, - 45.120.182.0/24, - 45.120.240.0/22, - 45.121.52.0/22, - 45.121.64.0/21, - 45.121.72.0/22, - 45.121.92.0/22, - 45.121.96.0/22, - 45.121.172.0/22, - 45.121.176.0/22, - 45.121.240.0/20, - 45.122.0.0/19, - 45.122.32.0/21, - 45.122.40.0/22, - 45.122.60.0/22, - 45.122.64.0/19, - 45.122.96.0/20, - 45.122.112.0/21, - 45.122.160.0/19, - 45.122.192.0/20, - 45.122.208.0/21, - 45.122.216.0/22, - 45.123.28.0/22, - 45.123.32.0/21, - 45.123.44.0/22, - 45.123.48.0/20, - 45.123.64.0/20, - 45.123.80.0/21, - 45.123.120.0/22, - 45.123.128.0/21, - 45.123.136.0/22, - 45.123.148.0/22, - 45.123.152.0/21, - 45.123.164.0/22, - 45.123.168.0/21, - 45.123.176.0/21, - 45.123.184.0/22, - 45.123.204.0/22, - 45.123.212.0/22, - 45.123.224.0/19, - 45.124.0.0/22, - 45.124.20.0/22, - 45.124.28.0/22, - 45.124.32.0/21, - 45.124.44.0/22, - 45.124.68.0/22, - 45.124.76.0/22, - 45.124.80.0/22, - 45.124.100.0/22, - 45.124.124.0/22, - 45.124.172.0/22, - 45.124.176.0/22, - 45.124.208.0/22, - 45.124.248.0/22, - 45.125.24.0/22, - 45.125.44.0/22, - 45.125.52.0/22, - 45.125.56.0/22, - 45.125.76.0/22, - 45.125.80.0/20, - 45.125.96.0/21, - 45.125.136.0/23, - 45.125.138.0/24, - 45.126.48.0/21, - 45.126.100.0/22, - 45.126.108.0/22, - 45.126.112.0/21, - 45.126.120.0/22, - 45.126.220.0/23, - 45.126.222.0/24, - 45.127.8.0/21, - 45.127.128.0/22, - 45.127.144.0/21, - 45.127.156.0/22, - 45.147.6.0/24, - 45.151.47.0/24, - 45.157.88.0/24, - 45.160.62.0/24, - 45.187.100.0/22, - 45.195.6.0/24, - 45.200.10.0/24, - 45.202.209.0/24, - 45.202.210.0/23, - 45.202.212.0/24, - 45.248.8.0/22, - 45.248.80.0/21, - 45.248.88.0/22, - 45.248.96.0/20, - 45.248.128.0/21, - 45.248.204.0/22, - 45.248.208.0/20, - 45.248.224.0/19, - 45.249.0.0/21, - 45.249.12.0/22, - 45.249.16.0/20, - 45.249.32.0/21, - 45.249.112.0/22, - 45.249.188.0/22, - 45.249.192.0/20, - 45.249.208.0/21, - 45.250.12.0/22, - 45.250.16.0/22, - 45.250.28.0/22, - 45.250.32.0/21, - 45.250.40.0/22, - 45.250.76.0/22, - 45.250.80.0/20, - 45.250.96.0/22, - 45.250.104.0/21, - 45.250.112.0/20, - 45.250.128.0/20, - 45.250.144.0/21, - 45.250.152.0/22, - 45.250.164.0/22, - 45.250.180.0/22, - 45.250.184.0/21, - 45.250.192.0/22, - 45.251.0.0/22, - 45.251.8.0/22, - 45.251.16.0/21, - 45.251.54.0/23, - 45.251.84.0/22, - 45.251.88.0/21, - 45.251.96.0/21, - 45.251.120.0/21, - 45.251.140.0/22, - 45.251.144.0/20, - 45.251.160.0/19, - 45.251.192.0/19, - 45.251.224.0/22, - 45.252.0.0/21, - 45.252.9.0/24, - 45.252.10.0/23, - 45.252.12.0/22, - 45.252.16.0/20, - 45.252.32.0/20, - 45.252.48.0/22, - 45.252.84.0/22, - 45.252.88.0/21, - 45.252.96.0/19, - 45.252.128.0/19, - 45.252.160.0/20, - 45.252.176.0/22, - 45.252.192.0/19, - 45.252.224.0/21, - 45.252.232.0/22, - 45.253.0.0/18, - 45.253.64.0/20, - 45.253.80.0/21, - 45.253.92.0/22, - 45.253.96.0/20, - 45.253.112.0/21, - 45.253.120.0/22, - 45.253.132.0/22, - 45.253.136.0/21, - 45.253.144.0/20, - 45.253.160.0/19, - 45.253.192.0/19, - 45.253.224.0/20, - 45.253.240.0/22, - 45.254.0.0/20, - 45.254.16.0/21, - 45.254.28.0/22, - 45.254.40.0/22, - 45.254.48.0/20, - 45.254.64.0/18, - 45.254.128.0/18, - 45.254.192.0/19, - 45.254.224.0/21, - 45.254.236.0/22, - 45.254.240.0/22, - 45.254.248.0/22, - 45.255.0.0/18, - 45.255.64.0/19, - 45.255.96.0/20, - 45.255.112.0/21, - 45.255.120.0/22, - 45.255.136.0/21, - 45.255.144.0/20, - 45.255.160.0/19, - 45.255.192.0/19, - 45.255.224.0/20, - 45.255.240.0/21, - 45.255.248.0/22, - 46.248.24.0/23, - 47.89.66.0/24, - 47.89.91.0/24, - 47.89.121.0/24, - 47.92.0.0/14, - 47.96.0.0/11, - 47.246.0.0/22, - 47.246.4.0/24, - 47.246.6.0/23, - 47.246.8.0/24, - 47.246.12.0/23, - 47.246.15.0/24, - 47.246.16.0/24, - 47.246.20.0/24, - 47.246.22.0/23, - 47.246.24.0/24, - 47.246.26.0/24, - 47.246.28.0/22, - 47.246.36.0/22, - 47.246.41.0/24, - 47.246.42.0/23, - 47.246.44.0/23, - 47.246.46.0/24, - 47.246.48.0/23, - 47.246.50.0/24, - 47.246.57.0/24, - 47.246.58.0/24, - 47.246.60.0/22, - 49.4.0.0/17, - 49.4.128.0/22, - 49.4.160.0/20, - 49.4.178.0/23, - 49.4.180.0/22, - 49.4.184.0/21, - 49.4.192.0/18, - 49.5.0.0/16, - 49.6.0.0/15, - 49.51.57.0/24, - 49.51.58.0/23, - 49.51.60.0/23, - 49.51.110.0/23, - 49.51.112.0/20, - 49.52.0.0/14, - 49.64.0.0/11, - 49.112.0.0/13, - 49.120.0.0/14, - 49.128.0.0/24, - 49.128.2.0/23, - 49.128.4.0/22, - 49.128.203.0/24, - 49.128.223.0/24, - 49.140.0.0/15, - 49.152.0.0/14, - 49.208.0.0/14, - 49.220.0.0/14, - 49.232.0.0/14, - 49.239.0.0/18, - 49.239.192.0/18, - 49.246.224.0/23, - 49.246.228.0/22, - 49.246.232.0/23, - 49.246.236.0/22, - 49.246.240.0/20, - 52.80.0.0/14, - 52.93.242.120/29, - 52.93.242.128/25, - 52.94.249.0/27, - 52.130.0.0/15, - 54.222.0.0/15, - 54.240.224.0/24, - 57.176.0.0/15, - 58.14.0.0/21, - 58.14.16.0/20, - 58.14.32.0/19, - 58.14.64.0/18, - 58.14.128.0/17, - 58.15.0.0/16, - 58.16.0.0/13, - 58.24.0.0/15, - 58.30.0.0/15, - 58.32.0.0/11, - 58.65.232.0/21, - 58.66.0.0/18, - 58.66.192.0/18, - 58.67.0.0/16, - 58.68.128.0/19, - 58.68.160.0/21, - 58.68.200.0/21, - 58.68.208.0/20, - 58.68.224.0/19, - 58.82.0.0/17, - 58.83.0.0/16, - 58.87.64.0/18, - 58.99.128.0/17, - 58.100.0.0/15, - 58.116.0.0/14, - 58.128.0.0/13, - 58.144.0.0/16, - 58.154.0.0/15, - 58.192.0.0/11, - 58.240.0.0/12, - 59.32.0.0/11, - 59.64.0.0/12, - 59.80.0.0/14, - 59.107.0.0/17, - 59.107.128.0/18, - 59.107.252.0/22, - 59.108.0.0/14, - 59.151.0.0/17, - 59.152.16.0/20, - 59.152.32.0/24, - 59.152.36.0/22, - 59.152.64.0/20, - 59.152.112.0/21, - 59.153.4.0/22, - 59.153.30.0/24, - 59.153.32.0/22, - 59.153.60.0/22, - 59.153.64.0/21, - 59.153.72.0/22, - 59.153.92.0/22, - 59.153.116.0/22, - 59.153.136.0/22, - 59.153.152.0/22, - 59.153.164.0/22, - 59.153.168.0/21, - 59.153.176.0/20, - 59.153.192.0/22, - 59.155.0.0/16, - 59.172.0.0/14, - 59.191.0.0/17, - 59.192.0.0/10, - 60.0.0.0/11, - 60.55.0.0/16, - 60.63.0.0/16, - 60.160.0.0/11, - 60.194.0.0/15, - 60.200.0.0/13, - 60.208.0.0/12, - 60.232.0.0/15, - 60.235.0.0/16, - 60.245.128.0/17, - 60.247.0.0/16, - 60.252.0.0/16, - 60.253.128.0/17, - 60.255.0.0/16, - 61.4.80.0/20, - 61.4.176.0/20, - 61.8.160.0/20, - 61.14.212.0/22, - 61.14.216.0/21, - 61.14.240.0/21, - 61.28.0.0/17, - 61.29.128.0/18, - 61.29.194.0/23, - 61.29.196.0/23, - 61.29.198.0/24, - 61.29.201.0/24, - 61.29.202.0/23, - 61.29.204.0/22, - 61.29.208.0/23, - 61.29.212.0/22, - 61.29.216.0/21, - 61.29.224.0/21, - 61.29.232.0/23, - 61.29.235.0/24, - 61.29.236.0/22, - 61.45.128.0/18, - 61.45.224.0/20, - 61.47.128.0/18, - 61.48.0.0/13, - 61.87.192.0/18, - 61.128.0.0/10, - 61.232.0.0/14, - 61.236.0.0/15, - 61.240.0.0/14, - 62.72.181.0/24, - 62.234.0.0/16, - 63.140.0.0/24, - 63.140.3.0/24, - 63.140.4.0/22, - 63.140.13.0/24, - 64.235.230.152/30, - 65.97.55.248/29, - 66.102.240.0/21, - 66.102.248.0/22, - 66.102.252.0/24, - 66.102.254.0/23, - 66.119.149.0/24, - 67.220.137.144/28, - 68.79.0.0/18, - 69.163.104.0/24, - 69.163.106.0/24, - 69.163.123.0/24, - 69.172.70.0/24, - 69.230.192.0/18, - 69.231.128.0/18, - 69.234.192.0/18, - 69.235.128.0/18, - 71.131.192.0/18, - 71.132.0.0/18, - 71.136.64.0/18, - 71.137.0.0/18, - 72.163.240.0/23, - 72.163.248.0/22, - 79.133.176.0/24, - 81.68.0.0/14, - 81.173.18.0/23, - 81.173.20.0/22, - 81.173.28.0/24, - 82.156.0.0/15, - 84.54.2.0/23, - 85.237.205.0/24, - 87.254.207.0/24, - 89.144.2.0/24, - 93.113.109.8/29, - 93.113.109.24/29, - 93.113.109.104/29, - 93.113.109.136/29, - 93.113.109.152/29, - 93.113.109.232/29, - 93.183.14.0/24, - 93.183.18.0/24, - 94.191.0.0/17, - 101.0.0.0/22, - 101.1.0.0/22, - 101.2.172.0/22, - 101.4.0.0/14, - 101.16.0.0/12, - 101.33.128.0/17, - 101.34.0.0/15, - 101.36.0.0/18, - 101.36.64.0/20, - 101.36.82.0/23, - 101.36.85.0/24, - 101.36.86.0/23, - 101.36.88.0/21, - 101.36.128.0/17, - 101.37.0.0/16, - 101.38.0.0/15, - 101.40.0.0/14, - 101.48.0.0/15, - 101.50.8.0/21, - 101.50.56.0/22, - 101.52.0.0/16, - 101.53.100.0/22, - 101.54.0.0/16, - 101.55.224.0/21, - 101.64.0.0/13, - 101.72.0.0/14, - 101.76.0.0/15, - 101.78.0.0/22, - 101.78.32.0/19, - 101.80.0.0/12, - 101.96.0.0/21, - 101.96.8.0/22, - 101.96.16.0/20, - 101.96.128.0/17, - 101.99.96.0/19, - 101.101.64.0/19, - 101.101.100.0/24, - 101.101.102.0/23, - 101.101.104.0/21, - 101.101.112.0/20, - 101.102.64.0/19, - 101.102.100.0/23, - 101.102.102.0/24, - 101.102.104.0/21, - 101.102.112.0/20, - 101.104.0.0/14, - 101.110.64.0/19, - 101.110.96.0/20, - 101.110.116.0/22, - 101.110.120.0/21, - 101.120.0.0/14, - 101.124.0.0/15, - 101.126.0.0/16, - 101.128.0.0/22, - 101.128.8.0/21, - 101.128.16.0/20, - 101.128.32.0/19, - 101.129.0.0/16, - 101.130.0.0/15, - 101.132.0.0/15, - 101.134.0.0/16, - 101.135.0.0/19, - 101.135.32.0/24, - 101.135.34.0/23, - 101.135.36.0/22, - 101.135.40.0/21, - 101.135.48.0/20, - 101.135.64.0/18, - 101.135.128.0/17, - 101.144.0.0/12, - 101.192.0.0/13, - 101.200.0.0/15, - 101.203.128.0/19, - 101.203.160.0/21, - 101.203.172.0/22, - 101.203.176.0/20, - 101.204.0.0/14, - 101.224.0.0/13, - 101.232.0.0/15, - 101.234.64.0/21, - 101.234.76.0/22, - 101.234.80.0/20, - 101.234.96.0/19, - 101.236.0.0/14, - 101.240.0.0/13, - 101.248.0.0/15, - 101.251.0.0/22, - 101.251.8.0/21, - 101.251.16.0/20, - 101.251.32.0/19, - 101.251.64.0/18, - 101.251.128.0/17, - 101.252.0.0/15, - 101.254.0.0/16, - 103.1.8.0/22, - 103.1.20.0/22, - 103.1.24.0/22, - 103.1.72.0/22, - 103.1.88.0/22, - 103.1.158.0/24, - 103.1.168.0/22, - 103.2.108.0/22, - 103.2.156.0/22, - 103.2.164.0/22, - 103.2.188.0/23, - 103.2.200.0/21, - 103.2.208.0/21, - 103.3.84.0/22, - 103.3.88.0/21, - 103.3.96.0/19, - 103.3.128.0/20, - 103.3.148.0/22, - 103.3.152.0/21, - 103.4.56.0/22, - 103.4.168.0/22, - 103.4.184.0/22, - 103.4.224.0/22, - 103.5.36.0/22, - 103.5.52.0/23, - 103.5.56.0/22, - 103.5.152.0/22, - 103.5.168.0/22, - 103.5.192.0/22, - 103.5.252.0/22, - 103.6.76.0/22, - 103.6.108.0/22, - 103.6.220.0/22, - 103.6.228.0/22, - 103.7.140.0/22, - 103.7.212.0/22, - 103.7.216.0/21, - 103.8.0.0/21, - 103.8.8.0/22, - 103.8.32.0/22, - 103.8.52.0/22, - 103.8.68.0/22, - 103.8.108.0/22, - 103.8.156.0/22, - 103.8.200.0/21, - 103.8.220.0/22, - 103.9.8.0/22, - 103.9.24.0/22, - 103.9.108.0/22, - 103.9.152.0/22, - 103.9.248.0/21, - 103.10.0.0/22, - 103.10.16.0/22, - 103.10.84.0/22, - 103.10.140.0/22, - 103.11.16.0/22, - 103.11.168.0/22, - 103.11.180.0/22, - 103.12.32.0/22, - 103.12.98.0/23, - 103.12.136.0/22, - 103.12.184.0/22, - 103.12.232.0/22, - 103.13.12.0/22, - 103.13.124.0/22, - 103.13.145.0/24, - 103.13.147.0/24, - 103.13.196.0/22, - 103.13.244.0/22, - 103.14.78.0/24, - 103.14.84.0/22, - 103.14.132.0/22, - 103.14.136.0/22, - 103.14.156.0/22, - 103.14.240.0/22, - 103.15.4.0/22, - 103.15.8.0/22, - 103.15.16.0/22, - 103.15.96.0/22, - 103.15.200.0/22, - 103.16.52.0/22, - 103.16.80.0/21, - 103.16.88.0/22, - 103.16.108.0/22, - 103.16.124.0/22, - 103.17.40.0/22, - 103.17.64.0/22, - 103.17.120.0/22, - 103.17.136.0/22, - 103.17.160.0/22, - 103.17.204.0/22, - 103.17.228.0/22, - 103.18.186.0/23, - 103.18.192.0/22, - 103.18.208.0/21, - 103.18.224.0/22, - 103.19.12.0/22, - 103.19.40.0/21, - 103.19.64.0/21, - 103.19.72.0/22, - 103.19.232.0/22, - 103.20.12.0/22, - 103.20.32.0/22, - 103.20.68.0/22, - 103.20.112.0/22, - 103.20.128.0/22, - 103.20.160.0/22, - 103.20.248.0/22, - 103.21.98.0/23, - 103.21.102.0/23, - 103.21.112.0/21, - 103.21.140.0/22, - 103.21.176.0/22, - 103.21.240.0/22, - 103.22.0.0/18, - 103.22.64.0/19, - 103.22.100.0/22, - 103.22.104.0/21, - 103.22.112.0/20, - 103.22.157.0/24, - 103.22.188.0/22, - 103.22.228.0/22, - 103.22.252.0/22, - 103.23.8.0/22, - 103.23.56.0/22, - 103.23.160.0/21, - 103.23.176.0/22, - 103.23.228.0/22, - 103.24.24.0/22, - 103.24.83.232/31, - 103.24.83.236/30, - 103.24.83.249/32, - 103.24.83.250/32, - 103.24.83.253/32, - 103.24.116.0/22, - 103.24.128.0/22, - 103.24.144.0/22, - 103.24.176.0/22, - 103.24.184.0/22, - 103.24.228.0/22, - 103.24.252.0/22, - 103.25.20.0/22, - 103.25.24.0/21, - 103.25.32.0/21, - 103.25.40.0/22, - 103.25.48.0/22, - 103.25.64.0/21, - 103.25.148.0/22, - 103.25.156.0/22, - 103.25.216.0/22, - 103.26.0.0/22, - 103.26.64.0/22, - 103.26.76.0/22, - 103.26.132.0/22, - 103.26.156.0/22, - 103.26.160.0/22, - 103.26.228.0/22, - 103.26.240.0/22, - 103.27.4.0/22, - 103.27.12.0/22, - 103.27.24.0/22, - 103.27.56.0/22, - 103.27.96.0/22, - 103.27.240.0/22, - 103.28.4.0/22, - 103.28.8.0/22, - 103.28.184.0/22, - 103.28.204.0/22, - 103.28.212.0/22, - 103.29.16.0/22, - 103.29.24.0/23, - 103.29.29.0/24, - 103.29.128.0/21, - 103.29.136.0/22, - 103.29.236.0/23, - 103.30.20.0/22, - 103.30.96.0/22, - 103.30.104.0/22, - 103.30.148.0/22, - 103.30.228.0/22, - 103.30.236.0/22, - 103.31.0.0/22, - 103.31.48.0/20, - 103.31.64.0/21, - 103.31.148.0/22, - 103.31.160.0/22, - 103.31.168.0/22, - 103.31.200.0/22, - 103.31.236.0/22, - 103.31.242.0/23, - 103.32.0.0/15, - 103.34.0.0/16, - 103.35.0.0/19, - 103.35.32.0/20, - 103.35.48.0/22, - 103.35.104.0/22, - 103.35.220.0/22, - 103.36.28.0/22, - 103.36.36.0/22, - 103.36.56.0/21, - 103.36.64.0/22, - 103.36.72.0/22, - 103.36.96.0/22, - 103.36.132.0/22, - 103.36.136.0/22, - 103.36.160.0/21, - 103.36.168.0/23, - 103.36.172.0/22, - 103.36.176.0/20, - 103.36.192.0/19, - 103.36.224.0/20, - 103.36.240.0/21, - 103.37.7.0/24, - 103.37.12.0/22, - 103.37.16.0/22, - 103.37.24.0/22, - 103.37.44.0/22, - 103.37.52.0/22, - 103.37.56.0/22, - 103.37.72.0/22, - 103.37.100.0/22, - 103.37.104.0/22, - 103.37.136.0/21, - 103.37.144.0/20, - 103.37.160.0/21, - 103.37.172.0/22, - 103.37.176.0/22, - 103.37.188.0/22, - 103.37.208.0/20, - 103.37.252.0/22, - 103.38.0.0/22, - 103.38.32.0/22, - 103.38.40.0/21, - 103.38.56.0/22, - 103.38.76.0/22, - 103.38.84.0/22, - 103.38.92.0/22, - 103.38.96.0/22, - 103.38.116.0/22, - 103.38.132.0/22, - 103.38.140.0/22, - 103.38.224.0/21, - 103.38.232.0/22, - 103.38.252.0/23, - 103.39.64.0/22, - 103.39.88.0/22, - 103.39.100.0/22, - 103.39.104.0/22, - 103.39.160.0/19, - 103.39.200.0/21, - 103.39.208.0/20, - 103.39.224.0/21, - 103.39.232.0/22, - 103.40.12.0/22, - 103.40.16.0/20, - 103.40.32.0/20, - 103.40.88.0/22, - 103.40.158.0/23, - 103.40.174.0/23, - 103.40.192.0/22, - 103.40.212.0/22, - 103.40.220.0/22, - 103.40.228.0/22, - 103.40.232.0/21, - 103.40.240.0/20, - 103.41.0.0/22, - 103.41.52.0/22, - 103.41.116.0/22, - 103.41.127.0/24, - 103.41.140.0/25, - 103.41.140.128/28, - 103.41.140.144/29, - 103.41.140.154/31, - 103.41.140.158/31, - 103.41.140.162/31, - 103.41.140.166/31, - 103.41.140.168/29, - 103.41.140.176/28, - 103.41.140.192/26, - 103.41.141.0/24, - 103.41.142.0/23, - 103.41.148.0/22, - 103.41.152.0/22, - 103.41.160.0/21, - 103.41.220.0/22, - 103.41.224.0/21, - 103.41.232.0/22, - 103.42.8.0/22, - 103.42.24.0/22, - 103.42.32.0/22, - 103.42.64.0/21, - 103.42.76.0/22, - 103.42.232.0/22, - 103.43.96.0/21, - 103.43.105.0/24, - 103.43.106.0/23, - 103.43.124.0/22, - 103.43.132.0/22, - 103.43.184.0/22, - 103.43.192.0/21, - 103.43.208.0/22, - 103.43.220.0/22, - 103.43.224.0/22, - 103.43.240.0/22, - 103.44.56.0/22, - 103.44.80.0/22, - 103.44.120.0/21, - 103.44.144.0/22, - 103.44.168.0/22, - 103.44.176.0/20, - 103.44.192.0/22, - 103.44.196.0/23, - 103.44.199.0/24, - 103.44.200.0/21, - 103.44.224.0/22, - 103.44.236.0/22, - 103.44.240.0/20, - 103.45.0.0/19, - 103.45.32.0/21, - 103.45.41.0/24, - 103.45.42.0/23, - 103.45.44.0/22, - 103.45.48.0/20, - 103.45.72.0/21, - 103.45.80.0/20, - 103.45.96.0/19, - 103.45.128.0/18, - 103.45.192.0/19, - 103.45.224.0/22, - 103.45.248.0/22, - 103.46.0.0/22, - 103.46.12.0/22, - 103.46.16.0/20, - 103.46.32.0/19, - 103.46.64.0/18, - 103.46.128.0/21, - 103.46.136.0/22, - 103.46.152.0/21, - 103.46.160.0/20, - 103.46.176.0/21, - 103.46.244.0/22, - 103.46.248.0/22, - 103.47.4.0/22, - 103.47.20.0/22, - 103.47.36.0/22, - 103.47.40.0/22, - 103.47.48.0/22, - 103.47.80.0/22, - 103.47.96.0/22, - 103.47.116.0/22, - 103.47.120.0/22, - 103.47.136.0/21, - 103.47.212.0/22, - 103.48.52.0/22, - 103.48.92.0/22, - 103.48.148.0/22, - 103.48.152.0/22, - 103.48.202.0/23, - 103.48.216.0/21, - 103.48.224.0/20, - 103.48.240.0/21, - 103.49.12.0/22, - 103.49.20.0/22, - 103.49.72.0/21, - 103.49.96.0/22, - 103.49.108.0/22, - 103.49.176.0/21, - 103.49.196.0/22, - 103.49.212.0/24, - 103.49.214.0/24, - 103.50.36.0/22, - 103.50.44.0/22, - 103.50.48.0/20, - 103.50.64.0/21, - 103.50.72.0/22, - 103.50.108.0/22, - 103.50.112.0/20, - 103.50.132.0/22, - 103.50.136.0/21, - 103.50.172.0/22, - 103.50.176.0/20, - 103.50.192.0/21, - 103.50.200.0/22, - 103.50.220.0/22, - 103.50.224.0/20, - 103.50.240.0/21, - 103.50.248.0/22, - 103.50.252.0/23, - 103.51.62.0/23, - 103.52.40.0/22, - 103.52.72.0/23, - 103.52.74.0/25, - 103.52.74.128/26, - 103.52.74.192/27, - 103.52.74.224/28, - 103.52.74.240/30, - 103.52.74.252/30, - 103.52.75.0/24, - 103.52.76.0/30, - 103.52.76.8/29, - 103.52.76.20/30, - 103.52.76.32/29, - 103.52.76.40/30, - 103.52.76.44/31, - 103.52.76.48/29, - 103.52.76.56/30, - 103.52.76.64/26, - 103.52.76.128/26, - 103.52.76.192/27, - 103.52.76.224/29, - 103.52.76.232/30, - 103.52.76.244/30, - 103.52.76.248/29, - 103.52.77.0/28, - 103.52.77.16/29, - 103.52.77.24/30, - 103.52.77.32/27, - 103.52.77.64/28, - 103.52.77.80/29, - 103.52.77.92/30, - 103.52.77.96/27, - 103.52.77.128/27, - 103.52.77.160/28, - 103.52.77.176/29, - 103.52.77.188/30, - 103.52.77.192/26, - 103.52.78.4/30, - 103.52.78.8/29, - 103.52.78.16/28, - 103.52.78.32/29, - 103.52.78.40/30, - 103.52.78.48/30, - 103.52.78.56/29, - 103.52.78.64/30, - 103.52.78.76/30, - 103.52.78.80/28, - 103.52.78.96/29, - 103.52.78.104/30, - 103.52.78.112/28, - 103.52.78.128/28, - 103.52.78.144/29, - 103.52.78.156/30, - 103.52.78.160/29, - 103.52.78.168/30, - 103.52.78.176/28, - 103.52.78.192/28, - 103.52.78.212/30, - 103.52.78.216/29, - 103.52.78.232/29, - 103.52.78.240/28, - 103.52.79.0/27, - 103.52.79.32/29, - 103.52.79.40/30, - 103.52.79.48/28, - 103.52.79.64/26, - 103.52.79.128/25, - 103.52.80.0/21, - 103.52.96.0/21, - 103.52.104.0/22, - 103.52.160.0/21, - 103.52.172.0/22, - 103.52.176.0/22, - 103.52.184.0/22, - 103.52.196.0/22, - 103.53.64.0/21, - 103.53.92.0/22, - 103.53.100.0/22, - 103.53.124.0/22, - 103.53.128.0/20, - 103.53.144.0/22, - 103.53.181.0/24, - 103.53.182.0/23, - 103.53.204.0/22, - 103.53.208.0/21, - 103.53.236.0/22, - 103.53.248.0/22, - 103.54.8.0/22, - 103.54.48.0/22, - 103.54.160.0/21, - 103.54.212.0/22, - 103.54.240.0/22, - 103.55.5.35/32, - 103.55.5.73/32, - 103.55.80.0/22, - 103.55.120.0/22, - 103.55.152.0/22, - 103.55.172.0/22, - 103.55.204.0/22, - 103.55.208.0/22, - 103.55.228.0/22, - 103.55.236.0/22, - 103.56.20.0/22, - 103.56.32.0/22, - 103.56.56.0/21, - 103.56.72.0/21, - 103.56.94.0/23, - 103.56.100.0/22, - 103.56.104.0/22, - 103.56.140.0/22, - 103.56.152.0/22, - 103.56.184.0/22, - 103.56.200.0/22, - 103.57.12.0/22, - 103.57.52.0/22, - 103.57.56.0/22, - 103.57.76.0/22, - 103.57.136.0/22, - 103.57.196.0/22, - 103.58.24.0/22, - 103.59.76.0/22, - 103.59.112.0/21, - 103.59.120.0/23, - 103.59.124.0/22, - 103.59.128.0/22, - 103.59.148.0/22, - 103.59.164.0/22, - 103.59.168.0/23, - 103.60.32.0/22, - 103.60.44.0/22, - 103.60.164.0/22, - 103.60.228.0/22, - 103.60.236.0/22, - 103.61.60.0/22, - 103.61.104.0/22, - 103.61.140.0/22, - 103.61.152.0/21, - 103.61.160.0/22, - 103.61.172.0/22, - 103.61.176.0/22, - 103.61.188.0/22, - 103.62.24.0/22, - 103.62.72.0/21, - 103.62.80.0/21, - 103.62.88.0/22, - 103.62.96.0/19, - 103.62.128.0/21, - 103.62.156.0/22, - 103.62.160.0/19, - 103.62.192.0/22, - 103.62.204.0/22, - 103.62.208.0/20, - 103.62.224.0/22, - 103.63.32.0/19, - 103.63.64.0/20, - 103.63.80.0/21, - 103.63.88.0/22, - 103.63.140.0/22, - 103.63.144.0/22, - 103.63.152.0/22, - 103.63.160.0/20, - 103.63.176.0/21, - 103.63.184.0/22, - 103.63.192.0/20, - 103.63.208.0/22, - 103.63.240.0/20, - 103.64.0.0/21, - 103.64.24.0/21, - 103.64.32.0/19, - 103.64.64.0/18, - 103.64.140.0/22, - 103.64.144.0/22, - 103.64.152.0/21, - 103.64.160.0/19, - 103.64.192.0/18, - 103.65.0.0/20, - 103.65.16.0/22, - 103.65.48.0/20, - 103.65.64.0/19, - 103.65.100.0/22, - 103.65.104.0/21, - 103.65.112.0/22, - 103.65.144.0/20, - 103.65.160.0/20, - 103.65.204.0/22, - 103.65.224.0/23, - 103.66.32.0/22, - 103.66.40.0/22, - 103.66.108.0/22, - 103.66.200.0/22, - 103.66.240.0/20, - 103.67.0.0/21, - 103.67.8.0/22, - 103.67.52.0/23, - 103.67.100.0/22, - 103.67.104.0/21, - 103.67.112.0/20, - 103.67.128.0/20, - 103.67.144.0/21, - 103.67.172.0/24, - 103.67.175.0/24, - 103.67.192.0/22, - 103.67.212.0/22, - 103.68.88.0/22, - 103.68.100.0/22, - 103.68.128.0/22, - 103.69.16.0/22, - 103.69.62.0/23, - 103.69.116.0/22, - 103.70.8.0/22, - 103.70.14.0/23, - 103.70.148.0/22, - 103.70.220.0/22, - 103.70.236.0/22, - 103.70.252.0/22, - 103.71.0.0/22, - 103.71.68.0/22, - 103.71.72.0/22, - 103.71.80.0/21, - 103.71.88.0/22, - 103.71.120.0/21, - 103.71.128.0/22, - 103.71.196.0/22, - 103.71.200.0/22, - 103.71.232.0/22, - 103.72.12.0/22, - 103.72.16.0/20, - 103.72.32.0/20, - 103.72.48.0/21, - 103.72.112.0/20, - 103.72.128.0/21, - 103.72.172.0/22, - 103.72.180.0/22, - 103.72.224.0/19, - 103.73.0.0/19, - 103.73.48.0/22, - 103.73.99.0/24, - 103.73.116.0/22, - 103.73.120.0/22, - 103.73.128.0/20, - 103.73.144.0/22, - 103.73.158.0/24, - 103.73.168.0/22, - 103.73.176.0/22, - 103.73.204.0/22, - 103.73.208.0/22, - 103.73.244.0/22, - 103.73.248.0/22, - 103.74.24.0/21, - 103.74.32.0/20, - 103.74.48.0/22, - 103.74.56.0/21, - 103.74.80.0/22, - 103.74.124.0/22, - 103.74.148.0/22, - 103.74.152.0/21, - 103.74.204.0/22, - 103.74.232.0/22, - 103.75.83.0/24, - 103.75.88.0/21, - 103.75.104.0/21, - 103.75.112.0/22, - 103.75.120.0/22, - 103.75.128.0/22, - 103.75.144.0/22, - 103.75.152.0/22, - 103.76.60.0/22, - 103.76.64.0/21, - 103.76.72.0/22, - 103.76.92.0/22, - 103.76.216.0/21, - 103.76.224.0/22, - 103.77.28.0/22, - 103.77.52.0/22, - 103.77.56.0/22, - 103.77.72.0/22, - 103.77.88.0/21, - 103.77.132.0/22, - 103.77.148.0/22, - 103.77.220.0/22, - 103.78.56.0/21, - 103.78.64.0/22, - 103.78.124.0/22, - 103.78.172.0/22, - 103.78.176.0/22, - 103.78.196.0/22, - 103.78.228.0/22, - 103.79.24.0/21, - 103.79.36.0/22, - 103.79.40.0/21, - 103.79.56.0/21, - 103.79.64.0/21, - 103.79.80.0/21, - 103.79.120.0/22, - 103.79.136.0/22, - 103.79.188.0/22, - 103.79.192.0/20, - 103.79.208.0/21, - 103.79.228.0/23, - 103.80.28.0/22, - 103.80.44.0/22, - 103.80.72.0/22, - 103.80.176.0/21, - 103.80.184.0/22, - 103.80.192.0/22, - 103.80.200.0/22, - 103.80.232.0/22, - 103.81.4.0/22, - 103.81.8.0/22, - 103.81.16.0/21, - 103.81.44.0/22, - 103.81.48.0/22, - 103.81.96.0/22, - 103.81.120.0/22, - 103.81.148.0/22, - 103.81.164.0/22, - 103.81.200.0/22, - 103.81.232.0/22, - 103.82.52.0/22, - 103.82.60.0/22, - 103.82.68.0/22, - 103.82.84.0/22, - 103.82.104.0/22, - 103.82.224.0/22, - 103.82.236.0/22, - 103.83.44.0/22, - 103.83.52.0/22, - 103.83.60.0/22, - 103.83.72.0/22, - 103.83.112.0/22, - 103.83.120.0/22, - 103.83.180.0/22, - 103.84.0.0/22, - 103.84.12.0/22, - 103.84.16.0/20, - 103.84.48.0/22, - 103.84.64.0/22, - 103.84.72.0/22, - 103.84.136.0/22, - 103.84.170.0/23, - 103.85.44.0/22, - 103.85.48.0/22, - 103.85.84.0/22, - 103.85.136.0/22, - 103.85.144.0/22, - 103.85.164.0/22, - 103.85.168.0/21, - 103.85.176.0/22, - 103.85.186.0/23, - 103.85.224.0/22, - 103.86.28.0/22, - 103.86.32.0/22, - 103.86.60.0/22, - 103.86.80.0/22, - 103.86.204.0/22, - 103.86.208.0/20, - 103.86.224.0/19, - 103.87.0.0/21, - 103.87.20.0/22, - 103.87.32.0/22, - 103.87.96.0/22, - 103.87.132.0/22, - 103.87.180.0/22, - 103.87.224.0/22, - 103.88.4.0/22, - 103.88.8.0/21, - 103.88.16.0/21, - 103.88.32.0/21, - 103.88.60.0/22, - 103.88.64.0/22, - 103.88.72.0/22, - 103.88.96.0/22, - 103.88.164.0/22, - 103.88.212.0/22, - 103.89.28.0/22, - 103.89.96.0/20, - 103.89.112.0/21, - 103.89.148.0/22, - 103.89.172.0/22, - 103.89.184.0/21, - 103.89.192.0/19, - 103.89.224.0/21, - 103.90.51.0/24, - 103.90.52.0/22, - 103.90.56.0/23, - 103.90.80.0/22, - 103.90.92.0/22, - 103.90.100.0/22, - 103.90.104.0/21, - 103.90.112.0/20, - 103.90.128.0/21, - 103.90.152.0/22, - 103.90.168.0/22, - 103.90.173.0/24, - 103.90.176.0/22, - 103.90.188.0/22, - 103.90.192.0/22, - 103.91.36.0/22, - 103.91.40.0/22, - 103.91.108.0/22, - 103.91.112.0/23, - 103.91.138.0/23, - 103.91.152.0/22, - 103.91.176.0/22, - 103.91.200.0/22, - 103.91.208.0/21, - 103.91.236.0/22, - 103.91.252.0/22, - 103.92.0.0/21, - 103.92.8.0/22, - 103.92.12.0/23, - 103.92.48.0/20, - 103.92.64.0/20, - 103.92.80.0/22, - 103.92.88.0/22, - 103.92.108.0/22, - 103.92.124.0/22, - 103.92.132.0/24, - 103.92.134.0/23, - 103.92.156.0/22, - 103.92.164.0/22, - 103.92.168.0/21, - 103.92.176.0/20, - 103.92.192.0/22, - 103.92.236.0/22, - 103.92.240.0/20, - 103.93.0.0/21, - 103.93.28.0/22, - 103.93.84.0/22, - 103.93.142.0/23, - 103.93.152.0/22, - 103.93.180.0/22, - 103.93.204.0/22, - 103.94.12.0/22, - 103.94.20.0/22, - 103.94.32.0/20, - 103.94.72.0/22, - 103.94.88.0/22, - 103.94.116.0/22, - 103.94.160.0/22, - 103.94.200.0/22, - 103.95.52.0/22, - 103.95.68.0/22, - 103.95.88.0/21, - 103.95.136.0/21, - 103.95.144.0/22, - 103.95.152.0/22, - 103.95.216.0/21, - 103.95.224.0/22, - 103.95.236.0/22, - 103.95.240.0/20, - 103.96.8.0/22, - 103.96.124.0/22, - 103.96.136.0/22, - 103.96.152.0/21, - 103.96.160.0/19, - 103.96.192.0/20, - 103.96.208.0/21, - 103.96.216.0/22, - 103.96.224.0/23, - 103.97.16.0/20, - 103.97.40.0/22, - 103.97.56.0/21, - 103.97.64.0/21, - 103.97.112.0/21, - 103.97.144.0/21, - 103.97.188.0/22, - 103.97.192.0/22, - 103.98.0.0/23, - 103.98.15.0/24, - 103.98.40.0/21, - 103.98.48.0/22, - 103.98.56.0/22, - 103.98.80.0/22, - 103.98.88.0/22, - 103.98.100.0/22, - 103.98.124.0/22, - 103.98.136.0/21, - 103.98.144.0/22, - 103.98.164.0/22, - 103.98.168.0/22, - 103.98.180.0/22, - 103.98.196.0/22, - 103.98.216.0/21, - 103.98.224.0/21, - 103.98.232.0/22, - 103.98.240.0/20, - 103.99.40.0/23, - 103.99.56.0/22, - 103.99.104.0/22, - 103.99.116.0/22, - 103.99.120.0/22, - 103.99.152.0/22, - 103.99.220.0/22, - 103.99.232.0/21, - 103.100.0.0/22, - 103.100.32.0/22, - 103.100.40.0/22, - 103.100.48.0/22, - 103.100.56.0/22, - 103.100.64.0/22, - 103.100.88.0/22, - 103.100.116.0/22, - 103.100.144.0/22, - 103.100.240.0/22, - 103.100.248.0/21, - 103.101.8.0/21, - 103.101.60.0/22, - 103.101.121.0/24, - 103.101.122.0/23, - 103.101.124.0/22, - 103.101.144.0/21, - 103.101.180.0/22, - 103.101.184.0/22, - 103.102.76.0/22, - 103.102.80.0/22, - 103.102.168.0/21, - 103.102.180.0/22, - 103.102.184.0/21, - 103.102.192.0/21, - 103.102.200.0/22, - 103.102.208.0/21, - 103.103.12.0/22, - 103.103.16.0/22, - 103.103.36.0/22, - 103.103.68.0/22, - 103.103.72.0/22, - 103.103.188.0/22, - 103.103.200.0/21, - 103.103.221.0/24, - 103.103.222.0/23, - 103.103.224.0/21, - 103.103.232.0/22, - 103.103.248.0/21, - 103.104.0.0/21, - 103.104.36.0/22, - 103.104.40.0/22, - 103.104.64.0/22, - 103.104.152.0/22, - 103.104.188.0/22, - 103.104.252.0/22, - 103.105.0.0/21, - 103.105.12.0/22, - 103.105.16.0/22, - 103.105.60.0/22, - 103.105.116.0/22, - 103.105.180.0/22, - 103.105.184.0/22, - 103.105.200.0/21, - 103.105.220.0/22, - 103.106.36.0/22, - 103.106.40.0/21, - 103.106.60.0/22, - 103.106.68.0/22, - 103.106.96.0/22, - 103.106.120.0/22, - 103.106.128.0/21, - 103.106.196.0/22, - 103.106.212.0/22, - 103.106.252.0/22, - 103.107.0.0/22, - 103.107.28.0/22, - 103.107.32.0/22, - 103.107.44.0/22, - 103.107.72.0/22, - 103.107.164.0/22, - 103.107.168.0/22, - 103.107.188.0/22, - 103.107.192.0/22, - 103.107.208.0/20, - 103.108.52.0/22, - 103.108.160.0/21, - 103.108.196.0/22, - 103.108.208.0/21, - 103.108.224.0/22, - 103.108.244.0/22, - 103.109.20.0/22, - 103.109.48.0/22, - 103.109.88.0/22, - 103.109.248.0/22, - 103.110.92.0/22, - 103.110.116.0/23, - 103.110.119.0/24, - 103.110.132.0/22, - 103.110.136.0/22, - 103.110.156.0/22, - 103.110.188.0/22, - 103.110.204.0/22, - 103.111.64.0/22, - 103.111.172.0/22, - 103.111.252.0/22, - 103.112.72.0/22, - 103.112.88.0/21, - 103.112.108.0/22, - 103.112.112.0/22, - 103.112.140.0/22, - 103.113.4.0/22, - 103.113.92.0/22, - 103.113.220.0/22, - 103.113.232.0/21, - 103.114.4.0/22, - 103.114.28.0/22, - 103.114.68.0/22, - 103.114.100.0/22, - 103.114.148.0/22, - 103.114.158.0/23, - 103.114.176.0/22, - 103.114.212.0/22, - 103.114.236.0/22, - 103.114.240.0/22, - 103.115.52.0/22, - 103.115.68.0/22, - 103.115.92.0/22, - 103.115.120.0/22, - 103.115.148.0/22, - 103.115.248.0/22, - 103.116.42.0/24, - 103.116.76.0/22, - 103.116.92.0/22, - 103.116.120.0/22, - 103.116.128.0/22, - 103.116.138.0/23, - 103.116.184.0/22, - 103.116.220.0/22, - 103.116.224.0/21, - 103.117.16.0/22, - 103.117.72.0/22, - 103.117.88.0/22, - 103.117.188.0/22, - 103.117.220.0/22, - 103.117.248.0/22, - 103.118.52.0/22, - 103.118.56.0/21, - 103.118.64.0/21, - 103.118.72.0/22, - 103.118.88.0/22, - 103.118.173.0/24, - 103.119.28.0/22, - 103.119.104.0/22, - 103.119.115.0/24, - 103.119.156.0/22, - 103.119.180.0/22, - 103.119.200.0/22, - 103.119.224.0/22, - 103.120.52.0/22, - 103.120.72.0/22, - 103.120.88.0/22, - 103.120.96.0/22, - 103.120.140.0/22, - 103.120.196.0/22, - 103.120.224.0/22, - 103.121.52.0/22, - 103.121.92.0/22, - 103.121.160.0/21, - 103.121.250.0/24, - 103.121.252.0/22, - 103.122.48.0/22, - 103.122.192.0/22, - 103.122.240.0/22, - 103.123.4.0/22, - 103.123.56.0/22, - 103.123.88.0/21, - 103.123.116.0/22, - 103.123.176.0/22, - 103.123.200.0/21, - 103.123.208.0/21, - 103.124.24.0/22, - 103.124.48.0/22, - 103.124.64.0/22, - 103.124.212.0/22, - 103.124.216.0/22, - 103.125.20.0/22, - 103.125.44.0/22, - 103.125.132.0/22, - 103.125.164.0/22, - 103.125.196.0/22, - 103.125.236.0/22, - 103.125.249.0/24, - 103.125.250.0/23, - 103.126.0.0/22, - 103.126.16.0/22, - 103.126.44.0/22, - 103.126.101.0/24, - 103.126.102.0/23, - 103.126.124.0/22, - 103.126.128.0/22, - 103.129.55.0/24, - 103.130.132.0/22, - 103.130.160.0/22, - 103.130.228.0/22, - 103.131.20.0/22, - 103.131.36.0/22, - 103.131.138.0/23, - 103.131.152.0/22, - 103.131.168.0/22, - 103.131.176.0/24, - 103.131.178.0/23, - 103.131.224.0/21, - 103.131.240.0/22, - 103.132.22.0/23, - 103.132.60.0/22, - 103.132.64.0/20, - 103.132.80.0/22, - 103.132.104.0/21, - 103.132.112.0/21, - 103.132.120.0/22, - 103.132.188.0/22, - 103.132.208.0/21, - 103.132.234.0/23, - 103.133.12.0/22, - 103.133.40.0/22, - 103.133.128.0/22, - 103.133.176.0/22, - 103.133.232.0/22, - 103.134.136.0/22, - 103.134.196.0/22, - 103.134.232.0/23, - 103.135.80.0/22, - 103.135.124.0/22, - 103.135.148.0/22, - 103.135.156.0/22, - 103.135.160.0/21, - 103.135.176.0/22, - 103.135.184.0/22, - 103.135.192.0/21, - 103.135.236.0/22, - 103.136.128.0/22, - 103.136.232.0/22, - 103.137.58.0/23, - 103.137.60.0/24, - 103.137.136.0/23, - 103.137.180.0/22, - 103.137.236.0/22, - 103.138.2.0/23, - 103.138.135.0/24, - 103.138.156.0/23, - 103.138.208.0/23, - 103.138.220.0/23, - 103.138.248.0/23, - 103.139.22.0/23, - 103.139.134.0/23, - 103.139.136.0/23, - 103.139.172.0/23, - 103.139.204.0/23, - 103.139.212.0/23, - 103.140.14.0/23, - 103.140.140.0/23, - 103.140.152.0/23, - 103.140.192.0/23, - 103.140.228.0/23, - 103.141.10.0/23, - 103.141.58.0/23, - 103.141.128.0/23, - 103.141.186.0/23, - 103.141.242.0/23, - 103.142.28.0/23, - 103.142.58.0/23, - 103.142.82.0/23, - 103.142.96.0/23, - 103.142.122.0/23, - 103.142.128.0/23, - 103.142.154.0/23, - 103.142.156.0/23, - 103.142.172.0/23, - 103.142.180.0/23, - 103.142.186.0/23, - 103.142.220.0/23, - 103.142.234.0/23, - 103.142.238.0/23, - 103.143.16.0/22, - 103.143.74.0/23, - 103.143.124.0/23, - 103.143.132.0/22, - 103.143.174.0/23, - 103.143.228.0/23, - 103.144.52.0/23, - 103.144.66.0/23, - 103.144.70.0/23, - 103.144.72.0/23, - 103.144.136.0/23, - 103.144.158.0/23, - 103.145.38.0/23, - 103.145.42.0/23, - 103.145.90.0/24, - 103.145.92.0/24, - 103.145.98.0/23, - 103.145.188.0/23, - 103.146.72.0/23, - 103.146.91.0/24, - 103.146.126.0/23, - 103.146.138.0/23, - 103.146.236.0/23, - 103.146.252.0/23, - 103.147.124.0/23, - 103.147.206.0/23, - 103.148.174.0/23, - 103.149.6.0/23, - 103.149.17.0/24, - 103.149.44.0/23, - 103.149.110.0/23, - 103.149.181.0/24, - 103.149.210.0/23, - 103.149.214.0/23, - 103.149.220.0/23, - 103.149.242.0/23, - 103.149.244.0/22, - 103.150.10.0/23, - 103.150.24.0/23, - 103.150.66.0/23, - 103.150.72.0/23, - 103.150.122.0/23, - 103.150.126.0/23, - 103.150.128.0/23, - 103.150.146.0/23, - 103.150.164.0/23, - 103.150.172.0/23, - 103.150.181.0/24, - 103.150.200.0/23, - 103.150.212.0/24, - 103.150.216.0/23, - 103.150.244.0/23, - 103.151.5.0/24, - 103.151.142.0/23, - 103.151.148.0/23, - 103.151.158.0/23, - 103.151.178.0/23, - 103.151.216.0/23, - 103.152.28.0/22, - 103.152.56.0/23, - 103.152.76.0/23, - 103.152.120.0/22, - 103.152.152.0/23, - 103.152.168.0/22, - 103.152.186.0/23, - 103.152.190.0/23, - 103.152.192.0/23, - 103.152.200.0/23, - 103.152.208.0/23, - 103.152.224.0/23, - 103.152.250.0/23, - 103.153.36.0/23, - 103.153.100.0/23, - 103.153.114.0/23, - 103.153.122.0/23, - 103.153.132.0/23, - 103.153.138.0/23, - 103.153.146.0/23, - 103.153.160.0/23, - 103.154.18.0/23, - 103.154.30.0/23, - 103.154.32.0/23, - 103.154.40.0/23, - 103.154.66.0/23, - 103.154.162.0/23, - 103.154.164.0/23, - 103.154.168.0/23, - 103.155.14.0/23, - 103.155.34.0/23, - 103.155.48.0/23, - 103.155.76.0/23, - 103.155.110.0/23, - 103.155.120.0/23, - 103.155.248.0/23, - 103.156.28.0/23, - 103.156.68.0/23, - 103.156.78.0/23, - 103.156.104.0/23, - 103.156.158.0/23, - 103.156.174.0/23, - 103.156.186.0/23, - 103.156.228.0/23, - 103.157.30.0/23, - 103.157.138.0/23, - 103.157.174.0/23, - 103.157.212.0/23, - 103.157.234.0/23, - 103.157.254.0/23, - 103.158.0.0/23, - 103.158.8.0/23, - 103.158.16.0/23, - 103.158.200.0/23, - 103.158.222.241/32, - 103.158.224.0/23, - 103.159.80.0/23, - 103.159.122.0/23, - 103.159.124.0/23, - 103.159.134.0/23, - 103.159.142.0/23, - 103.160.33.0/24, - 103.160.34.0/23, - 103.160.112.0/22, - 103.160.244.0/23, - 103.160.254.0/23, - 103.161.14.0/23, - 103.161.102.0/23, - 103.161.139.0/24, - 103.161.208.0/23, - 103.161.220.0/23, - 103.161.254.0/23, - 103.162.10.0/23, - 103.162.32.0/23, - 103.162.116.0/23, - 103.163.28.0/23, - 103.163.32.0/23, - 103.163.46.0/23, - 103.163.74.0/23, - 103.163.180.0/23, - 103.164.4.0/23, - 103.164.32.0/23, - 103.164.40.0/22, - 103.164.64.0/23, - 103.164.76.0/23, - 103.164.178.0/23, - 103.165.44.0/23, - 103.165.52.0/23, - 103.165.82.0/23, - 103.165.110.0/23, - 103.166.20.0/23, - 103.166.50.0/23, - 103.166.52.0/22, - 103.166.84.0/23, - 103.166.138.0/23, - 103.167.0.0/23, - 103.167.36.0/23, - 103.167.100.0/23, - 103.168.98.0/23, - 103.168.170.0/23, - 103.169.50.0/23, - 103.169.62.0/23, - 103.169.108.0/23, - 103.169.162.0/23, - 103.169.202.0/23, - 103.170.4.0/23, - 103.170.134.0/23, - 103.170.210.0/23, - 103.170.212.0/23, - 103.171.32.0/23, - 103.171.214.0/23, - 103.172.32.0/23, - 103.172.52.0/24, - 103.172.160.0/25, - 103.172.160.128/26, - 103.172.160.194/31, - 103.172.160.196/30, - 103.172.160.200/29, - 103.172.160.208/28, - 103.172.160.226/31, - 103.172.160.228/31, - 103.172.160.238/31, - 103.172.160.244/30, - 103.172.160.248/29, - 103.172.161.0/25, - 103.172.161.128/26, - 103.172.161.192/30, - 103.172.161.196/31, - 103.172.161.211/32, - 103.172.161.212/30, - 103.172.161.216/30, - 103.172.161.220/31, - 103.172.161.223/32, - 103.172.161.224/32, - 103.172.161.226/31, - 103.172.161.228/31, - 103.172.161.240/28, - 103.172.191.0/24, - 103.173.102.0/23, - 103.173.182.0/23, - 103.173.184.0/23, - 103.174.94.0/23, - 103.175.114.0/23, - 103.175.118.0/23, - 103.175.197.0/24, - 103.176.52.0/23, - 103.176.222.0/23, - 103.176.244.0/23, - 103.177.28.0/23, - 103.177.70.0/23, - 103.177.162.0/24, - 103.178.240.0/23, - 103.179.76.0/22, - 103.180.109.0/24, - 103.180.226.0/23, - 103.181.234.0/23, - 103.182.96.0/24, - 103.183.26.0/23, - 103.183.66.0/23, - 103.183.122.0/23, - 103.183.124.0/23, - 103.183.218.0/23, - 103.184.46.0/23, - 103.184.60.0/23, - 103.185.78.0/23, - 103.185.80.0/23, - 103.186.4.0/23, - 103.186.108.0/23, - 103.186.158.0/23, - 103.186.228.0/23, - 103.189.92.0/23, - 103.189.140.0/23, - 103.189.152.0/22, - 103.190.20.0/23, - 103.190.71.0/24, - 103.190.104.0/23, - 103.190.116.0/22, - 103.190.122.0/23, - 103.191.102.0/23, - 103.191.242.0/23, - 103.192.0.0/19, - 103.192.48.0/21, - 103.192.56.0/22, - 103.192.84.0/22, - 103.192.88.0/21, - 103.192.96.0/20, - 103.192.112.0/22, - 103.192.128.0/21, - 103.192.139.0/24, - 103.192.140.0/22, - 103.192.144.0/22, - 103.192.164.0/22, - 103.192.188.0/22, - 103.192.208.0/21, - 103.192.216.0/22, - 103.192.252.0/22, - 103.193.42.0/23, - 103.193.44.0/22, - 103.193.120.0/22, - 103.193.140.0/22, - 103.193.160.0/22, - 103.193.188.0/22, - 103.193.192.0/22, - 103.193.212.0/22, - 103.193.216.0/21, - 103.193.224.0/20, - 103.194.18.0/23, - 103.195.112.0/22, - 103.195.152.0/22, - 103.195.160.0/22, - 103.196.64.0/22, - 103.196.72.0/22, - 103.196.88.0/21, - 103.196.96.0/22, - 103.196.168.0/22, - 103.197.0.0/22, - 103.197.180.0/22, - 103.197.228.0/22, - 103.198.20.0/22, - 103.198.60.0/22, - 103.198.64.0/22, - 103.198.72.0/22, - 103.198.124.0/22, - 103.198.156.0/22, - 103.198.180.0/22, - 103.198.196.0/22, - 103.198.216.0/21, - 103.198.224.0/20, - 103.198.240.0/21, - 103.199.164.0/22, - 103.199.196.0/22, - 103.199.228.0/22, - 103.199.252.0/22, - 103.200.52.0/22, - 103.200.64.0/21, - 103.200.136.0/21, - 103.200.144.0/20, - 103.200.160.0/19, - 103.200.192.0/22, - 103.200.220.0/22, - 103.200.224.0/19, - 103.201.0.0/20, - 103.201.16.0/21, - 103.201.28.0/22, - 103.201.32.0/19, - 103.201.64.0/22, - 103.201.76.0/22, - 103.201.80.0/20, - 103.201.96.0/20, - 103.201.112.0/21, - 103.201.120.0/22, - 103.201.152.0/21, - 103.201.160.0/19, - 103.201.192.0/18, - 103.202.0.0/19, - 103.202.32.0/20, - 103.202.56.0/21, - 103.202.64.0/18, - 103.202.128.0/20, - 103.202.144.0/22, - 103.202.152.0/21, - 103.202.160.0/19, - 103.202.192.0/20, - 103.202.212.0/22, - 103.202.228.0/22, - 103.202.236.0/22, - 103.202.240.0/20, - 103.203.0.0/19, - 103.203.32.0/22, - 103.203.56.0/22, - 103.203.96.0/22, - 103.203.104.0/21, - 103.203.112.0/20, - 103.203.128.0/22, - 103.203.140.0/22, - 103.203.164.0/22, - 103.203.168.0/22, - 103.203.192.0/22, - 103.203.200.0/22, - 103.203.212.0/22, - 103.203.216.0/22, - 103.204.24.0/22, - 103.204.72.0/22, - 103.204.88.0/22, - 103.204.112.0/22, - 103.204.136.0/21, - 103.204.144.0/21, - 103.204.152.0/22, - 103.204.196.0/22, - 103.204.216.0/23, - 103.204.232.0/21, - 103.205.4.0/22, - 103.205.40.0/21, - 103.205.52.0/22, - 103.205.108.0/22, - 103.205.116.0/22, - 103.205.136.0/22, - 103.205.162.0/24, - 103.205.188.0/22, - 103.205.192.0/21, - 103.205.200.0/22, - 103.205.236.0/22, - 103.205.248.0/21, - 103.206.0.0/22, - 103.206.44.0/22, - 103.206.148.0/22, - 103.207.104.0/22, - 103.207.184.0/21, - 103.207.192.0/20, - 103.207.208.0/21, - 103.207.220.0/22, - 103.207.228.0/22, - 103.207.232.0/22, - 103.208.12.0/22, - 103.208.16.0/22, - 103.208.28.0/22, - 103.208.40.0/21, - 103.208.48.0/22, - 103.209.112.0/22, - 103.209.136.0/22, - 103.209.201.0/24, - 103.209.202.0/23, - 103.209.209.0/24, - 103.209.210.0/23, - 103.209.216.0/22, - 103.210.96.0/22, - 103.210.156.0/22, - 103.210.164.0/22, - 103.210.168.0/21, - 103.210.176.0/20, - 103.210.217.0/24, - 103.210.218.0/23, - 103.211.44.0/22, - 103.211.96.0/23, - 103.211.98.0/24, - 103.211.156.0/22, - 103.211.164.0/22, - 103.211.220.0/22, - 103.211.248.0/22, - 103.212.0.0/20, - 103.212.44.0/22, - 103.212.48.0/22, - 103.212.84.0/22, - 103.212.100.0/22, - 103.212.109.0/24, - 103.212.148.0/22, - 103.212.164.0/22, - 103.212.196.0/22, - 103.212.200.0/22, - 103.212.252.0/22, - 103.213.40.0/21, - 103.213.48.0/20, - 103.213.64.0/19, - 103.213.96.0/22, - 103.213.132.0/22, - 103.213.136.0/21, - 103.213.144.0/20, - 103.213.160.0/19, - 103.213.196.0/22, - 103.213.226.0/23, - 103.214.48.0/22, - 103.214.84.0/22, - 103.214.212.0/22, - 103.214.240.0/21, - 103.215.28.0/22, - 103.215.32.0/21, - 103.215.44.0/22, - 103.215.100.0/22, - 103.215.108.0/22, - 103.215.116.0/22, - 103.215.120.0/22, - 103.215.140.0/22, - 103.216.4.0/22, - 103.216.8.0/21, - 103.216.16.0/20, - 103.216.32.0/20, - 103.216.64.0/22, - 103.216.108.0/22, - 103.216.136.0/22, - 103.216.152.0/22, - 103.216.156.0/23, - 103.216.224.0/21, - 103.216.240.0/20, - 103.217.0.0/18, - 103.217.168.0/22, - 103.217.180.0/22, - 103.217.184.0/21, - 103.217.192.0/20, - 103.218.8.0/21, - 103.218.16.0/21, - 103.218.28.0/22, - 103.218.32.0/19, - 103.218.64.0/19, - 103.218.178.0/23, - 103.218.192.0/20, - 103.218.208.0/21, - 103.218.216.0/22, - 103.219.24.0/21, - 103.219.32.0/21, - 103.219.64.0/22, - 103.219.84.0/22, - 103.219.88.0/21, - 103.219.96.0/21, - 103.219.176.0/22, - 103.219.184.0/22, - 103.220.48.0/20, - 103.220.64.0/22, - 103.220.92.0/22, - 103.220.96.0/22, - 103.220.100.0/24, - 103.220.102.0/23, - 103.220.104.0/21, - 103.220.116.0/22, - 103.220.120.0/21, - 103.220.128.0/18, - 103.220.192.0/21, - 103.220.200.0/22, - 103.220.240.0/20, - 103.221.0.0/19, - 103.221.32.0/20, - 103.221.50.0/23, - 103.221.88.0/22, - 103.221.92.0/23, - 103.221.96.0/19, - 103.221.128.0/18, - 103.221.192.0/20, - 103.222.0.0/20, - 103.222.16.0/22, - 103.222.24.0/21, - 103.222.33.0/24, - 103.222.34.0/23, - 103.222.36.0/22, - 103.222.40.0/21, - 103.222.48.0/20, - 103.222.64.0/18, - 103.222.128.0/18, - 103.222.192.0/19, - 103.222.224.0/21, - 103.222.232.0/22, - 103.222.240.0/21, - 103.223.16.0/20, - 103.223.32.0/19, - 103.223.64.0/19, - 103.223.96.0/20, - 103.223.112.0/21, - 103.223.124.0/22, - 103.223.128.0/21, - 103.223.140.0/22, - 103.223.144.0/20, - 103.223.160.0/20, - 103.223.176.0/21, - 103.223.188.0/22, - 103.223.192.0/18, - 103.224.0.0/22, - 103.224.40.0/21, - 103.224.60.0/22, - 103.224.220.0/22, - 103.224.224.0/21, - 103.224.232.0/22, - 103.225.18.0/24, - 103.226.40.0/22, - 103.226.56.0/22, - 103.226.80.0/22, - 103.226.132.0/22, - 103.226.156.0/22, - 103.226.180.0/22, - 103.226.196.0/22, - 103.227.48.0/22, - 103.227.72.0/21, - 103.227.80.0/22, - 103.227.100.0/22, - 103.227.120.0/22, - 103.227.132.0/22, - 103.227.136.0/22, - 103.227.196.0/22, - 103.227.204.0/23, - 103.227.206.0/24, - 103.227.212.0/22, - 103.227.228.0/22, - 103.228.12.0/22, - 103.228.88.0/22, - 103.228.136.0/22, - 103.228.160.0/22, - 103.228.176.0/22, - 103.228.204.0/22, - 103.228.208.0/22, - 103.228.228.0/22, - 103.228.232.0/22, - 103.229.20.0/22, - 103.229.136.0/22, - 103.229.148.0/22, - 103.229.172.0/22, - 103.229.212.0/22, - 103.229.216.0/21, - 103.229.228.0/22, - 103.229.236.0/22, - 103.229.240.0/22, - 103.230.0.0/22, - 103.230.28.0/22, - 103.230.44.0/22, - 103.230.96.0/22, - 103.230.110.0/23, - 103.230.128.0/23, - 103.230.196.0/22, - 103.230.200.0/21, - 103.230.212.0/22, - 103.230.236.0/22, - 103.231.16.0/21, - 103.231.64.0/21, - 103.231.180.0/22, - 103.231.186.0/24, - 103.231.244.0/22, - 103.232.4.0/22, - 103.232.17.168/29, - 103.232.144.0/22, - 103.232.166.0/23, - 103.233.4.0/22, - 103.233.44.0/22, - 103.233.52.0/22, - 103.233.104.0/22, - 103.233.128.0/22, - 103.233.136.0/22, - 103.233.162.0/23, - 103.233.228.0/22, - 103.234.0.0/22, - 103.234.20.0/22, - 103.234.56.0/22, - 103.234.128.0/22, - 103.234.172.0/22, - 103.234.180.0/22, - 103.234.244.0/22, - 103.235.48.0/22, - 103.235.56.0/21, - 103.235.80.0/22, - 103.235.85.0/24, - 103.235.87.0/24, - 103.235.100.0/22, - 103.235.128.0/20, - 103.235.144.0/21, - 103.235.184.0/22, - 103.235.192.0/22, - 103.235.200.0/22, - 103.235.220.0/22, - 103.235.224.0/19, - 103.236.0.0/18, - 103.236.64.0/19, - 103.236.96.0/22, - 103.236.116.0/23, - 103.236.120.0/22, - 103.236.184.0/22, - 103.236.220.0/22, - 103.236.240.0/20, - 103.237.0.0/20, - 103.237.24.0/21, - 103.237.68.0/22, - 103.237.88.0/22, - 103.237.152.0/22, - 103.237.176.0/20, - 103.237.192.0/18, - 103.238.0.0/21, - 103.238.16.0/20, - 103.238.32.0/20, - 103.238.48.0/21, - 103.238.56.0/22, - 103.238.88.0/21, - 103.238.96.0/22, - 103.238.132.0/22, - 103.238.140.0/22, - 103.238.144.0/22, - 103.238.152.0/23, - 103.238.160.0/19, - 103.238.196.0/22, - 103.238.204.0/22, - 103.238.252.0/22, - 103.239.0.0/22, - 103.239.44.0/22, - 103.239.68.0/22, - 103.239.152.0/21, - 103.239.180.0/22, - 103.239.184.0/22, - 103.239.192.0/21, - 103.239.204.0/22, - 103.239.208.0/22, - 103.239.224.0/22, - 103.239.244.0/22, - 103.240.16.0/22, - 103.240.36.0/22, - 103.240.42.0/23, - 103.240.72.0/22, - 103.240.84.0/22, - 103.240.124.0/22, - 103.240.172.0/22, - 103.240.188.0/22, - 103.240.200.0/22, - 103.240.244.0/22, - 103.241.12.0/22, - 103.241.92.0/22, - 103.241.96.0/22, - 103.241.160.0/22, - 103.241.172.0/23, - 103.241.184.0/21, - 103.241.220.0/22, - 103.242.64.0/22, - 103.242.128.0/24, - 103.242.130.0/23, - 103.242.160.0/22, - 103.242.168.0/21, - 103.242.176.0/22, - 103.242.200.0/22, - 103.242.212.0/22, - 103.242.220.0/22, - 103.242.240.0/22, - 103.243.136.0/22, - 103.243.252.0/22, - 103.244.16.0/22, - 103.244.26.0/23, - 103.244.58.0/23, - 103.244.60.0/22, - 103.244.64.0/20, - 103.244.80.0/21, - 103.244.119.0/24, - 103.244.164.0/22, - 103.244.232.0/22, - 103.244.252.0/22, - 103.245.23.0/24, - 103.245.52.0/22, - 103.245.60.0/22, - 103.245.80.0/22, - 103.245.124.0/22, - 103.245.128.0/22, - 103.246.8.0/21, - 103.246.120.0/21, - 103.246.132.0/22, - 103.246.152.0/22, - 103.247.168.0/21, - 103.247.176.0/22, - 103.247.191.0/24, - 103.247.200.0/22, - 103.247.212.0/22, - 103.248.0.0/24, - 103.248.64.0/23, - 103.248.100.0/22, - 103.248.124.0/22, - 103.248.152.0/22, - 103.248.168.0/22, - 103.248.192.0/22, - 103.248.212.0/22, - 103.248.224.0/22, - 103.249.8.0/21, - 103.249.52.0/22, - 103.249.128.0/22, - 103.249.136.0/22, - 103.249.144.0/22, - 103.249.164.0/22, - 103.249.168.0/21, - 103.249.176.0/22, - 103.249.188.0/22, - 103.249.244.0/22, - 103.249.252.0/22, - 103.250.32.0/22, - 103.250.104.0/22, - 103.250.124.0/22, - 103.250.180.0/22, - 103.250.192.0/22, - 103.250.216.0/22, - 103.250.224.0/22, - 103.250.236.0/22, - 103.250.248.0/21, - 103.251.32.0/22, - 103.251.84.0/22, - 103.251.96.0/22, - 103.251.124.0/22, - 103.251.129.0/24, - 103.251.131.0/24, - 103.251.160.0/22, - 103.251.192.0/22, - 103.251.204.0/22, - 103.251.240.0/22, - 103.252.28.0/22, - 103.252.36.0/22, - 103.252.64.0/22, - 103.252.96.0/22, - 103.252.104.0/22, - 103.252.172.0/22, - 103.252.204.0/22, - 103.252.208.0/22, - 103.252.232.0/22, - 103.252.248.0/22, - 103.253.4.0/22, - 103.253.60.0/22, - 103.253.204.0/22, - 103.253.220.0/22, - 103.253.224.0/22, - 103.253.232.0/22, - 103.254.8.0/22, - 103.254.20.0/22, - 103.254.64.0/21, - 103.254.76.0/22, - 103.254.112.0/22, - 103.254.176.0/22, - 103.254.188.0/22, - 103.254.196.0/24, - 103.255.68.0/22, - 103.255.88.0/21, - 103.255.136.0/21, - 103.255.184.0/22, - 103.255.200.0/22, - 103.255.212.0/22, - 103.255.228.0/22, - 104.28.9.46/31, - 104.28.9.48/32, - 104.28.37.44/31, - 104.28.43.36/30, - 104.28.43.40/29, - 104.28.43.48/29, - 104.28.66.15/32, - 104.28.66.16/31, - 104.28.66.30/31, - 104.28.66.32/27, - 104.28.66.64/29, - 104.28.66.74/31, - 104.28.66.76/30, - 104.28.66.80/29, - 104.28.66.88/30, - 104.28.66.92/31, - 104.28.66.96/29, - 104.28.66.104/31, - 104.28.69.30/31, - 104.28.69.32/27, - 104.28.69.64/29, - 104.28.69.74/31, - 104.28.69.76/30, - 104.28.69.80/29, - 104.28.69.88/30, - 104.28.69.92/31, - 104.28.69.96/29, - 104.28.69.104/31, - 104.28.83.2/31, - 104.28.83.4/30, - 104.28.83.8/29, - 104.28.83.16/28, - 104.28.83.32/29, - 104.28.83.40/30, - 104.28.83.46/31, - 104.28.83.48/28, - 104.28.83.64/31, - 104.28.83.68/30, - 104.28.83.72/30, - 104.28.83.76/31, - 104.28.99.0/27, - 104.28.99.32/29, - 104.28.99.40/31, - 104.28.99.42/32, - 104.28.99.44/30, - 104.28.99.48/29, - 104.28.99.56/30, - 104.28.99.62/31, - 104.28.99.64/29, - 104.28.101.0/27, - 104.28.101.32/29, - 104.28.101.40/31, - 104.28.101.44/30, - 104.28.101.48/29, - 104.28.101.56/30, - 104.28.101.62/31, - 104.28.101.64/29, - 104.28.117.32/27, - 104.28.117.64/29, - 104.28.117.72/31, - 104.28.117.76/30, - 104.28.117.80/28, - 104.28.117.98/31, - 104.28.117.100/30, - 104.28.117.104/30, - 104.28.120.32/27, - 104.28.120.64/29, - 104.28.120.72/31, - 104.28.120.76/30, - 104.28.120.80/28, - 104.28.120.98/31, - 104.28.120.100/30, - 104.28.120.104/30, - 104.28.143.54/31, - 104.28.148.204/32, - 104.28.156.204/32, - 104.28.162.190/31, - 104.28.192.13/32, - 104.28.192.14/31, - 104.28.192.16/30, - 104.28.192.20/32, - 104.28.192.130/31, - 104.28.192.132/30, - 104.28.192.136/32, - 104.28.192.197/32, - 104.28.192.198/31, - 104.28.192.200/30, - 104.28.193.33/32, - 104.28.193.34/31, - 104.28.193.36/30, - 104.28.193.101/32, - 104.28.193.102/31, - 104.28.193.104/30, - 104.28.193.108/32, - 104.28.195.18/31, - 104.28.195.20/30, - 104.28.195.24/32, - 104.28.195.194/31, - 104.28.195.196/30, - 104.28.195.200/32, - 104.28.197.93/32, - 104.28.197.94/31, - 104.28.197.96/30, - 104.28.197.100/32, - 104.28.198.171/32, - 104.28.198.172/30, - 104.28.198.176/31, - 104.28.199.200/30, - 104.28.199.204/31, - 104.28.199.206/32, - 104.28.204.182/31, - 104.28.204.184/30, - 104.28.204.188/32, - 104.28.207.248/30, - 104.28.207.252/31, - 104.28.207.254/32, - 104.28.208.27/32, - 104.28.208.28/30, - 104.28.208.32/31, - 104.28.208.66/31, - 104.28.208.68/30, - 104.28.208.72/32, - 104.28.208.126/31, - 104.28.208.128/29, - 104.28.208.136/30, - 104.28.208.140/32, - 104.28.208.147/32, - 104.28.208.148/30, - 104.28.208.152/31, - 104.28.209.224/29, - 104.28.209.246/31, - 104.28.209.248/30, - 104.28.209.252/32, - 104.28.211.6/31, - 104.28.211.8/30, - 104.28.211.12/32, - 104.28.211.41/32, - 104.28.211.42/31, - 104.28.211.44/30, - 104.28.212.132/30, - 104.28.212.136/30, - 104.28.213.170/31, - 104.28.213.172/30, - 104.28.213.176/31, - 104.28.213.199/32, - 104.28.213.200/30, - 104.28.213.204/31, - 104.28.216.52/30, - 104.28.216.56/30, - 104.28.216.60/31, - 104.28.216.62/32, - 104.28.216.132/30, - 104.28.216.136/30, - 104.28.216.189/32, - 104.28.216.190/31, - 104.28.216.192/30, - 104.28.219.46/31, - 104.28.219.48/30, - 104.28.219.52/31, - 104.28.219.109/32, - 104.28.219.110/31, - 104.28.219.112/30, - 104.28.220.207/32, - 104.28.220.208/30, - 104.28.220.212/31, - 104.28.221.2/31, - 104.28.221.4/30, - 104.28.221.8/32, - 104.28.222.59/32, - 104.28.222.60/30, - 104.28.222.64/31, - 104.28.222.66/32, - 104.28.223.75/32, - 104.28.223.76/30, - 104.28.223.80/31, - 104.28.223.162/31, - 104.28.223.164/30, - 104.28.223.168/32, - 104.28.223.177/32, - 104.28.223.178/31, - 104.28.223.180/30, - 104.28.223.200/30, - 104.28.223.204/31, - 104.28.223.206/32, - 104.28.224.13/32, - 104.28.224.14/31, - 104.28.224.16/30, - 104.28.224.20/32, - 104.28.224.130/31, - 104.28.224.132/30, - 104.28.224.136/32, - 104.28.224.197/32, - 104.28.224.198/31, - 104.28.224.200/30, - 104.28.225.33/32, - 104.28.225.34/31, - 104.28.225.36/30, - 104.28.225.101/32, - 104.28.225.102/31, - 104.28.225.104/30, - 104.28.225.108/32, - 104.28.227.18/31, - 104.28.227.20/30, - 104.28.227.24/32, - 104.28.227.194/31, - 104.28.227.196/30, - 104.28.227.200/32, - 104.28.229.93/32, - 104.28.229.94/31, - 104.28.229.96/30, - 104.28.229.100/32, - 104.28.230.171/32, - 104.28.230.172/30, - 104.28.230.176/31, - 104.28.231.200/30, - 104.28.231.204/31, - 104.28.231.206/32, - 104.28.236.182/31, - 104.28.236.184/30, - 104.28.236.188/32, - 104.28.239.248/30, - 104.28.239.252/31, - 104.28.239.254/32, - 104.28.240.27/32, - 104.28.240.28/30, - 104.28.240.32/31, - 104.28.240.66/31, - 104.28.240.68/30, - 104.28.240.72/32, - 104.28.240.126/31, - 104.28.240.128/29, - 104.28.240.136/30, - 104.28.240.140/32, - 104.28.240.147/32, - 104.28.240.148/30, - 104.28.240.152/31, - 104.28.241.224/29, - 104.28.241.246/31, - 104.28.241.248/30, - 104.28.241.252/32, - 104.28.243.6/31, - 104.28.243.8/30, - 104.28.243.12/32, - 104.28.243.41/32, - 104.28.243.42/31, - 104.28.243.44/30, - 104.28.244.132/30, - 104.28.244.136/30, - 104.28.245.170/31, - 104.28.245.172/30, - 104.28.245.176/31, - 104.28.245.199/32, - 104.28.245.200/30, - 104.28.245.204/31, - 104.28.248.52/30, - 104.28.248.56/30, - 104.28.248.60/31, - 104.28.248.62/32, - 104.28.248.132/30, - 104.28.248.136/30, - 104.28.248.189/32, - 104.28.248.190/31, - 104.28.248.192/30, - 104.28.251.46/31, - 104.28.251.48/30, - 104.28.251.52/31, - 104.28.251.109/32, - 104.28.251.110/31, - 104.28.251.112/30, - 104.28.252.207/32, - 104.28.252.208/30, - 104.28.252.212/31, - 104.28.253.2/31, - 104.28.253.4/30, - 104.28.253.8/32, - 104.28.254.59/32, - 104.28.254.60/30, - 104.28.254.64/31, - 104.28.254.66/32, - 104.28.255.75/32, - 104.28.255.76/30, - 104.28.255.80/31, - 104.28.255.162/31, - 104.28.255.164/30, - 104.28.255.168/32, - 104.28.255.177/32, - 104.28.255.178/31, - 104.28.255.180/30, - 104.28.255.200/30, - 104.28.255.204/31, - 104.28.255.206/32, - 104.30.161.11/32, - 104.44.213.0/31, - 104.192.94.0/24, - 104.192.108.0/23, - 104.192.110.0/24, - 104.212.68.57/32, - 104.212.68.58/32, - 104.212.68.102/32, - 104.212.68.151/32, - 104.212.68.152/32, - 106.0.0.0/24, - 106.0.2.0/23, - 106.0.4.0/22, - 106.0.8.0/21, - 106.0.16.0/20, - 106.0.44.0/22, - 106.0.64.0/18, - 106.2.0.0/16, - 106.3.0.0/18, - 106.3.64.0/20, - 106.3.80.0/22, - 106.3.88.0/21, - 106.3.96.0/19, - 106.3.128.0/19, - 106.3.164.0/22, - 106.3.168.0/22, - 106.3.172.0/24, - 106.3.174.0/23, - 106.3.176.0/20, - 106.3.192.0/18, - 106.4.0.0/14, - 106.8.0.0/15, - 106.11.0.0/16, - 106.12.0.0/14, - 106.16.0.0/12, - 106.32.0.0/12, - 106.48.0.0/15, - 106.50.0.0/16, - 106.52.0.0/14, - 106.56.0.0/13, - 106.74.0.0/16, - 106.75.0.0/17, - 106.75.128.0/18, - 106.75.200.0/21, - 106.75.208.0/20, - 106.75.224.0/19, - 106.80.0.0/12, - 106.108.0.0/14, - 106.112.0.0/12, - 106.224.0.0/12, - 107.176.0.0/15, - 109.71.4.0/24, - 109.244.0.0/16, - 110.6.0.0/15, - 110.16.0.0/14, - 110.34.40.0/21, - 110.40.0.0/16, - 110.41.0.0/17, - 110.41.128.0/18, - 110.41.192.0/20, - 110.41.208.0/23, - 110.41.211.0/24, - 110.41.212.0/22, - 110.41.216.0/21, - 110.41.224.0/19, - 110.42.0.0/15, - 110.44.12.0/22, - 110.48.0.0/17, - 110.48.128.0/19, - 110.51.0.0/16, - 110.52.0.0/15, - 110.56.0.0/13, - 110.64.0.0/15, - 110.72.0.0/15, - 110.75.0.0/16, - 110.76.0.0/18, - 110.76.132.0/22, - 110.76.156.0/22, - 110.76.184.0/22, - 110.76.192.0/18, - 110.77.0.0/17, - 110.80.0.0/13, - 110.88.0.0/14, - 110.92.68.0/22, - 110.93.32.0/19, - 110.94.0.0/15, - 110.96.0.0/11, - 110.152.0.0/14, - 110.156.0.0/15, - 110.165.37.0/24, - 110.165.38.0/23, - 110.165.40.0/21, - 110.165.48.0/20, - 110.166.0.0/15, - 110.172.200.0/21, - 110.172.208.0/20, - 110.172.224.0/19, - 110.173.0.0/19, - 110.173.32.0/20, - 110.173.64.0/18, - 110.173.192.0/19, - 110.176.0.0/12, - 110.192.0.0/11, - 110.228.0.0/14, - 110.232.32.0/19, - 110.236.0.0/15, - 110.240.0.0/12, - 111.0.0.0/10, - 111.66.0.0/18, - 111.66.64.0/19, - 111.66.96.0/22, - 111.66.100.0/24, - 111.66.102.0/23, - 111.66.104.0/21, - 111.66.112.0/20, - 111.66.128.0/19, - 111.66.160.0/20, - 111.66.176.0/23, - 111.66.178.0/24, - 111.66.180.0/22, - 111.66.184.0/21, - 111.66.192.0/18, - 111.67.192.0/20, - 111.72.0.0/13, - 111.85.0.0/16, - 111.92.248.0/21, - 111.112.0.0/14, - 111.116.0.0/15, - 111.118.200.0/21, - 111.119.64.0/18, - 111.119.128.0/19, - 111.120.0.0/14, - 111.124.0.0/16, - 111.126.0.0/15, - 111.128.0.0/11, - 111.160.0.0/13, - 111.170.0.0/16, - 111.172.0.0/14, - 111.176.0.0/13, - 111.186.0.0/15, - 111.192.0.0/12, - 111.208.0.0/13, - 111.221.28.0/24, - 111.221.128.0/17, - 111.222.0.0/16, - 111.223.4.0/22, - 111.223.8.0/21, - 111.223.16.0/22, - 111.223.240.0/22, - 111.223.248.0/22, - 111.224.0.0/13, - 111.235.96.0/19, - 111.235.156.0/22, - 111.235.160.0/19, - 112.0.0.0/10, - 112.64.0.0/14, - 112.73.64.0/18, - 112.73.128.0/17, - 112.74.0.0/15, - 112.80.0.0/12, - 112.96.0.0/13, - 112.109.128.0/17, - 112.111.0.0/16, - 112.112.0.0/14, - 112.116.0.0/15, - 112.122.0.0/15, - 112.124.0.0/14, - 112.128.0.0/14, - 112.132.0.0/16, - 112.137.48.0/21, - 112.192.0.0/14, - 112.196.208.0/24, - 112.224.0.0/11, - 113.0.0.0/13, - 113.8.0.0/15, - 113.11.192.0/19, - 113.12.0.0/14, - 113.16.0.0/15, - 113.18.0.0/16, - 113.21.232.0/21, - 113.24.0.0/14, - 113.31.88.0/23, - 113.31.96.0/19, - 113.31.136.0/21, - 113.31.144.0/20, - 113.31.160.0/19, - 113.31.192.0/18, - 113.44.0.0/14, - 113.48.0.0/14, - 113.52.160.0/19, - 113.52.228.0/22, - 113.54.0.0/15, - 113.56.0.0/15, - 113.58.0.0/16, - 113.59.0.0/17, - 113.59.224.0/22, - 113.62.0.0/15, - 113.64.0.0/10, - 113.128.0.0/15, - 113.130.96.0/20, - 113.130.112.0/21, - 113.132.0.0/14, - 113.136.0.0/13, - 113.192.40.0/23, - 113.192.57.0/24, - 113.192.62.0/23, - 113.194.0.0/15, - 113.197.100.0/22, - 113.197.104.0/22, - 113.200.0.0/15, - 113.202.0.0/16, - 113.204.0.0/14, - 113.208.96.0/19, - 113.208.128.0/17, - 113.209.0.0/16, - 113.212.0.0/18, - 113.212.100.0/22, - 113.212.184.0/21, - 113.213.0.0/17, - 113.214.0.0/15, - 113.218.0.0/15, - 113.220.0.0/14, - 113.224.0.0/12, - 113.240.0.0/13, - 113.248.0.0/14, - 114.28.0.0/17, - 114.28.128.0/18, - 114.28.194.0/23, - 114.28.196.0/24, - 114.28.200.0/23, - 114.28.209.0/24, - 114.28.211.0/24, - 114.28.212.0/22, - 114.28.216.0/21, - 114.28.224.0/22, - 114.28.228.0/23, - 114.28.231.0/24, - 114.28.232.0/21, - 114.28.240.0/20, - 114.31.64.0/21, - 114.54.0.0/15, - 114.60.0.0/14, - 114.64.0.0/15, - 114.66.0.0/17, - 114.66.128.0/20, - 114.66.144.0/21, - 114.66.152.0/22, - 114.66.176.0/20, - 114.66.192.0/19, - 114.66.228.0/22, - 114.66.232.0/21, - 114.66.240.0/20, - 114.67.0.0/16, - 114.68.0.0/16, - 114.79.64.0/18, - 114.80.0.0/12, - 114.96.0.0/13, - 114.104.0.0/14, - 114.110.0.0/20, - 114.110.64.0/18, - 114.111.0.0/19, - 114.111.160.0/19, - 114.112.4.0/22, - 114.112.8.0/22, - 114.112.22.0/24, - 114.112.24.0/21, - 114.112.32.0/19, - 114.112.64.0/19, - 114.112.96.0/20, - 114.112.116.0/22, - 114.112.120.0/21, - 114.112.136.0/21, - 114.112.144.0/20, - 114.112.160.0/19, - 114.112.192.0/19, - 114.113.0.0/17, - 114.113.128.0/21, - 114.113.140.0/22, - 114.113.144.0/20, - 114.113.160.0/19, - 114.113.196.0/22, - 114.113.200.0/21, - 114.113.208.0/20, - 114.113.224.0/20, - 114.114.0.0/15, - 114.116.0.0/15, - 114.118.0.0/16, - 114.119.0.0/17, - 114.119.192.0/18, - 114.132.0.0/16, - 114.135.0.0/16, - 114.138.0.0/15, - 114.141.64.0/21, - 114.141.80.0/21, - 114.141.128.0/18, - 114.142.136.0/21, - 114.196.0.0/15, - 114.198.248.0/21, - 114.208.0.0/12, - 114.224.0.0/11, - 115.24.0.0/14, - 115.28.0.0/15, - 115.31.64.0/22, - 115.31.72.0/21, - 115.32.0.0/14, - 115.42.56.0/22, - 115.44.0.0/14, - 115.48.0.0/12, - 115.69.64.0/20, - 115.84.0.0/18, - 115.85.192.0/18, - 115.100.0.0/14, - 115.104.0.0/14, - 115.120.0.0/14, - 115.124.16.0/20, - 115.148.0.0/14, - 115.152.0.0/13, - 115.166.64.0/19, - 115.168.0.0/13, - 115.180.0.0/14, - 115.187.0.0/20, - 115.190.0.0/15, - 115.192.0.0/11, - 115.224.0.0/12, - 116.0.8.0/21, - 116.0.24.0/21, - 116.0.81.0/24, - 116.0.89.0/24, - 116.1.0.0/16, - 116.2.0.0/15, - 116.4.0.0/14, - 116.8.0.0/14, - 116.13.0.0/16, - 116.16.0.0/12, - 116.50.0.0/20, - 116.52.0.0/14, - 116.56.0.0/15, - 116.58.128.0/20, - 116.58.208.0/20, - 116.60.0.0/14, - 116.66.0.0/17, - 116.68.136.0/21, - 116.68.176.0/21, - 116.69.0.0/16, - 116.70.64.0/18, - 116.76.0.0/14, - 116.85.0.0/16, - 116.89.144.0/20, - 116.89.240.0/22, - 116.90.80.0/20, - 116.90.184.0/21, - 116.95.0.0/16, - 116.112.0.0/14, - 116.116.0.0/15, - 116.128.0.0/10, - 116.192.0.0/16, - 116.193.16.0/20, - 116.193.32.0/19, - 116.193.176.0/21, - 116.194.0.0/15, - 116.196.0.0/21, - 116.196.8.0/22, - 116.196.12.0/23, - 116.196.32.0/19, - 116.196.64.0/18, - 116.196.128.0/17, - 116.197.160.0/21, - 116.198.0.0/16, - 116.199.0.0/17, - 116.199.128.0/19, - 116.204.0.0/17, - 116.204.132.0/22, - 116.205.0.0/16, - 116.207.0.0/16, - 116.208.0.0/14, - 116.212.160.0/20, - 116.213.46.0/23, - 116.213.64.0/18, - 116.213.128.0/17, - 116.214.32.0/19, - 116.214.64.0/20, - 116.214.128.0/17, - 116.215.0.0/16, - 116.216.0.0/14, - 116.224.0.0/12, - 116.242.0.0/15, - 116.244.0.0/14, - 116.248.0.0/15, - 116.251.65.140/31, - 116.251.66.42/31, - 116.251.68.15/32, - 116.251.79.12/31, - 116.251.84.168/30, - 116.251.84.180/30, - 116.251.84.184/29, - 116.251.84.192/27, - 116.251.84.226/31, - 116.251.84.228/30, - 116.251.84.232/29, - 116.251.84.240/29, - 116.251.84.248/30, - 116.251.88.36/30, - 116.251.88.40/29, - 116.251.88.48/29, - 116.251.88.58/31, - 116.251.88.60/30, - 116.251.88.64/30, - 116.251.88.70/31, - 116.251.88.72/29, - 116.251.88.80/29, - 116.251.88.88/31, - 116.251.88.92/31, - 116.251.88.96/28, - 116.251.88.112/29, - 116.251.88.122/31, - 116.251.88.124/30, - 116.251.88.128/27, - 116.251.88.162/31, - 116.251.88.164/30, - 116.251.88.170/31, - 116.251.88.174/31, - 116.251.88.176/29, - 116.251.88.186/31, - 116.251.88.188/30, - 116.251.88.192/30, - 116.251.88.198/31, - 116.251.88.200/29, - 116.251.88.208/30, - 116.251.88.212/31, - 116.251.88.218/31, - 116.251.88.224/30, - 116.251.88.230/31, - 116.251.88.234/31, - 116.251.88.240/31, - 116.251.88.244/30, - 116.251.88.248/31, - 116.251.88.252/30, - 116.251.89.0/31, - 116.251.89.4/30, - 116.251.89.8/30, - 116.251.89.12/31, - 116.251.89.16/29, - 116.251.89.36/30, - 116.251.89.40/31, - 116.251.89.44/30, - 116.251.89.48/29, - 116.251.89.56/30, - 116.251.89.60/31, - 116.251.89.64/29, - 116.251.89.72/30, - 116.251.89.76/31, - 116.251.89.80/31, - 116.251.89.84/30, - 116.251.89.88/29, - 116.251.89.96/27, - 116.251.89.128/27, - 116.251.89.160/28, - 116.251.89.176/31, - 116.251.89.180/30, - 116.251.89.184/29, - 116.251.89.192/27, - 116.251.89.224/28, - 116.251.89.240/29, - 116.251.89.248/30, - 116.251.90.0/27, - 116.251.90.32/29, - 116.251.90.40/30, - 116.251.90.48/29, - 116.251.90.60/30, - 116.251.90.66/31, - 116.251.90.72/30, - 116.251.90.80/28, - 116.251.90.96/27, - 116.251.90.128/28, - 116.251.90.144/30, - 116.251.90.168/29, - 116.251.90.176/28, - 116.251.90.192/27, - 116.251.90.224/28, - 116.251.90.244/30, - 116.251.91.16/28, - 116.251.91.32/28, - 116.251.91.56/29, - 116.251.91.64/26, - 116.251.91.128/28, - 116.251.91.144/29, - 116.251.91.156/31, - 116.251.91.166/31, - 116.251.91.170/31, - 116.251.91.182/31, - 116.251.91.186/31, - 116.251.91.198/31, - 116.251.91.202/31, - 116.251.91.206/31, - 116.251.91.210/31, - 116.251.91.212/30, - 116.251.91.216/29, - 116.251.91.224/28, - 116.251.91.240/29, - 116.251.91.248/30, - 116.251.92.0/31, - 116.251.92.4/31, - 116.251.93.10/31, - 116.251.93.30/31, - 116.251.93.34/31, - 116.251.93.38/31, - 116.251.93.44/30, - 116.251.93.48/29, - 116.251.93.72/30, - 116.251.93.88/30, - 116.251.93.104/29, - 116.251.93.112/28, - 116.251.93.128/29, - 116.251.93.136/30, - 116.251.93.152/29, - 116.251.93.160/29, - 116.251.93.168/30, - 116.251.93.176/29, - 116.251.93.200/29, - 116.251.93.208/28, - 116.251.94.4/30, - 116.251.94.8/29, - 116.251.94.16/28, - 116.251.94.32/27, - 116.251.94.64/26, - 116.251.94.128/27, - 116.251.94.160/28, - 116.251.94.176/29, - 116.251.94.186/31, - 116.251.94.188/30, - 116.251.94.192/26, - 116.251.95.0/24, - 116.251.100.4/30, - 116.251.100.8/31, - 116.251.100.20/31, - 116.251.100.24/31, - 116.251.100.72/31, - 116.251.100.84/31, - 116.251.100.90/31, - 116.251.100.92/31, - 116.251.100.98/31, - 116.251.100.100/31, - 116.251.100.104/31, - 116.251.100.118/31, - 116.251.100.122/31, - 116.251.100.124/31, - 116.251.100.136/31, - 116.251.100.181/32, - 116.251.100.182/31, - 116.251.100.184/29, - 116.251.100.211/32, - 116.251.100.212/30, - 116.251.100.220/31, - 116.251.100.224/32, - 116.251.100.226/32, - 116.251.100.234/31, - 116.251.100.242/31, - 116.251.100.244/30, - 116.251.100.253/32, - 116.251.100.254/31, - 116.251.101.4/30, - 116.251.101.8/30, - 116.251.101.12/31, - 116.251.101.18/31, - 116.251.101.20/31, - 116.251.101.24/31, - 116.251.101.32/30, - 116.251.101.52/31, - 116.251.101.62/31, - 116.251.101.72/31, - 116.251.101.78/31, - 116.251.101.84/31, - 116.251.101.90/31, - 116.251.101.92/31, - 116.251.101.98/31, - 116.251.101.100/31, - 116.251.101.104/30, - 116.251.101.108/31, - 116.251.101.118/31, - 116.251.101.122/31, - 116.251.101.124/31, - 116.251.101.146/31, - 116.251.101.148/30, - 116.251.101.152/30, - 116.251.101.160/31, - 116.251.101.176/28, - 116.251.101.210/31, - 116.251.101.212/30, - 116.251.101.220/31, - 116.251.101.234/31, - 116.251.101.236/30, - 116.251.101.242/31, - 116.251.101.244/30, - 116.251.101.248/29, - 116.251.102.0/23, - 116.251.104.0/27, - 116.251.104.32/28, - 116.251.104.48/30, - 116.251.104.52/31, - 116.251.104.58/31, - 116.251.104.60/30, - 116.251.104.64/26, - 116.251.104.128/25, - 116.251.105.0/24, - 116.251.106.0/25, - 116.251.106.128/27, - 116.251.106.160/30, - 116.251.106.166/31, - 116.251.106.170/31, - 116.251.106.174/31, - 116.251.106.176/28, - 116.251.106.192/26, - 116.251.107.0/28, - 116.251.107.16/30, - 116.251.107.22/31, - 116.251.107.26/31, - 116.251.107.28/30, - 116.251.107.34/31, - 116.251.107.36/30, - 116.251.107.40/29, - 116.251.107.48/28, - 116.251.107.64/28, - 116.251.107.80/30, - 116.251.107.92/30, - 116.251.107.96/29, - 116.251.107.104/30, - 116.251.107.112/28, - 116.251.107.128/26, - 116.251.107.192/27, - 116.251.107.224/28, - 116.251.107.240/29, - 116.251.107.248/30, - 116.251.108.0/26, - 116.251.108.64/28, - 116.251.108.80/29, - 116.251.108.96/30, - 116.251.108.104/29, - 116.251.108.112/30, - 116.251.108.144/28, - 116.251.108.160/28, - 116.251.108.176/29, - 116.251.108.188/30, - 116.251.108.194/31, - 116.251.108.196/30, - 116.251.108.200/29, - 116.251.109.33/32, - 116.251.109.34/31, - 116.251.109.36/30, - 116.251.109.40/31, - 116.251.109.42/32, - 116.251.109.63/32, - 116.251.109.64/31, - 116.251.109.66/32, - 116.251.109.80/30, - 116.251.109.87/32, - 116.251.109.88/30, - 116.251.109.95/32, - 116.251.109.96/30, - 116.251.109.108/30, - 116.251.109.120/30, - 116.251.109.131/32, - 116.251.109.132/30, - 116.251.109.136/30, - 116.251.109.143/32, - 116.251.109.144/30, - 116.251.109.151/32, - 116.251.109.152/29, - 116.251.109.160/30, - 116.251.109.167/32, - 116.251.109.168/29, - 116.251.109.176/30, - 116.251.109.187/32, - 116.251.109.188/30, - 116.251.109.192/30, - 116.251.109.204/30, - 116.251.109.208/29, - 116.251.109.216/30, - 116.251.109.231/32, - 116.251.109.232/30, - 116.251.109.243/32, - 116.251.109.244/30, - 116.251.109.248/30, - 116.251.110.16/28, - 116.251.110.32/28, - 116.251.110.48/29, - 116.251.110.56/31, - 116.251.110.62/31, - 116.251.110.64/27, - 116.251.110.96/28, - 116.251.110.112/29, - 116.251.110.124/30, - 116.251.110.128/26, - 116.251.110.192/27, - 116.251.110.224/31, - 116.251.110.230/31, - 116.251.110.232/29, - 116.251.110.240/28, - 116.251.111.0/29, - 116.251.111.8/30, - 116.251.111.16/30, - 116.251.111.32/29, - 116.251.111.48/30, - 116.251.111.52/31, - 116.251.111.76/30, - 116.251.111.84/30, - 116.251.111.88/30, - 116.251.111.112/30, - 116.251.111.148/30, - 116.251.111.164/31, - 116.251.111.196/30, - 116.251.111.200/30, - 116.251.111.214/31, - 116.251.111.218/31, - 116.251.111.220/31, - 116.251.111.234/31, - 116.251.111.236/31, - 116.251.112.0/22, - 116.251.116.0/26, - 116.251.116.68/30, - 116.251.116.72/29, - 116.251.116.80/28, - 116.251.116.96/27, - 116.251.116.128/26, - 116.251.116.192/28, - 116.251.116.208/29, - 116.251.116.216/30, - 116.251.116.222/31, - 116.251.116.226/31, - 116.251.116.230/31, - 116.251.116.232/29, - 116.251.116.240/28, - 116.251.117.0/24, - 116.251.118.0/25, - 116.251.118.128/27, - 116.251.118.160/29, - 116.251.118.168/31, - 116.251.118.172/31, - 116.251.118.176/28, - 116.251.118.192/30, - 116.251.118.212/30, - 116.251.118.216/29, - 116.251.118.224/27, - 116.251.119.0/24, - 116.251.120.4/30, - 116.251.120.12/30, - 116.251.120.16/28, - 116.251.120.32/27, - 116.251.120.64/26, - 116.251.120.128/25, - 116.251.124.0/22, - 116.252.0.0/15, - 116.254.104.0/21, - 116.254.128.0/17, - 116.255.128.0/17, - 117.8.0.0/13, - 117.21.0.0/16, - 117.22.0.0/15, - 117.24.0.0/13, - 117.32.0.0/13, - 117.40.0.0/14, - 117.44.0.0/15, - 117.48.0.0/16, - 117.49.0.0/19, - 117.49.32.0/20, - 117.49.48.0/23, - 117.49.50.0/24, - 117.49.51.0/25, - 117.49.51.128/28, - 117.49.51.144/30, - 117.49.51.148/31, - 117.49.51.152/29, - 117.49.51.160/27, - 117.49.51.192/26, - 117.49.52.0/22, - 117.49.56.0/22, - 117.49.60.0/24, - 117.49.61.0/28, - 117.49.61.20/30, - 117.49.61.24/29, - 117.49.61.32/29, - 117.49.61.48/28, - 117.49.61.64/27, - 117.49.61.96/28, - 117.49.61.112/29, - 117.49.61.120/30, - 117.49.61.128/25, - 117.49.62.0/23, - 117.49.64.0/18, - 117.49.128.0/17, - 117.50.0.0/15, - 117.53.48.0/20, - 117.53.176.0/20, - 117.57.0.0/16, - 117.58.0.0/17, - 117.59.0.0/16, - 117.60.0.0/14, - 117.64.0.0/13, - 117.72.0.0/15, - 117.74.64.0/19, - 117.74.128.0/17, - 117.75.0.0/16, - 117.76.0.0/14, - 117.80.0.0/12, - 117.100.0.0/15, - 117.103.16.0/20, - 117.103.40.0/21, - 117.103.72.0/21, - 117.103.128.0/20, - 117.104.168.0/21, - 117.106.0.0/15, - 117.112.0.0/13, - 117.120.64.0/18, - 117.121.0.0/19, - 117.121.32.0/21, - 117.121.40.0/22, - 117.121.44.0/23, - 117.121.46.0/24, - 117.121.48.0/20, - 117.121.64.0/18, - 117.121.128.0/20, - 117.121.148.0/22, - 117.121.152.0/21, - 117.121.160.0/19, - 117.121.192.0/21, - 117.122.128.0/17, - 117.124.0.0/14, - 117.128.0.0/10, - 118.24.0.0/15, - 118.26.0.0/19, - 118.26.32.0/22, - 118.26.40.0/21, - 118.26.48.0/21, - 118.26.64.0/19, - 118.26.96.0/21, - 118.26.112.0/20, - 118.26.128.0/22, - 118.26.133.0/24, - 118.26.134.0/23, - 118.26.136.0/21, - 118.26.160.0/20, - 118.26.188.0/22, - 118.26.192.0/18, - 118.28.0.0/14, - 118.64.0.0/15, - 118.66.0.0/16, - 118.67.112.0/20, - 118.72.0.0/13, - 118.80.0.0/15, - 118.84.0.0/15, - 118.88.32.0/19, - 118.88.64.0/18, - 118.88.128.0/17, - 118.89.0.0/16, - 118.91.240.0/20, - 118.102.16.0/20, - 118.102.32.0/21, - 118.103.164.0/22, - 118.103.168.0/21, - 118.103.176.0/22, - 118.112.0.0/13, - 118.120.0.0/14, - 118.124.0.0/15, - 118.126.0.0/16, - 118.127.128.0/19, - 118.132.0.0/14, - 118.143.198.0/23, - 118.143.215.0/24, - 118.144.0.0/14, - 118.178.0.0/16, - 118.180.0.0/14, - 118.184.0.0/21, - 118.184.12.0/22, - 118.184.16.0/22, - 118.184.20.0/23, - 118.184.23.0/24, - 118.184.24.0/21, - 118.184.32.0/19, - 118.184.64.0/22, - 118.184.69.0/24, - 118.184.70.0/23, - 118.184.74.0/23, - 118.184.76.0/22, - 118.184.80.0/21, - 118.184.89.0/24, - 118.184.90.0/23, - 118.184.92.0/22, - 118.184.96.0/22, - 118.184.104.0/21, - 118.184.128.0/17, - 118.186.0.0/15, - 118.188.0.0/22, - 118.188.8.0/21, - 118.188.16.0/20, - 118.188.32.0/19, - 118.188.64.0/18, - 118.188.160.0/19, - 118.188.192.0/18, - 118.190.0.0/16, - 118.191.0.0/21, - 118.191.8.0/22, - 118.191.12.0/24, - 118.191.17.0/24, - 118.191.18.0/23, - 118.191.20.0/22, - 118.191.24.0/21, - 118.191.48.0/20, - 118.191.64.0/20, - 118.191.80.0/22, - 118.191.128.0/19, - 118.191.176.0/20, - 118.191.192.0/20, - 118.191.208.0/24, - 118.191.216.0/22, - 118.191.223.0/24, - 118.191.224.0/24, - 118.191.240.0/20, - 118.192.0.0/16, - 118.193.0.0/22, - 118.193.8.0/21, - 118.193.48.0/22, - 118.193.52.0/23, - 118.193.54.0/24, - 118.193.96.0/19, - 118.193.128.0/21, - 118.193.137.0/24, - 118.193.138.0/23, - 118.193.140.0/24, - 118.193.144.0/23, - 118.193.149.0/24, - 118.193.150.0/23, - 118.193.152.0/22, - 118.193.160.0/21, - 118.193.169.0/24, - 118.193.170.0/24, - 118.193.172.0/24, - 118.193.176.0/20, - 118.193.192.0/18, - 118.194.0.0/17, - 118.194.128.0/18, - 118.194.192.0/19, - 118.194.240.0/21, - 118.195.0.0/16, - 118.196.0.0/14, - 118.202.0.0/15, - 118.204.0.0/14, - 118.212.0.0/15, - 118.215.192.0/18, - 118.224.0.0/14, - 118.228.0.0/15, - 118.230.0.0/16, - 118.239.0.0/16, - 118.242.0.0/16, - 118.244.0.0/14, - 118.248.0.0/13, - 119.0.0.0/15, - 119.2.0.0/19, - 119.2.128.0/17, - 119.3.0.0/16, - 119.4.0.0/14, - 119.10.0.0/17, - 119.15.136.0/21, - 119.16.0.0/16, - 119.18.192.0/20, - 119.18.208.0/21, - 119.18.224.0/19, - 119.19.0.0/16, - 119.20.0.0/14, - 119.27.64.0/18, - 119.27.128.0/17, - 119.28.28.0/24, - 119.29.0.0/16, - 119.30.48.0/20, - 119.31.192.0/19, - 119.32.0.0/13, - 119.40.0.0/18, - 119.40.64.0/20, - 119.40.128.0/17, - 119.41.0.0/16, - 119.42.0.0/19, - 119.42.128.0/20, - 119.42.224.0/19, - 119.44.0.0/15, - 119.48.0.0/13, - 119.57.0.0/16, - 119.58.0.0/16, - 119.59.128.0/18, - 119.59.208.0/22, - 119.59.220.0/22, - 119.59.236.0/22, - 119.59.244.0/22, - 119.60.0.0/15, - 119.62.0.0/16, - 119.63.32.0/19, - 119.75.208.0/20, - 119.78.0.0/15, - 119.80.0.0/16, - 119.82.208.0/20, - 119.84.0.0/14, - 119.88.0.0/14, - 119.96.0.0/13, - 119.108.0.0/15, - 119.112.0.0/12, - 119.128.0.0/12, - 119.144.0.0/14, - 119.148.160.0/19, - 119.151.192.0/18, - 119.160.200.0/21, - 119.161.120.0/21, - 119.161.136.0/23, - 119.161.138.0/24, - 119.161.140.0/22, - 119.161.144.0/22, - 119.161.148.0/23, - 119.161.151.0/24, - 119.161.152.0/21, - 119.161.160.0/19, - 119.161.192.0/18, - 119.162.0.0/15, - 119.164.0.0/14, - 119.176.0.0/12, - 119.232.0.0/15, - 119.235.128.0/19, - 119.235.160.0/20, - 119.235.181.0/24, - 119.235.184.0/22, - 119.248.0.0/14, - 119.252.96.0/21, - 119.252.240.0/21, - 119.252.249.0/24, - 119.252.252.0/23, - 119.253.0.0/16, - 119.254.0.0/15, - 120.0.0.0/12, - 120.24.0.0/14, - 120.30.0.0/17, - 120.30.128.0/20, - 120.30.144.0/22, - 120.30.148.0/23, - 120.30.151.0/24, - 120.30.152.0/21, - 120.30.160.0/19, - 120.30.192.0/18, - 120.31.0.0/16, - 120.32.0.0/12, - 120.48.0.0/15, - 120.52.0.0/14, - 120.64.0.0/13, - 120.72.32.0/19, - 120.72.128.0/17, - 120.76.0.0/14, - 120.80.0.0/13, - 120.88.8.0/21, - 120.90.0.0/15, - 120.92.0.0/16, - 120.94.0.0/15, - 120.128.0.0/13, - 120.136.16.0/21, - 120.136.128.0/18, - 120.137.0.0/17, - 120.143.128.0/19, - 120.192.0.0/10, - 121.0.8.0/21, - 121.0.16.0/20, - 121.4.0.0/15, - 121.8.0.0/13, - 121.16.0.0/12, - 121.32.0.0/13, - 121.40.0.0/14, - 121.46.0.0/18, - 121.46.76.0/22, - 121.46.128.0/21, - 121.46.141.0/24, - 121.46.160.0/19, - 121.46.192.0/18, - 121.47.0.0/16, - 121.48.0.0/15, - 121.50.8.0/21, - 121.51.0.0/16, - 121.52.160.0/19, - 121.52.208.0/20, - 121.52.224.0/19, - 121.54.176.0/21, - 121.55.0.0/18, - 121.56.0.0/15, - 121.58.0.0/17, - 121.58.136.0/21, - 121.58.144.0/20, - 121.58.160.0/21, - 121.59.0.0/20, - 121.59.16.0/21, - 121.59.24.0/22, - 121.59.28.0/24, - 121.59.30.0/23, - 121.59.36.0/23, - 121.59.39.0/24, - 121.59.40.0/21, - 121.59.48.0/20, - 121.59.64.0/19, - 121.59.96.0/22, - 121.59.102.0/23, - 121.59.104.0/24, - 121.59.108.0/24, - 121.59.110.0/23, - 121.59.112.0/21, - 121.59.121.0/24, - 121.59.123.0/24, - 121.59.125.0/24, - 121.59.126.0/23, - 121.59.160.0/19, - 121.59.192.0/18, - 121.60.0.0/14, - 121.68.0.0/14, - 121.76.0.0/15, - 121.79.128.0/18, - 121.89.0.0/16, - 121.91.104.0/21, - 121.100.128.0/17, - 121.101.0.0/18, - 121.101.208.0/20, - 121.192.0.0/13, - 121.200.192.0/21, - 121.201.0.0/16, - 121.204.0.0/14, - 121.224.0.0/12, - 121.248.0.0/14, - 121.255.0.0/16, - 122.0.64.0/18, - 122.4.0.0/14, - 122.8.0.0/24, - 122.8.23.0/24, - 122.8.70.0/23, - 122.8.72.0/22, - 122.8.116.0/22, - 122.8.192.0/18, - 122.9.0.0/16, - 122.10.132.0/23, - 122.10.136.0/23, - 122.10.160.0/24, - 122.10.164.0/22, - 122.10.168.0/21, - 122.10.194.0/23, - 122.10.200.0/22, - 122.10.205.0/24, - 122.10.206.0/23, - 122.10.208.0/23, - 122.10.210.0/24, - 122.10.212.0/22, - 122.10.216.0/22, - 122.10.228.0/22, - 122.10.232.0/21, - 122.10.240.0/22, - 122.11.32.0/19, - 122.12.0.0/15, - 122.14.0.0/17, - 122.14.128.0/21, - 122.14.172.0/24, - 122.14.174.0/23, - 122.14.176.0/21, - 122.14.184.0/22, - 122.14.188.0/23, - 122.14.190.0/24, - 122.14.192.0/18, - 122.48.0.0/16, - 122.49.0.0/18, - 122.51.0.0/16, - 122.64.0.0/11, - 122.96.0.0/15, - 122.102.0.0/20, - 122.102.64.0/19, - 122.112.0.0/18, - 122.112.64.0/19, - 122.112.118.0/24, - 122.112.122.0/24, - 122.112.125.0/24, - 122.112.128.0/17, - 122.113.0.0/19, - 122.113.32.0/20, - 122.113.48.0/23, - 122.113.51.0/24, - 122.113.52.0/22, - 122.113.56.0/21, - 122.113.64.0/18, - 122.113.128.0/17, - 122.114.0.0/16, - 122.115.0.0/18, - 122.115.80.0/20, - 122.115.96.0/19, - 122.115.128.0/17, - 122.119.0.0/16, - 122.128.100.0/22, - 122.128.120.0/21, - 122.136.0.0/13, - 122.144.128.0/17, - 122.152.192.0/18, - 122.156.0.0/14, - 122.188.0.0/14, - 122.192.0.0/14, - 122.198.0.0/18, - 122.198.68.0/22, - 122.198.72.0/21, - 122.198.80.0/20, - 122.198.96.0/19, - 122.198.128.0/17, - 122.200.40.0/21, - 122.200.64.0/18, - 122.201.48.0/20, - 122.204.0.0/14, - 122.224.0.0/12, - 122.240.0.0/13, - 122.248.24.0/21, - 122.248.48.0/20, - 122.255.64.0/21, - 123.0.128.0/18, - 123.4.0.0/14, - 123.8.0.0/13, - 123.49.128.0/17, - 123.50.160.0/19, - 123.52.0.0/14, - 123.56.0.0/15, - 123.58.0.0/17, - 123.58.128.0/18, - 123.58.224.0/19, - 123.59.0.0/16, - 123.60.0.0/15, - 123.62.0.0/16, - 123.64.0.0/11, - 123.96.0.0/15, - 123.98.4.0/22, - 123.98.8.0/22, - 123.98.16.0/21, - 123.98.28.0/22, - 123.98.32.0/22, - 123.98.40.0/21, - 123.98.48.0/22, - 123.98.56.0/21, - 123.98.68.0/22, - 123.98.76.0/22, - 123.98.80.0/21, - 123.98.88.0/22, - 123.98.96.0/22, - 123.98.104.0/21, - 123.98.112.0/21, - 123.98.120.0/22, - 123.99.128.0/19, - 123.99.160.0/22, - 123.99.164.0/24, - 123.99.166.0/23, - 123.99.168.0/21, - 123.99.176.0/20, - 123.99.192.0/18, - 123.100.0.0/19, - 123.101.0.0/16, - 123.103.0.0/17, - 123.108.88.0/23, - 123.108.130.0/23, - 123.108.132.0/22, - 123.108.136.0/21, - 123.108.208.0/20, - 123.112.0.0/12, - 123.128.0.0/13, - 123.137.0.0/16, - 123.138.0.0/15, - 123.144.0.0/12, - 123.160.0.0/12, - 123.176.60.0/22, - 123.176.80.0/20, - 123.177.0.0/16, - 123.178.0.0/15, - 123.180.0.0/14, - 123.184.0.0/13, - 123.196.0.0/15, - 123.199.128.0/17, - 123.206.0.0/15, - 123.232.0.0/14, - 123.242.192.0/21, - 123.244.0.0/14, - 123.249.0.0/17, - 123.253.240.0/22, - 123.254.96.0/21, - 124.6.64.0/18, - 124.14.0.0/15, - 124.16.0.0/15, - 124.22.0.0/15, - 124.28.192.0/18, - 124.29.0.0/17, - 124.31.0.0/16, - 124.40.112.0/20, - 124.40.128.0/18, - 124.40.192.0/19, - 124.40.240.0/22, - 124.42.0.0/16, - 124.47.0.0/18, - 124.64.0.0/15, - 124.66.0.0/17, - 124.67.0.0/16, - 124.68.0.0/15, - 124.70.0.0/16, - 124.71.0.0/17, - 124.71.128.0/18, - 124.71.192.0/19, - 124.71.224.0/20, - 124.71.240.0/21, - 124.71.250.0/23, - 124.71.254.0/23, - 124.72.0.0/13, - 124.88.0.0/13, - 124.108.8.0/21, - 124.108.41.0/24, - 124.108.42.0/23, - 124.108.44.0/22, - 124.109.96.0/21, - 124.112.0.0/13, - 124.126.0.0/15, - 124.128.0.0/13, - 124.150.137.0/24, - 124.151.0.0/16, - 124.152.0.0/16, - 124.160.0.0/13, - 124.172.0.0/15, - 124.174.0.0/16, - 124.175.0.0/17, - 124.175.160.0/19, - 124.192.0.0/15, - 124.196.0.0/16, - 124.200.0.0/13, - 124.220.0.0/14, - 124.224.0.0/12, - 124.240.0.0/17, - 124.240.128.0/18, - 124.242.0.0/16, - 124.243.192.0/18, - 124.248.0.0/17, - 124.249.0.0/16, - 124.250.0.0/15, - 124.254.0.0/18, - 125.31.192.0/18, - 125.32.0.0/12, - 125.58.128.0/17, - 125.61.128.0/17, - 125.62.0.0/18, - 125.64.0.0/11, - 125.96.0.0/15, - 125.98.0.0/16, - 125.104.0.0/13, - 125.112.0.0/12, - 125.169.0.0/16, - 125.171.0.0/16, - 125.208.0.0/18, - 125.210.0.0/15, - 125.213.0.0/17, - 125.214.96.0/19, - 125.215.0.0/18, - 125.216.0.0/13, - 125.254.128.0/17, - 128.107.24.0/23, - 128.108.0.0/16, - 128.254.240.0/23, - 129.28.0.0/16, - 129.204.0.0/16, - 129.211.0.0/16, - 129.227.29.0/24, - 129.227.30.0/24, - 129.227.146.0/23, - 129.227.157.0/24, - 129.227.158.0/23, - 129.227.168.0/21, - 129.227.192.0/23, - 129.227.195.0/24, - 130.36.146.0/23, - 130.214.218.0/23, - 131.221.82.0/23, - 131.228.96.0/23, - 131.253.12.0/29, - 131.253.12.80/28, - 131.253.12.240/29, - 132.232.0.0/16, - 132.237.134.0/24, - 134.75.107.10/31, - 134.75.107.14/31, - 134.175.0.0/16, - 137.59.59.0/24, - 137.59.88.0/22, - 138.94.43.0/24, - 139.5.56.0/21, - 139.5.80.0/22, - 139.5.92.0/22, - 139.5.128.0/22, - 139.5.160.0/22, - 139.5.192.0/22, - 139.5.204.0/22, - 139.5.244.0/22, - 139.9.0.0/18, - 139.9.64.0/19, - 139.9.96.0/23, - 139.9.100.0/22, - 139.9.104.0/21, - 139.9.112.0/20, - 139.9.128.0/17, - 139.95.4.34/32, - 139.129.0.0/16, - 139.138.238.0/28, - 139.148.0.0/16, - 139.155.0.0/16, - 139.159.0.0/19, - 139.159.32.0/21, - 139.159.40.0/22, - 139.159.52.0/22, - 139.159.56.0/21, - 139.159.64.0/19, - 139.159.96.0/20, - 139.159.112.0/22, - 139.159.116.0/23, - 139.159.120.0/21, - 139.159.128.0/17, - 139.170.0.0/16, - 139.176.0.0/16, - 139.183.0.0/18, - 139.183.64.0/19, - 139.183.96.0/22, - 139.183.101.0/24, - 139.183.102.0/23, - 139.183.104.0/21, - 139.183.112.0/20, - 139.183.128.0/18, - 139.186.0.0/16, - 139.189.0.0/16, - 139.196.0.0/14, - 139.200.0.0/13, - 139.208.0.0/13, - 139.217.0.0/16, - 139.219.0.0/16, - 139.220.0.0/15, - 139.224.0.0/16, - 139.226.0.0/15, - 140.75.0.0/16, - 140.143.0.0/16, - 140.179.0.0/16, - 140.205.0.0/16, - 140.206.0.0/15, - 140.210.0.0/16, - 140.224.0.0/16, - 140.237.0.0/16, - 140.240.0.0/16, - 140.242.223.0/24, - 140.242.224.0/24, - 140.243.0.0/16, - 140.246.0.0/16, - 140.248.33.2/31, - 140.249.0.0/16, - 140.250.0.0/16, - 140.255.0.0/16, - 142.70.0.0/16, - 142.86.0.0/16, - 143.64.0.0/16, - 144.0.0.0/16, - 144.7.0.0/16, - 144.12.0.0/16, - 144.36.146.0/23, - 144.48.64.0/22, - 144.48.88.0/22, - 144.48.156.0/22, - 144.48.180.0/22, - 144.48.184.0/22, - 144.48.204.0/22, - 144.48.208.0/21, - 144.48.252.0/22, - 144.52.0.0/16, - 144.123.0.0/16, - 144.178.30.48/28, - 144.255.0.0/16, - 145.14.71.0/24, - 145.14.72.0/22, - 145.14.79.0/24, - 145.14.81.0/24, - 145.14.82.0/24, - 145.14.84.0/24, - 145.14.86.0/24, - 145.14.88.0/24, - 145.14.90.0/24, - 146.19.236.0/24, - 146.56.192.0/18, - 146.75.187.2/31, - 146.75.189.2/31, - 146.75.196.0/31, - 146.196.56.0/22, - 146.196.68.0/22, - 146.196.92.0/22, - 146.196.112.0/21, - 146.196.124.0/22, - 146.222.79.0/24, - 146.222.81.0/24, - 146.222.94.0/24, - 147.78.132.0/22, - 147.243.29.192/26, - 147.243.30.64/26, - 147.243.30.128/27, - 147.243.103.0/25, - 148.70.0.0/16, - 149.41.0.0/16, - 150.0.0.0/16, - 150.115.0.0/16, - 150.121.0.0/16, - 150.122.0.0/16, - 150.129.136.0/22, - 150.129.192.0/22, - 150.129.252.0/22, - 150.138.0.0/15, - 150.158.0.0/16, - 150.222.64.0/24, - 150.222.88.0/23, - 150.223.0.0/16, - 150.242.0.0/21, - 150.242.8.0/22, - 150.242.28.0/22, - 150.242.44.0/22, - 150.242.48.0/21, - 150.242.56.0/22, - 150.242.76.0/22, - 150.242.80.0/22, - 150.242.92.0/22, - 150.242.96.0/22, - 150.242.112.0/21, - 150.242.120.0/22, - 150.242.152.0/21, - 150.242.160.0/21, - 150.242.168.0/22, - 150.242.184.0/21, - 150.242.192.0/22, - 150.242.212.0/24, - 150.242.226.0/23, - 150.242.232.0/21, - 150.242.240.0/21, - 150.242.248.0/22, - 150.248.0.0/16, - 150.255.0.0/16, - 152.104.128.0/17, - 152.136.0.0/16, - 153.0.0.0/16, - 153.3.0.0/16, - 153.34.0.0/15, - 153.36.0.0/15, - 153.99.0.0/16, - 153.101.0.0/16, - 153.118.0.0/15, - 154.8.128.0/17, - 154.38.104.0/22, - 154.48.227.0/24, - 154.72.42.0/24, - 154.72.44.0/24, - 154.72.47.0/24, - 154.91.158.0/23, - 154.208.140.0/22, - 154.208.144.0/20, - 154.208.160.0/21, - 154.208.172.0/23, - 154.213.4.0/23, - 154.220.3.0/24, - 155.102.0.0/22, - 155.102.4.0/23, - 155.102.9.0/24, - 155.102.10.0/23, - 155.102.12.0/22, - 155.102.16.0/22, - 155.102.20.0/24, - 155.102.22.0/23, - 155.102.24.0/24, - 155.102.27.0/24, - 155.102.28.0/22, - 155.102.32.0/21, - 155.102.40.0/22, - 155.102.44.0/23, - 155.102.47.0/24, - 155.102.48.0/20, - 155.102.128.0/22, - 155.102.132.0/23, - 155.102.136.0/23, - 155.102.140.0/23, - 155.102.143.0/24, - 155.102.149.0/24, - 155.102.150.0/23, - 155.102.152.0/21, - 155.126.176.0/23, - 156.59.108.0/24, - 156.59.202.0/23, - 156.59.204.0/23, - 156.59.206.0/24, - 156.59.216.0/24, - 156.107.160.0/24, - 156.107.170.0/24, - 156.107.178.0/23, - 156.107.180.0/23, - 156.154.62.0/23, - 156.230.11.0/24, - 156.231.163.0/24, - 156.236.96.0/23, - 156.237.104.0/23, - 156.242.5.0/24, - 156.242.6.0/24, - 156.255.2.0/23, - 157.0.0.0/16, - 157.10.34.0/23, - 157.10.36.0/23, - 157.10.105.0/24, - 157.10.112.0/23, - 157.10.118.0/23, - 157.10.130.0/23, - 157.10.218.0/23, - 157.10.220.0/23, - 157.10.246.0/23, - 157.15.74.0/23, - 157.15.94.0/23, - 157.15.100.0/22, - 157.15.104.0/23, - 157.18.0.0/16, - 157.20.33.0/24, - 157.20.136.0/23, - 157.20.194.0/23, - 157.20.246.0/23, - 157.61.0.0/16, - 157.66.70.0/23, - 157.66.88.0/21, - 157.66.164.0/23, - 157.66.244.0/23, - 157.119.8.0/21, - 157.119.16.0/22, - 157.119.28.0/22, - 157.119.132.0/22, - 157.119.136.0/21, - 157.119.144.0/20, - 157.119.160.0/21, - 157.119.172.0/22, - 157.119.192.0/21, - 157.119.240.0/22, - 157.119.252.0/22, - 157.122.0.0/16, - 157.133.186.0/23, - 157.133.192.0/21, - 157.148.0.0/16, - 157.156.0.0/16, - 157.255.0.0/16, - 158.26.192.0/24, - 158.26.194.0/24, - 158.60.0.0/16, - 158.79.0.0/24, - 158.79.2.0/23, - 158.79.4.0/22, - 158.79.8.0/21, - 158.79.16.0/20, - 158.79.32.0/19, - 158.79.64.0/18, - 158.79.128.0/17, - 158.140.252.0/23, - 158.140.254.0/24, - 159.27.0.0/16, - 159.75.0.0/16, - 159.226.0.0/16, - 160.19.76.0/23, - 160.19.82.0/23, - 160.19.208.0/21, - 160.19.216.0/22, - 160.20.16.0/22, - 160.20.48.0/22, - 160.20.130.0/23, - 160.22.58.0/23, - 160.22.82.0/23, - 160.22.148.0/23, - 160.22.188.0/23, - 160.22.224.0/23, - 160.22.230.0/23, - 160.22.244.0/22, - 160.25.10.0/23, - 160.25.12.0/23, - 160.25.20.0/23, - 160.25.194.0/23, - 160.30.40.0/23, - 160.30.148.0/22, - 160.30.194.0/23, - 160.30.196.0/22, - 160.30.230.0/23, - 160.83.110.0/24, - 160.187.223.0/24, - 160.187.252.0/22, - 160.191.0.0/23, - 160.191.104.0/23, - 160.191.110.0/23, - 160.202.60.0/23, - 160.202.62.0/24, - 160.202.148.0/22, - 160.202.152.0/22, - 160.202.212.0/22, - 160.202.216.0/21, - 160.202.224.0/19, - 160.250.14.0/23, - 160.250.16.0/22, - 160.250.24.0/23, - 160.250.84.0/23, - 160.250.90.0/23, - 160.250.102.0/23, - 160.250.104.0/23, - 160.250.160.0/23, - 160.250.170.0/23, - 160.250.214.0/23, - 160.250.252.0/23, - 161.120.0.0/16, - 161.163.0.0/21, - 161.163.28.0/23, - 161.189.0.0/16, - 161.207.0.0/16, - 161.248.20.0/23, - 161.248.42.0/23, - 161.248.84.0/23, - 161.248.92.0/23, - 161.248.136.0/23, - 162.14.0.0/16, - 162.62.240.0/23, - 162.62.242.0/24, - 162.105.0.0/16, - 163.0.0.0/16, - 163.5.166.0/24, - 163.47.4.0/22, - 163.53.0.0/20, - 163.53.36.0/22, - 163.53.40.0/21, - 163.53.48.0/20, - 163.53.64.0/22, - 163.53.88.0/21, - 163.53.96.0/19, - 163.53.128.0/21, - 163.53.136.0/22, - 163.53.160.0/20, - 163.53.188.0/22, - 163.53.240.0/22, - 163.61.63.0/24, - 163.61.178.0/23, - 163.61.202.0/23, - 163.61.214.0/23, - 163.125.0.0/16, - 163.142.0.0/16, - 163.177.0.0/16, - 163.179.0.0/16, - 163.181.0.0/23, - 163.181.2.0/24, - 163.181.15.0/24, - 163.181.16.0/22, - 163.181.22.0/23, - 163.181.25.0/24, - 163.181.26.0/24, - 163.181.28.0/24, - 163.181.32.0/23, - 163.181.35.0/24, - 163.181.36.0/22, - 163.181.40.0/24, - 163.181.42.0/23, - 163.181.44.0/23, - 163.181.46.0/24, - 163.181.48.0/24, - 163.181.50.0/24, - 163.181.52.0/24, - 163.181.56.0/22, - 163.181.60.0/23, - 163.181.66.0/23, - 163.181.69.0/24, - 163.181.70.0/23, - 163.181.72.0/23, - 163.181.74.0/24, - 163.181.77.0/24, - 163.181.78.0/23, - 163.181.80.0/22, - 163.181.85.0/24, - 163.181.87.0/24, - 163.181.88.0/23, - 163.181.90.0/24, - 163.181.92.0/22, - 163.181.97.0/24, - 163.181.99.0/24, - 163.181.100.0/24, - 163.181.102.0/23, - 163.181.105.0/24, - 163.181.106.0/23, - 163.181.108.0/24, - 163.181.110.0/23, - 163.181.112.0/23, - 163.181.116.0/23, - 163.181.118.0/24, - 163.181.120.0/22, - 163.181.126.0/23, - 163.181.128.0/22, - 163.181.132.0/23, - 163.181.135.0/24, - 163.181.136.0/21, - 163.181.144.0/21, - 163.181.153.0/24, - 163.181.154.0/23, - 163.181.156.0/22, - 163.181.160.0/24, - 163.181.162.0/23, - 163.181.164.0/22, - 163.181.168.0/21, - 163.181.176.0/21, - 163.181.184.0/22, - 163.181.188.0/24, - 163.181.190.0/23, - 163.181.192.0/23, - 163.181.196.0/22, - 163.181.201.0/24, - 163.181.202.0/23, - 163.181.204.0/22, - 163.181.208.0/24, - 163.181.210.0/23, - 163.181.212.0/22, - 163.181.216.0/21, - 163.181.224.0/23, - 163.181.228.0/22, - 163.181.232.0/23, - 163.181.234.0/24, - 163.181.236.0/22, - 163.181.241.0/24, - 163.181.242.0/23, - 163.181.244.0/23, - 163.181.246.0/24, - 163.181.248.0/21, - 163.204.0.0/16, - 163.223.178.0/23, - 163.228.0.0/16, - 163.244.246.0/24, - 164.52.74.0/24, - 164.52.80.0/24, - 164.155.133.0/24, - 166.111.0.0/16, - 167.139.0.0/16, - 167.189.0.0/16, - 167.220.244.0/22, - 168.0.68.0/22, - 168.159.144.0/21, - 168.159.152.0/22, - 168.159.156.0/23, - 168.159.158.0/24, - 168.160.0.0/16, - 168.228.136.0/22, - 170.179.0.0/16, - 171.8.0.0/13, - 171.34.0.0/15, - 171.36.0.0/14, - 171.40.0.0/13, - 171.80.0.0/12, - 171.104.0.0/13, - 171.112.0.0/12, - 171.208.0.0/12, - 172.81.192.0/18, - 172.225.51.64/26, - 172.225.58.32/27, - 172.225.58.64/26, - 172.225.80.0/26, - 172.225.126.0/26, - 172.225.181.192/26, - 172.225.200.32/28, - 172.226.47.0/27, - 172.226.138.64/27, - 172.226.180.96/27, - 172.226.180.128/27, - 172.226.214.64/27, - 173.39.200.0/23, - 174.136.239.0/24, - 175.0.0.0/12, - 175.16.0.0/13, - 175.24.0.0/14, - 175.29.22.0/23, - 175.30.0.0/15, - 175.42.0.0/15, - 175.44.0.0/16, - 175.46.0.0/15, - 175.48.0.0/12, - 175.64.0.0/11, - 175.102.0.0/16, - 175.106.128.0/17, - 175.111.144.0/20, - 175.111.160.0/20, - 175.111.184.0/22, - 175.146.0.0/15, - 175.148.0.0/14, - 175.152.0.0/14, - 175.158.96.0/22, - 175.160.0.0/12, - 175.176.156.0/22, - 175.176.176.0/22, - 175.176.188.0/22, - 175.178.0.0/16, - 175.184.128.0/18, - 175.185.0.0/16, - 175.186.0.0/15, - 175.188.0.0/14, - 180.76.16.0/20, - 180.76.32.0/19, - 180.76.64.0/18, - 180.76.128.0/17, - 180.77.0.0/16, - 180.78.0.0/15, - 180.84.0.0/15, - 180.86.0.0/16, - 180.88.0.0/14, - 180.92.176.0/23, - 180.94.56.0/21, - 180.94.96.0/20, - 180.94.120.0/21, - 180.95.128.0/17, - 180.96.0.0/11, - 180.129.128.0/17, - 180.130.0.0/16, - 180.136.0.0/13, - 180.148.16.0/21, - 180.148.152.0/21, - 180.148.216.0/21, - 180.148.224.0/19, - 180.149.128.0/19, - 180.150.160.0/19, - 180.152.0.0/13, - 180.160.0.0/12, - 180.178.112.0/21, - 180.178.192.0/18, - 180.184.0.0/14, - 180.188.0.0/17, - 180.189.148.0/22, - 180.200.252.0/22, - 180.201.0.0/16, - 180.202.0.0/15, - 180.208.0.0/15, - 180.210.212.0/22, - 180.210.228.0/22, - 180.210.232.0/21, - 180.212.0.0/15, - 180.222.224.0/19, - 180.223.0.0/19, - 180.223.40.0/21, - 180.223.48.0/20, - 180.223.128.0/20, - 180.223.144.0/22, - 180.223.152.0/21, - 180.223.160.0/19, - 180.223.212.0/22, - 180.233.0.0/18, - 180.233.64.0/19, - 180.233.144.0/22, - 180.235.64.0/19, - 180.235.112.0/22, - 182.16.144.0/21, - 182.16.192.0/19, - 182.18.0.0/17, - 182.23.184.0/21, - 182.23.200.0/21, - 182.32.0.0/12, - 182.48.96.0/19, - 182.49.0.0/16, - 182.50.0.0/22, - 182.50.8.0/21, - 182.50.112.0/20, - 182.51.0.0/16, - 182.54.0.0/17, - 182.54.244.0/22, - 182.61.0.0/18, - 182.61.128.0/19, - 182.61.192.0/18, - 182.80.0.0/13, - 182.88.0.0/14, - 182.92.0.0/16, - 182.96.0.0/11, - 182.128.0.0/12, - 182.144.0.0/13, - 182.157.0.0/16, - 182.160.64.0/19, - 182.174.0.0/15, - 182.200.0.0/13, - 182.236.128.0/17, - 182.237.24.0/21, - 182.238.0.0/16, - 182.239.0.0/19, - 182.240.0.0/13, - 182.254.0.0/16, - 183.0.0.0/10, - 183.64.0.0/13, - 183.78.161.0/24, - 183.78.162.0/23, - 183.78.164.0/22, - 183.78.180.0/22, - 183.81.180.0/22, - 183.84.0.0/15, - 183.91.39.0/24, - 183.91.40.0/21, - 183.91.48.0/21, - 183.91.56.0/24, - 183.91.61.0/24, - 183.91.63.0/24, - 183.91.128.0/22, - 183.91.136.0/21, - 183.91.144.0/20, - 183.92.0.0/14, - 183.128.0.0/11, - 183.160.0.0/13, - 183.168.0.0/15, - 183.170.0.0/16, - 183.172.0.0/14, - 183.182.0.0/21, - 183.182.8.0/23, - 183.182.12.0/22, - 183.182.16.0/23, - 183.182.23.0/24, - 183.182.24.0/23, - 183.182.26.0/24, - 183.182.28.0/22, - 183.184.0.0/13, - 183.192.0.0/10, - 185.75.173.0/24, - 185.75.174.0/24, - 185.234.212.0/24, - 185.255.152.0/24, - 188.131.128.0/17, - 192.23.191.0/24, - 192.55.46.0/23, - 192.55.68.0/22, - 192.56.99.0/24, - 192.102.204.0/22, - 192.124.154.0/24, - 192.137.31.0/24, - 192.140.128.0/21, - 192.140.136.0/22, - 192.140.156.0/22, - 192.140.160.0/19, - 192.140.192.0/20, - 192.140.208.0/21, - 192.144.128.0/17, - 192.163.11.0/24, - 192.232.97.0/24, - 193.112.0.0/16, - 193.119.0.0/19, - 193.200.222.160/28, - 194.15.39.0/24, - 194.61.237.0/25, - 194.119.13.0/24, - 194.119.15.0/24, - 194.127.229.0/24, - 194.138.136.0/24, - 194.138.202.0/23, - 194.138.245.0/24, - 198.175.100.0/22, - 198.208.17.0/24, - 198.208.19.0/24, - 198.208.30.0/24, - 198.208.61.0/24, - 198.208.63.0/24, - 198.208.67.0/24, - 198.208.112.0/23, - 199.65.192.0/21, - 199.182.239.0/24, - 199.244.144.0/24, - 200.80.96.0/22, - 202.0.100.0/23, - 202.0.122.0/23, - 202.1.86.0/23, - 202.1.90.0/23, - 202.1.105.0/24, - 202.1.106.0/24, - 202.1.110.0/23, - 202.1.112.0/23, - 202.3.128.0/23, - 202.4.128.0/19, - 202.4.252.0/22, - 202.5.208.0/21, - 202.5.216.0/22, - 202.6.6.0/23, - 202.6.66.0/23, - 202.6.72.0/23, - 202.6.87.0/24, - 202.6.88.0/23, - 202.6.92.0/23, - 202.6.103.0/24, - 202.6.108.0/24, - 202.6.110.0/23, - 202.6.114.0/24, - 202.6.176.0/20, - 202.8.0.0/24, - 202.8.2.0/23, - 202.8.4.0/23, - 202.8.12.0/24, - 202.8.24.0/24, - 202.8.77.0/24, - 202.8.128.0/19, - 202.8.192.0/20, - 202.9.32.0/24, - 202.9.34.0/23, - 202.9.48.0/23, - 202.9.51.0/24, - 202.9.52.0/23, - 202.9.54.0/24, - 202.9.57.0/24, - 202.9.58.0/23, - 202.10.64.0/21, - 202.10.74.0/23, - 202.10.76.0/22, - 202.10.112.0/20, - 202.12.1.0/24, - 202.12.2.0/24, - 202.12.17.0/24, - 202.12.18.0/24, - 202.12.72.0/24, - 202.12.84.0/23, - 202.12.96.0/24, - 202.12.98.0/23, - 202.12.106.0/24, - 202.12.111.0/24, - 202.12.116.0/24, - 202.14.64.0/23, - 202.14.69.0/24, - 202.14.73.0/24, - 202.14.74.0/23, - 202.14.76.0/24, - 202.14.78.0/23, - 202.14.88.0/24, - 202.14.97.0/24, - 202.14.104.0/23, - 202.14.108.0/23, - 202.14.111.0/24, - 202.14.114.0/23, - 202.14.118.0/23, - 202.14.124.0/23, - 202.14.127.0/24, - 202.14.129.0/24, - 202.14.135.0/24, - 202.14.136.0/24, - 202.14.149.0/24, - 202.14.151.0/24, - 202.14.157.0/24, - 202.14.158.0/23, - 202.14.169.0/24, - 202.14.170.0/23, - 202.14.172.0/22, - 202.14.176.0/24, - 202.14.184.0/23, - 202.14.208.0/23, - 202.14.213.0/24, - 202.14.219.0/24, - 202.14.220.0/24, - 202.14.222.0/23, - 202.14.225.0/24, - 202.14.226.0/23, - 202.14.231.0/24, - 202.14.235.0/24, - 202.14.236.0/22, - 202.14.246.0/24, - 202.14.251.0/24, - 202.20.66.0/24, - 202.20.79.0/24, - 202.20.87.0/24, - 202.20.88.0/23, - 202.20.90.0/24, - 202.20.94.0/23, - 202.20.114.0/24, - 202.20.117.0/24, - 202.20.120.0/24, - 202.20.125.0/24, - 202.20.126.0/23, - 202.21.48.0/20, - 202.21.131.0/24, - 202.21.132.0/24, - 202.21.141.0/24, - 202.21.142.0/24, - 202.21.147.0/24, - 202.21.148.0/24, - 202.21.150.0/23, - 202.21.152.0/23, - 202.21.154.0/24, - 202.21.156.0/24, - 202.22.248.0/21, - 202.27.12.0/24, - 202.27.14.0/24, - 202.27.136.0/23, - 202.36.226.0/24, - 202.38.0.0/22, - 202.38.8.0/21, - 202.38.48.0/20, - 202.38.64.0/18, - 202.38.128.0/21, - 202.38.136.0/23, - 202.38.140.0/22, - 202.38.146.0/23, - 202.38.149.0/24, - 202.38.150.0/23, - 202.38.152.0/22, - 202.38.156.0/24, - 202.38.158.0/23, - 202.38.164.0/22, - 202.38.168.0/23, - 202.38.170.0/24, - 202.38.176.0/23, - 202.38.184.0/21, - 202.38.192.0/18, - 202.40.4.0/23, - 202.40.7.0/24, - 202.40.15.0/24, - 202.40.135.0/24, - 202.40.136.0/24, - 202.40.140.0/24, - 202.40.143.0/24, - 202.40.144.0/23, - 202.40.150.0/24, - 202.40.155.0/24, - 202.40.156.0/24, - 202.40.158.0/23, - 202.40.162.0/24, - 202.41.8.0/23, - 202.41.11.0/24, - 202.41.12.0/23, - 202.41.128.0/24, - 202.41.130.0/23, - 202.41.142.0/24, - 202.41.152.0/21, - 202.41.192.0/24, - 202.41.196.0/22, - 202.41.200.0/22, - 202.41.240.0/20, - 202.43.76.0/22, - 202.43.144.0/20, - 202.44.16.0/20, - 202.44.48.0/22, - 202.44.67.0/24, - 202.44.74.0/24, - 202.44.97.0/24, - 202.44.129.0/24, - 202.44.132.0/23, - 202.44.146.0/23, - 202.45.0.0/23, - 202.45.2.0/24, - 202.45.15.0/24, - 202.45.16.0/20, - 202.46.16.0/23, - 202.46.18.0/24, - 202.46.20.0/23, - 202.46.39.0/24, - 202.46.40.0/24, - 202.46.45.0/24, - 202.46.46.0/24, - 202.46.128.0/24, - 202.46.224.0/20, - 202.47.82.0/23, - 202.47.96.0/20, - 202.47.126.0/24, - 202.47.128.0/24, - 202.47.130.0/23, - 202.52.33.0/24, - 202.52.34.0/24, - 202.52.47.0/24, - 202.52.143.0/24, - 202.53.140.0/24, - 202.53.143.0/24, - 202.55.0.0/19, - 202.57.192.0/20, - 202.57.212.0/22, - 202.57.216.0/22, - 202.57.240.0/20, - 202.58.0.0/24, - 202.58.112.0/22, - 202.59.0.0/23, - 202.59.212.0/22, - 202.59.236.0/24, - 202.59.240.0/24, - 202.60.48.0/21, - 202.60.96.0/21, - 202.60.112.0/20, - 202.60.132.0/22, - 202.60.136.0/21, - 202.60.144.0/20, - 202.61.68.0/22, - 202.61.76.0/22, - 202.61.88.0/22, - 202.61.123.0/24, - 202.61.127.0/24, - 202.62.112.0/22, - 202.62.248.0/22, - 202.62.252.0/24, - 202.62.255.0/24, - 202.63.80.0/20, - 202.63.160.0/19, - 202.63.248.0/22, - 202.63.253.0/24, - 202.65.0.0/21, - 202.65.8.0/23, - 202.65.100.0/22, - 202.65.104.0/21, - 202.66.169.0/24, - 202.66.170.0/23, - 202.67.0.0/22, - 202.69.4.0/23, - 202.69.16.0/20, - 202.70.0.0/19, - 202.70.96.0/20, - 202.70.192.0/20, - 202.71.32.0/20, - 202.72.40.0/21, - 202.72.80.0/20, - 202.72.112.0/20, - 202.73.128.0/22, - 202.73.240.0/20, - 202.74.8.0/21, - 202.74.36.0/24, - 202.74.42.0/24, - 202.74.52.0/24, - 202.74.80.0/20, - 202.74.254.0/23, - 202.75.208.0/20, - 202.75.252.0/22, - 202.76.247.0/24, - 202.76.252.0/22, - 202.77.80.0/21, - 202.77.92.0/22, - 202.78.8.0/21, - 202.79.224.0/21, - 202.79.248.0/22, - 202.80.192.0/20, - 202.81.0.0/22, - 202.81.176.0/20, - 202.83.252.0/22, - 202.84.0.0/20, - 202.84.16.0/23, - 202.84.22.0/24, - 202.84.24.0/21, - 202.85.208.0/20, - 202.86.249.0/24, - 202.87.80.0/20, - 202.88.32.0/22, - 202.89.8.0/21, - 202.89.96.0/22, - 202.89.108.0/22, - 202.89.119.0/24, - 202.89.232.0/21, - 202.90.16.0/20, - 202.90.37.0/24, - 202.90.96.0/19, - 202.90.193.0/24, - 202.90.196.0/24, - 202.90.205.0/24, - 202.90.224.0/20, - 202.91.0.0/22, - 202.91.96.0/20, - 202.91.176.0/20, - 202.91.224.0/19, - 202.92.8.0/21, - 202.92.48.0/20, - 202.92.252.0/22, - 202.93.252.0/22, - 202.94.74.0/24, - 202.94.81.0/24, - 202.94.92.0/22, - 202.95.0.0/19, - 202.95.240.0/21, - 202.96.0.0/12, - 202.112.0.0/13, - 202.120.0.0/15, - 202.122.0.0/21, - 202.122.32.0/21, - 202.122.64.0/19, - 202.122.112.0/20, - 202.122.132.0/24, - 202.123.96.0/20, - 202.123.116.0/22, - 202.123.120.0/22, - 202.124.16.0/21, - 202.124.24.0/22, - 202.125.107.0/24, - 202.125.109.0/24, - 202.125.112.0/20, - 202.125.176.0/20, - 202.127.0.0/21, - 202.127.12.0/22, - 202.127.16.0/20, - 202.127.40.0/21, - 202.127.48.0/20, - 202.127.112.0/20, - 202.127.128.0/19, - 202.127.192.0/20, - 202.127.212.0/22, - 202.127.216.0/21, - 202.127.224.0/19, - 202.129.208.0/24, - 202.130.0.0/19, - 202.130.39.0/24, - 202.130.224.0/19, - 202.131.16.0/21, - 202.131.48.0/22, - 202.131.54.0/23, - 202.131.56.0/21, - 202.131.208.0/20, - 202.133.32.0/20, - 202.134.58.0/24, - 202.134.128.0/20, - 202.134.208.0/20, - 202.136.48.0/20, - 202.136.208.0/20, - 202.136.224.0/20, - 202.136.248.0/22, - 202.136.255.0/24, - 202.137.231.0/24, - 202.140.140.0/22, - 202.140.144.0/20, - 202.141.160.0/19, - 202.142.16.0/20, - 202.143.4.0/22, - 202.143.16.0/20, - 202.143.32.0/20, - 202.143.56.0/21, - 202.143.100.0/22, - 202.143.104.0/22, - 202.144.198.0/23, - 202.146.160.0/20, - 202.146.184.0/23, - 202.146.186.0/24, - 202.146.188.0/22, - 202.146.196.0/22, - 202.146.200.0/21, - 202.147.144.0/20, - 202.148.32.0/20, - 202.148.64.0/18, - 202.149.32.0/19, - 202.149.160.0/19, - 202.149.224.0/19, - 202.150.16.0/20, - 202.150.32.0/20, - 202.150.56.0/22, - 202.150.192.0/20, - 202.150.224.0/19, - 202.151.0.0/22, - 202.151.33.0/24, - 202.151.128.0/19, - 202.152.176.0/20, - 202.153.0.0/22, - 202.153.7.0/24, - 202.153.48.0/20, - 202.157.192.0/19, - 202.158.160.0/19, - 202.158.242.0/24, - 202.160.140.0/22, - 202.160.156.0/22, - 202.162.67.0/24, - 202.162.75.0/24, - 202.163.1.160/28, - 202.163.8.80/30, - 202.164.0.0/20, - 202.164.25.0/24, - 202.164.96.0/19, - 202.165.176.0/20, - 202.165.208.0/20, - 202.165.239.0/24, - 202.165.240.0/23, - 202.165.243.0/24, - 202.165.245.0/24, - 202.165.251.0/24, - 202.165.252.0/22, - 202.166.224.0/19, - 202.168.80.0/22, - 202.168.128.0/20, - 202.168.160.0/19, - 202.170.128.0/19, - 202.170.216.0/21, - 202.170.224.0/19, - 202.171.216.0/21, - 202.171.232.0/24, - 202.171.235.0/24, - 202.172.0.0/22, - 202.172.7.0/24, - 202.173.0.0/22, - 202.173.6.0/24, - 202.173.8.0/21, - 202.173.112.0/22, - 202.173.224.0/19, - 202.174.64.0/20, - 202.174.124.0/22, - 202.176.224.0/19, - 202.179.160.0/20, - 202.179.240.0/20, - 202.180.128.0/19, - 202.180.208.0/21, - 202.181.8.0/22, - 202.181.28.0/22, - 202.181.112.0/20, - 202.182.32.0/20, - 202.182.192.0/19, - 202.189.0.0/18, - 202.189.80.0/20, - 202.189.184.0/21, - 202.191.0.0/24, - 202.191.68.0/22, - 202.191.72.0/21, - 202.191.80.0/20, - 202.192.0.0/12, - 203.0.4.0/22, - 203.0.10.0/23, - 203.0.18.0/24, - 203.0.24.0/24, - 203.0.42.0/23, - 203.0.45.0/24, - 203.0.46.0/23, - 203.0.81.0/24, - 203.0.82.0/23, - 203.0.90.0/23, - 203.0.96.0/23, - 203.0.104.0/21, - 203.0.114.0/23, - 203.0.122.0/24, - 203.0.128.0/24, - 203.0.130.0/23, - 203.0.132.0/22, - 203.0.137.0/24, - 203.0.142.0/24, - 203.0.144.0/24, - 203.0.146.0/24, - 203.0.148.0/24, - 203.0.150.0/23, - 203.0.152.0/24, - 203.0.177.0/24, - 203.0.224.0/24, - 203.1.4.0/22, - 203.1.18.0/24, - 203.1.26.0/23, - 203.1.65.0/24, - 203.1.66.0/23, - 203.1.70.0/23, - 203.1.76.0/23, - 203.1.90.0/24, - 203.1.97.0/24, - 203.1.98.0/23, - 203.1.100.0/22, - 203.1.108.0/24, - 203.1.253.0/24, - 203.1.254.0/24, - 203.2.64.0/21, - 203.2.73.0/24, - 203.2.112.0/21, - 203.2.126.0/23, - 203.2.140.0/24, - 203.2.150.0/24, - 203.2.152.0/22, - 203.2.156.0/23, - 203.2.160.0/21, - 203.2.180.0/23, - 203.2.196.0/23, - 203.2.209.0/24, - 203.2.214.0/23, - 203.2.226.0/23, - 203.2.229.0/24, - 203.2.236.0/23, - 203.3.68.0/24, - 203.3.72.0/23, - 203.3.75.0/24, - 203.3.80.0/21, - 203.3.96.0/22, - 203.3.105.0/24, - 203.3.112.0/21, - 203.3.120.0/24, - 203.3.123.0/24, - 203.3.135.0/24, - 203.3.139.0/24, - 203.3.143.0/24, - 203.4.132.0/23, - 203.4.134.0/24, - 203.4.151.0/24, - 203.4.152.0/22, - 203.4.174.0/23, - 203.4.180.0/24, - 203.4.186.0/24, - 203.4.205.0/24, - 203.4.208.0/22, - 203.4.227.0/24, - 203.4.230.0/23, - 203.5.4.0/23, - 203.5.7.0/24, - 203.5.8.0/23, - 203.5.11.0/24, - 203.5.21.0/24, - 203.5.22.0/24, - 203.5.44.0/24, - 203.5.46.0/23, - 203.5.52.0/22, - 203.5.56.0/23, - 203.5.60.0/23, - 203.5.114.0/23, - 203.5.118.0/24, - 203.5.120.0/24, - 203.5.172.0/24, - 203.5.180.0/23, - 203.5.182.0/24, - 203.5.185.0/24, - 203.5.186.0/24, - 203.5.188.0/23, - 203.5.190.0/24, - 203.5.195.0/24, - 203.5.214.0/23, - 203.5.218.0/23, - 203.6.131.0/24, - 203.6.136.0/24, - 203.6.138.0/23, - 203.6.142.0/24, - 203.6.150.0/23, - 203.6.157.0/24, - 203.6.159.0/24, - 203.6.224.0/20, - 203.6.248.0/23, - 203.7.129.0/24, - 203.7.138.0/23, - 203.7.147.0/24, - 203.7.150.0/23, - 203.7.158.0/24, - 203.7.192.0/23, - 203.7.200.0/24, - 203.8.0.0/24, - 203.8.8.0/24, - 203.8.23.0/24, - 203.8.24.0/23, - 203.8.27.0/24, - 203.8.28.0/23, - 203.8.30.0/24, - 203.8.70.0/24, - 203.8.82.0/24, - 203.8.86.0/23, - 203.8.91.0/24, - 203.8.110.0/23, - 203.8.115.0/24, - 203.8.166.0/23, - 203.8.169.0/24, - 203.8.173.0/24, - 203.8.184.0/24, - 203.8.186.0/23, - 203.8.190.0/23, - 203.8.192.0/24, - 203.8.197.0/24, - 203.8.198.0/23, - 203.8.203.0/24, - 203.8.209.0/24, - 203.8.210.0/23, - 203.8.212.0/22, - 203.8.217.0/24, - 203.8.220.0/24, - 203.9.32.0/24, - 203.9.36.0/23, - 203.9.57.0/24, - 203.9.63.0/24, - 203.9.65.0/24, - 203.9.70.0/23, - 203.9.72.0/24, - 203.9.75.0/24, - 203.9.76.0/23, - 203.9.96.0/22, - 203.9.100.0/23, - 203.9.108.0/24, - 203.9.158.0/24, - 203.10.34.0/24, - 203.10.56.0/24, - 203.10.74.0/23, - 203.10.84.0/22, - 203.10.88.0/24, - 203.10.95.0/24, - 203.10.125.0/24, - 203.11.70.0/24, - 203.11.76.0/22, - 203.11.82.0/24, - 203.11.84.0/22, - 203.11.100.0/22, - 203.11.109.0/24, - 203.11.117.0/24, - 203.11.122.0/24, - 203.11.126.0/24, - 203.11.136.0/22, - 203.11.141.0/24, - 203.11.142.0/23, - 203.11.180.0/22, - 203.11.208.0/22, - 203.12.16.0/24, - 203.12.19.0/24, - 203.12.24.0/24, - 203.12.57.0/24, - 203.12.65.0/24, - 203.12.66.0/24, - 203.12.70.0/23, - 203.12.87.0/24, - 203.12.91.0/24, - 203.12.93.0/24, - 203.12.95.0/24, - 203.12.100.0/23, - 203.12.103.0/24, - 203.12.114.0/24, - 203.12.118.0/24, - 203.12.130.0/24, - 203.12.137.0/24, - 203.12.196.0/22, - 203.12.204.0/23, - 203.12.211.0/24, - 203.12.219.0/24, - 203.12.226.0/24, - 203.12.240.0/22, - 203.13.18.0/24, - 203.13.24.0/24, - 203.13.44.0/23, - 203.13.80.0/23, - 203.13.88.0/23, - 203.13.92.0/22, - 203.13.173.0/24, - 203.13.224.0/23, - 203.13.227.0/24, - 203.13.233.0/24, - 203.14.24.0/22, - 203.14.33.0/24, - 203.14.56.0/24, - 203.14.61.0/24, - 203.14.62.0/24, - 203.14.104.0/24, - 203.14.114.0/23, - 203.14.118.0/24, - 203.14.162.0/24, - 203.14.192.0/24, - 203.14.194.0/23, - 203.14.214.0/24, - 203.14.231.0/24, - 203.14.246.0/24, - 203.15.0.0/20, - 203.15.20.0/23, - 203.15.22.0/24, - 203.15.87.0/24, - 203.15.88.0/23, - 203.15.105.0/24, - 203.15.112.0/22, - 203.15.119.0/24, - 203.15.130.0/23, - 203.15.149.0/24, - 203.15.151.0/24, - 203.15.156.0/22, - 203.15.174.0/24, - 203.15.227.0/24, - 203.15.232.0/22, - 203.15.238.0/23, - 203.15.240.0/23, - 203.15.246.0/24, - 203.16.10.0/24, - 203.16.12.0/23, - 203.16.16.0/21, - 203.16.27.0/24, - 203.16.38.0/24, - 203.16.49.0/24, - 203.16.50.0/23, - 203.16.58.0/24, - 203.16.63.0/24, - 203.16.133.0/24, - 203.16.161.0/24, - 203.16.162.0/24, - 203.16.186.0/23, - 203.16.228.0/24, - 203.16.238.0/24, - 203.16.240.0/24, - 203.16.245.0/24, - 203.17.2.0/24, - 203.17.18.0/24, - 203.17.28.0/24, - 203.17.39.0/24, - 203.17.56.0/24, - 203.17.74.0/23, - 203.17.88.0/23, - 203.17.136.0/24, - 203.17.164.0/24, - 203.17.187.0/24, - 203.17.190.0/23, - 203.17.231.0/24, - 203.17.233.0/24, - 203.17.248.0/23, - 203.17.255.0/24, - 203.18.2.0/23, - 203.18.4.0/24, - 203.18.7.0/24, - 203.18.31.0/24, - 203.18.37.0/24, - 203.18.48.0/23, - 203.18.52.0/24, - 203.18.72.0/22, - 203.18.80.0/23, - 203.18.87.0/24, - 203.18.100.0/23, - 203.18.105.0/24, - 203.18.107.0/24, - 203.18.110.0/24, - 203.18.129.0/24, - 203.18.131.0/24, - 203.18.132.0/23, - 203.18.144.0/24, - 203.18.153.0/24, - 203.18.199.0/24, - 203.18.208.0/24, - 203.18.211.0/24, - 203.18.215.0/24, - 203.19.1.0/24, - 203.19.18.0/24, - 203.19.24.0/24, - 203.19.30.0/24, - 203.19.41.0/24, - 203.19.44.0/23, - 203.19.46.0/24, - 203.19.58.0/24, - 203.19.60.0/23, - 203.19.64.0/24, - 203.19.68.0/24, - 203.19.72.0/24, - 203.19.101.0/24, - 203.19.111.0/24, - 203.19.131.0/24, - 203.19.133.0/24, - 203.19.144.0/24, - 203.19.147.0/24, - 203.19.149.0/24, - 203.19.156.0/24, - 203.19.176.0/24, - 203.19.178.0/23, - 203.19.208.0/24, - 203.19.228.0/22, - 203.19.233.0/24, - 203.19.242.0/24, - 203.19.248.0/23, - 203.19.255.0/24, - 203.20.17.0/24, - 203.20.40.0/23, - 203.20.44.0/24, - 203.20.48.0/24, - 203.20.61.0/24, - 203.20.65.0/24, - 203.20.84.0/23, - 203.20.89.0/24, - 203.20.106.0/23, - 203.20.115.0/24, - 203.20.117.0/24, - 203.20.118.0/23, - 203.20.122.0/24, - 203.20.126.0/23, - 203.20.135.0/24, - 203.20.150.0/24, - 203.20.230.0/24, - 203.20.232.0/24, - 203.20.236.0/24, - 203.21.0.0/23, - 203.21.2.0/24, - 203.21.8.0/24, - 203.21.10.0/24, - 203.21.18.0/24, - 203.21.33.0/24, - 203.21.34.0/24, - 203.21.41.0/24, - 203.21.44.0/24, - 203.21.68.0/24, - 203.21.82.0/24, - 203.21.96.0/22, - 203.21.124.0/24, - 203.21.136.0/23, - 203.21.145.0/24, - 203.21.206.0/24, - 203.22.24.0/24, - 203.22.28.0/23, - 203.22.31.0/24, - 203.22.68.0/24, - 203.22.76.0/24, - 203.22.78.0/24, - 203.22.84.0/24, - 203.22.87.0/24, - 203.22.92.0/22, - 203.22.99.0/24, - 203.22.106.0/24, - 203.22.122.0/23, - 203.22.131.0/24, - 203.22.163.0/24, - 203.22.166.0/24, - 203.22.170.0/24, - 203.22.194.0/24, - 203.22.242.0/23, - 203.22.245.0/24, - 203.22.246.0/24, - 203.22.252.0/23, - 203.23.0.0/24, - 203.23.47.0/24, - 203.23.61.0/24, - 203.23.62.0/23, - 203.23.73.0/24, - 203.23.85.0/24, - 203.23.92.0/22, - 203.23.98.0/24, - 203.23.107.0/24, - 203.23.112.0/24, - 203.23.130.0/24, - 203.23.140.0/23, - 203.23.172.0/24, - 203.23.182.0/24, - 203.23.186.0/23, - 203.23.192.0/24, - 203.23.197.0/24, - 203.23.198.0/24, - 203.23.204.0/22, - 203.23.224.0/24, - 203.23.226.0/23, - 203.23.228.0/22, - 203.23.249.0/24, - 203.23.251.0/24, - 203.24.13.0/24, - 203.24.18.0/24, - 203.24.27.0/24, - 203.24.43.0/24, - 203.24.56.0/24, - 203.24.58.0/24, - 203.24.67.0/24, - 203.24.74.0/24, - 203.24.79.0/24, - 203.24.80.0/23, - 203.24.84.0/23, - 203.24.86.0/24, - 203.24.90.0/24, - 203.24.111.0/24, - 203.24.112.0/24, - 203.24.116.0/24, - 203.24.122.0/23, - 203.24.145.0/24, - 203.24.152.0/23, - 203.24.157.0/24, - 203.24.161.0/24, - 203.24.167.0/24, - 203.24.186.0/23, - 203.24.199.0/24, - 203.24.202.0/24, - 203.24.212.0/23, - 203.24.217.0/24, - 203.24.219.0/24, - 203.24.244.0/24, - 203.25.19.0/24, - 203.25.20.0/23, - 203.25.46.0/24, - 203.25.48.0/24, - 203.25.52.0/24, - 203.25.64.0/23, - 203.25.91.0/24, - 203.25.99.0/24, - 203.25.100.0/24, - 203.25.106.0/24, - 203.25.131.0/24, - 203.25.135.0/24, - 203.25.138.0/24, - 203.25.147.0/24, - 203.25.153.0/24, - 203.25.154.0/23, - 203.25.164.0/24, - 203.25.166.0/24, - 203.25.174.0/23, - 203.25.180.0/24, - 203.25.182.0/24, - 203.25.191.0/24, - 203.25.199.0/24, - 203.25.200.0/24, - 203.25.202.0/23, - 203.25.208.0/20, - 203.25.229.0/24, - 203.25.235.0/24, - 203.25.236.0/24, - 203.25.242.0/24, - 203.26.12.0/24, - 203.26.34.0/24, - 203.26.49.0/24, - 203.26.50.0/24, - 203.26.55.0/24, - 203.26.56.0/23, - 203.26.60.0/24, - 203.26.65.0/24, - 203.26.68.0/24, - 203.26.76.0/24, - 203.26.80.0/24, - 203.26.84.0/24, - 203.26.97.0/24, - 203.26.102.0/23, - 203.26.115.0/24, - 203.26.116.0/24, - 203.26.129.0/24, - 203.26.143.0/24, - 203.26.144.0/24, - 203.26.148.0/23, - 203.26.154.0/24, - 203.26.158.0/23, - 203.26.170.0/24, - 203.26.173.0/24, - 203.26.176.0/24, - 203.26.185.0/24, - 203.26.202.0/23, - 203.26.210.0/24, - 203.26.214.0/24, - 203.26.222.0/24, - 203.26.224.0/24, - 203.26.228.0/24, - 203.26.232.0/24, - 203.27.0.0/24, - 203.27.10.0/24, - 203.27.15.0/24, - 203.27.16.0/24, - 203.27.20.0/24, - 203.27.22.0/23, - 203.27.40.0/24, - 203.27.45.0/24, - 203.27.53.0/24, - 203.27.65.0/24, - 203.27.66.0/24, - 203.27.81.0/24, - 203.27.88.0/24, - 203.27.102.0/24, - 203.27.109.0/24, - 203.27.117.0/24, - 203.27.121.0/24, - 203.27.122.0/23, - 203.27.125.0/24, - 203.27.200.0/24, - 203.27.202.0/24, - 203.27.233.0/24, - 203.27.241.0/24, - 203.27.250.0/24, - 203.28.10.0/24, - 203.28.12.0/24, - 203.28.33.0/24, - 203.28.34.0/23, - 203.28.43.0/24, - 203.28.44.0/24, - 203.28.54.0/24, - 203.28.56.0/24, - 203.28.73.0/24, - 203.28.74.0/24, - 203.28.76.0/24, - 203.28.86.0/24, - 203.28.88.0/24, - 203.28.112.0/24, - 203.28.131.0/24, - 203.28.136.0/24, - 203.28.140.0/24, - 203.28.145.0/24, - 203.28.165.0/24, - 203.28.169.0/24, - 203.28.170.0/24, - 203.28.178.0/23, - 203.28.185.0/24, - 203.28.187.0/24, - 203.28.196.0/24, - 203.28.226.0/23, - 203.28.239.0/24, - 203.29.2.0/24, - 203.29.8.0/23, - 203.29.13.0/24, - 203.29.14.0/24, - 203.29.28.0/24, - 203.29.46.0/24, - 203.29.57.0/24, - 203.29.61.0/24, - 203.29.63.0/24, - 203.29.69.0/24, - 203.29.73.0/24, - 203.29.81.0/24, - 203.29.90.0/24, - 203.29.95.0/24, - 203.29.100.0/24, - 203.29.103.0/24, - 203.29.112.0/24, - 203.29.120.0/22, - 203.29.182.0/23, - 203.29.187.0/24, - 203.29.189.0/24, - 203.29.190.0/24, - 203.29.205.0/24, - 203.29.210.0/24, - 203.29.217.0/24, - 203.29.227.0/24, - 203.29.231.0/24, - 203.29.233.0/24, - 203.29.234.0/24, - 203.29.248.0/24, - 203.29.254.0/23, - 203.30.16.0/23, - 203.30.25.0/24, - 203.30.27.0/24, - 203.30.29.0/24, - 203.30.66.0/24, - 203.30.81.0/24, - 203.30.87.0/24, - 203.30.111.0/24, - 203.30.121.0/24, - 203.30.123.0/24, - 203.30.152.0/24, - 203.30.156.0/24, - 203.30.162.0/24, - 203.30.173.0/24, - 203.30.175.0/24, - 203.30.187.0/24, - 203.30.194.0/24, - 203.30.217.0/24, - 203.30.220.0/24, - 203.30.222.0/24, - 203.30.232.0/23, - 203.30.235.0/24, - 203.30.240.0/23, - 203.30.246.0/24, - 203.30.250.0/23, - 203.31.45.0/24, - 203.31.46.0/24, - 203.31.49.0/24, - 203.31.51.0/24, - 203.31.54.0/23, - 203.31.69.0/24, - 203.31.72.0/24, - 203.31.80.0/24, - 203.31.85.0/24, - 203.31.97.0/24, - 203.31.105.0/24, - 203.31.106.0/24, - 203.31.108.0/23, - 203.31.124.0/24, - 203.31.162.0/24, - 203.31.174.0/24, - 203.31.177.0/24, - 203.31.181.0/24, - 203.31.187.0/24, - 203.31.189.0/24, - 203.31.204.0/24, - 203.31.220.0/24, - 203.31.222.0/23, - 203.31.225.0/24, - 203.31.229.0/24, - 203.31.248.0/23, - 203.31.253.0/24, - 203.32.20.0/24, - 203.32.48.0/23, - 203.32.56.0/24, - 203.32.60.0/24, - 203.32.62.0/24, - 203.32.68.0/23, - 203.32.76.0/24, - 203.32.81.0/24, - 203.32.84.0/23, - 203.32.95.0/24, - 203.32.102.0/24, - 203.32.105.0/24, - 203.32.130.0/24, - 203.32.133.0/24, - 203.32.140.0/24, - 203.32.152.0/24, - 203.32.186.0/23, - 203.32.192.0/24, - 203.32.196.0/24, - 203.32.203.0/24, - 203.32.204.0/23, - 203.32.212.0/24, - 203.33.4.0/24, - 203.33.7.0/24, - 203.33.12.0/23, - 203.33.21.0/24, - 203.33.26.0/24, - 203.33.32.0/24, - 203.33.63.0/24, - 203.33.64.0/24, - 203.33.67.0/24, - 203.33.68.0/24, - 203.33.73.0/24, - 203.33.79.0/24, - 203.33.100.0/24, - 203.33.122.0/24, - 203.33.129.0/24, - 203.33.131.0/24, - 203.33.145.0/24, - 203.33.156.0/24, - 203.33.158.0/23, - 203.33.174.0/24, - 203.33.185.0/24, - 203.33.200.0/24, - 203.33.202.0/23, - 203.33.204.0/24, - 203.33.206.0/23, - 203.33.214.0/23, - 203.33.224.0/23, - 203.33.226.0/24, - 203.33.233.0/24, - 203.33.243.0/24, - 203.33.250.0/24, - 203.34.4.0/24, - 203.34.21.0/24, - 203.34.27.0/24, - 203.34.39.0/24, - 203.34.48.0/23, - 203.34.54.0/24, - 203.34.56.0/23, - 203.34.67.0/24, - 203.34.69.0/24, - 203.34.76.0/24, - 203.34.92.0/24, - 203.34.106.0/24, - 203.34.113.0/24, - 203.34.147.0/24, - 203.34.150.0/24, - 203.34.152.0/23, - 203.34.161.0/24, - 203.34.162.0/24, - 203.34.187.0/24, - 203.34.198.0/24, - 203.34.204.0/22, - 203.34.232.0/24, - 203.34.240.0/24, - 203.34.242.0/24, - 203.34.245.0/24, - 203.34.251.0/24, - 203.55.2.0/23, - 203.55.4.0/24, - 203.55.10.0/24, - 203.55.13.0/24, - 203.55.22.0/24, - 203.55.30.0/24, - 203.55.93.0/24, - 203.55.101.0/24, - 203.55.109.0/24, - 203.55.110.0/24, - 203.55.116.0/23, - 203.55.119.0/24, - 203.55.128.0/23, - 203.55.146.0/23, - 203.55.192.0/24, - 203.55.196.0/24, - 203.55.218.0/23, - 203.55.221.0/24, - 203.55.224.0/24, - 203.56.1.0/24, - 203.56.4.0/24, - 203.56.12.0/24, - 203.56.24.0/24, - 203.56.38.0/24, - 203.56.40.0/24, - 203.56.46.0/24, - 203.56.68.0/23, - 203.56.82.0/23, - 203.56.84.0/23, - 203.56.95.0/24, - 203.56.110.0/24, - 203.56.121.0/24, - 203.56.161.0/24, - 203.56.169.0/24, - 203.56.172.0/23, - 203.56.175.0/24, - 203.56.183.0/24, - 203.56.185.0/24, - 203.56.187.0/24, - 203.56.192.0/24, - 203.56.198.0/24, - 203.56.201.0/24, - 203.56.208.0/23, - 203.56.210.0/24, - 203.56.214.0/24, - 203.56.216.0/24, - 203.56.227.0/24, - 203.56.228.0/24, - 203.56.232.0/24, - 203.56.240.0/24, - 203.56.252.0/24, - 203.56.254.0/24, - 203.57.5.0/24, - 203.57.6.0/24, - 203.57.12.0/23, - 203.57.28.0/24, - 203.57.39.0/24, - 203.57.46.0/24, - 203.57.58.0/24, - 203.57.61.0/24, - 203.57.66.0/24, - 203.57.69.0/24, - 203.57.70.0/23, - 203.57.73.0/24, - 203.57.90.0/24, - 203.57.101.0/24, - 203.57.109.0/24, - 203.57.123.0/24, - 203.57.157.0/24, - 203.57.200.0/24, - 203.57.202.0/24, - 203.57.206.0/24, - 203.57.222.0/24, - 203.57.224.0/20, - 203.57.246.0/23, - 203.57.249.0/24, - 203.57.253.0/24, - 203.57.254.0/23, - 203.62.2.0/24, - 203.62.131.0/24, - 203.62.139.0/24, - 203.62.161.0/24, - 203.62.197.0/24, - 203.62.228.0/22, - 203.62.234.0/24, - 203.62.246.0/24, - 203.65.240.0/22, - 203.76.160.0/22, - 203.76.168.0/22, - 203.76.208.0/21, - 203.76.216.0/22, - 203.76.240.0/22, - 203.77.180.0/22, - 203.78.48.0/20, - 203.78.156.0/22, - 203.79.0.0/20, - 203.80.4.0/23, - 203.80.32.0/20, - 203.80.57.0/24, - 203.80.129.0/24, - 203.80.132.0/22, - 203.80.144.0/20, - 203.81.16.0/20, - 203.81.244.0/22, - 203.82.0.0/23, - 203.82.112.0/20, - 203.82.224.0/20, - 203.83.0.0/22, - 203.83.12.0/22, - 203.83.56.0/21, - 203.83.224.0/20, - 203.86.0.0/18, - 203.86.64.0/19, - 203.86.96.0/23, - 203.86.108.0/24, - 203.86.110.0/24, - 203.86.112.0/24, - 203.86.116.0/23, - 203.86.250.0/24, - 203.86.254.0/23, - 203.88.32.0/19, - 203.88.192.0/19, - 203.89.8.0/23, - 203.89.100.0/22, - 203.89.136.0/22, - 203.89.144.0/24, - 203.90.8.0/21, - 203.90.128.0/18, - 203.90.192.0/19, - 203.91.32.0/19, - 203.91.96.0/20, - 203.91.120.0/21, - 203.92.0.0/22, - 203.92.6.0/24, - 203.92.160.0/19, - 203.93.0.0/16, - 203.94.0.0/19, - 203.95.0.0/21, - 203.95.96.0/19, - 203.95.128.0/18, - 203.95.200.0/21, - 203.95.208.0/22, - 203.95.224.0/19, - 203.99.16.0/20, - 203.99.80.0/20, - 203.100.32.0/20, - 203.100.50.0/23, - 203.100.54.0/24, - 203.100.58.0/24, - 203.100.60.0/24, - 203.100.63.0/24, - 203.100.80.0/20, - 203.100.96.0/19, - 203.100.192.0/20, - 203.104.32.0/20, - 203.105.96.0/19, - 203.105.128.0/19, - 203.107.0.0/18, - 203.107.69.0/24, - 203.107.70.0/23, - 203.107.72.0/21, - 203.107.80.0/20, - 203.107.96.0/19, - 203.110.160.0/19, - 203.110.208.0/20, - 203.110.232.0/23, - 203.110.234.0/24, - 203.114.80.0/20, - 203.114.244.0/22, - 203.118.192.0/19, - 203.118.241.0/24, - 203.118.248.0/22, - 203.119.24.0/21, - 203.119.32.0/22, - 203.119.80.0/22, - 203.119.85.0/24, - 203.119.113.0/24, - 203.119.114.0/23, - 203.119.116.0/22, - 203.119.128.0/17, - 203.123.58.0/24, - 203.128.32.0/19, - 203.128.96.0/19, - 203.129.8.0/24, - 203.129.10.0/23, - 203.129.12.0/22, - 203.130.32.0/20, - 203.130.49.0/24, - 203.130.50.0/23, - 203.130.52.0/22, - 203.130.56.0/21, - 203.132.32.0/19, - 203.134.240.0/21, - 203.135.96.0/19, - 203.135.160.0/20, - 203.142.219.0/24, - 203.142.224.0/19, - 203.144.96.0/24, - 203.144.107.0/24, - 203.144.108.0/22, - 203.144.112.0/20, - 203.145.0.0/19, - 203.148.0.0/18, - 203.148.64.0/20, - 203.148.80.0/22, - 203.148.86.0/23, - 203.149.92.0/22, - 203.152.64.0/19, - 203.152.128.0/19, - 203.153.0.0/22, - 203.156.192.0/18, - 203.158.16.0/21, - 203.160.70.196/31, - 203.160.70.208/31, - 203.160.104.0/22, - 203.160.109.0/24, - 203.160.110.0/23, - 203.160.129.0/24, - 203.160.192.0/19, - 203.161.0.0/22, - 203.161.180.0/24, - 203.161.183.0/24, - 203.161.192.0/19, - 203.166.160.0/19, - 203.167.28.0/22, - 203.168.0.0/19, - 203.170.58.0/23, - 203.171.0.0/22, - 203.171.208.0/24, - 203.171.224.0/20, - 203.174.4.0/24, - 203.174.6.0/23, - 203.174.96.0/19, - 203.175.128.0/19, - 203.175.192.0/18, - 203.176.0.0/18, - 203.176.64.0/19, - 203.176.168.0/21, - 203.184.80.0/20, - 203.185.189.0/24, - 203.187.160.0/19, - 203.189.0.0/23, - 203.189.6.0/23, - 203.189.112.0/22, - 203.189.192.0/19, - 203.189.240.0/22, - 203.190.96.0/20, - 203.190.249.0/24, - 203.191.0.0/23, - 203.191.2.0/24, - 203.191.5.0/24, - 203.191.7.0/24, - 203.191.16.0/21, - 203.191.28.0/22, - 203.191.64.0/18, - 203.191.133.0/24, - 203.191.144.0/20, - 203.192.0.0/19, - 203.193.224.0/19, - 203.194.122.0/23, - 203.194.124.0/24, - 203.195.64.0/19, - 203.195.113.0/24, - 203.195.114.0/23, - 203.195.118.0/23, - 203.195.128.0/17, - 203.196.0.0/21, - 203.196.28.0/22, - 203.201.181.0/24, - 203.201.182.0/24, - 203.202.236.0/22, - 203.205.64.0/19, - 203.205.130.0/23, - 203.205.132.0/23, - 203.205.148.0/22, - 203.205.152.0/23, - 203.205.154.0/24, - 203.205.158.0/24, - 203.205.160.0/20, - 203.205.176.0/21, - 203.205.184.0/22, - 203.205.189.0/24, - 203.205.190.0/24, - 203.205.200.0/21, - 203.205.208.0/21, - 203.205.216.0/23, - 203.205.225.0/24, - 203.205.226.0/23, - 203.205.228.0/22, - 203.205.243.0/24, - 203.205.244.0/22, - 203.207.64.0/18, - 203.207.128.0/17, - 203.208.32.0/19, - 203.209.224.0/19, - 203.212.0.0/20, - 203.212.80.0/20, - 203.215.232.0/23, - 203.215.236.0/24, - 203.217.164.0/22, - 203.223.21.0/24, - 203.223.23.0/24, - 204.55.160.0/24, - 204.79.135.24/32, - 207.226.153.0/24, - 207.226.154.0/24, - 210.2.0.0/23, - 210.2.2.0/24, - 210.2.4.0/22, - 210.2.8.0/21, - 210.2.16.0/22, - 210.2.20.0/23, - 210.2.24.0/21, - 210.5.0.0/19, - 210.5.56.0/21, - 210.5.128.0/19, - 210.7.56.0/21, - 210.12.0.0/15, - 210.14.64.0/19, - 210.14.112.0/20, - 210.14.128.0/17, - 210.15.0.0/17, - 210.15.128.0/18, - 210.16.128.0/18, - 210.21.0.0/16, - 210.22.0.0/16, - 210.23.32.0/19, - 210.25.0.0/16, - 210.26.0.0/15, - 210.28.0.0/14, - 210.32.0.0/12, - 210.48.136.0/21, - 210.51.0.0/16, - 210.52.0.0/15, - 210.56.192.0/19, - 210.72.0.0/15, - 210.74.0.0/16, - 210.75.0.0/17, - 210.75.160.0/19, - 210.75.192.0/18, - 210.76.0.0/15, - 210.78.0.0/16, - 210.79.64.0/18, - 210.79.224.0/19, - 210.82.0.0/15, - 210.87.72.0/23, - 210.87.114.0/23, - 210.87.128.0/18, - 210.185.192.0/18, - 210.192.96.0/19, - 211.64.0.0/13, - 211.80.0.0/12, - 211.96.0.0/13, - 211.136.0.0/13, - 211.144.0.0/14, - 211.148.0.0/16, - 211.149.0.0/18, - 211.149.64.0/21, - 211.149.72.0/22, - 211.149.80.0/20, - 211.149.96.0/19, - 211.149.128.0/17, - 211.150.0.0/15, - 211.152.0.0/17, - 211.152.134.0/23, - 211.152.140.0/22, - 211.152.150.0/23, - 211.152.157.0/24, - 211.152.160.0/19, - 211.152.192.0/18, - 211.153.0.0/16, - 211.154.0.0/16, - 211.155.0.0/18, - 211.155.67.0/24, - 211.155.68.0/22, - 211.155.72.0/21, - 211.155.80.0/20, - 211.155.96.0/19, - 211.155.128.0/17, - 211.156.0.0/18, - 211.156.64.0/19, - 211.156.96.0/21, - 211.156.104.0/22, - 211.156.108.0/23, - 211.156.112.0/20, - 211.156.128.0/17, - 211.157.0.0/16, - 211.158.0.0/15, - 211.160.0.0/13, - 212.64.0.0/17, - 212.129.128.0/17, - 213.199.169.0/24, - 218.0.0.0/11, - 218.33.120.0/22, - 218.56.0.0/13, - 218.64.0.0/11, - 218.96.0.0/15, - 218.98.0.0/18, - 218.98.64.0/22, - 218.98.68.0/24, - 218.98.73.0/24, - 218.98.74.0/23, - 218.98.76.0/22, - 218.98.86.0/23, - 218.98.88.0/21, - 218.98.96.0/19, - 218.98.128.0/17, - 218.100.88.0/21, - 218.100.96.0/19, - 218.100.128.0/17, - 218.104.0.0/14, - 218.108.0.0/15, - 218.185.192.0/19, - 218.185.240.0/21, - 218.192.0.0/12, - 218.240.0.0/14, - 218.244.0.0/15, - 218.246.0.0/17, - 218.246.128.0/21, - 218.246.136.0/22, - 218.246.144.0/20, - 218.246.160.0/19, - 218.246.192.0/18, - 218.247.0.0/18, - 218.247.96.0/19, - 218.247.128.0/17, - 218.249.0.0/16, - 219.72.0.0/16, - 219.82.0.0/16, - 219.83.128.0/17, - 219.90.68.0/22, - 219.90.72.0/21, - 219.128.0.0/11, - 219.216.0.0/13, - 219.224.0.0/13, - 219.232.0.0/15, - 219.234.10.0/23, - 219.234.12.0/22, - 219.234.32.0/19, - 219.234.64.0/18, - 219.234.128.0/17, - 219.235.0.0/16, - 219.236.0.0/14, - 219.242.0.0/15, - 219.244.0.0/14, - 220.101.192.0/18, - 220.112.0.0/14, - 220.152.128.0/17, - 220.154.0.0/16, - 220.155.0.0/21, - 220.155.9.0/24, - 220.155.10.0/23, - 220.155.12.0/22, - 220.155.16.0/21, - 220.155.24.0/22, - 220.155.28.0/23, - 220.155.31.0/24, - 220.155.32.0/19, - 220.155.64.0/18, - 220.155.128.0/17, - 220.158.240.0/22, - 220.160.0.0/11, - 220.192.0.0/12, - 220.231.0.0/18, - 220.231.128.0/17, - 220.232.64.0/18, - 220.234.0.0/16, - 220.242.0.0/22, - 220.242.4.0/23, - 220.242.6.0/24, - 220.242.8.0/21, - 220.242.17.0/24, - 220.242.18.0/23, - 220.242.20.0/22, - 220.242.24.0/21, - 220.242.32.0/19, - 220.242.64.0/18, - 220.242.128.0/20, - 220.242.144.0/21, - 220.242.152.0/24, - 220.242.154.0/23, - 220.242.156.0/22, - 220.242.160.0/20, - 220.242.176.0/21, - 220.242.184.0/23, - 220.242.186.0/24, - 220.242.188.0/22, - 220.242.192.0/21, - 220.242.200.0/24, - 220.242.202.0/23, - 220.242.205.0/24, - 220.242.206.0/23, - 220.242.208.0/20, - 220.242.224.0/19, - 220.243.0.0/17, - 220.243.128.0/18, - 220.243.192.0/20, - 220.243.208.0/21, - 220.243.216.0/23, - 220.243.218.0/24, - 220.243.220.0/22, - 220.243.224.0/20, - 220.243.240.0/23, - 220.243.243.0/24, - 220.243.244.0/22, - 220.243.248.0/21, - 220.247.136.0/23, - 220.248.0.0/14, - 220.252.0.0/16, - 221.0.0.0/13, - 221.8.0.0/14, - 221.12.0.0/17, - 221.12.128.0/18, - 221.13.0.0/16, - 221.14.0.0/15, - 221.122.0.0/15, - 221.129.0.0/16, - 221.130.0.0/15, - 221.133.225.0/24, - 221.133.226.0/24, - 221.133.228.0/22, - 221.133.232.0/22, - 221.133.240.0/20, - 221.136.0.0/15, - 221.172.0.0/14, - 221.176.0.0/13, - 221.192.0.0/14, - 221.196.0.0/15, - 221.198.0.0/16, - 221.199.0.0/17, - 221.199.128.0/18, - 221.199.192.0/20, - 221.199.224.0/19, - 221.200.0.0/13, - 221.208.0.0/12, - 221.224.0.0/12, - 222.16.0.0/12, - 222.32.0.0/11, - 222.64.0.0/11, - 222.125.0.0/16, - 222.126.128.0/17, - 222.128.0.0/12, - 222.160.0.0/14, - 222.168.0.0/13, - 222.176.0.0/12, - 222.192.0.0/11, - 222.240.0.0/13, - 222.248.0.0/15, - 223.0.0.0/12, - 223.20.0.0/15, - 223.27.184.0/22, - 223.29.208.0/22, - 223.29.252.0/24, - 223.29.255.0/24, - 223.64.0.0/10, - 223.128.0.0/15, - 223.144.0.0/12, - 223.160.0.0/14, - 223.166.0.0/15, - 223.192.0.0/15, - 223.198.0.0/15, - 223.201.0.0/16, - 223.202.0.0/15, - 223.208.0.0/13, - 223.220.0.0/15, - 223.223.176.0/20, - 223.223.192.0/20, - 223.240.0.0/13, - 223.248.0.0/14, - 223.252.128.0/19, - 223.252.192.0/19, - 223.255.0.0/17, - 223.255.236.0/22, - 223.255.252.0/23, - } - } -} diff --git a/nikki/files/nikki.conf b/nikki/files/nikki.conf index 439bf97614..01aa787348 100644 --- a/nikki/files/nikki.conf +++ b/nikki/files/nikki.conf @@ -20,7 +20,7 @@ config procd 'procd' config subscription 'subscription' option 'name' 'default' option 'url' 'http://example.com/default.yaml' - option 'user_agent' 'clash' + option 'user_agent' 'clash.meta' option 'prefer' 'remote' config mixin 'mixin' @@ -166,8 +166,6 @@ config proxy 'proxy' list 'reserved_ip6' 'fe80::/10' list 'reserved_ip6' 'ff00::/8' list 'bypass_dscp' '4' - option 'bypass_china_mainland_ip' '0' - option 'bypass_china_mainland_ip6' '0' option 'proxy_tcp_dport' '0-65535' option 'proxy_udp_dport' '0-65535' option 'tun_timeout' '30' diff --git a/nikki/files/nikki.init b/nikki/files/nikki.init index 3cdb62d650..ace5580421 100644 --- a/nikki/files/nikki.init +++ b/nikki/files/nikki.init @@ -456,6 +456,11 @@ update_subscription() { config_get subscription_info_url "$subscription_section" "info_url" config_get subscription_url "$subscription_section" "url" config_get subscription_user_agent "$subscription_section" "user_agent" + local hwid device_os ver_os device_model + hwid="$(get_hwid)" + device_os="OpenWrt" + ver_os="$(get_openwrt_version)" + device_model="$(get_device_model)" # reset subscription info uci_remove "nikki" "$subscription_section" "expire" > /dev/null 2>&1 uci_remove "nikki" "$subscription_section" "upload" > /dev/null 2>&1 @@ -476,7 +481,14 @@ update_subscription() { # fetch subscription info if [ -n "$subscription_info_url" ]; then log "Profile" "Fetch subscription info." - if curl -s -f -m 120 --connect-timeout 15 --retry 3 -L -X GET -A "$subscription_user_agent" -D "$subscription_info_header_tmpfile" "$subscription_info_url" > /dev/null 2>&1; then + if curl -s -f -m 120 --connect-timeout 15 --retry 3 -L -X GET \ + -A "$subscription_user_agent" \ + --header "x-hwid: $hwid" \ + --header "x-device-os: $device_os" \ + --header "x-ver-os: $ver_os" \ + --header "x-device-model: $device_model" \ + -D "$subscription_info_header_tmpfile" \ + "$subscription_info_url" > /dev/null 2>&1; then if [ ! -f "$subscription_info_file" ] && grep -q -i "subscription-userinfo:" "$subscription_info_header_tmpfile"; then subscription_info_file="$subscription_info_header_tmpfile" fi @@ -484,7 +496,15 @@ update_subscription() { fi # download subscription log "Profile" "Download subscription." - if curl -s -f -m 120 --connect-timeout 15 --retry 3 -L -X GET -A "$subscription_user_agent" -D "$subscription_header_tmpfile" -o "$subscription_tmpfile" "$subscription_url" > /dev/null 2>&1; then + if curl -s -f -m 120 --connect-timeout 15 --retry 3 -L -X GET \ + -A "$subscription_user_agent" \ + --header "x-hwid: $hwid" \ + --header "x-device-os: $device_os" \ + --header "x-ver-os: $ver_os" \ + --header "x-device-model: $device_model" \ + -D "$subscription_header_tmpfile" \ + -o "$subscription_tmpfile" \ + "$subscription_url" > /dev/null 2>&1; then log "Profile" "Subscription download successful." if [ ! -f "$subscription_info_file" ] && grep -q -i "subscription-userinfo:" "$subscription_header_tmpfile"; then subscription_info_file="$subscription_header_tmpfile" diff --git a/nikki/files/scripts/include.sh b/nikki/files/scripts/include.sh index bff99a376b..c1ff4a8863 100644 --- a/nikki/files/scripts/include.sh +++ b/nikki/files/scripts/include.sh @@ -34,10 +34,6 @@ SH_DIR="$HOME_DIR/scripts" INCLUDE_SH="$SH_DIR/include.sh" FIREWALL_INCLUDE_SH="$SH_DIR/firewall_include.sh" -# nftables -NFT_DIR="$HOME_DIR/nftables" -GEOIP_CN_NFT="$NFT_DIR/geoip_cn.nft" -GEOIP6_CN_NFT="$NFT_DIR/geoip6_cn.nft" # functions format_filesize() { @@ -88,3 +84,39 @@ clear_log() { log() { echo "[$(date "+%Y-%m-%d %H:%M:%S")] [$1] $2" >> "$APP_LOG_PATH" } + +get_openwrt_version() { + local ver="" + if [ -f /etc/openwrt_release ]; then + ver="$(. /etc/openwrt_release 2>/dev/null; echo "$DISTRIB_RELEASE")" + fi + [ -n "$ver" ] && echo "$ver" || echo "unknown" +} + +get_device_model() { + if [ -f /tmp/sysinfo/model ]; then + cat /tmp/sysinfo/model + else + echo "unknown" + fi +} + +get_hwid() { + local ethaddr="" + if command -v fw_printenv >/dev/null 2>&1; then + ethaddr="$(fw_printenv ethaddr 2>/dev/null | cut -d= -f2 | tr -d '\r\n')" + fi + + # 2) fallback: eth0 + if [ -z "$ethaddr" ] && [ -f /sys/class/net/eth0/address ]; then + ethaddr="$(cat /sys/class/net/eth0/address 2>/dev/null | tr -d '\r\n')" + fi + # 4) if still empty → return empty + [ -z "$ethaddr" ] && { echo ""; return 0; } + + # 5) MAC → sha256 HWID + echo "$ethaddr" \ + | tr '[:upper:]' '[:lower:]' \ + | tr -d ':' \ + | sha256sum | cut -d' ' -f1 +} diff --git a/nikki/files/uci-defaults/migrate.sh b/nikki/files/uci-defaults/migrate.sh index 4651e561ac..4f89345abc 100644 --- a/nikki/files/uci-defaults/migrate.sh +++ b/nikki/files/uci-defaults/migrate.sh @@ -186,10 +186,6 @@ proxy_reserved_ip6=$(uci -q get nikki.proxy.reserved_ip6); [ -z "$proxy_reserved # since v1.24.3 -proxy_bypass_china_mainland_ip=$(uci -q get nikki.proxy.bypass_china_mainland_ip) -proxy_bypass_china_mainland_ip6=$(uci -q get nikki.proxy.bypass_china_mainland_ip6) -[ -z "$proxy_bypass_china_mainland_ip6" ] && uci set nikki.proxy.bypass_china_mainland_ip6=$proxy_bypass_china_mainland_ip - routing_tproxy_fw_mask=$(uci -q get nikki.routing.tproxy_fw_mask); [ -z "$routing_tproxy_fw_mask" ] && uci set nikki.routing.tproxy_fw_mask=0xFF routing_tun_fw_mask=$(uci -q get nikki.routing.tun_fw_mask); [ -z "$routing_tun_fw_mask" ] && uci set nikki.routing.tun_fw_mask=0xFF diff --git a/nikki/files/ucode/hijack.ut b/nikki/files/ucode/hijack.ut index faf9646f0a..8b85362f99 100644 --- a/nikki/files/ucode/hijack.ut +++ b/nikki/files/ucode/hijack.ut @@ -101,8 +101,6 @@ } push(bypass_fwmark, { mark: mark, mask: mask }); } - const bypass_china_mainland_ip = uci_bool(uci.get('nikki', 'proxy', 'bypass_china_mainland_ip')); - const bypass_china_mainland_ip6 = uci_bool(uci.get('nikki', 'proxy', 'bypass_china_mainland_ip6')); const proxy_tcp_dport = split((uci.get('nikki', 'proxy', 'proxy_tcp_dport') ?? '0-65535'), ' '); const proxy_udp_dport = split((uci.get('nikki', 'proxy', 'proxy_udp_dport') ?? '0-65535'), ' '); @@ -194,16 +192,6 @@ table inet nikki { {% endif %} } - set china_ip { - type ipv4_addr - flags interval - } - - set china_ip6 { - type ipv6_addr - flags interval - } - set proxy_dport { type inet_proto . inet_service flags interval @@ -246,7 +234,7 @@ table inet nikki { {% if (cgroups_version == 2 && length(access_control['cgroup']) > 0): %} {% for (let cgroup in access_control['cgroup']): %} meta l4proto { tcp, udp } socket cgroupv2 level {{ length(split(cgroup, '/')) }} "{{ cgroup }}" th dport 53 counter {% if (access_control.dns == '1'): %} redirect to :{{ dns_port }} {% else %} return {% endif %} - + {% endfor %} {% endif %} {% endif %} @@ -274,7 +262,7 @@ table inet nikki { {% if (cgroups_version == 2 && length(access_control['cgroup']) > 0): %} {% for (let cgroup in access_control['cgroup']): %} meta l4proto tcp socket cgroupv2 level {{ length(split(cgroup, '/')) }} "{{ cgroup }}" counter {% if (access_control.proxy == '1'): %} redirect to :{{ redir_port }} {% else %} return {% endif %} - + {% endfor %} {% endif %} {% endif %} @@ -302,7 +290,7 @@ table inet nikki { {% if (cgroups_version == 2 && length(access_control['cgroup']) > 0): %} {% for (let cgroup in access_control['cgroup']): %} meta l4proto { tcp, udp } socket cgroupv2 level {{ length(split(cgroup, '/')) }} "{{ cgroup }}" {% if (access_control.proxy == '1'): %} meta mark set meta mark & {{ tproxy_fw_umask }} | {{ tproxy_fw_mark }} counter accept {% else %} counter return {% endif %} - + {% endfor %} {% endif %} {% endif %} @@ -330,7 +318,7 @@ table inet nikki { {% if (cgroups_version == 2 && length(access_control['cgroup']) > 0): %} {% for (let cgroup in access_control['cgroup']): %} meta l4proto { tcp, udp } socket cgroupv2 level {{ length(split(cgroup, '/')) }} "{{ cgroup }}" {% if (access_control.proxy == '1'): %} meta mark set meta mark & {{ tun_fw_umask }} | {{ tun_fw_mark }} counter accept {% else %} counter return {% endif %} - + {% endfor %} {% endif %} {% endif %} @@ -462,8 +450,6 @@ table inet nikki { ct direction reply counter return ip daddr @reserved_ip {% if (fake_ip_range): %} ip daddr != {{ fake_ip_range }} {% endif %} counter return ip6 daddr @reserved_ip6 {% if (fake_ip6_range): %} ip6 daddr != {{ fake_ip6_range }} {% endif %} counter return - ip daddr @china_ip counter return - ip6 daddr @china_ip6 counter return meta nfproto ipv4 meta l4proto . th dport != @proxy_dport {% if (fake_ip_range): %} ip daddr != {{ fake_ip_range }} {% endif %} counter return meta nfproto ipv6 meta l4proto . th dport != @proxy_dport {% if (fake_ip6_range): %} ip6 daddr != {{ fake_ip6_range }} {% endif %} counter return meta l4proto { tcp, udp } ip dscp @bypass_dscp {% if (fake_ip_range): %} ip daddr != {{ fake_ip_range }} {% endif %} counter return @@ -494,8 +480,6 @@ table inet nikki { ct direction reply counter return ip daddr @reserved_ip {% if (fake_ip_range): %} ip daddr != {{ fake_ip_range }} {% endif %} counter return ip6 daddr @reserved_ip6 {% if (fake_ip6_range): %} ip6 daddr != {{ fake_ip6_range }} {% endif %} counter return - ip daddr @china_ip counter return - ip6 daddr @china_ip6 counter return meta nfproto ipv4 meta l4proto . th dport != @proxy_dport {% if (fake_ip_range): %} ip daddr != {{ fake_ip_range }} {% endif %} counter return meta nfproto ipv6 meta l4proto . th dport != @proxy_dport {% if (fake_ip6_range): %} ip6 daddr != {{ fake_ip6_range }} {% endif %} counter return meta l4proto { tcp, udp } ip dscp @bypass_dscp {% if (fake_ip_range): %} ip daddr != {{ fake_ip_range }} {% endif %} counter return @@ -540,8 +524,6 @@ table inet nikki { ct direction reply counter return ip daddr @reserved_ip {% if (fake_ip_range): %} ip daddr != {{ fake_ip_range }} {% endif %} counter return ip6 daddr @reserved_ip6 {% if (fake_ip6_range): %} ip6 daddr != {{ fake_ip6_range }} {% endif %} counter return - ip daddr @china_ip counter return - ip6 daddr @china_ip6 counter return meta nfproto ipv4 meta l4proto . th dport != @proxy_dport {% if (fake_ip_range): %} ip daddr != {{ fake_ip_range }} {% endif %} counter return meta nfproto ipv6 meta l4proto . th dport != @proxy_dport {% if (fake_ip6_range): %} ip6 daddr != {{ fake_ip6_range }} {% endif %} counter return meta l4proto { tcp, udp } ip dscp @bypass_dscp {% if (fake_ip_range): %} ip daddr != {{ fake_ip_range }} {% endif %} counter return @@ -567,8 +549,6 @@ table inet nikki { ct direction reply counter return ip daddr @reserved_ip {% if (fake_ip_range): %} ip daddr != {{ fake_ip_range }} {% endif %} counter return ip6 daddr @reserved_ip6 {% if (fake_ip6_range): %} ip6 daddr != {{ fake_ip6_range }} {% endif %} counter return - ip daddr @china_ip counter return - ip6 daddr @china_ip6 counter return meta nfproto ipv4 meta l4proto . th dport != @proxy_dport {% if (fake_ip_range): %} ip daddr != {{ fake_ip_range }} {% endif %} counter return meta nfproto ipv6 meta l4proto . th dport != @proxy_dport {% if (fake_ip6_range): %} ip6 daddr != {{ fake_ip6_range }} {% endif %} counter return meta l4proto { tcp, udp } ip dscp @bypass_dscp {% if (fake_ip_range): %} ip daddr != {{ fake_ip_range }} {% endif %} counter return @@ -592,10 +572,3 @@ table inet nikki { } {% endif %} } - -{% if (bypass_china_mainland_ip): %} -include "/etc/nikki/nftables/geoip_cn.nft" -{% endif %} -{% if (bypass_china_mainland_ip6): %} -include "/etc/nikki/nftables/geoip6_cn.nft" -{% endif %} \ No newline at end of file From 38d22c06401cd85b1aef7ae88b6c7ffd54e5ec2b Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 01:15:35 +0300 Subject: [PATCH 02/46] feat: update packages --- luci-app-nikki/Makefile | 4 ++-- nikki/Makefile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/luci-app-nikki/Makefile b/luci-app-nikki/Makefile index dc3e801b9b..a37d4e8cd9 100644 --- a/luci-app-nikki/Makefile +++ b/luci-app-nikki/Makefile @@ -1,10 +1,10 @@ include $(TOPDIR)/rules.mk -PKG_VERSION:=1.25.0 +PKG_VERSION:=1.26.0 LUCI_TITLE:=LuCI Support for nikki LUCI_DEPENDS:=+luci-base +nikki include $(TOPDIR)/feeds/luci/luci.mk -# call BuildPackage - OpenWrt buildroot signature \ No newline at end of file +# call BuildPackage - OpenWrt buildroot signature diff --git a/nikki/Makefile b/nikki/Makefile index 66591d36d8..e5229966ab 100644 --- a/nikki/Makefile +++ b/nikki/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nikki -PKG_VERSION:=2025.12.21 +PKG_VERSION:=2026.01.05 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz From 9e4656df58275711fabd2fc872c07f07fac4491a Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 01:22:02 +0300 Subject: [PATCH 03/46] feat: added RU readme --- README.md | 2 +- README.ru.md | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.zh.md | 2 +- 3 files changed, 119 insertions(+), 2 deletions(-) create mode 100644 README.ru.md diff --git a/README.md b/README.md index 5661f527ab..e0246c9f8d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![GitHub License](https://img.shields.io/github/license/nikkinikki-org/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Tag](https://img.shields.io/github/v/release/nikkinikki-org/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/nikkinikki-org/OpenWrt-nikki/total?style=for-the-badge&logo=github) ![GitHub Repo stars](https://img.shields.io/github/stars/nikkinikki-org/OpenWrt-nikki?style=for-the-badge&logo=github) [![Telegram](https://img.shields.io/badge/Telegram-gray?style=for-the-badge&logo=telegram)](https://t.me/nikkinikki_org) -English | [中文](README.zh.md) +English | [中文](README.zh.md) | [Русский](README.ru.md) # Nikki diff --git a/README.ru.md b/README.ru.md new file mode 100644 index 0000000000..fbbfe58401 --- /dev/null +++ b/README.ru.md @@ -0,0 +1,117 @@ +[English](README.md)| [中文](README.zh.md) | Русский + +# Nikki + +Прозрачный прокси с **Mihomo** на **OpenWrt**. + +## Требования + +- OpenWrt >= 23.05 +- Ядро Linux >= 5.13 +- firewall4 + +## Возможности + +- Прозрачный прокси (Redirect / TPROXY / TUN, IPv4 и/или IPv6) +- Контроль доступа +- Объединение профилей (Profile Mixin) +- Редактор профилей +- Плановый перезапуск + +## Установка и обновление + +### A. Установка из feed (рекомендуется) + +#### 1. Добавление feed + +```shell +# выполняется только один раз +wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ash +``` + +#### 2. Установка + +```shell +# можно установить из shell или через меню `Software` в LuCI +# для opkg +opkg install nikki +opkg install luci-app-nikki +opkg install luci-i18n-nikki-zh-cn + +# для apk +apk add nikki +apk add luci-app-nikki +apk add luci-i18n-nikki-zh-cn +``` + +### B. Установка из релиза + +```shell +wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/install.sh | ash +``` + +## Удаление и сброс настроек + +```shell +wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/uninstall.sh | ash +``` + +## Как использовать + +См. [Wiki](https://github.com/nikkinikki-org/OpenWrt-nikki/wiki) + +## Как это работает + +1. Миксин и обновление профиля +2. Запуск mihomo +3. Настройка планового перезапуска +4. Настройка ip rule / route +5. Генерация nftables и их применение + +> Примечание: последовательность шагов может меняться в зависимости от конфигурации. + +## Сборка (Compilation) + +```shell +# добавить feed +echo "src-git nikki https://github.com/nikkinikki-org/OpenWrt-nikki.git;main" >> "feeds.conf.default" + +# обновить и установить feeds +./scripts/feeds update -a +./scripts/feeds install -a + +# собрать пакет +make package/luci-app-nikki/compile +``` + +Собранные пакеты будут находиться в каталоге: +`bin/packages/your_architecture/nikki`. + +## Зависимости + +- ca-bundle +- curl +- yq +- firewall4 +- ip-full +- kmod-inet-diag +- kmod-nft-socket +- kmod-nft-tproxy +- kmod-tun + +## Участники + +[![Contributors](https://contrib.rocks/image?repo=nikkinikki-org/OpenWrt-nikki)](https://github.com/nikkinikki-org/OpenWrt-nikki/graphs/contributors) + +## Особая благодарность + +- [@ApoisL](https://github.com/apoiston) +- [@xishang0128](https://github.com/xishang0128) + + +## Рекомендуемый провайдер прокси + +Рекомендуется **Remnwave**. + +Официальный сайт: https://docs.rw/ +Служба поддержки: https://t.me/remnawave diff --git a/README.zh.md b/README.zh.md index 71f0c5e0db..d4d4710c4a 100644 --- a/README.zh.md +++ b/README.zh.md @@ -1,6 +1,6 @@ ![GitHub License](https://img.shields.io/github/license/nikkinikki-org/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Tag](https://img.shields.io/github/v/release/nikkinikki-org/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/nikkinikki-org/OpenWrt-nikki/total?style=for-the-badge&logo=github) ![GitHub Repo stars](https://img.shields.io/github/stars/nikkinikki-org/OpenWrt-nikki?style=for-the-badge&logo=github) [![Telegram](https://img.shields.io/badge/Telegram-gray?style=for-the-badge&logo=telegram)](https://t.me/nikkinikki_org) -中文 | [English](README.md) +中文 | [English](README.md) | [Русский](README.ru.md) # Nikki From aacfb7879192e05dbbdaadc05723d60b27546ac0 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 01:57:07 +0300 Subject: [PATCH 04/46] feat: move builds to selfhosted --- .github/workflows/build-packages.yml | 2 +- .github/workflows/release-packages.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-packages.yml b/.github/workflows/build-packages.yml index 822c002114..7a3c0754af 100644 --- a/.github/workflows/build-packages.yml +++ b/.github/workflows/build-packages.yml @@ -6,7 +6,7 @@ on: jobs: build: name: ${{ matrix.arch }}-${{ matrix.branch }} build - runs-on: ubuntu-latest + runs-on: arc-runner-set-openwrt-nikki strategy: fail-fast: false matrix: diff --git a/.github/workflows/release-packages.yml b/.github/workflows/release-packages.yml index ff375f083a..74d81177fa 100644 --- a/.github/workflows/release-packages.yml +++ b/.github/workflows/release-packages.yml @@ -9,7 +9,7 @@ on: jobs: release: name: ${{ matrix.arch }}-${{ matrix.branch }} release - runs-on: ubuntu-latest + runs-on: arc-runner-set-openwrt-nikki continue-on-error: true strategy: fail-fast: false @@ -95,11 +95,11 @@ jobs: with: pattern: feed_nikki_* merge-multiple: true - + - name: uncompress run: | for file in feed_nikki_*.tar.gz; do tar -x -z -f "$file"; done - + - name: prepare run: | echo "${{ secrets.KEY_BUILD_PUB }}" > public/key-build.pub From 5b515b5923e09ba7e21eddde61428d11a7c443b5 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 06:38:11 +0300 Subject: [PATCH 05/46] feat: change default config --- nikki/files/nikki.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nikki/files/nikki.conf b/nikki/files/nikki.conf index 01aa787348..8b402119c2 100644 --- a/nikki/files/nikki.conf +++ b/nikki/files/nikki.conf @@ -11,7 +11,7 @@ config config 'config' option 'core_only' '0' config procd 'procd' - option 'fast_reload' '0' + option 'fast_reload' '1' option 'env_disable_loopback_detector' '0' option 'env_disable_quic_go_gso' '0' option 'env_disable_quic_go_ecn' '0' @@ -133,8 +133,8 @@ config sniff config proxy 'proxy' option 'enabled' '1' - option 'tcp_mode' 'redirect' - option 'udp_mode' 'tun' + option 'tcp_mode' 'tproxy' + option 'udp_mode' 'tproxy' option 'ipv4_dns_hijack' '1' option 'ipv6_dns_hijack' '1' option 'ipv4_proxy' '1' From ac5f2e84906467de00dc06317f7ce6978d0f6330 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 07:12:25 +0300 Subject: [PATCH 06/46] feat: change deploy project --- .github/workflows/release-packages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-packages.yml b/.github/workflows/release-packages.yml index 74d81177fa..ca01ba970e 100644 --- a/.github/workflows/release-packages.yml +++ b/.github/workflows/release-packages.yml @@ -112,4 +112,4 @@ jobs: with: accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} - command: pages deploy public --project-name=nikkinikki + command: pages deploy public --project-name=glantswrt From 4fba06cff62c73a55f6fd3d3aca333f9655dbae5 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 07:15:43 +0300 Subject: [PATCH 07/46] fix: run on --- .github/workflows/release-packages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-packages.yml b/.github/workflows/release-packages.yml index ca01ba970e..efc4a6c3e7 100644 --- a/.github/workflows/release-packages.yml +++ b/.github/workflows/release-packages.yml @@ -9,7 +9,7 @@ on: jobs: release: name: ${{ matrix.arch }}-${{ matrix.branch }} release - runs-on: arc-runner-set-openwrt-nikki + runs-on: ubuntu-latest continue-on-error: true strategy: fail-fast: false From 13f474d12951613e1f870948dcd93494967769e7 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 19:58:49 +0300 Subject: [PATCH 08/46] feat: added test build --- .github/workflows/test-packages.yml | 35 +++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/test-packages.yml diff --git a/.github/workflows/test-packages.yml b/.github/workflows/test-packages.yml new file mode 100644 index 0000000000..643ee9bd1a --- /dev/null +++ b/.github/workflows/test-packages.yml @@ -0,0 +1,35 @@ +name: test-packages + +on: + workflow_dispatch: + +jobs: + build: + name: ${{ matrix.arch }}-${{ matrix.branch }} build + runs-on: arc-runner-set-openwrt-nikki + strategy: + fail-fast: false + matrix: + arch: + - x86_64 + branch: + - openwrt-25.12 + + steps: + - name: checkout + uses: actions/checkout@v4 + + - name: build + uses: openwrt/gh-action-sdk@main + env: + ARCH: ${{ matrix.arch }}-${{ matrix.branch }} + FEEDNAME: nikki + PACKAGES: luci-app-nikki + NO_REFRESH_CHECK: true + V: 1 + + - name: upload + uses: actions/upload-artifact@v4 + with: + name: nikki_${{ matrix.arch }}-${{ matrix.branch }} + path: bin/packages/${{ matrix.arch }}/nikki From 41aeb98636e71d98090045148312697fe85700d0 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 20:32:38 +0300 Subject: [PATCH 09/46] feat: v = sc --- .github/workflows/test-packages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-packages.yml b/.github/workflows/test-packages.yml index 643ee9bd1a..d84b99e83c 100644 --- a/.github/workflows/test-packages.yml +++ b/.github/workflows/test-packages.yml @@ -26,7 +26,7 @@ jobs: FEEDNAME: nikki PACKAGES: luci-app-nikki NO_REFRESH_CHECK: true - V: 1 + V: sc - name: upload uses: actions/upload-artifact@v4 From e90c394fb5f6642163b54b0ff2c2ded77bdd80ee Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 21:47:14 +0300 Subject: [PATCH 10/46] fix: hash --- nikki/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nikki/Makefile b/nikki/Makefile index e5229966ab..0b8917e03c 100644 --- a/nikki/Makefile +++ b/nikki/Makefile @@ -9,7 +9,7 @@ PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git PKG_SOURCE_VERSION:=v1.19.18 -PKG_MIRROR_HASH:=4da31e2bc1607fadaea8bd4c83252acd7ba1070c64e4098e3020da63e3464e68 +PKG_MIRROR_HASH:=caef858125b3d6334efbe86f9804012a8ddb5451154ff29d7d41b2c7a230cc7e PKG_LICENSE:=GPL3.0+ PKG_MAINTAINER:=Joseph Mory From 0ceecaa6a198560c0b15d40964ddce900b4bde25 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 21:50:17 +0300 Subject: [PATCH 11/46] feat: fix bot --- .github/workflows/dependabot.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dependabot.yml b/.github/workflows/dependabot.yml index 1f88972641..bb192c2d0e 100644 --- a/.github/workflows/dependabot.yml +++ b/.github/workflows/dependabot.yml @@ -17,7 +17,7 @@ jobs: name: checkout uses: actions/checkout@v4 with: - repository: nikkinikki-org/OpenWrt-nikki + repository: mglants/OpenWrt-nikki ref: main path: OpenWrt-nikki - id: info @@ -61,7 +61,7 @@ jobs: name: checkout uses: actions/checkout@v4 with: - repository: nikkinikki-org/OpenWrt-nikki + repository: mglants/OpenWrt-nikki ref: main path: OpenWrt-nikki - id: update From 857bef6ddfb142e2c5add66cafe65b38ea09d7f1 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 22:09:21 +0300 Subject: [PATCH 12/46] feat: update --- .github/workflows/dependabot.yml | 54 ++++++++++++++++++++++---------- feed.sh | 2 +- install.sh | 6 ++-- uninstall.sh | 2 +- 4 files changed, 43 insertions(+), 21 deletions(-) diff --git a/.github/workflows/dependabot.yml b/.github/workflows/dependabot.yml index bb192c2d0e..4f625cd684 100644 --- a/.github/workflows/dependabot.yml +++ b/.github/workflows/dependabot.yml @@ -29,32 +29,49 @@ jobs: get_latest_info: runs-on: ubuntu-latest outputs: + version_tag: ${{ steps.info.outputs.version_tag }} commit_date: ${{ steps.info.outputs.commit_date }} commit_sha: ${{ steps.info.outputs.commit_sha }} short_commit_sha: ${{ steps.info.outputs.short_commit_sha }} checksum: ${{ steps.info.outputs.checksum }} steps: - - id: checkout - name: checkout + - name: checkout uses: actions/checkout@v4 with: - repository: 'MetaCubeX/mihomo' - ref: 'Alpha' - path: 'mihomo' + repository: MetaCubeX/mihomo + fetch-depth: 0 + path: mihomo + - id: info - name: info + shell: bash run: | - echo "commit_date=$(git -C mihomo log -n 1 --format=%cs)" >> $GITHUB_OUTPUT - echo "commit_sha=$(git -C mihomo rev-parse HEAD)" >> $GITHUB_OUTPUT - echo "short_commit_sha=$(git -C mihomo rev-parse --short HEAD)" >> $GITHUB_OUTPUT + set -euo pipefail + + git -C mihomo fetch --tags --force + + # последний semver-тег + latest_tag="$( + git -C mihomo tag -l 'v[0-9]*' | sort -V | tail -n 1 + )" + + echo "version_tag=$latest_tag" >> "$GITHUB_OUTPUT" + + git -C mihomo checkout -q "$latest_tag" + + echo "commit_date=$(git -C mihomo log -n 1 --format=%cs)" >> "$GITHUB_OUTPUT" + echo "commit_sha=$(git -C mihomo rev-parse HEAD)" >> "$GITHUB_OUTPUT" + echo "short_commit_sha=$(git -C mihomo rev-parse --short HEAD)" >> "$GITHUB_OUTPUT" + git -C mihomo config tar.xz.command "xz -c" git -C mihomo archive --output=mihomo.tar.xz HEAD - echo "checksum=$(sha256sum mihomo/mihomo.tar.xz | cut -d ' ' -f 1)" >> $GITHUB_OUTPUT + + echo "checksum=$(sha256sum mihomo.tar.xz | awk '{print $1}')" >> "$GITHUB_OUTPUT" + update: needs: - get_current_info - get_latest_info - if: ${{ needs.get_current_info.outputs.pkg_source_version != needs.get_latest_info.outputs.commit_sha }} + if: ${{ needs.get_current_info.outputs.pkg_source_version != needs.get_latest_info.outputs.version_tag }} runs-on: ubuntu-latest steps: - id: checkout @@ -69,16 +86,21 @@ jobs: run: | sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=1/" OpenWrt-nikki/nikki/Makefile sed -i "s/PKG_SOURCE_DATE:=.*/PKG_SOURCE_DATE:=${{ needs.get_latest_info.outputs.commit_date }}/" OpenWrt-nikki/nikki/Makefile - sed -i "s/PKG_SOURCE_VERSION:=.*/PKG_SOURCE_VERSION:=${{ needs.get_latest_info.outputs.commit_sha }}/" OpenWrt-nikki/nikki/Makefile + sed -i "s/PKG_SOURCE_VERSION:=.*/PKG_SOURCE_VERSION:=${{ needs.get_latest_info.outputs.version_tag }}/" OpenWrt-nikki/nikki/Makefile sed -i "s/PKG_MIRROR_HASH:=.*/PKG_MIRROR_HASH:=${{ needs.get_latest_info.outputs.checksum }}/" OpenWrt-nikki/nikki/Makefile - sed -i "s/PKG_BUILD_VERSION:=.*/PKG_BUILD_VERSION:=alpha-${{ needs.get_latest_info.outputs.short_commit_sha }}/" OpenWrt-nikki/nikki/Makefile + sed -i "s/PKG_BUILD_VERSION:=.*/PKG_BUILD_VERSION:=${{ needs.get_latest_info.outputs.version_tag }}/" OpenWrt-nikki/nikki/Makefile - id: pr name: pr uses: peter-evans/create-pull-request@v6 with: path: OpenWrt-nikki branch: dependabot - commit-message: "build: update mihomo to ${{ needs.get_latest_info.outputs.short_commit_sha }}" - title: "build: update mihomo to ${{ needs.get_latest_info.outputs.short_commit_sha }}" + commit-message: "build: bump mihomo to ${{ needs.get_latest_info.outputs.version_tag }}" + title: "build: bump mihomo to ${{ needs.get_latest_info.outputs.version_tag }}" body: | - [Changelog](https://github.com/metacubex/mihomo/compare/${{ needs.get_current_info.outputs.pkg_source_version }}...${{ needs.get_latest_info.outputs.commit_sha }}) + Stable release update + + **mihomo:** `${{ needs.get_latest_info.outputs.version_tag }}` + + 🔗 Changelog: + https://github.com/MetaCubeX/mihomo/compare/${{ needs.get_current_info.outputs.pkg_source_version }}...${{ needs.get_latest_info.outputs.version_tag }} diff --git a/feed.sh b/feed.sh index 338120f012..cf02a0b48a 100644 --- a/feed.sh +++ b/feed.sh @@ -34,7 +34,7 @@ case "$DISTRIB_RELEASE" in esac # feed url -repository_url="https://nikkinikki.pages.dev" +repository_url="https://glantswrt.pages.dev" feed_url="$repository_url/$branch/$arch/nikki" if [ -x "/bin/opkg" ]; then diff --git a/install.sh b/install.sh index 4192ac4601..e24496e1da 100644 --- a/install.sh +++ b/install.sh @@ -34,7 +34,7 @@ case "$DISTRIB_RELEASE" in esac # feed url -repository_url="https://nikkinikki.pages.dev" +repository_url="https://glantswrt.pages.dev" feed_url="$repository_url/$branch/$arch/nikki" if [ -x "/bin/opkg" ]; then @@ -56,7 +56,7 @@ if [ -x "/bin/opkg" ]; then lang_version=$(jsonfilter -i nikki.version -e "@['packages']['luci-i18n-nikki-${lang}']") opkg install "$feed_url/luci-i18n-nikki-${lang}_${lang_version}_all.ipk" done - + rm -f nikki.version elif [ -x "/usr/bin/apk" ]; then # update feeds @@ -73,4 +73,4 @@ elif [ -x "/usr/bin/apk" ]; then done fi -echo "success" +echo "success" diff --git a/uninstall.sh b/uninstall.sh index 2d5ab430c8..9720daaead 100644 --- a/uninstall.sh +++ b/uninstall.sh @@ -25,7 +25,7 @@ if [ -x "/bin/opkg" ]; then if grep -q nikki /etc/opkg/customfeeds.conf; then sed -i '/nikki/d' /etc/opkg/customfeeds.conf fi - wget -O "nikki.pub" "https://nikkinikki.pages.dev/key-build.pub" + wget -O "nikki.pub" "https://glantswrt.pages.dev/key-build.pub" opkg-key remove nikki.pub rm -f nikki.pub elif [ -x "/usr/bin/apk" ]; then From d3a7780da29dcd60fa534151f7a3a1ac8e448fc9 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 22:27:19 +0300 Subject: [PATCH 13/46] feat: build on mine hosts --- .github/workflows/release-packages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-packages.yml b/.github/workflows/release-packages.yml index efc4a6c3e7..ca01ba970e 100644 --- a/.github/workflows/release-packages.yml +++ b/.github/workflows/release-packages.yml @@ -9,7 +9,7 @@ on: jobs: release: name: ${{ matrix.arch }}-${{ matrix.branch }} release - runs-on: ubuntu-latest + runs-on: arc-runner-set-openwrt-nikki continue-on-error: true strategy: fail-fast: false From bec6a378cb8509bd21d706c07060eb62f2bf97ea Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Mon, 5 Jan 2026 23:06:55 +0300 Subject: [PATCH 14/46] feat: really want to know why --- .github/workflows/release-packages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-packages.yml b/.github/workflows/release-packages.yml index ca01ba970e..b48936b5b3 100644 --- a/.github/workflows/release-packages.yml +++ b/.github/workflows/release-packages.yml @@ -63,7 +63,7 @@ jobs: KEY_BUILD: ${{ secrets.KEY_BUILD }} PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} NO_REFRESH_CHECK: true - + V: sc - name: compress run: | tar -c -z -f nikki_${{ matrix.arch }}-${{ matrix.branch }}.tar.gz -C bin/packages/${{ matrix.arch }}/nikki . From 4c1c615bfd49bfd6acc4c4b4daf397213a741987 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Tue, 6 Jan 2026 02:34:06 +0300 Subject: [PATCH 15/46] feat: update docs --- README.md | 14 +++++++------- README.ru.md | 12 ++++++------ README.zh.md | 14 +++++++------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index e0246c9f8d..c7c119c34d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![GitHub License](https://img.shields.io/github/license/nikkinikki-org/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Tag](https://img.shields.io/github/v/release/nikkinikki-org/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/nikkinikki-org/OpenWrt-nikki/total?style=for-the-badge&logo=github) ![GitHub Repo stars](https://img.shields.io/github/stars/nikkinikki-org/OpenWrt-nikki?style=for-the-badge&logo=github) [![Telegram](https://img.shields.io/badge/Telegram-gray?style=for-the-badge&logo=telegram)](https://t.me/nikkinikki_org) +![GitHub License](https://img.shields.io/github/license/mglants/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Tag](https://img.shields.io/github/v/release/mglants/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/mglants/OpenWrt-nikki/total?style=for-the-badge&logo=github) ![GitHub Repo stars](https://img.shields.io/github/stars/mglants/OpenWrt-nikki?style=for-the-badge&logo=github) [![Telegram](https://img.shields.io/badge/Telegram-gray?style=for-the-badge&logo=telegram)](https://t.me/nikkinikki_org) English | [中文](README.zh.md) | [Русский](README.ru.md) @@ -28,7 +28,7 @@ Transparent Proxy with Mihomo on OpenWrt. ```shell # only needs to be run once -wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ash +wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ash ``` 2. Install @@ -48,18 +48,18 @@ apk add luci-i18n-nikki-zh-cn ### B. Install From Release ```shell -wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/install.sh | ash +wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/install.sh | ash ``` ## Uninstall & Reset ```shell -wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/uninstall.sh | ash +wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/uninstall.sh | ash ``` ## How To Use -See [Wiki](https://github.com/nikkinikki-org/OpenWrt-nikki/wiki) +See [Wiki](https://github.com/mglants/OpenWrt-nikki/wiki) ## How does it work @@ -75,7 +75,7 @@ Note that the steps above may change base on config. ```shell # add feed -echo "src-git nikki https://github.com/nikkinikki-org/OpenWrt-nikki.git;main" >> "feeds.conf.default" +echo "src-git nikki https://github.com/mglants/OpenWrt-nikki.git;main" >> "feeds.conf.default" # update & install feeds ./scripts/feeds update -a ./scripts/feeds install -a @@ -99,7 +99,7 @@ The package files will be found under `bin/packages/your_architecture/nikki`. ## Contributors -[![Contributors](https://contrib.rocks/image?repo=nikkinikki-org/OpenWrt-nikki)](https://github.com/nikkinikki-org/OpenWrt-nikki/graphs/contributors) +[![Contributors](https://contrib.rocks/image?repo=nikkinikki-org/OpenWrt-nikki)](https://github.com/mglants/OpenWrt-nikki/graphs/contributors) ## Special Thanks diff --git a/README.ru.md b/README.ru.md index fbbfe58401..177184d666 100644 --- a/README.ru.md +++ b/README.ru.md @@ -26,7 +26,7 @@ ```shell # выполняется только один раз -wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ash +wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ash ``` #### 2. Установка @@ -47,18 +47,18 @@ apk add luci-i18n-nikki-zh-cn ### B. Установка из релиза ```shell -wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/install.sh | ash +wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/install.sh | ash ``` ## Удаление и сброс настроек ```shell -wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/uninstall.sh | ash +wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/uninstall.sh | ash ``` ## Как использовать -См. [Wiki](https://github.com/nikkinikki-org/OpenWrt-nikki/wiki) +См. [Wiki](https://github.com/mglants/OpenWrt-nikki/wiki) ## Как это работает @@ -74,7 +74,7 @@ wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/un ```shell # добавить feed -echo "src-git nikki https://github.com/nikkinikki-org/OpenWrt-nikki.git;main" >> "feeds.conf.default" +echo "src-git nikki https://github.com/mglants/OpenWrt-nikki.git;main" >> "feeds.conf.default" # обновить и установить feeds ./scripts/feeds update -a @@ -101,7 +101,7 @@ make package/luci-app-nikki/compile ## Участники -[![Contributors](https://contrib.rocks/image?repo=nikkinikki-org/OpenWrt-nikki)](https://github.com/nikkinikki-org/OpenWrt-nikki/graphs/contributors) +[![Contributors](https://contrib.rocks/image?repo=nikkinikki-org/OpenWrt-nikki)](https://github.com/mglants/OpenWrt-nikki/graphs/contributors) ## Особая благодарность diff --git a/README.zh.md b/README.zh.md index d4d4710c4a..a7f9548d6e 100644 --- a/README.zh.md +++ b/README.zh.md @@ -1,4 +1,4 @@ -![GitHub License](https://img.shields.io/github/license/nikkinikki-org/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Tag](https://img.shields.io/github/v/release/nikkinikki-org/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/nikkinikki-org/OpenWrt-nikki/total?style=for-the-badge&logo=github) ![GitHub Repo stars](https://img.shields.io/github/stars/nikkinikki-org/OpenWrt-nikki?style=for-the-badge&logo=github) [![Telegram](https://img.shields.io/badge/Telegram-gray?style=for-the-badge&logo=telegram)](https://t.me/nikkinikki_org) +![GitHub License](https://img.shields.io/github/license/mglants/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Tag](https://img.shields.io/github/v/release/mglants/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/mglants/OpenWrt-nikki/total?style=for-the-badge&logo=github) ![GitHub Repo stars](https://img.shields.io/github/stars/mglants/OpenWrt-nikki?style=for-the-badge&logo=github) [![Telegram](https://img.shields.io/badge/Telegram-gray?style=for-the-badge&logo=telegram)](https://t.me/nikkinikki_org) 中文 | [English](README.md) | [Русский](README.ru.md) @@ -28,7 +28,7 @@ ```shell # 只需运行一次 -wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ash +wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ash ``` 2. 安装 @@ -48,18 +48,18 @@ apk add luci-i18n-nikki-zh-cn ### B. 从发行版安装 ```shell -wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/install.sh | ash +wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/install.sh | ash ``` ## 卸载并重置 ```shell -wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/uninstall.sh | ash +wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/uninstall.sh | ash ``` ## 如何使用 -查看 [Wiki](https://github.com/nikkinikki-org/OpenWrt-nikki/wiki) +查看 [Wiki](https://github.com/mglants/OpenWrt-nikki/wiki) ## 如何工作 @@ -75,7 +75,7 @@ wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/un ```shell # 添加源 -echo "src-git nikki https://github.com/nikkinikki-org/OpenWrt-nikki.git;main" >> "feeds.conf.default" +echo "src-git nikki https://github.com/mglants/OpenWrt-nikki.git;main" >> "feeds.conf.default" # 更新并安装源 ./scripts/feeds update -a ./scripts/feeds install -a @@ -99,7 +99,7 @@ make package/luci-app-nikki/compile ## 贡献者 -[![贡献者](https://contrib.rocks/image?repo=nikkinikki-org/OpenWrt-nikki)](https://github.com/nikkinikki-org/OpenWrt-nikki/graphs/contributors) +[![贡献者](https://contrib.rocks/image?repo=nikkinikki-org/OpenWrt-nikki)](https://github.com/mglants/OpenWrt-nikki/graphs/contributors) ## 特别感谢 From 4a2dee0bcf5dcff887e9863cd76aa6be16699bff Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Tue, 6 Jan 2026 03:34:30 +0300 Subject: [PATCH 16/46] feat: HWID as feauture --- README.md | 1 + README.ru.md | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index c7c119c34d..70f5c63179 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ Transparent Proxy with Mihomo on OpenWrt. - Profile Mixin - Profile Editor - Scheduled Restart +- HWID Support ## Install & Update diff --git a/README.ru.md b/README.ru.md index 177184d666..a2e86bba7b 100644 --- a/README.ru.md +++ b/README.ru.md @@ -17,6 +17,7 @@ - Объединение профилей (Profile Mixin) - Редактор профилей - Плановый перезапуск +- Поддержка HWID ## Установка и обновление From 094674728e4a6f4e335064ef2b5bcd9c83dc1c0b Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Fri, 9 Jan 2026 05:51:20 +0300 Subject: [PATCH 17/46] feat: fork nikkix and repack --- .github/ISSUE_TEMPLATE/config.yml | 6 +- .github/workflows/build-packages.yml | 8 +- .github/workflows/dependabot.yml | 26 +- .github/workflows/release-packages.yml | 22 +- .github/workflows/test-packages.yml | 8 +- README.md | 51 +- README.ru.md | 42 +- README.zh.md | 115 -- feed.sh | 16 +- install.sh | 22 +- luci-app-nikki/po/templates/nikki.pot | 1055 ---------------- luci-app-nikki/po/zh_Hans/nikki.po | 1062 ----------------- luci-app-nikki/po/zh_Hant/nikki.po | 1062 ----------------- .../usr/share/rpcd/acl.d/luci-app-nikki.json | 37 - {luci-app-nikki => luci-app-nikkix}/Makefile | 4 +- .../luci-static/resources/tools/nikkix.js | 48 +- .../luci-static/resources/view/nikkix}/app.js | 24 +- .../resources/view/nikkix}/editor.js | 28 +- .../luci-static/resources/view/nikkix}/log.js | 24 +- .../resources/view/nikkix}/mixin.js | 10 +- .../resources/view/nikkix}/profile.js | 10 +- .../resources/view/nikkix}/proxy.js | 8 +- luci-app-nikkix/po/ru/nikkix.po | 1062 +++++++++++++++++ luci-app-nikkix/po/templates/nikkix.pot | 1055 ++++++++++++++++ luci-app-nikkix/po/zh_Hans/nikkix.po | 1062 +++++++++++++++++ luci-app-nikkix/po/zh_Hant/nikkix.po | 1062 +++++++++++++++++ .../share/luci/menu.d/luci-app-nikkix.json | 34 +- .../usr/share/rpcd/acl.d/luci-app-nikkix.json | 37 + .../root/usr/share/rpcd/ucode/luci.nikkix | 18 +- nikki/files/nikki.upgrade | 5 - nikki/files/uci-defaults/firewall.sh | 12 - nikki/files/uci-defaults/init.sh | 24 - nikki/files/uci-defaults/migrate.sh | 208 ---- nikki/files/ucode/mixin.uc | 196 --- {nikki => nikkix}/Makefile | 68 +- {nikki => nikkix}/files/mixin.yaml | 8 +- .../nikki.conf => nikkix/files/nikkix.conf | 33 +- .../nikki.init => nikkix/files/nikkix.init | 70 +- nikkix/files/nikkix.upgrade | 5 + {nikki => nikkix}/files/scripts/debug.sh | 50 +- .../files/scripts/firewall_include.sh | 12 +- {nikki => nikkix}/files/scripts/include.sh | 8 +- nikkix/files/uci-defaults/firewall.sh | 12 + nikkix/files/uci-defaults/init.sh | 24 + nikkix/files/uci-defaults/migrate.sh | 208 ++++ {nikki => nikkix}/files/ucode/hijack.ut | 54 +- {nikki => nikkix}/files/ucode/include.uc | 4 +- nikkix/files/ucode/mixin.uc | 196 +++ uninstall.sh | 38 +- 49 files changed, 5101 insertions(+), 4152 deletions(-) delete mode 100644 README.zh.md delete mode 100644 luci-app-nikki/po/templates/nikki.pot delete mode 100644 luci-app-nikki/po/zh_Hans/nikki.po delete mode 100644 luci-app-nikki/po/zh_Hant/nikki.po delete mode 100644 luci-app-nikki/root/usr/share/rpcd/acl.d/luci-app-nikki.json rename {luci-app-nikki => luci-app-nikkix}/Makefile (66%) rename luci-app-nikki/htdocs/luci-static/resources/tools/nikki.js => luci-app-nikkix/htdocs/luci-static/resources/tools/nikkix.js (78%) rename {luci-app-nikki/htdocs/luci-static/resources/view/nikki => luci-app-nikkix/htdocs/luci-static/resources/view/nikkix}/app.js (90%) rename {luci-app-nikki/htdocs/luci-static/resources/view/nikki => luci-app-nikkix/htdocs/luci-static/resources/view/nikkix}/editor.js (65%) rename {luci-app-nikki/htdocs/luci-static/resources/view/nikki => luci-app-nikkix/htdocs/luci-static/resources/view/nikkix}/log.js (87%) rename {luci-app-nikki/htdocs/luci-static/resources/view/nikki => luci-app-nikkix/htdocs/luci-static/resources/view/nikkix}/mixin.js (99%) rename {luci-app-nikki/htdocs/luci-static/resources/view/nikki => luci-app-nikkix/htdocs/luci-static/resources/view/nikkix}/profile.js (91%) rename {luci-app-nikki/htdocs/luci-static/resources/view/nikki => luci-app-nikkix/htdocs/luci-static/resources/view/nikkix}/proxy.js (97%) create mode 100644 luci-app-nikkix/po/ru/nikkix.po create mode 100644 luci-app-nikkix/po/templates/nikkix.pot create mode 100644 luci-app-nikkix/po/zh_Hans/nikkix.po create mode 100644 luci-app-nikkix/po/zh_Hant/nikkix.po rename luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json => luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json (58%) create mode 100644 luci-app-nikkix/root/usr/share/rpcd/acl.d/luci-app-nikkix.json rename luci-app-nikki/root/usr/share/rpcd/ucode/luci.nikki => luci-app-nikkix/root/usr/share/rpcd/ucode/luci.nikkix (81%) delete mode 100644 nikki/files/nikki.upgrade delete mode 100644 nikki/files/uci-defaults/firewall.sh delete mode 100644 nikki/files/uci-defaults/init.sh delete mode 100644 nikki/files/uci-defaults/migrate.sh delete mode 100644 nikki/files/ucode/mixin.uc rename {nikki => nikkix}/Makefile (55%) rename {nikki => nikkix}/files/mixin.yaml (81%) rename nikki/files/nikki.conf => nikkix/files/nikkix.conf (86%) rename nikki/files/nikki.init => nikkix/files/nikkix.init (89%) create mode 100644 nikkix/files/nikkix.upgrade rename {nikki => nikkix}/files/scripts/debug.sh (80%) rename {nikki => nikkix}/files/scripts/firewall_include.sh (76%) rename {nikki => nikkix}/files/scripts/include.sh (96%) create mode 100644 nikkix/files/uci-defaults/firewall.sh create mode 100644 nikkix/files/uci-defaults/init.sh create mode 100644 nikkix/files/uci-defaults/migrate.sh rename {nikki => nikkix}/files/ucode/hijack.ut (92%) rename {nikki => nikkix}/files/ucode/include.uc (95%) create mode 100644 nikkix/files/ucode/mixin.uc diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 4708e5e7a0..bfcc649301 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,13 +2,13 @@ blank_issues_enabled: false contact_links: - name: Wiki / 文档 about: Check it before start a new issue - url: https://github.com/nikkinikki-org/OpenWrt-nikki/wiki + url: https://github.com/mglants/nikkix/wiki - name: FAQ / 常见问题 about: Check it before start a new issue - url: https://github.com/nikkinikki-org/OpenWrt-nikki/wiki/FAQ + url: https://github.com/mglants/nikkix/wiki/FAQ - name: Changelog / 更新日志 about: Check it before start a new issue - url: https://github.com/nikkinikki-org/OpenWrt-nikki/wiki/Changelog + url: https://github.com/mglants/nikkix/wiki/Changelog - name: How To Ask Questions The Smart Way / 提问的智慧 about: Read it before start a new issue url: http://www.catb.org/~esr/faqs/smart-questions.html diff --git a/.github/workflows/build-packages.yml b/.github/workflows/build-packages.yml index 7a3c0754af..8166bfd81e 100644 --- a/.github/workflows/build-packages.yml +++ b/.github/workflows/build-packages.yml @@ -53,12 +53,12 @@ jobs: uses: openwrt/gh-action-sdk@main env: ARCH: ${{ matrix.arch }}-${{ matrix.branch }} - FEEDNAME: nikki - PACKAGES: luci-app-nikki + FEEDNAME: nikkix + PACKAGES: luci-app-nikkix NO_REFRESH_CHECK: true - name: upload uses: actions/upload-artifact@v4 with: - name: nikki_${{ matrix.arch }}-${{ matrix.branch }} - path: bin/packages/${{ matrix.arch }}/nikki + name: nikkix_${{ matrix.arch }}-${{ matrix.branch }} + path: bin/packages/${{ matrix.arch }}/nikkix diff --git a/.github/workflows/dependabot.yml b/.github/workflows/dependabot.yml index 4f625cd684..b9a5fd4aa4 100644 --- a/.github/workflows/dependabot.yml +++ b/.github/workflows/dependabot.yml @@ -17,15 +17,15 @@ jobs: name: checkout uses: actions/checkout@v4 with: - repository: mglants/OpenWrt-nikki + repository: mglants/nikkix ref: main - path: OpenWrt-nikki + path: nikkix - id: info name: info run: | - echo "pkg_source_version=$(grep "PKG_SOURCE_VERSION:=" OpenWrt-nikki/nikki/Makefile | cut -d '=' -f 2)" >> $GITHUB_OUTPUT - echo "pkg_mirror_hash=$(grep "PKG_MIRROR_HASH:=" OpenWrt-nikki/nikki/Makefile | cut -d '=' -f 2)" >> $GITHUB_OUTPUT - echo "pkg_build_version=$(grep "PKG_BUILD_VERSION:=" OpenWrt-nikki/nikki/Makefile | cut -d '=' -f 2)" >> $GITHUB_OUTPUT + echo "pkg_source_version=$(grep "PKG_SOURCE_VERSION:=" nikkix/nikkix/Makefile | cut -d '=' -f 2)" >> $GITHUB_OUTPUT + echo "pkg_mirror_hash=$(grep "PKG_MIRROR_HASH:=" nikkix/nikkix/Makefile | cut -d '=' -f 2)" >> $GITHUB_OUTPUT + echo "pkg_build_version=$(grep "PKG_BUILD_VERSION:=" nikkix/nikkix/Makefile | cut -d '=' -f 2)" >> $GITHUB_OUTPUT get_latest_info: runs-on: ubuntu-latest outputs: @@ -78,22 +78,22 @@ jobs: name: checkout uses: actions/checkout@v4 with: - repository: mglants/OpenWrt-nikki + repository: mglants/nikkix ref: main - path: OpenWrt-nikki + path: nikkix - id: update name: update run: | - sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=1/" OpenWrt-nikki/nikki/Makefile - sed -i "s/PKG_SOURCE_DATE:=.*/PKG_SOURCE_DATE:=${{ needs.get_latest_info.outputs.commit_date }}/" OpenWrt-nikki/nikki/Makefile - sed -i "s/PKG_SOURCE_VERSION:=.*/PKG_SOURCE_VERSION:=${{ needs.get_latest_info.outputs.version_tag }}/" OpenWrt-nikki/nikki/Makefile - sed -i "s/PKG_MIRROR_HASH:=.*/PKG_MIRROR_HASH:=${{ needs.get_latest_info.outputs.checksum }}/" OpenWrt-nikki/nikki/Makefile - sed -i "s/PKG_BUILD_VERSION:=.*/PKG_BUILD_VERSION:=${{ needs.get_latest_info.outputs.version_tag }}/" OpenWrt-nikki/nikki/Makefile + sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=1/" nikkix/nikkix/Makefile + sed -i "s/PKG_SOURCE_DATE:=.*/PKG_SOURCE_DATE:=${{ needs.get_latest_info.outputs.commit_date }}/" nikkix/nikkix/Makefile + sed -i "s/PKG_SOURCE_VERSION:=.*/PKG_SOURCE_VERSION:=${{ needs.get_latest_info.outputs.version_tag }}/" nikkix/nikkix/Makefile + sed -i "s/PKG_MIRROR_HASH:=.*/PKG_MIRROR_HASH:=${{ needs.get_latest_info.outputs.checksum }}/" nikkix/nikkix/Makefile + sed -i "s/PKG_BUILD_VERSION:=.*/PKG_BUILD_VERSION:=${{ needs.get_latest_info.outputs.version_tag }}/" nikkix/nikkix/Makefile - id: pr name: pr uses: peter-evans/create-pull-request@v6 with: - path: OpenWrt-nikki + path: nikkix branch: dependabot commit-message: "build: bump mihomo to ${{ needs.get_latest_info.outputs.version_tag }}" title: "build: bump mihomo to ${{ needs.get_latest_info.outputs.version_tag }}" diff --git a/.github/workflows/release-packages.yml b/.github/workflows/release-packages.yml index b48936b5b3..ebfd33faf9 100644 --- a/.github/workflows/release-packages.yml +++ b/.github/workflows/release-packages.yml @@ -57,8 +57,8 @@ jobs: uses: openwrt/gh-action-sdk@main env: ARCH: ${{ matrix.arch }}-${{ matrix.branch }} - FEEDNAME: nikki - PACKAGES: luci-app-nikki + FEEDNAME: nikkix + PACKAGES: luci-app-nikkix INDEX: 1 KEY_BUILD: ${{ secrets.KEY_BUILD }} PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} @@ -66,23 +66,23 @@ jobs: V: sc - name: compress run: | - tar -c -z -f nikki_${{ matrix.arch }}-${{ matrix.branch }}.tar.gz -C bin/packages/${{ matrix.arch }}/nikki . + tar -c -z -f nikkix_${{ matrix.arch }}-${{ matrix.branch }}.tar.gz -C bin/packages/${{ matrix.arch }}/nikkix . mkdir -p public/${{ matrix.branch }}/${{ matrix.arch }} - mv bin/packages/${{ matrix.arch }}/nikki public/${{ matrix.branch }}/${{ matrix.arch }} - tar -c -z -f feed_nikki_${{ matrix.arch }}-${{ matrix.branch }}.tar.gz public/${{ matrix.branch }}/${{ matrix.arch }} + mv bin/packages/${{ matrix.arch }}/nikkix public/${{ matrix.branch }}/${{ matrix.arch }} + tar -c -z -f feed_nikkix_${{ matrix.arch }}-${{ matrix.branch }}.tar.gz public/${{ matrix.branch }}/${{ matrix.arch }} - if: github.event_name == 'push' && startsWith(github.ref_name, 'v') name: release uses: softprops/action-gh-release@v2 with: files: | - nikki_${{ matrix.arch }}-${{ matrix.branch }}.tar.gz + nikkix_${{ matrix.arch }}-${{ matrix.branch }}.tar.gz - name: upload uses: actions/upload-artifact@v4 with: - name: feed_nikki_${{ matrix.arch }}-${{ matrix.branch }} - path: feed_nikki_${{ matrix.arch }}-${{ matrix.branch }}.tar.gz + name: feed_nikkix_${{ matrix.arch }}-${{ matrix.branch }} + path: feed_nikkix_${{ matrix.arch }}-${{ matrix.branch }}.tar.gz feed: needs: release @@ -93,18 +93,18 @@ jobs: - name: download uses: actions/download-artifact@v4 with: - pattern: feed_nikki_* + pattern: feed_nikkix_* merge-multiple: true - name: uncompress run: | - for file in feed_nikki_*.tar.gz; do tar -x -z -f "$file"; done + for file in feed_nikkix_*.tar.gz; do tar -x -z -f "$file"; done - name: prepare run: | echo "${{ secrets.KEY_BUILD_PUB }}" > public/key-build.pub echo "${{ secrets.PUBLIC_KEY }}" > public/public-key.pem - tree --dirsfirst --sort name -P '*.apk|*.ipk' --prune --noreport -H "" -T "Nikki's Feed" --charset utf-8 -o public/index.html public + tree --dirsfirst --sort name -P '*.apk|*.ipk' --prune --noreport -H "" -T "Nikkix's Feed" --charset utf-8 -o public/index.html public sed -i '/

/,/<\/p>/d' public/index.html - name: feed diff --git a/.github/workflows/test-packages.yml b/.github/workflows/test-packages.yml index d84b99e83c..57162f5f2f 100644 --- a/.github/workflows/test-packages.yml +++ b/.github/workflows/test-packages.yml @@ -23,13 +23,13 @@ jobs: uses: openwrt/gh-action-sdk@main env: ARCH: ${{ matrix.arch }}-${{ matrix.branch }} - FEEDNAME: nikki - PACKAGES: luci-app-nikki + FEEDNAME: nikkix + PACKAGES: luci-app-nikkix NO_REFRESH_CHECK: true V: sc - name: upload uses: actions/upload-artifact@v4 with: - name: nikki_${{ matrix.arch }}-${{ matrix.branch }} - path: bin/packages/${{ matrix.arch }}/nikki + name: nikkix_${{ matrix.arch }}-${{ matrix.branch }} + path: bin/packages/${{ matrix.arch }}/nikkix diff --git a/README.md b/README.md index 70f5c63179..585428f211 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,22 @@ -![GitHub License](https://img.shields.io/github/license/mglants/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Tag](https://img.shields.io/github/v/release/mglants/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/mglants/OpenWrt-nikki/total?style=for-the-badge&logo=github) ![GitHub Repo stars](https://img.shields.io/github/stars/mglants/OpenWrt-nikki?style=for-the-badge&logo=github) [![Telegram](https://img.shields.io/badge/Telegram-gray?style=for-the-badge&logo=telegram)](https://t.me/nikkinikki_org) +![GitHub License](https://img.shields.io/github/license/mglants/nikkix?style=for-the-badge&logo=github) ![GitHub Tag](https://img.shields.io/github/v/release/mglants/nikkix?style=for-the-badge&logo=github) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/mglants/nikkix/total?style=for-the-badge&logo=github) ![GitHub Repo stars](https://img.shields.io/github/stars/mglants/nikkix?style=for-the-badge&logo=github) [![Telegram](https://img.shields.io/badge/Telegram-gray?style=for-the-badge&logo=telegram)](https://t.me/nikkixnikkix_org) -English | [中文](README.zh.md) | [Русский](README.ru.md) +English | [Русский](README.ru.md) -# Nikki +# Nikkix Transparent Proxy with Mihomo on OpenWrt. +) + +## Fork Notice + +This project is a fork of **Nikki**. +Original repository: https://github.com/nikkinikki-org/OpenWrt-nikki + +Changes in this fork: + +- HWID Support +- Removed Chinese lists +- TPROXY by default ## Prerequisites @@ -29,7 +41,7 @@ Transparent Proxy with Mihomo on OpenWrt. ```shell # only needs to be run once -wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ash +wget -O - https://github.com/mglants/nikkix/raw/refs/heads/main/feed.sh | ash ``` 2. Install @@ -37,30 +49,28 @@ wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ```shell # you can install from shell or `Software` menu in LuCI # for opkg -opkg install nikki -opkg install luci-app-nikki -opkg install luci-i18n-nikki-zh-cn +opkg install nikkix +opkg install luci-app-nikkix # for apk -apk add nikki -apk add luci-app-nikki -apk add luci-i18n-nikki-zh-cn +apk add nikkix +apk add luci-app-nikkix ``` ### B. Install From Release ```shell -wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/install.sh | ash +wget -O - https://github.com/mglants/nikkix/raw/refs/heads/main/install.sh | ash ``` ## Uninstall & Reset ```shell -wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/uninstall.sh | ash +wget -O - https://github.com/mglants/nikkix/raw/refs/heads/main/uninstall.sh | ash ``` ## How To Use -See [Wiki](https://github.com/mglants/OpenWrt-nikki/wiki) +See [Wiki](https://github.com/mglants/nikkix/wiki) ## How does it work @@ -76,15 +86,15 @@ Note that the steps above may change base on config. ```shell # add feed -echo "src-git nikki https://github.com/mglants/OpenWrt-nikki.git;main" >> "feeds.conf.default" +echo "src-git nikkix https://github.com/mglants/nikkix.git;main" >> "feeds.conf.default" # update & install feeds ./scripts/feeds update -a ./scripts/feeds install -a # make package -make package/luci-app-nikki/compile +make package/luci-app-nikkix/compile ``` -The package files will be found under `bin/packages/your_architecture/nikki`. +The package files will be found under `bin/packages/your_architecture/nikkix`. ## Dependencies @@ -100,7 +110,8 @@ The package files will be found under `bin/packages/your_architecture/nikki`. ## Contributors -[![Contributors](https://contrib.rocks/image?repo=nikkinikki-org/OpenWrt-nikki)](https://github.com/mglants/OpenWrt-nikki/graphs/contributors) +[![Contributors](https://contrib.rocks/image?repo=nikkinikki-org/nikki)](https://github.com/nikkinikki-org/nikki/graphs/contributors) +[![Contributors](https://contrib.rocks/image?repo=mglants/nikkix)](https://github.com/mglants/nikkix/graphs/contributors) ## Special Thanks @@ -109,8 +120,4 @@ The package files will be found under `bin/packages/your_architecture/nikki`. ## Recommended Proxy Provider -Perfect Link is recommended - -All route on IEPL, All exit node at Akari, reliable and easy to use - -[Official Website](https://perfectlink.io) | [Customer Service](https://t.me/PerfectlinksupportBot) +HWID supported providers is recommended power by diff --git a/README.ru.md b/README.ru.md index a2e86bba7b..7fdcf0f89a 100644 --- a/README.ru.md +++ b/README.ru.md @@ -1,9 +1,20 @@ [English](README.md)| [中文](README.zh.md) | Русский -# Nikki +# Nikkix Прозрачный прокси с **Mihomo** на **OpenWrt**. +## Fork + +Это форк проекта **Nikki**. +Оригинальный репозиторий: https://github.com/nikkinikki-org/OpenWrt-nikki + +Изменения: + +- Поддержка HWID +- Удаление китйских листов +- TPROXY по дефолту + ## Требования - OpenWrt >= 23.05 @@ -27,7 +38,7 @@ ```shell # выполняется только один раз -wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ash +wget -O - https://github.com/mglants/nikkix/raw/refs/heads/main/feed.sh | ash ``` #### 2. Установка @@ -35,31 +46,31 @@ wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ```shell # можно установить из shell или через меню `Software` в LuCI # для opkg -opkg install nikki -opkg install luci-app-nikki -opkg install luci-i18n-nikki-zh-cn +opkg install nikkix +opkg install luci-app-nikkix +opkg install luci-i18n-nikkix-ru # для apk -apk add nikki -apk add luci-app-nikki -apk add luci-i18n-nikki-zh-cn +apk add nikkix +apk add luci-app-nikkix +apk add luci-i18n-nikkix-ru ``` ### B. Установка из релиза ```shell -wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/install.sh | ash +wget -O - https://github.com/mglants/nikkix/raw/refs/heads/main/install.sh | ash ``` ## Удаление и сброс настроек ```shell -wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/uninstall.sh | ash +wget -O - https://github.com/mglants/nikkix/raw/refs/heads/main/uninstall.sh | ash ``` ## Как использовать -См. [Wiki](https://github.com/mglants/OpenWrt-nikki/wiki) +См. [Wiki](https://github.com/mglants/nikkix/wiki) ## Как это работает @@ -75,18 +86,18 @@ wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/uninstall ```shell # добавить feed -echo "src-git nikki https://github.com/mglants/OpenWrt-nikki.git;main" >> "feeds.conf.default" +echo "src-git nikkix https://github.com/mglants/nikkix.git;main" >> "feeds.conf.default" # обновить и установить feeds ./scripts/feeds update -a ./scripts/feeds install -a # собрать пакет -make package/luci-app-nikki/compile +make package/luci-app-nikkix/compile ``` Собранные пакеты будут находиться в каталоге: -`bin/packages/your_architecture/nikki`. +`bin/packages/your_architecture/nikkix`. ## Зависимости @@ -102,7 +113,8 @@ make package/luci-app-nikki/compile ## Участники -[![Contributors](https://contrib.rocks/image?repo=nikkinikki-org/OpenWrt-nikki)](https://github.com/mglants/OpenWrt-nikki/graphs/contributors) +[![Участники](https://contrib.rocks/image?repo=nikkinikki-org/nikki)](https://github.com/nikkinikki-org/nikki/graphs/contributors) +[![Участники](https://contrib.rocks/image?repo=mglants/nikkix)](https://github.com/mglants/nikkix/graphs/contributors) ## Особая благодарность diff --git a/README.zh.md b/README.zh.md deleted file mode 100644 index a7f9548d6e..0000000000 --- a/README.zh.md +++ /dev/null @@ -1,115 +0,0 @@ -![GitHub License](https://img.shields.io/github/license/mglants/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Tag](https://img.shields.io/github/v/release/mglants/OpenWrt-nikki?style=for-the-badge&logo=github) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/mglants/OpenWrt-nikki/total?style=for-the-badge&logo=github) ![GitHub Repo stars](https://img.shields.io/github/stars/mglants/OpenWrt-nikki?style=for-the-badge&logo=github) [![Telegram](https://img.shields.io/badge/Telegram-gray?style=for-the-badge&logo=telegram)](https://t.me/nikkinikki_org) - -中文 | [English](README.md) | [Русский](README.ru.md) - -# Nikki - -在 OpenWrt 上使用 Mihomo 进行透明代理。 - -## 环境要求 - -- OpenWrt >= 23.05 -- Linux Kernel >= 5.13 -- firewall4 - -## 功能 - -- 透明代理 (Redirect/TPROXY/TUN, IPv4 和/或 IPv6) -- 访问控制 -- 配置文件混入 -- 配置文件编辑器 -- 定时重启 - -## 安装和更新 - -### A. 从软件源安装(推荐) - -1. 添加源 - -```shell -# 只需运行一次 -wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ash -``` - -2. 安装 - -```shell -# 你可以从 shell 执行命令安装或者从 LuCI 的`软件包`菜单安装 -# for opkg -opkg install nikki -opkg install luci-app-nikki -opkg install luci-i18n-nikki-zh-cn -# for apk -apk add nikki -apk add luci-app-nikki -apk add luci-i18n-nikki-zh-cn -``` - -### B. 从发行版安装 - -```shell -wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/install.sh | ash -``` - -## 卸载并重置 - -```shell -wget -O - https://github.com/mglants/OpenWrt-nikki/raw/refs/heads/main/uninstall.sh | ash -``` - -## 如何使用 - -查看 [Wiki](https://github.com/mglants/OpenWrt-nikki/wiki) - -## 如何工作 - -1. 混入并更新配置文件。 -2. 启动 Mihomo。 -3. 设置定时重启。 -4. 配置 IP 规则/路由。 -5. 生成防火墙配置并应用。 - -注意上述步骤可能因配置而变动。 - -## 编译 - -```shell -# 添加源 -echo "src-git nikki https://github.com/mglants/OpenWrt-nikki.git;main" >> "feeds.conf.default" -# 更新并安装源 -./scripts/feeds update -a -./scripts/feeds install -a -# 编译 -make package/luci-app-nikki/compile -``` - -编译结果可以在`bin/packages/your_architecture/nikki`内找到。 - -## 依赖 - -- ca-bundle -- curl -- yq -- firewall4 -- ip-full -- kmod-inet-diag -- kmod-nft-socket -- kmod-nft-tproxy -- kmod-tun - -## 贡献者 - -[![贡献者](https://contrib.rocks/image?repo=nikkinikki-org/OpenWrt-nikki)](https://github.com/mglants/OpenWrt-nikki/graphs/contributors) - -## 特别感谢 - -- [@ApoisL](https://github.com/apoiston) -- [@xishang0128](https://github.com/xishang0128) - -## 推荐机场 - -推荐 Perfect Link - -路线全 IEPL、落地全 Akari 的机场,靠谱好用 - -[官网](https://perfectlink.io) | [客服](https://t.me/PerfectlinksupportBot) diff --git a/feed.sh b/feed.sh index cf02a0b48a..e8c900dd31 100644 --- a/feed.sh +++ b/feed.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Nikki's feed +# Nikkix's feed # check env if [[ ! -x "/bin/opkg" && ! -x "/usr/bin/apk" || ! -x "/sbin/fw4" ]]; then @@ -35,7 +35,7 @@ esac # feed url repository_url="https://glantswrt.pages.dev" -feed_url="$repository_url/$branch/$arch/nikki" +feed_url="$repository_url/$branch/$arch/nikkix" if [ -x "/bin/opkg" ]; then # add key @@ -46,21 +46,21 @@ if [ -x "/bin/opkg" ]; then rm -f "$key_build_pub_file" # add feed echo "add feed" - if grep -q nikki /etc/opkg/customfeeds.conf; then - sed -i '/nikki/d' /etc/opkg/customfeeds.conf + if grep -q nikkix /etc/opkg/customfeeds.conf; then + sed -i '/nikkix/d' /etc/opkg/customfeeds.conf fi - echo "src/gz nikki $feed_url" >> /etc/opkg/customfeeds.conf + echo "src/gz nikkix $feed_url" >> /etc/opkg/customfeeds.conf # update feeds echo "update feeds" opkg update elif [ -x "/usr/bin/apk" ]; then # add key echo "add key" - wget -O "/etc/apk/keys/nikki.pem" "$repository_url/public-key.pem" + wget -O "/etc/apk/keys/nikkix.pem" "$repository_url/public-key.pem" # add feed echo "add feed" - if grep -q nikki /etc/apk/repositories.d/customfeeds.list; then - sed -i '/nikki/d' /etc/apk/repositories.d/customfeeds.list + if grep -q nikkix /etc/apk/repositories.d/customfeeds.list; then + sed -i '/nikkix/d' /etc/apk/repositories.d/customfeeds.list fi echo "$feed_url/packages.adb" >> /etc/apk/repositories.d/customfeeds.list # update feeds diff --git a/install.sh b/install.sh index e24496e1da..2a68c16b29 100644 --- a/install.sh +++ b/install.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Nikki's installer +# Nikkix's installer # check env if [[ ! -x "/bin/opkg" && ! -x "/usr/bin/apk" || ! -x "/sbin/fw4" ]]; then @@ -35,7 +35,7 @@ esac # feed url repository_url="https://glantswrt.pages.dev" -feed_url="$repository_url/$branch/$arch/nikki" +feed_url="$repository_url/$branch/$arch/nikkix" if [ -x "/bin/opkg" ]; then # update feeds @@ -46,18 +46,18 @@ if [ -x "/bin/opkg" ]; then languages=$(opkg list-installed luci-i18n-base-* | cut -d ' ' -f 1 | cut -d '-' -f 4-) # get latest version echo "get latest version" - wget -O nikki.version $feed_url/index.json + wget -O nikkix.version $feed_url/index.json # install ipks echo "install ipks" - eval "$(jsonfilter -i nikki.version -e "nikki_version=@['packages']['nikki']" -e "luci_app_nikki_version=@['packages']['luci-app-nikki']")" - opkg install "$feed_url/nikki_${nikki_version}_${arch}.ipk" - opkg install "$feed_url/luci-app-nikki_${luci_app_nikki_version}_all.ipk" + eval "$(jsonfilter -i nikkix.version -e "nikkix_version=@['packages']['nikkix']" -e "luci_app_nikkix_version=@['packages']['luci-app-nikkix']")" + opkg install "$feed_url/nikkix_${nikkix_version}_${arch}.ipk" + opkg install "$feed_url/luci-app-nikkix_${luci_app_nikkix_version}_all.ipk" for lang in $languages; do - lang_version=$(jsonfilter -i nikki.version -e "@['packages']['luci-i18n-nikki-${lang}']") - opkg install "$feed_url/luci-i18n-nikki-${lang}_${lang_version}_all.ipk" + lang_version=$(jsonfilter -i nikkix.version -e "@['packages']['luci-i18n-nikkix-${lang}']") + opkg install "$feed_url/luci-i18n-nikkix-${lang}_${lang_version}_all.ipk" done - rm -f nikki.version + rm -f nikkix.version elif [ -x "/usr/bin/apk" ]; then # update feeds echo "update feeds" @@ -67,9 +67,9 @@ elif [ -x "/usr/bin/apk" ]; then languages=$(apk list --installed --manifest luci-i18n-base-* | cut -d ' ' -f 1 | cut -d '-' -f 4-) # install apks from remote repository echo "install apks from remote repository" - apk add --allow-untrusted -X $feed_url/packages.adb nikki luci-app-nikki + apk add --allow-untrusted -X $feed_url/packages.adb nikkix luci-app-nikkix for lang in $languages; do - apk add --allow-untrusted -X $feed_url/packages.adb "luci-i18n-nikki-${lang}" + apk add --allow-untrusted -X $feed_url/packages.adb "luci-i18n-nikkix-${lang}" done fi diff --git a/luci-app-nikki/po/templates/nikki.pot b/luci-app-nikki/po/templates/nikki.pot deleted file mode 100644 index 157bba621e..0000000000 --- a/luci-app-nikki/po/templates/nikki.pot +++ /dev/null @@ -1,1055 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:120 -msgid "API Listen" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:124 -msgid "API Secret" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:69 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:122 -msgid "Access Control" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:236 -msgid "Adaptive Replacement Cache (ARC)" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:141 -msgid "Address Space Size Hard Limit" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:137 -msgid "Address Space Size Soft Limit" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:181 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:186 -msgid "All Port" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:136 -msgid "Allow Lan" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:277 -msgid "Allow Mode" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:94 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:13 -msgid "App Config" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:27 -msgid "App Log" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:43 -msgid "App Version" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:506 -msgid "Append Rule" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:437 -msgid "Append Rule Provider" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:493 -msgid "Behavior" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:276 -msgid "Block Mode" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:171 -msgid "Bypass" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:183 -msgid "Bypass DSCP" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:186 -msgid "Bypass FWMark" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:93 -msgid "CGroup" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:29 -msgid "Choose File" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:99 -msgid "Choose Profile" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:31 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:64 -msgid "Clear Log" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:176 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:181 -msgid "Commonly Used Port" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:60 -msgid "Core Log" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:125 -msgid "Core Only" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:57 -msgid "Core Status" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:50 -msgid "Core Version" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:117 -msgid "Cron Expression" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:99 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:165 -msgid "DNS" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:232 -msgid "DNS Cache Algorithm" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:224 -msgid "DNS Config" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:238 -msgid "DNS Listen" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:248 -msgid "DNS Mode" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:93 -msgid "Debug Log" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:529 -msgid "Destination IP" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:533 -msgid "Destination IP Geo" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:530 -msgid "Destination Port" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:173 -msgid "Destination TCP Port to Proxy" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:178 -msgid "Destination UDP Port to Proxy" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:191 -msgid "Device Name" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:44 -msgid "Direct Mode" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:297 -msgid "Direct Nameserver Follow Policy" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:67 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:73 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:79 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:85 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:131 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:139 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:188 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:208 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:229 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:245 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:282 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:288 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:294 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:300 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:306 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:312 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:381 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:387 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:393 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:581 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:38 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:45 -msgid "Disable" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:183 -msgid "Disable ECN of quic-go" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:180 -msgid "Disable GSO of quic-go" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:177 -msgid "Disable Loopback Detector" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:82 -msgid "Disable TCP Keep Alive" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:291 -msgid "DoH Prefer HTTP/3" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:329 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:524 -msgid "Domain Name" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:532 -msgid "Domain Name Geo" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:527 -msgid "Domain Name Keyword" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:528 -msgid "Domain Name Regex" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:525 -msgid "Domain Name Suffix" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:526 -msgid "Domain Name Wildcard" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:165 -msgid "Edit Authentications" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:218 -msgid "Edit DNS Hijacks" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:269 -msgid "Edit Fake-IP Filters" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:318 -msgid "Edit Hosts" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:360 -msgid "Edit Nameserver Policies" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:337 -msgid "Edit Nameservers" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:440 -msgid "Edit Rule Providers" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:509 -msgid "Edit Rules" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:32 -msgid "Edit Subscription" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:27 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:45 -msgid "Editor" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:96 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:68 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:74 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:80 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:86 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:132 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:140 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:173 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:185 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:189 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:209 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:226 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:230 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:246 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:283 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:289 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:295 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:301 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:307 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:313 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:326 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:345 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:368 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:378 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:382 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:388 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:394 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:420 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:448 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:517 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:582 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:590 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:33 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:66 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:77 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:107 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:130 -msgid "Enable" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:167 -msgid "Environment Variable Config" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:47 -msgid "Expire At" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:104 -msgid "External Control Config" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:279 -msgid "Fake-IP Cache" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:273 -msgid "Fake-IP Filter Mode" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:61 -msgid "Fake-IP Ping Hijack" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:254 -msgid "Fake-IP Range" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:262 -msgid "Fake-IP TTL" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:258 -msgid "Fake-IP6 Range" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:132 -msgid "Fast Reload" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:487 -msgid "File Format" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:481 -msgid "File Path" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:475 -msgid "File Size Limit" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:48 -msgid "File for Mixin" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:103 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:33 -msgid "File:" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:399 -msgid "Force Sniff Domain Name" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:205 -msgid "GSO" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:211 -msgid "GSO Max Size" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:130 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:28 -msgid "General Config" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:97 -msgid "Generate & Download" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:560 -msgid "GeoData Loader" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:554 -msgid "GeoIP Format" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:575 -msgid "GeoIP(ASN) Url" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:572 -msgid "GeoIP(DAT) Url" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:569 -msgid "GeoIP(MMDB) Url" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:566 -msgid "GeoSite Url" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:578 -msgid "GeoX Auto Update" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:552 -msgid "GeoX Config" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:584 -msgid "GeoX Update Interval" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:96 -msgid "Global Client Fingerprint" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:42 -msgid "Global Mode" -msgstr "" - -#: applications/luci-app-nikki/root/usr/share/rpcd/acl.d/luci-app-nikki.json:3 -msgid "Grant access to nikki procedures" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:87 -msgid "Group" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:142 -msgid "HTTP Port" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:149 -msgid "Heap Size Hard Limit" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:145 -msgid "Heap Size Soft Limit" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:38 -msgid "How To Use" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:49 -msgid "IPv4 DNS Hijack" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:55 -msgid "IPv4 Proxy" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:52 -msgid "IPv6 DNS Hijack" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:58 -msgid "IPv6 Proxy" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:406 -msgid "Ignore Sniff Domain Name" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:134 -msgid "Inbound Config" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:110 -msgid "Inbound Interface" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:105 -msgid "LAN Proxy" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:235 -msgid "Least Recently Used (LRU)" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:85 -msgid "Local" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:25 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:53 -msgid "Log" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:30 -msgid "Log Level" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:201 -msgid "MTU" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:46 -msgid "Match Process" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:371 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:535 -msgid "Matcher" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:564 -msgid "Memory Conservative Loader" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:194 -msgid "Misc" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:150 -msgid "Mixed Port" -msgstr "" - -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:29 -msgid "Mixin Config" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:588 -msgid "Mixin File Content" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:26 -msgid "Mixin Option" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:39 -msgid "Mode" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:454 -msgid "Name" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:355 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:374 -msgid "Nameserver" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:38 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:3 -msgid "Nikki" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:546 -msgid "No Resolve" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:468 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:539 -msgid "Node" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:15 -msgid "Not Running" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:164 -msgid "Number of Open Files Hard Limit" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:161 -msgid "Number of Open Files Soft Limit" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:89 -msgid "Open Dashboard" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:53 -msgid "Outbound Interface" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:162 -msgid "Overwrite Authentication" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:215 -msgid "Overwrite DNS Hijack" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:432 -msgid "Overwrite Destination" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:266 -msgid "Overwrite Fake-IP Filter" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:396 -msgid "Overwrite Force Sniff Domain Name" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:315 -msgid "Overwrite Hosts" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:403 -msgid "Overwrite Ignore Sniff Domain Name" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:334 -msgid "Overwrite Nameserver" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:357 -msgid "Overwrite Nameserver Policy" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:410 -msgid "Overwrite Sniff By Protocol" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:179 -msgid "Password" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:590 -msgid "Please go to the editor tab to edit the file for mixin" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:429 -msgid "Port" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:81 -msgid "Prefer" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:531 -msgid "Process Name" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:18 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:21 -msgid "Profile" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:49 -msgid "Profile for Startup" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:423 -msgid "Protocol" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:102 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:168 -msgid "Proxy" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:29 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:31 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:37 -msgid "Proxy Config" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:45 -msgid "Proxy Provider:" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:135 -msgid "RLIMIT Config" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:98 -msgid "Random" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:39 -msgid "Redirect Mode" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:154 -msgid "Redirect Port" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:69 -msgid "Reload Service" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:84 -msgid "Remote" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:190 -msgid "Reserved IP" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:193 -msgid "Reserved IP6" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:285 -msgid "Respect Rules" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:76 -msgid "Restart Service" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:64 -msgid "Router Proxy" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:435 -msgid "Rule Config" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:43 -msgid "Rule Mode" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:41 -msgid "Rule Provider:" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:523 -msgid "Rule Set" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:15 -msgid "Running" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:146 -msgid "SOCKS Port" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:169 -msgid "Safe Paths" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:128 -msgid "Save Proxy Selection" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:114 -msgid "Scheduled Restart" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:54 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:87 -msgid "Scroll To Bottom" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:186 -msgid "Skip System IPv6 Check" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:413 -msgid "Sniff By Protocol" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:390 -msgid "Sniff Pure IP" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:384 -msgid "Sniff Redir-Host" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:376 -msgid "Sniffer Config" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:194 -msgid "Stack" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:157 -msgid "Stack Size Hard Limit" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:153 -msgid "Stack Size Soft Limit" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:563 -msgid "Standard Loader" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:110 -msgid "Start Delay" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:112 -msgid "Start Immidiately" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:40 -msgid "Status" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:28 -msgid "Subscription" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:66 -msgid "Subscription Info Url" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:34 -msgid "Subscription Name" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:69 -msgid "Subscription Url" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:107 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:37 -msgid "Subscription:" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:76 -msgid "TCP Concurrent" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:88 -msgid "TCP Keep Alive Idle" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:92 -msgid "TCP Keep Alive Interval" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:36 -msgid "TCP Mode" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:40 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:46 -msgid "TPROXY Mode" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:158 -msgid "TPROXY Port" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:183 -msgid "TUN Config" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:206 -msgid "TUN Interval" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:41 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:47 -msgid "TUN Mode" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:196 -msgid "TUN Timeout" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:122 -msgid "Test Profile" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:42 -msgid "Total" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:38 -msgid "Transparent Proxy with Mihomo on OpenWrt." -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:348 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:457 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:521 -msgid "Type" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:43 -msgid "UDP Mode" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:109 -msgid "UI Name" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:106 -msgid "UI Path" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:112 -msgid "UI Url" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:70 -msgid "Unify Delay" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:139 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:143 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:147 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:151 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:155 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:159 -msgid "Unlimited" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:32 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:41 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:48 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:55 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:66 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:72 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:78 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:84 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:90 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:94 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:97 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:107 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:110 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:113 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:122 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:126 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:130 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:138 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:144 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:148 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:152 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:156 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:160 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:187 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:192 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:196 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:203 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:207 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:213 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:228 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:234 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:240 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:244 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:250 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:256 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:260 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:264 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:275 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:281 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:287 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:293 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:299 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:305 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:311 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:380 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:386 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:392 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:556 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:562 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:567 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:570 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:573 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:576 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:580 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:586 -msgid "Unmodified" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:60 -msgid "Update" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:52 -msgid "Update At" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:83 -msgid "Update Dashboard" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:500 -msgid "Update Interval" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:20 -msgid "Upload Profile" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:463 -msgid "Url" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:309 -msgid "Use Hosts" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:303 -msgid "Use System Hosts" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:37 -msgid "Used" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:81 -msgid "User" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:73 -msgid "User Agent" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:176 -msgid "Username" -msgstr "" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:128 -msgid "procd Config" -msgstr "" diff --git a/luci-app-nikki/po/zh_Hans/nikki.po b/luci-app-nikki/po/zh_Hans/nikki.po deleted file mode 100644 index de689edf1d..0000000000 --- a/luci-app-nikki/po/zh_Hans/nikki.po +++ /dev/null @@ -1,1062 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: zh_Hans\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:120 -msgid "API Listen" -msgstr "API 监听" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:124 -msgid "API Secret" -msgstr "API 密钥" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:69 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:122 -msgid "Access Control" -msgstr "访问控制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:236 -msgid "Adaptive Replacement Cache (ARC)" -msgstr "自适应替换缓存(ARC)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:141 -msgid "Address Space Size Hard Limit" -msgstr "地址空间大小硬限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:137 -msgid "Address Space Size Soft Limit" -msgstr "地址空间大小软限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:181 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:186 -msgid "All Port" -msgstr "全部端口" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:136 -msgid "Allow Lan" -msgstr "允许局域网访问" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:277 -msgid "Allow Mode" -msgstr "白名单模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:94 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:13 -msgid "App Config" -msgstr "插件配置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:27 -msgid "App Log" -msgstr "插件日志" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:43 -msgid "App Version" -msgstr "插件版本" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:506 -msgid "Append Rule" -msgstr "追加规则" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:437 -msgid "Append Rule Provider" -msgstr "追加规则提供者" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:493 -msgid "Behavior" -msgstr "行为" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:276 -msgid "Block Mode" -msgstr "黑名单模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:171 -msgid "Bypass" -msgstr "绕过" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:183 -msgid "Bypass DSCP" -msgstr "绕过 DSCP" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:186 -msgid "Bypass FWMark" -msgstr "绕过 FWMark" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:93 -msgid "CGroup" -msgstr "控制组" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:29 -msgid "Choose File" -msgstr "选择文件" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:99 -msgid "Choose Profile" -msgstr "选择配置文件" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:31 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:64 -msgid "Clear Log" -msgstr "清空日志" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:182 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:187 -msgid "Commonly Used Port" -msgstr "常用端口" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:60 -msgid "Core Log" -msgstr "核心日志" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:125 -msgid "Core Only" -msgstr "仅核心" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:57 -msgid "Core Status" -msgstr "核心状态" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:50 -msgid "Core Version" -msgstr "核心版本" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:117 -msgid "Cron Expression" -msgstr "Cron 表达式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:99 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:165 -msgid "DNS" -msgstr "DNS" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:232 -msgid "DNS Cache Algorithm" -msgstr "DNS 缓存算法" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:224 -msgid "DNS Config" -msgstr "DNS 配置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:238 -msgid "DNS Listen" -msgstr "DNS 监听" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:248 -msgid "DNS Mode" -msgstr "DNS 模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:93 -msgid "Debug Log" -msgstr "调试日志" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:529 -msgid "Destination IP" -msgstr "目标 IP" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:533 -msgid "Destination IP Geo" -msgstr "目标 IP(Geo)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:530 -msgid "Destination Port" -msgstr "目标端口" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:179 -msgid "Destination TCP Port to Proxy" -msgstr "要代理的 TCP 目标端口" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:184 -msgid "Destination UDP Port to Proxy" -msgstr "要代理的 UDP 目标端口" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:191 -msgid "Device Name" -msgstr "设备名称" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:44 -msgid "Direct Mode" -msgstr "直连模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:297 -msgid "Direct Nameserver Follow Policy" -msgstr "Direct Nameserver 跟随查询策略" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:67 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:73 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:79 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:85 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:131 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:139 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:188 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:208 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:229 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:245 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:282 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:288 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:294 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:300 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:306 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:312 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:381 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:387 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:393 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:581 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:38 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:45 -msgid "Disable" -msgstr "禁用" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:183 -msgid "Disable ECN of quic-go" -msgstr "禁用 quic-go 的显式拥塞通知" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:180 -msgid "Disable GSO of quic-go" -msgstr "禁用 quic-go 的通用分段卸载" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:177 -msgid "Disable Loopback Detector" -msgstr "禁用回环检测" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:82 -msgid "Disable TCP Keep Alive" -msgstr "禁用 TCP Keep Alive" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:291 -msgid "DoH Prefer HTTP/3" -msgstr "DoH 优先 HTTP/3" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:329 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:524 -msgid "Domain Name" -msgstr "域名" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:532 -msgid "Domain Name Geo" -msgstr "域名(Geo)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:527 -msgid "Domain Name Keyword" -msgstr "域名(关键字)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:528 -msgid "Domain Name Regex" -msgstr "域名(正则表达式)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:525 -msgid "Domain Name Suffix" -msgstr "域名(后缀)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:526 -msgid "Domain Name Wildcard" -msgstr "域名(通配符)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:165 -msgid "Edit Authentications" -msgstr "编辑身份验证" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:218 -msgid "Edit DNS Hijacks" -msgstr "编辑 DNS 劫持" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:269 -msgid "Edit Fake-IP Filters" -msgstr "编辑 Fake-IP 过滤列表" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:318 -msgid "Edit Hosts" -msgstr "编辑 Hosts" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:360 -msgid "Edit Nameserver Policies" -msgstr "编辑 DNS 服务器查询策略" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:337 -msgid "Edit Nameservers" -msgstr "编辑 DNS 服务器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:440 -msgid "Edit Rule Providers" -msgstr "编辑规则提供者" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:509 -msgid "Edit Rules" -msgstr "编辑规则" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:32 -msgid "Edit Subscription" -msgstr "编辑订阅" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:27 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:45 -msgid "Editor" -msgstr "编辑器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:96 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:68 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:74 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:80 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:86 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:132 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:140 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:173 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:185 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:189 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:209 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:226 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:230 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:246 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:283 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:289 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:295 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:301 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:307 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:313 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:326 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:345 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:368 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:378 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:382 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:388 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:394 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:420 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:448 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:517 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:582 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:590 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:33 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:66 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:77 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:107 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:130 -msgid "Enable" -msgstr "启用" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:167 -msgid "Environment Variable Config" -msgstr "环境变量配置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:47 -msgid "Expire At" -msgstr "到期时间" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:104 -msgid "External Control Config" -msgstr "外部控制配置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:279 -msgid "Fake-IP Cache" -msgstr "Fake-IP 缓存" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:273 -msgid "Fake-IP Filter Mode" -msgstr "Fake-IP 过滤模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:61 -msgid "Fake-IP Ping Hijack" -msgstr "Fake-IP Ping 劫持" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:254 -msgid "Fake-IP Range" -msgstr "Fake-IP 范围" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:262 -msgid "Fake-IP TTL" -msgstr "Fake-IP TTL" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:258 -msgid "Fake-IP6 Range" -msgstr "Fake-IP6 范围" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:132 -msgid "Fast Reload" -msgstr "快速重载" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:487 -msgid "File Format" -msgstr "文件格式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:481 -msgid "File Path" -msgstr "文件路径" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:475 -msgid "File Size Limit" -msgstr "文件大小限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:48 -msgid "File for Mixin" -msgstr "用于混入的文件" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:103 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:33 -msgid "File:" -msgstr "文件:" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:399 -msgid "Force Sniff Domain Name" -msgstr "强制嗅探的域名" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:205 -msgid "GSO" -msgstr "通用分段卸载" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:211 -msgid "GSO Max Size" -msgstr "分段最大长度" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:130 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:28 -msgid "General Config" -msgstr "全局配置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:97 -msgid "Generate & Download" -msgstr "生成并下载" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:560 -msgid "GeoData Loader" -msgstr "GeoData 加载器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:554 -msgid "GeoIP Format" -msgstr "GeoIP 格式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:575 -msgid "GeoIP(ASN) Url" -msgstr "GeoIP(ASN) 下载地址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:572 -msgid "GeoIP(DAT) Url" -msgstr "GeoIP(DAT) 下载地址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:569 -msgid "GeoIP(MMDB) Url" -msgstr "GeoIP(MMDB) 下载地址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:566 -msgid "GeoSite Url" -msgstr "GeoSite 下载地址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:578 -msgid "GeoX Auto Update" -msgstr "定时更新GeoX文件" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:552 -msgid "GeoX Config" -msgstr "GeoX 配置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:584 -msgid "GeoX Update Interval" -msgstr "GeoX 文件更新间隔" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:96 -msgid "Global Client Fingerprint" -msgstr "全局客户端指纹" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:42 -msgid "Global Mode" -msgstr "全局模式" - -#: applications/luci-app-nikki/root/usr/share/rpcd/acl.d/luci-app-nikki.json:3 -msgid "Grant access to nikki procedures" -msgstr "授予访问 nikki 程序的权限" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:87 -msgid "Group" -msgstr "用户组" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:142 -msgid "HTTP Port" -msgstr "HTTP 端口" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:149 -msgid "Heap Size Hard Limit" -msgstr "堆大小硬限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:145 -msgid "Heap Size Soft Limit" -msgstr "堆大小软限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:38 -msgid "How To Use" -msgstr "使用说明" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:49 -msgid "IPv4 DNS Hijack" -msgstr "IPv4 DNS 劫持" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:55 -msgid "IPv4 Proxy" -msgstr "IPv4 代理" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:52 -msgid "IPv6 DNS Hijack" -msgstr "IPv6 DNS 劫持" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:58 -msgid "IPv6 Proxy" -msgstr "IPv6 代理" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:406 -msgid "Ignore Sniff Domain Name" -msgstr "忽略嗅探的域名" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:134 -msgid "Inbound Config" -msgstr "入站配置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:110 -msgid "Inbound Interface" -msgstr "入站接口" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:105 -msgid "LAN Proxy" -msgstr "局域网代理" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:235 -msgid "Least Recently Used (LRU)" -msgstr "最近最少使用(LRU)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:85 -msgid "Local" -msgstr "本地" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:25 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:53 -msgid "Log" -msgstr "日志" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:30 -msgid "Log Level" -msgstr "日志级别" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:201 -msgid "MTU" -msgstr "最大传输单元" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:46 -msgid "Match Process" -msgstr "匹配进程" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:371 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:535 -msgid "Matcher" -msgstr "匹配" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:564 -msgid "Memory Conservative Loader" -msgstr "为内存受限设备优化的加载器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:194 -msgid "Misc" -msgstr "杂项" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:150 -msgid "Mixed Port" -msgstr "混合端口" - -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:29 -msgid "Mixin Config" -msgstr "混入配置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:588 -msgid "Mixin File Content" -msgstr "混入文件内容" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:26 -msgid "Mixin Option" -msgstr "混入选项" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:39 -msgid "Mode" -msgstr "模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:454 -msgid "Name" -msgstr "名称" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:355 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:374 -msgid "Nameserver" -msgstr "DNS 服务器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:38 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:3 -msgid "Nikki" -msgstr "Nikki" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:546 -msgid "No Resolve" -msgstr "不解析" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:468 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:539 -msgid "Node" -msgstr "节点" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:15 -msgid "Not Running" -msgstr "未在运行" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:164 -msgid "Number of Open Files Hard Limit" -msgstr "打开文件数量硬限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:161 -msgid "Number of Open Files Soft Limit" -msgstr "打开文件数量软限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:89 -msgid "Open Dashboard" -msgstr "打开面板" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:53 -msgid "Outbound Interface" -msgstr "出站接口" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:162 -msgid "Overwrite Authentication" -msgstr "覆盖身份验证" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:215 -msgid "Overwrite DNS Hijack" -msgstr "覆盖 DNS 劫持" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:432 -msgid "Overwrite Destination" -msgstr "将嗅探结果作为连接目标" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:266 -msgid "Overwrite Fake-IP Filter" -msgstr "覆盖 Fake-IP 过滤列表" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:396 -msgid "Overwrite Force Sniff Domain Name" -msgstr "覆盖强制嗅探的域名" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:315 -msgid "Overwrite Hosts" -msgstr "覆盖 Hosts" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:403 -msgid "Overwrite Ignore Sniff Domain Name" -msgstr "覆盖忽略嗅探的域名" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:334 -msgid "Overwrite Nameserver" -msgstr "覆盖 DNS 服务器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:357 -msgid "Overwrite Nameserver Policy" -msgstr "覆盖 DNS 服务器查询策略" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:410 -msgid "Overwrite Sniff By Protocol" -msgstr "覆盖按协议嗅探" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:179 -msgid "Password" -msgstr "密码" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:590 -msgid "Please go to the editor tab to edit the file for mixin" -msgstr "请前往编辑器标签编辑用于混入的文件" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:429 -msgid "Port" -msgstr "端口" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:81 -msgid "Prefer" -msgstr "优先" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:531 -msgid "Process Name" -msgstr "进程名" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:18 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:21 -msgid "Profile" -msgstr "配置文件" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:49 -msgid "Profile for Startup" -msgstr "用于启动的配置文件" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:423 -msgid "Protocol" -msgstr "协议" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:102 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:168 -msgid "Proxy" -msgstr "代理" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:29 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:31 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:37 -msgid "Proxy Config" -msgstr "代理配置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:45 -msgid "Proxy Provider:" -msgstr "代理提供者:" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:135 -msgid "RLIMIT Config" -msgstr "资源限制配置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:98 -msgid "Random" -msgstr "随机" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:39 -msgid "Redirect Mode" -msgstr "Redirect 模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:154 -msgid "Redirect Port" -msgstr "Redirect 端口" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:69 -msgid "Reload Service" -msgstr "重载服务" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:84 -msgid "Remote" -msgstr "远程" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:196 -msgid "Reserved IP" -msgstr "IPv4 保留地址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:199 -msgid "Reserved IP6" -msgstr "IPv6 保留地址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:285 -msgid "Respect Rules" -msgstr "遵循分流规则" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:76 -msgid "Restart Service" -msgstr "重启服务" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:64 -msgid "Router Proxy" -msgstr "路由器代理" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:435 -msgid "Rule Config" -msgstr "规则配置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:43 -msgid "Rule Mode" -msgstr "规则模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:41 -msgid "Rule Provider:" -msgstr "规则提供者:" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:523 -msgid "Rule Set" -msgstr "规则集" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:15 -msgid "Running" -msgstr "运行中" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:146 -msgid "SOCKS Port" -msgstr "SOCKS 端口" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:169 -msgid "Safe Paths" -msgstr "安全路径" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:128 -msgid "Save Proxy Selection" -msgstr "保存节点/策略组选择" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:114 -msgid "Scheduled Restart" -msgstr "定时重启" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:54 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:87 -msgid "Scroll To Bottom" -msgstr "滚动到底部" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:186 -msgid "Skip System IPv6 Check" -msgstr "跳过系统 IPv6 检查" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:413 -msgid "Sniff By Protocol" -msgstr "按协议嗅探" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:390 -msgid "Sniff Pure IP" -msgstr "嗅探纯 IP 连接" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:384 -msgid "Sniff Redir-Host" -msgstr "嗅探 Redir-Host 流量" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:376 -msgid "Sniffer Config" -msgstr "嗅探器配置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:194 -msgid "Stack" -msgstr "栈" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:157 -msgid "Stack Size Hard Limit" -msgstr "栈大小硬限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:153 -msgid "Stack Size Soft Limit" -msgstr "栈大小软限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:563 -msgid "Standard Loader" -msgstr "标准加载器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:110 -msgid "Start Delay" -msgstr "启动延迟" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:112 -msgid "Start Immidiately" -msgstr "立即启动" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:40 -msgid "Status" -msgstr "状态" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:28 -msgid "Subscription" -msgstr "订阅" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:66 -msgid "Subscription Info Url" -msgstr "订阅信息链接" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:34 -msgid "Subscription Name" -msgstr "订阅名称" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:69 -msgid "Subscription Url" -msgstr "订阅链接" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:107 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:37 -msgid "Subscription:" -msgstr "订阅:" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:76 -msgid "TCP Concurrent" -msgstr "TCP 并发" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:88 -msgid "TCP Keep Alive Idle" -msgstr "TCP Keep Alive 空闲" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:92 -msgid "TCP Keep Alive Interval" -msgstr "TCP Keep Alive 间隔" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:36 -msgid "TCP Mode" -msgstr "TCP 模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:40 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:46 -msgid "TPROXY Mode" -msgstr "TPROXY 模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:158 -msgid "TPROXY Port" -msgstr "TPROXY 端口" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:183 -msgid "TUN Config" -msgstr "TUN 配置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:206 -msgid "TUN Interval" -msgstr "TUN 等待间隔" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:41 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:47 -msgid "TUN Mode" -msgstr "TUN 模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:202 -msgid "TUN Timeout" -msgstr "TUN 等待超时" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:122 -msgid "Test Profile" -msgstr "检查配置文件" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:42 -msgid "Total" -msgstr "总量" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:38 -msgid "Transparent Proxy with Mihomo on OpenWrt." -msgstr "在 OpenWrt 上使用 Mihomo 进行透明代理。" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:348 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:457 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:521 -msgid "Type" -msgstr "类型" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:43 -msgid "UDP Mode" -msgstr "UDP 模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:109 -msgid "UI Name" -msgstr "UI 名称" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:106 -msgid "UI Path" -msgstr "UI 路径" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:112 -msgid "UI Url" -msgstr "UI 下载地址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:70 -msgid "Unify Delay" -msgstr "统一延迟" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:139 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:143 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:147 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:151 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:155 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:159 -msgid "Unlimited" -msgstr "无限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:32 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:41 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:48 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:55 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:66 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:72 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:78 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:84 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:90 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:94 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:97 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:107 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:110 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:113 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:122 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:126 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:130 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:138 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:144 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:148 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:152 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:156 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:160 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:187 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:192 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:196 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:203 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:207 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:213 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:228 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:234 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:240 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:244 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:250 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:256 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:260 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:264 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:275 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:281 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:287 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:293 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:299 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:305 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:311 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:380 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:386 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:392 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:556 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:562 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:567 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:570 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:573 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:576 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:580 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:586 -msgid "Unmodified" -msgstr "不修改" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:60 -msgid "Update" -msgstr "更新" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:52 -msgid "Update At" -msgstr "更新时间" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:83 -msgid "Update Dashboard" -msgstr "更新面板" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:500 -msgid "Update Interval" -msgstr "更新间隔" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:20 -msgid "Upload Profile" -msgstr "上传配置文件" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:463 -msgid "Url" -msgstr "下载地址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:309 -msgid "Use Hosts" -msgstr "使用 Hosts" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:303 -msgid "Use System Hosts" -msgstr "使用系统的 Hosts" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:37 -msgid "Used" -msgstr "已使用" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:81 -msgid "User" -msgstr "用户" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:73 -msgid "User Agent" -msgstr "用户代理(UA)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:176 -msgid "Username" -msgstr "用户名" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:128 -msgid "procd Config" -msgstr "procd 配置" diff --git a/luci-app-nikki/po/zh_Hant/nikki.po b/luci-app-nikki/po/zh_Hant/nikki.po deleted file mode 100644 index b19b62fb89..0000000000 --- a/luci-app-nikki/po/zh_Hant/nikki.po +++ /dev/null @@ -1,1062 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: zh_Hant\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:120 -msgid "API Listen" -msgstr "API 監聽" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:124 -msgid "API Secret" -msgstr "API 密鑰" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:69 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:122 -msgid "Access Control" -msgstr "存取控制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:236 -msgid "Adaptive Replacement Cache (ARC)" -msgstr "調適型替換快取(ARC)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:141 -msgid "Address Space Size Hard Limit" -msgstr "位址空間大小硬限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:137 -msgid "Address Space Size Soft Limit" -msgstr "位址空間大小軟限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:181 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:186 -msgid "All Port" -msgstr "所有埠" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:136 -msgid "Allow Lan" -msgstr "允許區域網路存取" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:277 -msgid "Allow Mode" -msgstr "白名單模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:94 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:13 -msgid "App Config" -msgstr "應用程式設定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:27 -msgid "App Log" -msgstr "應用程式日誌" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:43 -msgid "App Version" -msgstr "應用程式版本" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:506 -msgid "Append Rule" -msgstr "追加規則" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:437 -msgid "Append Rule Provider" -msgstr "追加規則提供者" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:493 -msgid "Behavior" -msgstr "行為" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:276 -msgid "Block Mode" -msgstr "黑名單模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:171 -msgid "Bypass" -msgstr "繞過" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:189 -msgid "Bypass DSCP" -msgstr "繞過 DSCP" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:192 -msgid "Bypass FWMark" -msgstr "繞過 FWMark" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:93 -msgid "CGroup" -msgstr "控制群組" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:29 -msgid "Choose File" -msgstr "選擇檔案" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:99 -msgid "Choose Profile" -msgstr "選擇設定檔" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:31 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:64 -msgid "Clear Log" -msgstr "清空日誌" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:182 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:187 -msgid "Commonly Used Port" -msgstr "常用埠" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:60 -msgid "Core Log" -msgstr "核心日誌" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:125 -msgid "Core Only" -msgstr "僅核心" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:57 -msgid "Core Status" -msgstr "核心狀態" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:50 -msgid "Core Version" -msgstr "核心版本" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:117 -msgid "Cron Expression" -msgstr "Cron 表達式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:99 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:165 -msgid "DNS" -msgstr "DNS" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:232 -msgid "DNS Cache Algorithm" -msgstr "DNS 快取演算法" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:224 -msgid "DNS Config" -msgstr "DNS 設定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:238 -msgid "DNS Listen" -msgstr "DNS 監聽" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:248 -msgid "DNS Mode" -msgstr "DNS 模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:93 -msgid "Debug Log" -msgstr "除錯日誌" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:529 -msgid "Destination IP" -msgstr "目標 IP" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:533 -msgid "Destination IP Geo" -msgstr "目標 IP(地理位置)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:530 -msgid "Destination Port" -msgstr "目標埠" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:179 -msgid "Destination TCP Port to Proxy" -msgstr "要代理的 TCP 目標埠" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:184 -msgid "Destination UDP Port to Proxy" -msgstr "要代理的 UDP 目標埠" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:191 -msgid "Device Name" -msgstr "裝置名稱" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:44 -msgid "Direct Mode" -msgstr "直連模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:297 -msgid "Direct Nameserver Follow Policy" -msgstr "Direct Nameserver 跟隨查詢策略" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:67 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:73 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:79 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:85 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:131 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:139 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:188 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:208 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:229 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:245 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:282 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:288 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:294 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:300 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:306 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:312 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:381 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:387 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:393 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:581 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:38 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:45 -msgid "Disable" -msgstr "停用" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:183 -msgid "Disable ECN of quic-go" -msgstr "停用 quic-go 的顯式擁塞通知" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:180 -msgid "Disable GSO of quic-go" -msgstr "停用 quic-go 的通用分段卸載" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:177 -msgid "Disable Loopback Detector" -msgstr "停用迴路檢測" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:82 -msgid "Disable TCP Keep Alive" -msgstr "停用 TCP Keep Alive" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:291 -msgid "DoH Prefer HTTP/3" -msgstr "DoH 優先使用 HTTP/3" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:329 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:524 -msgid "Domain Name" -msgstr "網域名稱" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:532 -msgid "Domain Name Geo" -msgstr "網域名稱(地理位置)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:527 -msgid "Domain Name Keyword" -msgstr "網域名稱(關鍵字)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:528 -msgid "Domain Name Regex" -msgstr "網域名稱(正則表達式)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:525 -msgid "Domain Name Suffix" -msgstr "網域名稱(後綴)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:526 -msgid "Domain Name Wildcard" -msgstr "網域名稱(通配符)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:165 -msgid "Edit Authentications" -msgstr "編輯身分驗證" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:218 -msgid "Edit DNS Hijacks" -msgstr "編輯 DNS 劫持" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:269 -msgid "Edit Fake-IP Filters" -msgstr "編輯 Fake-IP 過濾清單" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:318 -msgid "Edit Hosts" -msgstr "編輯 Hosts" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:360 -msgid "Edit Nameserver Policies" -msgstr "編輯 DNS 伺服器查詢策略" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:337 -msgid "Edit Nameservers" -msgstr "編輯 DNS 伺服器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:440 -msgid "Edit Rule Providers" -msgstr "編輯規則提供者" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:509 -msgid "Edit Rules" -msgstr "編輯規則" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:32 -msgid "Edit Subscription" -msgstr "編輯訂閱" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:27 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:45 -msgid "Editor" -msgstr "編輯器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:96 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:68 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:74 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:80 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:86 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:132 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:140 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:173 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:185 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:189 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:209 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:226 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:230 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:246 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:283 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:289 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:295 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:301 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:307 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:313 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:326 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:345 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:368 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:378 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:382 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:388 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:394 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:420 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:448 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:517 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:582 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:590 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:33 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:66 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:77 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:107 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:130 -msgid "Enable" -msgstr "啟用" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:167 -msgid "Environment Variable Config" -msgstr "環境變數設定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:47 -msgid "Expire At" -msgstr "到期時間" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:104 -msgid "External Control Config" -msgstr "外部控制設定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:279 -msgid "Fake-IP Cache" -msgstr "Fake-IP 快取" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:273 -msgid "Fake-IP Filter Mode" -msgstr "Fake-IP 過濾模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:61 -msgid "Fake-IP Ping Hijack" -msgstr "Fake-IP Ping 劫持" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:254 -msgid "Fake-IP Range" -msgstr "Fake-IP 範圍" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:262 -msgid "Fake-IP TTL" -msgstr "Fake-IP TTL" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:258 -msgid "Fake-IP6 Range" -msgstr "Fake-IP6 範圍" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:132 -msgid "Fast Reload" -msgstr "快速重載" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:487 -msgid "File Format" -msgstr "檔案格式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:481 -msgid "File Path" -msgstr "檔案路徑" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:475 -msgid "File Size Limit" -msgstr "檔案大小限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:48 -msgid "File for Mixin" -msgstr "用於混入的檔案" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:103 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:33 -msgid "File:" -msgstr "檔案:" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:399 -msgid "Force Sniff Domain Name" -msgstr "強制嗅探的網域名稱" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:205 -msgid "GSO" -msgstr "通用分段卸載" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:211 -msgid "GSO Max Size" -msgstr "分段最大長度" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:130 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:28 -msgid "General Config" -msgstr "一般設定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:97 -msgid "Generate & Download" -msgstr "生成並下載" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:560 -msgid "GeoData Loader" -msgstr "GeoData 載入器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:554 -msgid "GeoIP Format" -msgstr "GeoIP 格式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:575 -msgid "GeoIP(ASN) Url" -msgstr "GeoIP(ASN) 下載網址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:572 -msgid "GeoIP(DAT) Url" -msgstr "GeoIP(DAT) 下載網址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:569 -msgid "GeoIP(MMDB) Url" -msgstr "GeoIP(MMDB) 下載網址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:566 -msgid "GeoSite Url" -msgstr "GeoSite 下載網址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:578 -msgid "GeoX Auto Update" -msgstr "定時更新 GeoX 檔案" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:552 -msgid "GeoX Config" -msgstr "GeoX 設定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:584 -msgid "GeoX Update Interval" -msgstr "GeoX 檔案更新間隔" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:96 -msgid "Global Client Fingerprint" -msgstr "全局客戶端指紋" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:42 -msgid "Global Mode" -msgstr "全局模式" - -#: applications/luci-app-nikki/root/usr/share/rpcd/acl.d/luci-app-nikki.json:3 -msgid "Grant access to nikki procedures" -msgstr "授予存取 nikki 程序的權限" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:87 -msgid "Group" -msgstr "使用者群組" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:142 -msgid "HTTP Port" -msgstr "HTTP 埠" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:149 -msgid "Heap Size Hard Limit" -msgstr "堆積大小硬限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:145 -msgid "Heap Size Soft Limit" -msgstr "堆積大小軟限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:38 -msgid "How To Use" -msgstr "使用說明" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:49 -msgid "IPv4 DNS Hijack" -msgstr "IPv4 DNS 劫持" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:55 -msgid "IPv4 Proxy" -msgstr "IPv4 代理" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:52 -msgid "IPv6 DNS Hijack" -msgstr "IPv6 DNS 劫持" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:58 -msgid "IPv6 Proxy" -msgstr "IPv6 代理" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:406 -msgid "Ignore Sniff Domain Name" -msgstr "忽略嗅探的網域名稱" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:134 -msgid "Inbound Config" -msgstr "入站設定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:110 -msgid "Inbound Interface" -msgstr "入站介面" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:105 -msgid "LAN Proxy" -msgstr "區域網路代理" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:235 -msgid "Least Recently Used (LRU)" -msgstr "最近最少使用(LRU)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:85 -msgid "Local" -msgstr "本地" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:25 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:53 -msgid "Log" -msgstr "日誌" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:30 -msgid "Log Level" -msgstr "日誌等級" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:201 -msgid "MTU" -msgstr "最大傳輸單元" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:46 -msgid "Match Process" -msgstr "匹配程序" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:371 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:535 -msgid "Matcher" -msgstr "匹配器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:564 -msgid "Memory Conservative Loader" -msgstr "為記憶體受限裝置最佳化的載入器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:194 -msgid "Misc" -msgstr "雜項" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:150 -msgid "Mixed Port" -msgstr "混合埠" - -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:29 -msgid "Mixin Config" -msgstr "混入設定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:588 -msgid "Mixin File Content" -msgstr "混入檔案內容" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:26 -msgid "Mixin Option" -msgstr "混入選項" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:39 -msgid "Mode" -msgstr "模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:454 -msgid "Name" -msgstr "名稱" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:355 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:374 -msgid "Nameserver" -msgstr "DNS 伺服器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:38 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:3 -msgid "Nikki" -msgstr "Nikki" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:546 -msgid "No Resolve" -msgstr "不解析" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:468 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:539 -msgid "Node" -msgstr "節點" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:15 -msgid "Not Running" -msgstr "未在執行" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:164 -msgid "Number of Open Files Hard Limit" -msgstr "可開啟檔案數量硬限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:161 -msgid "Number of Open Files Soft Limit" -msgstr "可開啟檔案數量軟限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:89 -msgid "Open Dashboard" -msgstr "開啟儀表板" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:53 -msgid "Outbound Interface" -msgstr "出站介面" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:162 -msgid "Overwrite Authentication" -msgstr "覆寫身分驗證" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:215 -msgid "Overwrite DNS Hijack" -msgstr "覆寫 DNS 劫持" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:432 -msgid "Overwrite Destination" -msgstr "將嗅探結果作為連線目標" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:266 -msgid "Overwrite Fake-IP Filter" -msgstr "覆寫 Fake-IP 過濾清單" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:396 -msgid "Overwrite Force Sniff Domain Name" -msgstr "覆寫強制嗅探的網域名稱" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:315 -msgid "Overwrite Hosts" -msgstr "覆寫 Hosts" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:403 -msgid "Overwrite Ignore Sniff Domain Name" -msgstr "覆寫忽略嗅探的網域名稱" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:334 -msgid "Overwrite Nameserver" -msgstr "覆寫 DNS 伺服器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:357 -msgid "Overwrite Nameserver Policy" -msgstr "覆寫 DNS 伺服器查詢策略" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:410 -msgid "Overwrite Sniff By Protocol" -msgstr "覆寫按協定嗅探" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:179 -msgid "Password" -msgstr "密碼" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:590 -msgid "Please go to the editor tab to edit the file for mixin" -msgstr "請前往編輯器標籤編輯用於混入的檔案" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:429 -msgid "Port" -msgstr "埠" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:81 -msgid "Prefer" -msgstr "優先" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:531 -msgid "Process Name" -msgstr "程序名稱" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:18 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:21 -msgid "Profile" -msgstr "設定檔" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:49 -msgid "Profile for Startup" -msgstr "用於啟動的設定檔" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:423 -msgid "Protocol" -msgstr "協定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:102 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:168 -msgid "Proxy" -msgstr "代理" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:29 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:31 -#: applications/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json:37 -msgid "Proxy Config" -msgstr "代理設定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:45 -msgid "Proxy Provider:" -msgstr "代理提供者:" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:135 -msgid "RLIMIT Config" -msgstr "RLIMIT 設定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:98 -msgid "Random" -msgstr "隨機" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:39 -msgid "Redirect Mode" -msgstr "Redirect 模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:154 -msgid "Redirect Port" -msgstr "Redirect 埠" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:69 -msgid "Reload Service" -msgstr "重新載入服務" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:84 -msgid "Remote" -msgstr "遠端" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:196 -msgid "Reserved IP" -msgstr "IPv4 保留位址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:199 -msgid "Reserved IP6" -msgstr "IPv6 保留位址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:285 -msgid "Respect Rules" -msgstr "遵循分流規則" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:76 -msgid "Restart Service" -msgstr "重新啟動服務" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:64 -msgid "Router Proxy" -msgstr "路由器代理" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:435 -msgid "Rule Config" -msgstr "規則設定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:43 -msgid "Rule Mode" -msgstr "規則模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:41 -msgid "Rule Provider:" -msgstr "規則提供者:" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:523 -msgid "Rule Set" -msgstr "規則集" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:15 -msgid "Running" -msgstr "執行中" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:146 -msgid "SOCKS Port" -msgstr "SOCKS 埠" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:169 -msgid "Safe Paths" -msgstr "安全路徑" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:128 -msgid "Save Proxy Selection" -msgstr "儲存節點/策略群組選擇" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:114 -msgid "Scheduled Restart" -msgstr "定時重新啟動" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:54 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js:87 -msgid "Scroll To Bottom" -msgstr "捲動到底部" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:186 -msgid "Skip System IPv6 Check" -msgstr "跳過系統 IPv6 檢查" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:413 -msgid "Sniff By Protocol" -msgstr "按協定嗅探" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:390 -msgid "Sniff Pure IP" -msgstr "嗅探純 IP 連線" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:384 -msgid "Sniff Redir-Host" -msgstr "嗅探 Redir-Host 流量" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:376 -msgid "Sniffer Config" -msgstr "嗅探器設定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:194 -msgid "Stack" -msgstr "堆疊" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:157 -msgid "Stack Size Hard Limit" -msgstr "堆疊大小硬限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:153 -msgid "Stack Size Soft Limit" -msgstr "堆疊大小軟限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:563 -msgid "Standard Loader" -msgstr "標準載入器" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:110 -msgid "Start Delay" -msgstr "啟動延遲" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:112 -msgid "Start Immidiately" -msgstr "立即啟動" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:40 -msgid "Status" -msgstr "狀態" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:28 -msgid "Subscription" -msgstr "訂閱" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:66 -msgid "Subscription Info Url" -msgstr "訂閱信息連結" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:34 -msgid "Subscription Name" -msgstr "訂閱名稱" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:69 -msgid "Subscription Url" -msgstr "訂閱連結" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:107 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js:37 -msgid "Subscription:" -msgstr "訂閱:" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:76 -msgid "TCP Concurrent" -msgstr "TCP 並發" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:88 -msgid "TCP Keep Alive Idle" -msgstr "TCP Keep Alive 閒置" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:92 -msgid "TCP Keep Alive Interval" -msgstr "TCP Keep Alive 間隔" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:36 -msgid "TCP Mode" -msgstr "TCP 模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:40 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:46 -msgid "TPROXY Mode" -msgstr "TPROXY 模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:158 -msgid "TPROXY Port" -msgstr "TPROXY 埠" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:183 -msgid "TUN Config" -msgstr "TUN 設定" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:206 -msgid "TUN Interval" -msgstr "TUN 等待間隔" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:41 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:47 -msgid "TUN Mode" -msgstr "TUN 模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:202 -msgid "TUN Timeout" -msgstr "TUN 等待超時" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:122 -msgid "Test Profile" -msgstr "檢查設定檔" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:42 -msgid "Total" -msgstr "總計" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:38 -msgid "Transparent Proxy with Mihomo on OpenWrt." -msgstr "在 OpenWrt 上使用 Mihomo 進行透明代理." - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:348 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:457 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:521 -msgid "Type" -msgstr "類型" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:43 -msgid "UDP Mode" -msgstr "UDP 模式" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:109 -msgid "UI Name" -msgstr "UI 名稱" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:106 -msgid "UI Path" -msgstr "UI 路徑" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:112 -msgid "UI Url" -msgstr "UI 下載網址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:70 -msgid "Unify Delay" -msgstr "統一延遲" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:139 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:143 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:147 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:151 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:155 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:159 -msgid "Unlimited" -msgstr "無限制" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:32 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:41 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:48 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:55 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:66 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:72 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:78 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:84 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:90 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:94 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:97 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:107 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:110 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:113 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:122 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:126 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:130 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:138 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:144 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:148 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:152 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:156 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:160 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:187 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:192 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:196 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:203 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:207 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:213 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:228 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:234 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:240 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:244 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:250 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:256 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:260 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:264 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:275 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:281 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:287 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:293 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:299 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:305 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:311 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:380 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:386 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:392 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:556 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:562 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:567 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:570 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:573 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:576 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:580 -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:586 -msgid "Unmodified" -msgstr "不修改" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:60 -msgid "Update" -msgstr "更新" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:52 -msgid "Update At" -msgstr "更新時間" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:83 -msgid "Update Dashboard" -msgstr "更新儀表板" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:500 -msgid "Update Interval" -msgstr "更新間隔" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:20 -msgid "Upload Profile" -msgstr "上傳設定檔" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:463 -msgid "Url" -msgstr "下載網址" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:309 -msgid "Use Hosts" -msgstr "使用 Hosts" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:303 -msgid "Use System Hosts" -msgstr "使用系統的 Hosts" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:37 -msgid "Used" -msgstr "已使用" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js:81 -msgid "User" -msgstr "使用者" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js:73 -msgid "User Agent" -msgstr "使用者代理(UA)" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:176 -msgid "Username" -msgstr "使用者名稱" - -#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js:128 -msgid "procd Config" -msgstr "procd 設定" diff --git a/luci-app-nikki/root/usr/share/rpcd/acl.d/luci-app-nikki.json b/luci-app-nikki/root/usr/share/rpcd/acl.d/luci-app-nikki.json deleted file mode 100644 index f551c22c90..0000000000 --- a/luci-app-nikki/root/usr/share/rpcd/acl.d/luci-app-nikki.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "luci-app-nikki": { - "description": "Grant access to nikki procedures", - "read": { - "uci": [ "nikki" ], - "ubus": { - "rc": [ "*" ], - "luci.nikki": [ "*" ] - }, - "file": { - "/etc/nikki/profiles/*.yaml": ["read"], - "/etc/nikki/profiles/*.yml": ["read"], - "/etc/nikki/subscriptions/*.yaml": ["read"], - "/etc/nikki/subscriptions/*.yml": ["read"], - "/etc/nikki/mixin.yaml": ["read"], - "/etc/nikki/run/config.yaml": ["read"], - "/etc/nikki/run/providers/rule/*": ["read"], - "/etc/nikki/run/providers/proxy/*": ["read"], - "/var/log/nikki/*.log": ["read"] - } - }, - "write": { - "uci": [ "nikki" ], - "file": { - "/etc/nikki/profiles/*.yaml": ["write"], - "/etc/nikki/profiles/*.yml": ["write"], - "/etc/nikki/subscriptions/*.yaml": ["write"], - "/etc/nikki/subscriptions/*.yml": ["write"], - "/etc/nikki/mixin.yaml": ["write"], - "/etc/nikki/run/config.yaml": ["write"], - "/etc/nikki/run/providers/rule/*": ["write"], - "/etc/nikki/run/providers/proxy/*": ["write"], - "/var/log/nikki/*.log": ["write"] - } - } - } -} \ No newline at end of file diff --git a/luci-app-nikki/Makefile b/luci-app-nikkix/Makefile similarity index 66% rename from luci-app-nikki/Makefile rename to luci-app-nikkix/Makefile index a37d4e8cd9..dbf1c985a4 100644 --- a/luci-app-nikki/Makefile +++ b/luci-app-nikkix/Makefile @@ -2,8 +2,8 @@ include $(TOPDIR)/rules.mk PKG_VERSION:=1.26.0 -LUCI_TITLE:=LuCI Support for nikki -LUCI_DEPENDS:=+luci-base +nikki +LUCI_TITLE:=LuCI Support for nikkix +LUCI_DEPENDS:=+luci-base +nikkix include $(TOPDIR)/feeds/luci/luci.mk diff --git a/luci-app-nikki/htdocs/luci-static/resources/tools/nikki.js b/luci-app-nikkix/htdocs/luci-static/resources/tools/nikkix.js similarity index 78% rename from luci-app-nikki/htdocs/luci-static/resources/tools/nikki.js rename to luci-app-nikkix/htdocs/luci-static/resources/tools/nikkix.js index 926ce2eaf5..a750f86e85 100644 --- a/luci-app-nikki/htdocs/luci-static/resources/tools/nikki.js +++ b/luci-app-nikkix/htdocs/luci-static/resources/tools/nikkix.js @@ -19,46 +19,46 @@ const callRCInit = rpc.declare({ expect: { '': {} } }); -const callNikkiVersion = rpc.declare({ - object: 'luci.nikki', +const callNikkixVersion = rpc.declare({ + object: 'luci.nikkix', method: 'version', expect: { '': {} } }); -const callNikkiProfile = rpc.declare({ - object: 'luci.nikki', +const callNikkixProfile = rpc.declare({ + object: 'luci.nikkix', method: 'profile', params: [ 'defaults' ], expect: { '': {} } }); -const callNikkiUpdateSubscription = rpc.declare({ - object: 'luci.nikki', +const callNikkixUpdateSubscription = rpc.declare({ + object: 'luci.nikkix', method: 'update_subscription', params: ['section_id'], expect: { '': {} } }); -const callNikkiAPI = rpc.declare({ - object: 'luci.nikki', +const callNikkixAPI = rpc.declare({ + object: 'luci.nikkix', method: 'api', params: ['method', 'path', 'query', 'body'], expect: { '': {} } }); -const callNikkiGetIdentifiers = rpc.declare({ - object: 'luci.nikki', +const callNikkixGetIdentifiers = rpc.declare({ + object: 'luci.nikkix', method: 'get_identifiers', expect: { '': {} } }); -const callNikkiDebug = rpc.declare({ - object: 'luci.nikki', +const callNikkixDebug = rpc.declare({ + object: 'luci.nikkix', method: 'debug', expect: { '': {} } }); -const homeDir = '/etc/nikki'; +const homeDir = '/etc/nikkix'; const profilesDir = `${homeDir}/profiles`; const subscriptionsDir = `${homeDir}/subscriptions`; const mixinFilePath = `${homeDir}/mixin.yaml`; @@ -67,7 +67,7 @@ const runProfilePath = `${runDir}/config.yaml`; const providersDir = `${runDir}/providers`; const ruleProvidersDir = `${providersDir}/rule`; const proxyProvidersDir = `${providersDir}/proxy`; -const logDir = `/var/log/nikki`; +const logDir = `/var/log/nikkix`; const appLogPath = `${logDir}/app.log`; const coreLogPath = `${logDir}/core.log`; const debugLogPath = `${logDir}/debug.log`; @@ -87,35 +87,35 @@ return baseclass.extend({ debugLogPath: debugLogPath, status: async function () { - return (await callRCList('nikki'))?.nikki?.running; + return (await callRCList('nikkix'))?.nikkix?.running; }, reload: function () { - return callRCInit('nikki', 'reload'); + return callRCInit('nikkix', 'reload'); }, restart: function () { - return callRCInit('nikki', 'restart'); + return callRCInit('nikkix', 'restart'); }, version: function () { - return callNikkiVersion(); + return callNikkixVersion(); }, profile: function (defaults) { - return callNikkiProfile(defaults); + return callNikkixProfile(defaults); }, updateSubscription: function (section_id) { - return callNikkiUpdateSubscription(section_id); + return callNikkixUpdateSubscription(section_id); }, updateDashboard: function () { - return callNikkiAPI('POST', '/upgrade/ui'); + return callNikkixAPI('POST', '/upgrade/ui'); }, openDashboard: async function () { - const profile = await callNikkiProfile({ 'external-ui-name': null, 'external-controller': null, 'secret': null }); + const profile = await callNikkixProfile({ 'external-ui-name': null, 'external-controller': null, 'secret': null }); const uiName = profile['external-ui-name']; const apiListen = profile['external-controller']; const apiSecret = profile['secret'] ?? ''; @@ -141,7 +141,7 @@ return baseclass.extend({ }, getIdentifiers: function () { - return callNikkiGetIdentifiers(); + return callNikkixGetIdentifiers(); }, listProfiles: function () { @@ -173,6 +173,6 @@ return baseclass.extend({ }, debug: function () { - return callNikkiDebug(); + return callNikkixDebug(); }, }) diff --git a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js similarity index 90% rename from luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js rename to luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js index d54b26cd8f..5436148a98 100644 --- a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/app.js +++ b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js @@ -3,7 +3,7 @@ 'require view'; 'require uci'; 'require poll'; -'require tools.nikki as nikki'; +'require tools.nikkix as nikkix'; function renderStatus(running) { return updateStatus(E('input', { id: 'core_status', style: 'border: unset; font-style: italic; font-weight: bold;', readonly: '' }), running); @@ -20,14 +20,14 @@ function updateStatus(element, running) { return view.extend({ load: function () { return Promise.all([ - uci.load('nikki'), - nikki.version(), - nikki.status(), - nikki.listProfiles() + uci.load('nikkix'), + nikkix.version(), + nikkix.status(), + nikkix.listProfiles() ]); }, render: function (data) { - const subscriptions = uci.sections('nikki', 'subscription'); + const subscriptions = uci.sections('nikkix', 'subscription'); const appVersion = data[1].app ?? ''; const coreVersion = data[1].core ?? ''; const running = data[2]; @@ -35,7 +35,7 @@ return view.extend({ let m, s, o; - m = new form.Map('nikki', _('Nikki'), `${_('Transparent Proxy with Mihomo on OpenWrt.')} ${_('How To Use')}`); + m = new form.Map('nikkix', _('Nikkix'), `${_('Transparent Proxy with Mihomo on OpenWrt.')} ${_('How To Use')}`); s = m.section(form.TableSection, 'status', _('Status')); s.anonymous = true; @@ -59,7 +59,7 @@ return view.extend({ return renderStatus(running); }; poll.add(function () { - return L.resolveDefault(nikki.status()).then(function (running) { + return L.resolveDefault(nikkix.status()).then(function (running) { updateStatus(document.getElementById('core_status'), running); }); }); @@ -68,27 +68,27 @@ return view.extend({ o.inputstyle = 'action'; o.inputtitle = _('Reload Service'); o.onclick = function () { - return nikki.reload(); + return nikkix.reload(); }; o = s.option(form.Button, 'restart'); o.inputstyle = 'negative'; o.inputtitle = _('Restart Service'); o.onclick = function () { - return nikki.restart(); + return nikkix.restart(); }; o = s.option(form.Button, 'update_dashboard'); o.inputstyle = 'positive'; o.inputtitle = _('Update Dashboard'); o.onclick = function () { - return nikki.updateDashboard(); + return nikkix.updateDashboard(); }; o = s.option(form.Button, 'open_dashboard'); o.inputtitle = _('Open Dashboard'); o.onclick = function () { - return nikki.openDashboard(); + return nikkix.openDashboard(); }; s = m.section(form.NamedSection, 'config', 'config', _('App Config')); diff --git a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js similarity index 65% rename from luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js rename to luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js index 80feb8530b..6864f911bb 100644 --- a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/editor.js +++ b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js @@ -3,26 +3,26 @@ 'require view'; 'require uci'; 'require fs'; -'require tools.nikki as nikki'; +'require tools.nikkix as nikkix'; return view.extend({ load: function () { return Promise.all([ - uci.load('nikki'), - nikki.listProfiles(), - nikki.listRuleProviders(), - nikki.listProxyProviders(), + uci.load('nikkix'), + nikkix.listProfiles(), + nikkix.listRuleProviders(), + nikkix.listProxyProviders(), ]); }, render: function (data) { - const subscriptions = uci.sections('nikki', 'subscription'); + const subscriptions = uci.sections('nikkix', 'subscription'); const profiles = data[1]; const ruleProviders = data[2]; const proxyProviders = data[3]; let m, s, o; - m = new form.Map('nikki'); + m = new form.Map('nikkix'); s = m.section(form.NamedSection, 'editor', 'editor', _('Editor')); @@ -30,23 +30,23 @@ return view.extend({ o.optional = true; for (const profile of profiles) { - o.value(nikki.profilesDir + '/' + profile.name, _('File:') + profile.name); + o.value(nikkix.profilesDir + '/' + profile.name, _('File:') + profile.name); }; for (const subscription of subscriptions) { - o.value(nikki.subscriptionsDir + '/' + subscription['.name'] + '.yaml', _('Subscription:') + subscription.name); + o.value(nikkix.subscriptionsDir + '/' + subscription['.name'] + '.yaml', _('Subscription:') + subscription.name); }; for (const ruleProvider of ruleProviders) { - o.value(nikki.ruleProvidersDir + '/' + ruleProvider.name, _('Rule Provider:') + ruleProvider.name); + o.value(nikkix.ruleProvidersDir + '/' + ruleProvider.name, _('Rule Provider:') + ruleProvider.name); }; for (const proxyProvider of proxyProviders) { - o.value(nikki.proxyProvidersDir + '/' + proxyProvider.name, _('Proxy Provider:') + proxyProvider.name); + o.value(nikkix.proxyProvidersDir + '/' + proxyProvider.name, _('Proxy Provider:') + proxyProvider.name); }; - o.value(nikki.mixinFilePath, _('File for Mixin')); - o.value(nikki.runProfilePath, _('Profile for Startup')); + o.value(nikkix.mixinFilePath, _('File for Mixin')); + o.value(nikkix.runProfilePath, _('Profile for Startup')); o.write = function (section_id, formvalue) { return true; @@ -73,7 +73,7 @@ return view.extend({ }, handleSaveApply: function (ev, mode) { return this.handleSave(ev).finally(function () { - return mode === '0' ? nikki.reload() : nikki.restart(); + return mode === '0' ? nikkix.reload() : nikkix.restart(); }); }, handleReset: null diff --git a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js similarity index 87% rename from luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js rename to luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js index 7705a5e618..02bd2e0824 100644 --- a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/log.js +++ b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js @@ -4,14 +4,14 @@ 'require uci'; 'require fs'; 'require poll'; -'require tools.nikki as nikki'; +'require tools.nikkix as nikkix'; return view.extend({ load: function () { return Promise.all([ - uci.load('nikki'), - nikki.getAppLog(), - nikki.getCoreLog() + uci.load('nikkix'), + nikkix.getAppLog(), + nikkix.getCoreLog() ]); }, render: function (data) { @@ -20,7 +20,7 @@ return view.extend({ let m, s, o; - m = new form.Map('nikki'); + m = new form.Map('nikkix'); s = m.section(form.NamedSection, 'log', 'log', _('Log')); @@ -31,7 +31,7 @@ return view.extend({ o.inputtitle = _('Clear Log'); o.onclick = function (_, section_id) { m.lookupOption('_app_log', section_id)[0].getUIElement(section_id).setValue(''); - return nikki.clearAppLog(); + return nikkix.clearAppLog(); }; o = s.taboption('app_log', form.TextValue, '_app_log'); @@ -45,7 +45,7 @@ return view.extend({ }; poll.add(L.bind(function () { const option = this; - return L.resolveDefault(nikki.getAppLog()).then(function (log) { + return L.resolveDefault(nikkix.getAppLog()).then(function (log) { option.getUIElement('log').setValue(log); }); }, o)); @@ -64,7 +64,7 @@ return view.extend({ o.inputtitle = _('Clear Log'); o.onclick = function (_, section_id) { m.lookupOption('_core_log', section_id)[0].getUIElement(section_id).setValue(''); - return nikki.clearCoreLog(); + return nikkix.clearCoreLog(); }; o = s.taboption('core_log', form.TextValue, '_core_log'); @@ -78,7 +78,7 @@ return view.extend({ }; poll.add(L.bind(function () { const option = this; - return L.resolveDefault(nikki.getCoreLog()).then(function (log) { + return L.resolveDefault(nikkix.getCoreLog()).then(function (log) { option.getUIElement('log').setValue(log); }); }, o)); @@ -96,8 +96,8 @@ return view.extend({ o.inputstyle = 'negative'; o.inputtitle = _('Generate & Download'); o.onclick = function () { - return nikki.debug().then(function () { - fs.read_direct(nikki.debugLogPath, 'blob').then(function (data) { + return nikkix.debug().then(function () { + fs.read_direct(nikkix.debugLogPath, 'blob').then(function (data) { // create url const url = window.URL.createObjectURL(data, { type: 'text/markdown' }); // create link @@ -121,4 +121,4 @@ return view.extend({ handleSaveApply: null, handleSave: null, handleReset: null -}); \ No newline at end of file +}); diff --git a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js similarity index 99% rename from luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js rename to luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js index de8180430e..07f81ac389 100644 --- a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js +++ b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js @@ -6,12 +6,12 @@ 'require network'; 'require poll'; 'require tools.widgets as widgets'; -'require tools.nikki as nikki'; +'require tools.nikkix as nikkix'; return view.extend({ load: function () { return Promise.all([ - uci.load('nikki'), + uci.load('nikkix'), network.getNetworks(), ]); @@ -21,7 +21,7 @@ return view.extend({ let m, s, o, so; - m = new form.Map('nikki'); + m = new form.Map('nikkix'); s = m.section(form.NamedSection, 'mixin', 'mixin', _('Mixin Option')); @@ -481,7 +481,7 @@ return view.extend({ so = o.subsection.option(form.FileUpload, 'file_path', _('File Path')); so.modalonly = true; so.rmempty = false; - so.root_directory = nikki.ruleProvidersDir; + so.root_directory = nikkix.ruleProvidersDir; so.depends('type', 'file'); so = o.subsection.option(form.ListValue, 'file_format', _('File Format')); @@ -592,4 +592,4 @@ return view.extend({ return m.render(); } -}); \ No newline at end of file +}); diff --git a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js similarity index 91% rename from luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js rename to luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js index 90a0721a07..24184cc345 100644 --- a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/profile.js +++ b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js @@ -2,25 +2,25 @@ 'require form'; 'require view'; 'require uci'; -'require tools.nikki as nikki'; +'require tools.nikkix as nikkix'; return view.extend({ load: function () { return Promise.all([ - uci.load('nikki') + uci.load('nikkix') ]); }, render: function (data) { let m, s, o, so; - m = new form.Map('nikki'); + m = new form.Map('nikkix'); s = m.section(form.NamedSection, 'config', 'config', _('Profile')); o = s.option(form.FileUpload, '_upload_profile', _('Upload Profile')); o.browser = true; o.enable_download = true; - o.root_directory = nikki.profilesDir; + o.root_directory = nikkix.profilesDir; o.write = function (section_id, formvalue) { return true; }; @@ -60,7 +60,7 @@ return view.extend({ o.inputtitle = _('Update'); o.modalonly = false; o.onclick = function (_, section_id) { - return nikki.updateSubscription(section_id); + return nikkix.updateSubscription(section_id); }; o = s.option(form.Value, 'info_url', _('Subscription Info Url')); diff --git a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js similarity index 97% rename from luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js rename to luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js index 4e1bc5517a..701d1fb30f 100644 --- a/luci-app-nikki/htdocs/luci-static/resources/view/nikki/proxy.js +++ b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js @@ -4,15 +4,15 @@ 'require uci'; 'require network'; 'require tools.widgets as widgets'; -'require tools.nikki as nikki'; +'require tools.nikkix as nikkix'; return view.extend({ load: function () { return Promise.all([ - uci.load('nikki'), + uci.load('nikkix'), network.getHostHints(), network.getNetworks(), - nikki.getIdentifiers(), + nikkix.getIdentifiers(), ]); }, render: function (data) { @@ -24,7 +24,7 @@ return view.extend({ let m, s, o, so; - m = new form.Map('nikki'); + m = new form.Map('nikkix'); s = m.section(form.NamedSection, 'proxy', 'proxy', _('Proxy Config')); diff --git a/luci-app-nikkix/po/ru/nikkix.po b/luci-app-nikkix/po/ru/nikkix.po new file mode 100644 index 0000000000..027d616c07 --- /dev/null +++ b/luci-app-nikkix/po/ru/nikkix.po @@ -0,0 +1,1062 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: PACKAGE VERSION\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:120 +msgid "API Listen" +msgstr "Прослушивание API" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:124 +msgid "API Secret" +msgstr "Секрет API" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:69 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:122 +msgid "Access Control" +msgstr "Контроль доступа" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:236 +msgid "Adaptive Replacement Cache (ARC)" +msgstr "Адаптивный кэш замены (ARC)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:141 +msgid "Address Space Size Hard Limit" +msgstr "Hard-лимит размера адресного пространства" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:137 +msgid "Address Space Size Soft Limit" +msgstr "Soft-лимит размера адресного пространства" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:181 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:186 +msgid "All Port" +msgstr "Все порты" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:136 +msgid "Allow Lan" +msgstr "Разрешить LAN" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:277 +msgid "Allow Mode" +msgstr "Режим разрешения" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:94 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:13 +msgid "App Config" +msgstr "Конфигурация приложения" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:27 +msgid "App Log" +msgstr "Журнал приложения" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:43 +msgid "App Version" +msgstr "Версия приложения" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:506 +msgid "Append Rule" +msgstr "Добавить правило" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:437 +msgid "Append Rule Provider" +msgstr "Добавить провайдера правил" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:493 +msgid "Behavior" +msgstr "Поведение" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:276 +msgid "Block Mode" +msgstr "Режим блокировки" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:171 +msgid "Bypass" +msgstr "Обход" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:183 +msgid "Bypass DSCP" +msgstr "Обход DSCP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:186 +msgid "Bypass FWMark" +msgstr "Обход FWMark" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:93 +msgid "CGroup" +msgstr "Контрольная группа" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:29 +msgid "Choose File" +msgstr "Выбрать файл" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:99 +msgid "Choose Profile" +msgstr "Выбрать профиль" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:31 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:64 +msgid "Clear Log" +msgstr "Очистить журнал" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:182 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:187 +msgid "Commonly Used Port" +msgstr "Обычно используемый порт" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:60 +msgid "Core Log" +msgstr "Журнал ядра" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:125 +msgid "Core Only" +msgstr "Только ядро" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:57 +msgid "Core Status" +msgstr "Статус ядра" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:50 +msgid "Core Version" +msgstr "Версия ядра" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:117 +msgid "Cron Expression" +msgstr "Выражение Cron" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:99 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:165 +msgid "DNS" +msgstr "DNS" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:232 +msgid "DNS Cache Algorithm" +msgstr "Алгоритм кэша DNS" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:224 +msgid "DNS Config" +msgstr "Конфигурация DNS" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:238 +msgid "DNS Listen" +msgstr "Прослушивание DNS" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:248 +msgid "DNS Mode" +msgstr "Режим DNS" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:93 +msgid "Debug Log" +msgstr "Журнал отладки" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:529 +msgid "Destination IP" +msgstr "IP назначения" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:533 +msgid "Destination IP Geo" +msgstr "IP назначения (Geo)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:530 +msgid "Destination Port" +msgstr "Порт назначения" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:179 +msgid "Destination TCP Port to Proxy" +msgstr "TCP-порт назначения для прокси" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:184 +msgid "Destination UDP Port to Proxy" +msgstr "UDP-порт назначения для прокси" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:191 +msgid "Device Name" +msgstr "Имя устройства" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:44 +msgid "Direct Mode" +msgstr "Direct режим" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:297 +msgid "Direct Nameserver Follow Policy" +msgstr "Direct Nameserver следует политике" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:67 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:73 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:79 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:85 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:131 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:139 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:188 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:208 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:229 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:245 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:282 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:288 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:294 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:300 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:306 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:312 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:381 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:387 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:393 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:581 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:38 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:45 +msgid "Disable" +msgstr "Отключить" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:183 +msgid "Disable ECN of quic-go" +msgstr "Отключить ECN для quic-go" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:180 +msgid "Disable GSO of quic-go" +msgstr "Отключить GSO для quic-go" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:177 +msgid "Disable Loopback Detector" +msgstr "Отключить детектор петель" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:82 +msgid "Disable TCP Keep Alive" +msgstr "Отключить TCP Keep Alive" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:291 +msgid "DoH Prefer HTTP/3" +msgstr "DoH предпочтение HTTP/3" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:329 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:524 +msgid "Domain Name" +msgstr "Доменное имя" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:532 +msgid "Domain Name Geo" +msgstr "Доменное имя (Geo)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:527 +msgid "Domain Name Keyword" +msgstr "Ключевое слово доменного имени" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:528 +msgid "Domain Name Regex" +msgstr "Регулярное выражение доменного имени" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:525 +msgid "Domain Name Suffix" +msgstr "Суффикс доменного имени" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:526 +msgid "Domain Name Wildcard" +msgstr "Wildcard доменного имени" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:165 +msgid "Edit Authentications" +msgstr "Редактировать аутентификацию" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:218 +msgid "Edit DNS Hijacks" +msgstr "Редактировать DNS-перехват" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:269 +msgid "Edit Fake-IP Filters" +msgstr "Редактировать фильтры Fake-IP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:318 +msgid "Edit Hosts" +msgstr "Редактировать Hosts" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:360 +msgid "Edit Nameserver Policies" +msgstr "Редактировать политики Nameserver" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:337 +msgid "Edit Nameservers" +msgstr "Редактировать Nameservers" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:440 +msgid "Edit Rule Providers" +msgstr "Редактировать провайдеров правил" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:509 +msgid "Edit Rules" +msgstr "Редактировать правила" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:32 +msgid "Edit Subscription" +msgstr "Редактировать подписку" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:27 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:45 +msgid "Editor" +msgstr "Редактор" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:96 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:68 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:74 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:80 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:86 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:132 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:140 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:173 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:185 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:189 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:209 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:226 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:230 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:246 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:283 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:289 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:295 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:301 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:307 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:313 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:326 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:345 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:368 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:378 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:382 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:388 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:394 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:420 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:448 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:517 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:582 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:590 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:33 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:66 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:77 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:107 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:130 +msgid "Enable" +msgstr "Включить" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:167 +msgid "Environment Variable Config" +msgstr "Конфигурация переменных окружения" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:47 +msgid "Expire At" +msgstr "Истекает в" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:104 +msgid "External Control Config" +msgstr "Конфигурация внешнего управления" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:279 +msgid "Fake-IP Cache" +msgstr "Кэш Fake-IP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:273 +msgid "Fake-IP Filter Mode" +msgstr "Режим фильтра Fake-IP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:61 +msgid "Fake-IP Ping Hijack" +msgstr "Перехват Fake-IP Ping" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:254 +msgid "Fake-IP Range" +msgstr "Диапазон Fake-IP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:262 +msgid "Fake-IP TTL" +msgstr "TTL Fake-IP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:258 +msgid "Fake-IP6 Range" +msgstr "Диапазон Fake-IP6" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:132 +msgid "Fast Reload" +msgstr "Быстрая перезагрузка" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:487 +msgid "File Format" +msgstr "Формат файла" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:481 +msgid "File Path" +msgstr "Путь к файлу" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:475 +msgid "File Size Limit" +msgstr "Лимит размера файла" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:48 +msgid "File for Mixin" +msgstr "Файл для Mixin" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:103 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:33 +msgid "File:" +msgstr "Файл:" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:399 +msgid "Force Sniff Domain Name" +msgstr "Принудительный sniff доменног имени" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:205 +msgid "GSO" +msgstr "GSO" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:211 +msgid "GSO Max Size" +msgstr "Максимальный размер GSO" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:130 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:28 +msgid "General Config" +msgstr "Общая конфигурация" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:97 +msgid "Generate & Download" +msgstr "Сгенерировать и скачать" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:560 +msgid "GeoData Loader" +msgstr "Загрузчик GeoData" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:554 +msgid "GeoIP Format" +msgstr "Формат GeoIP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:575 +msgid "GeoIP(ASN) Url" +msgstr "URL GeoIP(ASN)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:572 +msgid "GeoIP(DAT) Url" +msgstr "URL GeoIP(DAT)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:569 +msgid "GeoIP(MMDB) Url" +msgstr "URL GeoIP(MMDB)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:566 +msgid "GeoSite Url" +msgstr "URL GeoSite" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:578 +msgid "GeoX Auto Update" +msgstr "Автообновление GeoX" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:552 +msgid "GeoX Config" +msgstr "Конфигурация GeoX" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:584 +msgid "GeoX Update Interval" +msgstr "Интервал обновления GeoX" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:96 +msgid "Global Client Fingerprint" +msgstr "Глобальный отпечаток клиента" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:42 +msgid "Global Mode" +msgstr "Глобальный режим" + +#: applications/luci-app-nikkix/root/usr/share/rpcd/acl.d/luci-app-nikkix.json:3 +msgid "Grant access to nikkix procedures" +msgstr "Предоставить доступ к процедурам nikkix" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:87 +msgid "Group" +msgstr "Группа" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:142 +msgid "HTTP Port" +msgstr "HTTP-порт" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:149 +msgid "Heap Size Hard Limit" +msgstr "Hard лимит размера heap" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:145 +msgid "Heap Size Soft Limit" +msgstr "Soft лимит размера heap" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 +msgid "How To Use" +msgstr "Как использовать" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:49 +msgid "IPv4 DNS Hijack" +msgstr "Перехват IPv4 DNS" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:55 +msgid "IPv4 Proxy" +msgstr "IPv4-прокси" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:52 +msgid "IPv6 DNS Hijack" +msgstr "Перехват IPv6 DNS" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:58 +msgid "IPv6 Proxy" +msgstr "IPv6-прокси" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:406 +msgid "Ignore Sniff Domain Name" +msgstr "Игнорировать sniff доменного имени" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:134 +msgid "Inbound Config" +msgstr "Конфигурация входящих" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:110 +msgid "Inbound Interface" +msgstr "Входящий интерфейс" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:105 +msgid "LAN Proxy" +msgstr "LAN-прокси" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:235 +msgid "Least Recently Used (LRU)" +msgstr "Наименее недавно использованный (LRU)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:85 +msgid "Local" +msgstr "Локальный" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:25 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:53 +msgid "Log" +msgstr "Журнал" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:30 +msgid "Log Level" +msgstr "Уровень журнала" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:201 +msgid "MTU" +msgstr "MTU" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:46 +msgid "Match Process" +msgstr "Совпадение процесса" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:371 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:535 +msgid "Matcher" +msgstr "Мэтчер" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:564 +msgid "Memory Conservative Loader" +msgstr "Загрузчик с экономией памяти" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:194 +msgid "Misc" +msgstr "Разное" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:150 +msgid "Mixed Port" +msgstr "Смешанный порт" + +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:29 +msgid "Mixin Config" +msgstr "Конфигурация Mixin" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:588 +msgid "Mixin File Content" +msgstr "Содержимое файла Mixin" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:26 +msgid "Mixin Option" +msgstr "Опция Mixin" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:39 +msgid "Mode" +msgstr "Режим" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:454 +msgid "Name" +msgstr "Имя" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:355 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:374 +msgid "Nameserver" +msgstr "Nameserver" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:3 +msgid "Nikkix" +msgstr "Nikkix" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:546 +msgid "No Resolve" +msgstr "Не разрешать" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:468 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:539 +msgid "Node" +msgstr "Узел" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:15 +msgid "Not Running" +msgstr "Не запущено" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:164 +msgid "Number of Open Files Hard Limit" +msgstr "Hard лимит количества открытых файлов" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:161 +msgid "Number of Open Files Soft Limit" +msgstr "Soft лимит количества открытых файлов" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:89 +msgid "Open Dashboard" +msgstr "Открыть панель" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:53 +msgid "Outbound Interface" +msgstr "Исходящий интерфейс" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:162 +msgid "Overwrite Authentication" +msgstr "Перезаписать аутентификацию" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:215 +msgid "Overwrite DNS Hijack" +msgstr "Перезаписать DNS-перехват" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:432 +msgid "Overwrite Destination" +msgstr "Перезаписать назначение" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:266 +msgid "Overwrite Fake-IP Filter" +msgstr "Перезаписать фильтр Fake-IP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:396 +msgid "Overwrite Force Sniff Domain Name" +msgstr "Перезаписать Sniff доменного имени" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:315 +msgid "Overwrite Hosts" +msgstr "Перезаписать Hosts" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:403 +msgid "Overwrite Ignore Sniff Domain Name" +msgstr "Перезаписать игнорирование sniff доменного имени" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:334 +msgid "Overwrite Nameserver" +msgstr "Перезаписать Nameserver" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:357 +msgid "Overwrite Nameserver Policy" +msgstr "Перезаписать политику Nameserver" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:410 +msgid "Overwrite Sniff By Protocol" +msgstr "Перезаписать Sniff по протоколу" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:179 +msgid "Password" +msgstr "Пароль" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:590 +msgid "Please go to the editor tab to edit the file for mixin" +msgstr "Пожалуйста, перейдите на вкладку редактора для редактирования файла Mixin" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:429 +msgid "Port" +msgstr "Порт" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:81 +msgid "Prefer" +msgstr "Предпочитать" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:531 +msgid "Process Name" +msgstr "Имя процесса" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:18 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:21 +msgid "Profile" +msgstr "Профиль" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:49 +msgid "Profile for Startup" +msgstr "Профиль для запуска" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:423 +msgid "Protocol" +msgstr "Протокол" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:102 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:168 +msgid "Proxy" +msgstr "Прокси" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:29 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:31 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:37 +msgid "Proxy Config" +msgstr "Конфигурация прокси" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:45 +msgid "Proxy Provider:" +msgstr "Провайдер прокси:" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:135 +msgid "RLIMIT Config" +msgstr "Конфигурация RLIMIT" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:98 +msgid "Random" +msgstr "Случайный" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:39 +msgid "Redirect Mode" +msgstr "Режим перенаправления" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:154 +msgid "Redirect Port" +msgstr "Порт перенаправления" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:69 +msgid "Reload Service" +msgstr "Перезагрузить службу" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:84 +msgid "Remote" +msgstr "Удалённый" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:196 +msgid "Reserved IP" +msgstr "Зарезервированный IP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:199 +msgid "Reserved IP6" +msgstr "Зарезервированный IP6" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:285 +msgid "Respect Rules" +msgstr "Предпочитать правила" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:76 +msgid "Restart Service" +msgstr "Перезапустить службу" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:64 +msgid "Router Proxy" +msgstr "Прокси роутера" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:435 +msgid "Rule Config" +msgstr "Конфигурация правил" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:43 +msgid "Rule Mode" +msgstr "Режим правил" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:41 +msgid "Rule Provider:" +msgstr "Провайдер правил:" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:523 +msgid "Rule Set" +msgstr "Набор правил" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:15 +msgid "Running" +msgstr "Запущено" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:146 +msgid "SOCKS Port" +msgstr "SOCKS-порт" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:169 +msgid "Safe Paths" +msgstr "Безопасные пути" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:128 +msgid "Save Proxy Selection" +msgstr "Сохранить выбор прокси" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:114 +msgid "Scheduled Restart" +msgstr "Запланированный перезапуск" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:54 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:87 +msgid "Scroll To Bottom" +msgstr "Прокрутить вниз" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:186 +msgid "Skip System IPv6 Check" +msgstr "Пропустить проверку системного IPv6" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:413 +msgid "Sniff By Protocol" +msgstr "Sniff по протоколу" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:390 +msgid "Sniff Pure IP" +msgstr "Sniff чистого IP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:384 +msgid "Sniff Redir-Host" +msgstr "Sniff Redir-Host" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:376 +msgid "Sniffer Config" +msgstr "Конфигурация Sniffer" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:194 +msgid "Stack" +msgstr "Стек" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:157 +msgid "Stack Size Hard Limit" +msgstr "Hard лимит размера стека" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:153 +msgid "Stack Size Soft Limit" +msgstr "Soft лимит размера стека" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:563 +msgid "Standard Loader" +msgstr "Стандартный загрузчик" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:110 +msgid "Start Delay" +msgstr "Задержка запуска" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:112 +msgid "Start Immidiately" +msgstr "Запустить немедленно" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:40 +msgid "Status" +msgstr "Статус" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:28 +msgid "Subscription" +msgstr "Подписка" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:66 +msgid "Subscription Info Url" +msgstr "URL информации о подписке" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:34 +msgid "Subscription Name" +msgstr "Имя подписки" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:69 +msgid "Subscription Url" +msgstr "URL подписки" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:107 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:37 +msgid "Subscription:" +msgstr "Подписка:" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:76 +msgid "TCP Concurrent" +msgstr "TCP одновременный" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:88 +msgid "TCP Keep Alive Idle" +msgstr "TCP Keep Alive бездействие" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:92 +msgid "TCP Keep Alive Interval" +msgstr "Интервал TCP Keep Alive" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:36 +msgid "TCP Mode" +msgstr "Режим TCP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:40 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:46 +msgid "TPROXY Mode" +msgstr "Режим TPROXY" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:158 +msgid "TPROXY Port" +msgstr "Порт TPROXY" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:183 +msgid "TUN Config" +msgstr "Конфигурация TUN" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:206 +msgid "TUN Interval" +msgstr "Интервал TUN" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:41 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:47 +msgid "TUN Mode" +msgstr "Режим TUN" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:202 +msgid "TUN Timeout" +msgstr "Таймаут TUN" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:122 +msgid "Test Profile" +msgstr "Тест профиля" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:42 +msgid "Total" +msgstr "Всего" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 +msgid "Transparent Proxy with Mihomo on OpenWrt." +msgstr "Прозрачный прокси с Mihomo на OpenWrt." + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:348 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:457 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:521 +msgid "Type" +msgstr "Тип" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:43 +msgid "UDP Mode" +msgstr "Режим UDP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:109 +msgid "UI Name" +msgstr "Имя UI" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:106 +msgid "UI Path" +msgstr "Путь UI" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:112 +msgid "UI Url" +msgstr "URL UI" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:70 +msgid "Unify Delay" +msgstr "Унифицированная задержка" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:139 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:143 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:147 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:151 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:155 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:159 +msgid "Unlimited" +msgstr "Неограниченно" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:32 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:41 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:48 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:55 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:66 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:72 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:78 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:84 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:90 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:94 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:97 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:107 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:110 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:113 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:122 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:126 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:130 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:138 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:144 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:148 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:152 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:156 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:160 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:187 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:192 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:196 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:203 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:207 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:213 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:228 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:234 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:240 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:244 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:250 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:256 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:260 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:264 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:275 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:281 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:287 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:293 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:299 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:305 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:311 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:380 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:386 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:392 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:556 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:562 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:567 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:570 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:573 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:576 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:580 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:586 +msgid "Unmodified" +msgstr "Неизменённый" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:60 +msgid "Update" +msgstr "Обновить" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:52 +msgid "Update At" +msgstr "Обновлено в" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:83 +msgid "Update Dashboard" +msgstr "Обновить панель" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:500 +msgid "Update Interval" +msgstr "Интервал обновления" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:20 +msgid "Upload Profile" +msgstr "Загрузить профиль" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:463 +msgid "Url" +msgstr "URL" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:309 +msgid "Use Hosts" +msgstr "Использовать Hosts" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:303 +msgid "Use System Hosts" +msgstr "Использовать системные Hosts" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:37 +msgid "Used" +msgstr "Использовано" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:81 +msgid "User" +msgstr "Пользователь" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:73 +msgid "User Agent" +msgstr "User Agent" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:176 +msgid "Username" +msgstr "Имя пользователя" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:128 +msgid "procd Config" +msgstr "Конфигурация procd" diff --git a/luci-app-nikkix/po/templates/nikkix.pot b/luci-app-nikkix/po/templates/nikkix.pot new file mode 100644 index 0000000000..bbdea0b513 --- /dev/null +++ b/luci-app-nikkix/po/templates/nikkix.pot @@ -0,0 +1,1055 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:120 +msgid "API Listen" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:124 +msgid "API Secret" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:69 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:122 +msgid "Access Control" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:236 +msgid "Adaptive Replacement Cache (ARC)" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:141 +msgid "Address Space Size Hard Limit" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:137 +msgid "Address Space Size Soft Limit" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:181 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:186 +msgid "All Port" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:136 +msgid "Allow Lan" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:277 +msgid "Allow Mode" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:94 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:13 +msgid "App Config" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:27 +msgid "App Log" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:43 +msgid "App Version" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:506 +msgid "Append Rule" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:437 +msgid "Append Rule Provider" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:493 +msgid "Behavior" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:276 +msgid "Block Mode" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:171 +msgid "Bypass" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:183 +msgid "Bypass DSCP" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:186 +msgid "Bypass FWMark" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:93 +msgid "CGroup" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:29 +msgid "Choose File" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:99 +msgid "Choose Profile" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:31 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:64 +msgid "Clear Log" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:176 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:181 +msgid "Commonly Used Port" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:60 +msgid "Core Log" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:125 +msgid "Core Only" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:57 +msgid "Core Status" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:50 +msgid "Core Version" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:117 +msgid "Cron Expression" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:99 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:165 +msgid "DNS" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:232 +msgid "DNS Cache Algorithm" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:224 +msgid "DNS Config" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:238 +msgid "DNS Listen" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:248 +msgid "DNS Mode" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:93 +msgid "Debug Log" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:529 +msgid "Destination IP" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:533 +msgid "Destination IP Geo" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:530 +msgid "Destination Port" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:173 +msgid "Destination TCP Port to Proxy" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:178 +msgid "Destination UDP Port to Proxy" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:191 +msgid "Device Name" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:44 +msgid "Direct Mode" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:297 +msgid "Direct Nameserver Follow Policy" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:67 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:73 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:79 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:85 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:131 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:139 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:188 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:208 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:229 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:245 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:282 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:288 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:294 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:300 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:306 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:312 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:381 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:387 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:393 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:581 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:38 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:45 +msgid "Disable" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:183 +msgid "Disable ECN of quic-go" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:180 +msgid "Disable GSO of quic-go" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:177 +msgid "Disable Loopback Detector" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:82 +msgid "Disable TCP Keep Alive" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:291 +msgid "DoH Prefer HTTP/3" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:329 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:524 +msgid "Domain Name" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:532 +msgid "Domain Name Geo" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:527 +msgid "Domain Name Keyword" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:528 +msgid "Domain Name Regex" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:525 +msgid "Domain Name Suffix" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:526 +msgid "Domain Name Wildcard" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:165 +msgid "Edit Authentications" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:218 +msgid "Edit DNS Hijacks" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:269 +msgid "Edit Fake-IP Filters" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:318 +msgid "Edit Hosts" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:360 +msgid "Edit Nameserver Policies" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:337 +msgid "Edit Nameservers" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:440 +msgid "Edit Rule Providers" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:509 +msgid "Edit Rules" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:32 +msgid "Edit Subscription" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:27 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:45 +msgid "Editor" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:96 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:68 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:74 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:80 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:86 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:132 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:140 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:173 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:185 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:189 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:209 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:226 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:230 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:246 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:283 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:289 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:295 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:301 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:307 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:313 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:326 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:345 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:368 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:378 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:382 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:388 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:394 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:420 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:448 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:517 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:582 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:590 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:33 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:66 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:77 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:107 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:130 +msgid "Enable" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:167 +msgid "Environment Variable Config" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:47 +msgid "Expire At" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:104 +msgid "External Control Config" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:279 +msgid "Fake-IP Cache" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:273 +msgid "Fake-IP Filter Mode" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:61 +msgid "Fake-IP Ping Hijack" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:254 +msgid "Fake-IP Range" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:262 +msgid "Fake-IP TTL" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:258 +msgid "Fake-IP6 Range" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:132 +msgid "Fast Reload" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:487 +msgid "File Format" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:481 +msgid "File Path" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:475 +msgid "File Size Limit" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:48 +msgid "File for Mixin" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:103 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:33 +msgid "File:" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:399 +msgid "Force Sniff Domain Name" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:205 +msgid "GSO" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:211 +msgid "GSO Max Size" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:130 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:28 +msgid "General Config" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:97 +msgid "Generate & Download" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:560 +msgid "GeoData Loader" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:554 +msgid "GeoIP Format" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:575 +msgid "GeoIP(ASN) Url" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:572 +msgid "GeoIP(DAT) Url" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:569 +msgid "GeoIP(MMDB) Url" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:566 +msgid "GeoSite Url" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:578 +msgid "GeoX Auto Update" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:552 +msgid "GeoX Config" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:584 +msgid "GeoX Update Interval" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:96 +msgid "Global Client Fingerprint" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:42 +msgid "Global Mode" +msgstr "" + +#: applications/luci-app-nikkix/root/usr/share/rpcd/acl.d/luci-app-nikkix.json:3 +msgid "Grant access to nikkix procedures" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:87 +msgid "Group" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:142 +msgid "HTTP Port" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:149 +msgid "Heap Size Hard Limit" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:145 +msgid "Heap Size Soft Limit" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 +msgid "How To Use" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:49 +msgid "IPv4 DNS Hijack" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:55 +msgid "IPv4 Proxy" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:52 +msgid "IPv6 DNS Hijack" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:58 +msgid "IPv6 Proxy" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:406 +msgid "Ignore Sniff Domain Name" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:134 +msgid "Inbound Config" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:110 +msgid "Inbound Interface" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:105 +msgid "LAN Proxy" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:235 +msgid "Least Recently Used (LRU)" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:85 +msgid "Local" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:25 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:53 +msgid "Log" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:30 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:201 +msgid "MTU" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:46 +msgid "Match Process" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:371 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:535 +msgid "Matcher" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:564 +msgid "Memory Conservative Loader" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:194 +msgid "Misc" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:150 +msgid "Mixed Port" +msgstr "" + +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:29 +msgid "Mixin Config" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:588 +msgid "Mixin File Content" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:26 +msgid "Mixin Option" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:39 +msgid "Mode" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:454 +msgid "Name" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:355 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:374 +msgid "Nameserver" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:3 +msgid "Nikkix" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:546 +msgid "No Resolve" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:468 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:539 +msgid "Node" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:15 +msgid "Not Running" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:164 +msgid "Number of Open Files Hard Limit" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:161 +msgid "Number of Open Files Soft Limit" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:89 +msgid "Open Dashboard" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:53 +msgid "Outbound Interface" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:162 +msgid "Overwrite Authentication" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:215 +msgid "Overwrite DNS Hijack" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:432 +msgid "Overwrite Destination" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:266 +msgid "Overwrite Fake-IP Filter" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:396 +msgid "Overwrite Force Sniff Domain Name" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:315 +msgid "Overwrite Hosts" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:403 +msgid "Overwrite Ignore Sniff Domain Name" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:334 +msgid "Overwrite Nameserver" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:357 +msgid "Overwrite Nameserver Policy" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:410 +msgid "Overwrite Sniff By Protocol" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:179 +msgid "Password" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:590 +msgid "Please go to the editor tab to edit the file for mixin" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:429 +msgid "Port" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:81 +msgid "Prefer" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:531 +msgid "Process Name" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:18 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:21 +msgid "Profile" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:49 +msgid "Profile for Startup" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:423 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:102 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:168 +msgid "Proxy" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:29 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:31 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:37 +msgid "Proxy Config" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:45 +msgid "Proxy Provider:" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:135 +msgid "RLIMIT Config" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:98 +msgid "Random" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:39 +msgid "Redirect Mode" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:154 +msgid "Redirect Port" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:69 +msgid "Reload Service" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:84 +msgid "Remote" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:190 +msgid "Reserved IP" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:193 +msgid "Reserved IP6" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:285 +msgid "Respect Rules" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:76 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:64 +msgid "Router Proxy" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:435 +msgid "Rule Config" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:43 +msgid "Rule Mode" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:41 +msgid "Rule Provider:" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:523 +msgid "Rule Set" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:15 +msgid "Running" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:146 +msgid "SOCKS Port" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:169 +msgid "Safe Paths" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:128 +msgid "Save Proxy Selection" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:114 +msgid "Scheduled Restart" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:54 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:87 +msgid "Scroll To Bottom" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:186 +msgid "Skip System IPv6 Check" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:413 +msgid "Sniff By Protocol" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:390 +msgid "Sniff Pure IP" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:384 +msgid "Sniff Redir-Host" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:376 +msgid "Sniffer Config" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:194 +msgid "Stack" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:157 +msgid "Stack Size Hard Limit" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:153 +msgid "Stack Size Soft Limit" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:563 +msgid "Standard Loader" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:110 +msgid "Start Delay" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:112 +msgid "Start Immidiately" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:40 +msgid "Status" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:28 +msgid "Subscription" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:66 +msgid "Subscription Info Url" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:34 +msgid "Subscription Name" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:69 +msgid "Subscription Url" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:107 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:37 +msgid "Subscription:" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:76 +msgid "TCP Concurrent" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:88 +msgid "TCP Keep Alive Idle" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:92 +msgid "TCP Keep Alive Interval" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:36 +msgid "TCP Mode" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:40 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:46 +msgid "TPROXY Mode" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:158 +msgid "TPROXY Port" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:183 +msgid "TUN Config" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:206 +msgid "TUN Interval" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:41 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:47 +msgid "TUN Mode" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:196 +msgid "TUN Timeout" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:122 +msgid "Test Profile" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:42 +msgid "Total" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 +msgid "Transparent Proxy with Mihomo on OpenWrt." +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:348 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:457 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:521 +msgid "Type" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:43 +msgid "UDP Mode" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:109 +msgid "UI Name" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:106 +msgid "UI Path" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:112 +msgid "UI Url" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:70 +msgid "Unify Delay" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:139 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:143 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:147 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:151 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:155 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:159 +msgid "Unlimited" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:32 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:41 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:48 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:55 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:66 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:72 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:78 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:84 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:90 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:94 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:97 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:107 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:110 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:113 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:122 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:126 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:130 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:138 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:144 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:148 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:152 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:156 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:160 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:187 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:192 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:196 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:203 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:207 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:213 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:228 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:234 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:240 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:244 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:250 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:256 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:260 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:264 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:275 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:281 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:287 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:293 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:299 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:305 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:311 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:380 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:386 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:392 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:556 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:562 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:567 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:570 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:573 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:576 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:580 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:586 +msgid "Unmodified" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:60 +msgid "Update" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:52 +msgid "Update At" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:83 +msgid "Update Dashboard" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:500 +msgid "Update Interval" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:20 +msgid "Upload Profile" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:463 +msgid "Url" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:309 +msgid "Use Hosts" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:303 +msgid "Use System Hosts" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:37 +msgid "Used" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:81 +msgid "User" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:73 +msgid "User Agent" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:176 +msgid "Username" +msgstr "" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:128 +msgid "procd Config" +msgstr "" diff --git a/luci-app-nikkix/po/zh_Hans/nikkix.po b/luci-app-nikkix/po/zh_Hans/nikkix.po new file mode 100644 index 0000000000..c2c3300aff --- /dev/null +++ b/luci-app-nikkix/po/zh_Hans/nikkix.po @@ -0,0 +1,1062 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: PACKAGE VERSION\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:120 +msgid "API Listen" +msgstr "API 监听" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:124 +msgid "API Secret" +msgstr "API 密钥" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:69 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:122 +msgid "Access Control" +msgstr "访问控制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:236 +msgid "Adaptive Replacement Cache (ARC)" +msgstr "自适应替换缓存(ARC)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:141 +msgid "Address Space Size Hard Limit" +msgstr "地址空间大小硬限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:137 +msgid "Address Space Size Soft Limit" +msgstr "地址空间大小软限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:181 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:186 +msgid "All Port" +msgstr "全部端口" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:136 +msgid "Allow Lan" +msgstr "允许局域网访问" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:277 +msgid "Allow Mode" +msgstr "白名单模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:94 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:13 +msgid "App Config" +msgstr "插件配置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:27 +msgid "App Log" +msgstr "插件日志" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:43 +msgid "App Version" +msgstr "插件版本" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:506 +msgid "Append Rule" +msgstr "追加规则" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:437 +msgid "Append Rule Provider" +msgstr "追加规则提供者" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:493 +msgid "Behavior" +msgstr "行为" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:276 +msgid "Block Mode" +msgstr "黑名单模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:171 +msgid "Bypass" +msgstr "绕过" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:183 +msgid "Bypass DSCP" +msgstr "绕过 DSCP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:186 +msgid "Bypass FWMark" +msgstr "绕过 FWMark" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:93 +msgid "CGroup" +msgstr "控制组" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:29 +msgid "Choose File" +msgstr "选择文件" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:99 +msgid "Choose Profile" +msgstr "选择配置文件" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:31 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:64 +msgid "Clear Log" +msgstr "清空日志" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:182 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:187 +msgid "Commonly Used Port" +msgstr "常用端口" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:60 +msgid "Core Log" +msgstr "核心日志" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:125 +msgid "Core Only" +msgstr "仅核心" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:57 +msgid "Core Status" +msgstr "核心状态" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:50 +msgid "Core Version" +msgstr "核心版本" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:117 +msgid "Cron Expression" +msgstr "Cron 表达式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:99 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:165 +msgid "DNS" +msgstr "DNS" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:232 +msgid "DNS Cache Algorithm" +msgstr "DNS 缓存算法" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:224 +msgid "DNS Config" +msgstr "DNS 配置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:238 +msgid "DNS Listen" +msgstr "DNS 监听" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:248 +msgid "DNS Mode" +msgstr "DNS 模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:93 +msgid "Debug Log" +msgstr "调试日志" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:529 +msgid "Destination IP" +msgstr "目标 IP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:533 +msgid "Destination IP Geo" +msgstr "目标 IP(Geo)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:530 +msgid "Destination Port" +msgstr "目标端口" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:179 +msgid "Destination TCP Port to Proxy" +msgstr "要代理的 TCP 目标端口" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:184 +msgid "Destination UDP Port to Proxy" +msgstr "要代理的 UDP 目标端口" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:191 +msgid "Device Name" +msgstr "设备名称" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:44 +msgid "Direct Mode" +msgstr "直连模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:297 +msgid "Direct Nameserver Follow Policy" +msgstr "Direct Nameserver 跟随查询策略" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:67 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:73 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:79 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:85 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:131 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:139 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:188 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:208 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:229 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:245 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:282 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:288 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:294 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:300 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:306 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:312 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:381 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:387 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:393 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:581 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:38 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:45 +msgid "Disable" +msgstr "禁用" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:183 +msgid "Disable ECN of quic-go" +msgstr "禁用 quic-go 的显式拥塞通知" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:180 +msgid "Disable GSO of quic-go" +msgstr "禁用 quic-go 的通用分段卸载" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:177 +msgid "Disable Loopback Detector" +msgstr "禁用回环检测" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:82 +msgid "Disable TCP Keep Alive" +msgstr "禁用 TCP Keep Alive" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:291 +msgid "DoH Prefer HTTP/3" +msgstr "DoH 优先 HTTP/3" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:329 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:524 +msgid "Domain Name" +msgstr "域名" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:532 +msgid "Domain Name Geo" +msgstr "域名(Geo)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:527 +msgid "Domain Name Keyword" +msgstr "域名(关键字)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:528 +msgid "Domain Name Regex" +msgstr "域名(正则表达式)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:525 +msgid "Domain Name Suffix" +msgstr "域名(后缀)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:526 +msgid "Domain Name Wildcard" +msgstr "域名(通配符)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:165 +msgid "Edit Authentications" +msgstr "编辑身份验证" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:218 +msgid "Edit DNS Hijacks" +msgstr "编辑 DNS 劫持" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:269 +msgid "Edit Fake-IP Filters" +msgstr "编辑 Fake-IP 过滤列表" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:318 +msgid "Edit Hosts" +msgstr "编辑 Hosts" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:360 +msgid "Edit Nameserver Policies" +msgstr "编辑 DNS 服务器查询策略" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:337 +msgid "Edit Nameservers" +msgstr "编辑 DNS 服务器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:440 +msgid "Edit Rule Providers" +msgstr "编辑规则提供者" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:509 +msgid "Edit Rules" +msgstr "编辑规则" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:32 +msgid "Edit Subscription" +msgstr "编辑订阅" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:27 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:45 +msgid "Editor" +msgstr "编辑器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:96 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:68 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:74 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:80 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:86 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:132 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:140 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:173 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:185 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:189 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:209 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:226 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:230 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:246 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:283 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:289 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:295 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:301 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:307 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:313 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:326 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:345 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:368 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:378 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:382 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:388 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:394 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:420 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:448 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:517 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:582 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:590 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:33 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:66 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:77 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:107 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:130 +msgid "Enable" +msgstr "启用" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:167 +msgid "Environment Variable Config" +msgstr "环境变量配置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:47 +msgid "Expire At" +msgstr "到期时间" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:104 +msgid "External Control Config" +msgstr "外部控制配置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:279 +msgid "Fake-IP Cache" +msgstr "Fake-IP 缓存" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:273 +msgid "Fake-IP Filter Mode" +msgstr "Fake-IP 过滤模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:61 +msgid "Fake-IP Ping Hijack" +msgstr "Fake-IP Ping 劫持" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:254 +msgid "Fake-IP Range" +msgstr "Fake-IP 范围" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:262 +msgid "Fake-IP TTL" +msgstr "Fake-IP TTL" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:258 +msgid "Fake-IP6 Range" +msgstr "Fake-IP6 范围" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:132 +msgid "Fast Reload" +msgstr "快速重载" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:487 +msgid "File Format" +msgstr "文件格式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:481 +msgid "File Path" +msgstr "文件路径" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:475 +msgid "File Size Limit" +msgstr "文件大小限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:48 +msgid "File for Mixin" +msgstr "用于混入的文件" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:103 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:33 +msgid "File:" +msgstr "文件:" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:399 +msgid "Force Sniff Domain Name" +msgstr "强制嗅探的域名" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:205 +msgid "GSO" +msgstr "通用分段卸载" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:211 +msgid "GSO Max Size" +msgstr "分段最大长度" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:130 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:28 +msgid "General Config" +msgstr "全局配置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:97 +msgid "Generate & Download" +msgstr "生成并下载" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:560 +msgid "GeoData Loader" +msgstr "GeoData 加载器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:554 +msgid "GeoIP Format" +msgstr "GeoIP 格式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:575 +msgid "GeoIP(ASN) Url" +msgstr "GeoIP(ASN) 下载地址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:572 +msgid "GeoIP(DAT) Url" +msgstr "GeoIP(DAT) 下载地址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:569 +msgid "GeoIP(MMDB) Url" +msgstr "GeoIP(MMDB) 下载地址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:566 +msgid "GeoSite Url" +msgstr "GeoSite 下载地址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:578 +msgid "GeoX Auto Update" +msgstr "定时更新GeoX文件" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:552 +msgid "GeoX Config" +msgstr "GeoX 配置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:584 +msgid "GeoX Update Interval" +msgstr "GeoX 文件更新间隔" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:96 +msgid "Global Client Fingerprint" +msgstr "全局客户端指纹" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:42 +msgid "Global Mode" +msgstr "全局模式" + +#: applications/luci-app-nikkix/root/usr/share/rpcd/acl.d/luci-app-nikkix.json:3 +msgid "Grant access to nikkix procedures" +msgstr "授予访问 nikkix 程序的权限" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:87 +msgid "Group" +msgstr "用户组" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:142 +msgid "HTTP Port" +msgstr "HTTP 端口" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:149 +msgid "Heap Size Hard Limit" +msgstr "堆大小硬限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:145 +msgid "Heap Size Soft Limit" +msgstr "堆大小软限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 +msgid "How To Use" +msgstr "使用说明" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:49 +msgid "IPv4 DNS Hijack" +msgstr "IPv4 DNS 劫持" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:55 +msgid "IPv4 Proxy" +msgstr "IPv4 代理" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:52 +msgid "IPv6 DNS Hijack" +msgstr "IPv6 DNS 劫持" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:58 +msgid "IPv6 Proxy" +msgstr "IPv6 代理" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:406 +msgid "Ignore Sniff Domain Name" +msgstr "忽略嗅探的域名" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:134 +msgid "Inbound Config" +msgstr "入站配置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:110 +msgid "Inbound Interface" +msgstr "入站接口" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:105 +msgid "LAN Proxy" +msgstr "局域网代理" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:235 +msgid "Least Recently Used (LRU)" +msgstr "最近最少使用(LRU)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:85 +msgid "Local" +msgstr "本地" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:25 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:53 +msgid "Log" +msgstr "日志" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:30 +msgid "Log Level" +msgstr "日志级别" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:201 +msgid "MTU" +msgstr "最大传输单元" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:46 +msgid "Match Process" +msgstr "匹配进程" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:371 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:535 +msgid "Matcher" +msgstr "匹配" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:564 +msgid "Memory Conservative Loader" +msgstr "为内存受限设备优化的加载器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:194 +msgid "Misc" +msgstr "杂项" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:150 +msgid "Mixed Port" +msgstr "混合端口" + +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:29 +msgid "Mixin Config" +msgstr "混入配置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:588 +msgid "Mixin File Content" +msgstr "混入文件内容" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:26 +msgid "Mixin Option" +msgstr "混入选项" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:39 +msgid "Mode" +msgstr "模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:454 +msgid "Name" +msgstr "名称" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:355 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:374 +msgid "Nameserver" +msgstr "DNS 服务器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:3 +msgid "Nikkix" +msgstr "Nikkix" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:546 +msgid "No Resolve" +msgstr "不解析" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:468 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:539 +msgid "Node" +msgstr "节点" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:15 +msgid "Not Running" +msgstr "未在运行" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:164 +msgid "Number of Open Files Hard Limit" +msgstr "打开文件数量硬限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:161 +msgid "Number of Open Files Soft Limit" +msgstr "打开文件数量软限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:89 +msgid "Open Dashboard" +msgstr "打开面板" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:53 +msgid "Outbound Interface" +msgstr "出站接口" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:162 +msgid "Overwrite Authentication" +msgstr "覆盖身份验证" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:215 +msgid "Overwrite DNS Hijack" +msgstr "覆盖 DNS 劫持" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:432 +msgid "Overwrite Destination" +msgstr "将嗅探结果作为连接目标" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:266 +msgid "Overwrite Fake-IP Filter" +msgstr "覆盖 Fake-IP 过滤列表" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:396 +msgid "Overwrite Force Sniff Domain Name" +msgstr "覆盖强制嗅探的域名" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:315 +msgid "Overwrite Hosts" +msgstr "覆盖 Hosts" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:403 +msgid "Overwrite Ignore Sniff Domain Name" +msgstr "覆盖忽略嗅探的域名" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:334 +msgid "Overwrite Nameserver" +msgstr "覆盖 DNS 服务器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:357 +msgid "Overwrite Nameserver Policy" +msgstr "覆盖 DNS 服务器查询策略" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:410 +msgid "Overwrite Sniff By Protocol" +msgstr "覆盖按协议嗅探" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:179 +msgid "Password" +msgstr "密码" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:590 +msgid "Please go to the editor tab to edit the file for mixin" +msgstr "请前往编辑器标签编辑用于混入的文件" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:429 +msgid "Port" +msgstr "端口" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:81 +msgid "Prefer" +msgstr "优先" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:531 +msgid "Process Name" +msgstr "进程名" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:18 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:21 +msgid "Profile" +msgstr "配置文件" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:49 +msgid "Profile for Startup" +msgstr "用于启动的配置文件" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:423 +msgid "Protocol" +msgstr "协议" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:102 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:168 +msgid "Proxy" +msgstr "代理" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:29 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:31 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:37 +msgid "Proxy Config" +msgstr "代理配置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:45 +msgid "Proxy Provider:" +msgstr "代理提供者:" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:135 +msgid "RLIMIT Config" +msgstr "资源限制配置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:98 +msgid "Random" +msgstr "随机" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:39 +msgid "Redirect Mode" +msgstr "Redirect 模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:154 +msgid "Redirect Port" +msgstr "Redirect 端口" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:69 +msgid "Reload Service" +msgstr "重载服务" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:84 +msgid "Remote" +msgstr "远程" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:196 +msgid "Reserved IP" +msgstr "IPv4 保留地址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:199 +msgid "Reserved IP6" +msgstr "IPv6 保留地址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:285 +msgid "Respect Rules" +msgstr "遵循分流规则" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:76 +msgid "Restart Service" +msgstr "重启服务" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:64 +msgid "Router Proxy" +msgstr "路由器代理" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:435 +msgid "Rule Config" +msgstr "规则配置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:43 +msgid "Rule Mode" +msgstr "规则模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:41 +msgid "Rule Provider:" +msgstr "规则提供者:" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:523 +msgid "Rule Set" +msgstr "规则集" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:15 +msgid "Running" +msgstr "运行中" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:146 +msgid "SOCKS Port" +msgstr "SOCKS 端口" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:169 +msgid "Safe Paths" +msgstr "安全路径" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:128 +msgid "Save Proxy Selection" +msgstr "保存节点/策略组选择" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:114 +msgid "Scheduled Restart" +msgstr "定时重启" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:54 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:87 +msgid "Scroll To Bottom" +msgstr "滚动到底部" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:186 +msgid "Skip System IPv6 Check" +msgstr "跳过系统 IPv6 检查" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:413 +msgid "Sniff By Protocol" +msgstr "按协议嗅探" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:390 +msgid "Sniff Pure IP" +msgstr "嗅探纯 IP 连接" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:384 +msgid "Sniff Redir-Host" +msgstr "嗅探 Redir-Host 流量" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:376 +msgid "Sniffer Config" +msgstr "嗅探器配置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:194 +msgid "Stack" +msgstr "栈" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:157 +msgid "Stack Size Hard Limit" +msgstr "栈大小硬限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:153 +msgid "Stack Size Soft Limit" +msgstr "栈大小软限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:563 +msgid "Standard Loader" +msgstr "标准加载器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:110 +msgid "Start Delay" +msgstr "启动延迟" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:112 +msgid "Start Immidiately" +msgstr "立即启动" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:40 +msgid "Status" +msgstr "状态" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:28 +msgid "Subscription" +msgstr "订阅" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:66 +msgid "Subscription Info Url" +msgstr "订阅信息链接" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:34 +msgid "Subscription Name" +msgstr "订阅名称" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:69 +msgid "Subscription Url" +msgstr "订阅链接" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:107 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:37 +msgid "Subscription:" +msgstr "订阅:" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:76 +msgid "TCP Concurrent" +msgstr "TCP 并发" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:88 +msgid "TCP Keep Alive Idle" +msgstr "TCP Keep Alive 空闲" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:92 +msgid "TCP Keep Alive Interval" +msgstr "TCP Keep Alive 间隔" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:36 +msgid "TCP Mode" +msgstr "TCP 模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:40 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:46 +msgid "TPROXY Mode" +msgstr "TPROXY 模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:158 +msgid "TPROXY Port" +msgstr "TPROXY 端口" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:183 +msgid "TUN Config" +msgstr "TUN 配置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:206 +msgid "TUN Interval" +msgstr "TUN 等待间隔" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:41 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:47 +msgid "TUN Mode" +msgstr "TUN 模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:202 +msgid "TUN Timeout" +msgstr "TUN 等待超时" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:122 +msgid "Test Profile" +msgstr "检查配置文件" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:42 +msgid "Total" +msgstr "总量" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 +msgid "Transparent Proxy with Mihomo on OpenWrt." +msgstr "在 OpenWrt 上使用 Mihomo 进行透明代理。" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:348 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:457 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:521 +msgid "Type" +msgstr "类型" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:43 +msgid "UDP Mode" +msgstr "UDP 模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:109 +msgid "UI Name" +msgstr "UI 名称" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:106 +msgid "UI Path" +msgstr "UI 路径" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:112 +msgid "UI Url" +msgstr "UI 下载地址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:70 +msgid "Unify Delay" +msgstr "统一延迟" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:139 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:143 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:147 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:151 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:155 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:159 +msgid "Unlimited" +msgstr "无限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:32 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:41 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:48 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:55 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:66 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:72 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:78 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:84 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:90 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:94 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:97 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:107 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:110 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:113 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:122 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:126 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:130 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:138 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:144 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:148 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:152 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:156 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:160 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:187 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:192 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:196 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:203 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:207 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:213 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:228 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:234 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:240 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:244 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:250 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:256 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:260 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:264 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:275 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:281 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:287 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:293 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:299 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:305 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:311 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:380 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:386 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:392 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:556 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:562 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:567 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:570 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:573 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:576 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:580 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:586 +msgid "Unmodified" +msgstr "不修改" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:60 +msgid "Update" +msgstr "更新" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:52 +msgid "Update At" +msgstr "更新时间" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:83 +msgid "Update Dashboard" +msgstr "更新面板" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:500 +msgid "Update Interval" +msgstr "更新间隔" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:20 +msgid "Upload Profile" +msgstr "上传配置文件" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:463 +msgid "Url" +msgstr "下载地址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:309 +msgid "Use Hosts" +msgstr "使用 Hosts" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:303 +msgid "Use System Hosts" +msgstr "使用系统的 Hosts" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:37 +msgid "Used" +msgstr "已使用" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:81 +msgid "User" +msgstr "用户" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:73 +msgid "User Agent" +msgstr "用户代理(UA)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:176 +msgid "Username" +msgstr "用户名" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:128 +msgid "procd Config" +msgstr "procd 配置" diff --git a/luci-app-nikkix/po/zh_Hant/nikkix.po b/luci-app-nikkix/po/zh_Hant/nikkix.po new file mode 100644 index 0000000000..1d0b885736 --- /dev/null +++ b/luci-app-nikkix/po/zh_Hant/nikkix.po @@ -0,0 +1,1062 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: PACKAGE VERSION\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: zh_Hant\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:120 +msgid "API Listen" +msgstr "API 監聽" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:124 +msgid "API Secret" +msgstr "API 密鑰" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:69 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:122 +msgid "Access Control" +msgstr "存取控制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:236 +msgid "Adaptive Replacement Cache (ARC)" +msgstr "調適型替換快取(ARC)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:141 +msgid "Address Space Size Hard Limit" +msgstr "位址空間大小硬限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:137 +msgid "Address Space Size Soft Limit" +msgstr "位址空間大小軟限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:181 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:186 +msgid "All Port" +msgstr "所有埠" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:136 +msgid "Allow Lan" +msgstr "允許區域網路存取" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:277 +msgid "Allow Mode" +msgstr "白名單模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:94 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:13 +msgid "App Config" +msgstr "應用程式設定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:27 +msgid "App Log" +msgstr "應用程式日誌" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:43 +msgid "App Version" +msgstr "應用程式版本" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:506 +msgid "Append Rule" +msgstr "追加規則" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:437 +msgid "Append Rule Provider" +msgstr "追加規則提供者" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:493 +msgid "Behavior" +msgstr "行為" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:276 +msgid "Block Mode" +msgstr "黑名單模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:171 +msgid "Bypass" +msgstr "繞過" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:189 +msgid "Bypass DSCP" +msgstr "繞過 DSCP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:192 +msgid "Bypass FWMark" +msgstr "繞過 FWMark" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:93 +msgid "CGroup" +msgstr "控制群組" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:29 +msgid "Choose File" +msgstr "選擇檔案" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:99 +msgid "Choose Profile" +msgstr "選擇設定檔" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:31 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:64 +msgid "Clear Log" +msgstr "清空日誌" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:182 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:187 +msgid "Commonly Used Port" +msgstr "常用埠" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:60 +msgid "Core Log" +msgstr "核心日誌" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:125 +msgid "Core Only" +msgstr "僅核心" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:57 +msgid "Core Status" +msgstr "核心狀態" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:50 +msgid "Core Version" +msgstr "核心版本" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:117 +msgid "Cron Expression" +msgstr "Cron 表達式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:99 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:165 +msgid "DNS" +msgstr "DNS" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:232 +msgid "DNS Cache Algorithm" +msgstr "DNS 快取演算法" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:224 +msgid "DNS Config" +msgstr "DNS 設定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:238 +msgid "DNS Listen" +msgstr "DNS 監聽" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:248 +msgid "DNS Mode" +msgstr "DNS 模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:93 +msgid "Debug Log" +msgstr "除錯日誌" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:529 +msgid "Destination IP" +msgstr "目標 IP" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:533 +msgid "Destination IP Geo" +msgstr "目標 IP(地理位置)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:530 +msgid "Destination Port" +msgstr "目標埠" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:179 +msgid "Destination TCP Port to Proxy" +msgstr "要代理的 TCP 目標埠" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:184 +msgid "Destination UDP Port to Proxy" +msgstr "要代理的 UDP 目標埠" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:191 +msgid "Device Name" +msgstr "裝置名稱" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:44 +msgid "Direct Mode" +msgstr "直連模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:297 +msgid "Direct Nameserver Follow Policy" +msgstr "Direct Nameserver 跟隨查詢策略" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:67 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:73 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:79 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:85 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:131 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:139 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:188 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:208 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:229 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:245 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:282 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:288 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:294 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:300 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:306 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:312 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:381 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:387 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:393 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:581 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:38 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:45 +msgid "Disable" +msgstr "停用" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:183 +msgid "Disable ECN of quic-go" +msgstr "停用 quic-go 的顯式擁塞通知" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:180 +msgid "Disable GSO of quic-go" +msgstr "停用 quic-go 的通用分段卸載" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:177 +msgid "Disable Loopback Detector" +msgstr "停用迴路檢測" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:82 +msgid "Disable TCP Keep Alive" +msgstr "停用 TCP Keep Alive" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:291 +msgid "DoH Prefer HTTP/3" +msgstr "DoH 優先使用 HTTP/3" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:329 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:524 +msgid "Domain Name" +msgstr "網域名稱" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:532 +msgid "Domain Name Geo" +msgstr "網域名稱(地理位置)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:527 +msgid "Domain Name Keyword" +msgstr "網域名稱(關鍵字)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:528 +msgid "Domain Name Regex" +msgstr "網域名稱(正則表達式)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:525 +msgid "Domain Name Suffix" +msgstr "網域名稱(後綴)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:526 +msgid "Domain Name Wildcard" +msgstr "網域名稱(通配符)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:165 +msgid "Edit Authentications" +msgstr "編輯身分驗證" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:218 +msgid "Edit DNS Hijacks" +msgstr "編輯 DNS 劫持" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:269 +msgid "Edit Fake-IP Filters" +msgstr "編輯 Fake-IP 過濾清單" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:318 +msgid "Edit Hosts" +msgstr "編輯 Hosts" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:360 +msgid "Edit Nameserver Policies" +msgstr "編輯 DNS 伺服器查詢策略" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:337 +msgid "Edit Nameservers" +msgstr "編輯 DNS 伺服器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:440 +msgid "Edit Rule Providers" +msgstr "編輯規則提供者" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:509 +msgid "Edit Rules" +msgstr "編輯規則" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:32 +msgid "Edit Subscription" +msgstr "編輯訂閱" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:27 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:45 +msgid "Editor" +msgstr "編輯器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:96 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:68 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:74 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:80 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:86 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:132 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:140 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:173 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:185 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:189 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:209 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:226 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:230 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:246 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:283 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:289 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:295 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:301 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:307 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:313 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:326 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:345 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:368 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:378 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:382 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:388 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:394 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:420 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:448 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:517 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:582 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:590 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:33 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:66 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:77 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:107 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:130 +msgid "Enable" +msgstr "啟用" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:167 +msgid "Environment Variable Config" +msgstr "環境變數設定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:47 +msgid "Expire At" +msgstr "到期時間" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:104 +msgid "External Control Config" +msgstr "外部控制設定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:279 +msgid "Fake-IP Cache" +msgstr "Fake-IP 快取" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:273 +msgid "Fake-IP Filter Mode" +msgstr "Fake-IP 過濾模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:61 +msgid "Fake-IP Ping Hijack" +msgstr "Fake-IP Ping 劫持" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:254 +msgid "Fake-IP Range" +msgstr "Fake-IP 範圍" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:262 +msgid "Fake-IP TTL" +msgstr "Fake-IP TTL" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:258 +msgid "Fake-IP6 Range" +msgstr "Fake-IP6 範圍" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:132 +msgid "Fast Reload" +msgstr "快速重載" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:487 +msgid "File Format" +msgstr "檔案格式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:481 +msgid "File Path" +msgstr "檔案路徑" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:475 +msgid "File Size Limit" +msgstr "檔案大小限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:48 +msgid "File for Mixin" +msgstr "用於混入的檔案" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:103 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:33 +msgid "File:" +msgstr "檔案:" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:399 +msgid "Force Sniff Domain Name" +msgstr "強制嗅探的網域名稱" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:205 +msgid "GSO" +msgstr "通用分段卸載" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:211 +msgid "GSO Max Size" +msgstr "分段最大長度" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:130 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:28 +msgid "General Config" +msgstr "一般設定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:97 +msgid "Generate & Download" +msgstr "生成並下載" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:560 +msgid "GeoData Loader" +msgstr "GeoData 載入器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:554 +msgid "GeoIP Format" +msgstr "GeoIP 格式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:575 +msgid "GeoIP(ASN) Url" +msgstr "GeoIP(ASN) 下載網址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:572 +msgid "GeoIP(DAT) Url" +msgstr "GeoIP(DAT) 下載網址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:569 +msgid "GeoIP(MMDB) Url" +msgstr "GeoIP(MMDB) 下載網址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:566 +msgid "GeoSite Url" +msgstr "GeoSite 下載網址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:578 +msgid "GeoX Auto Update" +msgstr "定時更新 GeoX 檔案" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:552 +msgid "GeoX Config" +msgstr "GeoX 設定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:584 +msgid "GeoX Update Interval" +msgstr "GeoX 檔案更新間隔" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:96 +msgid "Global Client Fingerprint" +msgstr "全局客戶端指紋" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:42 +msgid "Global Mode" +msgstr "全局模式" + +#: applications/luci-app-nikkix/root/usr/share/rpcd/acl.d/luci-app-nikkix.json:3 +msgid "Grant access to nikkix procedures" +msgstr "授予存取 nikkix 程序的權限" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:87 +msgid "Group" +msgstr "使用者群組" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:142 +msgid "HTTP Port" +msgstr "HTTP 埠" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:149 +msgid "Heap Size Hard Limit" +msgstr "堆積大小硬限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:145 +msgid "Heap Size Soft Limit" +msgstr "堆積大小軟限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 +msgid "How To Use" +msgstr "使用說明" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:49 +msgid "IPv4 DNS Hijack" +msgstr "IPv4 DNS 劫持" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:55 +msgid "IPv4 Proxy" +msgstr "IPv4 代理" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:52 +msgid "IPv6 DNS Hijack" +msgstr "IPv6 DNS 劫持" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:58 +msgid "IPv6 Proxy" +msgstr "IPv6 代理" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:406 +msgid "Ignore Sniff Domain Name" +msgstr "忽略嗅探的網域名稱" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:134 +msgid "Inbound Config" +msgstr "入站設定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:110 +msgid "Inbound Interface" +msgstr "入站介面" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:105 +msgid "LAN Proxy" +msgstr "區域網路代理" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:235 +msgid "Least Recently Used (LRU)" +msgstr "最近最少使用(LRU)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:85 +msgid "Local" +msgstr "本地" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:25 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:53 +msgid "Log" +msgstr "日誌" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:30 +msgid "Log Level" +msgstr "日誌等級" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:201 +msgid "MTU" +msgstr "最大傳輸單元" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:46 +msgid "Match Process" +msgstr "匹配程序" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:371 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:535 +msgid "Matcher" +msgstr "匹配器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:564 +msgid "Memory Conservative Loader" +msgstr "為記憶體受限裝置最佳化的載入器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:194 +msgid "Misc" +msgstr "雜項" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:150 +msgid "Mixed Port" +msgstr "混合埠" + +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:29 +msgid "Mixin Config" +msgstr "混入設定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:588 +msgid "Mixin File Content" +msgstr "混入檔案內容" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:26 +msgid "Mixin Option" +msgstr "混入選項" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:39 +msgid "Mode" +msgstr "模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:454 +msgid "Name" +msgstr "名稱" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:355 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:374 +msgid "Nameserver" +msgstr "DNS 伺服器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:3 +msgid "Nikkix" +msgstr "Nikkix" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:546 +msgid "No Resolve" +msgstr "不解析" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:468 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:539 +msgid "Node" +msgstr "節點" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:15 +msgid "Not Running" +msgstr "未在執行" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:164 +msgid "Number of Open Files Hard Limit" +msgstr "可開啟檔案數量硬限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:161 +msgid "Number of Open Files Soft Limit" +msgstr "可開啟檔案數量軟限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:89 +msgid "Open Dashboard" +msgstr "開啟儀表板" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:53 +msgid "Outbound Interface" +msgstr "出站介面" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:162 +msgid "Overwrite Authentication" +msgstr "覆寫身分驗證" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:215 +msgid "Overwrite DNS Hijack" +msgstr "覆寫 DNS 劫持" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:432 +msgid "Overwrite Destination" +msgstr "將嗅探結果作為連線目標" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:266 +msgid "Overwrite Fake-IP Filter" +msgstr "覆寫 Fake-IP 過濾清單" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:396 +msgid "Overwrite Force Sniff Domain Name" +msgstr "覆寫強制嗅探的網域名稱" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:315 +msgid "Overwrite Hosts" +msgstr "覆寫 Hosts" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:403 +msgid "Overwrite Ignore Sniff Domain Name" +msgstr "覆寫忽略嗅探的網域名稱" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:334 +msgid "Overwrite Nameserver" +msgstr "覆寫 DNS 伺服器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:357 +msgid "Overwrite Nameserver Policy" +msgstr "覆寫 DNS 伺服器查詢策略" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:410 +msgid "Overwrite Sniff By Protocol" +msgstr "覆寫按協定嗅探" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:179 +msgid "Password" +msgstr "密碼" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:590 +msgid "Please go to the editor tab to edit the file for mixin" +msgstr "請前往編輯器標籤編輯用於混入的檔案" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:429 +msgid "Port" +msgstr "埠" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:81 +msgid "Prefer" +msgstr "優先" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:531 +msgid "Process Name" +msgstr "程序名稱" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:18 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:21 +msgid "Profile" +msgstr "設定檔" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:49 +msgid "Profile for Startup" +msgstr "用於啟動的設定檔" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:423 +msgid "Protocol" +msgstr "協定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:102 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:168 +msgid "Proxy" +msgstr "代理" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:29 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:31 +#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:37 +msgid "Proxy Config" +msgstr "代理設定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:45 +msgid "Proxy Provider:" +msgstr "代理提供者:" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:135 +msgid "RLIMIT Config" +msgstr "RLIMIT 設定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:98 +msgid "Random" +msgstr "隨機" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:39 +msgid "Redirect Mode" +msgstr "Redirect 模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:154 +msgid "Redirect Port" +msgstr "Redirect 埠" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:69 +msgid "Reload Service" +msgstr "重新載入服務" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:84 +msgid "Remote" +msgstr "遠端" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:196 +msgid "Reserved IP" +msgstr "IPv4 保留位址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:199 +msgid "Reserved IP6" +msgstr "IPv6 保留位址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:285 +msgid "Respect Rules" +msgstr "遵循分流規則" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:76 +msgid "Restart Service" +msgstr "重新啟動服務" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:64 +msgid "Router Proxy" +msgstr "路由器代理" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:435 +msgid "Rule Config" +msgstr "規則設定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:43 +msgid "Rule Mode" +msgstr "規則模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:41 +msgid "Rule Provider:" +msgstr "規則提供者:" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:523 +msgid "Rule Set" +msgstr "規則集" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:15 +msgid "Running" +msgstr "執行中" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:146 +msgid "SOCKS Port" +msgstr "SOCKS 埠" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:169 +msgid "Safe Paths" +msgstr "安全路徑" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:128 +msgid "Save Proxy Selection" +msgstr "儲存節點/策略群組選擇" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:114 +msgid "Scheduled Restart" +msgstr "定時重新啟動" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:54 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:87 +msgid "Scroll To Bottom" +msgstr "捲動到底部" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:186 +msgid "Skip System IPv6 Check" +msgstr "跳過系統 IPv6 檢查" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:413 +msgid "Sniff By Protocol" +msgstr "按協定嗅探" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:390 +msgid "Sniff Pure IP" +msgstr "嗅探純 IP 連線" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:384 +msgid "Sniff Redir-Host" +msgstr "嗅探 Redir-Host 流量" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:376 +msgid "Sniffer Config" +msgstr "嗅探器設定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:194 +msgid "Stack" +msgstr "堆疊" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:157 +msgid "Stack Size Hard Limit" +msgstr "堆疊大小硬限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:153 +msgid "Stack Size Soft Limit" +msgstr "堆疊大小軟限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:563 +msgid "Standard Loader" +msgstr "標準載入器" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:110 +msgid "Start Delay" +msgstr "啟動延遲" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:112 +msgid "Start Immidiately" +msgstr "立即啟動" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:40 +msgid "Status" +msgstr "狀態" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:28 +msgid "Subscription" +msgstr "訂閱" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:66 +msgid "Subscription Info Url" +msgstr "訂閱信息連結" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:34 +msgid "Subscription Name" +msgstr "訂閱名稱" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:69 +msgid "Subscription Url" +msgstr "訂閱連結" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:107 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:37 +msgid "Subscription:" +msgstr "訂閱:" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:76 +msgid "TCP Concurrent" +msgstr "TCP 並發" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:88 +msgid "TCP Keep Alive Idle" +msgstr "TCP Keep Alive 閒置" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:92 +msgid "TCP Keep Alive Interval" +msgstr "TCP Keep Alive 間隔" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:36 +msgid "TCP Mode" +msgstr "TCP 模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:40 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:46 +msgid "TPROXY Mode" +msgstr "TPROXY 模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:158 +msgid "TPROXY Port" +msgstr "TPROXY 埠" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:183 +msgid "TUN Config" +msgstr "TUN 設定" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:206 +msgid "TUN Interval" +msgstr "TUN 等待間隔" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:41 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:47 +msgid "TUN Mode" +msgstr "TUN 模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:202 +msgid "TUN Timeout" +msgstr "TUN 等待超時" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:122 +msgid "Test Profile" +msgstr "檢查設定檔" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:42 +msgid "Total" +msgstr "總計" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 +msgid "Transparent Proxy with Mihomo on OpenWrt." +msgstr "在 OpenWrt 上使用 Mihomo 進行透明代理." + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:348 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:457 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:521 +msgid "Type" +msgstr "類型" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:43 +msgid "UDP Mode" +msgstr "UDP 模式" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:109 +msgid "UI Name" +msgstr "UI 名稱" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:106 +msgid "UI Path" +msgstr "UI 路徑" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:112 +msgid "UI Url" +msgstr "UI 下載網址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:70 +msgid "Unify Delay" +msgstr "統一延遲" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:139 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:143 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:147 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:151 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:155 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:159 +msgid "Unlimited" +msgstr "無限制" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:32 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:41 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:48 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:55 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:66 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:72 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:78 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:84 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:90 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:94 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:97 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:107 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:110 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:113 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:122 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:126 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:130 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:138 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:144 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:148 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:152 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:156 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:160 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:187 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:192 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:196 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:203 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:207 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:213 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:228 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:234 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:240 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:244 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:250 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:256 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:260 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:264 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:275 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:281 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:287 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:293 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:299 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:305 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:311 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:380 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:386 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:392 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:556 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:562 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:567 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:570 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:573 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:576 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:580 +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:586 +msgid "Unmodified" +msgstr "不修改" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:60 +msgid "Update" +msgstr "更新" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:52 +msgid "Update At" +msgstr "更新時間" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:83 +msgid "Update Dashboard" +msgstr "更新儀表板" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:500 +msgid "Update Interval" +msgstr "更新間隔" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:20 +msgid "Upload Profile" +msgstr "上傳設定檔" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:463 +msgid "Url" +msgstr "下載網址" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:309 +msgid "Use Hosts" +msgstr "使用 Hosts" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:303 +msgid "Use System Hosts" +msgstr "使用系統的 Hosts" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:37 +msgid "Used" +msgstr "已使用" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:81 +msgid "User" +msgstr "使用者" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:73 +msgid "User Agent" +msgstr "使用者代理(UA)" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:176 +msgid "Username" +msgstr "使用者名稱" + +#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:128 +msgid "procd Config" +msgstr "procd 設定" diff --git a/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json b/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json similarity index 58% rename from luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json rename to luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json index 35aa9dba67..1372223444 100644 --- a/luci-app-nikki/root/usr/share/luci/menu.d/luci-app-nikki.json +++ b/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json @@ -1,60 +1,60 @@ { - "admin/services/nikki": { - "title": "Nikki", + "admin/services/nikkix": { + "title": "Nikkix", "action": { "type": "firstchild" }, "depends": { - "acl": [ "luci-app-nikki" ], - "uci": { "nikki": true } + "acl": [ "luci-app-nikkix" ], + "uci": { "nikkix": true } } }, - "admin/services/nikki/config": { + "admin/services/nikkix/config": { "title": "App Config", "order": 10, "action": { "type": "view", - "path": "nikki/app" + "path": "nikkix/app" } }, - "admin/services/nikki/profile": { + "admin/services/nikkix/profile": { "title": "Profile", "order": 20, "action": { "type": "view", - "path": "nikki/profile" + "path": "nikkix/profile" } }, - "admin/services/nikki/mixin": { + "admin/services/nikkix/mixin": { "title": "Mixin Config", "order": 30, "action": { "type": "view", - "path": "nikki/mixin" + "path": "nikkix/mixin" } }, - "admin/services/nikki/proxy": { + "admin/services/nikkix/proxy": { "title": "Proxy Config", "order": 40, "action": { "type": "view", - "path": "nikki/proxy" + "path": "nikkix/proxy" } }, - "admin/services/nikki/editor": { + "admin/services/nikkix/editor": { "title": "Editor", "order": 50, "action": { "type": "view", - "path": "nikki/editor" + "path": "nikkix/editor" } }, - "admin/services/nikki/log": { + "admin/services/nikkix/log": { "title": "Log", "order": 60, "action": { "type": "view", - "path": "nikki/log" + "path": "nikkix/log" } } -} \ No newline at end of file +} diff --git a/luci-app-nikkix/root/usr/share/rpcd/acl.d/luci-app-nikkix.json b/luci-app-nikkix/root/usr/share/rpcd/acl.d/luci-app-nikkix.json new file mode 100644 index 0000000000..3af50d3f8c --- /dev/null +++ b/luci-app-nikkix/root/usr/share/rpcd/acl.d/luci-app-nikkix.json @@ -0,0 +1,37 @@ +{ + "luci-app-nikkix": { + "description": "Grant access to nikkix procedures", + "read": { + "uci": [ "nikkix" ], + "ubus": { + "rc": [ "*" ], + "luci.nikkix": [ "*" ] + }, + "file": { + "/etc/nikkix/profiles/*.yaml": ["read"], + "/etc/nikkix/profiles/*.yml": ["read"], + "/etc/nikkix/subscriptions/*.yaml": ["read"], + "/etc/nikkix/subscriptions/*.yml": ["read"], + "/etc/nikkix/mixin.yaml": ["read"], + "/etc/nikkix/run/config.yaml": ["read"], + "/etc/nikkix/run/providers/rule/*": ["read"], + "/etc/nikkix/run/providers/proxy/*": ["read"], + "/var/log/nikkix/*.log": ["read"] + } + }, + "write": { + "uci": [ "nikkix" ], + "file": { + "/etc/nikkix/profiles/*.yaml": ["write"], + "/etc/nikkix/profiles/*.yml": ["write"], + "/etc/nikkix/subscriptions/*.yaml": ["write"], + "/etc/nikkix/subscriptions/*.yml": ["write"], + "/etc/nikkix/mixin.yaml": ["write"], + "/etc/nikkix/run/config.yaml": ["write"], + "/etc/nikkix/run/providers/rule/*": ["write"], + "/etc/nikkix/run/providers/proxy/*": ["write"], + "/var/log/nikkix/*.log": ["write"] + } + } + } +} diff --git a/luci-app-nikki/root/usr/share/rpcd/ucode/luci.nikki b/luci-app-nikkix/root/usr/share/rpcd/ucode/luci.nikkix similarity index 81% rename from luci-app-nikki/root/usr/share/rpcd/ucode/luci.nikki rename to luci-app-nikkix/root/usr/share/rpcd/ucode/luci.nikkix index fea4a5edeb..c948b4f4b0 100644 --- a/luci-app-nikki/root/usr/share/rpcd/ucode/luci.nikki +++ b/luci-app-nikkix/root/usr/share/rpcd/ucode/luci.nikkix @@ -3,7 +3,7 @@ 'use strict'; import { access, popen, writefile } from 'fs'; -import { get_users, get_groups, get_cgroups, load_profile } from '/etc/nikki/ucode/include.uc'; +import { get_users, get_groups, get_cgroups, load_profile } from '/etc/nikkix/ucode/include.uc'; const methods = { version: { @@ -11,13 +11,13 @@ const methods = { let process; let app = ''; if (system('command -v opkg') == 0) { - process = popen('opkg list-installed luci-app-nikki | cut -d " " -f 3'); + process = popen('opkg list-installed luci-app-nikkix | cut -d " " -f 3'); if (process) { app = trim(process.read('all')); process.close(); } } else if (system('command -v apk') == 0) { - process = popen('apk list -I luci-app-nikki | cut -d " " -f 1 | cut -d "-" -f 4'); + process = popen('apk list -I luci-app-nikkix | cut -d " " -f 1 | cut -d "-" -f 4'); if (process) { app = trim(process.read('all')); process.close(); @@ -37,8 +37,8 @@ const methods = { call: function(req) { let profile = {}; const defaults = req.args?.defaults ?? {}; - const filepath = '/etc/nikki/run/config.yaml'; - const tmpFilepath = '/var/run/nikki/profile.json'; + const filepath = '/etc/nikkix/run/config.yaml'; + const tmpFilepath = '/var/run/nikkix/profile.json'; if (access(filepath, 'r')) { writefile(tmpFilepath, defaults); const command = `yq -p yaml -o json eval-all 'select(fi == 0) *? select(fi == 1)' ${tmpFilepath} ${filepath}`; @@ -57,7 +57,7 @@ const methods = { let success = false; const section_id = req.args?.section_id; if (section_id) { - success = system(['service', 'nikki', 'update_subscription', section_id]) == 0; + success = system(['service', 'nikkix', 'update_subscription', section_id]) == 0; } return { success: success }; } @@ -95,16 +95,16 @@ const methods = { call: function() { const users = filter(get_users(), (x) => x != ''); const groups = filter(get_groups(), (x) => x != ''); - const cgroups = filter(get_cgroups(), (x) => x != '' && index(x, 'services/nikki') < 0); + const cgroups = filter(get_cgroups(), (x) => x != '' && index(x, 'services/nikkix') < 0); return { users: users, groups: groups, cgroups: cgroups }; } }, debug: { call: function() { - const success = system('/etc/nikki/scripts/debug.sh > /var/log/nikki/debug.log') == 0; + const success = system('/etc/nikkix/scripts/debug.sh > /var/log/nikkix/debug.log') == 0; return { success: success }; } } }; -return { 'luci.nikki': methods }; \ No newline at end of file +return { 'luci.nikkix': methods }; diff --git a/nikki/files/nikki.upgrade b/nikki/files/nikki.upgrade deleted file mode 100644 index 8fb9d1984c..0000000000 --- a/nikki/files/nikki.upgrade +++ /dev/null @@ -1,5 +0,0 @@ -/etc/nikki/profiles/ -/etc/nikki/subscriptions/ -/etc/nikki/mixin.yaml -/etc/nikki/run/providers/rule/ -/etc/nikki/run/providers/proxy/ diff --git a/nikki/files/uci-defaults/firewall.sh b/nikki/files/uci-defaults/firewall.sh deleted file mode 100644 index 24f570cfee..0000000000 --- a/nikki/files/uci-defaults/firewall.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -. "$IPKG_INSTROOT/etc/nikki/scripts/include.sh" - -uci -q batch <<-EOF > /dev/null - del firewall.nikki - set firewall.nikki=include - set firewall.nikki.type=script - set firewall.nikki.path=$FIREWALL_INCLUDE_SH - set firewall.nikki.fw4_compatible=1 - commit firewall -EOF diff --git a/nikki/files/uci-defaults/init.sh b/nikki/files/uci-defaults/init.sh deleted file mode 100644 index ce6fd0e943..0000000000 --- a/nikki/files/uci-defaults/init.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -. "$IPKG_INSTROOT/etc/nikki/scripts/include.sh" - -# check nikki.config.init -init=$(uci -q get nikki.config.init); [ -z "$init" ] && return - -# generate random string for api secret and authentication password -random=$(awk 'BEGIN{srand(); printf "%06d", int(rand() * 1000000)}') - -# set nikki.mixin.api_secret -uci set nikki.mixin.api_secret="$random" - -# set nikki.@authentication[0].password -uci set nikki.@authentication[0].password="$random" - -# remove nikki.config.init -uci del nikki.config.init - -# commit -uci commit nikki - -# exit with 0 -exit 0 diff --git a/nikki/files/uci-defaults/migrate.sh b/nikki/files/uci-defaults/migrate.sh deleted file mode 100644 index 4f89345abc..0000000000 --- a/nikki/files/uci-defaults/migrate.sh +++ /dev/null @@ -1,208 +0,0 @@ -#!/bin/sh - -. "$IPKG_INSTROOT/etc/nikki/scripts/include.sh" - -# since v1.18.0 - -mixin_rule=$(uci -q get nikki.mixin.rule); [ -z "$mixin_rule" ] && uci set nikki.mixin.rule=0 - -mixin_rule_provider=$(uci -q get nikki.mixin.rule_provider); [ -z "$mixin_rule_provider" ] && uci set nikki.mixin.rule_provider=0 - -# since v1.19.0 - -mixin_ui_path=$(uci -q get nikki.mixin.ui_path); [ -z "$mixin_ui_path" ] && uci set nikki.mixin.ui_path=ui - -uci show nikki | grep -E 'nikki\.@rule\[[[:digit:]]+\].match=' | sed 's/nikki.@rule\[\([[:digit:]]\+\)\].match=.*/rename nikki.@rule[\1].match=matcher/' | uci batch - -# since v1.19.1 - -proxy_fake_ip_ping_hijack=$(uci -q get nikki.proxy.fake_ip_ping_hijack); [ -z "$proxy_fake_ip_ping_hijack" ] && uci set nikki.proxy.fake_ip_ping_hijack=0 - -# since v1.20.0 - -mixin_api_port=$(uci -q get nikki.mixin.api_port); [ -n "$mixin_api_port" ] && { - uci del nikki.mixin.api_port - uci set nikki.mixin.api_listen="[::]:$mixin_api_port" -} - -mixin_dns_port=$(uci -q get nikki.mixin.dns_port); [ -n "$mixin_dns_port" ] && { - uci del nikki.mixin.dns_port - uci set nikki.mixin.dns_listen="[::]:$mixin_dns_port" -} - -# since v1.22.0 - -proxy_transparent_proxy=$(uci -q get nikki.proxy.transparent_proxy); [ -n "$proxy_transparent_proxy" ] && { - uci rename nikki.proxy.transparent_proxy=enabled - uci rename nikki.proxy.tcp_transparent_proxy_mode=tcp_mode - uci rename nikki.proxy.udp_transparent_proxy_mode=udp_mode - - uci add nikki router_access_control - uci set nikki.@router_access_control[-1].enabled=1 - proxy_bypass_user=$(uci -q get nikki.proxy.bypass_user); [ -n "$proxy_bypass_user" ] && { - for router_access_control_user in $proxy_bypass_user; do - uci add_list nikki.@router_access_control[-1].user="$router_access_control_user" - done - } - proxy_bypass_group=$(uci -q get nikki.proxy.bypass_group); [ -n "$proxy_bypass_group" ] && { - for router_access_control_group in $proxy_bypass_group; do - uci add_list nikki.@router_access_control[-1].group="$router_access_control_group" - done - } - proxy_bypass_cgroup=$(uci -q get nikki.proxy.bypass_cgroup); [ -n "$proxy_bypass_cgroup" ] && { - for router_access_control_cgroup in $proxy_bypass_cgroup; do - uci add_list nikki.@router_access_control[-1].cgroup="$router_access_control_cgroup" - done - } - uci set nikki.@router_access_control[-1].proxy=0 - - uci add nikki router_access_control - uci set nikki.@router_access_control[-1].enabled=1 - uci set nikki.@router_access_control[-1].proxy=1 - - uci add_list nikki.proxy.lan_inbound_interface=lan - - proxy_access_control_mode=$(uci -q get nikki.proxy.access_control_mode) - - [ "$proxy_access_control_mode" != "all" ] && { - proxy_acl_ip=$(uci -q get nikki.proxy.acl_ip); [ -n "$proxy_acl_ip" ] && { - for ip in $proxy_acl_ip; do - uci add nikki lan_access_control - uci set nikki.@lan_access_control[-1].enabled=1 - uci add_list nikki.@lan_access_control[-1].ip="$ip" - [ "$proxy_access_control_mode" = "allow" ] && uci set nikki.@lan_access_control[-1].proxy=1 - [ "$proxy_access_control_mode" = "block" ] && uci set nikki.@lan_access_control[-1].proxy=0 - done - } - proxy_acl_ip6=$(uci -q get nikki.proxy.acl_ip6); [ -n "$proxy_acl_ip6" ] && { - for ip6 in $proxy_acl_ip6; do - uci add nikki lan_access_control - uci set nikki.@lan_access_control[-1].enabled=1 - uci add_list nikki.@lan_access_control[-1].ip6="$ip6" - [ "$proxy_access_control_mode" = "allow" ] && uci set nikki.@lan_access_control[-1].proxy=1 - [ "$proxy_access_control_mode" = "block" ] && uci set nikki.@lan_access_control[-1].proxy=0 - done - } - proxy_acl_mac=$(uci -q get nikki.proxy.acl_mac); [ -n "$proxy_acl_mac" ] && { - for mac in $proxy_acl_mac; do - uci add nikki lan_access_control - uci set nikki.@lan_access_control[-1].enabled=1 - uci add_list nikki.@lan_access_control[-1].mac="$mac" - [ "$proxy_access_control_mode" = "allow" ] && uci set nikki.@lan_access_control[-1].proxy=1 - [ "$proxy_access_control_mode" = "block" ] && uci set nikki.@lan_access_control[-1].proxy=0 - done - } - } - - [ "$proxy_access_control_mode" != "allow" ] && { - uci add nikki lan_access_control - uci set nikki.@lan_access_control[-1].enabled=1 - uci set nikki.@lan_access_control[-1].proxy=1 - } - - uci del nikki.proxy.access_control_mode - uci del nikki.proxy.acl_ip - uci del nikki.proxy.acl_ip6 - uci del nikki.proxy.acl_mac - uci del nikki.proxy.acl_interface - uci del nikki.proxy.bypass_user - uci del nikki.proxy.bypass_group - uci del nikki.proxy.bypass_cgroup -} - -# since v1.23.0 - -routing=$(uci -q get nikki.routing); [ -z "$routing" ] && { - uci set nikki.routing=routing - uci set nikki.routing.tproxy_fw_mark=0x80 - uci set nikki.routing.tun_fw_mark=0x81 - uci set nikki.routing.tproxy_rule_pref=1024 - uci set nikki.routing.tun_rule_pref=1025 - uci set nikki.routing.tproxy_route_table=80 - uci set nikki.routing.tun_route_table=81 - uci set nikki.routing.cgroup_id=0x12061206 - uci set nikki.routing.cgroup_name=nikki -} - -proxy_tun_timeout=$(uci -q get nikki.proxy.tun_timeout); [ -z "$proxy_tun_timeout" ] && uci set nikki.proxy.tun_timeout=30 - -proxy_tun_interval=$(uci -q get nikki.proxy.tun_interval); [ -z "$proxy_tun_interval" ] && uci set nikki.proxy.tun_interval=1 - -# since v1.23.1 - -uci show nikki | grep -o -E 'nikki\.@router_access_control\[[[:digit:]]+\]=router_access_control' | cut -d '=' -f 1 | while read -r router_access_control; do - for router_access_control_cgroup in $(uci -q get "$router_access_control.cgroup"); do - [ -d "/sys/fs/cgroup/$router_access_control_cgroup" ] && continue - [ -d "/sys/fs/cgroup/services/$router_access_control_cgroup" ] && { - uci del_list "$router_access_control.cgroup=$router_access_control_cgroup" - uci add_list "$router_access_control.cgroup=services/$router_access_control_cgroup" - } - done -done - -# since v1.23.3 - -uci show nikki | grep -o -E 'nikki\.@router_access_control\[[[:digit:]]+\]=router_access_control' | cut -d '=' -f 1 | while read -r router_access_control; do - router_access_control_proxy=$(uci -q get "$router_access_control.proxy") - router_access_control_dns=$(uci -q get "$router_access_control.dns") - [ -z "$router_access_control_dns" ] && uci set "$router_access_control.dns=$router_access_control_proxy" -done - -uci show nikki | grep -o -E 'nikki\.@lan_access_control\[[[:digit:]]+\]=lan_access_control' | cut -d '=' -f 1 | while read -r lan_access_control; do - lan_access_control_proxy=$(uci -q get "$lan_access_control.proxy") - lan_access_control_dns=$(uci -q get "$lan_access_control.dns") - [ -z "$lan_access_control_dns" ] && uci set "$lan_access_control.dns=$lan_access_control_proxy" -done - -# since v1.24.0 - -proxy_reserved_ip=$(uci -q get nikki.proxy.reserved_ip); [ -z "$proxy_reserved_ip" ] && { - uci add_list nikki.proxy.reserved_ip=0.0.0.0/8 - uci add_list nikki.proxy.reserved_ip=10.0.0.0/8 - uci add_list nikki.proxy.reserved_ip=127.0.0.0/8 - uci add_list nikki.proxy.reserved_ip=100.64.0.0/10 - uci add_list nikki.proxy.reserved_ip=169.254.0.0/16 - uci add_list nikki.proxy.reserved_ip=172.16.0.0/12 - uci add_list nikki.proxy.reserved_ip=192.168.0.0/16 - uci add_list nikki.proxy.reserved_ip=224.0.0.0/4 - uci add_list nikki.proxy.reserved_ip=240.0.0.0/4 -} - -proxy_reserved_ip6=$(uci -q get nikki.proxy.reserved_ip6); [ -z "$proxy_reserved_ip6" ] && { - uci add_list nikki.proxy.reserved_ip6=::/128 - uci add_list nikki.proxy.reserved_ip6=::1/128 - uci add_list nikki.proxy.reserved_ip6=::ffff:0:0/96 - uci add_list nikki.proxy.reserved_ip6=100::/64 - uci add_list nikki.proxy.reserved_ip6=64:ff9b::/96 - uci add_list nikki.proxy.reserved_ip6=2001::/32 - uci add_list nikki.proxy.reserved_ip6=2001:10::/28 - uci add_list nikki.proxy.reserved_ip6=2001:20::/28 - uci add_list nikki.proxy.reserved_ip6=2001:db8::/32 - uci add_list nikki.proxy.reserved_ip6=2002::/16 - uci add_list nikki.proxy.reserved_ip6=fc00::/7 - uci add_list nikki.proxy.reserved_ip6=fe80::/10 - uci add_list nikki.proxy.reserved_ip6=ff00::/8 -} - -# since v1.24.3 - -routing_tproxy_fw_mask=$(uci -q get nikki.routing.tproxy_fw_mask); [ -z "$routing_tproxy_fw_mask" ] && uci set nikki.routing.tproxy_fw_mask=0xFF -routing_tun_fw_mask=$(uci -q get nikki.routing.tun_fw_mask); [ -z "$routing_tun_fw_mask" ] && uci set nikki.routing.tun_fw_mask=0xFF - -procd=$(uci -q get nikki.procd); [ -z "$procd" ] && { - uci set nikki.procd=procd - uci set nikki.procd.fast_reload=$(uci -q get nikki.config.fast_reload) - uci set nikki.procd.env_safe_paths=$(uci -q get nikki.env.safe_paths) - uci set nikki.procd.env_disable_loopback_detector=$(uci -q get nikki.env.disable_loopback_detector) - uci set nikki.procd.env_disable_quic_go_gso=$(uci -q get nikki.env.disable_quic_go_gso) - uci set nikki.procd.env_disable_quic_go_ecn=$(uci -q get nikki.env.disable_quic_go_ecn) - uci set nikki.procd.env_skip_system_ipv6_check=$(uci -q get nikki.env.skip_system_ipv6_check) - uci del nikki.config.fast_reload - uci del nikki.env -} - -# commit -uci commit nikki - -# exit with 0 -exit 0 diff --git a/nikki/files/ucode/mixin.uc b/nikki/files/ucode/mixin.uc deleted file mode 100644 index 9494b41a45..0000000000 --- a/nikki/files/ucode/mixin.uc +++ /dev/null @@ -1,196 +0,0 @@ -#!/usr/bin/ucode - -'use strict'; - -import { cursor } from 'uci'; -import { connect } from 'ubus'; -import { uci_bool, uci_int, uci_array, trim_all } from '/etc/nikki/ucode/include.uc'; - -const uci = cursor(); -const ubus = connect(); - -const config = {}; - -const outbound_interface = uci.get('nikki', 'mixin', 'outbound_interface'); -const outbound_interface_status = ubus.call('network.interface', 'status', { 'interface': outbound_interface }); -const outbound_device = outbound_interface_status?.l3_device ?? outbound_interface_status?.device ?? ''; - -config['log-level'] = uci.get('nikki', 'mixin', 'log_level'); -config['mode'] = uci.get('nikki', 'mixin', 'mode'); -config['find-process-mode'] = uci.get('nikki', 'mixin', 'match_process'); -config['interface-name'] = outbound_device; -config['ipv6'] = uci_bool(uci.get('nikki', 'mixin', 'ipv6')); -config['unified-delay'] = uci_bool(uci.get('nikki', 'mixin', 'unify_delay')); -config['tcp-concurrent'] = uci_bool(uci.get('nikki', 'mixin', 'tcp_concurrent')); -config['disable-keep-alive'] = uci_bool(uci.get('nikki', 'mixin', 'disable_tcp_keep_alive')); -config['keep-alive-idle'] = uci_int(uci.get('nikki', 'mixin', 'tcp_keep_alive_idle')); -config['keep-alive-interval'] = uci_int(uci.get('nikki', 'mixin', 'tcp_keep_alive_interval')); -config['global-client-fingerprint'] = uci.get('nikki', 'mixin', 'global_client_fingerprint'); - -config['external-ui'] = uci.get('nikki', 'mixin', 'ui_path'); -config['external-ui-name'] = uci.get('nikki', 'mixin', 'ui_name'); -config['external-ui-url'] = uci.get('nikki', 'mixin', 'ui_url'); -config['external-controller'] = uci.get('nikki', 'mixin', 'api_listen'); -config['secret'] = uci.get('nikki', 'mixin', 'api_secret'); - -config['allow-lan'] = uci_bool(uci.get('nikki', 'mixin', 'allow_lan')); -config['port'] = uci_int(uci.get('nikki', 'mixin', 'http_port')); -config['socks-port'] = uci_int(uci.get('nikki', 'mixin', 'socks_port')); -config['mixed-port'] = uci_int(uci.get('nikki', 'mixin', 'mixed_port')); -config['redir-port'] = uci_int(uci.get('nikki', 'mixin', 'redir_port')); -config['tproxy-port'] = uci_int(uci.get('nikki', 'mixin', 'tproxy_port')); - -if (uci_bool(uci.get('nikki', 'mixin', 'authentication'))) { - config['authentication'] = []; - uci.foreach('nikki', 'authentication', (section) => { - if (!uci_bool(section.enabled)) { - return; - } - push(config['authentication'], `${section.username}:${section.password}`); - }); -} - -config['tun'] = {}; -config['tun']['enable'] = uci_bool(uci.get('nikki', 'mixin', 'tun_enabled')); -config['tun']['device'] = uci.get('nikki', 'mixin', 'tun_device'); -config['tun']['stack'] = uci.get('nikki', 'mixin', 'tun_stack'); -config['tun']['mtu'] = uci_int(uci.get('nikki', 'mixin', 'tun_mtu')); -config['tun']['gso'] = uci_bool(uci.get('nikki', 'mixin', 'tun_gso')); -config['tun']['gso-max-size'] = uci_int(uci.get('nikki', 'mixin', 'tun_gso_max_size')); -if (uci_bool(uci.get('nikki', 'mixin', 'tun_dns_hijack'))) { - config['tun']['dns-hijack'] = uci_array(uci.get('nikki', 'mixin', 'tun_dns_hijacks')); -} -if (uci_bool(uci.get('nikki', 'proxy', 'enabled'))) { - config['tun']['auto-route'] = false; - config['tun']['auto-redirect'] = false; - config['tun']['auto-detect-interface'] = false; -} - -config['dns'] = {}; -config['dns']['enable'] = uci_bool(uci.get('nikki', 'mixin', 'dns_enabled')); -config['dns']['cache-algorithm'] = uci.get('nikki', 'mixin', 'dns_cache_algorithm'); -config['dns']['listen'] = uci.get('nikki', 'mixin', 'dns_listen'); -config['dns']['ipv6'] = uci_bool(uci.get('nikki', 'mixin', 'dns_ipv6')); -config['dns']['enhanced-mode'] = uci.get('nikki', 'mixin', 'dns_mode'); -config['dns']['fake-ip-range'] = uci.get('nikki', 'mixin', 'fake_ip_range'); -config['dns']['fake-ip-range6'] = uci.get('nikki', 'mixin', 'fake_ip6_range'); -config['dns']['fake-ip-ttl'] = uci_int(uci.get('nikki', 'mixin', 'fake_ip_ttl')); -if (uci_bool(uci.get('nikki', 'mixin', 'fake_ip_filter'))) { - config['dns']['fake-ip-filter'] = uci_array(uci.get('nikki', 'mixin', 'fake_ip_filters')); -} -config['dns']['fake-ip-filter-mode'] = uci.get('nikki', 'mixin', 'fake_ip_filter_mode'); - -config['dns']['respect-rules'] = uci_bool(uci.get('nikki', 'mixin', 'dns_respect_rules')); -config['dns']['prefer-h3'] = uci_bool(uci.get('nikki', 'mixin', 'dns_doh_prefer_http3')); -config['dns']['direct-nameserver-follow-policy'] = uci_bool(uci.get('nikki', 'mixin', 'dns_direct_nameserver_follow_policy')); -config['dns']['use-system-hosts'] = uci_bool(uci.get('nikki', 'mixin', 'dns_system_hosts')); -config['dns']['use-hosts'] = uci_bool(uci.get('nikki', 'mixin', 'dns_hosts')); -if (uci_bool(uci.get('nikki', 'mixin', 'hosts'))) { - config['hosts'] = {}; - uci.foreach('nikki', 'hosts', (section) => { - if (!uci_bool(section.enabled)) { - return; - } - config['hosts'][section.domain_name] = uci_array(section.ip); - }); -} -if (uci_bool(uci.get('nikki', 'mixin', 'dns_nameserver'))) { - config['dns']['default-nameserver'] = []; - config['dns']['proxy-server-nameserver'] = []; - config['dns']['direct-nameserver'] = []; - config['dns']['nameserver'] = []; - config['dns']['fallback'] = []; - uci.foreach('nikki', 'nameserver', (section) => { - if (!uci_bool(section.enabled)) { - return; - } - push(config['dns'][section.type], ...uci_array(section.nameserver)); - }) -} -if (uci_bool(uci.get('nikki', 'mixin', 'dns_nameserver_policy'))) { - config['dns']['nameserver-policy'] = {}; - uci.foreach('nikki', 'nameserver_policy', (section) => { - if (!uci_bool(section.enabled)) { - return; - } - config['dns']['nameserver-policy'][section.matcher] = uci_array(section.nameserver); - }); -} - -config['sniffer'] = {}; -config['sniffer']['enable'] = uci_bool(uci.get('nikki', 'mixin', 'sniffer')); -config['sniffer']['force-dns-mapping'] = uci_bool(uci.get('nikki', 'mixin', 'sniffer_sniff_dns_mapping')); -config['sniffer']['parse-pure-ip'] = uci_bool(uci.get('nikki', 'mixin', 'sniffer_sniff_pure_ip')); -if (uci_bool(uci.get('nikki', 'mixin', 'sniffer_force_domain_name'))) { - config['sniffer']['force-domain'] = uci_array(uci.get('nikki', 'mixin', 'sniffer_force_domain_names')); -} -if (uci_bool(uci.get('nikki', 'mixin', 'sniffer_ignore_domain_name'))) { - config['sniffer']['skip-domain'] = uci_array(uci.get('nikki', 'mixin', 'sniffer_ignore_domain_names')); -} -if (uci_bool(uci.get('nikki', 'mixin', 'sniffer_sniff'))) { - config['sniffer']['sniff'] = {}; - config['sniffer']['sniff']['HTTP'] = {}; - config['sniffer']['sniff']['TLS'] = {}; - config['sniffer']['sniff']['QUIC'] = {}; - uci.foreach('nikki', 'sniff', (section) => { - if (!uci_bool(section.enabled)) { - return; - } - config['sniffer']['sniff'][section.protocol]['port'] = uci_array(section.port); - config['sniffer']['sniff'][section.protocol]['override-destination'] = uci_bool(section.overwrite_destination); - }); -} - -config['profile'] = {}; -config['profile']['store-selected'] = uci_bool(uci.get('nikki', 'mixin', 'selection_cache')); -config['profile']['store-fake-ip'] = uci_bool(uci.get('nikki', 'mixin', 'fake_ip_cache')); - -if (uci_bool(uci.get('nikki', 'mixin', 'rule_provider'))) { - config['rule-providers'] = {}; - uci.foreach('nikki', 'rule_provider', (section) => { - if (!uci_bool(section.enabled)) { - return; - } - if (section.type == 'http') { - config['rule-providers'][section.name] = { - type: section.type, - url: section.url, - proxy: section.node, - size_limit: section.file_size_limit, - format: section.file_format, - behavior: section.behavior, - interval: section.update_interval, - } - } else if (section.type == 'file') { - config['rule-providers'][section.name] = { - type: section.type, - path: section.file_path, - format: section.file_format, - behavior: section.behavior, - } - } - }) -} -if (uci_bool(uci.get('nikki', 'mixin', 'rule'))) { - config['nikki-rules'] = []; - uci.foreach('nikki', 'rule', (section) => { - if (!uci_bool(section.enabled)) { - return; - } - const rule = [ section.type, section.matcher, section.node, uci_bool(section.no_resolve) ? 'no-resolve' : null ]; - push(config['nikki-rules'], join(',', filter(rule, (item) => item != null && item != ''))); - }) -} - -const geoip_format = uci.get('nikki', 'mixin', 'geoip_format'); -config['geodata-mode'] = geoip_format == null ? null : geoip_format == 'dat'; -config['geodata-loader'] = uci.get('nikki', 'mixin', 'geodata_loader'); -config['geox-url'] = {}; -config['geox-url']['geosite'] = uci.get('nikki', 'mixin', 'geosite_url'); -config['geox-url']['mmdb'] = uci.get('nikki', 'mixin', 'geoip_mmdb_url'); -config['geox-url']['geoip'] = uci.get('nikki', 'mixin', 'geoip_dat_url'); -config['geox-url']['asn'] = uci.get('nikki', 'mixin', 'geoip_asn_url'); -config['geo-auto-update'] = uci_bool(uci.get('nikki', 'mixin', 'geox_auto_update')); -config['geo-update-interval'] = uci_int(uci.get('nikki', 'mixin', 'geox_update_interval')); - -print(trim_all(config)); \ No newline at end of file diff --git a/nikki/Makefile b/nikkix/Makefile similarity index 55% rename from nikki/Makefile rename to nikkix/Makefile index 0b8917e03c..0db62ed88c 100644 --- a/nikki/Makefile +++ b/nikkix/Makefile @@ -1,6 +1,6 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=nikki +PKG_NAME:=nikkix PKG_VERSION:=2026.01.05 PKG_RELEASE:=1 @@ -27,7 +27,7 @@ GO_PKG_TAGS:=with_gvisor include $(INCLUDE_DIR)/package.mk include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk -define Package/nikki +define Package/nikkix SECTION:=net CATEGORY:=Network TITLE:=A rule based proxy in Go. @@ -36,59 +36,59 @@ define Package/nikki PROVIDES:=mihomo endef -define Package/nikki/description +define Package/nikkix/description A rule based proxy in Go. endef -define Package/nikki/conffiles -/etc/config/nikki -/etc/nikki/mixin.yaml +define Package/nikkix/conffiles +/etc/config/nikkix +/etc/nikkix/mixin.yaml endef -define Package/nikki/install +define Package/nikkix/install $(call GoPackage/Package/Install/Bin,$(1)) - $(INSTALL_DIR) $(1)/etc/nikki - $(INSTALL_DIR) $(1)/etc/nikki/ucode - $(INSTALL_DIR) $(1)/etc/nikki/scripts - $(INSTALL_DIR) $(1)/etc/nikki/nftables - $(INSTALL_DIR) $(1)/etc/nikki/profiles - $(INSTALL_DIR) $(1)/etc/nikki/subscriptions - $(INSTALL_DIR) $(1)/etc/nikki/run - $(INSTALL_DIR) $(1)/etc/nikki/run/providers - $(INSTALL_DIR) $(1)/etc/nikki/run/providers/rule - $(INSTALL_DIR) $(1)/etc/nikki/run/providers/proxy + $(INSTALL_DIR) $(1)/etc/nikkix + $(INSTALL_DIR) $(1)/etc/nikkix/ucode + $(INSTALL_DIR) $(1)/etc/nikkix/scripts + $(INSTALL_DIR) $(1)/etc/nikkix/nftables + $(INSTALL_DIR) $(1)/etc/nikkix/profiles + $(INSTALL_DIR) $(1)/etc/nikkix/subscriptions + $(INSTALL_DIR) $(1)/etc/nikkix/run + $(INSTALL_DIR) $(1)/etc/nikkix/run/providers + $(INSTALL_DIR) $(1)/etc/nikkix/run/providers/rule + $(INSTALL_DIR) $(1)/etc/nikkix/run/providers/proxy - $(INSTALL_DATA) $(CURDIR)/files/mixin.yaml $(1)/etc/nikki/mixin.yaml + $(INSTALL_DATA) $(CURDIR)/files/mixin.yaml $(1)/etc/nikkix/mixin.yaml - $(INSTALL_BIN) $(CURDIR)/files/ucode/include.uc $(1)/etc/nikki/ucode/include.uc - $(INSTALL_BIN) $(CURDIR)/files/ucode/mixin.uc $(1)/etc/nikki/ucode/mixin.uc - $(INSTALL_BIN) $(CURDIR)/files/ucode/hijack.ut $(1)/etc/nikki/ucode/hijack.ut + $(INSTALL_BIN) $(CURDIR)/files/ucode/include.uc $(1)/etc/nikkix/ucode/include.uc + $(INSTALL_BIN) $(CURDIR)/files/ucode/mixin.uc $(1)/etc/nikkix/ucode/mixin.uc + $(INSTALL_BIN) $(CURDIR)/files/ucode/hijack.ut $(1)/etc/nikkix/ucode/hijack.ut - $(INSTALL_BIN) $(CURDIR)/files/scripts/include.sh $(1)/etc/nikki/scripts/include.sh - $(INSTALL_BIN) $(CURDIR)/files/scripts/firewall_include.sh $(1)/etc/nikki/scripts/firewall_include.sh - $(INSTALL_BIN) $(CURDIR)/files/scripts/debug.sh $(1)/etc/nikki/scripts/debug.sh + $(INSTALL_BIN) $(CURDIR)/files/scripts/include.sh $(1)/etc/nikkix/scripts/include.sh + $(INSTALL_BIN) $(CURDIR)/files/scripts/firewall_include.sh $(1)/etc/nikkix/scripts/firewall_include.sh + $(INSTALL_BIN) $(CURDIR)/files/scripts/debug.sh $(1)/etc/nikkix/scripts/debug.sh $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_CONF) $(CURDIR)/files/nikki.conf $(1)/etc/config/nikki + $(INSTALL_CONF) $(CURDIR)/files/nikkix.conf $(1)/etc/config/nikkix $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) $(CURDIR)/files/nikki.init $(1)/etc/init.d/nikki + $(INSTALL_BIN) $(CURDIR)/files/nikkix.init $(1)/etc/init.d/nikkix $(INSTALL_DIR) $(1)/etc/uci-defaults - $(INSTALL_BIN) $(CURDIR)/files/uci-defaults/firewall.sh $(1)/etc/uci-defaults/99_firewall_nikki - $(INSTALL_BIN) $(CURDIR)/files/uci-defaults/init.sh $(1)/etc/uci-defaults/99_init_nikki - $(INSTALL_BIN) $(CURDIR)/files/uci-defaults/migrate.sh $(1)/etc/uci-defaults/99_migrate_nikki + $(INSTALL_BIN) $(CURDIR)/files/uci-defaults/firewall.sh $(1)/etc/uci-defaults/99_firewall_nikkix + $(INSTALL_BIN) $(CURDIR)/files/uci-defaults/init.sh $(1)/etc/uci-defaults/99_init_nikkix + $(INSTALL_BIN) $(CURDIR)/files/uci-defaults/migrate.sh $(1)/etc/uci-defaults/99_migrate_nikkix $(INSTALL_DIR) $(1)/lib/upgrade/keep.d - $(INSTALL_DATA) $(CURDIR)/files/nikki.upgrade $(1)/lib/upgrade/keep.d/nikki + $(INSTALL_DATA) $(CURDIR)/files/nikkix.upgrade $(1)/lib/upgrade/keep.d/nikkix endef -define Package/nikki/postrm +define Package/nikkix/postrm #!/bin/sh if [ -z $${IPKG_INSTROOT} ]; then uci -q batch <<-EOF > /dev/null - del firewall.nikki + del firewall.nikkix commit firewall EOF fi @@ -99,5 +99,5 @@ define Build/Prepare $(RM) -r $(PKG_BUILD_DIR)/rules/logic_test endef -$(eval $(call GoBinPackage,nikki)) -$(eval $(call BuildPackage,nikki)) +$(eval $(call GoBinPackage,nikkix)) +$(eval $(call BuildPackage,nikkix)) diff --git a/nikki/files/mixin.yaml b/nikkix/files/mixin.yaml similarity index 81% rename from nikki/files/mixin.yaml rename to nikkix/files/mixin.yaml index 6a3e2dc1ef..cb346140ba 100644 --- a/nikki/files/mixin.yaml +++ b/nikkix/files/mixin.yaml @@ -13,18 +13,18 @@ # type: shadowsocks # listen: "::" # port: 12060 -# nikki-proxies: # prepend proxies +# nikkix-proxies: # prepend proxies # - name: PROXY # type: ss # server: proxy.example.com # port: 443 # cipher: chacha20-ietf-poly1305 # password: password -# nikki-proxy-groups: # prepend proxy groups +# nikkix-proxy-groups: # prepend proxy groups # - name: PROXY_GROUP # type: select # proxies: # - PROXY -# nikki-rules: # prepend rules +# nikkix-rules: # prepend rules # - DOMAIN,direct.example.com,DIRECT -# - DOMAIN-SUFFIX,proxy.example.com,PROXY \ No newline at end of file +# - DOMAIN-SUFFIX,proxy.example.com,PROXY diff --git a/nikki/files/nikki.conf b/nikkix/files/nikkix.conf similarity index 86% rename from nikki/files/nikki.conf rename to nikkix/files/nikkix.conf index 8b402119c2..06a1efe14e 100644 --- a/nikki/files/nikki.conf +++ b/nikkix/files/nikkix.conf @@ -39,7 +39,7 @@ config mixin 'mixin' option 'tproxy_port' '7892' option 'authentication' '1' option 'tun_enabled' '1' - option 'tun_device' 'nikki' + option 'tun_device' 'nikkix' option 'tun_stack' 'mixed' option 'tun_dns_hijack' '0' list 'tun_dns_hijacks' 'tcp://any:53' @@ -65,7 +65,7 @@ config mixin 'mixin' config authentication option 'enabled' '1' - option 'username' 'nikki' + option 'username' 'nikkix' option 'password' '' config hosts @@ -77,36 +77,19 @@ config hosts config nameserver option 'enabled' '1' option 'type' 'default-nameserver' - list 'nameserver' '223.5.5.5' - list 'nameserver' '223.6.6.6' + list 'nameserver' '1.1.1.1' + list 'nameserver' '8.8.8.8' config nameserver option 'enabled' '0' option 'type' 'proxy-server-nameserver' - list 'nameserver' 'https://223.5.5.5/dns-query' - list 'nameserver' 'https://223.6.6.6/dns-query' - -config nameserver - option 'enabled' '0' - option 'type' 'direct-nameserver' - list 'nameserver' 'https://223.5.5.5/dns-query' - list 'nameserver' 'https://223.6.6.6/dns-query' - -config nameserver - option 'enabled' '1' - option 'type' 'nameserver' - list 'nameserver' 'https://223.5.5.5/dns-query' - list 'nameserver' 'https://223.6.6.6/dns-query' + list 'nameserver' 'https://1.1.1.1/dns-query' + list 'nameserver' 'https://8.8.8.8/dns-query' -config nameserver_policy - option 'enabled' '1' - option 'matcher' 'geosite:private,cn' - list 'nameserver' 'https://223.5.5.5/dns-query' - list 'nameserver' 'https://223.6.6.6/dns-query' config nameserver_policy option 'enabled' '1' - option 'matcher' 'geosite:geolocation-!cn' + option 'matcher' 'geosite:geolocation-us' list 'nameserver' 'https://1.1.1.1/dns-query' list 'nameserver' 'https://8.8.8.8/dns-query' @@ -216,7 +199,7 @@ config routing 'routing' option 'tproxy_route_table' '80' option 'tun_route_table' '81' option 'cgroup_id' '0x12061206' - option 'cgroup_name' 'nikki' + option 'cgroup_name' 'nikkix' config editor 'editor' diff --git a/nikki/files/nikki.init b/nikkix/files/nikkix.init similarity index 89% rename from nikki/files/nikki.init rename to nikkix/files/nikkix.init index ace5580421..696ebe3834 100644 --- a/nikki/files/nikki.init +++ b/nikkix/files/nikkix.init @@ -6,7 +6,7 @@ USE_PROCD=1 PROG="/usr/bin/mihomo" -. "$IPKG_INSTROOT/etc/nikki/scripts/include.sh" +. "$IPKG_INSTROOT/etc/nikkix/scripts/include.sh" extra_command 'update_subscription' 'Update subscription by section id' @@ -14,7 +14,7 @@ boot_func() { # prepare files prepare_files # load config - config_load nikki + config_load nikkix # start delay local enabled start_delay config_get_bool enabled "config" "enabled" 0 @@ -35,7 +35,7 @@ start_service() { # prepare files prepare_files # load config - config_load nikki + config_load nikkix # check if enabled local enabled config_get_bool enabled "config" "enabled" 0 @@ -169,9 +169,9 @@ start_service() { yq -M -i 'del(.sniffer.sniff)' "$RUN_PROFILE_PATH" fi if [ "$mixin_file_content" = 0 ]; then - ucode -S "$MIXIN_UC" | yq -M -p json -o yaml | yq -M -i ea '... comments="" | . as $item ireduce ({}; . * $item ) | .proxies = .nikki-proxies + .proxies | del(.nikki-proxies) | .proxy-groups = .nikki-proxy-groups + .proxy-groups | del(.nikki-proxy-groups) | .rules = .nikki-rules + .rules | del(.nikki-rules)' "$RUN_PROFILE_PATH" - + ucode -S "$MIXIN_UC" | yq -M -p json -o yaml | yq -M -i ea '... comments="" | . as $item ireduce ({}; . * $item ) | .proxies = .nikkix-proxies + .proxies | del(.nikkix-proxies) | .proxy-groups = .nikkix-proxy-groups + .proxy-groups | del(.nikkix-proxy-groups) | .rules = .nikkix-rules + .rules | del(.nikkix-rules)' "$RUN_PROFILE_PATH" - elif [ "$mixin_file_content" = 1 ]; then - ucode -S "$MIXIN_UC" | yq -M -p json -o yaml | yq -M -i ea '... comments="" | . as $item ireduce ({}; . * $item ) | .proxies = .nikki-proxies + .proxies | del(.nikki-proxies) | .proxy-groups = .nikki-proxy-groups + .proxy-groups | del(.nikki-proxy-groups) | .rules = .nikki-rules + .rules | del(.nikki-rules)' "$RUN_PROFILE_PATH" "$MIXIN_FILE_PATH" - + ucode -S "$MIXIN_UC" | yq -M -p json -o yaml | yq -M -i ea '... comments="" | . as $item ireduce ({}; . * $item ) | .proxies = .nikkix-proxies + .proxies | del(.nikkix-proxies) | .proxy-groups = .nikkix-proxy-groups + .proxy-groups | del(.nikkix-proxy-groups) | .rules = .nikkix-rules + .rules | del(.nikkix-rules)' "$RUN_PROFILE_PATH" "$MIXIN_FILE_PATH" - fi fi # check profile @@ -225,7 +225,7 @@ start_service() { fi # start core log "Core" "Start." - procd_open_instance nikki + procd_open_instance nikkix procd_set_param command /bin/sh -c "$PROG -d $RUN_DIR >> $CORE_LOG_PATH 2>&1" procd_set_param file "$RUN_PROFILE_PATH" @@ -248,7 +248,7 @@ start_service() { # cron if [ "$scheduled_restart" = 1 ] && [ -n "$cron_expression" ]; then log "App" "Set scheduled restart." - echo "$cron_expression /etc/init.d/nikki restart #nikki" >> "/etc/crontabs/root" + echo "$cron_expression /etc/init.d/nikkix restart #nikkix" >> "/etc/crontabs/root" /etc/init.d/cron restart fi # set started flag @@ -261,7 +261,7 @@ service_started() { return fi # load config - config_load nikki + config_load nikkix # check if proxy enabled local proxy_enabled config_get_bool proxy_enabled "proxy" "enabled" 0 @@ -293,7 +293,7 @@ service_started() { config_get tproxy_route_table "routing" "tproxy_route_table" "80" config_get tun_route_table "routing" "tun_route_table" "81" config_get cgroup_id "routing" "cgroup_id" "0x12061206" - config_get cgroup_name "routing" "cgroup_name" "nikki" + config_get cgroup_name "routing" "cgroup_name" "nikkix" # prepare config local tproxy_enable; tproxy_enable=0 if [ "$tcp_mode" = "tproxy" ] || [ "$udp_mode" = "tproxy" ]; then @@ -375,7 +375,7 @@ service_started() { # hijack utpl -S "$HIJACK_UT" | nft -f - # check hijack - if nft list tables | grep -q nikki; then + if nft list tables | grep -q nikkix; then log "Proxy" "Hijack successful." else log "Proxy" "Hijack failed." @@ -394,14 +394,14 @@ reload_service() { } service_triggers() { - procd_add_reload_trigger "nikki" + procd_add_reload_trigger "nikkix" } cleanup() { # clear log clear_log # load config - config_load nikki + config_load nikkix # get config ## routing config local tproxy_route_table tun_route_table @@ -418,13 +418,13 @@ cleanup() { ip -6 route flush table "$tproxy_route_table" > /dev/null 2>&1 ip -6 route flush table "$tun_route_table" > /dev/null 2>&1 # delete hijack - nft delete table inet nikki > /dev/null 2>&1 + nft delete table inet nikkix > /dev/null 2>&1 local handles handle - handles=$(nft --json list table inet fw4 | jsonfilter -q -e "@['nftables'][*]['rule']" | jsonfilter -q -a -e "@[@['chain']='input']" | jsonfilter -q -a -e "@[@['comment']='nikki']" | jsonfilter -q -a -e "@[*]['handle']") + handles=$(nft --json list table inet fw4 | jsonfilter -q -e "@['nftables'][*]['rule']" | jsonfilter -q -a -e "@[@['chain']='input']" | jsonfilter -q -a -e "@[@['comment']='nikkix']" | jsonfilter -q -a -e "@[*]['handle']") for handle in $handles; do nft delete rule inet fw4 input handle "$handle" done - handles=$(nft --json list table inet fw4 | jsonfilter -q -e "@['nftables'][*]['rule']" | jsonfilter -q -a -e "@[@['chain']='forward']" | jsonfilter -q -a -e "@[@['comment']='nikki']" | jsonfilter -q -a -e "@[*]['handle']") + handles=$(nft --json list table inet fw4 | jsonfilter -q -e "@['nftables'][*]['rule']" | jsonfilter -q -a -e "@[@['chain']='forward']" | jsonfilter -q -a -e "@[@['comment']='nikkix']" | jsonfilter -q -a -e "@[*]['handle']") for handle in $handles; do nft delete rule inet fw4 forward handle "$handle" done @@ -439,7 +439,7 @@ cleanup() { sysctl -q -w net.bridge.bridge-nf-call-ip6tables=1 fi # delete cron - sed -i "/#nikki/d" "/etc/crontabs/root" > /dev/null 2>&1 + sed -i "/#nikkix/d" "/etc/crontabs/root" > /dev/null 2>&1 /etc/init.d/cron restart } @@ -449,7 +449,7 @@ update_subscription() { return fi # load config - config_load nikki + config_load nikkix # get subscription config local subscription_name subscription_info_url subscription_url subscription_user_agent config_get subscription_name "$subscription_section" "name" @@ -462,14 +462,14 @@ update_subscription() { ver_os="$(get_openwrt_version)" device_model="$(get_device_model)" # reset subscription info - uci_remove "nikki" "$subscription_section" "expire" > /dev/null 2>&1 - uci_remove "nikki" "$subscription_section" "upload" > /dev/null 2>&1 - uci_remove "nikki" "$subscription_section" "download" > /dev/null 2>&1 - uci_remove "nikki" "$subscription_section" "total" > /dev/null 2>&1 - uci_remove "nikki" "$subscription_section" "used" > /dev/null 2>&1 - uci_remove "nikki" "$subscription_section" "avaliable" > /dev/null 2>&1 - uci_remove "nikki" "$subscription_section" "update" > /dev/null 2>&1 - uci_remove "nikki" "$subscription_section" "success" > /dev/null 2>&1 + uci_remove "nikkix" "$subscription_section" "expire" > /dev/null 2>&1 + uci_remove "nikkix" "$subscription_section" "upload" > /dev/null 2>&1 + uci_remove "nikkix" "$subscription_section" "download" > /dev/null 2>&1 + uci_remove "nikkix" "$subscription_section" "total" > /dev/null 2>&1 + uci_remove "nikkix" "$subscription_section" "used" > /dev/null 2>&1 + uci_remove "nikkix" "$subscription_section" "avaliable" > /dev/null 2>&1 + uci_remove "nikkix" "$subscription_section" "update" > /dev/null 2>&1 + uci_remove "nikkix" "$subscription_section" "success" > /dev/null 2>&1 # update subscription log "Profile" "Update subscription: $subscription_name." local success @@ -537,26 +537,26 @@ update_subscription() { fi # update subscription info if [ -n "$subscription_expire" ]; then - uci_set "nikki" "$subscription_section" "expire" "$(date "+%Y-%m-%d %H:%M:%S" -d "@$subscription_expire")" + uci_set "nikkix" "$subscription_section" "expire" "$(date "+%Y-%m-%d %H:%M:%S" -d "@$subscription_expire")" fi if [ -n "$subscription_upload" ]; then - uci_set "nikki" "$subscription_section" "upload" "$(format_filesize "$subscription_upload")" + uci_set "nikkix" "$subscription_section" "upload" "$(format_filesize "$subscription_upload")" fi if [ -n "$subscription_download" ]; then - uci_set "nikki" "$subscription_section" "download" "$(format_filesize "$subscription_download")" + uci_set "nikkix" "$subscription_section" "download" "$(format_filesize "$subscription_download")" fi if [ -n "$subscription_total" ]; then - uci_set "nikki" "$subscription_section" "total" "$(format_filesize "$subscription_total")" + uci_set "nikkix" "$subscription_section" "total" "$(format_filesize "$subscription_total")" fi if [ -n "$subscription_used" ]; then - uci_set "nikki" "$subscription_section" "used" "$(format_filesize "$subscription_used")" + uci_set "nikkix" "$subscription_section" "used" "$(format_filesize "$subscription_used")" fi if [ -n "$subscription_avaliable" ]; then - uci_set "nikki" "$subscription_section" "avaliable" "$(format_filesize "$subscription_avaliable")" + uci_set "nikkix" "$subscription_section" "avaliable" "$(format_filesize "$subscription_avaliable")" fi fi - uci_set "nikki" "$subscription_section" "update" "$(date "+%Y-%m-%d %H:%M:%S")" - uci_set "nikki" "$subscription_section" "success" "1" + uci_set "nikkix" "$subscription_section" "update" "$(date "+%Y-%m-%d %H:%M:%S")" + uci_set "nikkix" "$subscription_section" "success" "1" # update subscription file rm -f "$subscription_info_header_tmpfile" rm -f "$subscription_header_tmpfile" @@ -564,11 +564,11 @@ update_subscription() { elif [ "$success" = 0 ]; then log "Profile" "Subscription update failed." # update subscription info - uci_set "nikki" "$subscription_section" "success" "0" + uci_set "nikkix" "$subscription_section" "success" "0" # remove tmpfile rm -f "$subscription_info_header_tmpfile" rm -f "$subscription_header_tmpfile" rm -f "$subscription_tmpfile" fi - uci_commit "nikki" + uci_commit "nikkix" } diff --git a/nikkix/files/nikkix.upgrade b/nikkix/files/nikkix.upgrade new file mode 100644 index 0000000000..e865962348 --- /dev/null +++ b/nikkix/files/nikkix.upgrade @@ -0,0 +1,5 @@ +/etc/nikkix/profiles/ +/etc/nikkix/subscriptions/ +/etc/nikkix/mixin.yaml +/etc/nikkix/run/providers/rule/ +/etc/nikkix/run/providers/proxy/ diff --git a/nikki/files/scripts/debug.sh b/nikkix/files/scripts/debug.sh similarity index 80% rename from nikki/files/scripts/debug.sh rename to nikkix/files/scripts/debug.sh index 2bcfebe6bf..58eb00741c 100644 --- a/nikki/files/scripts/debug.sh +++ b/nikkix/files/scripts/debug.sh @@ -1,18 +1,18 @@ #!/bin/sh -. "$IPKG_INSTROOT/etc/nikki/scripts/include.sh" +. "$IPKG_INSTROOT/etc/nikkix/scripts/include.sh" -enabled=`uci get nikki.config.enabled` +enabled=`uci get nikkix.config.enabled` if [ "$enabled" == "0" ]; then - uci set nikki.config.enabled=1 - uci commit nikki - /etc/init.d/nikki restart + uci set nikkix.config.enabled=1 + uci commit nikkix + /etc/init.d/nikkix restart fi echo \ " -# Nikki Debug Info +# Nikkix Debug Info ## system \`\`\`shell ` @@ -29,11 +29,11 @@ uname -a \`\`\` ` if [ -x "/bin/opkg" ]; then - opkg list-installed "nikki" - opkg list-installed "luci-app-nikki" + opkg list-installed "nikkix" + opkg list-installed "luci-app-nikkix" elif [ -x "/usr/bin/apk" ]; then - apk list -I "nikki" - apk list -I "luci-app-nikki" + apk list -I "nikkix" + apk list -I "luci-app-nikkix" fi ` \`\`\` @@ -45,7 +45,7 @@ import { cursor } from "uci"; const uci = cursor(); -const config = uci.get_all("nikki"); +const config = uci.get_all("nikkix"); const result = {}; for (let section_id in config) { @@ -160,7 +160,7 @@ function desensitize_proxies(proxies) { function desensitize_profile() { let profile = {}; - const process = popen("yq -p yaml -o json /etc/nikki/run/config.yaml"); + const process = popen("yq -p yaml -o json /etc/nikkix/run/config.yaml"); if (process) { profile = json(process); if (exists(profile, "secret")) { @@ -199,14 +199,14 @@ ip rule list \`\`\` ## ip route \`\`\` -TPROXY: +TPROXY: ` -ip route list table "$(uci get nikki.routing.tproxy_route_table)" +ip route list table "$(uci get nikkix.routing.tproxy_route_table)" ` -TUN: +TUN: ` -ip route list table "$(uci get nikki.routing.tun_route_table)" +ip route list table "$(uci get nikkix.routing.tun_route_table)" ` \`\`\` ## ip6 rule @@ -217,32 +217,32 @@ ip -6 rule list \`\`\` ## ip6 route \`\`\` -TPROXY: +TPROXY: ` -ip -6 route list table "$(uci get nikki.routing.tproxy_route_table)" +ip -6 route list table "$(uci get nikkix.routing.tproxy_route_table)" ` -TUN: +TUN: ` -ip -6 route list table "$(uci get nikki.routing.tun_route_table)" +ip -6 route list table "$(uci get nikkix.routing.tun_route_table)" ` \`\`\` ## nftables \`\`\` ` -nft list table inet nikki +nft list table inet nikkix ` \`\`\` ## service \`\`\`json ` -/etc/init.d/nikki info +/etc/init.d/nikkix info ` \`\`\` " if [ "$enabled" == "0" ]; then - uci set nikki.config.enabled=0 - uci commit nikki - /etc/init.d/nikki restart + uci set nikkix.config.enabled=0 + uci commit nikkix + /etc/init.d/nikkix restart fi diff --git a/nikki/files/scripts/firewall_include.sh b/nikkix/files/scripts/firewall_include.sh similarity index 76% rename from nikki/files/scripts/firewall_include.sh rename to nikkix/files/scripts/firewall_include.sh index 2a237de4b9..4c64ffa2b9 100644 --- a/nikki/files/scripts/firewall_include.sh +++ b/nikkix/files/scripts/firewall_include.sh @@ -1,21 +1,21 @@ #!/bin/sh . "$IPKG_INSTROOT/lib/functions.sh" -. "$IPKG_INSTROOT/etc/nikki/scripts/include.sh" +. "$IPKG_INSTROOT/etc/nikkix/scripts/include.sh" -config_load nikki +config_load nikkix config_get_bool enabled "config" "enabled" 0 config_get_bool core_only "config" "core_only" 0 -config_get_bool proxy_enabled "proxy" "enabled" 0 +config_get_bool proxy_enabled "proxy" "enabled" 0 config_get tcp_mode "proxy" "tcp_mode" config_get udp_mode "proxy" "udp_mode" if [ "$enabled" = 1 ] && [ "$core_only" = 0 ] && [ "$proxy_enabled" = 1 ]; then if [ "$tcp_mode" = "tun" ] || [ "$udp_mode" = "tun" ]; then tun_device=$(yq -M '.tun.device' "$RUN_PROFILE_PATH") - nft insert rule inet fw4 input iifname "$tun_device" counter accept comment "nikki" - nft insert rule inet fw4 forward oifname "$tun_device" counter accept comment "nikki" - nft insert rule inet fw4 forward iifname "$tun_device" counter accept comment "nikki" + nft insert rule inet fw4 input iifname "$tun_device" counter accept comment "nikkix" + nft insert rule inet fw4 forward oifname "$tun_device" counter accept comment "nikkix" + nft insert rule inet fw4 forward iifname "$tun_device" counter accept comment "nikkix" fi fi diff --git a/nikki/files/scripts/include.sh b/nikkix/files/scripts/include.sh similarity index 96% rename from nikki/files/scripts/include.sh rename to nikkix/files/scripts/include.sh index c1ff4a8863..bab61a8d23 100644 --- a/nikki/files/scripts/include.sh +++ b/nikkix/files/scripts/include.sh @@ -1,7 +1,7 @@ #!/bin/sh # paths -HOME_DIR="/etc/nikki" +HOME_DIR="/etc/nikkix" PROFILES_DIR="$HOME_DIR/profiles" SUBSCRIPTIONS_DIR="$HOME_DIR/subscriptions" MIXIN_FILE_PATH="$HOME_DIR/mixin.yaml" @@ -12,13 +12,13 @@ RULE_PROVIDERS_DIR="$PROVIDERS_DIR/rule" PROXY_PROVIDERS_DIR="$PROVIDERS_DIR/proxy" # log -LOG_DIR="/var/log/nikki" +LOG_DIR="/var/log/nikkix" APP_LOG_PATH="$LOG_DIR/app.log" CORE_LOG_PATH="$LOG_DIR/core.log" # temp -TEMP_DIR="/var/run/nikki" -PID_FILE_PATH="$TEMP_DIR/nikki.pid" +TEMP_DIR="/var/run/nikkix" +PID_FILE_PATH="$TEMP_DIR/nikkix.pid" STARTED_FLAG_PATH="$TEMP_DIR/started.flag" BRIDGE_NF_CALL_IPTABLES_FLAG_PATH="$TEMP_DIR/bridge_nf_call_iptables.flag" BRIDGE_NF_CALL_IP6TABLES_FLAG_PATH="$TEMP_DIR/bridge_nf_call_ip6tables.flag" diff --git a/nikkix/files/uci-defaults/firewall.sh b/nikkix/files/uci-defaults/firewall.sh new file mode 100644 index 0000000000..107591d60b --- /dev/null +++ b/nikkix/files/uci-defaults/firewall.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +. "$IPKG_INSTROOT/etc/nikkix/scripts/include.sh" + +uci -q batch <<-EOF > /dev/null + del firewall.nikkix + set firewall.nikkix=include + set firewall.nikkix.type=script + set firewall.nikkix.path=$FIREWALL_INCLUDE_SH + set firewall.nikkix.fw4_compatible=1 + commit firewall +EOF diff --git a/nikkix/files/uci-defaults/init.sh b/nikkix/files/uci-defaults/init.sh new file mode 100644 index 0000000000..e69c992d12 --- /dev/null +++ b/nikkix/files/uci-defaults/init.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +. "$IPKG_INSTROOT/etc/nikkix/scripts/include.sh" + +# check nikkix.config.init +init=$(uci -q get nikkix.config.init); [ -z "$init" ] && return + +# generate random string for api secret and authentication password +random=$(awk 'BEGIN{srand(); printf "%06d", int(rand() * 1000000)}') + +# set nikkix.mixin.api_secret +uci set nikkix.mixin.api_secret="$random" + +# set nikkix.@authentication[0].password +uci set nikkix.@authentication[0].password="$random" + +# remove nikkix.config.init +uci del nikkix.config.init + +# commit +uci commit nikkix + +# exit with 0 +exit 0 diff --git a/nikkix/files/uci-defaults/migrate.sh b/nikkix/files/uci-defaults/migrate.sh new file mode 100644 index 0000000000..be4d949740 --- /dev/null +++ b/nikkix/files/uci-defaults/migrate.sh @@ -0,0 +1,208 @@ +#!/bin/sh + +. "$IPKG_INSTROOT/etc/nikkix/scripts/include.sh" + +# since v1.18.0 + +mixin_rule=$(uci -q get nikkix.mixin.rule); [ -z "$mixin_rule" ] && uci set nikkix.mixin.rule=0 + +mixin_rule_provider=$(uci -q get nikkix.mixin.rule_provider); [ -z "$mixin_rule_provider" ] && uci set nikkix.mixin.rule_provider=0 + +# since v1.19.0 + +mixin_ui_path=$(uci -q get nikkix.mixin.ui_path); [ -z "$mixin_ui_path" ] && uci set nikkix.mixin.ui_path=ui + +uci show nikkix | grep -E 'nikkix\.@rule\[[[:digit:]]+\].match=' | sed 's/nikkix.@rule\[\([[:digit:]]\+\)\].match=.*/rename nikkix.@rule[\1].match=matcher/' | uci batch + +# since v1.19.1 + +proxy_fake_ip_ping_hijack=$(uci -q get nikkix.proxy.fake_ip_ping_hijack); [ -z "$proxy_fake_ip_ping_hijack" ] && uci set nikkix.proxy.fake_ip_ping_hijack=0 + +# since v1.20.0 + +mixin_api_port=$(uci -q get nikkix.mixin.api_port); [ -n "$mixin_api_port" ] && { + uci del nikkix.mixin.api_port + uci set nikkix.mixin.api_listen="[::]:$mixin_api_port" +} + +mixin_dns_port=$(uci -q get nikkix.mixin.dns_port); [ -n "$mixin_dns_port" ] && { + uci del nikkix.mixin.dns_port + uci set nikkix.mixin.dns_listen="[::]:$mixin_dns_port" +} + +# since v1.22.0 + +proxy_transparent_proxy=$(uci -q get nikkix.proxy.transparent_proxy); [ -n "$proxy_transparent_proxy" ] && { + uci rename nikkix.proxy.transparent_proxy=enabled + uci rename nikkix.proxy.tcp_transparent_proxy_mode=tcp_mode + uci rename nikkix.proxy.udp_transparent_proxy_mode=udp_mode + + uci add nikkix router_access_control + uci set nikkix.@router_access_control[-1].enabled=1 + proxy_bypass_user=$(uci -q get nikkix.proxy.bypass_user); [ -n "$proxy_bypass_user" ] && { + for router_access_control_user in $proxy_bypass_user; do + uci add_list nikkix.@router_access_control[-1].user="$router_access_control_user" + done + } + proxy_bypass_group=$(uci -q get nikkix.proxy.bypass_group); [ -n "$proxy_bypass_group" ] && { + for router_access_control_group in $proxy_bypass_group; do + uci add_list nikkix.@router_access_control[-1].group="$router_access_control_group" + done + } + proxy_bypass_cgroup=$(uci -q get nikkix.proxy.bypass_cgroup); [ -n "$proxy_bypass_cgroup" ] && { + for router_access_control_cgroup in $proxy_bypass_cgroup; do + uci add_list nikkix.@router_access_control[-1].cgroup="$router_access_control_cgroup" + done + } + uci set nikkix.@router_access_control[-1].proxy=0 + + uci add nikkix router_access_control + uci set nikkix.@router_access_control[-1].enabled=1 + uci set nikkix.@router_access_control[-1].proxy=1 + + uci add_list nikkix.proxy.lan_inbound_interface=lan + + proxy_access_control_mode=$(uci -q get nikkix.proxy.access_control_mode) + + [ "$proxy_access_control_mode" != "all" ] && { + proxy_acl_ip=$(uci -q get nikkix.proxy.acl_ip); [ -n "$proxy_acl_ip" ] && { + for ip in $proxy_acl_ip; do + uci add nikkix lan_access_control + uci set nikkix.@lan_access_control[-1].enabled=1 + uci add_list nikkix.@lan_access_control[-1].ip="$ip" + [ "$proxy_access_control_mode" = "allow" ] && uci set nikkix.@lan_access_control[-1].proxy=1 + [ "$proxy_access_control_mode" = "block" ] && uci set nikkix.@lan_access_control[-1].proxy=0 + done + } + proxy_acl_ip6=$(uci -q get nikkix.proxy.acl_ip6); [ -n "$proxy_acl_ip6" ] && { + for ip6 in $proxy_acl_ip6; do + uci add nikkix lan_access_control + uci set nikkix.@lan_access_control[-1].enabled=1 + uci add_list nikkix.@lan_access_control[-1].ip6="$ip6" + [ "$proxy_access_control_mode" = "allow" ] && uci set nikkix.@lan_access_control[-1].proxy=1 + [ "$proxy_access_control_mode" = "block" ] && uci set nikkix.@lan_access_control[-1].proxy=0 + done + } + proxy_acl_mac=$(uci -q get nikkix.proxy.acl_mac); [ -n "$proxy_acl_mac" ] && { + for mac in $proxy_acl_mac; do + uci add nikkix lan_access_control + uci set nikkix.@lan_access_control[-1].enabled=1 + uci add_list nikkix.@lan_access_control[-1].mac="$mac" + [ "$proxy_access_control_mode" = "allow" ] && uci set nikkix.@lan_access_control[-1].proxy=1 + [ "$proxy_access_control_mode" = "block" ] && uci set nikkix.@lan_access_control[-1].proxy=0 + done + } + } + + [ "$proxy_access_control_mode" != "allow" ] && { + uci add nikkix lan_access_control + uci set nikkix.@lan_access_control[-1].enabled=1 + uci set nikkix.@lan_access_control[-1].proxy=1 + } + + uci del nikkix.proxy.access_control_mode + uci del nikkix.proxy.acl_ip + uci del nikkix.proxy.acl_ip6 + uci del nikkix.proxy.acl_mac + uci del nikkix.proxy.acl_interface + uci del nikkix.proxy.bypass_user + uci del nikkix.proxy.bypass_group + uci del nikkix.proxy.bypass_cgroup +} + +# since v1.23.0 + +routing=$(uci -q get nikkix.routing); [ -z "$routing" ] && { + uci set nikkix.routing=routing + uci set nikkix.routing.tproxy_fw_mark=0x80 + uci set nikkix.routing.tun_fw_mark=0x81 + uci set nikkix.routing.tproxy_rule_pref=1024 + uci set nikkix.routing.tun_rule_pref=1025 + uci set nikkix.routing.tproxy_route_table=80 + uci set nikkix.routing.tun_route_table=81 + uci set nikkix.routing.cgroup_id=0x12061206 + uci set nikkix.routing.cgroup_name=nikkix +} + +proxy_tun_timeout=$(uci -q get nikkix.proxy.tun_timeout); [ -z "$proxy_tun_timeout" ] && uci set nikkix.proxy.tun_timeout=30 + +proxy_tun_interval=$(uci -q get nikkix.proxy.tun_interval); [ -z "$proxy_tun_interval" ] && uci set nikkix.proxy.tun_interval=1 + +# since v1.23.1 + +uci show nikkix | grep -o -E 'nikkix\.@router_access_control\[[[:digit:]]+\]=router_access_control' | cut -d '=' -f 1 | while read -r router_access_control; do + for router_access_control_cgroup in $(uci -q get "$router_access_control.cgroup"); do + [ -d "/sys/fs/cgroup/$router_access_control_cgroup" ] && continue + [ -d "/sys/fs/cgroup/services/$router_access_control_cgroup" ] && { + uci del_list "$router_access_control.cgroup=$router_access_control_cgroup" + uci add_list "$router_access_control.cgroup=services/$router_access_control_cgroup" + } + done +done + +# since v1.23.3 + +uci show nikkix | grep -o -E 'nikkix\.@router_access_control\[[[:digit:]]+\]=router_access_control' | cut -d '=' -f 1 | while read -r router_access_control; do + router_access_control_proxy=$(uci -q get "$router_access_control.proxy") + router_access_control_dns=$(uci -q get "$router_access_control.dns") + [ -z "$router_access_control_dns" ] && uci set "$router_access_control.dns=$router_access_control_proxy" +done + +uci show nikkix | grep -o -E 'nikkix\.@lan_access_control\[[[:digit:]]+\]=lan_access_control' | cut -d '=' -f 1 | while read -r lan_access_control; do + lan_access_control_proxy=$(uci -q get "$lan_access_control.proxy") + lan_access_control_dns=$(uci -q get "$lan_access_control.dns") + [ -z "$lan_access_control_dns" ] && uci set "$lan_access_control.dns=$lan_access_control_proxy" +done + +# since v1.24.0 + +proxy_reserved_ip=$(uci -q get nikkix.proxy.reserved_ip); [ -z "$proxy_reserved_ip" ] && { + uci add_list nikkix.proxy.reserved_ip=0.0.0.0/8 + uci add_list nikkix.proxy.reserved_ip=10.0.0.0/8 + uci add_list nikkix.proxy.reserved_ip=127.0.0.0/8 + uci add_list nikkix.proxy.reserved_ip=100.64.0.0/10 + uci add_list nikkix.proxy.reserved_ip=169.254.0.0/16 + uci add_list nikkix.proxy.reserved_ip=172.16.0.0/12 + uci add_list nikkix.proxy.reserved_ip=192.168.0.0/16 + uci add_list nikkix.proxy.reserved_ip=224.0.0.0/4 + uci add_list nikkix.proxy.reserved_ip=240.0.0.0/4 +} + +proxy_reserved_ip6=$(uci -q get nikkix.proxy.reserved_ip6); [ -z "$proxy_reserved_ip6" ] && { + uci add_list nikkix.proxy.reserved_ip6=::/128 + uci add_list nikkix.proxy.reserved_ip6=::1/128 + uci add_list nikkix.proxy.reserved_ip6=::ffff:0:0/96 + uci add_list nikkix.proxy.reserved_ip6=100::/64 + uci add_list nikkix.proxy.reserved_ip6=64:ff9b::/96 + uci add_list nikkix.proxy.reserved_ip6=2001::/32 + uci add_list nikkix.proxy.reserved_ip6=2001:10::/28 + uci add_list nikkix.proxy.reserved_ip6=2001:20::/28 + uci add_list nikkix.proxy.reserved_ip6=2001:db8::/32 + uci add_list nikkix.proxy.reserved_ip6=2002::/16 + uci add_list nikkix.proxy.reserved_ip6=fc00::/7 + uci add_list nikkix.proxy.reserved_ip6=fe80::/10 + uci add_list nikkix.proxy.reserved_ip6=ff00::/8 +} + +# since v1.24.3 + +routing_tproxy_fw_mask=$(uci -q get nikkix.routing.tproxy_fw_mask); [ -z "$routing_tproxy_fw_mask" ] && uci set nikkix.routing.tproxy_fw_mask=0xFF +routing_tun_fw_mask=$(uci -q get nikkix.routing.tun_fw_mask); [ -z "$routing_tun_fw_mask" ] && uci set nikkix.routing.tun_fw_mask=0xFF + +procd=$(uci -q get nikkix.procd); [ -z "$procd" ] && { + uci set nikkix.procd=procd + uci set nikkix.procd.fast_reload=$(uci -q get nikkix.config.fast_reload) + uci set nikkix.procd.env_safe_paths=$(uci -q get nikkix.env.safe_paths) + uci set nikkix.procd.env_disable_loopback_detector=$(uci -q get nikkix.env.disable_loopback_detector) + uci set nikkix.procd.env_disable_quic_go_gso=$(uci -q get nikkix.env.disable_quic_go_gso) + uci set nikkix.procd.env_disable_quic_go_ecn=$(uci -q get nikkix.env.disable_quic_go_ecn) + uci set nikkix.procd.env_skip_system_ipv6_check=$(uci -q get nikkix.env.skip_system_ipv6_check) + uci del nikkix.config.fast_reload + uci del nikkix.env +} + +# commit +uci commit nikkix + +# exit with 0 +exit 0 diff --git a/nikki/files/ucode/hijack.ut b/nikkix/files/ucode/hijack.ut similarity index 92% rename from nikki/files/ucode/hijack.ut rename to nikkix/files/ucode/hijack.ut index 8b85362f99..b9ed25d5ac 100644 --- a/nikki/files/ucode/hijack.ut +++ b/nikkix/files/ucode/hijack.ut @@ -5,7 +5,7 @@ import { cursor } from 'uci'; import { connect } from 'ubus'; - import { uci_bool, uci_array, get_cgroups_version, get_users, get_groups, get_cgroups, load_profile } from '/etc/nikki/ucode/include.uc'; + import { uci_bool, uci_array, get_cgroups_version, get_users, get_groups, get_cgroups, load_profile } from '/etc/nikkix/ucode/include.uc'; const fw4 = require('fw4'); @@ -42,19 +42,19 @@ tun_device = profile['tun']['device']; } - uci.load('nikki'); + uci.load('nikkix'); - const tcp_mode = uci.get('nikki', 'proxy', 'tcp_mode'); - const udp_mode = uci.get('nikki', 'proxy', 'udp_mode'); - const ipv4_dns_hijack = uci_bool(uci.get('nikki', 'proxy', 'ipv4_dns_hijack')); - const ipv6_dns_hijack = uci_bool(uci.get('nikki', 'proxy', 'ipv6_dns_hijack')); - const ipv4_proxy = uci_bool(uci.get('nikki', 'proxy', 'ipv4_proxy')); - const ipv6_proxy = uci_bool(uci.get('nikki', 'proxy', 'ipv6_proxy')); - const fake_ip_ping_hijack = uci_bool(uci.get('nikki', 'proxy', 'fake_ip_ping_hijack')); + const tcp_mode = uci.get('nikkix', 'proxy', 'tcp_mode'); + const udp_mode = uci.get('nikkix', 'proxy', 'udp_mode'); + const ipv4_dns_hijack = uci_bool(uci.get('nikkix', 'proxy', 'ipv4_dns_hijack')); + const ipv6_dns_hijack = uci_bool(uci.get('nikkix', 'proxy', 'ipv6_dns_hijack')); + const ipv4_proxy = uci_bool(uci.get('nikkix', 'proxy', 'ipv4_proxy')); + const ipv6_proxy = uci_bool(uci.get('nikkix', 'proxy', 'ipv6_proxy')); + const fake_ip_ping_hijack = uci_bool(uci.get('nikkix', 'proxy', 'fake_ip_ping_hijack')); - const router_proxy = uci_bool(uci.get('nikki', 'proxy', 'router_proxy')); + const router_proxy = uci_bool(uci.get('nikkix', 'proxy', 'router_proxy')); const router_access_control = []; - uci.foreach('nikki', 'router_access_control', (access_control) => { + uci.foreach('nikkix', 'router_access_control', (access_control) => { access_control['enabled'] = uci_bool(access_control['enabled']); access_control['user'] = filter(uci_array(access_control['user']), (x) => index(users, x) >= 0); access_control['group'] = filter(uci_array(access_control['group']), (x) => index(groups, x) >= 0); @@ -64,8 +64,8 @@ push(router_access_control, access_control); }); - const lan_proxy = uci_bool(uci.get('nikki', 'proxy', 'lan_proxy')); - const lan_inbound_interface = uci_array(uci.get('nikki', 'proxy', 'lan_inbound_interface')); + const lan_proxy = uci_bool(uci.get('nikkix', 'proxy', 'lan_proxy')); + const lan_inbound_interface = uci_array(uci.get('nikkix', 'proxy', 'lan_inbound_interface')); const lan_inbound_device = []; for (let interface in lan_inbound_interface) { const status = ubus.call('network.interface', 'status', { 'interface': interface }); @@ -75,7 +75,7 @@ } } const lan_access_control = []; - uci.foreach('nikki', 'lan_access_control', (access_control) => { + uci.foreach('nikkix', 'lan_access_control', (access_control) => { access_control['enabled'] = uci_bool(access_control['enabled']); access_control['ip'] = uci_array(access_control['ip']); access_control['ip6'] = uci_array(access_control['ip6']); @@ -85,11 +85,11 @@ push(lan_access_control, access_control); }); - const reserved_ip = uci_array(uci.get('nikki', 'proxy', 'reserved_ip')); - const reserved_ip6 = uci_array(uci.get('nikki', 'proxy', 'reserved_ip6')); - const bypass_dscp = uci_array(uci.get('nikki', 'proxy', 'bypass_dscp')); + const reserved_ip = uci_array(uci.get('nikkix', 'proxy', 'reserved_ip')); + const reserved_ip6 = uci_array(uci.get('nikkix', 'proxy', 'reserved_ip6')); + const bypass_dscp = uci_array(uci.get('nikkix', 'proxy', 'bypass_dscp')); const bypass_fwmark = []; - for (let fwmark in uci_array(uci.get('nikki', 'proxy', 'bypass_fwmark'))) { + for (let fwmark in uci_array(uci.get('nikkix', 'proxy', 'bypass_fwmark'))) { let mark; let mask = '0xFFFFFFFF'; if (index(fwmark, '/') >= 0) { @@ -101,16 +101,16 @@ } push(bypass_fwmark, { mark: mark, mask: mask }); } - const proxy_tcp_dport = split((uci.get('nikki', 'proxy', 'proxy_tcp_dport') ?? '0-65535'), ' '); - const proxy_udp_dport = split((uci.get('nikki', 'proxy', 'proxy_udp_dport') ?? '0-65535'), ' '); + const proxy_tcp_dport = split((uci.get('nikkix', 'proxy', 'proxy_tcp_dport') ?? '0-65535'), ' '); + const proxy_udp_dport = split((uci.get('nikkix', 'proxy', 'proxy_udp_dport') ?? '0-65535'), ' '); - const cgroup_id = uci.get('nikki', 'routing', 'cgroup_id') ?? '0x12061206'; - const cgroup_name = uci.get('nikki', 'routing', 'cgroup_name') ?? 'nikki'; - const tproxy_fw_mark = uci.get('nikki', 'routing', 'tproxy_fw_mark') ?? '0x80'; - const tproxy_fw_mask = uci.get('nikki', 'routing', 'tproxy_fw_mask') ?? '0xFF'; + const cgroup_id = uci.get('nikkix', 'routing', 'cgroup_id') ?? '0x12061206'; + const cgroup_name = uci.get('nikkix', 'routing', 'cgroup_name') ?? 'nikkix'; + const tproxy_fw_mark = uci.get('nikkix', 'routing', 'tproxy_fw_mark') ?? '0x80'; + const tproxy_fw_mask = uci.get('nikkix', 'routing', 'tproxy_fw_mask') ?? '0xFF'; const tproxy_fw_umask = fw4.hex(~tproxy_fw_mask & 0xFFFFFFFF); - const tun_fw_mark = uci.get('nikki', 'routing', 'tun_fw_mark') ?? '0x81'; - const tun_fw_mask = uci.get('nikki', 'routing', 'tun_fw_mask') ?? '0xFF'; + const tun_fw_mark = uci.get('nikkix', 'routing', 'tun_fw_mark') ?? '0x81'; + const tun_fw_mask = uci.get('nikkix', 'routing', 'tun_fw_mask') ?? '0xFF'; const tun_fw_umask = fw4.hex(~tun_fw_mask & 0xFFFFFFFF); const dns_hijack_nfproto = []; @@ -138,7 +138,7 @@ } -%} -table inet nikki { +table inet nikkix { {% if (length(dns_hijack_nfproto) > 0): %} set dns_hijack_nfproto { type nf_proto diff --git a/nikki/files/ucode/include.uc b/nikkix/files/ucode/include.uc similarity index 95% rename from nikki/files/ucode/include.uc rename to nikkix/files/ucode/include.uc index 97f824f12f..db0eec0fdc 100644 --- a/nikki/files/ucode/include.uc +++ b/nikkix/files/ucode/include.uc @@ -78,10 +78,10 @@ export function get_cgroups() { export function load_profile() { let result = {}; - const process = popen('yq -M -p yaml -o json /etc/nikki/run/config.yaml'); + const process = popen('yq -M -p yaml -o json /etc/nikkix/run/config.yaml'); if (process) { result = json(process); process.close(); } return result; -}; \ No newline at end of file +}; diff --git a/nikkix/files/ucode/mixin.uc b/nikkix/files/ucode/mixin.uc new file mode 100644 index 0000000000..796a2b9593 --- /dev/null +++ b/nikkix/files/ucode/mixin.uc @@ -0,0 +1,196 @@ +#!/usr/bin/ucode + +'use strict'; + +import { cursor } from 'uci'; +import { connect } from 'ubus'; +import { uci_bool, uci_int, uci_array, trim_all } from '/etc/nikkix/ucode/include.uc'; + +const uci = cursor(); +const ubus = connect(); + +const config = {}; + +const outbound_interface = uci.get('nikkix', 'mixin', 'outbound_interface'); +const outbound_interface_status = ubus.call('network.interface', 'status', { 'interface': outbound_interface }); +const outbound_device = outbound_interface_status?.l3_device ?? outbound_interface_status?.device ?? ''; + +config['log-level'] = uci.get('nikkix', 'mixin', 'log_level'); +config['mode'] = uci.get('nikkix', 'mixin', 'mode'); +config['find-process-mode'] = uci.get('nikkix', 'mixin', 'match_process'); +config['interface-name'] = outbound_device; +config['ipv6'] = uci_bool(uci.get('nikkix', 'mixin', 'ipv6')); +config['unified-delay'] = uci_bool(uci.get('nikkix', 'mixin', 'unify_delay')); +config['tcp-concurrent'] = uci_bool(uci.get('nikkix', 'mixin', 'tcp_concurrent')); +config['disable-keep-alive'] = uci_bool(uci.get('nikkix', 'mixin', 'disable_tcp_keep_alive')); +config['keep-alive-idle'] = uci_int(uci.get('nikkix', 'mixin', 'tcp_keep_alive_idle')); +config['keep-alive-interval'] = uci_int(uci.get('nikkix', 'mixin', 'tcp_keep_alive_interval')); +config['global-client-fingerprint'] = uci.get('nikkix', 'mixin', 'global_client_fingerprint'); + +config['external-ui'] = uci.get('nikkix', 'mixin', 'ui_path'); +config['external-ui-name'] = uci.get('nikkix', 'mixin', 'ui_name'); +config['external-ui-url'] = uci.get('nikkix', 'mixin', 'ui_url'); +config['external-controller'] = uci.get('nikkix', 'mixin', 'api_listen'); +config['secret'] = uci.get('nikkix', 'mixin', 'api_secret'); + +config['allow-lan'] = uci_bool(uci.get('nikkix', 'mixin', 'allow_lan')); +config['port'] = uci_int(uci.get('nikkix', 'mixin', 'http_port')); +config['socks-port'] = uci_int(uci.get('nikkix', 'mixin', 'socks_port')); +config['mixed-port'] = uci_int(uci.get('nikkix', 'mixin', 'mixed_port')); +config['redir-port'] = uci_int(uci.get('nikkix', 'mixin', 'redir_port')); +config['tproxy-port'] = uci_int(uci.get('nikkix', 'mixin', 'tproxy_port')); + +if (uci_bool(uci.get('nikkix', 'mixin', 'authentication'))) { + config['authentication'] = []; + uci.foreach('nikkix', 'authentication', (section) => { + if (!uci_bool(section.enabled)) { + return; + } + push(config['authentication'], `${section.username}:${section.password}`); + }); +} + +config['tun'] = {}; +config['tun']['enable'] = uci_bool(uci.get('nikkix', 'mixin', 'tun_enabled')); +config['tun']['device'] = uci.get('nikkix', 'mixin', 'tun_device'); +config['tun']['stack'] = uci.get('nikkix', 'mixin', 'tun_stack'); +config['tun']['mtu'] = uci_int(uci.get('nikkix', 'mixin', 'tun_mtu')); +config['tun']['gso'] = uci_bool(uci.get('nikkix', 'mixin', 'tun_gso')); +config['tun']['gso-max-size'] = uci_int(uci.get('nikkix', 'mixin', 'tun_gso_max_size')); +if (uci_bool(uci.get('nikkix', 'mixin', 'tun_dns_hijack'))) { + config['tun']['dns-hijack'] = uci_array(uci.get('nikkix', 'mixin', 'tun_dns_hijacks')); +} +if (uci_bool(uci.get('nikkix', 'proxy', 'enabled'))) { + config['tun']['auto-route'] = false; + config['tun']['auto-redirect'] = false; + config['tun']['auto-detect-interface'] = false; +} + +config['dns'] = {}; +config['dns']['enable'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_enabled')); +config['dns']['cache-algorithm'] = uci.get('nikkix', 'mixin', 'dns_cache_algorithm'); +config['dns']['listen'] = uci.get('nikkix', 'mixin', 'dns_listen'); +config['dns']['ipv6'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_ipv6')); +config['dns']['enhanced-mode'] = uci.get('nikkix', 'mixin', 'dns_mode'); +config['dns']['fake-ip-range'] = uci.get('nikkix', 'mixin', 'fake_ip_range'); +config['dns']['fake-ip-range6'] = uci.get('nikkix', 'mixin', 'fake_ip6_range'); +config['dns']['fake-ip-ttl'] = uci_int(uci.get('nikkix', 'mixin', 'fake_ip_ttl')); +if (uci_bool(uci.get('nikkix', 'mixin', 'fake_ip_filter'))) { + config['dns']['fake-ip-filter'] = uci_array(uci.get('nikkix', 'mixin', 'fake_ip_filters')); +} +config['dns']['fake-ip-filter-mode'] = uci.get('nikkix', 'mixin', 'fake_ip_filter_mode'); + +config['dns']['respect-rules'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_respect_rules')); +config['dns']['prefer-h3'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_doh_prefer_http3')); +config['dns']['direct-nameserver-follow-policy'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_direct_nameserver_follow_policy')); +config['dns']['use-system-hosts'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_system_hosts')); +config['dns']['use-hosts'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_hosts')); +if (uci_bool(uci.get('nikkix', 'mixin', 'hosts'))) { + config['hosts'] = {}; + uci.foreach('nikkix', 'hosts', (section) => { + if (!uci_bool(section.enabled)) { + return; + } + config['hosts'][section.domain_name] = uci_array(section.ip); + }); +} +if (uci_bool(uci.get('nikkix', 'mixin', 'dns_nameserver'))) { + config['dns']['default-nameserver'] = []; + config['dns']['proxy-server-nameserver'] = []; + config['dns']['direct-nameserver'] = []; + config['dns']['nameserver'] = []; + config['dns']['fallback'] = []; + uci.foreach('nikkix', 'nameserver', (section) => { + if (!uci_bool(section.enabled)) { + return; + } + push(config['dns'][section.type], ...uci_array(section.nameserver)); + }) +} +if (uci_bool(uci.get('nikkix', 'mixin', 'dns_nameserver_policy'))) { + config['dns']['nameserver-policy'] = {}; + uci.foreach('nikkix', 'nameserver_policy', (section) => { + if (!uci_bool(section.enabled)) { + return; + } + config['dns']['nameserver-policy'][section.matcher] = uci_array(section.nameserver); + }); +} + +config['sniffer'] = {}; +config['sniffer']['enable'] = uci_bool(uci.get('nikkix', 'mixin', 'sniffer')); +config['sniffer']['force-dns-mapping'] = uci_bool(uci.get('nikkix', 'mixin', 'sniffer_sniff_dns_mapping')); +config['sniffer']['parse-pure-ip'] = uci_bool(uci.get('nikkix', 'mixin', 'sniffer_sniff_pure_ip')); +if (uci_bool(uci.get('nikkix', 'mixin', 'sniffer_force_domain_name'))) { + config['sniffer']['force-domain'] = uci_array(uci.get('nikkix', 'mixin', 'sniffer_force_domain_names')); +} +if (uci_bool(uci.get('nikkix', 'mixin', 'sniffer_ignore_domain_name'))) { + config['sniffer']['skip-domain'] = uci_array(uci.get('nikkix', 'mixin', 'sniffer_ignore_domain_names')); +} +if (uci_bool(uci.get('nikkix', 'mixin', 'sniffer_sniff'))) { + config['sniffer']['sniff'] = {}; + config['sniffer']['sniff']['HTTP'] = {}; + config['sniffer']['sniff']['TLS'] = {}; + config['sniffer']['sniff']['QUIC'] = {}; + uci.foreach('nikkix', 'sniff', (section) => { + if (!uci_bool(section.enabled)) { + return; + } + config['sniffer']['sniff'][section.protocol]['port'] = uci_array(section.port); + config['sniffer']['sniff'][section.protocol]['override-destination'] = uci_bool(section.overwrite_destination); + }); +} + +config['profile'] = {}; +config['profile']['store-selected'] = uci_bool(uci.get('nikkix', 'mixin', 'selection_cache')); +config['profile']['store-fake-ip'] = uci_bool(uci.get('nikkix', 'mixin', 'fake_ip_cache')); + +if (uci_bool(uci.get('nikkix', 'mixin', 'rule_provider'))) { + config['rule-providers'] = {}; + uci.foreach('nikkix', 'rule_provider', (section) => { + if (!uci_bool(section.enabled)) { + return; + } + if (section.type == 'http') { + config['rule-providers'][section.name] = { + type: section.type, + url: section.url, + proxy: section.node, + size_limit: section.file_size_limit, + format: section.file_format, + behavior: section.behavior, + interval: section.update_interval, + } + } else if (section.type == 'file') { + config['rule-providers'][section.name] = { + type: section.type, + path: section.file_path, + format: section.file_format, + behavior: section.behavior, + } + } + }) +} +if (uci_bool(uci.get('nikkix', 'mixin', 'rule'))) { + config['nikkix-rules'] = []; + uci.foreach('nikkix', 'rule', (section) => { + if (!uci_bool(section.enabled)) { + return; + } + const rule = [ section.type, section.matcher, section.node, uci_bool(section.no_resolve) ? 'no-resolve' : null ]; + push(config['nikkix-rules'], join(',', filter(rule, (item) => item != null && item != ''))); + }) +} + +const geoip_format = uci.get('nikkix', 'mixin', 'geoip_format'); +config['geodata-mode'] = geoip_format == null ? null : geoip_format == 'dat'; +config['geodata-loader'] = uci.get('nikkix', 'mixin', 'geodata_loader'); +config['geox-url'] = {}; +config['geox-url']['geosite'] = uci.get('nikkix', 'mixin', 'geosite_url'); +config['geox-url']['mmdb'] = uci.get('nikkix', 'mixin', 'geoip_mmdb_url'); +config['geox-url']['geoip'] = uci.get('nikkix', 'mixin', 'geoip_dat_url'); +config['geox-url']['asn'] = uci.get('nikkix', 'mixin', 'geoip_asn_url'); +config['geo-auto-update'] = uci_bool(uci.get('nikkix', 'mixin', 'geox_auto_update')); +config['geo-update-interval'] = uci_int(uci.get('nikkix', 'mixin', 'geox_update_interval')); + +print(trim_all(config)); diff --git a/uninstall.sh b/uninstall.sh index 9720daaead..64785595db 100644 --- a/uninstall.sh +++ b/uninstall.sh @@ -1,36 +1,36 @@ #!/bin/sh -# Nikki's uninstaller +# Nikkix's uninstaller # uninstall if [ -x "/bin/opkg" ]; then - opkg list-installed luci-i18n-nikki-* | cut -d ' ' -f 1 | xargs opkg remove - opkg remove luci-app-nikki - opkg remove nikki + opkg list-installed luci-i18n-nikkix-* | cut -d ' ' -f 1 | xargs opkg remove + opkg remove luci-app-nikkix + opkg remove nikkix elif [ -x "/usr/bin/apk" ]; then - apk list --installed --manifest luci-i18n-nikki-* | cut -d ' ' -f 1 | xargs apk del - apk del luci-app-nikki - apk del nikki + apk list --installed --manifest luci-i18n-nikkix-* | cut -d ' ' -f 1 | xargs apk del + apk del luci-app-nikkix + apk del nikkix fi # remove config -rm -f /etc/config/nikki +rm -f /etc/config/nikkix # remove files -rm -rf /etc/nikki +rm -rf /etc/nikkix # remove log -rm -rf /var/log/nikki +rm -rf /var/log/nikkix # remove temp -rm -rf /var/run/nikki +rm -rf /var/run/nikkix # remove feed if [ -x "/bin/opkg" ]; then - if grep -q nikki /etc/opkg/customfeeds.conf; then - sed -i '/nikki/d' /etc/opkg/customfeeds.conf + if grep -q nikkix /etc/opkg/customfeeds.conf; then + sed -i '/nikkix/d' /etc/opkg/customfeeds.conf fi - wget -O "nikki.pub" "https://glantswrt.pages.dev/key-build.pub" - opkg-key remove nikki.pub - rm -f nikki.pub + wget -O "nikkix.pub" "https://glantswrt.pages.dev/key-build.pub" + opkg-key remove nikkix.pub + rm -f nikkix.pub elif [ -x "/usr/bin/apk" ]; then - if grep -q nikki /etc/apk/repositories.d/customfeeds.list; then - sed -i '/nikki/d' /etc/apk/repositories.d/customfeeds.list + if grep -q nikkix /etc/apk/repositories.d/customfeeds.list; then + sed -i '/nikkix/d' /etc/apk/repositories.d/customfeeds.list fi - rm -f /etc/apk/keys/nikki.pem + rm -f /etc/apk/keys/nikkix.pem fi From 88fa688a4f986de987ed66e61388ea02de2f8bee Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Fri, 9 Jan 2026 05:55:11 +0300 Subject: [PATCH 18/46] fix: readme, changed runners --- .github/workflows/build-packages.yml | 2 +- .github/workflows/release-packages.yml | 2 +- .github/workflows/test-packages.yml | 2 +- README.md | 1 + README.ru.md | 5 ++++- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-packages.yml b/.github/workflows/build-packages.yml index 8166bfd81e..8431bb3137 100644 --- a/.github/workflows/build-packages.yml +++ b/.github/workflows/build-packages.yml @@ -6,7 +6,7 @@ on: jobs: build: name: ${{ matrix.arch }}-${{ matrix.branch }} build - runs-on: arc-runner-set-openwrt-nikki + runs-on: arc-runner-set-nikkix strategy: fail-fast: false matrix: diff --git a/.github/workflows/release-packages.yml b/.github/workflows/release-packages.yml index ebfd33faf9..00c6eaebe6 100644 --- a/.github/workflows/release-packages.yml +++ b/.github/workflows/release-packages.yml @@ -9,7 +9,7 @@ on: jobs: release: name: ${{ matrix.arch }}-${{ matrix.branch }} release - runs-on: arc-runner-set-openwrt-nikki + runs-on: arc-runner-set-nikkix continue-on-error: true strategy: fail-fast: false diff --git a/.github/workflows/test-packages.yml b/.github/workflows/test-packages.yml index 57162f5f2f..6e6aac424d 100644 --- a/.github/workflows/test-packages.yml +++ b/.github/workflows/test-packages.yml @@ -6,7 +6,7 @@ on: jobs: build: name: ${{ matrix.arch }}-${{ matrix.branch }} build - runs-on: arc-runner-set-openwrt-nikki + runs-on: arc-runner-set-nikkix strategy: fail-fast: false matrix: diff --git a/README.md b/README.md index 585428f211..33f5e94917 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Changes in this fork: - Access Control - Profile Mixin - Profile Editor +- Profile Updater - Scheduled Restart - HWID Support diff --git a/README.ru.md b/README.ru.md index 7fdcf0f89a..73b30c77bd 100644 --- a/README.ru.md +++ b/README.ru.md @@ -1,4 +1,6 @@ -[English](README.md)| [中文](README.zh.md) | Русский +![GitHub License](https://img.shields.io/github/license/mglants/nikkix?style=for-the-badge&logo=github) ![GitHub Tag](https://img.shields.io/github/v/release/mglants/nikkix?style=for-the-badge&logo=github) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/mglants/nikkix/total?style=for-the-badge&logo=github) ![GitHub Repo stars](https://img.shields.io/github/stars/mglants/nikkix?style=for-the-badge&logo=github) [![Telegram](https://img.shields.io/badge/Telegram-gray?style=for-the-badge&logo=telegram)](https://t.me/nikkixnikkix_org) + +[English](README.md) | Русский # Nikkix @@ -27,6 +29,7 @@ - Контроль доступа - Объединение профилей (Profile Mixin) - Редактор профилей +- Автоматическое обновление профилей - Плановый перезапуск - Поддержка HWID From 4356045d44058541ae9bd6182f4d2c5c81001638 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Fri, 9 Jan 2026 05:59:58 +0300 Subject: [PATCH 19/46] fix: readme --- README.ru.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.ru.md b/README.ru.md index 73b30c77bd..7651ab60a0 100644 --- a/README.ru.md +++ b/README.ru.md @@ -14,7 +14,7 @@ Изменения: - Поддержка HWID -- Удаление китйских листов +- Удалены китйские листы и DNS серверы - TPROXY по дефолту ## Требования From e0cb69775e1c82f311fe2825d07e33d872a29112 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sat, 10 Jan 2026 02:55:02 +0300 Subject: [PATCH 20/46] feat: fix hash calculation --- .ci/scripts/get_PKG_MIRROR_HASH.sh | 92 ++++++++++++++++++++++++++++++ .github/workflows/dependabot.yml | 43 ++++++-------- 2 files changed, 109 insertions(+), 26 deletions(-) create mode 100755 .ci/scripts/get_PKG_MIRROR_HASH.sh diff --git a/.ci/scripts/get_PKG_MIRROR_HASH.sh b/.ci/scripts/get_PKG_MIRROR_HASH.sh new file mode 100755 index 0000000000..30c2c7c5e7 --- /dev/null +++ b/.ci/scripts/get_PKG_MIRROR_HASH.sh @@ -0,0 +1,92 @@ +#!/bin/bash +# https://github.com/openwrt/openwrt/blob/main/include/download.mk + +export MAKEFILE="${MAKEFILE:-Makefile}" \ +&& cd "$(dirname "$MAKEFILE")" \ +&& export MAKEFILE="$(basename "$MAKEFILE")" +export TOPDIR="$1" +export STAGING_DIR_HOST="${TOPDIR}/staging_dir/host" + +export PATH="${STAGING_DIR_HOST}/bin:${PATH}" +MKFILE="$(sed -n '1,/^include \$(INCLUDE_DIR)\/package.mk/{s|:=|=|g;s|(|{|g;s|)|}|g;p}' "$MAKEFILE")" + +set_value() { + local val="$(echo "$MKFILE" | $([ -n "$3" ] && echo sed '1!G;h;$!d' || echo cat) | sed -n "${2}p" | sed -n 's|^'"$1"'=\(.*\)|\1|p')" + eval "export $1=\"$val\"" +} + +set_value PKG_UPSTREAM_NAME +set_value PKG_NAME +set_value PKG_UPSTREAM_VERSION +set_value PKG_UPSTREAM_GITHASH +set_value PKG_VERSION + +set_value PKG_SOURCE_URL '/^PKG_SOURCE_PROTO=git/,/^PKG_SOURCE_URL=/' +[ -n "$PKG_SOURCE_URL" ] || set_value PKG_SOURCE_URL '/^PKG_SOURCE_PROTO=git/,/^PKG_SOURCE_URL=/' 1 +set_value PKG_SOURCE_VERSION +set_value PKG_SOURCE_SUBMODULES + +set_value PKG_SOURCE_SUBDIR +[ -n "$PKG_SOURCE_SUBDIR" ] || export PKG_SOURCE_SUBDIR="${PKG_NAME}-${PKG_VERSION}" +set_value PKG_SOURCE '/^PKG_SOURCE_PROTO=git/,/^PKG_SOURCE=/' +[ -n "$PKG_SOURCE" ] || set_value PKG_SOURCE '/^PKG_SOURCE_PROTO=git/,/^PKG_SOURCE=/' 1 +[ -n "$PKG_SOURCE" ] || export PKG_SOURCE="${PKG_SOURCE_SUBDIR}.tar.zst" + + + +# sub-functions +# define dl_pack +dl_pack() { + case "${1##*.}" in + bz2) echo "bzip2 -c > $1";; + gz) echo "gzip -nc > $1";; + xz) echo "xz -zc -7e > $1";; + zst) echo "zstd -T0 --ultra -20 -c > $1";; + *) + >&2 echo "ERROR: Unknown pack format for file $1" + return 1 + ;; + esac +} + +# define dl_tar_pack +dl_tar_pack() { + eval "tar --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \ + \${TAR_TIMESTAMP:+--mtime=\"\$TAR_TIMESTAMP\"} -c $2 | $(dl_pack $1)" +} + +# define DownloadMethod/rawgit +DownloadRawgit() { + local URL="$PKG_SOURCE_URL" \ + SOURCE_VERSION="$PKG_SOURCE_VERSION" \ + SUBMODULES="$PKG_SOURCE_SUBMODULES" \ + FILE="$PKG_SOURCE" \ + SUBDIR="$PKG_SOURCE_SUBDIR" + + local OPTS="--no-checkout" + + echo "Checking out files from the git repository..." + umask 022 + rm -rf ${SUBDIR} + git clone ${OPTS} ${URL} ${SUBDIR} + (cd ${SUBDIR} && umask 022 && git checkout ${SOURCE_VERSION}) + export TAR_TIMESTAMP=`cd ${SUBDIR} && git log -1 --format='@%ct'` + + echo "Generating formal git archive (apply .gitattributes rules)" + (cd ${SUBDIR} && git config core.abbrev 8 && git archive --format=tar HEAD --output=../${SUBDIR}.tar.git) + grep -q '\bskip\b' <<< "${SUBMODULES}" || tar --ignore-failed-read -C ${SUBDIR} -f ${SUBDIR}.tar.git -r .git .gitmodules 2>/dev/null + + rm -rf ${SUBDIR} && mkdir ${SUBDIR} + tar -C ${SUBDIR} -xf ${SUBDIR}.tar.git + (cd ${SUBDIR} && { grep -q '\bskip\b' <<< "${SUBMODULES}" || git submodule update --init --recursive -- ${SUBMODULES} && rm -rf .git .gitmodules; }) + + echo "Packing checkout..." + dl_tar_pack ${FILE} ${SUBDIR} + echo "MIRROR_HASH: $(sha256sum ${FILE})" + rm -rf ${SUBDIR}.tar.git ${SUBDIR} ${FILE} +} + +# Main +DownloadRawgit +echo -ne "Press any key to continue..." +read -n 1 -s -r -t 60 diff --git a/.github/workflows/dependabot.yml b/.github/workflows/dependabot.yml index b9a5fd4aa4..e0becc179d 100644 --- a/.github/workflows/dependabot.yml +++ b/.github/workflows/dependabot.yml @@ -11,7 +11,6 @@ jobs: outputs: pkg_source_version: ${{ steps.info.outputs.pkg_source_version }} pkg_mirror_hash: ${{ steps.info.outputs.pkg_mirror_hash }} - pkg_build_version: ${{ steps.info.outputs.pkg_build_version }} steps: - id: checkout name: checkout @@ -25,15 +24,10 @@ jobs: run: | echo "pkg_source_version=$(grep "PKG_SOURCE_VERSION:=" nikkix/nikkix/Makefile | cut -d '=' -f 2)" >> $GITHUB_OUTPUT echo "pkg_mirror_hash=$(grep "PKG_MIRROR_HASH:=" nikkix/nikkix/Makefile | cut -d '=' -f 2)" >> $GITHUB_OUTPUT - echo "pkg_build_version=$(grep "PKG_BUILD_VERSION:=" nikkix/nikkix/Makefile | cut -d '=' -f 2)" >> $GITHUB_OUTPUT get_latest_info: runs-on: ubuntu-latest outputs: - version_tag: ${{ steps.info.outputs.version_tag }} - commit_date: ${{ steps.info.outputs.commit_date }} - commit_sha: ${{ steps.info.outputs.commit_sha }} - short_commit_sha: ${{ steps.info.outputs.short_commit_sha }} - checksum: ${{ steps.info.outputs.checksum }} + pkg_target_version: ${{ steps.info.outputs.pkg_target_version }} steps: - name: checkout uses: actions/checkout@v4 @@ -54,24 +48,14 @@ jobs: git -C mihomo tag -l 'v[0-9]*' | sort -V | tail -n 1 )" - echo "version_tag=$latest_tag" >> "$GITHUB_OUTPUT" + echo "pkg_target_version=$latest_tag" >> "$GITHUB_OUTPUT" - git -C mihomo checkout -q "$latest_tag" - - echo "commit_date=$(git -C mihomo log -n 1 --format=%cs)" >> "$GITHUB_OUTPUT" - echo "commit_sha=$(git -C mihomo rev-parse HEAD)" >> "$GITHUB_OUTPUT" - echo "short_commit_sha=$(git -C mihomo rev-parse --short HEAD)" >> "$GITHUB_OUTPUT" - - git -C mihomo config tar.xz.command "xz -c" - git -C mihomo archive --output=mihomo.tar.xz HEAD - - echo "checksum=$(sha256sum mihomo.tar.xz | awk '{print $1}')" >> "$GITHUB_OUTPUT" update: needs: - get_current_info - get_latest_info - if: ${{ needs.get_current_info.outputs.pkg_source_version != needs.get_latest_info.outputs.version_tag }} + if: ${{ needs.get_current_info.outputs.pkg_source_version != needs.get_latest_info.outputs.pkg_target_version }} runs-on: ubuntu-latest steps: - id: checkout @@ -85,22 +69,29 @@ jobs: name: update run: | sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=1/" nikkix/nikkix/Makefile - sed -i "s/PKG_SOURCE_DATE:=.*/PKG_SOURCE_DATE:=${{ needs.get_latest_info.outputs.commit_date }}/" nikkix/nikkix/Makefile - sed -i "s/PKG_SOURCE_VERSION:=.*/PKG_SOURCE_VERSION:=${{ needs.get_latest_info.outputs.version_tag }}/" nikkix/nikkix/Makefile + sed -i "s/PKG_SOURCE_VERSION:=.*/PKG_SOURCE_VERSION:=${{ needs.get_latest_info.outputs.pkg_target_version }}/" nikkix/nikkix/Makefile sed -i "s/PKG_MIRROR_HASH:=.*/PKG_MIRROR_HASH:=${{ needs.get_latest_info.outputs.checksum }}/" nikkix/nikkix/Makefile - sed -i "s/PKG_BUILD_VERSION:=.*/PKG_BUILD_VERSION:=${{ needs.get_latest_info.outputs.version_tag }}/" nikkix/nikkix/Makefile + - name: Calculate PKG_MIRROR_HASH + id: hash_cals + shell: bash + env: + MAKEFILE: ./nikkix/Makefile + run: | + pkg_mirror_hash=$(.ci/scripts/get_PKG_MIRROR_HASH.sh | grep '^MIRROR_HASH: ' | awk '{print $2}') + echo "PKG_MIRROR_HASH=$pkg_mirror_hash" + sed -i "s|^\(PKG_MIRROR_HASH\b.*\)=.*|\1=$pkg_mirror_hash|" "$MAKEFILE" - id: pr name: pr uses: peter-evans/create-pull-request@v6 with: path: nikkix branch: dependabot - commit-message: "build: bump mihomo to ${{ needs.get_latest_info.outputs.version_tag }}" - title: "build: bump mihomo to ${{ needs.get_latest_info.outputs.version_tag }}" + commit-message: "build: bump mihomo to ${{ needs.get_latest_info.outputs.pkg_target_version }}" + title: "build: bump mihomo to ${{ needs.get_latest_info.outputs.pkg_target_version }}" body: | Stable release update - **mihomo:** `${{ needs.get_latest_info.outputs.version_tag }}` + **mihomo:** `${{ needs.get_latest_info.outputs.pkg_target_version }}` 🔗 Changelog: - https://github.com/MetaCubeX/mihomo/compare/${{ needs.get_current_info.outputs.pkg_source_version }}...${{ needs.get_latest_info.outputs.version_tag }} + https://github.com/MetaCubeX/mihomo/compare/${{ needs.get_current_info.outputs.pkg_source_version }}...${{ needs.get_latest_info.outputs.pkg_target_version }} From 5e3ff184e3b732314ebd1dcc3b80f328a4961983 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sat, 10 Jan 2026 02:57:29 +0300 Subject: [PATCH 21/46] try: dependabot --- nikkix/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nikkix/Makefile b/nikkix/Makefile index 0db62ed88c..78e654989d 100644 --- a/nikkix/Makefile +++ b/nikkix/Makefile @@ -8,8 +8,8 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git -PKG_SOURCE_VERSION:=v1.19.18 -PKG_MIRROR_HASH:=caef858125b3d6334efbe86f9804012a8ddb5451154ff29d7d41b2c7a230cc7e +PKG_SOURCE_VERSION:=v1.19.17 +PKG_MIRROR_HASH:=04103b61c6d0509f12028e8ff3129454adfaee9bf7cdd219f5b36cdfe2d81e92 PKG_LICENSE:=GPL3.0+ PKG_MAINTAINER:=Joseph Mory From f68db31135483d3ab2360b4fc1261f16e3a3fbcc Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sat, 10 Jan 2026 03:01:44 +0300 Subject: [PATCH 22/46] fix: script location --- .github/workflows/dependabot.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dependabot.yml b/.github/workflows/dependabot.yml index e0becc179d..f0fbf63948 100644 --- a/.github/workflows/dependabot.yml +++ b/.github/workflows/dependabot.yml @@ -75,9 +75,9 @@ jobs: id: hash_cals shell: bash env: - MAKEFILE: ./nikkix/Makefile + MAKEFILE: nikkix/nikkix/Makefile run: | - pkg_mirror_hash=$(.ci/scripts/get_PKG_MIRROR_HASH.sh | grep '^MIRROR_HASH: ' | awk '{print $2}') + pkg_mirror_hash=$(nikkix/.ci/scripts/get_PKG_MIRROR_HASH.sh | grep '^MIRROR_HASH: ' | awk '{print $2}') echo "PKG_MIRROR_HASH=$pkg_mirror_hash" sed -i "s|^\(PKG_MIRROR_HASH\b.*\)=.*|\1=$pkg_mirror_hash|" "$MAKEFILE" - id: pr From 74c2bb97c61d345b6be9fa4755592be9a240fe9c Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sat, 10 Jan 2026 03:06:43 +0300 Subject: [PATCH 23/46] fix: ending --- .ci/scripts/get_PKG_MIRROR_HASH.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/scripts/get_PKG_MIRROR_HASH.sh b/.ci/scripts/get_PKG_MIRROR_HASH.sh index 30c2c7c5e7..6ed6412368 100755 --- a/.ci/scripts/get_PKG_MIRROR_HASH.sh +++ b/.ci/scripts/get_PKG_MIRROR_HASH.sh @@ -89,4 +89,4 @@ DownloadRawgit() { # Main DownloadRawgit echo -ne "Press any key to continue..." -read -n 1 -s -r -t 60 +read -n 1 -s -r -t 60 || true From aa2c455047ccb6edd26164c6bc87c27782f523b5 Mon Sep 17 00:00:00 2001 From: mglants <35956828+mglants@users.noreply.github.com> Date: Sat, 10 Jan 2026 00:07:17 +0000 Subject: [PATCH 24/46] build: bump mihomo to v1.19.18 --- nikkix/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nikkix/Makefile b/nikkix/Makefile index 78e654989d..effdef3b35 100644 --- a/nikkix/Makefile +++ b/nikkix/Makefile @@ -8,7 +8,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git -PKG_SOURCE_VERSION:=v1.19.17 +PKG_SOURCE_VERSION:=v1.19.18 PKG_MIRROR_HASH:=04103b61c6d0509f12028e8ff3129454adfaee9bf7cdd219f5b36cdfe2d81e92 PKG_LICENSE:=GPL3.0+ From 58e916b1ae93b4a73b64f7967eb5c3be1b687d6f Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sat, 10 Jan 2026 03:21:19 +0300 Subject: [PATCH 25/46] feat: make version really first --- .github/workflows/dependabot.yml | 7 +++++++ luci-app-nikkix/Makefile | 2 +- nikkix/Makefile | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dependabot.yml b/.github/workflows/dependabot.yml index f0fbf63948..68c3198bd7 100644 --- a/.github/workflows/dependabot.yml +++ b/.github/workflows/dependabot.yml @@ -80,6 +80,13 @@ jobs: pkg_mirror_hash=$(nikkix/.ci/scripts/get_PKG_MIRROR_HASH.sh | grep '^MIRROR_HASH: ' | awk '{print $2}') echo "PKG_MIRROR_HASH=$pkg_mirror_hash" sed -i "s|^\(PKG_MIRROR_HASH\b.*\)=.*|\1=$pkg_mirror_hash|" "$MAKEFILE" + old_ver=$(sed -n 's/^PKG_VERSION:=//p' "$MAKEFILE") + new_ver=$(awk -F. 'BEGIN{OFS="."} + { + $3 = $3 + 1 + print + }' <<< "$old_ver") + sed -i "s/^PKG_VERSION:=.*/PKG_VERSION:=$new_ver/" "$MAKEFILE" - id: pr name: pr uses: peter-evans/create-pull-request@v6 diff --git a/luci-app-nikkix/Makefile b/luci-app-nikkix/Makefile index dbf1c985a4..2097865a81 100644 --- a/luci-app-nikkix/Makefile +++ b/luci-app-nikkix/Makefile @@ -1,6 +1,6 @@ include $(TOPDIR)/rules.mk -PKG_VERSION:=1.26.0 +PKG_VERSION:=1.0.0 LUCI_TITLE:=LuCI Support for nikkix LUCI_DEPENDS:=+luci-base +nikkix diff --git a/nikkix/Makefile b/nikkix/Makefile index effdef3b35..3e9eb1f529 100644 --- a/nikkix/Makefile +++ b/nikkix/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nikkix -PKG_VERSION:=2026.01.05 +PKG_VERSION:=1.0.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz From 4fe3da0791e4577c53215276ad3333e4f13830f9 Mon Sep 17 00:00:00 2001 From: mglants <35956828+mglants@users.noreply.github.com> Date: Sat, 17 Jan 2026 01:41:03 +0000 Subject: [PATCH 26/46] build: bump mihomo to v1.19.19 --- nikkix/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nikkix/Makefile b/nikkix/Makefile index 3e9eb1f529..a7fa3ba623 100644 --- a/nikkix/Makefile +++ b/nikkix/Makefile @@ -1,15 +1,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nikkix -PKG_VERSION:=1.0.0 +PKG_VERSION:=1.0.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git -PKG_SOURCE_VERSION:=v1.19.18 -PKG_MIRROR_HASH:=04103b61c6d0509f12028e8ff3129454adfaee9bf7cdd219f5b36cdfe2d81e92 +PKG_SOURCE_VERSION:=v1.19.19 +PKG_MIRROR_HASH:=b8dccfdddabacb81c9aa150a1946a5f3fe06f2b7f62c5c73300283abc107d84e PKG_LICENSE:=GPL3.0+ PKG_MAINTAINER:=Joseph Mory From b5d803e0ba92d1d41cb26ea4bc907a9f60b975e8 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sat, 24 Jan 2026 14:45:56 +0300 Subject: [PATCH 27/46] feat: merge changes from upstream project --- .../htdocs/luci-static/resources/view/nikkix/mixin.js | 10 +--------- nikkix/Makefile | 6 +++++- nikkix/files/ucode/mixin.uc | 1 - 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js index 07f81ac389..655ef89087 100644 --- a/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js +++ b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js @@ -93,14 +93,6 @@ return view.extend({ o.datatype = 'uinteger'; o.placeholder = _('Unmodified'); - o = s.taboption('general', form.Value, 'global_client_fingerprint', _('Global Client Fingerprint')); - o.placeholder = _('Unmodified'); - o.value('random', _('Random')); - o.value('chrome', 'Chrome'); - o.value('firefox', 'Firefox'); - o.value('safari', 'Safari'); - o.value('edge', 'Edge'); - s.tab('external_control', _('External Control Config')); o = s.taboption('external_control', form.Value, 'ui_path', _('UI Path')); @@ -275,7 +267,7 @@ return view.extend({ o.placeholder = _('Unmodified'); o.value('blacklist', _('Block Mode')); o.value('whitelist', _('Allow Mode')); - + o.value('rule', _('Rule Mode')); o = s.taboption('dns', form.ListValue, 'fake_ip_cache', _('Fake-IP Cache')); o.optional = true; o.placeholder = _('Unmodified'); diff --git a/nikkix/Makefile b/nikkix/Makefile index 3e9eb1f529..fdd58dcb16 100644 --- a/nikkix/Makefile +++ b/nikkix/Makefile @@ -34,6 +34,8 @@ define Package/nikkix URL:=https://wiki.metacubex.one DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle +curl +yq firewall4 +ip-full +kmod-inet-diag +kmod-nft-socket +kmod-nft-tproxy +kmod-tun PROVIDES:=mihomo + ALTERNATIVES:=\ + 300:/usr/bin/mihomo:/usr/libexec/nikki endef define Package/nikkix/description @@ -46,7 +48,9 @@ define Package/nikkix/conffiles endef define Package/nikkix/install - $(call GoPackage/Package/Install/Bin,$(1)) + $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR)) + $(INSTALL_DIR) $(1)/usr/libexec/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mihomo $(1)/usr/libexec/nikki $(INSTALL_DIR) $(1)/etc/nikkix $(INSTALL_DIR) $(1)/etc/nikkix/ucode diff --git a/nikkix/files/ucode/mixin.uc b/nikkix/files/ucode/mixin.uc index 796a2b9593..574ad825f8 100644 --- a/nikkix/files/ucode/mixin.uc +++ b/nikkix/files/ucode/mixin.uc @@ -25,7 +25,6 @@ config['tcp-concurrent'] = uci_bool(uci.get('nikkix', 'mixin', 'tcp_concurrent') config['disable-keep-alive'] = uci_bool(uci.get('nikkix', 'mixin', 'disable_tcp_keep_alive')); config['keep-alive-idle'] = uci_int(uci.get('nikkix', 'mixin', 'tcp_keep_alive_idle')); config['keep-alive-interval'] = uci_int(uci.get('nikkix', 'mixin', 'tcp_keep_alive_interval')); -config['global-client-fingerprint'] = uci.get('nikkix', 'mixin', 'global_client_fingerprint'); config['external-ui'] = uci.get('nikkix', 'mixin', 'ui_path'); config['external-ui-name'] = uci.get('nikkix', 'mixin', 'ui_name'); From 545597c567253894b13a820996da5320d36995b7 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sat, 24 Jan 2026 15:00:29 +0300 Subject: [PATCH 28/46] feat: prepare for new version --- luci-app-nikkix/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/luci-app-nikkix/Makefile b/luci-app-nikkix/Makefile index 2097865a81..7062910620 100644 --- a/luci-app-nikkix/Makefile +++ b/luci-app-nikkix/Makefile @@ -1,6 +1,6 @@ include $(TOPDIR)/rules.mk -PKG_VERSION:=1.0.0 +PKG_VERSION:=1.0.1 LUCI_TITLE:=LuCI Support for nikkix LUCI_DEPENDS:=+luci-base +nikkix From 21982cc529d3378738ed6e315b02a342144a8b46 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sat, 24 Jan 2026 15:37:17 +0300 Subject: [PATCH 29/46] fix: ci --- .github/workflows/build-packages.yml | 4 ++-- .github/workflows/release-packages.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-packages.yml b/.github/workflows/build-packages.yml index 8431bb3137..b256ecf996 100644 --- a/.github/workflows/build-packages.yml +++ b/.github/workflows/build-packages.yml @@ -33,13 +33,13 @@ jobs: - i386_pentium4 - x86_64 branch: - - openwrt-23.05 + - openwrt-23.05.6 - openwrt-24.10 - openwrt-25.12 - SNAPSHOT exclude: - arch: aarch64_cortex-a76 - branch: openwrt-23.05 + branch: openwrt-23.05.6 - arch: mips_4kec branch: openwrt-25.12 - arch: mips_4kec diff --git a/.github/workflows/release-packages.yml b/.github/workflows/release-packages.yml index 00c6eaebe6..231b5e61be 100644 --- a/.github/workflows/release-packages.yml +++ b/.github/workflows/release-packages.yml @@ -37,13 +37,13 @@ jobs: - i386_pentium4 - x86_64 branch: - - openwrt-23.05 + - openwrt-23.05.6 - openwrt-24.10 - openwrt-25.12 - SNAPSHOT exclude: - arch: aarch64_cortex-a76 - branch: openwrt-23.05 + branch: openwrt-23.05.6 - arch: mips_4kec branch: openwrt-25.12 - arch: mips_4kec From 4d7da7516fd63a0847be9c7bb57e347877fd007a Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sat, 24 Jan 2026 17:08:29 +0300 Subject: [PATCH 30/46] fix: pkg hash --- nikkix/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nikkix/Makefile b/nikkix/Makefile index 628fb224ae..dd3c5c9c24 100644 --- a/nikkix/Makefile +++ b/nikkix/Makefile @@ -9,7 +9,7 @@ PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git PKG_SOURCE_VERSION:=v1.19.19 -PKG_MIRROR_HASH:=b8dccfdddabacb81c9aa150a1946a5f3fe06f2b7f62c5c73300283abc107d84e +PKG_MIRROR_HASH:=e4445151e2664276c4ebb09039399970bc5045e875b4453bac82247be15b38d0 PKG_LICENSE:=GPL3.0+ PKG_MAINTAINER:=Joseph Mory From afef4db0fdb0fa7a573b0f6ec2c7a28a2acc1381 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sun, 15 Feb 2026 02:27:47 +0300 Subject: [PATCH 31/46] feat: remove 23.05 --- .github/workflows/build-packages.yml | 3 --- .github/workflows/release-packages.yml | 3 --- README.md | 2 +- README.ru.md | 2 +- feed.sh | 3 --- install.sh | 3 --- 6 files changed, 2 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-packages.yml b/.github/workflows/build-packages.yml index b256ecf996..2e21f12906 100644 --- a/.github/workflows/build-packages.yml +++ b/.github/workflows/build-packages.yml @@ -33,13 +33,10 @@ jobs: - i386_pentium4 - x86_64 branch: - - openwrt-23.05.6 - openwrt-24.10 - openwrt-25.12 - SNAPSHOT exclude: - - arch: aarch64_cortex-a76 - branch: openwrt-23.05.6 - arch: mips_4kec branch: openwrt-25.12 - arch: mips_4kec diff --git a/.github/workflows/release-packages.yml b/.github/workflows/release-packages.yml index 231b5e61be..72a18c8cdb 100644 --- a/.github/workflows/release-packages.yml +++ b/.github/workflows/release-packages.yml @@ -37,13 +37,10 @@ jobs: - i386_pentium4 - x86_64 branch: - - openwrt-23.05.6 - openwrt-24.10 - openwrt-25.12 - SNAPSHOT exclude: - - arch: aarch64_cortex-a76 - branch: openwrt-23.05.6 - arch: mips_4kec branch: openwrt-25.12 - arch: mips_4kec diff --git a/README.md b/README.md index 33f5e94917..657d3b2960 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Changes in this fork: ## Prerequisites -- OpenWrt >= 23.05 +- OpenWrt >= 24.10 - Linux Kernel >= 5.13 - firewall4 diff --git a/README.ru.md b/README.ru.md index 7651ab60a0..39b1284730 100644 --- a/README.ru.md +++ b/README.ru.md @@ -19,7 +19,7 @@ ## Требования -- OpenWrt >= 23.05 +- OpenWrt >= 24.10 - Ядро Linux >= 5.13 - firewall4 diff --git a/feed.sh b/feed.sh index e8c900dd31..894b9d1459 100644 --- a/feed.sh +++ b/feed.sh @@ -15,9 +15,6 @@ fi arch="$DISTRIB_ARCH" branch= case "$DISTRIB_RELEASE" in - *"23.05"*) - branch="openwrt-23.05" - ;; *"24.10"*) branch="openwrt-24.10" ;; diff --git a/install.sh b/install.sh index 2a68c16b29..d2218fd0b4 100644 --- a/install.sh +++ b/install.sh @@ -15,9 +15,6 @@ fi arch="$DISTRIB_ARCH" branch= case "$DISTRIB_RELEASE" in - *"23.05"*) - branch="openwrt-23.05" - ;; *"24.10"*) branch="openwrt-24.10" ;; From 19923f670d304d9fb3b5bfad6c3718da0ee97e2c Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sun, 15 Feb 2026 02:29:39 +0300 Subject: [PATCH 32/46] fix: code-style --- nikkix/files/ucode/hijack.ut | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nikkix/files/ucode/hijack.ut b/nikkix/files/ucode/hijack.ut index b9ed25d5ac..217db9a979 100644 --- a/nikkix/files/ucode/hijack.ut +++ b/nikkix/files/ucode/hijack.ut @@ -460,10 +460,10 @@ table inet nikkix { meta nfproto @proxy_nfproto jump router_redirect {% endif %} {% if (fake_ip_ping_hijack): %} - {% if (fake_ip_range ): %} + {% if (fake_ip_range): %} icmp type echo-request ip daddr {{ fake_ip_range }} counter redirect {% endif %} - {% if (fake_ip6_range ): %} + {% if (fake_ip6_range): %} icmpv6 type echo-request ip6 daddr {{ fake_ip6_range }} counter redirect {% endif %} {% endif %} @@ -537,7 +537,7 @@ table inet nikkix { {% if (fake_ip_range): %} icmp type echo-request ip daddr {{ fake_ip_range }} counter redirect {% endif %} - {% if (fake_ip6_range ): %} + {% if (fake_ip6_range): %} icmpv6 type echo-request ip6 daddr {{ fake_ip6_range }} counter redirect {% endif %} {% endif %} From 171ca7002448940abdc8a4c8c3175a4d12089be1 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sun, 15 Feb 2026 02:30:27 +0300 Subject: [PATCH 33/46] feat: defaults --- nikkix/files/nikkix.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nikkix/files/nikkix.conf b/nikkix/files/nikkix.conf index 06a1efe14e..466f2f2f2a 100644 --- a/nikkix/files/nikkix.conf +++ b/nikkix/files/nikkix.conf @@ -16,6 +16,8 @@ config procd 'procd' option 'env_disable_quic_go_gso' '0' option 'env_disable_quic_go_ecn' '0' option 'env_skip_system_ipv6_check' '0' + option 'rlimit_nofile_soft' '65536' + option 'rlimit_nofile_hard' '65536' config subscription 'subscription' option 'name' 'default' From 6ad033671faa9516bd661f623a509a2cd1a24b0d Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sun, 15 Feb 2026 03:01:20 +0300 Subject: [PATCH 34/46] feat: get upstream changes --- .../resources/view/nikkix/mixin.js | 30 +- luci-app-nikkix/po/ru/nikkix.po | 4 + luci-app-nikkix/po/templates/nikkix.pot | 4 + luci-app-nikkix/po/zh_Hans/nikkix.po | 1062 ----------------- luci-app-nikkix/po/zh_Hant/nikkix.po | 1062 ----------------- nikkix/Makefile | 6 +- nikkix/files/nikkix.conf | 3 + nikkix/files/nikkix.init | 18 +- nikkix/files/uci-defaults/migrate.sh | 5 + nikkix/files/ucode/mixin.uc | 11 +- 10 files changed, 68 insertions(+), 2137 deletions(-) delete mode 100644 luci-app-nikkix/po/zh_Hans/nikkix.po delete mode 100644 luci-app-nikkix/po/zh_Hant/nikkix.po diff --git a/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js index 655ef89087..515835951b 100644 --- a/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js +++ b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js @@ -286,12 +286,6 @@ return view.extend({ o.value('0', _('Disable')); o.value('1', _('Enable')); - o = s.taboption('dns', form.ListValue, 'dns_direct_nameserver_follow_policy', _('Direct Nameserver Follow Policy')); - o.optional = true; - o.placeholder = _('Unmodified'); - o.value('0', _('Disable')); - o.value('1', _('Enable')); - o = s.taboption('dns', form.ListValue, 'dns_system_hosts', _('Use System Hosts')); o.optional = true; o.placeholder = _('Unmodified'); @@ -345,6 +339,30 @@ return view.extend({ so.value('fallback'); so = o.subsection.option(form.DynamicList, 'nameserver', _('Nameserver')); + o = s.taboption('dns', form.Flag, 'dns_proxy_server_nameserver_policy', _('Overwrite Proxy Server Nameserver Policy')); + o.rmempty = false; + + o = s.taboption('dns', form.SectionValue, '_dns_proxy_server_nameserver_policies', form.TableSection, 'proxy_server_nameserver_policy', _('Edit Proxy Server Nameserver Policies')); + o.retain = true; + o.depends('dns_proxy_server_nameserver_policy', '1'); + + o.subsection.addremove = true; + o.subsection.anonymous = true; + o.subsection.sortable = true; + + so = o.subsection.option(form.Flag, 'enabled', _('Enable')); + so.rmempty = false; + + so = o.subsection.option(form.Value, 'matcher', _('Matcher')); + so.rmempty = false; + + so = o.subsection.option(form.DynamicList, 'nameserver', _('Nameserver')); + + o = s.taboption('dns', form.ListValue, 'dns_direct_nameserver_follow_policy', _('Direct Nameserver Follow Policy')); + o.optional = true; + o.placeholder = _('Unmodified'); + o.value('0', _('Disable')); + o.value('1', _('Enable')); o = s.taboption('dns', form.Flag, 'dns_nameserver_policy', _('Overwrite Nameserver Policy')); o.rmempty = false; diff --git a/luci-app-nikkix/po/ru/nikkix.po b/luci-app-nikkix/po/ru/nikkix.po index 027d616c07..08e46eda06 100644 --- a/luci-app-nikkix/po/ru/nikkix.po +++ b/luci-app-nikkix/po/ru/nikkix.po @@ -276,6 +276,10 @@ msgstr "Редактировать Hosts" msgid "Edit Nameserver Policies" msgstr "Редактировать политики Nameserver" +#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:347 +msgid "Edit Proxy Server Nameserver Policies" +msgstr "Редактировать политики Proxy Nameserver" + #: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:337 msgid "Edit Nameservers" msgstr "Редактировать Nameservers" diff --git a/luci-app-nikkix/po/templates/nikkix.pot b/luci-app-nikkix/po/templates/nikkix.pot index bbdea0b513..e03b98a827 100644 --- a/luci-app-nikkix/po/templates/nikkix.pot +++ b/luci-app-nikkix/po/templates/nikkix.pot @@ -273,6 +273,10 @@ msgstr "" msgid "Edit Nameservers" msgstr "" +#: applications/luci-app-nikki/htdocs/luci-static/resources/view/nikki/mixin.js:347 +msgid "Edit Proxy Server Nameserver Policies" +msgstr "" + #: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:440 msgid "Edit Rule Providers" msgstr "" diff --git a/luci-app-nikkix/po/zh_Hans/nikkix.po b/luci-app-nikkix/po/zh_Hans/nikkix.po deleted file mode 100644 index c2c3300aff..0000000000 --- a/luci-app-nikkix/po/zh_Hans/nikkix.po +++ /dev/null @@ -1,1062 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: zh_Hans\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:120 -msgid "API Listen" -msgstr "API 监听" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:124 -msgid "API Secret" -msgstr "API 密钥" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:69 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:122 -msgid "Access Control" -msgstr "访问控制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:236 -msgid "Adaptive Replacement Cache (ARC)" -msgstr "自适应替换缓存(ARC)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:141 -msgid "Address Space Size Hard Limit" -msgstr "地址空间大小硬限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:137 -msgid "Address Space Size Soft Limit" -msgstr "地址空间大小软限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:181 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:186 -msgid "All Port" -msgstr "全部端口" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:136 -msgid "Allow Lan" -msgstr "允许局域网访问" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:277 -msgid "Allow Mode" -msgstr "白名单模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:94 -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:13 -msgid "App Config" -msgstr "插件配置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:27 -msgid "App Log" -msgstr "插件日志" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:43 -msgid "App Version" -msgstr "插件版本" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:506 -msgid "Append Rule" -msgstr "追加规则" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:437 -msgid "Append Rule Provider" -msgstr "追加规则提供者" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:493 -msgid "Behavior" -msgstr "行为" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:276 -msgid "Block Mode" -msgstr "黑名单模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:171 -msgid "Bypass" -msgstr "绕过" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:183 -msgid "Bypass DSCP" -msgstr "绕过 DSCP" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:186 -msgid "Bypass FWMark" -msgstr "绕过 FWMark" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:93 -msgid "CGroup" -msgstr "控制组" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:29 -msgid "Choose File" -msgstr "选择文件" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:99 -msgid "Choose Profile" -msgstr "选择配置文件" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:31 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:64 -msgid "Clear Log" -msgstr "清空日志" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:182 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:187 -msgid "Commonly Used Port" -msgstr "常用端口" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:60 -msgid "Core Log" -msgstr "核心日志" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:125 -msgid "Core Only" -msgstr "仅核心" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:57 -msgid "Core Status" -msgstr "核心状态" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:50 -msgid "Core Version" -msgstr "核心版本" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:117 -msgid "Cron Expression" -msgstr "Cron 表达式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:99 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:165 -msgid "DNS" -msgstr "DNS" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:232 -msgid "DNS Cache Algorithm" -msgstr "DNS 缓存算法" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:224 -msgid "DNS Config" -msgstr "DNS 配置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:238 -msgid "DNS Listen" -msgstr "DNS 监听" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:248 -msgid "DNS Mode" -msgstr "DNS 模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:93 -msgid "Debug Log" -msgstr "调试日志" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:529 -msgid "Destination IP" -msgstr "目标 IP" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:533 -msgid "Destination IP Geo" -msgstr "目标 IP(Geo)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:530 -msgid "Destination Port" -msgstr "目标端口" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:179 -msgid "Destination TCP Port to Proxy" -msgstr "要代理的 TCP 目标端口" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:184 -msgid "Destination UDP Port to Proxy" -msgstr "要代理的 UDP 目标端口" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:191 -msgid "Device Name" -msgstr "设备名称" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:44 -msgid "Direct Mode" -msgstr "直连模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:297 -msgid "Direct Nameserver Follow Policy" -msgstr "Direct Nameserver 跟随查询策略" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:67 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:73 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:79 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:85 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:131 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:139 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:188 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:208 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:229 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:245 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:282 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:288 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:294 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:300 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:306 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:312 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:381 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:387 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:393 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:581 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:38 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:45 -msgid "Disable" -msgstr "禁用" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:183 -msgid "Disable ECN of quic-go" -msgstr "禁用 quic-go 的显式拥塞通知" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:180 -msgid "Disable GSO of quic-go" -msgstr "禁用 quic-go 的通用分段卸载" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:177 -msgid "Disable Loopback Detector" -msgstr "禁用回环检测" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:82 -msgid "Disable TCP Keep Alive" -msgstr "禁用 TCP Keep Alive" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:291 -msgid "DoH Prefer HTTP/3" -msgstr "DoH 优先 HTTP/3" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:329 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:524 -msgid "Domain Name" -msgstr "域名" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:532 -msgid "Domain Name Geo" -msgstr "域名(Geo)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:527 -msgid "Domain Name Keyword" -msgstr "域名(关键字)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:528 -msgid "Domain Name Regex" -msgstr "域名(正则表达式)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:525 -msgid "Domain Name Suffix" -msgstr "域名(后缀)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:526 -msgid "Domain Name Wildcard" -msgstr "域名(通配符)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:165 -msgid "Edit Authentications" -msgstr "编辑身份验证" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:218 -msgid "Edit DNS Hijacks" -msgstr "编辑 DNS 劫持" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:269 -msgid "Edit Fake-IP Filters" -msgstr "编辑 Fake-IP 过滤列表" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:318 -msgid "Edit Hosts" -msgstr "编辑 Hosts" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:360 -msgid "Edit Nameserver Policies" -msgstr "编辑 DNS 服务器查询策略" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:337 -msgid "Edit Nameservers" -msgstr "编辑 DNS 服务器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:440 -msgid "Edit Rule Providers" -msgstr "编辑规则提供者" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:509 -msgid "Edit Rules" -msgstr "编辑规则" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:32 -msgid "Edit Subscription" -msgstr "编辑订阅" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:27 -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:45 -msgid "Editor" -msgstr "编辑器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:96 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:68 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:74 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:80 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:86 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:132 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:140 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:173 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:185 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:189 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:209 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:226 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:230 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:246 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:283 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:289 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:295 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:301 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:307 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:313 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:326 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:345 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:368 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:378 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:382 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:388 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:394 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:420 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:448 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:517 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:582 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:590 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:33 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:66 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:77 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:107 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:130 -msgid "Enable" -msgstr "启用" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:167 -msgid "Environment Variable Config" -msgstr "环境变量配置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:47 -msgid "Expire At" -msgstr "到期时间" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:104 -msgid "External Control Config" -msgstr "外部控制配置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:279 -msgid "Fake-IP Cache" -msgstr "Fake-IP 缓存" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:273 -msgid "Fake-IP Filter Mode" -msgstr "Fake-IP 过滤模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:61 -msgid "Fake-IP Ping Hijack" -msgstr "Fake-IP Ping 劫持" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:254 -msgid "Fake-IP Range" -msgstr "Fake-IP 范围" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:262 -msgid "Fake-IP TTL" -msgstr "Fake-IP TTL" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:258 -msgid "Fake-IP6 Range" -msgstr "Fake-IP6 范围" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:132 -msgid "Fast Reload" -msgstr "快速重载" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:487 -msgid "File Format" -msgstr "文件格式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:481 -msgid "File Path" -msgstr "文件路径" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:475 -msgid "File Size Limit" -msgstr "文件大小限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:48 -msgid "File for Mixin" -msgstr "用于混入的文件" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:103 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:33 -msgid "File:" -msgstr "文件:" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:399 -msgid "Force Sniff Domain Name" -msgstr "强制嗅探的域名" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:205 -msgid "GSO" -msgstr "通用分段卸载" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:211 -msgid "GSO Max Size" -msgstr "分段最大长度" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:130 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:28 -msgid "General Config" -msgstr "全局配置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:97 -msgid "Generate & Download" -msgstr "生成并下载" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:560 -msgid "GeoData Loader" -msgstr "GeoData 加载器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:554 -msgid "GeoIP Format" -msgstr "GeoIP 格式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:575 -msgid "GeoIP(ASN) Url" -msgstr "GeoIP(ASN) 下载地址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:572 -msgid "GeoIP(DAT) Url" -msgstr "GeoIP(DAT) 下载地址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:569 -msgid "GeoIP(MMDB) Url" -msgstr "GeoIP(MMDB) 下载地址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:566 -msgid "GeoSite Url" -msgstr "GeoSite 下载地址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:578 -msgid "GeoX Auto Update" -msgstr "定时更新GeoX文件" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:552 -msgid "GeoX Config" -msgstr "GeoX 配置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:584 -msgid "GeoX Update Interval" -msgstr "GeoX 文件更新间隔" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:96 -msgid "Global Client Fingerprint" -msgstr "全局客户端指纹" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:42 -msgid "Global Mode" -msgstr "全局模式" - -#: applications/luci-app-nikkix/root/usr/share/rpcd/acl.d/luci-app-nikkix.json:3 -msgid "Grant access to nikkix procedures" -msgstr "授予访问 nikkix 程序的权限" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:87 -msgid "Group" -msgstr "用户组" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:142 -msgid "HTTP Port" -msgstr "HTTP 端口" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:149 -msgid "Heap Size Hard Limit" -msgstr "堆大小硬限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:145 -msgid "Heap Size Soft Limit" -msgstr "堆大小软限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 -msgid "How To Use" -msgstr "使用说明" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:49 -msgid "IPv4 DNS Hijack" -msgstr "IPv4 DNS 劫持" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:55 -msgid "IPv4 Proxy" -msgstr "IPv4 代理" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:52 -msgid "IPv6 DNS Hijack" -msgstr "IPv6 DNS 劫持" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:58 -msgid "IPv6 Proxy" -msgstr "IPv6 代理" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:406 -msgid "Ignore Sniff Domain Name" -msgstr "忽略嗅探的域名" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:134 -msgid "Inbound Config" -msgstr "入站配置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:110 -msgid "Inbound Interface" -msgstr "入站接口" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:105 -msgid "LAN Proxy" -msgstr "局域网代理" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:235 -msgid "Least Recently Used (LRU)" -msgstr "最近最少使用(LRU)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:85 -msgid "Local" -msgstr "本地" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:25 -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:53 -msgid "Log" -msgstr "日志" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:30 -msgid "Log Level" -msgstr "日志级别" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:201 -msgid "MTU" -msgstr "最大传输单元" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:46 -msgid "Match Process" -msgstr "匹配进程" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:371 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:535 -msgid "Matcher" -msgstr "匹配" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:564 -msgid "Memory Conservative Loader" -msgstr "为内存受限设备优化的加载器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:194 -msgid "Misc" -msgstr "杂项" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:150 -msgid "Mixed Port" -msgstr "混合端口" - -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:29 -msgid "Mixin Config" -msgstr "混入配置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:588 -msgid "Mixin File Content" -msgstr "混入文件内容" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:26 -msgid "Mixin Option" -msgstr "混入选项" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:39 -msgid "Mode" -msgstr "模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:454 -msgid "Name" -msgstr "名称" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:355 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:374 -msgid "Nameserver" -msgstr "DNS 服务器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:3 -msgid "Nikkix" -msgstr "Nikkix" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:546 -msgid "No Resolve" -msgstr "不解析" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:468 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:539 -msgid "Node" -msgstr "节点" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:15 -msgid "Not Running" -msgstr "未在运行" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:164 -msgid "Number of Open Files Hard Limit" -msgstr "打开文件数量硬限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:161 -msgid "Number of Open Files Soft Limit" -msgstr "打开文件数量软限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:89 -msgid "Open Dashboard" -msgstr "打开面板" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:53 -msgid "Outbound Interface" -msgstr "出站接口" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:162 -msgid "Overwrite Authentication" -msgstr "覆盖身份验证" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:215 -msgid "Overwrite DNS Hijack" -msgstr "覆盖 DNS 劫持" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:432 -msgid "Overwrite Destination" -msgstr "将嗅探结果作为连接目标" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:266 -msgid "Overwrite Fake-IP Filter" -msgstr "覆盖 Fake-IP 过滤列表" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:396 -msgid "Overwrite Force Sniff Domain Name" -msgstr "覆盖强制嗅探的域名" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:315 -msgid "Overwrite Hosts" -msgstr "覆盖 Hosts" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:403 -msgid "Overwrite Ignore Sniff Domain Name" -msgstr "覆盖忽略嗅探的域名" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:334 -msgid "Overwrite Nameserver" -msgstr "覆盖 DNS 服务器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:357 -msgid "Overwrite Nameserver Policy" -msgstr "覆盖 DNS 服务器查询策略" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:410 -msgid "Overwrite Sniff By Protocol" -msgstr "覆盖按协议嗅探" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:179 -msgid "Password" -msgstr "密码" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:590 -msgid "Please go to the editor tab to edit the file for mixin" -msgstr "请前往编辑器标签编辑用于混入的文件" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:429 -msgid "Port" -msgstr "端口" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:81 -msgid "Prefer" -msgstr "优先" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:531 -msgid "Process Name" -msgstr "进程名" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:18 -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:21 -msgid "Profile" -msgstr "配置文件" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:49 -msgid "Profile for Startup" -msgstr "用于启动的配置文件" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:423 -msgid "Protocol" -msgstr "协议" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:102 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:168 -msgid "Proxy" -msgstr "代理" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:29 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:31 -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:37 -msgid "Proxy Config" -msgstr "代理配置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:45 -msgid "Proxy Provider:" -msgstr "代理提供者:" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:135 -msgid "RLIMIT Config" -msgstr "资源限制配置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:98 -msgid "Random" -msgstr "随机" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:39 -msgid "Redirect Mode" -msgstr "Redirect 模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:154 -msgid "Redirect Port" -msgstr "Redirect 端口" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:69 -msgid "Reload Service" -msgstr "重载服务" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:84 -msgid "Remote" -msgstr "远程" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:196 -msgid "Reserved IP" -msgstr "IPv4 保留地址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:199 -msgid "Reserved IP6" -msgstr "IPv6 保留地址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:285 -msgid "Respect Rules" -msgstr "遵循分流规则" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:76 -msgid "Restart Service" -msgstr "重启服务" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:64 -msgid "Router Proxy" -msgstr "路由器代理" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:435 -msgid "Rule Config" -msgstr "规则配置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:43 -msgid "Rule Mode" -msgstr "规则模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:41 -msgid "Rule Provider:" -msgstr "规则提供者:" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:523 -msgid "Rule Set" -msgstr "规则集" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:15 -msgid "Running" -msgstr "运行中" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:146 -msgid "SOCKS Port" -msgstr "SOCKS 端口" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:169 -msgid "Safe Paths" -msgstr "安全路径" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:128 -msgid "Save Proxy Selection" -msgstr "保存节点/策略组选择" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:114 -msgid "Scheduled Restart" -msgstr "定时重启" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:54 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:87 -msgid "Scroll To Bottom" -msgstr "滚动到底部" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:186 -msgid "Skip System IPv6 Check" -msgstr "跳过系统 IPv6 检查" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:413 -msgid "Sniff By Protocol" -msgstr "按协议嗅探" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:390 -msgid "Sniff Pure IP" -msgstr "嗅探纯 IP 连接" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:384 -msgid "Sniff Redir-Host" -msgstr "嗅探 Redir-Host 流量" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:376 -msgid "Sniffer Config" -msgstr "嗅探器配置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:194 -msgid "Stack" -msgstr "栈" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:157 -msgid "Stack Size Hard Limit" -msgstr "栈大小硬限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:153 -msgid "Stack Size Soft Limit" -msgstr "栈大小软限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:563 -msgid "Standard Loader" -msgstr "标准加载器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:110 -msgid "Start Delay" -msgstr "启动延迟" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:112 -msgid "Start Immidiately" -msgstr "立即启动" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:40 -msgid "Status" -msgstr "状态" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:28 -msgid "Subscription" -msgstr "订阅" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:66 -msgid "Subscription Info Url" -msgstr "订阅信息链接" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:34 -msgid "Subscription Name" -msgstr "订阅名称" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:69 -msgid "Subscription Url" -msgstr "订阅链接" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:107 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:37 -msgid "Subscription:" -msgstr "订阅:" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:76 -msgid "TCP Concurrent" -msgstr "TCP 并发" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:88 -msgid "TCP Keep Alive Idle" -msgstr "TCP Keep Alive 空闲" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:92 -msgid "TCP Keep Alive Interval" -msgstr "TCP Keep Alive 间隔" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:36 -msgid "TCP Mode" -msgstr "TCP 模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:40 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:46 -msgid "TPROXY Mode" -msgstr "TPROXY 模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:158 -msgid "TPROXY Port" -msgstr "TPROXY 端口" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:183 -msgid "TUN Config" -msgstr "TUN 配置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:206 -msgid "TUN Interval" -msgstr "TUN 等待间隔" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:41 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:47 -msgid "TUN Mode" -msgstr "TUN 模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:202 -msgid "TUN Timeout" -msgstr "TUN 等待超时" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:122 -msgid "Test Profile" -msgstr "检查配置文件" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:42 -msgid "Total" -msgstr "总量" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 -msgid "Transparent Proxy with Mihomo on OpenWrt." -msgstr "在 OpenWrt 上使用 Mihomo 进行透明代理。" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:348 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:457 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:521 -msgid "Type" -msgstr "类型" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:43 -msgid "UDP Mode" -msgstr "UDP 模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:109 -msgid "UI Name" -msgstr "UI 名称" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:106 -msgid "UI Path" -msgstr "UI 路径" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:112 -msgid "UI Url" -msgstr "UI 下载地址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:70 -msgid "Unify Delay" -msgstr "统一延迟" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:139 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:143 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:147 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:151 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:155 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:159 -msgid "Unlimited" -msgstr "无限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:32 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:41 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:48 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:55 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:66 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:72 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:78 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:84 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:90 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:94 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:97 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:107 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:110 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:113 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:122 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:126 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:130 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:138 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:144 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:148 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:152 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:156 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:160 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:187 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:192 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:196 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:203 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:207 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:213 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:228 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:234 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:240 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:244 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:250 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:256 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:260 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:264 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:275 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:281 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:287 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:293 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:299 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:305 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:311 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:380 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:386 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:392 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:556 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:562 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:567 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:570 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:573 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:576 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:580 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:586 -msgid "Unmodified" -msgstr "不修改" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:60 -msgid "Update" -msgstr "更新" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:52 -msgid "Update At" -msgstr "更新时间" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:83 -msgid "Update Dashboard" -msgstr "更新面板" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:500 -msgid "Update Interval" -msgstr "更新间隔" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:20 -msgid "Upload Profile" -msgstr "上传配置文件" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:463 -msgid "Url" -msgstr "下载地址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:309 -msgid "Use Hosts" -msgstr "使用 Hosts" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:303 -msgid "Use System Hosts" -msgstr "使用系统的 Hosts" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:37 -msgid "Used" -msgstr "已使用" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:81 -msgid "User" -msgstr "用户" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:73 -msgid "User Agent" -msgstr "用户代理(UA)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:176 -msgid "Username" -msgstr "用户名" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:128 -msgid "procd Config" -msgstr "procd 配置" diff --git a/luci-app-nikkix/po/zh_Hant/nikkix.po b/luci-app-nikkix/po/zh_Hant/nikkix.po deleted file mode 100644 index 1d0b885736..0000000000 --- a/luci-app-nikkix/po/zh_Hant/nikkix.po +++ /dev/null @@ -1,1062 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" -"Language: zh_Hant\n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:120 -msgid "API Listen" -msgstr "API 監聽" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:124 -msgid "API Secret" -msgstr "API 密鑰" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:69 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:122 -msgid "Access Control" -msgstr "存取控制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:236 -msgid "Adaptive Replacement Cache (ARC)" -msgstr "調適型替換快取(ARC)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:141 -msgid "Address Space Size Hard Limit" -msgstr "位址空間大小硬限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:137 -msgid "Address Space Size Soft Limit" -msgstr "位址空間大小軟限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:181 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:186 -msgid "All Port" -msgstr "所有埠" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:136 -msgid "Allow Lan" -msgstr "允許區域網路存取" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:277 -msgid "Allow Mode" -msgstr "白名單模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:94 -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:13 -msgid "App Config" -msgstr "應用程式設定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:27 -msgid "App Log" -msgstr "應用程式日誌" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:43 -msgid "App Version" -msgstr "應用程式版本" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:506 -msgid "Append Rule" -msgstr "追加規則" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:437 -msgid "Append Rule Provider" -msgstr "追加規則提供者" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:493 -msgid "Behavior" -msgstr "行為" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:276 -msgid "Block Mode" -msgstr "黑名單模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:171 -msgid "Bypass" -msgstr "繞過" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:189 -msgid "Bypass DSCP" -msgstr "繞過 DSCP" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:192 -msgid "Bypass FWMark" -msgstr "繞過 FWMark" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:93 -msgid "CGroup" -msgstr "控制群組" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:29 -msgid "Choose File" -msgstr "選擇檔案" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:99 -msgid "Choose Profile" -msgstr "選擇設定檔" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:31 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:64 -msgid "Clear Log" -msgstr "清空日誌" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:182 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:187 -msgid "Commonly Used Port" -msgstr "常用埠" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:60 -msgid "Core Log" -msgstr "核心日誌" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:125 -msgid "Core Only" -msgstr "僅核心" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:57 -msgid "Core Status" -msgstr "核心狀態" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:50 -msgid "Core Version" -msgstr "核心版本" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:117 -msgid "Cron Expression" -msgstr "Cron 表達式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:99 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:165 -msgid "DNS" -msgstr "DNS" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:232 -msgid "DNS Cache Algorithm" -msgstr "DNS 快取演算法" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:224 -msgid "DNS Config" -msgstr "DNS 設定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:238 -msgid "DNS Listen" -msgstr "DNS 監聽" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:248 -msgid "DNS Mode" -msgstr "DNS 模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:93 -msgid "Debug Log" -msgstr "除錯日誌" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:529 -msgid "Destination IP" -msgstr "目標 IP" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:533 -msgid "Destination IP Geo" -msgstr "目標 IP(地理位置)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:530 -msgid "Destination Port" -msgstr "目標埠" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:179 -msgid "Destination TCP Port to Proxy" -msgstr "要代理的 TCP 目標埠" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:184 -msgid "Destination UDP Port to Proxy" -msgstr "要代理的 UDP 目標埠" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:191 -msgid "Device Name" -msgstr "裝置名稱" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:44 -msgid "Direct Mode" -msgstr "直連模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:297 -msgid "Direct Nameserver Follow Policy" -msgstr "Direct Nameserver 跟隨查詢策略" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:67 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:73 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:79 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:85 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:131 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:139 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:188 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:208 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:229 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:245 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:282 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:288 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:294 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:300 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:306 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:312 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:381 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:387 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:393 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:581 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:38 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:45 -msgid "Disable" -msgstr "停用" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:183 -msgid "Disable ECN of quic-go" -msgstr "停用 quic-go 的顯式擁塞通知" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:180 -msgid "Disable GSO of quic-go" -msgstr "停用 quic-go 的通用分段卸載" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:177 -msgid "Disable Loopback Detector" -msgstr "停用迴路檢測" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:82 -msgid "Disable TCP Keep Alive" -msgstr "停用 TCP Keep Alive" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:291 -msgid "DoH Prefer HTTP/3" -msgstr "DoH 優先使用 HTTP/3" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:329 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:524 -msgid "Domain Name" -msgstr "網域名稱" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:532 -msgid "Domain Name Geo" -msgstr "網域名稱(地理位置)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:527 -msgid "Domain Name Keyword" -msgstr "網域名稱(關鍵字)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:528 -msgid "Domain Name Regex" -msgstr "網域名稱(正則表達式)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:525 -msgid "Domain Name Suffix" -msgstr "網域名稱(後綴)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:526 -msgid "Domain Name Wildcard" -msgstr "網域名稱(通配符)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:165 -msgid "Edit Authentications" -msgstr "編輯身分驗證" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:218 -msgid "Edit DNS Hijacks" -msgstr "編輯 DNS 劫持" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:269 -msgid "Edit Fake-IP Filters" -msgstr "編輯 Fake-IP 過濾清單" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:318 -msgid "Edit Hosts" -msgstr "編輯 Hosts" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:360 -msgid "Edit Nameserver Policies" -msgstr "編輯 DNS 伺服器查詢策略" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:337 -msgid "Edit Nameservers" -msgstr "編輯 DNS 伺服器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:440 -msgid "Edit Rule Providers" -msgstr "編輯規則提供者" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:509 -msgid "Edit Rules" -msgstr "編輯規則" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:32 -msgid "Edit Subscription" -msgstr "編輯訂閱" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:27 -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:45 -msgid "Editor" -msgstr "編輯器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:96 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:68 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:74 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:80 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:86 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:132 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:140 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:173 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:185 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:189 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:209 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:226 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:230 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:246 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:283 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:289 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:295 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:301 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:307 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:313 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:326 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:345 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:368 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:378 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:382 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:388 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:394 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:420 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:448 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:517 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:582 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:590 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:33 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:66 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:77 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:107 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:130 -msgid "Enable" -msgstr "啟用" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:167 -msgid "Environment Variable Config" -msgstr "環境變數設定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:47 -msgid "Expire At" -msgstr "到期時間" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:104 -msgid "External Control Config" -msgstr "外部控制設定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:279 -msgid "Fake-IP Cache" -msgstr "Fake-IP 快取" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:273 -msgid "Fake-IP Filter Mode" -msgstr "Fake-IP 過濾模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:61 -msgid "Fake-IP Ping Hijack" -msgstr "Fake-IP Ping 劫持" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:254 -msgid "Fake-IP Range" -msgstr "Fake-IP 範圍" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:262 -msgid "Fake-IP TTL" -msgstr "Fake-IP TTL" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:258 -msgid "Fake-IP6 Range" -msgstr "Fake-IP6 範圍" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:132 -msgid "Fast Reload" -msgstr "快速重載" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:487 -msgid "File Format" -msgstr "檔案格式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:481 -msgid "File Path" -msgstr "檔案路徑" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:475 -msgid "File Size Limit" -msgstr "檔案大小限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:48 -msgid "File for Mixin" -msgstr "用於混入的檔案" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:103 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:33 -msgid "File:" -msgstr "檔案:" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:399 -msgid "Force Sniff Domain Name" -msgstr "強制嗅探的網域名稱" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:205 -msgid "GSO" -msgstr "通用分段卸載" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:211 -msgid "GSO Max Size" -msgstr "分段最大長度" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:130 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:28 -msgid "General Config" -msgstr "一般設定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:97 -msgid "Generate & Download" -msgstr "生成並下載" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:560 -msgid "GeoData Loader" -msgstr "GeoData 載入器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:554 -msgid "GeoIP Format" -msgstr "GeoIP 格式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:575 -msgid "GeoIP(ASN) Url" -msgstr "GeoIP(ASN) 下載網址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:572 -msgid "GeoIP(DAT) Url" -msgstr "GeoIP(DAT) 下載網址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:569 -msgid "GeoIP(MMDB) Url" -msgstr "GeoIP(MMDB) 下載網址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:566 -msgid "GeoSite Url" -msgstr "GeoSite 下載網址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:578 -msgid "GeoX Auto Update" -msgstr "定時更新 GeoX 檔案" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:552 -msgid "GeoX Config" -msgstr "GeoX 設定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:584 -msgid "GeoX Update Interval" -msgstr "GeoX 檔案更新間隔" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:96 -msgid "Global Client Fingerprint" -msgstr "全局客戶端指紋" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:42 -msgid "Global Mode" -msgstr "全局模式" - -#: applications/luci-app-nikkix/root/usr/share/rpcd/acl.d/luci-app-nikkix.json:3 -msgid "Grant access to nikkix procedures" -msgstr "授予存取 nikkix 程序的權限" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:87 -msgid "Group" -msgstr "使用者群組" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:142 -msgid "HTTP Port" -msgstr "HTTP 埠" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:149 -msgid "Heap Size Hard Limit" -msgstr "堆積大小硬限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:145 -msgid "Heap Size Soft Limit" -msgstr "堆積大小軟限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 -msgid "How To Use" -msgstr "使用說明" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:49 -msgid "IPv4 DNS Hijack" -msgstr "IPv4 DNS 劫持" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:55 -msgid "IPv4 Proxy" -msgstr "IPv4 代理" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:52 -msgid "IPv6 DNS Hijack" -msgstr "IPv6 DNS 劫持" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:58 -msgid "IPv6 Proxy" -msgstr "IPv6 代理" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:406 -msgid "Ignore Sniff Domain Name" -msgstr "忽略嗅探的網域名稱" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:134 -msgid "Inbound Config" -msgstr "入站設定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:110 -msgid "Inbound Interface" -msgstr "入站介面" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:105 -msgid "LAN Proxy" -msgstr "區域網路代理" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:235 -msgid "Least Recently Used (LRU)" -msgstr "最近最少使用(LRU)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:85 -msgid "Local" -msgstr "本地" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:25 -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:53 -msgid "Log" -msgstr "日誌" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:30 -msgid "Log Level" -msgstr "日誌等級" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:201 -msgid "MTU" -msgstr "最大傳輸單元" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:46 -msgid "Match Process" -msgstr "匹配程序" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:371 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:535 -msgid "Matcher" -msgstr "匹配器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:564 -msgid "Memory Conservative Loader" -msgstr "為記憶體受限裝置最佳化的載入器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:194 -msgid "Misc" -msgstr "雜項" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:150 -msgid "Mixed Port" -msgstr "混合埠" - -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:29 -msgid "Mixin Config" -msgstr "混入設定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:588 -msgid "Mixin File Content" -msgstr "混入檔案內容" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:26 -msgid "Mixin Option" -msgstr "混入選項" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:39 -msgid "Mode" -msgstr "模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:454 -msgid "Name" -msgstr "名稱" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:355 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:374 -msgid "Nameserver" -msgstr "DNS 伺服器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:3 -msgid "Nikkix" -msgstr "Nikkix" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:546 -msgid "No Resolve" -msgstr "不解析" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:468 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:539 -msgid "Node" -msgstr "節點" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:15 -msgid "Not Running" -msgstr "未在執行" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:164 -msgid "Number of Open Files Hard Limit" -msgstr "可開啟檔案數量硬限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:161 -msgid "Number of Open Files Soft Limit" -msgstr "可開啟檔案數量軟限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:89 -msgid "Open Dashboard" -msgstr "開啟儀表板" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:53 -msgid "Outbound Interface" -msgstr "出站介面" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:162 -msgid "Overwrite Authentication" -msgstr "覆寫身分驗證" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:215 -msgid "Overwrite DNS Hijack" -msgstr "覆寫 DNS 劫持" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:432 -msgid "Overwrite Destination" -msgstr "將嗅探結果作為連線目標" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:266 -msgid "Overwrite Fake-IP Filter" -msgstr "覆寫 Fake-IP 過濾清單" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:396 -msgid "Overwrite Force Sniff Domain Name" -msgstr "覆寫強制嗅探的網域名稱" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:315 -msgid "Overwrite Hosts" -msgstr "覆寫 Hosts" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:403 -msgid "Overwrite Ignore Sniff Domain Name" -msgstr "覆寫忽略嗅探的網域名稱" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:334 -msgid "Overwrite Nameserver" -msgstr "覆寫 DNS 伺服器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:357 -msgid "Overwrite Nameserver Policy" -msgstr "覆寫 DNS 伺服器查詢策略" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:410 -msgid "Overwrite Sniff By Protocol" -msgstr "覆寫按協定嗅探" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:179 -msgid "Password" -msgstr "密碼" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:590 -msgid "Please go to the editor tab to edit the file for mixin" -msgstr "請前往編輯器標籤編輯用於混入的檔案" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:429 -msgid "Port" -msgstr "埠" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:81 -msgid "Prefer" -msgstr "優先" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:531 -msgid "Process Name" -msgstr "程序名稱" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:18 -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:21 -msgid "Profile" -msgstr "設定檔" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:49 -msgid "Profile for Startup" -msgstr "用於啟動的設定檔" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:423 -msgid "Protocol" -msgstr "協定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:102 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:168 -msgid "Proxy" -msgstr "代理" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:29 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:31 -#: applications/luci-app-nikkix/root/usr/share/luci/menu.d/luci-app-nikkix.json:37 -msgid "Proxy Config" -msgstr "代理設定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:45 -msgid "Proxy Provider:" -msgstr "代理提供者:" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:135 -msgid "RLIMIT Config" -msgstr "RLIMIT 設定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:98 -msgid "Random" -msgstr "隨機" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:39 -msgid "Redirect Mode" -msgstr "Redirect 模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:154 -msgid "Redirect Port" -msgstr "Redirect 埠" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:69 -msgid "Reload Service" -msgstr "重新載入服務" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:84 -msgid "Remote" -msgstr "遠端" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:196 -msgid "Reserved IP" -msgstr "IPv4 保留位址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:199 -msgid "Reserved IP6" -msgstr "IPv6 保留位址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:285 -msgid "Respect Rules" -msgstr "遵循分流規則" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:76 -msgid "Restart Service" -msgstr "重新啟動服務" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:64 -msgid "Router Proxy" -msgstr "路由器代理" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:435 -msgid "Rule Config" -msgstr "規則設定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:43 -msgid "Rule Mode" -msgstr "規則模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:41 -msgid "Rule Provider:" -msgstr "規則提供者:" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:523 -msgid "Rule Set" -msgstr "規則集" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:15 -msgid "Running" -msgstr "執行中" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:146 -msgid "SOCKS Port" -msgstr "SOCKS 埠" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:169 -msgid "Safe Paths" -msgstr "安全路徑" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:128 -msgid "Save Proxy Selection" -msgstr "儲存節點/策略群組選擇" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:114 -msgid "Scheduled Restart" -msgstr "定時重新啟動" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:54 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/log.js:87 -msgid "Scroll To Bottom" -msgstr "捲動到底部" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:186 -msgid "Skip System IPv6 Check" -msgstr "跳過系統 IPv6 檢查" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:413 -msgid "Sniff By Protocol" -msgstr "按協定嗅探" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:390 -msgid "Sniff Pure IP" -msgstr "嗅探純 IP 連線" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:384 -msgid "Sniff Redir-Host" -msgstr "嗅探 Redir-Host 流量" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:376 -msgid "Sniffer Config" -msgstr "嗅探器設定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:194 -msgid "Stack" -msgstr "堆疊" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:157 -msgid "Stack Size Hard Limit" -msgstr "堆疊大小硬限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:153 -msgid "Stack Size Soft Limit" -msgstr "堆疊大小軟限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:563 -msgid "Standard Loader" -msgstr "標準載入器" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:110 -msgid "Start Delay" -msgstr "啟動延遲" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:112 -msgid "Start Immidiately" -msgstr "立即啟動" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:40 -msgid "Status" -msgstr "狀態" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:28 -msgid "Subscription" -msgstr "訂閱" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:66 -msgid "Subscription Info Url" -msgstr "訂閱信息連結" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:34 -msgid "Subscription Name" -msgstr "訂閱名稱" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:69 -msgid "Subscription Url" -msgstr "訂閱連結" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:107 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/editor.js:37 -msgid "Subscription:" -msgstr "訂閱:" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:76 -msgid "TCP Concurrent" -msgstr "TCP 並發" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:88 -msgid "TCP Keep Alive Idle" -msgstr "TCP Keep Alive 閒置" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:92 -msgid "TCP Keep Alive Interval" -msgstr "TCP Keep Alive 間隔" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:36 -msgid "TCP Mode" -msgstr "TCP 模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:40 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:46 -msgid "TPROXY Mode" -msgstr "TPROXY 模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:158 -msgid "TPROXY Port" -msgstr "TPROXY 埠" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:183 -msgid "TUN Config" -msgstr "TUN 設定" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:206 -msgid "TUN Interval" -msgstr "TUN 等待間隔" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:41 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:47 -msgid "TUN Mode" -msgstr "TUN 模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:202 -msgid "TUN Timeout" -msgstr "TUN 等待超時" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:122 -msgid "Test Profile" -msgstr "檢查設定檔" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:42 -msgid "Total" -msgstr "總計" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:38 -msgid "Transparent Proxy with Mihomo on OpenWrt." -msgstr "在 OpenWrt 上使用 Mihomo 進行透明代理." - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:348 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:457 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:521 -msgid "Type" -msgstr "類型" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:43 -msgid "UDP Mode" -msgstr "UDP 模式" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:109 -msgid "UI Name" -msgstr "UI 名稱" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:106 -msgid "UI Path" -msgstr "UI 路徑" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:112 -msgid "UI Url" -msgstr "UI 下載網址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:70 -msgid "Unify Delay" -msgstr "統一延遲" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:139 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:143 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:147 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:151 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:155 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:159 -msgid "Unlimited" -msgstr "無限制" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:32 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:41 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:48 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:55 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:66 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:72 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:78 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:84 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:90 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:94 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:97 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:107 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:110 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:113 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:122 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:126 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:130 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:138 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:144 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:148 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:152 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:156 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:160 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:187 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:192 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:196 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:203 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:207 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:213 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:228 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:234 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:240 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:244 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:250 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:256 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:260 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:264 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:275 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:281 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:287 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:293 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:299 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:305 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:311 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:380 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:386 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:392 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:556 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:562 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:567 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:570 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:573 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:576 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:580 -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:586 -msgid "Unmodified" -msgstr "不修改" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:60 -msgid "Update" -msgstr "更新" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:52 -msgid "Update At" -msgstr "更新時間" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:83 -msgid "Update Dashboard" -msgstr "更新儀表板" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:500 -msgid "Update Interval" -msgstr "更新間隔" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:20 -msgid "Upload Profile" -msgstr "上傳設定檔" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:463 -msgid "Url" -msgstr "下載網址" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:309 -msgid "Use Hosts" -msgstr "使用 Hosts" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:303 -msgid "Use System Hosts" -msgstr "使用系統的 Hosts" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:37 -msgid "Used" -msgstr "已使用" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/proxy.js:81 -msgid "User" -msgstr "使用者" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/profile.js:73 -msgid "User Agent" -msgstr "使用者代理(UA)" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js:176 -msgid "Username" -msgstr "使用者名稱" - -#: applications/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/app.js:128 -msgid "procd Config" -msgstr "procd 設定" diff --git a/nikkix/Makefile b/nikkix/Makefile index dd3c5c9c24..9e0a3f84dd 100644 --- a/nikkix/Makefile +++ b/nikkix/Makefile @@ -8,8 +8,8 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git -PKG_SOURCE_VERSION:=v1.19.19 -PKG_MIRROR_HASH:=e4445151e2664276c4ebb09039399970bc5045e875b4453bac82247be15b38d0 +PKG_SOURCE_VERSION:=v1.19.20 +PKG_MIRROR_HASH:=ab83118867b4325139864f5b57c4acef750631c5decfd8d3ba388d5d2afa5e23 PKG_LICENSE:=GPL3.0+ PKG_MAINTAINER:=Joseph Mory @@ -32,7 +32,7 @@ define Package/nikkix CATEGORY:=Network TITLE:=A rule based proxy in Go. URL:=https://wiki.metacubex.one - DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle +curl +yq firewall4 +ip-full +kmod-inet-diag +kmod-nft-socket +kmod-nft-tproxy +kmod-tun + DEPENDS:=$(GO_ARCH_DEPENDS) +ca-bundle +curl +yq firewall4 +ip-full +kmod-inet-diag +kmod-nft-socket +kmod-nft-tproxy +kmod-tun +kmod-dummy PROVIDES:=mihomo ALTERNATIVES:=\ 300:/usr/bin/mihomo:/usr/libexec/nikki diff --git a/nikkix/files/nikkix.conf b/nikkix/files/nikkix.conf index 466f2f2f2a..133eacde85 100644 --- a/nikkix/files/nikkix.conf +++ b/nikkix/files/nikkix.conf @@ -165,6 +165,7 @@ config router_access_control list 'user' 'ntp' list 'user' 'ubus' list 'group' 'dnsmasq' + list 'group' 'nikkix' list 'group' 'ftp' list 'group' 'logd' list 'group' 'nogroup' @@ -173,6 +174,7 @@ config router_access_control list 'cgroup' 'services/adguardhome' list 'cgroup' 'services/aria2' list 'cgroup' 'services/dnsmasq' + list 'cgroup' 'services/nikkix' list 'cgroup' 'services/netbird' list 'cgroup' 'services/qbittorrent' list 'cgroup' 'services/sysntpd' @@ -202,6 +204,7 @@ config routing 'routing' option 'tun_route_table' '81' option 'cgroup_id' '0x12061206' option 'cgroup_name' 'nikkix' + option 'dummy_device' 'nikkix-dummy' config editor 'editor' diff --git a/nikkix/files/nikkix.init b/nikkix/files/nikkix.init index 696ebe3834..72087ed0f7 100644 --- a/nikkix/files/nikkix.init +++ b/nikkix/files/nikkix.init @@ -283,7 +283,7 @@ service_started() { config_get tun_timeout "proxy" "tun_timeout" 30 config_get tun_interval "proxy" "tun_interval" 1 ## routing config - local tproxy_fw_mark tproxy_fw_mask tun_fw_mark tun_fw_mask tproxy_rule_pref tun_rule_pref tproxy_route_table tun_route_table cgroup_id cgroup_name + local tproxy_fw_mark tproxy_fw_mask tun_fw_mark tun_fw_mask tproxy_rule_pref tun_rule_pref tproxy_route_table tun_route_table cgroup_id cgroup_name dummy_device config_get tproxy_fw_mark "routing" "tproxy_fw_mark" "0x80" config_get tproxy_fw_mask "routing" "tproxy_fw_mask" "0xFF" config_get tun_fw_mark "routing" "tun_fw_mark" "0x81" @@ -294,6 +294,8 @@ service_started() { config_get tun_route_table "routing" "tun_route_table" "81" config_get cgroup_id "routing" "cgroup_id" "0x12061206" config_get cgroup_name "routing" "cgroup_name" "nikkix" + config_get dummy_device "routing" "dummy_device" "nikkix-dummy" + # prepare config local tproxy_enable; tproxy_enable=0 if [ "$tcp_mode" = "tproxy" ] || [ "$udp_mode" = "tproxy" ]; then @@ -303,7 +305,9 @@ service_started() { if [ "$tcp_mode" = "tun" ] || [ "$udp_mode" = "tun" ]; then tun_enable=1 fi - local tun_device; tun_device=$(yq -M '.tun.device' "$RUN_PROFILE_PATH") + local tun_device; tun_device=$(yq -M '.tun.device // ""' "$RUN_PROFILE_PATH") + local dns_mode; dns_mode=$(yq -M '.dns.enhanced-mode // ""' "$RUN_PROFILE_PATH") + local fake_ip6_range; fake_ip6_range=$(yq -M '.dns.fake-ip-range6 // ""' "$RUN_PROFILE_PATH") if [ "$core_only" = 0 ]; then # proxy log "Proxy" "Enabled." @@ -372,6 +376,11 @@ service_started() { fi $FIREWALL_INCLUDE_SH fi + if [ "$dns_mode" = "fake-ip" ] && [ -n "$fake_ip6_range" ]; then + ip link add "$dummy_device" type dummy + ip link set dev "$dummy_device" up + ip -6 route add "$fake_ip6_range" dev "$dummy_device" + fi # hijack utpl -S "$HIJACK_UT" | nft -f - # check hijack @@ -404,9 +413,10 @@ cleanup() { config_load nikkix # get config ## routing config - local tproxy_route_table tun_route_table + local tproxy_route_table tun_route_table dummy_device config_get tproxy_route_table "routing" "tproxy_route_table" "80" config_get tun_route_table "routing" "tun_route_table" "81" + config_get dummy_device "routing" "dummy_device" "nikkix-dummy" # delete routing policy ip -4 rule del table "$tproxy_route_table" > /dev/null 2>&1 ip -4 rule del table "$tun_route_table" > /dev/null 2>&1 @@ -417,6 +427,8 @@ cleanup() { ip -4 route flush table "$tun_route_table" > /dev/null 2>&1 ip -6 route flush table "$tproxy_route_table" > /dev/null 2>&1 ip -6 route flush table "$tun_route_table" > /dev/null 2>&1 + # delete dummy device + ip -6 link del "$dummy_device" > /dev/null 2>&1 # delete hijack nft delete table inet nikkix > /dev/null 2>&1 local handles handle diff --git a/nikkix/files/uci-defaults/migrate.sh b/nikkix/files/uci-defaults/migrate.sh index be4d949740..1c218fa41e 100644 --- a/nikkix/files/uci-defaults/migrate.sh +++ b/nikkix/files/uci-defaults/migrate.sh @@ -201,6 +201,11 @@ procd=$(uci -q get nikkix.procd); [ -z "$procd" ] && { uci del nikkix.env } +# since v1.25.1 + +dummy_device=$(uci -q get nikki.routing.dummy_device); [ -z "$dummy_device" ] && uci set nikki.routing.dummy_device=nikki-dummy + + # commit uci commit nikkix diff --git a/nikkix/files/ucode/mixin.uc b/nikkix/files/ucode/mixin.uc index 574ad825f8..c5352c2f74 100644 --- a/nikkix/files/ucode/mixin.uc +++ b/nikkix/files/ucode/mixin.uc @@ -81,7 +81,6 @@ config['dns']['fake-ip-filter-mode'] = uci.get('nikkix', 'mixin', 'fake_ip_filte config['dns']['respect-rules'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_respect_rules')); config['dns']['prefer-h3'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_doh_prefer_http3')); -config['dns']['direct-nameserver-follow-policy'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_direct_nameserver_follow_policy')); config['dns']['use-system-hosts'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_system_hosts')); config['dns']['use-hosts'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_hosts')); if (uci_bool(uci.get('nikkix', 'mixin', 'hosts'))) { @@ -106,6 +105,16 @@ if (uci_bool(uci.get('nikkix', 'mixin', 'dns_nameserver'))) { push(config['dns'][section.type], ...uci_array(section.nameserver)); }) } +if (uci_bool(uci.get('nikkix', 'mixin', 'dns_proxy_server_nameserver_policy'))) { + config['dns']['proxy-server-nameserver-policy'] = {}; + uci.foreach('nikkix', 'proxy_server_nameserver_policy', (section) => { + if (!uci_bool(section.enabled)) { + return; + } + config['dns']['proxy-server-nameserver-policy'][section.matcher] = uci_array(section.nameserver); + }); +} +config['dns']['direct-nameserver-follow-policy'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_direct_nameserver_follow_policy')) if (uci_bool(uci.get('nikkix', 'mixin', 'dns_nameserver_policy'))) { config['dns']['nameserver-policy'] = {}; uci.foreach('nikkix', 'nameserver_policy', (section) => { From e5a1424e9d5ca874e3f0222cb56c53d7c63eadb6 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sun, 15 Feb 2026 03:02:01 +0300 Subject: [PATCH 35/46] feat: version bump --- luci-app-nikkix/Makefile | 2 +- nikkix/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/luci-app-nikkix/Makefile b/luci-app-nikkix/Makefile index 7062910620..64a534c1f4 100644 --- a/luci-app-nikkix/Makefile +++ b/luci-app-nikkix/Makefile @@ -1,6 +1,6 @@ include $(TOPDIR)/rules.mk -PKG_VERSION:=1.0.1 +PKG_VERSION:=1.0.2 LUCI_TITLE:=LuCI Support for nikkix LUCI_DEPENDS:=+luci-base +nikkix diff --git a/nikkix/Makefile b/nikkix/Makefile index 9e0a3f84dd..49de122272 100644 --- a/nikkix/Makefile +++ b/nikkix/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nikkix -PKG_VERSION:=1.0.1 +PKG_VERSION:=1.0.2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz From 08a45edfaf5aa903a0cd53cd6410e2ee6c62309e Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Sun, 15 Feb 2026 03:45:36 +0300 Subject: [PATCH 36/46] fix: pkg hash --- nikkix/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nikkix/Makefile b/nikkix/Makefile index 49de122272..b53f22594c 100644 --- a/nikkix/Makefile +++ b/nikkix/Makefile @@ -9,7 +9,7 @@ PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git PKG_SOURCE_VERSION:=v1.19.20 -PKG_MIRROR_HASH:=ab83118867b4325139864f5b57c4acef750631c5decfd8d3ba388d5d2afa5e23 +PKG_MIRROR_HASH:=f86e21fc4983690e8dbdc7a59e46be32d18e15c227ab78e4957fc48af7355a7d PKG_LICENSE:=GPL3.0+ PKG_MAINTAINER:=Joseph Mory From 91f5e902181b394677254915a4da29406b92040f Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Thu, 26 Feb 2026 01:15:31 +0300 Subject: [PATCH 37/46] fix: mixin dns semicolon --- nikkix/files/ucode/mixin.uc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nikkix/files/ucode/mixin.uc b/nikkix/files/ucode/mixin.uc index c5352c2f74..3e82a72123 100644 --- a/nikkix/files/ucode/mixin.uc +++ b/nikkix/files/ucode/mixin.uc @@ -114,7 +114,7 @@ if (uci_bool(uci.get('nikkix', 'mixin', 'dns_proxy_server_nameserver_policy'))) config['dns']['proxy-server-nameserver-policy'][section.matcher] = uci_array(section.nameserver); }); } -config['dns']['direct-nameserver-follow-policy'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_direct_nameserver_follow_policy')) +config['dns']['direct-nameserver-follow-policy'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_direct_nameserver_follow_policy')); if (uci_bool(uci.get('nikkix', 'mixin', 'dns_nameserver_policy'))) { config['dns']['nameserver-policy'] = {}; uci.foreach('nikkix', 'nameserver_policy', (section) => { From 948838d79103cfe942fad8d1fc3297bf920d65a5 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Thu, 26 Feb 2026 01:23:06 +0300 Subject: [PATCH 38/46] feat: prepare release --- luci-app-nikkix/Makefile | 2 +- nikkix/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/luci-app-nikkix/Makefile b/luci-app-nikkix/Makefile index 64a534c1f4..eb1750c0e5 100644 --- a/luci-app-nikkix/Makefile +++ b/luci-app-nikkix/Makefile @@ -1,6 +1,6 @@ include $(TOPDIR)/rules.mk -PKG_VERSION:=1.0.2 +PKG_VERSION:=1.0.3 LUCI_TITLE:=LuCI Support for nikkix LUCI_DEPENDS:=+luci-base +nikkix diff --git a/nikkix/Makefile b/nikkix/Makefile index b53f22594c..88cae582d9 100644 --- a/nikkix/Makefile +++ b/nikkix/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nikkix -PKG_VERSION:=1.0.2 +PKG_VERSION:=1.0.3 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz From b5725a79dea7803ab28136626683cf0dbdb42889 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Thu, 26 Feb 2026 02:01:12 +0300 Subject: [PATCH 39/46] fix: mirror hash --- nikkix/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nikkix/Makefile b/nikkix/Makefile index 88cae582d9..cb6eebba2d 100644 --- a/nikkix/Makefile +++ b/nikkix/Makefile @@ -9,7 +9,7 @@ PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git PKG_SOURCE_VERSION:=v1.19.20 -PKG_MIRROR_HASH:=f86e21fc4983690e8dbdc7a59e46be32d18e15c227ab78e4957fc48af7355a7d +PKG_MIRROR_HASH:=4215fea65bbc248fc046fdb54f1db465fb6b6e921f147f80b03d09628ac468d2 PKG_LICENSE:=GPL3.0+ PKG_MAINTAINER:=Joseph Mory From 0e3a467eb33d26507d96fb802899fbbadc178e89 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Thu, 26 Feb 2026 23:53:28 +0300 Subject: [PATCH 40/46] feat: support using listeners as inbound --- nikkix/files/nikkix.conf | 5 ++++ nikkix/files/nikkix.init | 5 ++++ nikkix/files/uci-defaults/migrate.sh | 8 +++++++ nikkix/files/ucode/hijack.ut | 35 ++++++++++++++++++++++------ 4 files changed, 46 insertions(+), 7 deletions(-) diff --git a/nikkix/files/nikkix.conf b/nikkix/files/nikkix.conf index 133eacde85..dc69485d27 100644 --- a/nikkix/files/nikkix.conf +++ b/nikkix/files/nikkix.conf @@ -19,6 +19,11 @@ config procd 'procd' option 'rlimit_nofile_soft' '65536' option 'rlimit_nofile_hard' '65536' +config core 'core' + option 'redirect_listener_name' 'redir-in' + option 'tproxy_listener_name' 'tproxy-in' + option 'tun_listener_name' 'tun-in' + config subscription 'subscription' option 'name' 'default' option 'url' 'http://example.com/default.yaml' diff --git a/nikkix/files/nikkix.init b/nikkix/files/nikkix.init index 72087ed0f7..2119b2afec 100644 --- a/nikkix/files/nikkix.init +++ b/nikkix/files/nikkix.init @@ -97,6 +97,11 @@ start_service() { ### mixin file content local mixin_file_content config_get_bool mixin_file_content "mixin" "mixin_file_content" 0 + ## core config + local redirect_listener_name tproxy_listener_name tun_listener_name + config_get redirect_listener_name "core" "redirect_listener_name" + config_get tproxy_listener_name "core" "tproxy_listener_name" + config_get tun_listener_name "core" "tun_listener_name" ## proxy config local proxy_enabled ipv4_dns_hijack ipv6_dns_hijack tcp_mode udp_mode config_get_bool proxy_enabled "proxy" "enabled" 0 diff --git a/nikkix/files/uci-defaults/migrate.sh b/nikkix/files/uci-defaults/migrate.sh index 1c218fa41e..7dfcb7607a 100644 --- a/nikkix/files/uci-defaults/migrate.sh +++ b/nikkix/files/uci-defaults/migrate.sh @@ -205,6 +205,14 @@ procd=$(uci -q get nikkix.procd); [ -z "$procd" ] && { dummy_device=$(uci -q get nikki.routing.dummy_device); [ -z "$dummy_device" ] && uci set nikki.routing.dummy_device=nikki-dummy +# since v1.25.2 + +core=$(uci -q get nikkix.core); [ -z "$core" ] && { + uci set nikkix.core=core + uci set nikkix.core.redirect_listener_name=redir-in + uci set nikkix.core.tproxy_listener_name=tproxy-in + uci set nikkix.core.tun_listener_name=tun-in +} # commit uci commit nikkix diff --git a/nikkix/files/ucode/hijack.ut b/nikkix/files/ucode/hijack.ut index 217db9a979..d506f4c438 100644 --- a/nikkix/files/ucode/hijack.ut +++ b/nikkix/files/ucode/hijack.ut @@ -20,13 +20,39 @@ const profile = load_profile(); - const redir_port = profile['redir-port']; - const tproxy_port = profile['tproxy-port']; + let redir_port; + let tproxy_port; + let tun_device; let dns_listen; let dns_port; let fake_ip_range; let fake_ip6_range; + + const redirect_listener_name = uci.get('nikkix', 'core', 'redirect_listener_name'); + const tproxy_listener_name = uci.get('nikkix', 'core', 'tproxy_listener_name'); + const tun_listener_name = uci.get('nikkix', 'core', 'tun_listener_name'); + + let profile_listeners; + profile_listeners = filter(profile['listeners'], (x) => x['name'] == redirect_listener_name); + if (length(profile_listeners) > 0) { + redir_port = profile_listeners[0]['port']; + } else if (exists(profile, 'redir-port')) { + redir_port = profile['redir-port'] + } + profile_listeners = filter(profile['listeners'], (x) => x['name'] == tproxy_listener_name); + if (length(profile_listeners) > 0) { + tproxy_port = profile_listeners[0]['port']; + } else if (exists(profile, 'tproxy-port')) { + tproxy_port = profile['tproxy-port'] + } + profile_listeners = filter(profile['listeners'], (x) => x['name'] == tun_listener_name); + if (length(profile_listeners) > 0) { + tun_device = profile_listeners[0]['device']; + } else if (profile['tun']) { + tun_device = profile['tun']['device']; + } + if (profile['dns']) { dns_listen = profile['dns']['listen']; const dns_listen_rindex = rindex(dns_listen, ':'); @@ -37,11 +63,6 @@ fake_ip6_range = profile['dns']['fake-ip-range6']; } - let tun_device; - if (profile['tun']) { - tun_device = profile['tun']['device']; - } - uci.load('nikkix'); const tcp_mode = uci.get('nikkix', 'proxy', 'tcp_mode'); From 5a51a037ce00511670f828ed1dd340f7907ba8b4 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Fri, 27 Feb 2026 00:09:17 +0300 Subject: [PATCH 41/46] feat: merge from upstream --- .../luci-static/resources/tools/nikkix.js | 32 +++++++++++++---- .../resources/view/nikkix/mixin.js | 13 +++++++ .../root/usr/share/rpcd/ucode/luci.nikkix | 8 +++-- nikkix/files/nikkix.conf | 3 ++ nikkix/files/nikkix.init | 25 ++++++++----- nikkix/files/scripts/firewall_include.sh | 16 ++++++--- nikkix/files/ucode/hijack.ut | 35 ++++++++++--------- nikkix/files/ucode/mixin.uc | 5 +++ 8 files changed, 98 insertions(+), 39 deletions(-) diff --git a/luci-app-nikkix/htdocs/luci-static/resources/tools/nikkix.js b/luci-app-nikkix/htdocs/luci-static/resources/tools/nikkix.js index a750f86e85..08c55ca893 100644 --- a/luci-app-nikkix/htdocs/luci-static/resources/tools/nikkix.js +++ b/luci-app-nikkix/htdocs/luci-static/resources/tools/nikkix.js @@ -28,7 +28,7 @@ const callNikkixVersion = rpc.declare({ const callNikkixProfile = rpc.declare({ object: 'luci.nikkix', method: 'profile', - params: [ 'defaults' ], + params: ['defaults'], expect: { '': {} } }); @@ -115,28 +115,46 @@ return baseclass.extend({ }, openDashboard: async function () { - const profile = await callNikkixProfile({ 'external-ui-name': null, 'external-controller': null, 'secret': null }); + const profile = await callNikkixProfile({ + 'external-ui-name': null, + 'external-controller': null, + 'external-controller-tls': null, + 'secret': null + }); const uiName = profile['external-ui-name']; const apiListen = profile['external-controller']; + const apiTLSListen = profile['external-controller-tls']; const apiSecret = profile['secret'] ?? ''; - if (!apiListen) { + if (!apiListen && !apiTLSListen) { return Promise.reject('API has not been configured'); } - const apiPort = apiListen.substring(apiListen.lastIndexOf(':') + 1); + + let protocol; + let port; + if (apiTLSListen) { + protocol = 'https'; + port = apiTLSListen.substring(apiTLSListen.lastIndexOf(':') + 1); + } else { + protocol = 'http'; + port = apiListen.substring(apiListen.lastIndexOf(':') + 1); + } + const params = { host: window.location.hostname, hostname: window.location.hostname, - port: apiPort, + port: port, secret: apiSecret }; const query = new URLSearchParams(params).toString(); let url; if (uiName) { - url = `http://${window.location.hostname}:${apiPort}/ui/${uiName}/?${query}`; + url = `${protocol}://${window.location.hostname}:${port}/ui/${uiName}/?${query}`; } else { - url = `http://${window.location.hostname}:${apiPort}/ui/?${query}`; + url = `${protocol}://${window.location.hostname}:${port}/ui/?${query}`; } + setTimeout(function () { window.open(url, '_blank') }, 0); + return Promise.resolve(); }, diff --git a/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js index 515835951b..10dcba34a9 100644 --- a/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js +++ b/luci-app-nikkix/htdocs/luci-static/resources/view/nikkix/mixin.js @@ -113,6 +113,19 @@ return view.extend({ o.datatype = 'ipaddrport(1)'; o.placeholder = _('Unmodified'); + o = s.taboption('external_control', form.Value, 'api_tls_listen', _('API TLS Listen')); + o.datatype = 'ipaddrport(1)'; + o.placeholder = _('Unmodified'); + + o = s.taboption('external_control', form.Value, 'api_tls_cert', _('API TLS Cert')); + o.placeholder = _('Unmodified'); + + o = s.taboption('external_control', form.Value, 'api_tls_key', _('API TLS Key')); + o.placeholder = _('Unmodified'); + + o = s.taboption('external_control', form.Value, 'api_tls_ech_key', _('API TLS ECH Key')); + o.placeholder = _('Unmodified'); + o = s.taboption('external_control', form.Value, 'api_secret', _('API Secret')); o.password = true; o.placeholder = _('Unmodified'); diff --git a/luci-app-nikkix/root/usr/share/rpcd/ucode/luci.nikkix b/luci-app-nikkix/root/usr/share/rpcd/ucode/luci.nikkix index c948b4f4b0..e7aa5d22a8 100644 --- a/luci-app-nikkix/root/usr/share/rpcd/ucode/luci.nikkix +++ b/luci-app-nikkix/root/usr/share/rpcd/ucode/luci.nikkix @@ -74,15 +74,17 @@ const methods = { const profile = load_profile(); const api_listen = profile['external-controller']; + const api_tls_listen = profile['external-controller-tls']; const api_secret = profile['secret']; - - if (!api_listen) { + if (!api_listen && !api_tls_listen) { return result; } + const protocol = api_tls_listen ? 'https' : 'http'; + const url = api_listen + path; - const process = popen(`curl --request '${method}' --oauth2-bearer '${api_secret}' --url-query '${query}' --data '${body}' '${url}'`); + const process = popen(`curl --proto-default '${protocol}' --insecure --request '${method}' --oauth2-bearer '${api_secret}' --url-query '${query}' --data '${body}' '${url}'`); if (process) { result = json(process); process.close(); diff --git a/nikkix/files/nikkix.conf b/nikkix/files/nikkix.conf index dc69485d27..1d78c00f55 100644 --- a/nikkix/files/nikkix.conf +++ b/nikkix/files/nikkix.conf @@ -37,6 +37,7 @@ config mixin 'mixin' option 'ipv6' '1' option 'ui_url' 'https://github.com/Zephyruso/zashboard/releases/latest/download/dist-cdn-fonts.zip' option 'api_listen' '[::]:9090' + option 'api_tls_listen' '[::]:9443' option 'selection_cache' '1' option 'allow_lan' '1' option 'http_port' '8080' @@ -62,6 +63,8 @@ config mixin 'mixin' option 'fake_ip_cache' '1' option 'hosts' '0' option 'dns_nameserver' '0' + option 'proxy_server_nameserver_policy' '0' + option 'dns_direct_nameserver_follow_policy' '0' option 'dns_nameserver_policy' '0' option 'sniffer_force_domain_name' '0' option 'sniffer_ignore_domain_name' '0' diff --git a/nikkix/files/nikkix.init b/nikkix/files/nikkix.init index 2119b2afec..459419017a 100644 --- a/nikkix/files/nikkix.init +++ b/nikkix/files/nikkix.init @@ -191,25 +191,25 @@ start_service() { fi fi if [ "$tcp_mode" = "redirect" ]; then - if yq -M -e '(has("redir-port")) | not' "$RUN_PROFILE_PATH" > /dev/null 2>&1; then + if yq -M -e "(has(\"redir-port\") or (has(\"listeners\") and .listeners | any_c(.name == \"$redirect_listener_name\" and .type == \"redir\"))) | not" "$RUN_PROFILE_PATH" > /dev/null 2>&1; then log "Profile" "Check failed." - log "Profile" "Redirect Port should be defined." + log "Profile" "Redirect Port/Listener should be defined." log "App" "Exit." return fi fi if [ "$tcp_mode" = "tproxy" ] || [ "$udp_mode" = "tproxy" ]; then - if yq -M -e '(has("tproxy-port")) | not' "$RUN_PROFILE_PATH" > /dev/null 2>&1; then + if yq -M -e "(has(\"tproxy-port\") or (has(\"listeners\") and .listeners | any_c(.name == \"$tproxy_listener_name\" and .type == \"tproxy\"))) | not" "$RUN_PROFILE_PATH" > /dev/null 2>&1; then log "Profile" "Check failed." - log "Profile" "TPROXY Port should be defined." + log "Profile" "TPROXY Port/Listener should be defined." log "App" "Exit." return fi fi if [ "$tcp_mode" = "tun" ] || [ "$udp_mode" = "tun" ]; then - if yq -M -e '(has("tun") and (.tun | .enable) and (.tun | has("device"))) | not' "$RUN_PROFILE_PATH" > /dev/null 2>&1; then + if yq -M -e "(has(\"tun\") and (.tun | .enable) and (.tun | has(\"device\"))) or (has(\"listeners\") and .listeners | any_c(.name == \"$tun_listener_name\" and .type == \"tun\" and has(\"device\")))) | not" "$RUN_PROFILE_PATH" > /dev/null 2>&1; then log "Profile" "Check failed." - log "Profile" "TUN should be enabled and device should be defined." + log "Profile" "TUN should be defined." log "App" "Exit." return fi @@ -278,6 +278,9 @@ service_started() { ## app config local core_only config_get_bool core_only "config" "core_only" 0 + ## core + local tun_listener_name + config_get tun_listener_name "core" "tun_listener_name" ## proxy config ### general local tcp_mode udp_mode ipv4_proxy ipv6_proxy tun_timeout tun_interval @@ -300,7 +303,6 @@ service_started() { config_get cgroup_id "routing" "cgroup_id" "0x12061206" config_get cgroup_name "routing" "cgroup_name" "nikkix" config_get dummy_device "routing" "dummy_device" "nikkix-dummy" - # prepare config local tproxy_enable; tproxy_enable=0 if [ "$tcp_mode" = "tproxy" ] || [ "$udp_mode" = "tproxy" ]; then @@ -310,14 +312,19 @@ service_started() { if [ "$tcp_mode" = "tun" ] || [ "$udp_mode" = "tun" ]; then tun_enable=1 fi - local tun_device; tun_device=$(yq -M '.tun.device // ""' "$RUN_PROFILE_PATH") local dns_mode; dns_mode=$(yq -M '.dns.enhanced-mode // ""' "$RUN_PROFILE_PATH") local fake_ip6_range; fake_ip6_range=$(yq -M '.dns.fake-ip-range6 // ""' "$RUN_PROFILE_PATH") + local tun_device + if yq -M -e 'has("tun") and (.tun | .enabled) and (.tun | has("device"))' "$RUN_PROFILE_PATH" > /dev/null 2>&1; then + tun_device=$(yq -M '.tun.device' "$RUN_PROFILE_PATH") + else + tun_device=$(yq -M ".listeners[] | select(.name == \"$tun_listener_name\" and .type == \"tun\") | .device" "$RUN_PROFILE_PATH") + fi if [ "$core_only" = 0 ]; then # proxy log "Proxy" "Enabled." # wait for tun device online - if [ "$tun_enable" = 1 ]; then + if [ "$tun_enable" = 1 ] && [ -n "$tun_device" ]; then log "Proxy" "Waiting for tun device online within $tun_timeout seconds..." while [ "$tun_timeout" -gt 0 ]; do if ip -j link show dev "$tun_device" 2>/dev/null | jsonfilter -q -e "@[@['flags'][@='UP']]" > /dev/null 2>&1; then diff --git a/nikkix/files/scripts/firewall_include.sh b/nikkix/files/scripts/firewall_include.sh index 4c64ffa2b9..afce97f229 100644 --- a/nikkix/files/scripts/firewall_include.sh +++ b/nikkix/files/scripts/firewall_include.sh @@ -6,16 +6,24 @@ config_load nikkix config_get_bool enabled "config" "enabled" 0 config_get_bool core_only "config" "core_only" 0 +config_get tun_listener_name "core" "tun_listener_name" config_get_bool proxy_enabled "proxy" "enabled" 0 config_get tcp_mode "proxy" "tcp_mode" config_get udp_mode "proxy" "udp_mode" if [ "$enabled" = 1 ] && [ "$core_only" = 0 ] && [ "$proxy_enabled" = 1 ]; then if [ "$tcp_mode" = "tun" ] || [ "$udp_mode" = "tun" ]; then - tun_device=$(yq -M '.tun.device' "$RUN_PROFILE_PATH") - nft insert rule inet fw4 input iifname "$tun_device" counter accept comment "nikkix" - nft insert rule inet fw4 forward oifname "$tun_device" counter accept comment "nikkix" - nft insert rule inet fw4 forward iifname "$tun_device" counter accept comment "nikkix" + tun_device= + if yq -M -e 'has("tun") and (.tun | .enabled) and (.tun | has("device"))' "$RUN_PROFILE_PATH" > /dev/null 2>&1; then + tun_device=$(yq -M '.tun.device' "$RUN_PROFILE_PATH") + else + tun_device=$(yq -M ".listeners[] | select(.name == \"$tun_listener_name\" and .type == \"tun\") | .device" "$RUN_PROFILE_PATH") + fi + if [ -n "$tun_device" ]; then + nft insert rule inet fw4 input iifname "$tun_device" counter accept comment "nikkix" + nft insert rule inet fw4 forward oifname "$tun_device" counter accept comment "nikkix" + nft insert rule inet fw4 forward iifname "$tun_device" counter accept comment "nikkix" + fi fi fi diff --git a/nikkix/files/ucode/hijack.ut b/nikkix/files/ucode/hijack.ut index d506f4c438..6495572553 100644 --- a/nikkix/files/ucode/hijack.ut +++ b/nikkix/files/ucode/hijack.ut @@ -23,8 +23,6 @@ let redir_port; let tproxy_port; let tun_device; - - let dns_listen; let dns_port; let fake_ip_range; let fake_ip6_range; @@ -33,28 +31,33 @@ const tproxy_listener_name = uci.get('nikkix', 'core', 'tproxy_listener_name'); const tun_listener_name = uci.get('nikkix', 'core', 'tun_listener_name'); - let profile_listeners; - profile_listeners = filter(profile['listeners'], (x) => x['name'] == redirect_listener_name); - if (length(profile_listeners) > 0) { - redir_port = profile_listeners[0]['port']; - } else if (exists(profile, 'redir-port')) { + if (profile['redir-port']) { redir_port = profile['redir-port'] + } else { + const profile_listeners = filter(profile['listeners'], (x) => x['name'] == redirect_listener_name && x['type'] === 'redir'); + if (length(profile_listeners) > 0) { + redir_port = profile_listeners[0]['port']; + } } - profile_listeners = filter(profile['listeners'], (x) => x['name'] == tproxy_listener_name); - if (length(profile_listeners) > 0) { - tproxy_port = profile_listeners[0]['port']; - } else if (exists(profile, 'tproxy-port')) { + if (profile['tproxy-port']) { tproxy_port = profile['tproxy-port'] + } else { + const profile_listeners = filter(profile['listeners'], (x) => x['name'] == tproxy_listener_name && x['type'] === 'tproxy'); + if (length(profile_listeners) > 0) { + tproxy_port = profile_listeners[0]['port']; + } } - profile_listeners = filter(profile['listeners'], (x) => x['name'] == tun_listener_name); - if (length(profile_listeners) > 0) { - tun_device = profile_listeners[0]['device']; - } else if (profile['tun']) { + if (profile['tun'] && profile['tun']['enable'] && profile['tun']['device']) { tun_device = profile['tun']['device']; + } else { + const profile_listeners = filter(profile['listeners'], (x) => x['name'] == tun_listener_name && x['type'] === 'tun'); + if (length(profile_listeners) > 0) { + tun_device = profile_listeners[0]['device']; + } } if (profile['dns']) { - dns_listen = profile['dns']['listen']; + const dns_listen = profile['dns']['listen']; const dns_listen_rindex = rindex(dns_listen, ':'); if (dns_listen_rindex >= 0 && dns_listen_rindex + 1 < length(dns_listen)) { dns_port = substr(dns_listen, dns_listen_rindex + 1); diff --git a/nikkix/files/ucode/mixin.uc b/nikkix/files/ucode/mixin.uc index 3e82a72123..28925d01cf 100644 --- a/nikkix/files/ucode/mixin.uc +++ b/nikkix/files/ucode/mixin.uc @@ -30,6 +30,11 @@ config['external-ui'] = uci.get('nikkix', 'mixin', 'ui_path'); config['external-ui-name'] = uci.get('nikkix', 'mixin', 'ui_name'); config['external-ui-url'] = uci.get('nikkix', 'mixin', 'ui_url'); config['external-controller'] = uci.get('nikkix', 'mixin', 'api_listen'); +config['external-controller-tls'] = uci.get('nikki', 'mixin', 'api_tls_listen'); +config['tls'] = {}; +config['tls']['certificate'] = uci.get('nikki', 'mixin', 'api_tls_cert'); +config['tls']['private-key'] = uci.get('nikki', 'mixin', 'api_tls_key'); +config['tls']['ech-key'] = uci.get('nikki', 'mixin', 'api_tls_ech_key'); config['secret'] = uci.get('nikkix', 'mixin', 'api_secret'); config['allow-lan'] = uci_bool(uci.get('nikkix', 'mixin', 'allow_lan')); From 29215c049e3c87c544c54ad74d84b59e4c53ce85 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Fri, 27 Feb 2026 14:10:25 +0300 Subject: [PATCH 42/46] feat: merge from upstream --- nikkix/files/nikkix.init | 9 ++------- nikkix/files/scripts/firewall_include.sh | 15 ++++----------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/nikkix/files/nikkix.init b/nikkix/files/nikkix.init index 459419017a..5bc5245647 100644 --- a/nikkix/files/nikkix.init +++ b/nikkix/files/nikkix.init @@ -314,17 +314,12 @@ service_started() { fi local dns_mode; dns_mode=$(yq -M '.dns.enhanced-mode // ""' "$RUN_PROFILE_PATH") local fake_ip6_range; fake_ip6_range=$(yq -M '.dns.fake-ip-range6 // ""' "$RUN_PROFILE_PATH") - local tun_device - if yq -M -e 'has("tun") and (.tun | .enabled) and (.tun | has("device"))' "$RUN_PROFILE_PATH" > /dev/null 2>&1; then - tun_device=$(yq -M '.tun.device' "$RUN_PROFILE_PATH") - else - tun_device=$(yq -M ".listeners[] | select(.name == \"$tun_listener_name\" and .type == \"tun\") | .device" "$RUN_PROFILE_PATH") - fi + local tun_device; tun_device=$(yq -M "(.tun | select(.enable) | .device) // (.listeners[] | select(.name == \"$tun_listener_name\" and .type == \"tun\") | .device)" "$RUN_PROFILE_PATH") if [ "$core_only" = 0 ]; then # proxy log "Proxy" "Enabled." # wait for tun device online - if [ "$tun_enable" = 1 ] && [ -n "$tun_device" ]; then + if [ "$tun_enable" = 1 ]; then log "Proxy" "Waiting for tun device online within $tun_timeout seconds..." while [ "$tun_timeout" -gt 0 ]; do if ip -j link show dev "$tun_device" 2>/dev/null | jsonfilter -q -e "@[@['flags'][@='UP']]" > /dev/null 2>&1; then diff --git a/nikkix/files/scripts/firewall_include.sh b/nikkix/files/scripts/firewall_include.sh index afce97f229..afc2ae523f 100644 --- a/nikkix/files/scripts/firewall_include.sh +++ b/nikkix/files/scripts/firewall_include.sh @@ -13,17 +13,10 @@ config_get udp_mode "proxy" "udp_mode" if [ "$enabled" = 1 ] && [ "$core_only" = 0 ] && [ "$proxy_enabled" = 1 ]; then if [ "$tcp_mode" = "tun" ] || [ "$udp_mode" = "tun" ]; then - tun_device= - if yq -M -e 'has("tun") and (.tun | .enabled) and (.tun | has("device"))' "$RUN_PROFILE_PATH" > /dev/null 2>&1; then - tun_device=$(yq -M '.tun.device' "$RUN_PROFILE_PATH") - else - tun_device=$(yq -M ".listeners[] | select(.name == \"$tun_listener_name\" and .type == \"tun\") | .device" "$RUN_PROFILE_PATH") - fi - if [ -n "$tun_device" ]; then - nft insert rule inet fw4 input iifname "$tun_device" counter accept comment "nikkix" - nft insert rule inet fw4 forward oifname "$tun_device" counter accept comment "nikkix" - nft insert rule inet fw4 forward iifname "$tun_device" counter accept comment "nikkix" - fi + tun_device=$(yq -M "(.tun | select(.enable) | .device) // (.listeners[] | select(.name == \"$tun_listener_name\" and .type == \"tun\") | .device)" "$RUN_PROFILE_PATH") + nft insert rule inet fw4 input iifname "$tun_device" counter accept comment "nikki" + nft insert rule inet fw4 forward oifname "$tun_device" counter accept comment "nikki" + nft insert rule inet fw4 forward iifname "$tun_device" counter accept comment "nikki" fi fi From ccf5220cd235a96b97ff8c62c44fdbe407b3dde6 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Thu, 5 Mar 2026 01:03:52 +0300 Subject: [PATCH 43/46] feat: merge upstream changes --- nikkix/files/nikkix.init | 4 ++++ nikkix/files/ucode/mixin.uc | 5 ----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/nikkix/files/nikkix.init b/nikkix/files/nikkix.init index 5bc5245647..3a24b4f8bf 100644 --- a/nikkix/files/nikkix.init +++ b/nikkix/files/nikkix.init @@ -178,6 +178,10 @@ start_service() { elif [ "$mixin_file_content" = 1 ]; then ucode -S "$MIXIN_UC" | yq -M -p json -o yaml | yq -M -i ea '... comments="" | . as $item ireduce ({}; . * $item ) | .proxies = .nikkix-proxies + .proxies | del(.nikkix-proxies) | .proxy-groups = .nikkix-proxy-groups + .proxy-groups | del(.nikkix-proxy-groups) | .rules = .nikkix-rules + .rules | del(.nikkix-rules)' "$RUN_PROFILE_PATH" "$MIXIN_FILE_PATH" - fi + if [ "$proxy_enabled" = 1 ]; then + yq -M -i '(.tun) |= (.auto-route = false | .auto-redirect = false | .auto-detect-interface = false)' "$RUN_PROFILE_PATH" + yq -M -i '(.listeners[] | select(.type == "tun")) |= (.auto-route = false | .auto-redirect = false | .auto-detect-interface = false)' "$RUN_PROFILE_PATH" + fi fi # check profile if [ "$core_only" = 0 ] && [ "$proxy_enabled" = 1 ]; then diff --git a/nikkix/files/ucode/mixin.uc b/nikkix/files/ucode/mixin.uc index 28925d01cf..3e9b592707 100644 --- a/nikkix/files/ucode/mixin.uc +++ b/nikkix/files/ucode/mixin.uc @@ -64,11 +64,6 @@ config['tun']['gso-max-size'] = uci_int(uci.get('nikkix', 'mixin', 'tun_gso_max_ if (uci_bool(uci.get('nikkix', 'mixin', 'tun_dns_hijack'))) { config['tun']['dns-hijack'] = uci_array(uci.get('nikkix', 'mixin', 'tun_dns_hijacks')); } -if (uci_bool(uci.get('nikkix', 'proxy', 'enabled'))) { - config['tun']['auto-route'] = false; - config['tun']['auto-redirect'] = false; - config['tun']['auto-detect-interface'] = false; -} config['dns'] = {}; config['dns']['enable'] = uci_bool(uci.get('nikkix', 'mixin', 'dns_enabled')); From 4b2962e416c3870ae52c27e647d832bf1bb300c8 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Wed, 18 Mar 2026 03:36:33 +0300 Subject: [PATCH 44/46] feat: gather upstream changes --- nikkix/files/nikkix.conf | 1 - 1 file changed, 1 deletion(-) diff --git a/nikkix/files/nikkix.conf b/nikkix/files/nikkix.conf index 1d78c00f55..3df3e99037 100644 --- a/nikkix/files/nikkix.conf +++ b/nikkix/files/nikkix.conf @@ -37,7 +37,6 @@ config mixin 'mixin' option 'ipv6' '1' option 'ui_url' 'https://github.com/Zephyruso/zashboard/releases/latest/download/dist-cdn-fonts.zip' option 'api_listen' '[::]:9090' - option 'api_tls_listen' '[::]:9443' option 'selection_cache' '1' option 'allow_lan' '1' option 'http_port' '8080' From f821c33948063650df1d6ea1efb0ebdcd76b12b5 Mon Sep 17 00:00:00 2001 From: Mark Glants Date: Wed, 18 Mar 2026 03:37:42 +0300 Subject: [PATCH 45/46] feat: update to 1.0.4 --- luci-app-nikkix/Makefile | 2 +- nikkix/Makefile | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/luci-app-nikkix/Makefile b/luci-app-nikkix/Makefile index eb1750c0e5..7125e677f9 100644 --- a/luci-app-nikkix/Makefile +++ b/luci-app-nikkix/Makefile @@ -1,6 +1,6 @@ include $(TOPDIR)/rules.mk -PKG_VERSION:=1.0.3 +PKG_VERSION:=1.0.4 LUCI_TITLE:=LuCI Support for nikkix LUCI_DEPENDS:=+luci-base +nikkix diff --git a/nikkix/Makefile b/nikkix/Makefile index cb6eebba2d..653882692b 100644 --- a/nikkix/Makefile +++ b/nikkix/Makefile @@ -1,15 +1,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nikkix -PKG_VERSION:=1.0.3 +PKG_VERSION:=1.0.4 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git -PKG_SOURCE_VERSION:=v1.19.20 -PKG_MIRROR_HASH:=4215fea65bbc248fc046fdb54f1db465fb6b6e921f147f80b03d09628ac468d2 +PKG_SOURCE_VERSION:=v1.19.21 +PKG_MIRROR_HASH:=f69a065d90dd5e565cb1e4b81d5c2074d6f97afca9a793fb5c09c2a0c2838369 PKG_LICENSE:=GPL3.0+ PKG_MAINTAINER:=Joseph Mory From 1dcbab0fefce88dfba18944cad3a7f91a7130b18 Mon Sep 17 00:00:00 2001 From: mglants <35956828+mglants@users.noreply.github.com> Date: Wed, 8 Apr 2026 02:27:37 +0000 Subject: [PATCH 46/46] build: bump mihomo to v1.19.23 --- nikkix/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nikkix/Makefile b/nikkix/Makefile index 653882692b..90c8fc1d99 100644 --- a/nikkix/Makefile +++ b/nikkix/Makefile @@ -1,15 +1,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nikkix -PKG_VERSION:=1.0.4 +PKG_VERSION:=1.0.5 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git -PKG_SOURCE_VERSION:=v1.19.21 -PKG_MIRROR_HASH:=f69a065d90dd5e565cb1e4b81d5c2074d6f97afca9a793fb5c09c2a0c2838369 +PKG_SOURCE_VERSION:=v1.19.23 +PKG_MIRROR_HASH:=87fadbad0ac5d1ff2df81951f51eea48190168bfd0d87f471956d02bd6725da8 PKG_LICENSE:=GPL3.0+ PKG_MAINTAINER:=Joseph Mory