diff --git a/homeproxy/Makefile b/homeproxy/Makefile index 4cad2f72..124bab1f 100644 --- a/homeproxy/Makefile +++ b/homeproxy/Makefile @@ -16,7 +16,7 @@ LUCI_DEPENDS:= \ PKG_NAME:=luci-app-homeproxy PKG_VERSION=$(PKG_SRC_VERSION) -PKG_RELEASE:=5 +PKG_RELEASE:=7 PKG_PO_VERSION=$(PKG_SRC_VERSION)-r$(PKG_RELEASE) define Package/luci-app-homeproxy/conffiles diff --git a/homeproxy/htdocs/luci-static/resources/view/homeproxy/client.js b/homeproxy/htdocs/luci-static/resources/view/homeproxy/client.js index 843ddb89..0618e59b 100644 --- a/homeproxy/htdocs/luci-static/resources/view/homeproxy/client.js +++ b/homeproxy/htdocs/luci-static/resources/view/homeproxy/client.js @@ -38,6 +38,22 @@ const callWriteDomainList = rpc.declare({ expect: { '': {} } }); +function normalizeDomainList(value) { + value = (value || '').trim().replace(/\r\n?/g, '\n'); + return value ? value + '\n' : ''; +} + +function writeDomainList(type, checksumOption, value) { + const content = normalizeDomainList(value); + uci.set('homeproxy', 'control', checksumOption, hp.calcStringMD5(content)); + + return callWriteDomainList(type, content).then((result) => { + if (!result.result) + throw new Error(_('Failed to save domain list.')); + return result; + }); +} + const callCurrentNode = rpc.declare({ object: 'luci.homeproxy', method: 'current_node_get', @@ -1509,14 +1525,14 @@ return view.extend({ return res.content; }, {}); } - so.write = function(_section_id, value) { - return callWriteDomainList('proxy_list', value); - } - so.remove = function(/* ... */) { - let routing_mode = this.section.formvalue('config', 'routing_mode'); - if (routing_mode !== 'custom') - return callWriteDomainList('proxy_list', ''); - return true; + so.write = function(_section_id, value) { + return writeDomainList('proxy_list', 'proxy_domain_list_checksum', value); + } + so.remove = function(/* ... */) { + let routing_mode = this.section.formvalue('config', 'routing_mode'); + if (routing_mode !== 'custom') + return writeDomainList('proxy_list', 'proxy_domain_list_checksum', ''); + return true; } so.validate = function(section_id, value) { if (section_id && value) @@ -1541,14 +1557,14 @@ return view.extend({ return res.content; }, {}); } - so.write = function(_section_id, value) { - return callWriteDomainList('direct_list', value); - } - so.remove = function(/* ... */) { - let routing_mode = this.section.formvalue('config', 'routing_mode'); - if (routing_mode !== 'custom') - return callWriteDomainList('direct_list', ''); - return true; + so.write = function(_section_id, value) { + return writeDomainList('direct_list', 'direct_domain_list_checksum', value); + } + so.remove = function(/* ... */) { + let routing_mode = this.section.formvalue('config', 'routing_mode'); + if (routing_mode !== 'custom') + return writeDomainList('direct_list', 'direct_domain_list_checksum', ''); + return true; } so.validate = function(section_id, value) { if (section_id && value) diff --git a/homeproxy/po/templates/homeproxy.pot b/homeproxy/po/templates/homeproxy.pot index 02786961..d633150e 100644 --- a/homeproxy/po/templates/homeproxy.pot +++ b/homeproxy/po/templates/homeproxy.pot @@ -17,12 +17,12 @@ msgstr "" msgid "/etc/homeproxy/certs/..., /etc/acme/..., /etc/ssl/..." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:626 +#: htdocs/luci-static/resources/view/homeproxy/client.js:642 msgid "4 or 6. Not limited if empty." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:792 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1227 +#: htdocs/luci-static/resources/view/homeproxy/client.js:808 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1243 msgid "" "%s will be temporarily overwritten to %s after 50 " "triggers in 30s if not enabled." @@ -43,11 +43,11 @@ msgstr "" msgid "Accept any if empty." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1155 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1171 msgid "Accept empty query response" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1417 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1433 msgid "Access Control" msgstr "" @@ -59,20 +59,20 @@ msgstr "" msgid "Access key secret" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:686 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1163 +#: htdocs/luci-static/resources/view/homeproxy/client.js:702 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1179 msgid "Action" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:211 +#: htdocs/luci-static/resources/view/homeproxy/client.js:227 msgid "AdGuard Public DNS (DoH)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1073 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1089 msgid "Add a DNS rule" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:950 +#: htdocs/luci-static/resources/view/homeproxy/client.js:966 msgid "Add a DNS server" msgstr "" @@ -80,15 +80,15 @@ msgstr "" msgid "Add a node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:422 +#: htdocs/luci-static/resources/view/homeproxy/client.js:438 msgid "Add a routing node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:593 +#: htdocs/luci-static/resources/view/homeproxy/client.js:609 msgid "Add a routing rule" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1337 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1353 msgid "Add a rule set" msgstr "" @@ -96,20 +96,20 @@ msgstr "" msgid "Add a server" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:992 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1008 msgid "Additional headers to be sent to the DNS server." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:974 +#: htdocs/luci-static/resources/view/homeproxy/client.js:990 #: htdocs/luci-static/resources/view/homeproxy/node.js:878 msgid "Address" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1005 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1021 msgid "Address resolver" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1037 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1053 msgid "Address strategy" msgstr "" @@ -117,11 +117,11 @@ msgstr "" msgid "AliYun" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:247 +#: htdocs/luci-static/resources/view/homeproxy/client.js:263 msgid "AliYun Public DNS (DoH)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:290 +#: htdocs/luci-static/resources/view/homeproxy/client.js:306 msgid "All ports" msgstr "" @@ -172,7 +172,7 @@ msgstr "" msgid "An error occurred during updating subscriptions: %s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1244 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1260 msgid "Answer" msgstr "" @@ -185,9 +185,9 @@ msgstr "" msgid "AnyTLS padding scheme in array." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:816 -#: htdocs/luci-static/resources/view/homeproxy/client.js:926 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1212 +#: htdocs/luci-static/resources/view/homeproxy/client.js:832 +#: htdocs/luci-static/resources/view/homeproxy/client.js:942 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1228 msgid "" "Append a edns0-subnet OPT extra record with the specified IP " "prefix to every query by default.
If value is an IP address instead of " @@ -254,27 +254,27 @@ msgstr "" msgid "Base64" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:347 +#: htdocs/luci-static/resources/view/homeproxy/client.js:363 msgid "Based on google/gvisor." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1358 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1374 msgid "Binary file" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:470 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1430 +#: htdocs/luci-static/resources/view/homeproxy/client.js:486 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1446 #: htdocs/luci-static/resources/view/homeproxy/server.js:874 msgid "Bind interface" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1431 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1447 msgid "" "Bind outbound traffic to specific interface. Leave empty to auto detect." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:634 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1123 +#: htdocs/luci-static/resources/view/homeproxy/client.js:650 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1139 msgid "BitTorrent" msgstr "" @@ -282,27 +282,27 @@ msgstr "" msgid "Blacklist mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:382 +#: htdocs/luci-static/resources/view/homeproxy/client.js:398 msgid "Block" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:629 -#: htdocs/luci-static/resources/view/homeproxy/client.js:657 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1109 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1119 +#: htdocs/luci-static/resources/view/homeproxy/client.js:645 +#: htdocs/luci-static/resources/view/homeproxy/client.js:673 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1125 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1135 #: htdocs/luci-static/resources/view/homeproxy/server.js:869 msgid "Both" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:360 +#: htdocs/luci-static/resources/view/homeproxy/client.js:376 msgid "Bypass CN traffic" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:277 +#: htdocs/luci-static/resources/view/homeproxy/client.js:293 msgid "Bypass mainland China" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:361 +#: htdocs/luci-static/resources/view/homeproxy/client.js:377 msgid "Bypass mainland China traffic via firewall rules by default." msgstr "" @@ -327,7 +327,7 @@ msgstr "" msgid "Check" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:242 +#: htdocs/luci-static/resources/view/homeproxy/client.js:258 msgid "China DNS server" msgstr "" @@ -347,7 +347,7 @@ msgstr "" msgid "Choose which method node latency tests use." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:646 +#: htdocs/luci-static/resources/view/homeproxy/client.js:662 msgid "Chromium / Cronet" msgstr "" @@ -356,7 +356,7 @@ msgstr "" msgid "Cipher suites" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:213 +#: htdocs/luci-static/resources/view/homeproxy/client.js:229 msgid "Cisco Public DNS (DoH)" msgstr "" @@ -364,7 +364,7 @@ msgstr "" msgid "Clean log" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:644 +#: htdocs/luci-static/resources/view/homeproxy/client.js:660 msgid "Client" msgstr "" @@ -380,17 +380,17 @@ msgstr "" msgid "CloudFlare" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:208 +#: htdocs/luci-static/resources/view/homeproxy/client.js:224 msgid "CloudFlare Public DNS (DoH)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:140 +#: htdocs/luci-static/resources/view/homeproxy/client.js:156 #: htdocs/luci-static/resources/view/homeproxy/server.js:142 #: htdocs/luci-static/resources/view/homeproxy/status.js:227 msgid "Collecting data..." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:291 +#: htdocs/luci-static/resources/view/homeproxy/client.js:307 msgid "Common ports only (bypass P2P traffic)" msgstr "" @@ -407,23 +407,23 @@ msgstr "" msgid "Cron expression" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:279 +#: htdocs/luci-static/resources/view/homeproxy/client.js:295 msgid "Custom routing" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:635 +#: htdocs/luci-static/resources/view/homeproxy/client.js:651 msgid "DNS" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1064 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1080 msgid "DNS Rules" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:941 +#: htdocs/luci-static/resources/view/homeproxy/client.js:957 msgid "DNS Servers" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:889 +#: htdocs/luci-static/resources/view/homeproxy/client.js:905 msgid "DNS Settings" msgstr "" @@ -431,17 +431,17 @@ msgstr "" msgid "DNS provider" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1073 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1089 msgid "DNS rule" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:205 -#: htdocs/luci-static/resources/view/homeproxy/client.js:766 -#: htdocs/luci-static/resources/view/homeproxy/client.js:950 +#: htdocs/luci-static/resources/view/homeproxy/client.js:221 +#: htdocs/luci-static/resources/view/homeproxy/client.js:782 +#: htdocs/luci-static/resources/view/homeproxy/client.js:966 msgid "DNS server" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:212 +#: htdocs/luci-static/resources/view/homeproxy/client.js:228 msgid "DNS.SB Public DNS (DoH)" msgstr "" @@ -449,8 +449,8 @@ msgstr "" msgid "DNS01 challenge" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:636 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1124 +#: htdocs/luci-static/resources/view/homeproxy/client.js:652 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1140 msgid "DTLS" msgstr "" @@ -459,45 +459,45 @@ msgid "Debug" msgstr "" #: htdocs/luci-static/resources/homeproxy.js:17 -#: htdocs/luci-static/resources/view/homeproxy/client.js:450 -#: htdocs/luci-static/resources/view/homeproxy/client.js:620 -#: htdocs/luci-static/resources/view/homeproxy/client.js:772 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1100 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1398 +#: htdocs/luci-static/resources/view/homeproxy/client.js:466 +#: htdocs/luci-static/resources/view/homeproxy/client.js:636 +#: htdocs/luci-static/resources/view/homeproxy/client.js:788 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1116 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1414 #: htdocs/luci-static/resources/view/homeproxy/node.js:1131 msgid "Default" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:399 -#: htdocs/luci-static/resources/view/homeproxy/client.js:451 -#: htdocs/luci-static/resources/view/homeproxy/client.js:773 -#: htdocs/luci-static/resources/view/homeproxy/client.js:904 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1012 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1178 +#: htdocs/luci-static/resources/view/homeproxy/client.js:415 +#: htdocs/luci-static/resources/view/homeproxy/client.js:467 +#: htdocs/luci-static/resources/view/homeproxy/client.js:789 +#: htdocs/luci-static/resources/view/homeproxy/client.js:920 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1028 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1194 msgid "Default DNS (issued by WAN)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:899 +#: htdocs/luci-static/resources/view/homeproxy/client.js:915 msgid "Default DNS server" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:394 +#: htdocs/luci-static/resources/view/homeproxy/client.js:410 msgid "Default DNS server for resolving domain name in the server address." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:894 +#: htdocs/luci-static/resources/view/homeproxy/client.js:910 msgid "Default DNS strategy" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:374 +#: htdocs/luci-static/resources/view/homeproxy/client.js:390 msgid "Default outbound" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:393 +#: htdocs/luci-static/resources/view/homeproxy/client.js:409 msgid "Default outbound DNS" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:375 +#: htdocs/luci-static/resources/view/homeproxy/client.js:391 msgid "Default outbound for connections not matched by any routing rules." msgstr "" @@ -509,36 +509,36 @@ msgstr "" msgid "Default server name" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:381 -#: htdocs/luci-static/resources/view/homeproxy/client.js:483 -#: htdocs/luci-static/resources/view/homeproxy/client.js:701 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1050 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1399 +#: htdocs/luci-static/resources/view/homeproxy/client.js:397 +#: htdocs/luci-static/resources/view/homeproxy/client.js:499 +#: htdocs/luci-static/resources/view/homeproxy/client.js:717 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1066 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1415 #: htdocs/luci-static/resources/view/homeproxy/node.js:858 msgid "Direct" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1532 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1548 msgid "Direct Domain List" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1446 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1491 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1462 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1507 msgid "Direct IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1449 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1494 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1465 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1510 msgid "Direct IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1452 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1468 msgid "Direct MAC-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:149 -#: htdocs/luci-static/resources/view/homeproxy/client.js:177 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1440 +#: htdocs/luci-static/resources/view/homeproxy/client.js:165 +#: htdocs/luci-static/resources/view/homeproxy/client.js:193 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1456 #: htdocs/luci-static/resources/view/homeproxy/node.js:976 #: htdocs/luci-static/resources/view/homeproxy/node.js:989 #: htdocs/luci-static/resources/view/homeproxy/node.js:1536 @@ -548,16 +548,16 @@ msgstr "" msgid "Disable" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:380 +#: htdocs/luci-static/resources/view/homeproxy/client.js:396 msgid "Disable (the service)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:804 -#: htdocs/luci-static/resources/view/homeproxy/client.js:916 +#: htdocs/luci-static/resources/view/homeproxy/client.js:820 +#: htdocs/luci-static/resources/view/homeproxy/client.js:932 msgid "Disable DNS cache" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:805 +#: htdocs/luci-static/resources/view/homeproxy/client.js:821 msgid "Disable DNS cache in this query." msgstr "" @@ -574,19 +574,19 @@ msgstr "" msgid "Disable TLS ALPN challenge" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:727 +#: htdocs/luci-static/resources/view/homeproxy/client.js:743 msgid "Disable UDP domain unmapping" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1199 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1215 msgid "Disable cache and save cache in this query." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:918 +#: htdocs/luci-static/resources/view/homeproxy/client.js:934 msgid "Disable cache expire" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1198 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1214 msgid "Disable dns cache" msgstr "" @@ -597,37 +597,37 @@ msgid "" "(IPv4) / 1232 (IPv6) bytes in size." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:831 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1268 +#: htdocs/luci-static/resources/view/homeproxy/client.js:847 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1284 msgid "Domain keyword" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:822 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1259 +#: htdocs/luci-static/resources/view/homeproxy/client.js:838 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1275 msgid "Domain name" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:835 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1272 +#: htdocs/luci-static/resources/view/homeproxy/client.js:851 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1288 msgid "Domain regex" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:444 +#: htdocs/luci-static/resources/view/homeproxy/client.js:460 msgid "Domain resolver" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:364 -#: htdocs/luci-static/resources/view/homeproxy/client.js:463 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1191 +#: htdocs/luci-static/resources/view/homeproxy/client.js:380 +#: htdocs/luci-static/resources/view/homeproxy/client.js:479 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1207 msgid "Domain strategy" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:798 +#: htdocs/luci-static/resources/view/homeproxy/client.js:814 msgid "Domain strategy for resolving the domain names." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:827 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1264 +#: htdocs/luci-static/resources/view/homeproxy/client.js:843 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1280 msgid "Domain suffix" msgstr "" @@ -635,11 +635,11 @@ msgstr "" msgid "Domains" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:791 +#: htdocs/luci-static/resources/view/homeproxy/client.js:807 msgid "Don't drop packets" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1226 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1242 msgid "Don't drop requests" msgstr "" @@ -653,13 +653,13 @@ msgstr "" msgid "Download bandwidth in Mbps." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:787 -#: htdocs/luci-static/resources/view/homeproxy/client.js:793 +#: htdocs/luci-static/resources/view/homeproxy/client.js:803 +#: htdocs/luci-static/resources/view/homeproxy/client.js:809 msgid "Drop packets" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1221 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1228 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1237 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1244 msgid "Drop requests" msgstr "" @@ -701,9 +701,9 @@ msgstr "" msgid "ECH key" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:815 -#: htdocs/luci-static/resources/view/homeproxy/client.js:925 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1211 +#: htdocs/luci-static/resources/view/homeproxy/client.js:831 +#: htdocs/luci-static/resources/view/homeproxy/client.js:941 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1227 msgid "EDNS Client subnet" msgstr "" @@ -729,11 +729,11 @@ msgstr "" msgid "Email" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:431 -#: htdocs/luci-static/resources/view/homeproxy/client.js:607 -#: htdocs/luci-static/resources/view/homeproxy/client.js:959 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1087 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1346 +#: htdocs/luci-static/resources/view/homeproxy/client.js:447 +#: htdocs/luci-static/resources/view/homeproxy/client.js:623 +#: htdocs/luci-static/resources/view/homeproxy/client.js:975 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1103 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1362 #: htdocs/luci-static/resources/view/homeproxy/server.js:148 #: htdocs/luci-static/resources/view/homeproxy/server.js:166 msgid "Enable" @@ -808,21 +808,21 @@ msgstr "" #: htdocs/luci-static/resources/homeproxy.js:317 #: htdocs/luci-static/resources/homeproxy.js:326 #: htdocs/luci-static/resources/homeproxy.js:328 -#: htdocs/luci-static/resources/view/homeproxy/client.js:220 -#: htdocs/luci-static/resources/view/homeproxy/client.js:232 #: htdocs/luci-static/resources/view/homeproxy/client.js:236 -#: htdocs/luci-static/resources/view/homeproxy/client.js:254 -#: htdocs/luci-static/resources/view/homeproxy/client.js:265 -#: htdocs/luci-static/resources/view/homeproxy/client.js:269 -#: htdocs/luci-static/resources/view/homeproxy/client.js:298 -#: htdocs/luci-static/resources/view/homeproxy/client.js:521 -#: htdocs/luci-static/resources/view/homeproxy/client.js:535 -#: htdocs/luci-static/resources/view/homeproxy/client.js:538 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1374 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1379 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1382 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1525 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1557 +#: htdocs/luci-static/resources/view/homeproxy/client.js:248 +#: htdocs/luci-static/resources/view/homeproxy/client.js:252 +#: htdocs/luci-static/resources/view/homeproxy/client.js:270 +#: htdocs/luci-static/resources/view/homeproxy/client.js:281 +#: htdocs/luci-static/resources/view/homeproxy/client.js:285 +#: htdocs/luci-static/resources/view/homeproxy/client.js:314 +#: htdocs/luci-static/resources/view/homeproxy/client.js:537 +#: htdocs/luci-static/resources/view/homeproxy/client.js:551 +#: htdocs/luci-static/resources/view/homeproxy/client.js:554 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1390 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1395 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1398 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1541 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1573 #: htdocs/luci-static/resources/view/homeproxy/node.js:918 #: htdocs/luci-static/resources/view/homeproxy/node.js:1552 #: htdocs/luci-static/resources/view/homeproxy/node.js:1726 @@ -846,7 +846,7 @@ msgstr "" msgid "External account key ID" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1254 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1270 msgid "Extra records" msgstr "" @@ -854,6 +854,10 @@ msgstr "" msgid "Failed to generate %s, error: %s." msgstr "" +#: htdocs/luci-static/resources/view/homeproxy/client.js:52 +msgid "Failed to save domain list." +msgstr "" + #: htdocs/luci-static/resources/homeproxy.js:261 msgid "Failed to upload %s, error: %s." msgstr "" @@ -870,7 +874,7 @@ msgstr "" msgid "Filter nodes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:647 +#: htdocs/luci-static/resources/view/homeproxy/client.js:663 msgid "Firefox / uquic firefox" msgstr "" @@ -883,24 +887,24 @@ msgstr "" msgid "Flow" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:445 +#: htdocs/luci-static/resources/view/homeproxy/client.js:461 msgid "For resolving domain name in the server address." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1357 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1373 msgid "Format" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:747 +#: htdocs/luci-static/resources/view/homeproxy/client.js:763 msgid "Fragment TLS handshake into multiple TLS records." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:753 +#: htdocs/luci-static/resources/view/homeproxy/client.js:769 msgid "" "Fragment TLS handshakes. Due to poor performance, try %s first." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:759 +#: htdocs/luci-static/resources/view/homeproxy/client.js:775 msgid "Fragment fallback delay" msgstr "" @@ -912,19 +916,19 @@ msgstr "" msgid "GFW domain list" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:276 +#: htdocs/luci-static/resources/view/homeproxy/client.js:292 msgid "GFWList" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1464 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1480 msgid "Gaming mode IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1466 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1482 msgid "Gaming mode IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1469 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1485 msgid "Gaming mode MAC-s" msgstr "" @@ -938,7 +942,7 @@ msgstr "" msgid "GitHub token" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:280 +#: htdocs/luci-static/resources/view/homeproxy/client.js:296 msgid "Global" msgstr "" @@ -946,15 +950,15 @@ msgstr "" msgid "Global padding" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1471 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1487 msgid "Global proxy IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1474 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1490 msgid "Global proxy IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1477 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1493 msgid "Global proxy MAC-s" msgstr "" @@ -966,7 +970,7 @@ msgstr "" msgid "Google" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:209 +#: htdocs/luci-static/resources/view/homeproxy/client.js:225 msgid "Google Public DNS (DoH)" msgstr "" @@ -974,8 +978,8 @@ msgstr "" msgid "Grant access to homeproxy configuration" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:637 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1125 +#: htdocs/luci-static/resources/view/homeproxy/client.js:653 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1141 #: htdocs/luci-static/resources/view/homeproxy/node.js:860 #: htdocs/luci-static/resources/view/homeproxy/node.js:1198 #: htdocs/luci-static/resources/view/homeproxy/server.js:177 @@ -983,7 +987,7 @@ msgstr "" msgid "HTTP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:969 +#: htdocs/luci-static/resources/view/homeproxy/client.js:985 msgid "HTTP/3" msgstr "" @@ -993,7 +997,7 @@ msgid "" "returned if empty." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:968 +#: htdocs/luci-static/resources/view/homeproxy/client.js:984 msgid "HTTPS" msgstr "" @@ -1010,7 +1014,7 @@ msgstr "" msgid "Handshake server port" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:991 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1007 msgid "Headers" msgstr "" @@ -1019,9 +1023,9 @@ msgstr "" msgid "Heartbeat interval" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:63 -#: htdocs/luci-static/resources/view/homeproxy/client.js:65 -#: htdocs/luci-static/resources/view/homeproxy/client.js:113 +#: htdocs/luci-static/resources/view/homeproxy/client.js:79 +#: htdocs/luci-static/resources/view/homeproxy/client.js:81 +#: htdocs/luci-static/resources/view/homeproxy/client.js:129 #: htdocs/luci-static/resources/view/homeproxy/status.js:320 #: root/usr/share/luci/menu.d/luci-app-homeproxy.json:3 msgid "HomeProxy" @@ -1058,8 +1062,8 @@ msgstr "" msgid "Host key algorithms" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:598 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1078 +#: htdocs/luci-static/resources/view/homeproxy/client.js:614 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1094 msgid "Host/IP fields" msgstr "" @@ -1095,18 +1099,18 @@ msgstr "" msgid "ICMP Timeout" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:847 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1284 +#: htdocs/luci-static/resources/view/homeproxy/client.js:863 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1300 msgid "IP CIDR" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:625 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1106 +#: htdocs/luci-static/resources/view/homeproxy/client.js:641 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1122 msgid "IP version" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:627 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1107 +#: htdocs/luci-static/resources/view/homeproxy/client.js:643 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1123 msgid "IPv4" msgstr "" @@ -1114,8 +1118,8 @@ msgstr "" msgid "IPv4 only" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:628 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1108 +#: htdocs/luci-static/resources/view/homeproxy/client.js:644 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1124 msgid "IPv6" msgstr "" @@ -1123,7 +1127,7 @@ msgstr "" msgid "IPv6 only" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:321 +#: htdocs/luci-static/resources/view/homeproxy/client.js:337 msgid "IPv6 support" msgstr "" @@ -1135,19 +1139,19 @@ msgstr "" msgid "Idle session check timeout" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:570 +#: htdocs/luci-static/resources/view/homeproxy/client.js:586 #: htdocs/luci-static/resources/view/homeproxy/node.js:1268 #: htdocs/luci-static/resources/view/homeproxy/server.js:456 msgid "Idle timeout" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:734 +#: htdocs/luci-static/resources/view/homeproxy/client.js:750 msgid "" "If enabled, attempts to connect UDP connection to the destination instead of " "listen." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:728 +#: htdocs/luci-static/resources/view/homeproxy/client.js:744 msgid "" "If enabled, for UDP proxy requests addressed to a domain, the original " "packet address will be sent in the response instead of the mapped domain." @@ -1159,7 +1163,7 @@ msgid "" "connections." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:365 +#: htdocs/luci-static/resources/view/homeproxy/client.js:381 msgid "" "If set, the requested domain name will be resolved to IP before routing." msgstr "" @@ -1191,7 +1195,7 @@ msgstr "" msgid "Import share links" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:353 +#: htdocs/luci-static/resources/view/homeproxy/client.js:369 #: htdocs/luci-static/resources/view/homeproxy/server.js:860 msgid "In seconds." msgstr "" @@ -1211,7 +1215,7 @@ msgid "" "seconds." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:921 +#: htdocs/luci-static/resources/view/homeproxy/client.js:937 msgid "Independent cache per server" msgstr "" @@ -1219,15 +1223,15 @@ msgstr "" msgid "Info" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1423 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1439 msgid "Interface Control" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:577 +#: htdocs/luci-static/resources/view/homeproxy/client.js:593 msgid "Interrupt existing connections" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:578 +#: htdocs/luci-static/resources/view/homeproxy/client.js:594 msgid "Interrupt existing connections when the selected outbound has changed." msgstr "" @@ -1242,7 +1246,7 @@ msgid "" "seconds)." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:129 +#: htdocs/luci-static/resources/view/homeproxy/client.js:145 #: htdocs/luci-static/resources/view/homeproxy/node.js:480 msgid "Invalid node" msgstr "" @@ -1251,13 +1255,13 @@ msgstr "" msgid "Invalid response" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:682 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1159 +#: htdocs/luci-static/resources/view/homeproxy/client.js:698 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1175 msgid "Invert" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:683 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1160 +#: htdocs/luci-static/resources/view/homeproxy/client.js:699 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1176 msgid "Invert match result." msgstr "" @@ -1265,15 +1269,15 @@ msgstr "" msgid "Key path" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1437 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1453 msgid "LAN IP Policy" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:426 -#: htdocs/luci-static/resources/view/homeproxy/client.js:602 -#: htdocs/luci-static/resources/view/homeproxy/client.js:954 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1082 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1341 +#: htdocs/luci-static/resources/view/homeproxy/client.js:442 +#: htdocs/luci-static/resources/view/homeproxy/client.js:618 +#: htdocs/luci-static/resources/view/homeproxy/client.js:970 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1098 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1357 #: htdocs/luci-static/resources/view/homeproxy/node.js:852 #: htdocs/luci-static/resources/view/homeproxy/server.js:160 msgid "Label" @@ -1294,7 +1298,7 @@ msgid "" "compatibility purposes only, use of alterId > 1 is not recommended." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:349 +#: htdocs/luci-static/resources/view/homeproxy/client.js:365 msgid "Less compatibility and sometimes better performance." msgstr "" @@ -1307,9 +1311,9 @@ msgid "" "List of IP (v4 or v6) addresses prefixes to be assigned to the interface." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:158 -#: htdocs/luci-static/resources/view/homeproxy/client.js:187 -#: htdocs/luci-static/resources/view/homeproxy/client.js:514 +#: htdocs/luci-static/resources/view/homeproxy/client.js:174 +#: htdocs/luci-static/resources/view/homeproxy/client.js:203 +#: htdocs/luci-static/resources/view/homeproxy/client.js:530 msgid "List of nodes to test." msgstr "" @@ -1318,15 +1322,15 @@ msgstr "" msgid "List of supported application level protocols, in order of preference." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1245 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1261 msgid "List of text DNS record to respond as answers." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1255 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1271 msgid "List of text DNS record to respond as extra records." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1250 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1266 msgid "List of text DNS record to respond as name servers." msgstr "" @@ -1334,7 +1338,7 @@ msgstr "" msgid "Listen address" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1425 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1441 msgid "Listen interfaces" msgstr "" @@ -1346,7 +1350,7 @@ msgstr "" msgid "Loading" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1352 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1368 msgid "Local" msgstr "" @@ -1366,27 +1370,27 @@ msgstr "" msgid "MTU" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:176 +#: htdocs/luci-static/resources/view/homeproxy/client.js:192 msgid "Main UDP node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:148 +#: htdocs/luci-static/resources/view/homeproxy/client.js:164 msgid "Main node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:679 +#: htdocs/luci-static/resources/view/homeproxy/client.js:695 msgid "Make IP CIDR in rule set used to match the source IP." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1152 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1168 msgid "Make IP CIDR in rule sets match the source IP." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1156 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1172 msgid "Make IP CIDR in rule-sets accept empty query response." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:922 +#: htdocs/luci-static/resources/view/homeproxy/client.js:938 msgid "" "Make each DNS server's cache independent for special purposes. If enabled, " "will slightly degrade performance." @@ -1396,100 +1400,100 @@ msgstr "" msgid "Masquerade" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1285 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1301 msgid "" "Match IP CIDR with query response. Current rule will be skipped if not match." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:848 +#: htdocs/luci-static/resources/view/homeproxy/client.js:864 msgid "Match IP CIDR." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:828 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1265 -msgid "Match domain suffix." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:832 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1269 -msgid "Match domain using keyword." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:836 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1273 -msgid "Match domain using regular expression." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:823 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1260 -msgid "Match full domain." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:871 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1309 -msgid "Match port range. Format as START:/:END/START:END." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:866 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1304 -msgid "Match port." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:852 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1289 -msgid "Match private IP" -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:1290 -msgid "Match private IP with query response." -msgstr "" - #: htdocs/luci-static/resources/view/homeproxy/client.js:844 #: htdocs/luci-static/resources/view/homeproxy/client.js:1281 +msgid "Match domain suffix." +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:848 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1285 +msgid "Match domain using keyword." +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:852 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1289 +msgid "Match domain using regular expression." +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:839 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1276 +msgid "Match full domain." +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:887 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1325 +msgid "Match port range. Format as START:/:END/START:END." +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:882 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1320 +msgid "Match port." +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:868 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1305 +msgid "Match private IP" +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:1306 +msgid "Match private IP with query response." +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:860 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1297 msgid "Match private source IP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:876 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1314 +#: htdocs/luci-static/resources/view/homeproxy/client.js:892 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1330 msgid "Match process name." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:884 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1322 +#: htdocs/luci-static/resources/view/homeproxy/client.js:900 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1338 msgid "Match process path using regular expression." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:880 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1318 +#: htdocs/luci-static/resources/view/homeproxy/client.js:896 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1334 msgid "Match process path." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1113 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1129 msgid "Match query type." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:664 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1137 +#: htdocs/luci-static/resources/view/homeproxy/client.js:680 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1153 msgid "Match rule set." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:840 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1277 +#: htdocs/luci-static/resources/view/homeproxy/client.js:856 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1293 msgid "Match source IP CIDR." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:861 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1299 +#: htdocs/luci-static/resources/view/homeproxy/client.js:877 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1315 msgid "Match source port range. Format as START:/:END/START:END." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:856 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1294 +#: htdocs/luci-static/resources/view/homeproxy/client.js:872 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1310 msgid "Match source port." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:660 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1133 +#: htdocs/luci-static/resources/view/homeproxy/client.js:676 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1149 msgid "Match user name." msgstr "" @@ -1537,10 +1541,10 @@ msgstr "" msgid "Maximum streams" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:785 -#: htdocs/luci-static/resources/view/homeproxy/client.js:793 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1219 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1228 +#: htdocs/luci-static/resources/view/homeproxy/client.js:801 +#: htdocs/luci-static/resources/view/homeproxy/client.js:809 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1235 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1244 #: htdocs/luci-static/resources/view/homeproxy/node.js:1262 #: htdocs/luci-static/resources/view/homeproxy/server.js:452 msgid "Method" @@ -1569,17 +1573,17 @@ msgstr "" msgid "Minutes(0-59) Hours(0-23) Dates(1-31) Months(1-12) Weeks(0-6)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:334 +#: htdocs/luci-static/resources/view/homeproxy/client.js:350 #: htdocs/luci-static/resources/view/homeproxy/server.js:183 msgid "Mixed" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:345 +#: htdocs/luci-static/resources/view/homeproxy/client.js:361 msgid "Mixed system TCP stack and gVisor UDP stack." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:612 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1092 +#: htdocs/luci-static/resources/view/homeproxy/client.js:628 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1108 msgid "Mode" msgstr "" @@ -1597,7 +1601,7 @@ msgstr "" msgid "Multiplex protocol." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:65 +#: htdocs/luci-static/resources/view/homeproxy/client.js:81 #: htdocs/luci-static/resources/view/homeproxy/server.js:60 msgid "NOT RUNNING" msgstr "" @@ -1606,7 +1610,7 @@ msgstr "" msgid "NOTE: Save current settings before updating subscriptions." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1249 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1265 msgid "NS" msgstr "" @@ -1622,8 +1626,8 @@ msgstr "" msgid "NaïveProxy" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:654 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1116 +#: htdocs/luci-static/resources/view/homeproxy/client.js:670 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1132 #: htdocs/luci-static/resources/view/homeproxy/server.js:866 msgid "Network" msgstr "" @@ -1656,7 +1660,7 @@ msgstr "" msgid "No valid share link found." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:436 +#: htdocs/luci-static/resources/view/homeproxy/client.js:452 #: htdocs/luci-static/resources/view/homeproxy/node.js:719 msgid "Node" msgstr "" @@ -1669,7 +1673,7 @@ msgstr "" msgid "Nodes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1011 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1027 #: htdocs/luci-static/resources/view/homeproxy/node.js:1158 #: htdocs/luci-static/resources/view/homeproxy/node.js:1196 #: htdocs/luci-static/resources/view/homeproxy/server.js:386 @@ -1692,51 +1696,51 @@ msgstr "" msgid "Obfuscate type" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1426 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1442 msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:278 +#: htdocs/luci-static/resources/view/homeproxy/client.js:294 msgid "Only proxy mainland China" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:597 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1077 +#: htdocs/luci-static/resources/view/homeproxy/client.js:613 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1093 msgid "Other fields" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:477 -#: htdocs/luci-static/resources/view/homeproxy/client.js:695 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1044 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1392 +#: htdocs/luci-static/resources/view/homeproxy/client.js:493 +#: htdocs/luci-static/resources/view/homeproxy/client.js:711 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1060 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1408 msgid "Outbound" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:437 +#: htdocs/luci-static/resources/view/homeproxy/client.js:453 msgid "Outbound node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:713 +#: htdocs/luci-static/resources/view/homeproxy/client.js:729 msgid "Override address" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:369 +#: htdocs/luci-static/resources/view/homeproxy/client.js:385 msgid "Override destination" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:720 +#: htdocs/luci-static/resources/view/homeproxy/client.js:736 msgid "Override port" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:370 +#: htdocs/luci-static/resources/view/homeproxy/client.js:386 msgid "Override the connection destination address with the sniffed domain." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:714 +#: htdocs/luci-static/resources/view/homeproxy/client.js:730 msgid "Override the connection destination address." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:721 +#: htdocs/luci-static/resources/view/homeproxy/client.js:737 msgid "Override the connection destination port." msgstr "" @@ -1761,8 +1765,8 @@ msgstr "" msgid "Password" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:984 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1363 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1000 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1379 #: htdocs/luci-static/resources/view/homeproxy/node.js:1257 #: htdocs/luci-static/resources/view/homeproxy/node.js:1290 #: htdocs/luci-static/resources/view/homeproxy/server.js:447 @@ -1791,19 +1795,19 @@ msgstr "" msgid "Plugin opts" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:865 -#: htdocs/luci-static/resources/view/homeproxy/client.js:979 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1303 +#: htdocs/luci-static/resources/view/homeproxy/client.js:881 +#: htdocs/luci-static/resources/view/homeproxy/client.js:995 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1319 #: htdocs/luci-static/resources/view/homeproxy/node.js:883 msgid "Port" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:300 +#: htdocs/luci-static/resources/view/homeproxy/client.js:316 msgid "Port %s alrealy exists!" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:599 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1079 +#: htdocs/luci-static/resources/view/homeproxy/client.js:615 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1095 msgid "Port fields" msgstr "" @@ -1811,8 +1815,8 @@ msgstr "" msgid "Port hopping interval in seconds." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:870 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1308 +#: htdocs/luci-static/resources/view/homeproxy/client.js:886 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1324 msgid "Port range" msgstr "" @@ -1820,7 +1824,7 @@ msgstr "" msgid "Pre-shared key" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1167 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1183 msgid "Predefined" msgstr "" @@ -1845,28 +1849,28 @@ msgstr "" msgid "Probe failed" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:600 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1080 +#: htdocs/luci-static/resources/view/homeproxy/client.js:616 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1096 msgid "Process fields" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:875 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1313 +#: htdocs/luci-static/resources/view/homeproxy/client.js:891 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1329 msgid "Process name" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:879 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1317 +#: htdocs/luci-static/resources/view/homeproxy/client.js:895 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1333 msgid "Process path" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:883 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1321 +#: htdocs/luci-static/resources/view/homeproxy/client.js:899 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1337 msgid "Process path (regex)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:632 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1121 +#: htdocs/luci-static/resources/view/homeproxy/client.js:648 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1137 #: htdocs/luci-static/resources/view/homeproxy/node.js:964 #: htdocs/luci-static/resources/view/homeproxy/node.js:1372 #: htdocs/luci-static/resources/view/homeproxy/server.js:250 @@ -1883,43 +1887,43 @@ msgid "" "default in v2ray and cannot be disabled)." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1500 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1516 msgid "Proxy Domain List" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1455 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1484 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1471 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1500 msgid "Proxy IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1458 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1487 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1474 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1503 msgid "Proxy IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1461 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1477 msgid "Proxy MAC-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1442 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1458 msgid "Proxy all except listed" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1439 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1455 msgid "Proxy filter mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1441 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1457 msgid "Proxy listed only" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:308 +#: htdocs/luci-static/resources/view/homeproxy/client.js:324 msgid "Proxy mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:638 -#: htdocs/luci-static/resources/view/homeproxy/client.js:970 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1126 +#: htdocs/luci-static/resources/view/homeproxy/client.js:654 +#: htdocs/luci-static/resources/view/homeproxy/client.js:986 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1142 #: htdocs/luci-static/resources/view/homeproxy/node.js:1133 #: htdocs/luci-static/resources/view/homeproxy/node.js:1200 #: htdocs/luci-static/resources/view/homeproxy/server.js:405 @@ -1945,24 +1949,24 @@ msgstr "" msgid "QUIC stream receive window" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:210 +#: htdocs/luci-static/resources/view/homeproxy/client.js:226 msgid "Quad9 Public DNS (DoH)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1112 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1128 msgid "Query type" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1232 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1248 msgid "RCode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:639 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1127 +#: htdocs/luci-static/resources/view/homeproxy/client.js:655 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1143 msgid "RDP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:934 +#: htdocs/luci-static/resources/view/homeproxy/client.js:950 msgid "RDRC timeout" msgstr "" @@ -1993,7 +1997,7 @@ msgstr "" msgid "RPC failed" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:63 +#: htdocs/luci-static/resources/view/homeproxy/client.js:79 #: htdocs/luci-static/resources/view/homeproxy/server.js:58 msgid "RUNNING" msgstr "" @@ -2002,23 +2006,23 @@ msgstr "" msgid "Random version will be used if empty." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:505 +#: htdocs/luci-static/resources/view/homeproxy/client.js:521 msgid "Recursive outbound detected!" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1030 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1046 msgid "Recursive resolver detected!" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:309 +#: htdocs/luci-static/resources/view/homeproxy/client.js:325 msgid "Redirect TCP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:311 +#: htdocs/luci-static/resources/view/homeproxy/client.js:327 msgid "Redirect TCP + TProxy UDP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:313 +#: htdocs/luci-static/resources/view/homeproxy/client.js:329 msgid "Redirect TCP + Tun UDP" msgstr "" @@ -2030,12 +2034,12 @@ msgstr "" msgid "Region ID" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:689 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1166 +#: htdocs/luci-static/resources/view/homeproxy/client.js:705 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1182 msgid "Reject" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1353 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1369 msgid "Remote" msgstr "" @@ -2047,11 +2051,11 @@ msgstr "" msgid "Remove all nodes from subscriptions" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1220 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1236 msgid "Reply with REFUSED" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:786 +#: htdocs/luci-static/resources/view/homeproxy/client.js:802 msgid "Reply with TCP RST / ICMP port unreachable" msgstr "" @@ -2059,11 +2063,11 @@ msgstr "" msgid "Reserved field bytes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:690 +#: htdocs/luci-static/resources/view/homeproxy/client.js:706 msgid "Resolve" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:797 +#: htdocs/luci-static/resources/view/homeproxy/client.js:813 msgid "Resolve strategy" msgstr "" @@ -2079,81 +2083,81 @@ msgstr "" msgid "Reuse listener address." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:809 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1204 +#: htdocs/luci-static/resources/view/homeproxy/client.js:825 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1220 msgid "Rewrite TTL" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:810 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1205 +#: htdocs/luci-static/resources/view/homeproxy/client.js:826 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1221 msgid "Rewrite TTL in DNS responses." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:687 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1164 +#: htdocs/luci-static/resources/view/homeproxy/client.js:703 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1180 msgid "Route" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:688 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1165 +#: htdocs/luci-static/resources/view/homeproxy/client.js:704 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1181 msgid "Route options" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:413 +#: htdocs/luci-static/resources/view/homeproxy/client.js:429 msgid "Routing Nodes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:584 +#: htdocs/luci-static/resources/view/homeproxy/client.js:600 msgid "Routing Rules" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:146 +#: htdocs/luci-static/resources/view/homeproxy/client.js:162 msgid "Routing Settings" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:275 +#: htdocs/luci-static/resources/view/homeproxy/client.js:291 msgid "Routing mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:422 +#: htdocs/luci-static/resources/view/homeproxy/client.js:438 msgid "Routing node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:288 +#: htdocs/luci-static/resources/view/homeproxy/client.js:304 msgid "Routing ports" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:593 +#: htdocs/luci-static/resources/view/homeproxy/client.js:609 msgid "Routing rule" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1328 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1344 msgid "Rule Set" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:663 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1136 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1337 +#: htdocs/luci-static/resources/view/homeproxy/client.js:679 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1152 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1353 msgid "Rule set" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:678 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1151 +#: htdocs/luci-static/resources/view/homeproxy/client.js:694 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1167 msgid "Rule set IP CIDR as source IP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1370 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1386 msgid "Rule set URL" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:640 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1128 +#: htdocs/luci-static/resources/view/homeproxy/client.js:656 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1144 #: htdocs/luci-static/resources/view/homeproxy/node.js:868 msgid "SSH" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:641 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1129 +#: htdocs/luci-static/resources/view/homeproxy/client.js:657 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1145 msgid "STUN" msgstr "" @@ -2161,7 +2165,7 @@ msgstr "" msgid "SUoT version" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:649 +#: htdocs/luci-static/resources/view/homeproxy/client.js:665 msgid "Safari / Apple Network API" msgstr "" @@ -2170,7 +2174,7 @@ msgstr "" msgid "Salamander" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:178 +#: htdocs/luci-static/resources/view/homeproxy/client.js:194 msgid "Same as main node" msgstr "" @@ -2187,7 +2191,7 @@ msgstr "" msgid "Save subscriptions settings" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1172 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1188 #: htdocs/luci-static/resources/view/homeproxy/server.js:156 msgid "Server" msgstr "" @@ -2210,7 +2214,7 @@ msgstr "" msgid "Service Status" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1192 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1208 msgid "Set domain strategy for this query." msgstr "" @@ -2227,12 +2231,12 @@ msgstr "" msgid "Shadowsocks" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:645 +#: htdocs/luci-static/resources/view/homeproxy/client.js:661 msgid "Sniffed client type (QUIC client type or SSH client name)." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:633 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1122 +#: htdocs/luci-static/resources/view/homeproxy/client.js:649 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1138 msgid "" "Sniffed protocol, see Sniff for details." @@ -2263,26 +2267,26 @@ msgstr "" msgid "Source" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:839 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1276 +#: htdocs/luci-static/resources/view/homeproxy/client.js:855 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1292 msgid "Source IP CIDR" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1359 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1375 msgid "Source file" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:855 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1293 +#: htdocs/luci-static/resources/view/homeproxy/client.js:871 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1309 msgid "Source port" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:860 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1298 +#: htdocs/luci-static/resources/view/homeproxy/client.js:876 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1314 msgid "Source port range" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:767 +#: htdocs/luci-static/resources/view/homeproxy/client.js:783 msgid "" "Specifies DNS server tag to use instead of selecting through DNS routing." msgstr "" @@ -2313,17 +2317,17 @@ msgid "" "will be closed." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:289 +#: htdocs/luci-static/resources/view/homeproxy/client.js:305 msgid "" "Specify target ports to be proxied. Multiple ports must be separated by " "commas." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:930 +#: htdocs/luci-static/resources/view/homeproxy/client.js:946 msgid "Store RDRC" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:931 +#: htdocs/luci-static/resources/view/homeproxy/client.js:947 msgid "" "Store rejected DNS response cache.
The check results of Address " "filter DNS rule items will be cached until expiration." @@ -2365,27 +2369,27 @@ msgid "" "online configuration delivery standard." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:206 +#: htdocs/luci-static/resources/view/homeproxy/client.js:222 msgid "" "Support UDP, TCP, DoH, DoQ, DoT. TCP protocol will be used if not specified." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:337 +#: htdocs/luci-static/resources/view/homeproxy/client.js:353 msgid "System" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:400 -#: htdocs/luci-static/resources/view/homeproxy/client.js:452 -#: htdocs/luci-static/resources/view/homeproxy/client.js:774 -#: htdocs/luci-static/resources/view/homeproxy/client.js:905 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1013 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1179 +#: htdocs/luci-static/resources/view/homeproxy/client.js:416 +#: htdocs/luci-static/resources/view/homeproxy/client.js:468 +#: htdocs/luci-static/resources/view/homeproxy/client.js:790 +#: htdocs/luci-static/resources/view/homeproxy/client.js:921 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1029 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1195 msgid "System DNS" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:655 -#: htdocs/luci-static/resources/view/homeproxy/client.js:966 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1117 +#: htdocs/luci-static/resources/view/homeproxy/client.js:671 +#: htdocs/luci-static/resources/view/homeproxy/client.js:982 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1133 #: htdocs/luci-static/resources/view/homeproxy/server.js:867 msgid "TCP" msgstr "" @@ -2395,17 +2399,17 @@ msgstr "" msgid "TCP fast open" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:331 +#: htdocs/luci-static/resources/view/homeproxy/client.js:347 msgid "TCP/IP stack" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:332 +#: htdocs/luci-static/resources/view/homeproxy/client.js:348 msgid "TCP/IP stack." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:642 -#: htdocs/luci-static/resources/view/homeproxy/client.js:967 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1130 +#: htdocs/luci-static/resources/view/homeproxy/client.js:658 +#: htdocs/luci-static/resources/view/homeproxy/client.js:983 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1146 #: htdocs/luci-static/resources/view/homeproxy/node.js:1424 #: htdocs/luci-static/resources/view/homeproxy/server.js:532 msgid "TLS" @@ -2416,13 +2420,13 @@ msgstr "" msgid "TLS ALPN" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:997 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1013 #: htdocs/luci-static/resources/view/homeproxy/node.js:1451 #: htdocs/luci-static/resources/view/homeproxy/server.js:560 msgid "TLS SNI" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:752 +#: htdocs/luci-static/resources/view/homeproxy/client.js:768 msgid "TLS fragment" msgstr "" @@ -2431,30 +2435,30 @@ msgstr "" msgid "TLS is not enforced. If TLS is not configured, plain HTTP 1.1 is used." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:746 -#: htdocs/luci-static/resources/view/homeproxy/client.js:754 +#: htdocs/luci-static/resources/view/homeproxy/client.js:762 +#: htdocs/luci-static/resources/view/homeproxy/client.js:770 msgid "TLS record fragment" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1006 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1022 msgid "" "Tag of a another server to resolve the domain name in the address. Required " "if address contains domain." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1045 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1061 msgid "Tag of an outbound for connecting to the dns server." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1393 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1409 msgid "Tag of the outbound to download rule set." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1173 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1189 msgid "Tag of the target dns server." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:696 +#: htdocs/luci-static/resources/view/homeproxy/client.js:712 msgid "Tag of the target outbound." msgstr "" @@ -2463,7 +2467,7 @@ msgid "" "Tell the client to use the BBR flow control algorithm instead of Hysteria CC." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:246 +#: htdocs/luci-static/resources/view/homeproxy/client.js:262 msgid "Tencent Public DNS (DoH)" msgstr "" @@ -2477,23 +2481,23 @@ msgstr "" msgid "Test Current List" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:527 +#: htdocs/luci-static/resources/view/homeproxy/client.js:543 msgid "Test URL" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:164 -#: htdocs/luci-static/resources/view/homeproxy/client.js:193 -#: htdocs/luci-static/resources/view/homeproxy/client.js:547 +#: htdocs/luci-static/resources/view/homeproxy/client.js:180 +#: htdocs/luci-static/resources/view/homeproxy/client.js:209 +#: htdocs/luci-static/resources/view/homeproxy/client.js:563 msgid "Test interval" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:555 +#: htdocs/luci-static/resources/view/homeproxy/client.js:571 msgid "Test interval must be less or equal than idle timeout." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:170 -#: htdocs/luci-static/resources/view/homeproxy/client.js:199 -#: htdocs/luci-static/resources/view/homeproxy/client.js:563 +#: htdocs/luci-static/resources/view/homeproxy/client.js:186 +#: htdocs/luci-static/resources/view/homeproxy/client.js:215 +#: htdocs/luci-static/resources/view/homeproxy/client.js:579 msgid "Test tolerance" msgstr "" @@ -2510,7 +2514,7 @@ msgstr "" msgid "The ACME CA provider to use." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:895 +#: htdocs/luci-static/resources/view/homeproxy/client.js:911 msgid "The DNS strategy for resolving the domain name in the address." msgstr "" @@ -2524,11 +2528,11 @@ msgstr "" msgid "The QUIC stream-level flow control window for receiving data." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:528 +#: htdocs/luci-static/resources/view/homeproxy/client.js:544 msgid "The URL to test." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:975 +#: htdocs/luci-static/resources/view/homeproxy/client.js:991 msgid "The address of the dns server." msgstr "" @@ -2544,7 +2548,7 @@ msgid "" "forward 443 to this port for challenge to succeed." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:613 +#: htdocs/luci-static/resources/view/homeproxy/client.js:629 msgid "" "The default rule uses the following matching logic:
(domain || " "domain_suffix || domain_keyword || domain_regex || ip_cidr || " @@ -2555,7 +2559,7 @@ msgid "" "than as a single rule sub-item." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1093 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1109 msgid "" "The default rule uses the following matching logic:
(domain || " "domain_suffix || domain_keyword || domain_regex) &&
(port " @@ -2565,13 +2569,13 @@ msgid "" "considered merged rather than as a single rule sub-item." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:243 +#: htdocs/luci-static/resources/view/homeproxy/client.js:259 msgid "" "The dns server for resolving China domains. Support UDP, TCP, DoH, DoQ, DoT." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:464 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1038 +#: htdocs/luci-static/resources/view/homeproxy/client.js:480 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1054 msgid "The domain strategy for resolving the domain name in the address." msgstr "" @@ -2588,13 +2592,13 @@ msgid "" "account." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:760 +#: htdocs/luci-static/resources/view/homeproxy/client.js:776 msgid "" "The fallback value in milliseconds used when TLS segmentation cannot " "automatically determine the wait time." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:571 +#: htdocs/luci-static/resources/view/homeproxy/client.js:587 msgid "The idle timeout in seconds." msgstr "" @@ -2618,17 +2622,17 @@ msgstr "" msgid "The minimum TLS version that is acceptable." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:114 +#: htdocs/luci-static/resources/view/homeproxy/client.js:130 #: htdocs/luci-static/resources/view/homeproxy/server.js:130 msgid "The modern ImmortalWrt proxy platform for ARM64/AMD64." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:471 +#: htdocs/luci-static/resources/view/homeproxy/client.js:487 #: htdocs/luci-static/resources/view/homeproxy/server.js:875 msgid "The network interface to bind to." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:985 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1001 msgid "The path of the DNS server." msgstr "" @@ -2646,11 +2650,11 @@ msgstr "" msgid "The port must be unique." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:980 +#: htdocs/luci-static/resources/view/homeproxy/client.js:996 msgid "The port of the DNS server." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1233 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1249 msgid "The response code." msgstr "" @@ -2662,21 +2666,21 @@ msgstr "" msgid "The server public key, in PEM format." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:478 +#: htdocs/luci-static/resources/view/homeproxy/client.js:494 msgid "" "The tag of the upstream outbound.
Other dial fields will be ignored when " "enabled." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:165 -#: htdocs/luci-static/resources/view/homeproxy/client.js:194 -#: htdocs/luci-static/resources/view/homeproxy/client.js:548 +#: htdocs/luci-static/resources/view/homeproxy/client.js:181 +#: htdocs/luci-static/resources/view/homeproxy/client.js:210 +#: htdocs/luci-static/resources/view/homeproxy/client.js:564 msgid "The test interval in seconds." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:171 -#: htdocs/luci-static/resources/view/homeproxy/client.js:200 -#: htdocs/luci-static/resources/view/homeproxy/client.js:564 +#: htdocs/luci-static/resources/view/homeproxy/client.js:187 +#: htdocs/luci-static/resources/view/homeproxy/client.js:216 +#: htdocs/luci-static/resources/view/homeproxy/client.js:580 msgid "The test tolerance in milliseconds." msgstr "" @@ -2701,7 +2705,7 @@ msgid "" "QUIC stream based UDP relay mode that TUIC does not provide." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:245 +#: htdocs/luci-static/resources/view/homeproxy/client.js:261 msgid "ThreatBook Public DNS (DoH)" msgstr "" @@ -2709,13 +2713,13 @@ msgstr "" msgid "Timeout" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:740 +#: htdocs/luci-static/resources/view/homeproxy/client.js:756 msgid "" "Timeout for UDP connections.
Setting a larger value than the UDP timeout " "in inbounds will have no effect." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:935 +#: htdocs/luci-static/resources/view/homeproxy/client.js:951 msgid "" "Timeout of rejected DNS response cache in seconds. 604800 (7d) " "is used by default." @@ -2727,7 +2731,7 @@ msgid "" "code>." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:316 +#: htdocs/luci-static/resources/view/homeproxy/client.js:332 msgid "" "To enable Tun support, you need to install ip-full and " "kmod-tun" @@ -2752,20 +2756,20 @@ msgstr "" msgid "Tuic" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:314 +#: htdocs/luci-static/resources/view/homeproxy/client.js:330 msgid "Tun TCP/UDP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:964 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1351 +#: htdocs/luci-static/resources/view/homeproxy/client.js:980 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1367 #: htdocs/luci-static/resources/view/homeproxy/node.js:857 #: htdocs/luci-static/resources/view/homeproxy/server.js:175 msgid "Type" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:656 -#: htdocs/luci-static/resources/view/homeproxy/client.js:965 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1118 +#: htdocs/luci-static/resources/view/homeproxy/client.js:672 +#: htdocs/luci-static/resources/view/homeproxy/client.js:981 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1134 #: htdocs/luci-static/resources/view/homeproxy/server.js:868 msgid "UDP" msgstr "" @@ -2775,7 +2779,7 @@ msgstr "" msgid "UDP Fragment" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:352 +#: htdocs/luci-static/resources/view/homeproxy/client.js:368 #: htdocs/luci-static/resources/view/homeproxy/server.js:859 msgid "UDP NAT expiration time" msgstr "" @@ -2796,23 +2800,23 @@ msgstr "" msgid "UDP relay mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:739 +#: htdocs/luci-static/resources/view/homeproxy/client.js:755 msgid "UDP timeout" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:150 -#: htdocs/luci-static/resources/view/homeproxy/client.js:179 -#: htdocs/luci-static/resources/view/homeproxy/client.js:438 +#: htdocs/luci-static/resources/view/homeproxy/client.js:166 +#: htdocs/luci-static/resources/view/homeproxy/client.js:195 +#: htdocs/luci-static/resources/view/homeproxy/client.js:454 msgid "URLTest" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:157 -#: htdocs/luci-static/resources/view/homeproxy/client.js:186 -#: htdocs/luci-static/resources/view/homeproxy/client.js:513 +#: htdocs/luci-static/resources/view/homeproxy/client.js:173 +#: htdocs/luci-static/resources/view/homeproxy/client.js:202 +#: htdocs/luci-static/resources/view/homeproxy/client.js:529 msgid "URLTest nodes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:131 +#: htdocs/luci-static/resources/view/homeproxy/client.js:147 msgid "URLTest: %s" msgstr "" @@ -2845,11 +2849,11 @@ msgstr "" msgid "Update failed." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1410 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1426 msgid "Update interval" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1411 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1427 msgid "Update interval of rule set." msgstr "" @@ -2906,12 +2910,12 @@ msgid "" "given." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:998 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1014 msgid "Used to verify the hostname on the returned certificates." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:659 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1132 +#: htdocs/luci-static/resources/view/homeproxy/client.js:675 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1148 msgid "User" msgstr "" @@ -2938,12 +2942,12 @@ msgstr "" msgid "Version" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:207 -#: htdocs/luci-static/resources/view/homeproxy/client.js:244 +#: htdocs/luci-static/resources/view/homeproxy/client.js:223 +#: htdocs/luci-static/resources/view/homeproxy/client.js:260 msgid "WAN DNS (read from interface)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1482 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1498 msgid "WAN IP Policy" msgstr "" @@ -2994,7 +2998,7 @@ msgstr "" msgid "certificate" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:733 +#: htdocs/luci-static/resources/view/homeproxy/client.js:749 msgid "connect UDP connections" msgstr "" @@ -3023,16 +3027,16 @@ msgstr "" msgid "gRPC service name" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:335 +#: htdocs/luci-static/resources/view/homeproxy/client.js:351 msgid "gVisor" msgstr "" #: htdocs/luci-static/resources/homeproxy.js:306 #: htdocs/luci-static/resources/homeproxy.js:326 -#: htdocs/luci-static/resources/view/homeproxy/client.js:220 -#: htdocs/luci-static/resources/view/homeproxy/client.js:254 -#: htdocs/luci-static/resources/view/homeproxy/client.js:521 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1374 +#: htdocs/luci-static/resources/view/homeproxy/client.js:236 +#: htdocs/luci-static/resources/view/homeproxy/client.js:270 +#: htdocs/luci-static/resources/view/homeproxy/client.js:537 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1390 #: htdocs/luci-static/resources/view/homeproxy/node.js:918 #: htdocs/luci-static/resources/view/homeproxy/node.js:1552 #: htdocs/luci-static/resources/view/homeproxy/server.js:235 @@ -3058,7 +3062,7 @@ msgstr "" msgid "private key" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:648 +#: htdocs/luci-static/resources/view/homeproxy/client.js:664 msgid "quic-go / uquic chrome" msgstr "" @@ -3107,17 +3111,17 @@ msgstr "" msgid "v3" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:232 -#: htdocs/luci-static/resources/view/homeproxy/client.js:236 -#: htdocs/luci-static/resources/view/homeproxy/client.js:265 -#: htdocs/luci-static/resources/view/homeproxy/client.js:269 +#: htdocs/luci-static/resources/view/homeproxy/client.js:248 +#: htdocs/luci-static/resources/view/homeproxy/client.js:252 +#: htdocs/luci-static/resources/view/homeproxy/client.js:281 +#: htdocs/luci-static/resources/view/homeproxy/client.js:285 msgid "valid DNS server address" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:535 -#: htdocs/luci-static/resources/view/homeproxy/client.js:538 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1379 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1382 +#: htdocs/luci-static/resources/view/homeproxy/client.js:551 +#: htdocs/luci-static/resources/view/homeproxy/client.js:554 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1395 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1398 #: htdocs/luci-static/resources/view/homeproxy/node.js:1787 #: htdocs/luci-static/resources/view/homeproxy/node.js:1790 msgid "valid URL" @@ -3127,8 +3131,8 @@ msgstr "" msgid "valid base64 key with %d characters" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1525 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1557 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1541 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1573 msgid "valid hostname" msgstr "" @@ -3136,7 +3140,7 @@ msgstr "" msgid "valid port range (port1:port2)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:298 +#: htdocs/luci-static/resources/view/homeproxy/client.js:314 msgid "valid port value" msgstr "" diff --git a/homeproxy/po/zh_Hans/homeproxy.po b/homeproxy/po/zh_Hans/homeproxy.po index 34f36636..6c8733f1 100644 --- a/homeproxy/po/zh_Hans/homeproxy.po +++ b/homeproxy/po/zh_Hans/homeproxy.po @@ -24,12 +24,12 @@ msgstr "移除了 %s 个节点" msgid "/etc/homeproxy/certs/..., /etc/acme/..., /etc/ssl/..." msgstr "/etc/homeproxy/certs/...,/etc/acme/...,/etc/ssl/..." -#: htdocs/luci-static/resources/view/homeproxy/client.js:626 +#: htdocs/luci-static/resources/view/homeproxy/client.js:642 msgid "4 or 6. Not limited if empty." msgstr "4 或 6。留空不限制。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:792 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1227 +#: htdocs/luci-static/resources/view/homeproxy/client.js:808 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1243 msgid "" "%s will be temporarily overwritten to %s after 50 " "triggers in 30s if not enabled." @@ -52,11 +52,11 @@ msgstr "API 令牌" msgid "Accept any if empty." msgstr "留空则不校验。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1155 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1171 msgid "Accept empty query response" msgstr "接受空查询响应" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1417 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1433 msgid "Access Control" msgstr "访问控制" @@ -68,20 +68,20 @@ msgstr "访问密钥 ID" msgid "Access key secret" msgstr "访问密钥" -#: htdocs/luci-static/resources/view/homeproxy/client.js:686 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1163 +#: htdocs/luci-static/resources/view/homeproxy/client.js:702 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1179 msgid "Action" msgstr "操作" -#: htdocs/luci-static/resources/view/homeproxy/client.js:211 +#: htdocs/luci-static/resources/view/homeproxy/client.js:227 msgid "AdGuard Public DNS (DoH)" msgstr "AdGuard 公共DNS (DoH)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1073 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1089 msgid "Add a DNS rule" msgstr "新增 DNS 规则" -#: htdocs/luci-static/resources/view/homeproxy/client.js:950 +#: htdocs/luci-static/resources/view/homeproxy/client.js:966 msgid "Add a DNS server" msgstr "新增 DNS 服务器" @@ -89,15 +89,15 @@ msgstr "新增 DNS 服务器" msgid "Add a node" msgstr "新增节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:422 +#: htdocs/luci-static/resources/view/homeproxy/client.js:438 msgid "Add a routing node" msgstr "新增路由节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:593 +#: htdocs/luci-static/resources/view/homeproxy/client.js:609 msgid "Add a routing rule" msgstr "新增路由规则" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1337 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1353 msgid "Add a rule set" msgstr "新增规则集" @@ -105,20 +105,20 @@ msgstr "新增规则集" msgid "Add a server" msgstr "新增服务器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:992 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1008 msgid "Additional headers to be sent to the DNS server." msgstr "发送到 DNS 服务器的附加标头。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:974 +#: htdocs/luci-static/resources/view/homeproxy/client.js:990 #: htdocs/luci-static/resources/view/homeproxy/node.js:878 msgid "Address" msgstr "地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1005 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1021 msgid "Address resolver" msgstr "地址解析器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1037 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1053 msgid "Address strategy" msgstr "地址解析策略" @@ -126,11 +126,11 @@ msgstr "地址解析策略" msgid "AliYun" msgstr "AliYun" -#: htdocs/luci-static/resources/view/homeproxy/client.js:247 +#: htdocs/luci-static/resources/view/homeproxy/client.js:263 msgid "AliYun Public DNS (DoH)" msgstr "阿里 公共DNS (DoH)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:290 +#: htdocs/luci-static/resources/view/homeproxy/client.js:306 msgid "All ports" msgstr "所有端口" @@ -181,7 +181,7 @@ msgstr "替代 HTTPS 端口" msgid "An error occurred during updating subscriptions: %s" msgstr "更新订阅时发生错误:%s" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1244 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1260 msgid "Answer" msgstr "回答" @@ -194,9 +194,9 @@ msgstr "AnyTLS" msgid "AnyTLS padding scheme in array." msgstr "AnyTLS 填充方案。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:816 -#: htdocs/luci-static/resources/view/homeproxy/client.js:926 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1212 +#: htdocs/luci-static/resources/view/homeproxy/client.js:832 +#: htdocs/luci-static/resources/view/homeproxy/client.js:942 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1228 msgid "" "Append a edns0-subnet OPT extra record with the specified IP " "prefix to every query by default.
If value is an IP address instead of " @@ -265,27 +265,27 @@ msgstr "百度" msgid "Base64" msgstr "Base64" -#: htdocs/luci-static/resources/view/homeproxy/client.js:347 +#: htdocs/luci-static/resources/view/homeproxy/client.js:363 msgid "Based on google/gvisor." msgstr "基于 google/gvisor。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1358 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1374 msgid "Binary file" msgstr "二进制文件" -#: htdocs/luci-static/resources/view/homeproxy/client.js:470 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1430 +#: htdocs/luci-static/resources/view/homeproxy/client.js:486 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1446 #: htdocs/luci-static/resources/view/homeproxy/server.js:874 msgid "Bind interface" msgstr "绑定接口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1431 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1447 msgid "" "Bind outbound traffic to specific interface. Leave empty to auto detect." msgstr "绑定出站流量至指定端口。留空自动检测。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:634 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1123 +#: htdocs/luci-static/resources/view/homeproxy/client.js:650 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1139 msgid "BitTorrent" msgstr "BitTorrent" @@ -293,27 +293,27 @@ msgstr "BitTorrent" msgid "Blacklist mode" msgstr "黑名单模式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:382 +#: htdocs/luci-static/resources/view/homeproxy/client.js:398 msgid "Block" msgstr "封锁" -#: htdocs/luci-static/resources/view/homeproxy/client.js:629 -#: htdocs/luci-static/resources/view/homeproxy/client.js:657 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1109 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1119 +#: htdocs/luci-static/resources/view/homeproxy/client.js:645 +#: htdocs/luci-static/resources/view/homeproxy/client.js:673 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1125 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1135 #: htdocs/luci-static/resources/view/homeproxy/server.js:869 msgid "Both" msgstr "全部" -#: htdocs/luci-static/resources/view/homeproxy/client.js:360 +#: htdocs/luci-static/resources/view/homeproxy/client.js:376 msgid "Bypass CN traffic" msgstr "绕过中国流量" -#: htdocs/luci-static/resources/view/homeproxy/client.js:277 +#: htdocs/luci-static/resources/view/homeproxy/client.js:293 msgid "Bypass mainland China" msgstr "大陆白名单" -#: htdocs/luci-static/resources/view/homeproxy/client.js:361 +#: htdocs/luci-static/resources/view/homeproxy/client.js:377 msgid "Bypass mainland China traffic via firewall rules by default." msgstr "默认使用防火墙规则绕过中国大陆流量。" @@ -338,7 +338,7 @@ msgstr "证书路径" msgid "Check" msgstr "检查" -#: htdocs/luci-static/resources/view/homeproxy/client.js:242 +#: htdocs/luci-static/resources/view/homeproxy/client.js:258 msgid "China DNS server" msgstr "国内 DNS 服务器" @@ -358,7 +358,7 @@ msgstr "国内域名列表" msgid "Choose which method node latency tests use." msgstr "选择节点延迟测试使用的方法。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:646 +#: htdocs/luci-static/resources/view/homeproxy/client.js:662 msgid "Chromium / Cronet" msgstr "Chromium / Cronet" @@ -367,7 +367,7 @@ msgstr "Chromium / Cronet" msgid "Cipher suites" msgstr "密码套件" -#: htdocs/luci-static/resources/view/homeproxy/client.js:213 +#: htdocs/luci-static/resources/view/homeproxy/client.js:229 msgid "Cisco Public DNS (DoH)" msgstr "Cisco 公共DNS (DoH)" @@ -375,7 +375,7 @@ msgstr "Cisco 公共DNS (DoH)" msgid "Clean log" msgstr "清空日志" -#: htdocs/luci-static/resources/view/homeproxy/client.js:644 +#: htdocs/luci-static/resources/view/homeproxy/client.js:660 msgid "Client" msgstr "客户端" @@ -391,17 +391,17 @@ msgstr "客户端版本" msgid "CloudFlare" msgstr "CloudFlare" -#: htdocs/luci-static/resources/view/homeproxy/client.js:208 +#: htdocs/luci-static/resources/view/homeproxy/client.js:224 msgid "CloudFlare Public DNS (DoH)" msgstr "CloudFlare 公共DNS (DoH)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:140 +#: htdocs/luci-static/resources/view/homeproxy/client.js:156 #: htdocs/luci-static/resources/view/homeproxy/server.js:142 #: htdocs/luci-static/resources/view/homeproxy/status.js:227 msgid "Collecting data..." msgstr "正在收集数据中..." -#: htdocs/luci-static/resources/view/homeproxy/client.js:291 +#: htdocs/luci-static/resources/view/homeproxy/client.js:307 msgid "Common ports only (bypass P2P traffic)" msgstr "仅常用端口(绕过 P2P 流量)" @@ -418,23 +418,23 @@ msgstr "连接检查" msgid "Cron expression" msgstr "定时任务表达式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:279 +#: htdocs/luci-static/resources/view/homeproxy/client.js:295 msgid "Custom routing" msgstr "自定义路由" -#: htdocs/luci-static/resources/view/homeproxy/client.js:635 +#: htdocs/luci-static/resources/view/homeproxy/client.js:651 msgid "DNS" msgstr "DNS" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1064 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1080 msgid "DNS Rules" msgstr "DNS 规则" -#: htdocs/luci-static/resources/view/homeproxy/client.js:941 +#: htdocs/luci-static/resources/view/homeproxy/client.js:957 msgid "DNS Servers" msgstr "DNS 服务器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:889 +#: htdocs/luci-static/resources/view/homeproxy/client.js:905 msgid "DNS Settings" msgstr "DNS 设置" @@ -442,17 +442,17 @@ msgstr "DNS 设置" msgid "DNS provider" msgstr "DNS 提供商" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1073 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1089 msgid "DNS rule" msgstr "DNS 规则" -#: htdocs/luci-static/resources/view/homeproxy/client.js:205 -#: htdocs/luci-static/resources/view/homeproxy/client.js:766 -#: htdocs/luci-static/resources/view/homeproxy/client.js:950 +#: htdocs/luci-static/resources/view/homeproxy/client.js:221 +#: htdocs/luci-static/resources/view/homeproxy/client.js:782 +#: htdocs/luci-static/resources/view/homeproxy/client.js:966 msgid "DNS server" msgstr "DNS 服务器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:212 +#: htdocs/luci-static/resources/view/homeproxy/client.js:228 msgid "DNS.SB Public DNS (DoH)" msgstr "DNS.SB 公共DNS (DoH)" @@ -460,8 +460,8 @@ msgstr "DNS.SB 公共DNS (DoH)" msgid "DNS01 challenge" msgstr "DNS01 验证" -#: htdocs/luci-static/resources/view/homeproxy/client.js:636 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1124 +#: htdocs/luci-static/resources/view/homeproxy/client.js:652 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1140 msgid "DTLS" msgstr "DTLS" @@ -470,45 +470,45 @@ msgid "Debug" msgstr "调试" #: htdocs/luci-static/resources/homeproxy.js:17 -#: htdocs/luci-static/resources/view/homeproxy/client.js:450 -#: htdocs/luci-static/resources/view/homeproxy/client.js:620 -#: htdocs/luci-static/resources/view/homeproxy/client.js:772 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1100 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1398 +#: htdocs/luci-static/resources/view/homeproxy/client.js:466 +#: htdocs/luci-static/resources/view/homeproxy/client.js:636 +#: htdocs/luci-static/resources/view/homeproxy/client.js:788 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1116 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1414 #: htdocs/luci-static/resources/view/homeproxy/node.js:1131 msgid "Default" msgstr "默认" -#: htdocs/luci-static/resources/view/homeproxy/client.js:399 -#: htdocs/luci-static/resources/view/homeproxy/client.js:451 -#: htdocs/luci-static/resources/view/homeproxy/client.js:773 -#: htdocs/luci-static/resources/view/homeproxy/client.js:904 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1012 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1178 +#: htdocs/luci-static/resources/view/homeproxy/client.js:415 +#: htdocs/luci-static/resources/view/homeproxy/client.js:467 +#: htdocs/luci-static/resources/view/homeproxy/client.js:789 +#: htdocs/luci-static/resources/view/homeproxy/client.js:920 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1028 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1194 msgid "Default DNS (issued by WAN)" msgstr "默认 DNS(由 WAN 下发)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:899 +#: htdocs/luci-static/resources/view/homeproxy/client.js:915 msgid "Default DNS server" msgstr "默认 DNS 服务器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:394 +#: htdocs/luci-static/resources/view/homeproxy/client.js:410 msgid "Default DNS server for resolving domain name in the server address." msgstr "用于解析服务器地址中的域名的默认 DNS 服务器。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:894 +#: htdocs/luci-static/resources/view/homeproxy/client.js:910 msgid "Default DNS strategy" msgstr "默认 DNS 解析策略" -#: htdocs/luci-static/resources/view/homeproxy/client.js:374 +#: htdocs/luci-static/resources/view/homeproxy/client.js:390 msgid "Default outbound" msgstr "默认出站" -#: htdocs/luci-static/resources/view/homeproxy/client.js:393 +#: htdocs/luci-static/resources/view/homeproxy/client.js:409 msgid "Default outbound DNS" msgstr "默认出站 DNS" -#: htdocs/luci-static/resources/view/homeproxy/client.js:375 +#: htdocs/luci-static/resources/view/homeproxy/client.js:391 msgid "Default outbound for connections not matched by any routing rules." msgstr "用于未被任何路由规则匹配的连接的默认出站。" @@ -520,36 +520,36 @@ msgstr "默认包封装格式" msgid "Default server name" msgstr "默认服务器名称" -#: htdocs/luci-static/resources/view/homeproxy/client.js:381 -#: htdocs/luci-static/resources/view/homeproxy/client.js:483 -#: htdocs/luci-static/resources/view/homeproxy/client.js:701 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1050 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1399 +#: htdocs/luci-static/resources/view/homeproxy/client.js:397 +#: htdocs/luci-static/resources/view/homeproxy/client.js:499 +#: htdocs/luci-static/resources/view/homeproxy/client.js:717 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1066 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1415 #: htdocs/luci-static/resources/view/homeproxy/node.js:858 msgid "Direct" msgstr "直连" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1532 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1548 msgid "Direct Domain List" msgstr "直连域名列表" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1446 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1491 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1462 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1507 msgid "Direct IPv4 IP-s" msgstr "直连 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1449 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1494 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1465 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1510 msgid "Direct IPv6 IP-s" msgstr "直连 IPv6 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1452 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1468 msgid "Direct MAC-s" msgstr "直连 MAC 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:149 -#: htdocs/luci-static/resources/view/homeproxy/client.js:177 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1440 +#: htdocs/luci-static/resources/view/homeproxy/client.js:165 +#: htdocs/luci-static/resources/view/homeproxy/client.js:193 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1456 #: htdocs/luci-static/resources/view/homeproxy/node.js:976 #: htdocs/luci-static/resources/view/homeproxy/node.js:989 #: htdocs/luci-static/resources/view/homeproxy/node.js:1536 @@ -559,16 +559,16 @@ msgstr "直连 MAC 地址" msgid "Disable" msgstr "禁用" -#: htdocs/luci-static/resources/view/homeproxy/client.js:380 +#: htdocs/luci-static/resources/view/homeproxy/client.js:396 msgid "Disable (the service)" msgstr "禁用(服务)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:804 -#: htdocs/luci-static/resources/view/homeproxy/client.js:916 +#: htdocs/luci-static/resources/view/homeproxy/client.js:820 +#: htdocs/luci-static/resources/view/homeproxy/client.js:932 msgid "Disable DNS cache" msgstr "禁用 DNS 缓存" -#: htdocs/luci-static/resources/view/homeproxy/client.js:805 +#: htdocs/luci-static/resources/view/homeproxy/client.js:821 msgid "Disable DNS cache in this query." msgstr "在本次查询中禁用 DNS 缓存。" @@ -585,19 +585,19 @@ msgstr "禁用路径 MTU 探测" msgid "Disable TLS ALPN challenge" msgstr "禁用 TLS ALPN 认证" -#: htdocs/luci-static/resources/view/homeproxy/client.js:727 +#: htdocs/luci-static/resources/view/homeproxy/client.js:743 msgid "Disable UDP domain unmapping" msgstr "禁用 UDP 域名映射" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1199 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1215 msgid "Disable cache and save cache in this query." msgstr "在本次查询中禁用缓存。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:918 +#: htdocs/luci-static/resources/view/homeproxy/client.js:934 msgid "Disable cache expire" msgstr "缓存永不过期" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1198 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1214 msgid "Disable dns cache" msgstr "禁用 DNS 缓存" @@ -610,37 +610,37 @@ msgstr "" "禁用路径 MTU 发现 (RFC 8899)。 数据包的大小最多为 1252 (IPv4) / 1232 (IPv6) " "字节。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:831 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1268 +#: htdocs/luci-static/resources/view/homeproxy/client.js:847 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1284 msgid "Domain keyword" msgstr "域名关键词" -#: htdocs/luci-static/resources/view/homeproxy/client.js:822 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1259 +#: htdocs/luci-static/resources/view/homeproxy/client.js:838 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1275 msgid "Domain name" msgstr "域名" -#: htdocs/luci-static/resources/view/homeproxy/client.js:835 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1272 +#: htdocs/luci-static/resources/view/homeproxy/client.js:851 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1288 msgid "Domain regex" msgstr "域名正则表达式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:444 +#: htdocs/luci-static/resources/view/homeproxy/client.js:460 msgid "Domain resolver" msgstr "域名解析器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:364 -#: htdocs/luci-static/resources/view/homeproxy/client.js:463 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1191 +#: htdocs/luci-static/resources/view/homeproxy/client.js:380 +#: htdocs/luci-static/resources/view/homeproxy/client.js:479 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1207 msgid "Domain strategy" msgstr "域名解析策略" -#: htdocs/luci-static/resources/view/homeproxy/client.js:798 +#: htdocs/luci-static/resources/view/homeproxy/client.js:814 msgid "Domain strategy for resolving the domain names." msgstr "目标域名的解析策略。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:827 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1264 +#: htdocs/luci-static/resources/view/homeproxy/client.js:843 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1280 msgid "Domain suffix" msgstr "域名后缀" @@ -648,11 +648,11 @@ msgstr "域名后缀" msgid "Domains" msgstr "域名" -#: htdocs/luci-static/resources/view/homeproxy/client.js:791 +#: htdocs/luci-static/resources/view/homeproxy/client.js:807 msgid "Don't drop packets" msgstr "不丢弃数据包" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1226 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1242 msgid "Don't drop requests" msgstr "不丢弃请求" @@ -666,13 +666,13 @@ msgstr "下载带宽" msgid "Download bandwidth in Mbps." msgstr "下载带宽(单位:Mbps)。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:787 -#: htdocs/luci-static/resources/view/homeproxy/client.js:793 +#: htdocs/luci-static/resources/view/homeproxy/client.js:803 +#: htdocs/luci-static/resources/view/homeproxy/client.js:809 msgid "Drop packets" msgstr "丢弃数据包" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1221 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1228 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1237 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1244 msgid "Drop requests" msgstr "丢弃请求" @@ -722,9 +722,9 @@ msgstr "ECH 配置路径" msgid "ECH key" msgstr "ECH 密钥" -#: htdocs/luci-static/resources/view/homeproxy/client.js:815 -#: htdocs/luci-static/resources/view/homeproxy/client.js:925 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1211 +#: htdocs/luci-static/resources/view/homeproxy/client.js:831 +#: htdocs/luci-static/resources/view/homeproxy/client.js:941 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1227 msgid "EDNS Client subnet" msgstr "ENDS 客户端子网" @@ -750,11 +750,11 @@ msgstr "修改节点" msgid "Email" msgstr "Email" -#: htdocs/luci-static/resources/view/homeproxy/client.js:431 -#: htdocs/luci-static/resources/view/homeproxy/client.js:607 -#: htdocs/luci-static/resources/view/homeproxy/client.js:959 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1087 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1346 +#: htdocs/luci-static/resources/view/homeproxy/client.js:447 +#: htdocs/luci-static/resources/view/homeproxy/client.js:623 +#: htdocs/luci-static/resources/view/homeproxy/client.js:975 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1103 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1362 #: htdocs/luci-static/resources/view/homeproxy/server.js:148 #: htdocs/luci-static/resources/view/homeproxy/server.js:166 msgid "Enable" @@ -831,21 +831,21 @@ msgstr "错误" #: htdocs/luci-static/resources/homeproxy.js:317 #: htdocs/luci-static/resources/homeproxy.js:326 #: htdocs/luci-static/resources/homeproxy.js:328 -#: htdocs/luci-static/resources/view/homeproxy/client.js:220 -#: htdocs/luci-static/resources/view/homeproxy/client.js:232 #: htdocs/luci-static/resources/view/homeproxy/client.js:236 -#: htdocs/luci-static/resources/view/homeproxy/client.js:254 -#: htdocs/luci-static/resources/view/homeproxy/client.js:265 -#: htdocs/luci-static/resources/view/homeproxy/client.js:269 -#: htdocs/luci-static/resources/view/homeproxy/client.js:298 -#: htdocs/luci-static/resources/view/homeproxy/client.js:521 -#: htdocs/luci-static/resources/view/homeproxy/client.js:535 -#: htdocs/luci-static/resources/view/homeproxy/client.js:538 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1374 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1379 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1382 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1525 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1557 +#: htdocs/luci-static/resources/view/homeproxy/client.js:248 +#: htdocs/luci-static/resources/view/homeproxy/client.js:252 +#: htdocs/luci-static/resources/view/homeproxy/client.js:270 +#: htdocs/luci-static/resources/view/homeproxy/client.js:281 +#: htdocs/luci-static/resources/view/homeproxy/client.js:285 +#: htdocs/luci-static/resources/view/homeproxy/client.js:314 +#: htdocs/luci-static/resources/view/homeproxy/client.js:537 +#: htdocs/luci-static/resources/view/homeproxy/client.js:551 +#: htdocs/luci-static/resources/view/homeproxy/client.js:554 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1390 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1395 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1398 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1541 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1573 #: htdocs/luci-static/resources/view/homeproxy/node.js:918 #: htdocs/luci-static/resources/view/homeproxy/node.js:1552 #: htdocs/luci-static/resources/view/homeproxy/node.js:1726 @@ -869,7 +869,7 @@ msgstr "外部账户 MAC 密钥" msgid "External account key ID" msgstr "外部账户密钥标识符" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1254 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1270 msgid "Extra records" msgstr "附加记录" @@ -877,6 +877,10 @@ msgstr "附加记录" msgid "Failed to generate %s, error: %s." msgstr "生成 %s 失败,错误:%s。" +#: htdocs/luci-static/resources/view/homeproxy/client.js:52 +msgid "Failed to save domain list." +msgstr "保存域名列表失败。" + #: htdocs/luci-static/resources/homeproxy.js:261 msgid "Failed to upload %s, error: %s." msgstr "上传 %s 失败,错误:%s。" @@ -893,7 +897,7 @@ msgstr "过滤关键词" msgid "Filter nodes" msgstr "过滤节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:647 +#: htdocs/luci-static/resources/view/homeproxy/client.js:663 msgid "Firefox / uquic firefox" msgstr "Firefox / uquic firefox" @@ -906,24 +910,24 @@ msgstr "防火墙" msgid "Flow" msgstr "流控" -#: htdocs/luci-static/resources/view/homeproxy/client.js:445 +#: htdocs/luci-static/resources/view/homeproxy/client.js:461 msgid "For resolving domain name in the server address." msgstr "用于解析服务器地址中的域名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1357 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1373 msgid "Format" msgstr "格式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:747 +#: htdocs/luci-static/resources/view/homeproxy/client.js:763 msgid "Fragment TLS handshake into multiple TLS records." msgstr "将 TLS 握手分片为多个 TLS 记录" -#: htdocs/luci-static/resources/view/homeproxy/client.js:753 +#: htdocs/luci-static/resources/view/homeproxy/client.js:769 msgid "" "Fragment TLS handshakes. Due to poor performance, try %s first." msgstr "分片 TLS 握手。由于性能较差,请先尝试 %s。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:759 +#: htdocs/luci-static/resources/view/homeproxy/client.js:775 msgid "Fragment fallback delay" msgstr "分片回退延迟" @@ -935,19 +939,19 @@ msgstr "GET" msgid "GFW domain list" msgstr "GFW 域名列表" -#: htdocs/luci-static/resources/view/homeproxy/client.js:276 +#: htdocs/luci-static/resources/view/homeproxy/client.js:292 msgid "GFWList" msgstr "GFWList" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1464 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1480 msgid "Gaming mode IPv4 IP-s" msgstr "游戏模式 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1466 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1482 msgid "Gaming mode IPv6 IP-s" msgstr "游戏模式 IPv6 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1469 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1485 msgid "Gaming mode MAC-s" msgstr "游戏模式 MAC 地址" @@ -961,7 +965,7 @@ msgstr "生成" msgid "GitHub token" msgstr "GitHub 令牌" -#: htdocs/luci-static/resources/view/homeproxy/client.js:280 +#: htdocs/luci-static/resources/view/homeproxy/client.js:296 msgid "Global" msgstr "全局" @@ -969,15 +973,15 @@ msgstr "全局" msgid "Global padding" msgstr "全局填充" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1471 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1487 msgid "Global proxy IPv4 IP-s" msgstr "全局代理 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1474 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1490 msgid "Global proxy IPv6 IP-s" msgstr "全局代理 IPv6 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1477 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1493 msgid "Global proxy MAC-s" msgstr "全局代理 MAC 地址" @@ -989,7 +993,7 @@ msgstr "全局设置" msgid "Google" msgstr "谷歌" -#: htdocs/luci-static/resources/view/homeproxy/client.js:209 +#: htdocs/luci-static/resources/view/homeproxy/client.js:225 msgid "Google Public DNS (DoH)" msgstr "Google 公共DNS (DoH)" @@ -997,8 +1001,8 @@ msgstr "Google 公共DNS (DoH)" msgid "Grant access to homeproxy configuration" msgstr "授予 homeproxy 访问 UCI 配置的权限" -#: htdocs/luci-static/resources/view/homeproxy/client.js:637 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1125 +#: htdocs/luci-static/resources/view/homeproxy/client.js:653 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1141 #: htdocs/luci-static/resources/view/homeproxy/node.js:860 #: htdocs/luci-static/resources/view/homeproxy/node.js:1198 #: htdocs/luci-static/resources/view/homeproxy/server.js:177 @@ -1006,7 +1010,7 @@ msgstr "授予 homeproxy 访问 UCI 配置的权限" msgid "HTTP" msgstr "HTTP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:969 +#: htdocs/luci-static/resources/view/homeproxy/client.js:985 msgid "HTTP/3" msgstr "HTTP/3" @@ -1016,7 +1020,7 @@ msgid "" "returned if empty." msgstr "身份验证失败时的 HTTP3 服务器响应。默认返回 404 页面。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:968 +#: htdocs/luci-static/resources/view/homeproxy/client.js:984 msgid "HTTPS" msgstr "HTTPS" @@ -1033,7 +1037,7 @@ msgstr "握手服务器地址" msgid "Handshake server port" msgstr "握手服务器端口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:991 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1007 msgid "Headers" msgstr "标头" @@ -1042,9 +1046,9 @@ msgstr "标头" msgid "Heartbeat interval" msgstr "心跳间隔" -#: htdocs/luci-static/resources/view/homeproxy/client.js:63 -#: htdocs/luci-static/resources/view/homeproxy/client.js:65 -#: htdocs/luci-static/resources/view/homeproxy/client.js:113 +#: htdocs/luci-static/resources/view/homeproxy/client.js:79 +#: htdocs/luci-static/resources/view/homeproxy/client.js:81 +#: htdocs/luci-static/resources/view/homeproxy/client.js:129 #: htdocs/luci-static/resources/view/homeproxy/status.js:320 #: root/usr/share/luci/menu.d/luci-app-homeproxy.json:3 msgid "HomeProxy" @@ -1081,8 +1085,8 @@ msgstr "主机密钥" msgid "Host key algorithms" msgstr "主机密钥算法" -#: htdocs/luci-static/resources/view/homeproxy/client.js:598 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1078 +#: htdocs/luci-static/resources/view/homeproxy/client.js:614 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1094 msgid "Host/IP fields" msgstr "主机/IP 字段" @@ -1118,18 +1122,18 @@ msgstr "ICMP 探测不可用" msgid "ICMP Timeout" msgstr "ICMP 超时" -#: htdocs/luci-static/resources/view/homeproxy/client.js:847 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1284 +#: htdocs/luci-static/resources/view/homeproxy/client.js:863 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1300 msgid "IP CIDR" msgstr "IP CIDR" -#: htdocs/luci-static/resources/view/homeproxy/client.js:625 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1106 +#: htdocs/luci-static/resources/view/homeproxy/client.js:641 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1122 msgid "IP version" msgstr "IP 版本" -#: htdocs/luci-static/resources/view/homeproxy/client.js:627 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1107 +#: htdocs/luci-static/resources/view/homeproxy/client.js:643 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1123 msgid "IPv4" msgstr "IPv4" @@ -1137,8 +1141,8 @@ msgstr "IPv4" msgid "IPv4 only" msgstr "仅 IPv4" -#: htdocs/luci-static/resources/view/homeproxy/client.js:628 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1108 +#: htdocs/luci-static/resources/view/homeproxy/client.js:644 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1124 msgid "IPv6" msgstr "IPv6" @@ -1146,7 +1150,7 @@ msgstr "IPv6" msgid "IPv6 only" msgstr "仅 IPv6" -#: htdocs/luci-static/resources/view/homeproxy/client.js:321 +#: htdocs/luci-static/resources/view/homeproxy/client.js:337 msgid "IPv6 support" msgstr "IPv6 支持" @@ -1158,19 +1162,19 @@ msgstr "空闲会话检查间隔" msgid "Idle session check timeout" msgstr "空闲会话检查超时" -#: htdocs/luci-static/resources/view/homeproxy/client.js:570 +#: htdocs/luci-static/resources/view/homeproxy/client.js:586 #: htdocs/luci-static/resources/view/homeproxy/node.js:1268 #: htdocs/luci-static/resources/view/homeproxy/server.js:456 msgid "Idle timeout" msgstr "空闲超时" -#: htdocs/luci-static/resources/view/homeproxy/client.js:734 +#: htdocs/luci-static/resources/view/homeproxy/client.js:750 msgid "" "If enabled, attempts to connect UDP connection to the destination instead of " "listen." msgstr "如果启用,尝试主动连接到目标的 UDP 而不是监听。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:728 +#: htdocs/luci-static/resources/view/homeproxy/client.js:744 msgid "" "If enabled, for UDP proxy requests addressed to a domain, the original " "packet address will be sent in the response instead of the mapped domain." @@ -1184,7 +1188,7 @@ msgid "" "connections." msgstr "如果启用,客户端传输即使没有活动连接也会发送 keepalive ping。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:365 +#: htdocs/luci-static/resources/view/homeproxy/client.js:381 msgid "" "If set, the requested domain name will be resolved to IP before routing." msgstr "如果设置,请求的域名将在路由前被解析为 IP 地址。" @@ -1218,7 +1222,7 @@ msgstr "导入" msgid "Import share links" msgstr "导入分享链接" -#: htdocs/luci-static/resources/view/homeproxy/client.js:353 +#: htdocs/luci-static/resources/view/homeproxy/client.js:369 #: htdocs/luci-static/resources/view/homeproxy/server.js:860 msgid "In seconds." msgstr "单位:秒。" @@ -1238,7 +1242,7 @@ msgid "" "seconds." msgstr "在检查中,关闭空闲时间超过此值的会话(单位:秒)。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:921 +#: htdocs/luci-static/resources/view/homeproxy/client.js:937 msgid "Independent cache per server" msgstr "独立缓存" @@ -1246,15 +1250,15 @@ msgstr "独立缓存" msgid "Info" msgstr "信息" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1423 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1439 msgid "Interface Control" msgstr "接口控制" -#: htdocs/luci-static/resources/view/homeproxy/client.js:577 +#: htdocs/luci-static/resources/view/homeproxy/client.js:593 msgid "Interrupt existing connections" msgstr "中断现有连接" -#: htdocs/luci-static/resources/view/homeproxy/client.js:578 +#: htdocs/luci-static/resources/view/homeproxy/client.js:594 msgid "Interrupt existing connections when the selected outbound has changed." msgstr "当选择的出站发生变化时中断现有连接。" @@ -1269,7 +1273,7 @@ msgid "" "seconds)." msgstr "发送心跳包以保持连接存活的时间间隔(单位:秒)。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:129 +#: htdocs/luci-static/resources/view/homeproxy/client.js:145 #: htdocs/luci-static/resources/view/homeproxy/node.js:480 msgid "Invalid node" msgstr "无效节点" @@ -1278,13 +1282,13 @@ msgstr "无效节点" msgid "Invalid response" msgstr "无效响应" -#: htdocs/luci-static/resources/view/homeproxy/client.js:682 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1159 +#: htdocs/luci-static/resources/view/homeproxy/client.js:698 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1175 msgid "Invert" msgstr "反转" -#: htdocs/luci-static/resources/view/homeproxy/client.js:683 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1160 +#: htdocs/luci-static/resources/view/homeproxy/client.js:699 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1176 msgid "Invert match result." msgstr "反转匹配结果" @@ -1292,15 +1296,15 @@ msgstr "反转匹配结果" msgid "Key path" msgstr "证书路径" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1437 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1453 msgid "LAN IP Policy" msgstr "LAN IP 策略" -#: htdocs/luci-static/resources/view/homeproxy/client.js:426 -#: htdocs/luci-static/resources/view/homeproxy/client.js:602 -#: htdocs/luci-static/resources/view/homeproxy/client.js:954 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1082 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1341 +#: htdocs/luci-static/resources/view/homeproxy/client.js:442 +#: htdocs/luci-static/resources/view/homeproxy/client.js:618 +#: htdocs/luci-static/resources/view/homeproxy/client.js:970 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1098 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1357 #: htdocs/luci-static/resources/view/homeproxy/node.js:852 #: htdocs/luci-static/resources/view/homeproxy/server.js:160 msgid "Label" @@ -1323,7 +1327,7 @@ msgstr "" "提供旧协议支持(VMess MD5 身份验证)仅出于兼容性目的,不建议使用 alterId > " "1。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:349 +#: htdocs/luci-static/resources/view/homeproxy/client.js:365 msgid "Less compatibility and sometimes better performance." msgstr "有时性能更好。" @@ -1336,9 +1340,9 @@ msgid "" "List of IP (v4 or v6) addresses prefixes to be assigned to the interface." msgstr "分配给接口的 IP(v4 或 v6)地址前缀列表。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:158 -#: htdocs/luci-static/resources/view/homeproxy/client.js:187 -#: htdocs/luci-static/resources/view/homeproxy/client.js:514 +#: htdocs/luci-static/resources/view/homeproxy/client.js:174 +#: htdocs/luci-static/resources/view/homeproxy/client.js:203 +#: htdocs/luci-static/resources/view/homeproxy/client.js:530 msgid "List of nodes to test." msgstr "要测试的节点列表。" @@ -1347,15 +1351,15 @@ msgstr "要测试的节点列表。" msgid "List of supported application level protocols, in order of preference." msgstr "支持的应用层协议协商列表,按顺序排列。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1245 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1261 msgid "List of text DNS record to respond as answers." msgstr "要响应的 DNS 记录列表。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1255 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1271 msgid "List of text DNS record to respond as extra records." msgstr "要响应的附加 DNS 记录列表。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1250 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1266 msgid "List of text DNS record to respond as name servers." msgstr "要响应的域名服务器(NS) DNS 记录列表。" @@ -1363,7 +1367,7 @@ msgstr "要响应的域名服务器(NS) DNS 记录列表。" msgid "Listen address" msgstr "监听地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1425 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1441 msgid "Listen interfaces" msgstr "监听接口" @@ -1375,7 +1379,7 @@ msgstr "监听端口" msgid "Loading" msgstr "加载中" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1352 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1368 msgid "Local" msgstr "本地" @@ -1395,27 +1399,27 @@ msgstr "日志为空。" msgid "MTU" msgstr "MTU" -#: htdocs/luci-static/resources/view/homeproxy/client.js:176 +#: htdocs/luci-static/resources/view/homeproxy/client.js:192 msgid "Main UDP node" msgstr "主 UDP 节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:148 +#: htdocs/luci-static/resources/view/homeproxy/client.js:164 msgid "Main node" msgstr "主节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:679 +#: htdocs/luci-static/resources/view/homeproxy/client.js:695 msgid "Make IP CIDR in rule set used to match the source IP." msgstr "使规则集中的 IP CIDR 用于匹配源 IP。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1152 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1168 msgid "Make IP CIDR in rule sets match the source IP." msgstr "使规则集中的 IP CIDR 匹配源 IP。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1156 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1172 msgid "Make IP CIDR in rule-sets accept empty query response." msgstr "使规则集中的 IP CIDR 接受空查询响应。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:922 +#: htdocs/luci-static/resources/view/homeproxy/client.js:938 msgid "" "Make each DNS server's cache independent for special purposes. If enabled, " "will slightly degrade performance." @@ -1425,100 +1429,100 @@ msgstr "独立缓存每个 DNS 服务器的结果以供特殊用途。启用后 msgid "Masquerade" msgstr "伪装" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1285 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1301 msgid "" "Match IP CIDR with query response. Current rule will be skipped if not match." msgstr "使用查询响应匹配 IP CIDR。如果不匹配,则跳过当前规则。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:848 +#: htdocs/luci-static/resources/view/homeproxy/client.js:864 msgid "Match IP CIDR." msgstr "匹配 IP CIDR。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:828 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1265 +#: htdocs/luci-static/resources/view/homeproxy/client.js:844 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1281 msgid "Match domain suffix." msgstr "匹配域名后缀。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:832 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1269 +#: htdocs/luci-static/resources/view/homeproxy/client.js:848 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1285 msgid "Match domain using keyword." msgstr "使用关键词匹配域名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:836 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1273 +#: htdocs/luci-static/resources/view/homeproxy/client.js:852 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1289 msgid "Match domain using regular expression." msgstr "使用正则表达式匹配域名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:823 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1260 +#: htdocs/luci-static/resources/view/homeproxy/client.js:839 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1276 msgid "Match full domain." msgstr "匹配完整域名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:871 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1309 +#: htdocs/luci-static/resources/view/homeproxy/client.js:887 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1325 msgid "Match port range. Format as START:/:END/START:END." msgstr "匹配端口范围。格式为 START:/:END/START:END。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:866 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1304 +#: htdocs/luci-static/resources/view/homeproxy/client.js:882 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1320 msgid "Match port." msgstr "匹配端口。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:852 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1289 +#: htdocs/luci-static/resources/view/homeproxy/client.js:868 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1305 msgid "Match private IP" msgstr "匹配私有 IP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1290 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1306 msgid "Match private IP with query response." msgstr "使用查询响应匹配私有 IP。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:844 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1281 +#: htdocs/luci-static/resources/view/homeproxy/client.js:860 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1297 msgid "Match private source IP" msgstr "匹配私有源 IP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:876 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1314 +#: htdocs/luci-static/resources/view/homeproxy/client.js:892 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1330 msgid "Match process name." msgstr "匹配进程名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:884 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1322 +#: htdocs/luci-static/resources/view/homeproxy/client.js:900 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1338 msgid "Match process path using regular expression." msgstr "使用正则表达式匹配进程路径。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:880 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1318 +#: htdocs/luci-static/resources/view/homeproxy/client.js:896 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1334 msgid "Match process path." msgstr "匹配进程路径。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1113 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1129 msgid "Match query type." msgstr "匹配请求类型。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:664 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1137 +#: htdocs/luci-static/resources/view/homeproxy/client.js:680 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1153 msgid "Match rule set." msgstr "匹配规则集。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:840 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1277 +#: htdocs/luci-static/resources/view/homeproxy/client.js:856 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1293 msgid "Match source IP CIDR." msgstr "匹配源 IP CIDR。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:861 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1299 +#: htdocs/luci-static/resources/view/homeproxy/client.js:877 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1315 msgid "Match source port range. Format as START:/:END/START:END." msgstr "匹配源端口范围。格式为 START:/:END/START:END。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:856 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1294 +#: htdocs/luci-static/resources/view/homeproxy/client.js:872 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1310 msgid "Match source port." msgstr "匹配源端口。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:660 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1133 +#: htdocs/luci-static/resources/view/homeproxy/client.js:676 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1149 msgid "Match user name." msgstr "匹配用户名。" @@ -1568,10 +1572,10 @@ msgstr "" msgid "Maximum streams" msgstr "最大流数量" -#: htdocs/luci-static/resources/view/homeproxy/client.js:785 -#: htdocs/luci-static/resources/view/homeproxy/client.js:793 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1219 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1228 +#: htdocs/luci-static/resources/view/homeproxy/client.js:801 +#: htdocs/luci-static/resources/view/homeproxy/client.js:809 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1235 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1244 #: htdocs/luci-static/resources/view/homeproxy/node.js:1262 #: htdocs/luci-static/resources/view/homeproxy/server.js:452 msgid "Method" @@ -1600,17 +1604,17 @@ msgstr "最小流数量" msgid "Minutes(0-59) Hours(0-23) Dates(1-31) Months(1-12) Weeks(0-6)" msgstr "分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-6)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:334 +#: htdocs/luci-static/resources/view/homeproxy/client.js:350 #: htdocs/luci-static/resources/view/homeproxy/server.js:183 msgid "Mixed" msgstr "混合" -#: htdocs/luci-static/resources/view/homeproxy/client.js:345 +#: htdocs/luci-static/resources/view/homeproxy/client.js:361 msgid "Mixed system TCP stack and gVisor UDP stack." msgstr "混合系统 TCP 栈和 gVisor UDP 栈。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:612 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1092 +#: htdocs/luci-static/resources/view/homeproxy/client.js:628 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1108 msgid "Mode" msgstr "模式" @@ -1628,7 +1632,7 @@ msgstr "多路复用" msgid "Multiplex protocol." msgstr "多路复用协议。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:65 +#: htdocs/luci-static/resources/view/homeproxy/client.js:81 #: htdocs/luci-static/resources/view/homeproxy/server.js:60 msgid "NOT RUNNING" msgstr "未运行" @@ -1637,7 +1641,7 @@ msgstr "未运行" msgid "NOTE: Save current settings before updating subscriptions." msgstr "注意:更新订阅前先保存当前配置。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1249 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1265 msgid "NS" msgstr "NS" @@ -1653,8 +1657,8 @@ msgstr "原生" msgid "NaïveProxy" msgstr "NaïveProxy" -#: htdocs/luci-static/resources/view/homeproxy/client.js:654 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1116 +#: htdocs/luci-static/resources/view/homeproxy/client.js:670 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1132 #: htdocs/luci-static/resources/view/homeproxy/server.js:866 msgid "Network" msgstr "网络" @@ -1687,7 +1691,7 @@ msgstr "无订阅节点" msgid "No valid share link found." msgstr "找不到有效分享链接。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:436 +#: htdocs/luci-static/resources/view/homeproxy/client.js:452 #: htdocs/luci-static/resources/view/homeproxy/node.js:719 msgid "Node" msgstr "节点" @@ -1700,7 +1704,7 @@ msgstr "节点设置" msgid "Nodes" msgstr "节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1011 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1027 #: htdocs/luci-static/resources/view/homeproxy/node.js:1158 #: htdocs/luci-static/resources/view/homeproxy/node.js:1196 #: htdocs/luci-static/resources/view/homeproxy/server.js:386 @@ -1723,51 +1727,51 @@ msgstr "混淆密码" msgid "Obfuscate type" msgstr "混淆类型" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1426 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1442 msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "只处理来自指定接口的流量。留空表示全部。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:278 +#: htdocs/luci-static/resources/view/homeproxy/client.js:294 msgid "Only proxy mainland China" msgstr "仅代理中国大陆" -#: htdocs/luci-static/resources/view/homeproxy/client.js:597 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1077 +#: htdocs/luci-static/resources/view/homeproxy/client.js:613 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1093 msgid "Other fields" msgstr "其他字段" -#: htdocs/luci-static/resources/view/homeproxy/client.js:477 -#: htdocs/luci-static/resources/view/homeproxy/client.js:695 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1044 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1392 +#: htdocs/luci-static/resources/view/homeproxy/client.js:493 +#: htdocs/luci-static/resources/view/homeproxy/client.js:711 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1060 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1408 msgid "Outbound" msgstr "出站" -#: htdocs/luci-static/resources/view/homeproxy/client.js:437 +#: htdocs/luci-static/resources/view/homeproxy/client.js:453 msgid "Outbound node" msgstr "出站节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:713 +#: htdocs/luci-static/resources/view/homeproxy/client.js:729 msgid "Override address" msgstr "覆盖地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:369 +#: htdocs/luci-static/resources/view/homeproxy/client.js:385 msgid "Override destination" msgstr "覆盖目标地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:720 +#: htdocs/luci-static/resources/view/homeproxy/client.js:736 msgid "Override port" msgstr "覆盖端口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:370 +#: htdocs/luci-static/resources/view/homeproxy/client.js:386 msgid "Override the connection destination address with the sniffed domain." msgstr "使用嗅探到的域名覆盖连接目标。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:714 +#: htdocs/luci-static/resources/view/homeproxy/client.js:730 msgid "Override the connection destination address." msgstr "覆盖目标连接地址。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:721 +#: htdocs/luci-static/resources/view/homeproxy/client.js:737 msgid "Override the connection destination port." msgstr "覆盖目标连接端口。" @@ -1792,8 +1796,8 @@ msgstr "崩溃" msgid "Password" msgstr "密码" -#: htdocs/luci-static/resources/view/homeproxy/client.js:984 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1363 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1000 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1379 #: htdocs/luci-static/resources/view/homeproxy/node.js:1257 #: htdocs/luci-static/resources/view/homeproxy/node.js:1290 #: htdocs/luci-static/resources/view/homeproxy/server.js:447 @@ -1822,19 +1826,19 @@ msgstr "插件" msgid "Plugin opts" msgstr "插件参数" -#: htdocs/luci-static/resources/view/homeproxy/client.js:865 -#: htdocs/luci-static/resources/view/homeproxy/client.js:979 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1303 +#: htdocs/luci-static/resources/view/homeproxy/client.js:881 +#: htdocs/luci-static/resources/view/homeproxy/client.js:995 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1319 #: htdocs/luci-static/resources/view/homeproxy/node.js:883 msgid "Port" msgstr "端口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:300 +#: htdocs/luci-static/resources/view/homeproxy/client.js:316 msgid "Port %s alrealy exists!" msgstr "端口 %s 已存在!" -#: htdocs/luci-static/resources/view/homeproxy/client.js:599 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1079 +#: htdocs/luci-static/resources/view/homeproxy/client.js:615 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1095 msgid "Port fields" msgstr "端口字段" @@ -1842,8 +1846,8 @@ msgstr "端口字段" msgid "Port hopping interval in seconds." msgstr "端口跳跃间隔(单位:秒)。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:870 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1308 +#: htdocs/luci-static/resources/view/homeproxy/client.js:886 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1324 msgid "Port range" msgstr "端口范围" @@ -1851,7 +1855,7 @@ msgstr "端口范围" msgid "Pre-shared key" msgstr "预共享密钥" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1167 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1183 msgid "Predefined" msgstr "预定义" @@ -1876,28 +1880,28 @@ msgstr "私钥指纹" msgid "Probe failed" msgstr "探测失败" -#: htdocs/luci-static/resources/view/homeproxy/client.js:600 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1080 +#: htdocs/luci-static/resources/view/homeproxy/client.js:616 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1096 msgid "Process fields" msgstr "进程字段" -#: htdocs/luci-static/resources/view/homeproxy/client.js:875 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1313 +#: htdocs/luci-static/resources/view/homeproxy/client.js:891 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1329 msgid "Process name" msgstr "进程名" -#: htdocs/luci-static/resources/view/homeproxy/client.js:879 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1317 +#: htdocs/luci-static/resources/view/homeproxy/client.js:895 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1333 msgid "Process path" msgstr "进程路径" -#: htdocs/luci-static/resources/view/homeproxy/client.js:883 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1321 +#: htdocs/luci-static/resources/view/homeproxy/client.js:899 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1337 msgid "Process path (regex)" msgstr "进程路径(正则表达式)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:632 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1121 +#: htdocs/luci-static/resources/view/homeproxy/client.js:648 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1137 #: htdocs/luci-static/resources/view/homeproxy/node.js:964 #: htdocs/luci-static/resources/view/homeproxy/node.js:1372 #: htdocs/luci-static/resources/view/homeproxy/server.js:250 @@ -1914,43 +1918,43 @@ msgid "" "default in v2ray and cannot be disabled)." msgstr "协议参数。 如启用会随机浪费流量(在 v2ray 中默认启用并且无法禁用)。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1500 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1516 msgid "Proxy Domain List" msgstr "代理域名列表" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1455 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1484 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1471 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1500 msgid "Proxy IPv4 IP-s" msgstr "代理 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1458 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1487 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1474 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1503 msgid "Proxy IPv6 IP-s" msgstr "代理 IPv6 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1461 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1477 msgid "Proxy MAC-s" msgstr "代理 MAC 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1442 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1458 msgid "Proxy all except listed" msgstr "仅允许列表外" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1439 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1455 msgid "Proxy filter mode" msgstr "代理过滤模式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1441 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1457 msgid "Proxy listed only" msgstr "仅允许列表内" -#: htdocs/luci-static/resources/view/homeproxy/client.js:308 +#: htdocs/luci-static/resources/view/homeproxy/client.js:324 msgid "Proxy mode" msgstr "代理模式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:638 -#: htdocs/luci-static/resources/view/homeproxy/client.js:970 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1126 +#: htdocs/luci-static/resources/view/homeproxy/client.js:654 +#: htdocs/luci-static/resources/view/homeproxy/client.js:986 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1142 #: htdocs/luci-static/resources/view/homeproxy/node.js:1133 #: htdocs/luci-static/resources/view/homeproxy/node.js:1200 #: htdocs/luci-static/resources/view/homeproxy/server.js:405 @@ -1976,24 +1980,24 @@ msgstr "QUIC 最大双向并发流" msgid "QUIC stream receive window" msgstr "QUIC 流接收窗口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:210 +#: htdocs/luci-static/resources/view/homeproxy/client.js:226 msgid "Quad9 Public DNS (DoH)" msgstr "Quad9 公共DNS (DoH)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1112 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1128 msgid "Query type" msgstr "请求类型" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1232 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1248 msgid "RCode" msgstr "RCode" -#: htdocs/luci-static/resources/view/homeproxy/client.js:639 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1127 +#: htdocs/luci-static/resources/view/homeproxy/client.js:655 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1143 msgid "RDP" msgstr "RDP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:934 +#: htdocs/luci-static/resources/view/homeproxy/client.js:950 msgid "RDRC timeout" msgstr "RDRC 超时" @@ -2024,7 +2028,7 @@ msgstr "RP" msgid "RPC failed" msgstr "RPC 失败" -#: htdocs/luci-static/resources/view/homeproxy/client.js:63 +#: htdocs/luci-static/resources/view/homeproxy/client.js:79 #: htdocs/luci-static/resources/view/homeproxy/server.js:58 msgid "RUNNING" msgstr "运行中" @@ -2033,23 +2037,23 @@ msgstr "运行中" msgid "Random version will be used if empty." msgstr "如留空,则使用随机版本。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:505 +#: htdocs/luci-static/resources/view/homeproxy/client.js:521 msgid "Recursive outbound detected!" msgstr "检测到递归出站!" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1030 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1046 msgid "Recursive resolver detected!" msgstr "检测到递归解析器!" -#: htdocs/luci-static/resources/view/homeproxy/client.js:309 +#: htdocs/luci-static/resources/view/homeproxy/client.js:325 msgid "Redirect TCP" msgstr "Redirect TCP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:311 +#: htdocs/luci-static/resources/view/homeproxy/client.js:327 msgid "Redirect TCP + TProxy UDP" msgstr "Redirect TCP + TProxy UDP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:313 +#: htdocs/luci-static/resources/view/homeproxy/client.js:329 msgid "Redirect TCP + Tun UDP" msgstr "Redirect TCP + Tun UDP" @@ -2061,12 +2065,12 @@ msgstr "每 %s 秒刷新。" msgid "Region ID" msgstr "区域 ID" -#: htdocs/luci-static/resources/view/homeproxy/client.js:689 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1166 +#: htdocs/luci-static/resources/view/homeproxy/client.js:705 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1182 msgid "Reject" msgstr "拒绝" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1353 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1369 msgid "Remote" msgstr "远程" @@ -2078,11 +2082,11 @@ msgstr "移除 %s 个节点" msgid "Remove all nodes from subscriptions" msgstr "移除所有订阅节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1220 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1236 msgid "Reply with REFUSED" msgstr "回复 REFUSED" -#: htdocs/luci-static/resources/view/homeproxy/client.js:786 +#: htdocs/luci-static/resources/view/homeproxy/client.js:802 msgid "Reply with TCP RST / ICMP port unreachable" msgstr "回复 TCP RST / ICMP 端口不可达" @@ -2090,11 +2094,11 @@ msgstr "回复 TCP RST / ICMP 端口不可达" msgid "Reserved field bytes" msgstr "保留字段字节" -#: htdocs/luci-static/resources/view/homeproxy/client.js:690 +#: htdocs/luci-static/resources/view/homeproxy/client.js:706 msgid "Resolve" msgstr "解析" -#: htdocs/luci-static/resources/view/homeproxy/client.js:797 +#: htdocs/luci-static/resources/view/homeproxy/client.js:813 msgid "Resolve strategy" msgstr "解析策略" @@ -2110,81 +2114,81 @@ msgstr "复用地址" msgid "Reuse listener address." msgstr "复用监听地址。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:809 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1204 +#: htdocs/luci-static/resources/view/homeproxy/client.js:825 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1220 msgid "Rewrite TTL" msgstr "重写 TTL" -#: htdocs/luci-static/resources/view/homeproxy/client.js:810 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1205 +#: htdocs/luci-static/resources/view/homeproxy/client.js:826 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1221 msgid "Rewrite TTL in DNS responses." msgstr "在 DNS 响应中重写 TTL。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:687 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1164 +#: htdocs/luci-static/resources/view/homeproxy/client.js:703 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1180 msgid "Route" msgstr "路由" -#: htdocs/luci-static/resources/view/homeproxy/client.js:688 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1165 +#: htdocs/luci-static/resources/view/homeproxy/client.js:704 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1181 msgid "Route options" msgstr "路由选项" -#: htdocs/luci-static/resources/view/homeproxy/client.js:413 +#: htdocs/luci-static/resources/view/homeproxy/client.js:429 msgid "Routing Nodes" msgstr "路由节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:584 +#: htdocs/luci-static/resources/view/homeproxy/client.js:600 msgid "Routing Rules" msgstr "路由规则" -#: htdocs/luci-static/resources/view/homeproxy/client.js:146 +#: htdocs/luci-static/resources/view/homeproxy/client.js:162 msgid "Routing Settings" msgstr "路由设置" -#: htdocs/luci-static/resources/view/homeproxy/client.js:275 +#: htdocs/luci-static/resources/view/homeproxy/client.js:291 msgid "Routing mode" msgstr "路由模式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:422 +#: htdocs/luci-static/resources/view/homeproxy/client.js:438 msgid "Routing node" msgstr "路由节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:288 +#: htdocs/luci-static/resources/view/homeproxy/client.js:304 msgid "Routing ports" msgstr "路由端口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:593 +#: htdocs/luci-static/resources/view/homeproxy/client.js:609 msgid "Routing rule" msgstr "路由规则" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1328 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1344 msgid "Rule Set" msgstr "规则集" -#: htdocs/luci-static/resources/view/homeproxy/client.js:663 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1136 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1337 +#: htdocs/luci-static/resources/view/homeproxy/client.js:679 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1152 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1353 msgid "Rule set" msgstr "规则集" -#: htdocs/luci-static/resources/view/homeproxy/client.js:678 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1151 +#: htdocs/luci-static/resources/view/homeproxy/client.js:694 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1167 msgid "Rule set IP CIDR as source IP" msgstr "规则集 IP CIDR 作为源 IP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1370 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1386 msgid "Rule set URL" msgstr "规则集 URL" -#: htdocs/luci-static/resources/view/homeproxy/client.js:640 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1128 +#: htdocs/luci-static/resources/view/homeproxy/client.js:656 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1144 #: htdocs/luci-static/resources/view/homeproxy/node.js:868 msgid "SSH" msgstr "SSH" -#: htdocs/luci-static/resources/view/homeproxy/client.js:641 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1129 +#: htdocs/luci-static/resources/view/homeproxy/client.js:657 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1145 msgid "STUN" msgstr "STUN" @@ -2192,7 +2196,7 @@ msgstr "STUN" msgid "SUoT version" msgstr "SUoT 版本" -#: htdocs/luci-static/resources/view/homeproxy/client.js:649 +#: htdocs/luci-static/resources/view/homeproxy/client.js:665 msgid "Safari / Apple Network API" msgstr "Safari / Apple Network API" @@ -2201,7 +2205,7 @@ msgstr "Safari / Apple Network API" msgid "Salamander" msgstr "Salamander" -#: htdocs/luci-static/resources/view/homeproxy/client.js:178 +#: htdocs/luci-static/resources/view/homeproxy/client.js:194 msgid "Same as main node" msgstr "保持与主节点一致" @@ -2218,7 +2222,7 @@ msgstr "保存当前设置" msgid "Save subscriptions settings" msgstr "保存订阅设置" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1172 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1188 #: htdocs/luci-static/resources/view/homeproxy/server.js:156 msgid "Server" msgstr "服务器" @@ -2241,7 +2245,7 @@ msgstr "服务器设置" msgid "Service Status" msgstr "服务状态" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1192 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1208 msgid "Set domain strategy for this query." msgstr "为此查询设置域名策略。" @@ -2258,12 +2262,12 @@ msgstr "ShadowTLS 版本" msgid "Shadowsocks" msgstr "Shadowsocks" -#: htdocs/luci-static/resources/view/homeproxy/client.js:645 +#: htdocs/luci-static/resources/view/homeproxy/client.js:661 msgid "Sniffed client type (QUIC client type or SSH client name)." msgstr "嗅探到的客户端类型(QUIC 客户端类型或 SSH 客户端名称)。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:633 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1122 +#: htdocs/luci-static/resources/view/homeproxy/client.js:649 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1138 msgid "" "Sniffed protocol, see Sniff for details." @@ -2296,26 +2300,26 @@ msgstr "Socks5" msgid "Source" msgstr "来源" -#: htdocs/luci-static/resources/view/homeproxy/client.js:839 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1276 +#: htdocs/luci-static/resources/view/homeproxy/client.js:855 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1292 msgid "Source IP CIDR" msgstr "源 IP CIDR" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1359 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1375 msgid "Source file" msgstr "源文件" -#: htdocs/luci-static/resources/view/homeproxy/client.js:855 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1293 +#: htdocs/luci-static/resources/view/homeproxy/client.js:871 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1309 msgid "Source port" msgstr "源端口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:860 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1298 +#: htdocs/luci-static/resources/view/homeproxy/client.js:876 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1314 msgid "Source port range" msgstr "源端口范围" -#: htdocs/luci-static/resources/view/homeproxy/client.js:767 +#: htdocs/luci-static/resources/view/homeproxy/client.js:783 msgid "" "Specifies DNS server tag to use instead of selecting through DNS routing." msgstr "指定使用的 DNS 服务器,而不是通过 DNS 规则选择。" @@ -2353,17 +2357,17 @@ msgstr "" "指定发送 PING 帧后,在指定的超时时间(单位:秒)内必须接收到响应。
如果在" "指定的超时时间内没有收到 PING 帧的响应,则连接将关闭。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:289 +#: htdocs/luci-static/resources/view/homeproxy/client.js:305 msgid "" "Specify target ports to be proxied. Multiple ports must be separated by " "commas." msgstr "指定需要被代理的目标端口。多个端口必须用逗号隔开。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:930 +#: htdocs/luci-static/resources/view/homeproxy/client.js:946 msgid "Store RDRC" msgstr "存储 RDRC" -#: htdocs/luci-static/resources/view/homeproxy/client.js:931 +#: htdocs/luci-static/resources/view/homeproxy/client.js:947 msgid "" "Store rejected DNS response cache.
The check results of Address " "filter DNS rule items will be cached until expiration." @@ -2409,27 +2413,27 @@ msgstr "" "支持 Hysteria、Shadowsocks、Trojan、v2rayN(VMess)和 XTLS(VLESS)在线配置交" "付标准。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:206 +#: htdocs/luci-static/resources/view/homeproxy/client.js:222 msgid "" "Support UDP, TCP, DoH, DoQ, DoT. TCP protocol will be used if not specified." msgstr "支持 UDP、TCP、DoH、DoQ、DoT。如未指定则使用 TCP 协议。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:337 +#: htdocs/luci-static/resources/view/homeproxy/client.js:353 msgid "System" msgstr "系统" -#: htdocs/luci-static/resources/view/homeproxy/client.js:400 -#: htdocs/luci-static/resources/view/homeproxy/client.js:452 -#: htdocs/luci-static/resources/view/homeproxy/client.js:774 -#: htdocs/luci-static/resources/view/homeproxy/client.js:905 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1013 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1179 +#: htdocs/luci-static/resources/view/homeproxy/client.js:416 +#: htdocs/luci-static/resources/view/homeproxy/client.js:468 +#: htdocs/luci-static/resources/view/homeproxy/client.js:790 +#: htdocs/luci-static/resources/view/homeproxy/client.js:921 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1029 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1195 msgid "System DNS" msgstr "系统 DNS" -#: htdocs/luci-static/resources/view/homeproxy/client.js:655 -#: htdocs/luci-static/resources/view/homeproxy/client.js:966 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1117 +#: htdocs/luci-static/resources/view/homeproxy/client.js:671 +#: htdocs/luci-static/resources/view/homeproxy/client.js:982 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1133 #: htdocs/luci-static/resources/view/homeproxy/server.js:867 msgid "TCP" msgstr "TCP" @@ -2439,17 +2443,17 @@ msgstr "TCP" msgid "TCP fast open" msgstr "TCP 快速打开" -#: htdocs/luci-static/resources/view/homeproxy/client.js:331 +#: htdocs/luci-static/resources/view/homeproxy/client.js:347 msgid "TCP/IP stack" msgstr "TCP/IP 协议栈" -#: htdocs/luci-static/resources/view/homeproxy/client.js:332 +#: htdocs/luci-static/resources/view/homeproxy/client.js:348 msgid "TCP/IP stack." msgstr "TCP/IP 协议栈。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:642 -#: htdocs/luci-static/resources/view/homeproxy/client.js:967 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1130 +#: htdocs/luci-static/resources/view/homeproxy/client.js:658 +#: htdocs/luci-static/resources/view/homeproxy/client.js:983 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1146 #: htdocs/luci-static/resources/view/homeproxy/node.js:1424 #: htdocs/luci-static/resources/view/homeproxy/server.js:532 msgid "TLS" @@ -2460,13 +2464,13 @@ msgstr "TLS" msgid "TLS ALPN" msgstr "TLS ALPN" -#: htdocs/luci-static/resources/view/homeproxy/client.js:997 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1013 #: htdocs/luci-static/resources/view/homeproxy/node.js:1451 #: htdocs/luci-static/resources/view/homeproxy/server.js:560 msgid "TLS SNI" msgstr "TLS SNI" -#: htdocs/luci-static/resources/view/homeproxy/client.js:752 +#: htdocs/luci-static/resources/view/homeproxy/client.js:768 msgid "TLS fragment" msgstr "TLS 分片" @@ -2475,12 +2479,12 @@ msgstr "TLS 分片" msgid "TLS is not enforced. If TLS is not configured, plain HTTP 1.1 is used." msgstr "不强制执行 TLS。如未配置 TLS,将使用纯 HTTP 1.1。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:746 -#: htdocs/luci-static/resources/view/homeproxy/client.js:754 +#: htdocs/luci-static/resources/view/homeproxy/client.js:762 +#: htdocs/luci-static/resources/view/homeproxy/client.js:770 msgid "TLS record fragment" msgstr "TLS 记录分片" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1006 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1022 msgid "" "Tag of a another server to resolve the domain name in the address. Required " "if address contains domain." @@ -2488,19 +2492,19 @@ msgstr "" "用于解析本 DNS 服务器的域名的另一个 DNS 服务器的标签。如果服务器地址包括域名" "则必须。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1045 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1061 msgid "Tag of an outbound for connecting to the dns server." msgstr "用于连接到 DNS 服务器的出站标签。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1393 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1409 msgid "Tag of the outbound to download rule set." msgstr "用于下载规则集的出站标签。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1173 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1189 msgid "Tag of the target dns server." msgstr "目标 DNS 服务器标签。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:696 +#: htdocs/luci-static/resources/view/homeproxy/client.js:712 msgid "Tag of the target outbound." msgstr "目标出站标签。" @@ -2509,7 +2513,7 @@ msgid "" "Tell the client to use the BBR flow control algorithm instead of Hysteria CC." msgstr "让客户端使用 BBR 流控算法。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:246 +#: htdocs/luci-static/resources/view/homeproxy/client.js:262 msgid "Tencent Public DNS (DoH)" msgstr "腾讯 公共DNS (DoH)" @@ -2523,23 +2527,23 @@ msgstr "测试" msgid "Test Current List" msgstr "测试当前列表" -#: htdocs/luci-static/resources/view/homeproxy/client.js:527 +#: htdocs/luci-static/resources/view/homeproxy/client.js:543 msgid "Test URL" msgstr "测试 URL" -#: htdocs/luci-static/resources/view/homeproxy/client.js:164 -#: htdocs/luci-static/resources/view/homeproxy/client.js:193 -#: htdocs/luci-static/resources/view/homeproxy/client.js:547 +#: htdocs/luci-static/resources/view/homeproxy/client.js:180 +#: htdocs/luci-static/resources/view/homeproxy/client.js:209 +#: htdocs/luci-static/resources/view/homeproxy/client.js:563 msgid "Test interval" msgstr "测试间隔" -#: htdocs/luci-static/resources/view/homeproxy/client.js:555 +#: htdocs/luci-static/resources/view/homeproxy/client.js:571 msgid "Test interval must be less or equal than idle timeout." msgstr "测试间隔时间必须小于或等于空闲超时时间。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:170 -#: htdocs/luci-static/resources/view/homeproxy/client.js:199 -#: htdocs/luci-static/resources/view/homeproxy/client.js:563 +#: htdocs/luci-static/resources/view/homeproxy/client.js:186 +#: htdocs/luci-static/resources/view/homeproxy/client.js:215 +#: htdocs/luci-static/resources/view/homeproxy/client.js:579 msgid "Test tolerance" msgstr "测试容差" @@ -2556,7 +2560,7 @@ msgstr "当前列表测试中..." msgid "The ACME CA provider to use." msgstr "使用的 ACME CA 颁发机构。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:895 +#: htdocs/luci-static/resources/view/homeproxy/client.js:911 msgid "The DNS strategy for resolving the domain name in the address." msgstr "解析域名的默认策略。" @@ -2570,11 +2574,11 @@ msgstr "用于接收数据的 QUIC 连接级流控制窗口。" msgid "The QUIC stream-level flow control window for receiving data." msgstr "用于接收数据的 QUIC 流级流控制窗口。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:528 +#: htdocs/luci-static/resources/view/homeproxy/client.js:544 msgid "The URL to test." msgstr "用于测试的 URL。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:975 +#: htdocs/luci-static/resources/view/homeproxy/client.js:991 msgid "The address of the dns server." msgstr "DNS 服务器的地址。" @@ -2593,7 +2597,7 @@ msgid "" msgstr "" "用于 ACME TLS-ALPN 质询的备用端口; 系统必须将 443 转发到此端口以使质询成功。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:613 +#: htdocs/luci-static/resources/view/homeproxy/client.js:629 msgid "" "The default rule uses the following matching logic:
(domain || " "domain_suffix || domain_keyword || domain_regex || ip_cidr || " @@ -2610,7 +2614,7 @@ msgstr "" "source_port_range) &&
其他字段。此外,包含的所有规则" "集会被合并而不是独立生效。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1093 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1109 msgid "" "The default rule uses the following matching logic:
(domain || " "domain_suffix || domain_keyword || domain_regex) &&
(port " @@ -2625,13 +2629,13 @@ msgstr "" ">(source_port || source_port_range) &&
其他字段。此外,包含的所有规则集会被合并而不是独立生效。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:243 +#: htdocs/luci-static/resources/view/homeproxy/client.js:259 msgid "" "The dns server for resolving China domains. Support UDP, TCP, DoH, DoQ, DoT." msgstr "用于解析国内域名的 DNS 服务器。支持 UDP、TCP、DoH、DoQ、DoT。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:464 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1038 +#: htdocs/luci-static/resources/view/homeproxy/client.js:480 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1054 msgid "The domain strategy for resolving the domain name in the address." msgstr "用于解析本 DNS 服务器的域名的策略。" @@ -2648,13 +2652,13 @@ msgid "" "account." msgstr "创建或选择现有 ACME 服务器帐户时使用的电子邮件地址。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:760 +#: htdocs/luci-static/resources/view/homeproxy/client.js:776 msgid "" "The fallback value in milliseconds used when TLS segmentation cannot " "automatically determine the wait time." msgstr "当 TLS 分段无法自动确定等待时间时使用的回退值(单位:毫秒)。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:571 +#: htdocs/luci-static/resources/view/homeproxy/client.js:587 msgid "The idle timeout in seconds." msgstr "空闲超时时间(单位:秒)。" @@ -2678,17 +2682,17 @@ msgstr "服务器和客户端之间的最大时间差。" msgid "The minimum TLS version that is acceptable." msgstr "可接受的最低 TLS 版本。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:114 +#: htdocs/luci-static/resources/view/homeproxy/client.js:130 #: htdocs/luci-static/resources/view/homeproxy/server.js:130 msgid "The modern ImmortalWrt proxy platform for ARM64/AMD64." msgstr "为 ARM64/AMD64 设计的现代 ImmortalWrt 代理平台。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:471 +#: htdocs/luci-static/resources/view/homeproxy/client.js:487 #: htdocs/luci-static/resources/view/homeproxy/server.js:875 msgid "The network interface to bind to." msgstr "绑定到的网络接口。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:985 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1001 msgid "The path of the DNS server." msgstr "DNS 服务器的路径。" @@ -2706,11 +2710,11 @@ msgstr "服务端证书路径,需要 PEM 格式。" msgid "The port must be unique." msgstr "必须是唯一端口。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:980 +#: htdocs/luci-static/resources/view/homeproxy/client.js:996 msgid "The port of the DNS server." msgstr "DNS 服务器的端口。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1233 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1249 msgid "The response code." msgstr "响应代码。" @@ -2722,21 +2726,21 @@ msgstr "服务端私钥,需要 PEM 格式。" msgid "The server public key, in PEM format." msgstr "服务端公钥,需要 PEM 格式。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:478 +#: htdocs/luci-static/resources/view/homeproxy/client.js:494 msgid "" "The tag of the upstream outbound.
Other dial fields will be ignored when " "enabled." msgstr "上游出站的标签。
启用时,其他拨号字段将被忽略。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:165 -#: htdocs/luci-static/resources/view/homeproxy/client.js:194 -#: htdocs/luci-static/resources/view/homeproxy/client.js:548 +#: htdocs/luci-static/resources/view/homeproxy/client.js:181 +#: htdocs/luci-static/resources/view/homeproxy/client.js:210 +#: htdocs/luci-static/resources/view/homeproxy/client.js:564 msgid "The test interval in seconds." msgstr "测试间隔时间(单位:秒)。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:171 -#: htdocs/luci-static/resources/view/homeproxy/client.js:200 -#: htdocs/luci-static/resources/view/homeproxy/client.js:564 +#: htdocs/luci-static/resources/view/homeproxy/client.js:187 +#: htdocs/luci-static/resources/view/homeproxy/client.js:216 +#: htdocs/luci-static/resources/view/homeproxy/client.js:580 msgid "The test tolerance in milliseconds." msgstr "测试容差时间(单位:毫秒)。" @@ -2766,7 +2770,7 @@ msgstr "" "这是 TUIC 的 UDP over TCP 协议移植, 旨在提供 TUIC 不提供的基于 QUIC 流的 " "UDP 中继模式。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:245 +#: htdocs/luci-static/resources/view/homeproxy/client.js:261 msgid "ThreatBook Public DNS (DoH)" msgstr "微步 公共DNS (DoH)" @@ -2774,13 +2778,13 @@ msgstr "微步 公共DNS (DoH)" msgid "Timeout" msgstr "超时" -#: htdocs/luci-static/resources/view/homeproxy/client.js:740 +#: htdocs/luci-static/resources/view/homeproxy/client.js:756 msgid "" "Timeout for UDP connections.
Setting a larger value than the UDP timeout " "in inbounds will have no effect." msgstr "UDP 连接的超时时间。
设置比入站的 UDP 超时更大的值将无效。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:935 +#: htdocs/luci-static/resources/view/homeproxy/client.js:951 msgid "" "Timeout of rejected DNS response cache in seconds. 604800 (7d) " "is used by default." @@ -2795,7 +2799,7 @@ msgid "" msgstr "" "要与 Xray-core 兼容,请将其设置为 Sec-WebSocket-Protocol。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:316 +#: htdocs/luci-static/resources/view/homeproxy/client.js:332 msgid "" "To enable Tun support, you need to install ip-full and " "kmod-tun" @@ -2821,20 +2825,20 @@ msgstr "Trojan" msgid "Tuic" msgstr "Tuic" -#: htdocs/luci-static/resources/view/homeproxy/client.js:314 +#: htdocs/luci-static/resources/view/homeproxy/client.js:330 msgid "Tun TCP/UDP" msgstr "Tun TCP/UDP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:964 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1351 +#: htdocs/luci-static/resources/view/homeproxy/client.js:980 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1367 #: htdocs/luci-static/resources/view/homeproxy/node.js:857 #: htdocs/luci-static/resources/view/homeproxy/server.js:175 msgid "Type" msgstr "类型" -#: htdocs/luci-static/resources/view/homeproxy/client.js:656 -#: htdocs/luci-static/resources/view/homeproxy/client.js:965 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1118 +#: htdocs/luci-static/resources/view/homeproxy/client.js:672 +#: htdocs/luci-static/resources/view/homeproxy/client.js:981 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1134 #: htdocs/luci-static/resources/view/homeproxy/server.js:868 msgid "UDP" msgstr "UDP" @@ -2844,7 +2848,7 @@ msgstr "UDP" msgid "UDP Fragment" msgstr "UDP 分片" -#: htdocs/luci-static/resources/view/homeproxy/client.js:352 +#: htdocs/luci-static/resources/view/homeproxy/client.js:368 #: htdocs/luci-static/resources/view/homeproxy/server.js:859 msgid "UDP NAT expiration time" msgstr "UDP NAT 过期时间" @@ -2865,23 +2869,23 @@ msgstr "UDP 包中继模式。" msgid "UDP relay mode" msgstr "UDP 中继模式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:739 +#: htdocs/luci-static/resources/view/homeproxy/client.js:755 msgid "UDP timeout" msgstr "UDP 超时" -#: htdocs/luci-static/resources/view/homeproxy/client.js:150 -#: htdocs/luci-static/resources/view/homeproxy/client.js:179 -#: htdocs/luci-static/resources/view/homeproxy/client.js:438 +#: htdocs/luci-static/resources/view/homeproxy/client.js:166 +#: htdocs/luci-static/resources/view/homeproxy/client.js:195 +#: htdocs/luci-static/resources/view/homeproxy/client.js:454 msgid "URLTest" msgstr "URLTest" -#: htdocs/luci-static/resources/view/homeproxy/client.js:157 -#: htdocs/luci-static/resources/view/homeproxy/client.js:186 -#: htdocs/luci-static/resources/view/homeproxy/client.js:513 +#: htdocs/luci-static/resources/view/homeproxy/client.js:173 +#: htdocs/luci-static/resources/view/homeproxy/client.js:202 +#: htdocs/luci-static/resources/view/homeproxy/client.js:529 msgid "URLTest nodes" msgstr "URLTest 节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:131 +#: htdocs/luci-static/resources/view/homeproxy/client.js:147 msgid "URLTest: %s" msgstr "URLTest: %s" @@ -2914,11 +2918,11 @@ msgstr "全部更新" msgid "Update failed." msgstr "更新失败。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1410 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1426 msgid "Update interval" msgstr "更新间隔" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1411 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1427 msgid "Update interval of rule set." msgstr "规则集更新间隔。" @@ -2975,12 +2979,12 @@ msgid "" "given." msgstr "用于验证返回证书上的主机名。如允许不安全连接,此配置无效。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:998 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1014 msgid "Used to verify the hostname on the returned certificates." msgstr "用于验证返回证书上的主机名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:659 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1132 +#: htdocs/luci-static/resources/view/homeproxy/client.js:675 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1148 msgid "User" msgstr "用户" @@ -3007,12 +3011,12 @@ msgstr "VMess" msgid "Version" msgstr "版本" -#: htdocs/luci-static/resources/view/homeproxy/client.js:207 -#: htdocs/luci-static/resources/view/homeproxy/client.js:244 +#: htdocs/luci-static/resources/view/homeproxy/client.js:223 +#: htdocs/luci-static/resources/view/homeproxy/client.js:260 msgid "WAN DNS (read from interface)" msgstr "WAN DNS(从接口获取)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1482 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1498 msgid "WAN IP Policy" msgstr "WAN IP 策略" @@ -3063,7 +3067,7 @@ msgstr "ZeroSSL" msgid "certificate" msgstr "证书" -#: htdocs/luci-static/resources/view/homeproxy/client.js:733 +#: htdocs/luci-static/resources/view/homeproxy/client.js:749 msgid "connect UDP connections" msgstr "主动连接 UDP" @@ -3092,16 +3096,16 @@ msgstr "gRPC 允许无活动连接" msgid "gRPC service name" msgstr "gRPC 服务名称" -#: htdocs/luci-static/resources/view/homeproxy/client.js:335 +#: htdocs/luci-static/resources/view/homeproxy/client.js:351 msgid "gVisor" msgstr "gVisor" #: htdocs/luci-static/resources/homeproxy.js:306 #: htdocs/luci-static/resources/homeproxy.js:326 -#: htdocs/luci-static/resources/view/homeproxy/client.js:220 -#: htdocs/luci-static/resources/view/homeproxy/client.js:254 -#: htdocs/luci-static/resources/view/homeproxy/client.js:521 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1374 +#: htdocs/luci-static/resources/view/homeproxy/client.js:236 +#: htdocs/luci-static/resources/view/homeproxy/client.js:270 +#: htdocs/luci-static/resources/view/homeproxy/client.js:537 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1390 #: htdocs/luci-static/resources/view/homeproxy/node.js:918 #: htdocs/luci-static/resources/view/homeproxy/node.js:1552 #: htdocs/luci-static/resources/view/homeproxy/server.js:235 @@ -3127,7 +3131,7 @@ msgstr "通过" msgid "private key" msgstr "私钥" -#: htdocs/luci-static/resources/view/homeproxy/client.js:648 +#: htdocs/luci-static/resources/view/homeproxy/client.js:664 msgid "quic-go / uquic chrome" msgstr "quic-go / uquic chrome" @@ -3177,17 +3181,17 @@ msgstr "v2" msgid "v3" msgstr "v3" -#: htdocs/luci-static/resources/view/homeproxy/client.js:232 -#: htdocs/luci-static/resources/view/homeproxy/client.js:236 -#: htdocs/luci-static/resources/view/homeproxy/client.js:265 -#: htdocs/luci-static/resources/view/homeproxy/client.js:269 +#: htdocs/luci-static/resources/view/homeproxy/client.js:248 +#: htdocs/luci-static/resources/view/homeproxy/client.js:252 +#: htdocs/luci-static/resources/view/homeproxy/client.js:281 +#: htdocs/luci-static/resources/view/homeproxy/client.js:285 msgid "valid DNS server address" msgstr "有效 DNS 服务器地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:535 -#: htdocs/luci-static/resources/view/homeproxy/client.js:538 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1379 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1382 +#: htdocs/luci-static/resources/view/homeproxy/client.js:551 +#: htdocs/luci-static/resources/view/homeproxy/client.js:554 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1395 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1398 #: htdocs/luci-static/resources/view/homeproxy/node.js:1787 #: htdocs/luci-static/resources/view/homeproxy/node.js:1790 msgid "valid URL" @@ -3197,8 +3201,8 @@ msgstr "有效网址" msgid "valid base64 key with %d characters" msgstr "包含 %d 个字符的有效 base64 密钥" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1525 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1557 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1541 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1573 msgid "valid hostname" msgstr "有效主机名" @@ -3206,7 +3210,7 @@ msgstr "有效主机名" msgid "valid port range (port1:port2)" msgstr "有效端口范围(port1:port2)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:298 +#: htdocs/luci-static/resources/view/homeproxy/client.js:314 msgid "valid port value" msgstr "有效端口值" diff --git a/homeproxy/root/etc/homeproxy/scripts/generate_client.uc b/homeproxy/root/etc/homeproxy/scripts/generate_client.uc index d9d5aea9..7b87101d 100755 --- a/homeproxy/root/etc/homeproxy/scripts/generate_client.uc +++ b/homeproxy/root/etc/homeproxy/scripts/generate_client.uc @@ -723,6 +723,14 @@ if (!isEmpty(main_node)) { outbound: 'main-udp-out' }); + /* Proxy list */ + if (length(proxy_domain_list)) + push(config.route.rules, { + rule_set: 'proxy-domain', + action: 'route', + outbound: 'main-out' + }); + config.route.final = 'main-out'; /* Rule set */ diff --git a/homeproxy/root/etc/homeproxy/scripts/update_resources.sh b/homeproxy/root/etc/homeproxy/scripts/update_resources.sh index 2a6a0fe8..37aa2e21 100755 --- a/homeproxy/root/etc/homeproxy/scripts/update_resources.sh +++ b/homeproxy/root/etc/homeproxy/scripts/update_resources.sh @@ -19,10 +19,6 @@ log() { printf '%s %s\n' "$(date "+%Y-%m-%d %H:%M:%S")" "$*" >> "$LOG_PATH" } -to_upper() { - printf '%s\n' "$1" | tr '[:lower:]' '[:upper:]' -} - download() { local source_file="$1" local target_file="$2" @@ -55,10 +51,10 @@ CURRENT=1 for RESOURCE in china_ip4 china_ip6 china_list gfw_list; do OLD_VER="$(cat "$RESOURCES_DIR/$RESOURCE.ver" 2>/dev/null || echo "NOT FOUND")" if [ "$OLD_VER" = "$NEW_VER" ]; then - log "[$(to_upper "$RESOURCE")] Current version: $NEW_VER." + log "[$RESOURCE] Current version: $NEW_VER." else CURRENT=0 - log "[$(to_upper "$RESOURCE")] Local version: $OLD_VER, latest version: $NEW_VER." + log "[$RESOURCE] Local version: $OLD_VER, latest version: $NEW_VER." fi done [ "$CURRENT" -eq 0 ] || { @@ -88,7 +84,7 @@ fi for RESOURCE in china_ip4 china_ip6 china_list gfw_list; do if [ ! -s "$TMP_DIR/$RESOURCE.txt" ] || grep -qi ' "$TMP_DIR/$RESOURCE.ver" || exit 1 @@ -97,10 +93,10 @@ done for RESOURCE in china_ip4 china_ip6 china_list gfw_list; do if ! mv -f "$TMP_DIR/$RESOURCE.txt" "$RESOURCES_DIR/$RESOURCE.txt" || \ ! mv -f "$TMP_DIR/$RESOURCE.ver" "$RESOURCES_DIR/$RESOURCE.ver"; then - log "[$(to_upper "$RESOURCE")] Update failed: unable to replace list." + log "[$RESOURCE] Update failed: unable to replace list." exit 1 fi - log "[$(to_upper "$RESOURCE")] Successfully updated." + log "[$RESOURCE] Successfully updated." done exit 0 diff --git a/homeproxy/root/etc/init.d/homeproxy b/homeproxy/root/etc/init.d/homeproxy index 44e291ca..fd2c8153 100755 --- a/homeproxy/root/etc/init.d/homeproxy +++ b/homeproxy/root/etc/init.d/homeproxy @@ -179,11 +179,17 @@ start_service() { esac if [ "$routing_mode" != "custom" ] && [ -s "$HP_DIR/resources/proxy_list.txt" ]; then - local wan_nftset_v6 - [ "$ipv6_support" -eq "0" ] || wan_nftset_v6=",6#inet#fw4#homeproxy_wan_proxy_addr_v6" - sed -r -e '/^\s*$/d' -e "s/(.*)/server=\/\1\/127.0.0.1#$dns_port\nnftset=\/\1\\/4#inet#fw4#homeproxy_wan_proxy_addr_v4$wan_nftset_v6/g" \ + local proxy_nftset_v6 + [ "$ipv6_support" -eq "0" ] || proxy_nftset_v6=",6#inet#fw4#homeproxy_wan_proxy_addr_v6" + sed -r -e '/^\s*$/d' -e "s/(.*)/server=\/\1\/127.0.0.1#$dns_port\nnftset=\/\1\\/4#inet#fw4#homeproxy_wan_proxy_addr_v4$proxy_nftset_v6/g" \ "$HP_DIR/resources/proxy_list.txt" > "$DNSMASQ_DIR/proxy_list.conf" fi + if [ "$routing_mode" != "custom" ] && [ -s "$HP_DIR/resources/direct_list.txt" ]; then + local direct_nftset_v6 + [ "$ipv6_support" -eq "0" ] || direct_nftset_v6=",6#inet#fw4#homeproxy_wan_direct_addr_v6" + sed -r -e '/^\s*$/d' -e "s/(.*)/server=\/\1\/127.0.0.1#$dns_port\nnftset=\/\1\\/4#inet#fw4#homeproxy_wan_direct_addr_v4$direct_nftset_v6/g" \ + "$HP_DIR/resources/direct_list.txt" > "$DNSMASQ_DIR/direct_list.conf" + fi /etc/init.d/dnsmasq restart >"/dev/null" 2>&1 # Setup routing table diff --git a/homeproxy/root/usr/share/rpcd/ucode/luci.homeproxy b/homeproxy/root/usr/share/rpcd/ucode/luci.homeproxy index 9dd555e1..b97934c8 100644 --- a/homeproxy/root/usr/share/rpcd/ucode/luci.homeproxy +++ b/homeproxy/root/usr/share/rpcd/ucode/luci.homeproxy @@ -50,7 +50,7 @@ const methods = { return { result: false, error: 'illegal type' }; const file = `${HP_DIR}/resources/${req.args?.type}.txt`; - let content = req.args?.content; + let content = (type(req.args?.content) === 'string') ? req.args.content : ''; /* Sanitize content */ if (content) { @@ -60,8 +60,16 @@ const methods = { content += '\n'; } - system(`mkdir -p ${HP_DIR}/resources`); - writefile(file, content); + if (system(`mkdir -p ${HP_DIR}/resources`) !== 0) + return { result: false, error: 'failed to prepare resources directory' }; + + const tmpfile = file + '.tmp'; + if (writefile(tmpfile, content) === null) + return { result: false, error: 'failed to write domain list' }; + if (system(`mv -f ${tmpfile} ${file}`) !== 0) { + system(`rm -f ${tmpfile}`); + return { result: false, error: 'failed to replace domain list' }; + } return { result: true }; }