diff --git a/homeproxy/htdocs/luci-static/resources/view/homeproxy/client.js b/homeproxy/htdocs/luci-static/resources/view/homeproxy/client.js index 7716141d2..dcfdfd255 100644 --- a/homeproxy/htdocs/luci-static/resources/view/homeproxy/client.js +++ b/homeproxy/htdocs/luci-static/resources/view/homeproxy/client.js @@ -170,7 +170,7 @@ return view.extend({ o.depends({'routing_mode': 'custom', '!reverse': true}); o.validate = function(section_id, value) { if (section_id && !['wan'].includes(value)) { - let ipv6_support = this.map.lookupOption('ipv6_support', section_id)[0].formvalue(section_id); + var ipv6_support = this.map.lookupOption('ipv6_support', section_id)[0].formvalue(section_id); if (!value) return _('Expecting: %s').format(_('non-empty value')); @@ -183,7 +183,7 @@ return view.extend({ if (features.hp_has_chinadns_ng) { o = s.taboption('routing', form.Value, 'china_dns_server', _('China DNS server'), - _('You can only have one server set.')); + _('You can only have two servers set at maximum.')); o.value('', _('Disable')); o.value('wan', _('Use DNS server from WAN')); o.value('wan_114', _('Use DNS server from WAN + 114DNS')); @@ -194,10 +194,15 @@ return view.extend({ o.depends('routing_mode', 'bypass_mainland_china'); o.validate = function(section_id, value) { if (section_id && value && !['wan', 'wan_114'].includes(value)) { - let ipv6_support = this.map.lookupOption('ipv6_support', section_id)[0].formvalue(section_id); + var dns_servers = value.split(','); + var ipv6_support = this.map.lookupOption('ipv6_support', section_id)[0].formvalue(section_id); - if (!stubValidator.apply((ipv6_support === '1') ? 'ipaddr' : 'ip4addr', value)) - return _('Expecting: %s').format(_('valid IP address')); + if (dns_servers.length > 2) + return _('You can only have 2 servers set at maximum.'); + + for (var i of dns_servers) + if (!stubValidator.apply((ipv6_support === '1') ? 'ipaddr' : 'ip4addr', i)) + return _('Expecting: %s').format(_('valid IP address')); } return true; diff --git a/homeproxy/po/templates/homeproxy.pot b/homeproxy/po/templates/homeproxy.pot index fff4426d7..193dd40d3 100644 --- a/homeproxy/po/templates/homeproxy.pot +++ b/homeproxy/po/templates/homeproxy.pot @@ -9,12 +9,12 @@ msgstr "" msgid "%s nodes removed" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:537 -#: htdocs/luci-static/resources/view/homeproxy/client.js:834 +#: htdocs/luci-static/resources/view/homeproxy/client.js:542 +#: htdocs/luci-static/resources/view/homeproxy/client.js:839 msgid "-- Please choose --" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:442 +#: htdocs/luci-static/resources/view/homeproxy/client.js:447 msgid "4 or 6. Not limited if empty." msgstr "" @@ -32,7 +32,7 @@ msgstr "" msgid "Accept any if empty." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:987 +#: htdocs/luci-static/resources/view/homeproxy/client.js:992 msgid "Access Control" msgstr "" @@ -44,11 +44,11 @@ msgstr "" msgid "Access key secret" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:719 +#: htdocs/luci-static/resources/view/homeproxy/client.js:724 msgid "Add a DNS rule" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:629 +#: htdocs/luci-static/resources/view/homeproxy/client.js:634 msgid "Add a DNS server" msgstr "" @@ -56,15 +56,15 @@ msgstr "" msgid "Add a node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:339 +#: htdocs/luci-static/resources/view/homeproxy/client.js:344 msgid "Add a routing node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:415 +#: htdocs/luci-static/resources/view/homeproxy/client.js:420 msgid "Add a routing rule" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:908 +#: htdocs/luci-static/resources/view/homeproxy/client.js:913 msgid "Add a rule set" msgstr "" @@ -72,16 +72,16 @@ msgstr "" msgid "Add a server" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:643 +#: htdocs/luci-static/resources/view/homeproxy/client.js:648 #: htdocs/luci-static/resources/view/homeproxy/node.js:525 msgid "Address" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:647 +#: htdocs/luci-static/resources/view/homeproxy/client.js:652 msgid "Address resolver" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:679 +#: htdocs/luci-static/resources/view/homeproxy/client.js:684 msgid "Address strategy" msgstr "" @@ -94,7 +94,7 @@ msgstr "" msgid "Aliyun Public DNS (223.5.5.5)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:222 +#: htdocs/luci-static/resources/view/homeproxy/client.js:227 msgid "All ports" msgstr "" @@ -141,7 +141,7 @@ msgstr "" msgid "An error occurred during updating subscriptions: %s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:855 +#: htdocs/luci-static/resources/view/homeproxy/client.js:860 msgid "Any" msgstr "" @@ -205,20 +205,20 @@ msgstr "" msgid "Base64" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:289 +#: htdocs/luci-static/resources/view/homeproxy/client.js:294 msgid "Based on google/gvisor." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:930 +#: htdocs/luci-static/resources/view/homeproxy/client.js:935 msgid "Binary file" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:366 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1000 +#: htdocs/luci-static/resources/view/homeproxy/client.js:371 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1005 msgid "Bind interface" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1001 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1006 msgid "" "Bind outbound traffic to specific interface. Leave empty to auto detect." msgstr "" @@ -227,34 +227,34 @@ msgstr "" msgid "Blacklist mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:317 -#: htdocs/luci-static/resources/view/homeproxy/client.js:565 -#: htdocs/luci-static/resources/view/homeproxy/client.js:857 +#: htdocs/luci-static/resources/view/homeproxy/client.js:322 +#: htdocs/luci-static/resources/view/homeproxy/client.js:570 +#: htdocs/luci-static/resources/view/homeproxy/client.js:862 msgid "Block" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:595 -#: htdocs/luci-static/resources/view/homeproxy/client.js:875 +#: htdocs/luci-static/resources/view/homeproxy/client.js:600 +#: htdocs/luci-static/resources/view/homeproxy/client.js:880 msgid "Block DNS queries" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:445 -#: htdocs/luci-static/resources/view/homeproxy/client.js:458 -#: htdocs/luci-static/resources/view/homeproxy/client.js:748 -#: htdocs/luci-static/resources/view/homeproxy/client.js:758 +#: htdocs/luci-static/resources/view/homeproxy/client.js:450 +#: htdocs/luci-static/resources/view/homeproxy/client.js:463 +#: htdocs/luci-static/resources/view/homeproxy/client.js:753 +#: htdocs/luci-static/resources/view/homeproxy/client.js:763 #: htdocs/luci-static/resources/view/homeproxy/server.js:733 msgid "Both" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:300 +#: htdocs/luci-static/resources/view/homeproxy/client.js:305 msgid "Bypass CN traffic" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:209 +#: htdocs/luci-static/resources/view/homeproxy/client.js:214 msgid "Bypass mainland China" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:301 +#: htdocs/luci-static/resources/view/homeproxy/client.js:306 msgid "Bypass mainland China traffic via firewall rules by default." msgstr "" @@ -338,7 +338,7 @@ msgstr "" msgid "Collecting data..." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:223 +#: htdocs/luci-static/resources/view/homeproxy/client.js:228 msgid "Common ports only (bypass P2P traffic)" msgstr "" @@ -351,23 +351,23 @@ msgstr "" msgid "Connection check" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:211 +#: htdocs/luci-static/resources/view/homeproxy/client.js:216 msgid "Custom routing" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:765 +#: htdocs/luci-static/resources/view/homeproxy/client.js:770 msgid "DNS" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:710 +#: htdocs/luci-static/resources/view/homeproxy/client.js:715 msgid "DNS Rules" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:620 +#: htdocs/luci-static/resources/view/homeproxy/client.js:625 msgid "DNS Servers" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:578 +#: htdocs/luci-static/resources/view/homeproxy/client.js:583 msgid "DNS Settings" msgstr "" @@ -375,12 +375,12 @@ msgstr "" msgid "DNS provider" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:719 +#: htdocs/luci-static/resources/view/homeproxy/client.js:724 msgid "DNS rule" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:158 -#: htdocs/luci-static/resources/view/homeproxy/client.js:629 +#: htdocs/luci-static/resources/view/homeproxy/client.js:634 msgid "DNS server" msgstr "" @@ -389,31 +389,31 @@ msgid "DNS01 challenge" msgstr "" #: htdocs/luci-static/resources/homeproxy.js:17 -#: htdocs/luci-static/resources/view/homeproxy/client.js:436 -#: htdocs/luci-static/resources/view/homeproxy/client.js:740 +#: htdocs/luci-static/resources/view/homeproxy/client.js:441 +#: htdocs/luci-static/resources/view/homeproxy/client.js:745 #: htdocs/luci-static/resources/view/homeproxy/node.js:749 msgid "Default" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:593 -#: htdocs/luci-static/resources/view/homeproxy/client.js:654 -#: htdocs/luci-static/resources/view/homeproxy/client.js:873 +#: htdocs/luci-static/resources/view/homeproxy/client.js:598 +#: htdocs/luci-static/resources/view/homeproxy/client.js:659 +#: htdocs/luci-static/resources/view/homeproxy/client.js:878 msgid "Default DNS (issued by WAN)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:588 +#: htdocs/luci-static/resources/view/homeproxy/client.js:593 msgid "Default DNS server" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:583 +#: htdocs/luci-static/resources/view/homeproxy/client.js:588 msgid "Default DNS strategy" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:686 +#: htdocs/luci-static/resources/view/homeproxy/client.js:691 msgid "Default domain strategy for resolving the domain names." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:310 +#: htdocs/luci-static/resources/view/homeproxy/client.js:315 msgid "Default outbound" msgstr "" @@ -425,39 +425,39 @@ msgstr "" msgid "Default server name" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:316 -#: htdocs/luci-static/resources/view/homeproxy/client.js:379 -#: htdocs/luci-static/resources/view/homeproxy/client.js:564 -#: htdocs/luci-static/resources/view/homeproxy/client.js:696 -#: htdocs/luci-static/resources/view/homeproxy/client.js:856 -#: htdocs/luci-static/resources/view/homeproxy/client.js:969 +#: htdocs/luci-static/resources/view/homeproxy/client.js:321 +#: htdocs/luci-static/resources/view/homeproxy/client.js:384 +#: htdocs/luci-static/resources/view/homeproxy/client.js:569 +#: htdocs/luci-static/resources/view/homeproxy/client.js:701 +#: htdocs/luci-static/resources/view/homeproxy/client.js:861 +#: htdocs/luci-static/resources/view/homeproxy/client.js:974 #: htdocs/luci-static/resources/view/homeproxy/node.js:506 msgid "Direct" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1099 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1104 msgid "Direct Domain List" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1016 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1061 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1021 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1066 msgid "Direct IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1019 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1064 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1024 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1069 msgid "Direct IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1022 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1027 msgid "Direct MAC-s" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:142 #: htdocs/luci-static/resources/view/homeproxy/client.js:150 #: htdocs/luci-static/resources/view/homeproxy/client.js:187 -#: htdocs/luci-static/resources/view/homeproxy/client.js:315 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1010 +#: htdocs/luci-static/resources/view/homeproxy/client.js:320 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1015 #: htdocs/luci-static/resources/view/homeproxy/node.js:596 #: htdocs/luci-static/resources/view/homeproxy/node.js:608 #: htdocs/luci-static/resources/view/homeproxy/node.js:1165 @@ -467,7 +467,7 @@ msgstr "" msgid "Disable" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:606 +#: htdocs/luci-static/resources/view/homeproxy/client.js:611 msgid "Disable DNS cache" msgstr "" @@ -484,15 +484,15 @@ msgstr "" msgid "Disable TLS ALPN challenge" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:887 +#: htdocs/luci-static/resources/view/homeproxy/client.js:892 msgid "Disable cache and save cache in this query." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:609 +#: htdocs/luci-static/resources/view/homeproxy/client.js:614 msgid "Disable cache expire" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:886 +#: htdocs/luci-static/resources/view/homeproxy/client.js:891 msgid "Disable dns cache" msgstr "" @@ -507,28 +507,28 @@ msgid "" "(IPv4) / 1232 (IPv6) bytes in size." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:469 -#: htdocs/luci-static/resources/view/homeproxy/client.js:777 +#: htdocs/luci-static/resources/view/homeproxy/client.js:474 +#: htdocs/luci-static/resources/view/homeproxy/client.js:782 msgid "Domain keyword" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:460 -#: htdocs/luci-static/resources/view/homeproxy/client.js:768 -msgid "Domain name" -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:473 -#: htdocs/luci-static/resources/view/homeproxy/client.js:781 -msgid "Domain regex" -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:360 -#: htdocs/luci-static/resources/view/homeproxy/server.js:724 -msgid "Domain strategy" -msgstr "" - #: htdocs/luci-static/resources/view/homeproxy/client.js:465 #: htdocs/luci-static/resources/view/homeproxy/client.js:773 +msgid "Domain name" +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:478 +#: htdocs/luci-static/resources/view/homeproxy/client.js:786 +msgid "Domain regex" +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:365 +#: htdocs/luci-static/resources/view/homeproxy/server.js:724 +msgid "Domain strategy" +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:470 +#: htdocs/luci-static/resources/view/homeproxy/client.js:778 msgid "Domain suffix" msgstr "" @@ -597,11 +597,11 @@ msgstr "" msgid "Email" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:348 -#: htdocs/luci-static/resources/view/homeproxy/client.js:424 -#: htdocs/luci-static/resources/view/homeproxy/client.js:638 -#: htdocs/luci-static/resources/view/homeproxy/client.js:728 -#: htdocs/luci-static/resources/view/homeproxy/client.js:917 +#: htdocs/luci-static/resources/view/homeproxy/client.js:353 +#: htdocs/luci-static/resources/view/homeproxy/client.js:429 +#: htdocs/luci-static/resources/view/homeproxy/client.js:643 +#: htdocs/luci-static/resources/view/homeproxy/client.js:733 +#: htdocs/luci-static/resources/view/homeproxy/client.js:922 #: htdocs/luci-static/resources/view/homeproxy/server.js:75 #: htdocs/luci-static/resources/view/homeproxy/server.js:98 msgid "Enable" @@ -647,7 +647,7 @@ msgstr "" msgid "Enable UDP fragmentation." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:294 +#: htdocs/luci-static/resources/view/homeproxy/client.js:299 msgid "Enable endpoint-independent NAT" msgstr "" @@ -680,14 +680,14 @@ msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:75 #: htdocs/luci-static/resources/view/homeproxy/client.js:176 #: htdocs/luci-static/resources/view/homeproxy/client.js:178 -#: htdocs/luci-static/resources/view/homeproxy/client.js:200 -#: htdocs/luci-static/resources/view/homeproxy/client.js:229 +#: htdocs/luci-static/resources/view/homeproxy/client.js:205 #: htdocs/luci-static/resources/view/homeproxy/client.js:234 -#: htdocs/luci-static/resources/view/homeproxy/client.js:945 +#: htdocs/luci-static/resources/view/homeproxy/client.js:239 #: htdocs/luci-static/resources/view/homeproxy/client.js:950 -#: htdocs/luci-static/resources/view/homeproxy/client.js:953 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1092 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1121 +#: htdocs/luci-static/resources/view/homeproxy/client.js:955 +#: htdocs/luci-static/resources/view/homeproxy/client.js:958 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1097 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1126 #: htdocs/luci-static/resources/view/homeproxy/node.js:461 #: htdocs/luci-static/resources/view/homeproxy/node.js:564 #: htdocs/luci-static/resources/view/homeproxy/node.js:1186 @@ -728,7 +728,7 @@ msgstr "" msgid "Flow" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:928 +#: htdocs/luci-static/resources/view/homeproxy/client.js:933 msgid "Format" msgstr "" @@ -740,28 +740,28 @@ msgstr "" msgid "GFW list version" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:208 +#: htdocs/luci-static/resources/view/homeproxy/client.js:213 msgid "GFWList" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1034 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1039 msgid "Gaming mode IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1036 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1041 msgid "Gaming mode IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1039 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1044 msgid "Gaming mode MAC-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:267 +#: htdocs/luci-static/resources/view/homeproxy/client.js:272 #: htdocs/luci-static/resources/view/homeproxy/node.js:939 msgid "Generic segmentation offload" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:212 +#: htdocs/luci-static/resources/view/homeproxy/client.js:217 msgid "Global" msgstr "" @@ -769,15 +769,15 @@ msgstr "" msgid "Global padding" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1041 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1046 msgid "Global proxy IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1044 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1049 msgid "Global proxy IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1047 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1052 msgid "Global proxy MAC-s" msgstr "" @@ -797,8 +797,8 @@ msgstr "" msgid "Grant access to homeproxy configuration" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:450 -#: htdocs/luci-static/resources/view/homeproxy/client.js:762 +#: htdocs/luci-static/resources/view/homeproxy/client.js:455 +#: htdocs/luci-static/resources/view/homeproxy/client.js:767 #: htdocs/luci-static/resources/view/homeproxy/node.js:507 #: htdocs/luci-static/resources/view/homeproxy/node.js:819 #: htdocs/luci-static/resources/view/homeproxy/server.js:104 @@ -877,17 +877,17 @@ msgstr "" msgid "Hysteria2" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:488 +#: htdocs/luci-static/resources/view/homeproxy/client.js:493 msgid "IP CIDR" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:441 -#: htdocs/luci-static/resources/view/homeproxy/client.js:745 +#: htdocs/luci-static/resources/view/homeproxy/client.js:446 +#: htdocs/luci-static/resources/view/homeproxy/client.js:750 msgid "IP version" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:443 -#: htdocs/luci-static/resources/view/homeproxy/client.js:746 +#: htdocs/luci-static/resources/view/homeproxy/client.js:448 +#: htdocs/luci-static/resources/view/homeproxy/client.js:751 msgid "IPv4" msgstr "" @@ -895,8 +895,8 @@ msgstr "" msgid "IPv4 only" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:444 -#: htdocs/luci-static/resources/view/homeproxy/client.js:747 +#: htdocs/luci-static/resources/view/homeproxy/client.js:449 +#: htdocs/luci-static/resources/view/homeproxy/client.js:752 msgid "IPv6" msgstr "" @@ -904,7 +904,7 @@ msgstr "" msgid "IPv6 only" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:257 +#: htdocs/luci-static/resources/view/homeproxy/client.js:262 msgid "IPv6 support" msgstr "" @@ -924,7 +924,7 @@ msgid "" "If set, the requested domain name will be resolved to IP before routing." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:361 +#: htdocs/luci-static/resources/view/homeproxy/client.js:366 msgid "" "If set, the server domain name will be resolved to IP before connecting.
dns.strategy will be used if empty." @@ -957,11 +957,11 @@ msgstr "" msgid "Import share links" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:613 +#: htdocs/luci-static/resources/view/homeproxy/client.js:618 msgid "Independent cache per server" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:993 +#: htdocs/luci-static/resources/view/homeproxy/client.js:998 msgid "Interface Control" msgstr "" @@ -972,13 +972,13 @@ msgid "" "seconds)." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:553 -#: htdocs/luci-static/resources/view/homeproxy/client.js:844 +#: htdocs/luci-static/resources/view/homeproxy/client.js:558 +#: htdocs/luci-static/resources/view/homeproxy/client.js:849 msgid "Invert" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:554 -#: htdocs/luci-static/resources/view/homeproxy/client.js:845 +#: htdocs/luci-static/resources/view/homeproxy/client.js:559 +#: htdocs/luci-static/resources/view/homeproxy/client.js:850 msgid "Invert match result." msgstr "" @@ -986,15 +986,15 @@ msgstr "" msgid "Key path" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1007 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1012 msgid "LAN IP Policy" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:343 -#: htdocs/luci-static/resources/view/homeproxy/client.js:419 -#: htdocs/luci-static/resources/view/homeproxy/client.js:633 -#: htdocs/luci-static/resources/view/homeproxy/client.js:723 -#: htdocs/luci-static/resources/view/homeproxy/client.js:912 +#: htdocs/luci-static/resources/view/homeproxy/client.js:348 +#: htdocs/luci-static/resources/view/homeproxy/client.js:424 +#: htdocs/luci-static/resources/view/homeproxy/client.js:638 +#: htdocs/luci-static/resources/view/homeproxy/client.js:728 +#: htdocs/luci-static/resources/view/homeproxy/client.js:917 #: htdocs/luci-static/resources/view/homeproxy/node.js:500 #: htdocs/luci-static/resources/view/homeproxy/server.js:92 msgid "Label" @@ -1007,7 +1007,7 @@ msgid "" "compatibility purposes only, use of alterId > 1 is not recommended." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:291 +#: htdocs/luci-static/resources/view/homeproxy/client.js:296 msgid "Less compatibility and sometimes better performance." msgstr "" @@ -1029,7 +1029,7 @@ msgstr "" msgid "Listen address" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:995 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1000 msgid "Listen interfaces" msgstr "" @@ -1041,7 +1041,7 @@ msgstr "" msgid "Loading" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:923 +#: htdocs/luci-static/resources/view/homeproxy/client.js:928 msgid "Local" msgstr "" @@ -1069,11 +1069,11 @@ msgstr "" msgid "Main node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:548 +#: htdocs/luci-static/resources/view/homeproxy/client.js:553 msgid "Make IP CIDR in rule set used to match the source IP." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:614 +#: htdocs/luci-static/resources/view/homeproxy/client.js:619 msgid "" "Make each DNS server's cache independent for special purposes. If enabled, " "will slightly degrade performance." @@ -1083,93 +1083,93 @@ msgstr "" msgid "Masquerade" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:489 +#: htdocs/luci-static/resources/view/homeproxy/client.js:494 msgid "Match IP CIDR." msgstr "" +#: htdocs/luci-static/resources/view/homeproxy/client.js:471 +#: htdocs/luci-static/resources/view/homeproxy/client.js:779 +msgid "Match domain suffix." +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:475 +#: htdocs/luci-static/resources/view/homeproxy/client.js:783 +msgid "Match domain using keyword." +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:479 +#: htdocs/luci-static/resources/view/homeproxy/client.js:787 +msgid "Match domain using regular expression." +msgstr "" + #: htdocs/luci-static/resources/view/homeproxy/client.js:466 #: htdocs/luci-static/resources/view/homeproxy/client.js:774 -msgid "Match domain suffix." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:470 -#: htdocs/luci-static/resources/view/homeproxy/client.js:778 -msgid "Match domain using keyword." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:474 -#: htdocs/luci-static/resources/view/homeproxy/client.js:782 -msgid "Match domain using regular expression." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:461 -#: htdocs/luci-static/resources/view/homeproxy/client.js:769 msgid "Match full domain." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:850 +#: htdocs/luci-static/resources/view/homeproxy/client.js:855 msgid "Match outbound." msgstr "" +#: htdocs/luci-static/resources/view/homeproxy/client.js:520 +#: htdocs/luci-static/resources/view/homeproxy/client.js:796 +msgid "Match port range. Format as START:/:END/START:END." +msgstr "" + #: htdocs/luci-static/resources/view/homeproxy/client.js:515 #: htdocs/luci-static/resources/view/homeproxy/client.js:791 -msgid "Match port range. Format as START:/:END/START:END." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:510 -#: htdocs/luci-static/resources/view/homeproxy/client.js:786 msgid "Match port." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:494 +#: htdocs/luci-static/resources/view/homeproxy/client.js:499 msgid "Match private IP." msgstr "" +#: htdocs/luci-static/resources/view/homeproxy/client.js:488 +#: htdocs/luci-static/resources/view/homeproxy/client.js:806 +msgid "Match private source IP." +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:525 +#: htdocs/luci-static/resources/view/homeproxy/client.js:822 +msgid "Match process name." +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:529 +#: htdocs/luci-static/resources/view/homeproxy/client.js:826 +msgid "Match process path." +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:757 +msgid "Match query type." +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:537 +#: htdocs/luci-static/resources/view/homeproxy/client.js:834 +msgid "Match rule set." +msgstr "" + #: htdocs/luci-static/resources/view/homeproxy/client.js:483 #: htdocs/luci-static/resources/view/homeproxy/client.js:801 -msgid "Match private source IP." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:520 -#: htdocs/luci-static/resources/view/homeproxy/client.js:817 -msgid "Match process name." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:524 -#: htdocs/luci-static/resources/view/homeproxy/client.js:821 -msgid "Match process path." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:752 -msgid "Match query type." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:532 -#: htdocs/luci-static/resources/view/homeproxy/client.js:829 -msgid "Match rule set." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:478 -#: htdocs/luci-static/resources/view/homeproxy/client.js:796 msgid "Match source IP CIDR." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:547 +#: htdocs/luci-static/resources/view/homeproxy/client.js:552 msgid "Match source IP via rule set" msgstr "" +#: htdocs/luci-static/resources/view/homeproxy/client.js:510 +#: htdocs/luci-static/resources/view/homeproxy/client.js:817 +msgid "Match source port range. Format as START:/:END/START:END." +msgstr "" + #: htdocs/luci-static/resources/view/homeproxy/client.js:505 #: htdocs/luci-static/resources/view/homeproxy/client.js:812 -msgid "Match source port range. Format as START:/:END/START:END." -msgstr "" - -#: htdocs/luci-static/resources/view/homeproxy/client.js:500 -#: htdocs/luci-static/resources/view/homeproxy/client.js:807 msgid "Match source port." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:528 -#: htdocs/luci-static/resources/view/homeproxy/client.js:825 +#: htdocs/luci-static/resources/view/homeproxy/client.js:533 +#: htdocs/luci-static/resources/view/homeproxy/client.js:830 msgid "Match user name." msgstr "" @@ -1236,16 +1236,16 @@ msgstr "" msgid "Minimum streams" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:276 +#: htdocs/luci-static/resources/view/homeproxy/client.js:281 msgid "Mixed" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:287 +#: htdocs/luci-static/resources/view/homeproxy/client.js:292 msgid "Mixed system TCP stack and gVisor UDP stack." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:429 -#: htdocs/luci-static/resources/view/homeproxy/client.js:733 +#: htdocs/luci-static/resources/view/homeproxy/client.js:434 +#: htdocs/luci-static/resources/view/homeproxy/client.js:738 msgid "Mode" msgstr "" @@ -1280,8 +1280,8 @@ msgstr "" msgid "NaïveProxy" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:455 -#: htdocs/luci-static/resources/view/homeproxy/client.js:755 +#: htdocs/luci-static/resources/view/homeproxy/client.js:460 +#: htdocs/luci-static/resources/view/homeproxy/client.js:760 #: htdocs/luci-static/resources/view/homeproxy/server.js:730 msgid "Network" msgstr "" @@ -1314,7 +1314,7 @@ msgstr "" msgid "No valid share link found." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:353 +#: htdocs/luci-static/resources/view/homeproxy/client.js:358 #: htdocs/luci-static/resources/view/homeproxy/node.js:385 msgid "Node" msgstr "" @@ -1327,7 +1327,7 @@ msgstr "" msgid "Nodes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:653 +#: htdocs/luci-static/resources/view/homeproxy/client.js:658 #: htdocs/luci-static/resources/view/homeproxy/node.js:778 #: htdocs/luci-static/resources/view/homeproxy/node.js:817 #: htdocs/luci-static/resources/view/homeproxy/server.js:304 @@ -1345,23 +1345,23 @@ msgstr "" msgid "Obfuscate type" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:996 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1001 msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:210 +#: htdocs/luci-static/resources/view/homeproxy/client.js:215 msgid "Only proxy mainland China" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:373 -#: htdocs/luci-static/resources/view/homeproxy/client.js:558 -#: htdocs/luci-static/resources/view/homeproxy/client.js:690 -#: htdocs/luci-static/resources/view/homeproxy/client.js:849 -#: htdocs/luci-static/resources/view/homeproxy/client.js:963 +#: htdocs/luci-static/resources/view/homeproxy/client.js:378 +#: htdocs/luci-static/resources/view/homeproxy/client.js:563 +#: htdocs/luci-static/resources/view/homeproxy/client.js:695 +#: htdocs/luci-static/resources/view/homeproxy/client.js:854 +#: htdocs/luci-static/resources/view/homeproxy/client.js:968 msgid "Outbound" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:354 +#: htdocs/luci-static/resources/view/homeproxy/client.js:359 msgid "Outbound node" msgstr "" @@ -1369,7 +1369,7 @@ msgstr "" msgid "Override address" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:305 +#: htdocs/luci-static/resources/view/homeproxy/client.js:310 #: htdocs/luci-static/resources/view/homeproxy/server.js:720 msgid "Override destination" msgstr "" @@ -1378,7 +1378,7 @@ msgstr "" msgid "Override port" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:306 +#: htdocs/luci-static/resources/view/homeproxy/client.js:311 #: htdocs/luci-static/resources/view/homeproxy/server.js:721 msgid "Override the connection destination address with the sniffed domain." msgstr "" @@ -1404,7 +1404,7 @@ msgstr "" msgid "Password" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:934 +#: htdocs/luci-static/resources/view/homeproxy/client.js:939 #: htdocs/luci-static/resources/view/homeproxy/node.js:879 #: htdocs/luci-static/resources/view/homeproxy/node.js:912 #: htdocs/luci-static/resources/view/homeproxy/server.js:365 @@ -1416,7 +1416,7 @@ msgstr "" msgid "Peer pubkic key" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:295 +#: htdocs/luci-static/resources/view/homeproxy/client.js:300 msgid "" "Performance may degrade slightly, so it is not recommended to enable on when " "it is not needed." @@ -1435,18 +1435,18 @@ msgstr "" msgid "Plugin opts" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:509 -#: htdocs/luci-static/resources/view/homeproxy/client.js:785 +#: htdocs/luci-static/resources/view/homeproxy/client.js:514 +#: htdocs/luci-static/resources/view/homeproxy/client.js:790 #: htdocs/luci-static/resources/view/homeproxy/node.js:530 msgid "Port" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:236 +#: htdocs/luci-static/resources/view/homeproxy/client.js:241 msgid "Port %s alrealy exists!" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:514 -#: htdocs/luci-static/resources/view/homeproxy/client.js:790 +#: htdocs/luci-static/resources/view/homeproxy/client.js:519 +#: htdocs/luci-static/resources/view/homeproxy/client.js:795 msgid "Port range" msgstr "" @@ -1462,7 +1462,7 @@ msgstr "" msgid "Prefer IPv6" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:493 +#: htdocs/luci-static/resources/view/homeproxy/client.js:498 msgid "Private IP" msgstr "" @@ -1475,23 +1475,23 @@ msgstr "" msgid "Private key passphrase" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:482 -#: htdocs/luci-static/resources/view/homeproxy/client.js:800 +#: htdocs/luci-static/resources/view/homeproxy/client.js:487 +#: htdocs/luci-static/resources/view/homeproxy/client.js:805 msgid "Private source IP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:519 -#: htdocs/luci-static/resources/view/homeproxy/client.js:816 +#: htdocs/luci-static/resources/view/homeproxy/client.js:524 +#: htdocs/luci-static/resources/view/homeproxy/client.js:821 msgid "Process name" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:523 -#: htdocs/luci-static/resources/view/homeproxy/client.js:820 +#: htdocs/luci-static/resources/view/homeproxy/client.js:528 +#: htdocs/luci-static/resources/view/homeproxy/client.js:825 msgid "Process path" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:448 -#: htdocs/luci-static/resources/view/homeproxy/client.js:760 +#: htdocs/luci-static/resources/view/homeproxy/client.js:453 +#: htdocs/luci-static/resources/view/homeproxy/client.js:765 #: htdocs/luci-static/resources/view/homeproxy/node.js:584 #: htdocs/luci-static/resources/view/homeproxy/node.js:996 #: htdocs/luci-static/resources/view/homeproxy/server.js:168 @@ -1508,42 +1508,42 @@ msgid "" "default in v2ray and cannot be disabled)." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1070 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1075 msgid "Proxy Domain List" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1025 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1054 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1030 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1059 msgid "Proxy IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1028 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1057 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1033 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1062 msgid "Proxy IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1031 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1036 msgid "Proxy MAC-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1012 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1017 msgid "Proxy all except listed" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1009 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1014 msgid "Proxy filter mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1011 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1016 msgid "Proxy listed only" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:244 +#: htdocs/luci-static/resources/view/homeproxy/client.js:249 msgid "Proxy mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:452 -#: htdocs/luci-static/resources/view/homeproxy/client.js:764 +#: htdocs/luci-static/resources/view/homeproxy/client.js:457 +#: htdocs/luci-static/resources/view/homeproxy/client.js:769 #: htdocs/luci-static/resources/view/homeproxy/node.js:751 #: htdocs/luci-static/resources/view/homeproxy/node.js:821 #: htdocs/luci-static/resources/view/homeproxy/server.js:323 @@ -1569,7 +1569,7 @@ msgstr "" msgid "QUIC stream receive window" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:751 +#: htdocs/luci-static/resources/view/homeproxy/client.js:756 msgid "Query type" msgstr "" @@ -1600,23 +1600,23 @@ msgstr "" msgid "Random version will be used if empty." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:398 +#: htdocs/luci-static/resources/view/homeproxy/client.js:403 msgid "Recursive outbound detected!" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:672 +#: htdocs/luci-static/resources/view/homeproxy/client.js:677 msgid "Recursive resolver detected!" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:245 +#: htdocs/luci-static/resources/view/homeproxy/client.js:250 msgid "Redirect TCP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:247 +#: htdocs/luci-static/resources/view/homeproxy/client.js:252 msgid "Redirect TCP + TProxy UDP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:249 +#: htdocs/luci-static/resources/view/homeproxy/client.js:254 msgid "Redirect TCP + Tun UDP" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "" msgid "Region ID" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:924 +#: htdocs/luci-static/resources/view/homeproxy/client.js:929 msgid "Remote" msgstr "" @@ -1644,7 +1644,7 @@ msgstr "" msgid "Reserved field bytes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:685 +#: htdocs/luci-static/resources/view/homeproxy/client.js:690 msgid "Resolve strategy" msgstr "" @@ -1652,19 +1652,19 @@ msgstr "" msgid "Resources management" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:891 +#: htdocs/luci-static/resources/view/homeproxy/client.js:896 msgid "Rewrite TTL" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:892 +#: htdocs/luci-static/resources/view/homeproxy/client.js:897 msgid "Rewrite TTL in DNS responses." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:330 +#: htdocs/luci-static/resources/view/homeproxy/client.js:335 msgid "Routing Nodes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:406 +#: htdocs/luci-static/resources/view/homeproxy/client.js:411 msgid "Routing Rules" msgstr "" @@ -1672,30 +1672,30 @@ msgstr "" msgid "Routing Settings" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:207 +#: htdocs/luci-static/resources/view/homeproxy/client.js:212 msgid "Routing mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:339 +#: htdocs/luci-static/resources/view/homeproxy/client.js:344 msgid "Routing node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:220 +#: htdocs/luci-static/resources/view/homeproxy/client.js:225 msgid "Routing ports" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:415 +#: htdocs/luci-static/resources/view/homeproxy/client.js:420 msgid "Routing rule" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:531 -#: htdocs/luci-static/resources/view/homeproxy/client.js:828 -#: htdocs/luci-static/resources/view/homeproxy/client.js:899 -#: htdocs/luci-static/resources/view/homeproxy/client.js:908 +#: htdocs/luci-static/resources/view/homeproxy/client.js:536 +#: htdocs/luci-static/resources/view/homeproxy/client.js:833 +#: htdocs/luci-static/resources/view/homeproxy/client.js:904 +#: htdocs/luci-static/resources/view/homeproxy/client.js:913 msgid "Rule set" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:941 +#: htdocs/luci-static/resources/view/homeproxy/client.js:946 msgid "Rule set URL" msgstr "" @@ -1703,8 +1703,8 @@ msgstr "" msgid "SSH" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:453 -#: htdocs/luci-static/resources/view/homeproxy/client.js:766 +#: htdocs/luci-static/resources/view/homeproxy/client.js:458 +#: htdocs/luci-static/resources/view/homeproxy/client.js:771 msgid "STUN" msgstr "" @@ -1729,7 +1729,7 @@ msgstr "" msgid "Save subscriptions settings" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:867 +#: htdocs/luci-static/resources/view/homeproxy/client.js:872 #: htdocs/luci-static/resources/view/homeproxy/server.js:88 msgid "Server" msgstr "" @@ -1765,8 +1765,8 @@ msgstr "" msgid "Shadowsocks" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:449 -#: htdocs/luci-static/resources/view/homeproxy/client.js:761 +#: htdocs/luci-static/resources/view/homeproxy/client.js:454 +#: htdocs/luci-static/resources/view/homeproxy/client.js:766 msgid "" "Sniffed protocol, see Sniff for details." @@ -1793,22 +1793,22 @@ msgstr "" msgid "Socks5" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:477 -#: htdocs/luci-static/resources/view/homeproxy/client.js:795 +#: htdocs/luci-static/resources/view/homeproxy/client.js:482 +#: htdocs/luci-static/resources/view/homeproxy/client.js:800 msgid "Source IP CIDR" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:929 +#: htdocs/luci-static/resources/view/homeproxy/client.js:934 msgid "Source file" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:499 -#: htdocs/luci-static/resources/view/homeproxy/client.js:806 -msgid "Source port" -msgstr "" - #: htdocs/luci-static/resources/view/homeproxy/client.js:504 #: htdocs/luci-static/resources/view/homeproxy/client.js:811 +msgid "Source port" +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/client.js:509 +#: htdocs/luci-static/resources/view/homeproxy/client.js:816 msgid "Source port range" msgstr "" @@ -1838,7 +1838,7 @@ msgid "" "will be closed." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:221 +#: htdocs/luci-static/resources/view/homeproxy/client.js:226 msgid "" "Specify target ports to be proxied. Multiple ports must be separated by " "commas." @@ -1872,18 +1872,18 @@ msgid "" "online configuration delivery standard." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:279 +#: htdocs/luci-static/resources/view/homeproxy/client.js:284 msgid "System" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:594 -#: htdocs/luci-static/resources/view/homeproxy/client.js:655 -#: htdocs/luci-static/resources/view/homeproxy/client.js:874 +#: htdocs/luci-static/resources/view/homeproxy/client.js:599 +#: htdocs/luci-static/resources/view/homeproxy/client.js:660 +#: htdocs/luci-static/resources/view/homeproxy/client.js:879 msgid "System DNS" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:456 -#: htdocs/luci-static/resources/view/homeproxy/client.js:756 +#: htdocs/luci-static/resources/view/homeproxy/client.js:461 +#: htdocs/luci-static/resources/view/homeproxy/client.js:761 #: htdocs/luci-static/resources/view/homeproxy/server.js:731 msgid "TCP" msgstr "" @@ -1893,16 +1893,16 @@ msgstr "" msgid "TCP fast open" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:273 +#: htdocs/luci-static/resources/view/homeproxy/client.js:278 msgid "TCP/IP stack" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:274 +#: htdocs/luci-static/resources/view/homeproxy/client.js:279 msgid "TCP/IP stack." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:451 -#: htdocs/luci-static/resources/view/homeproxy/client.js:763 +#: htdocs/luci-static/resources/view/homeproxy/client.js:456 +#: htdocs/luci-static/resources/view/homeproxy/client.js:768 #: htdocs/luci-static/resources/view/homeproxy/node.js:1049 #: htdocs/luci-static/resources/view/homeproxy/server.js:453 msgid "TLS" @@ -1923,25 +1923,25 @@ 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:648 +#: htdocs/luci-static/resources/view/homeproxy/client.js:653 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:691 +#: htdocs/luci-static/resources/view/homeproxy/client.js:696 msgid "Tag of an outbound for connecting to the dns server." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:964 +#: htdocs/luci-static/resources/view/homeproxy/client.js:969 msgid "Tag of the outbound to download rule set." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:868 +#: htdocs/luci-static/resources/view/homeproxy/client.js:873 msgid "Tag of the target dns server." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:559 +#: htdocs/luci-static/resources/view/homeproxy/client.js:564 msgid "Tag of the target outbound." msgstr "" @@ -1959,7 +1959,7 @@ msgstr "" msgid "The ACME CA provider to use." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:584 +#: htdocs/luci-static/resources/view/homeproxy/client.js:589 msgid "The DNS strategy for resolving the domain name in the address." msgstr "" @@ -1973,7 +1973,7 @@ msgstr "" msgid "The QUIC stream-level flow control window for receiving data." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:644 +#: htdocs/luci-static/resources/view/homeproxy/client.js:649 msgid "The address of the dns server. Support UDP, TCP, DoT, DoH and RCode." msgstr "" @@ -1989,7 +1989,7 @@ msgid "" "forward 443 to this port for challenge to succeed." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:430 +#: htdocs/luci-static/resources/view/homeproxy/client.js:435 msgid "" "The default rule uses the following matching logic:
(domain || " "domain_suffix || domain_keyword || domain_regex || ip_cidr || " @@ -1999,7 +1999,7 @@ msgid "" "code>." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:734 +#: htdocs/luci-static/resources/view/homeproxy/client.js:739 msgid "" "The default rule uses the following matching logic:
(domain || " "domain_suffix || domain_keyword || domain_regex) &&
(port " @@ -2008,7 +2008,7 @@ msgid "" ">other fields." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:680 +#: htdocs/luci-static/resources/view/homeproxy/client.js:685 msgid "" "The domain strategy for resolving the domain name in the address. dns." "strategy will be used if empty." @@ -2052,7 +2052,7 @@ msgstr "" msgid "The modern ImmortalWrt proxy platform for ARM64/AMD64." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:367 +#: htdocs/luci-static/resources/view/homeproxy/client.js:372 msgid "The network interface to bind to." msgstr "" @@ -2072,7 +2072,7 @@ msgstr "" msgid "The server public key, in PEM format." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:374 +#: htdocs/luci-static/resources/view/homeproxy/client.js:379 msgid "" "The tag of the upstream outbound.
Other dial fields will be ignored when " "enabled." @@ -2105,7 +2105,7 @@ msgid "" "code>." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:252 +#: htdocs/luci-static/resources/view/homeproxy/client.js:257 msgid "" "To enable Tun support, you need to install ip-full and " "kmod-tun" @@ -2126,18 +2126,18 @@ msgstr "" msgid "Tuic" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:250 +#: htdocs/luci-static/resources/view/homeproxy/client.js:255 msgid "Tun TCP/UDP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:922 +#: htdocs/luci-static/resources/view/homeproxy/client.js:927 #: htdocs/luci-static/resources/view/homeproxy/node.js:505 #: htdocs/luci-static/resources/view/homeproxy/server.js:103 msgid "Type" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:457 -#: htdocs/luci-static/resources/view/homeproxy/client.js:757 +#: htdocs/luci-static/resources/view/homeproxy/client.js:462 +#: htdocs/luci-static/resources/view/homeproxy/client.js:762 #: htdocs/luci-static/resources/view/homeproxy/server.js:732 msgid "UDP" msgstr "" @@ -2188,11 +2188,11 @@ msgstr "" msgid "Update failed." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:981 +#: htdocs/luci-static/resources/view/homeproxy/client.js:986 msgid "Update interval" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:982 +#: htdocs/luci-static/resources/view/homeproxy/client.js:987 msgid "Update interval of rule set.
1d will be used if empty." msgstr "" @@ -2257,8 +2257,8 @@ msgid "" "given." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:527 -#: htdocs/luci-static/resources/view/homeproxy/client.js:824 +#: htdocs/luci-static/resources/view/homeproxy/client.js:532 +#: htdocs/luci-static/resources/view/homeproxy/client.js:829 msgid "User" msgstr "" @@ -2277,7 +2277,7 @@ msgstr "" msgid "VMess" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1052 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1057 msgid "WAN IP Policy" msgstr "" @@ -2316,14 +2316,18 @@ msgstr "" msgid "Xudp (Xray-core)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:186 -msgid "You can only have one server set." +#: htdocs/luci-static/resources/view/homeproxy/client.js:201 +msgid "You can only have 2 servers set at maximum." msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:159 msgid "You can only have one server set. It MUST support TCP query." msgstr "" +#: htdocs/luci-static/resources/view/homeproxy/client.js:186 +msgid "You can only have two servers set at maximum." +msgstr "" + #: htdocs/luci-static/resources/homeproxy.js:228 msgid "Your %s was successfully uploaded. Size: %sB." msgstr "" @@ -2362,14 +2366,14 @@ msgstr "" msgid "gRPC service name" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:277 +#: htdocs/luci-static/resources/view/homeproxy/client.js:282 msgid "gVisor" msgstr "" #: htdocs/luci-static/resources/homeproxy.js:248 #: htdocs/luci-static/resources/homeproxy.js:266 #: htdocs/luci-static/resources/view/homeproxy/client.js:176 -#: htdocs/luci-static/resources/view/homeproxy/client.js:945 +#: htdocs/luci-static/resources/view/homeproxy/client.js:950 #: htdocs/luci-static/resources/view/homeproxy/node.js:564 #: htdocs/luci-static/resources/view/homeproxy/node.js:1186 #: htdocs/luci-static/resources/view/homeproxy/server.js:159 @@ -2441,12 +2445,12 @@ msgid "v3" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:178 -#: htdocs/luci-static/resources/view/homeproxy/client.js:200 +#: htdocs/luci-static/resources/view/homeproxy/client.js:205 msgid "valid IP address" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:950 -#: htdocs/luci-static/resources/view/homeproxy/client.js:953 +#: htdocs/luci-static/resources/view/homeproxy/client.js:955 +#: htdocs/luci-static/resources/view/homeproxy/client.js:958 #: htdocs/luci-static/resources/view/homeproxy/node.js:1269 #: htdocs/luci-static/resources/view/homeproxy/node.js:1272 msgid "valid URL" @@ -2456,8 +2460,8 @@ msgstr "" msgid "valid base64 key with %d characters" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1092 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1121 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1097 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1126 msgid "valid hostname" msgstr "" @@ -2465,8 +2469,8 @@ msgstr "" msgid "valid port range (port1:port2)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:229 #: htdocs/luci-static/resources/view/homeproxy/client.js:234 +#: htdocs/luci-static/resources/view/homeproxy/client.js:239 msgid "valid port value" msgstr "" diff --git a/homeproxy/po/zh_Hans/homeproxy.po b/homeproxy/po/zh_Hans/homeproxy.po index d173c294c..e465dec04 100644 --- a/homeproxy/po/zh_Hans/homeproxy.po +++ b/homeproxy/po/zh_Hans/homeproxy.po @@ -16,12 +16,12 @@ msgstr "%s 日志" msgid "%s nodes removed" msgstr "移除了 %s 个节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:537 -#: htdocs/luci-static/resources/view/homeproxy/client.js:834 +#: htdocs/luci-static/resources/view/homeproxy/client.js:542 +#: htdocs/luci-static/resources/view/homeproxy/client.js:839 msgid "-- Please choose --" msgstr "-- 请选择 --" -#: htdocs/luci-static/resources/view/homeproxy/client.js:442 +#: htdocs/luci-static/resources/view/homeproxy/client.js:447 msgid "4 or 6. Not limited if empty." msgstr "4 或 6。留空不限制。" @@ -39,7 +39,7 @@ msgstr "API 令牌" msgid "Accept any if empty." msgstr "留空则不校验。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:987 +#: htdocs/luci-static/resources/view/homeproxy/client.js:992 msgid "Access Control" msgstr "访问控制" @@ -51,11 +51,11 @@ msgstr "访问密钥 ID" msgid "Access key secret" msgstr "访问密钥" -#: htdocs/luci-static/resources/view/homeproxy/client.js:719 +#: htdocs/luci-static/resources/view/homeproxy/client.js:724 msgid "Add a DNS rule" msgstr "新增 DNS 规则" -#: htdocs/luci-static/resources/view/homeproxy/client.js:629 +#: htdocs/luci-static/resources/view/homeproxy/client.js:634 msgid "Add a DNS server" msgstr "新增 DNS 服务器" @@ -63,15 +63,15 @@ msgstr "新增 DNS 服务器" msgid "Add a node" msgstr "新增节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:339 +#: htdocs/luci-static/resources/view/homeproxy/client.js:344 msgid "Add a routing node" msgstr "新增路由节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:415 +#: htdocs/luci-static/resources/view/homeproxy/client.js:420 msgid "Add a routing rule" msgstr "新增路由规则" -#: htdocs/luci-static/resources/view/homeproxy/client.js:908 +#: htdocs/luci-static/resources/view/homeproxy/client.js:913 msgid "Add a rule set" msgstr "新增规则集" @@ -79,16 +79,16 @@ msgstr "新增规则集" msgid "Add a server" msgstr "新增服务器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:643 +#: htdocs/luci-static/resources/view/homeproxy/client.js:648 #: htdocs/luci-static/resources/view/homeproxy/node.js:525 msgid "Address" msgstr "地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:647 +#: htdocs/luci-static/resources/view/homeproxy/client.js:652 msgid "Address resolver" msgstr "地址解析器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:679 +#: htdocs/luci-static/resources/view/homeproxy/client.js:684 msgid "Address strategy" msgstr "地址解析策略" @@ -101,7 +101,7 @@ msgstr "阿里云 DNS" msgid "Aliyun Public DNS (223.5.5.5)" msgstr "阿里云公共 DNS(223.5.5.5)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:222 +#: htdocs/luci-static/resources/view/homeproxy/client.js:227 msgid "All ports" msgstr "所有端口" @@ -148,7 +148,7 @@ msgstr "替代 HTTPS 端口" msgid "An error occurred during updating subscriptions: %s" msgstr "更新订阅时发生错误:%s" -#: htdocs/luci-static/resources/view/homeproxy/client.js:855 +#: htdocs/luci-static/resources/view/homeproxy/client.js:860 msgid "Any" msgstr "任何" @@ -212,20 +212,20 @@ msgstr "百度" msgid "Base64" msgstr "Base64" -#: htdocs/luci-static/resources/view/homeproxy/client.js:289 +#: htdocs/luci-static/resources/view/homeproxy/client.js:294 msgid "Based on google/gvisor." msgstr "基于 google/gvisor。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:930 +#: htdocs/luci-static/resources/view/homeproxy/client.js:935 msgid "Binary file" msgstr "二进制文件" -#: htdocs/luci-static/resources/view/homeproxy/client.js:366 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1000 +#: htdocs/luci-static/resources/view/homeproxy/client.js:371 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1005 msgid "Bind interface" msgstr "绑定接口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1001 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1006 msgid "" "Bind outbound traffic to specific interface. Leave empty to auto detect." msgstr "绑定出站流量至指定端口。留空自动检测。" @@ -234,34 +234,34 @@ msgstr "绑定出站流量至指定端口。留空自动检测。" msgid "Blacklist mode" msgstr "黑名单模式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:317 -#: htdocs/luci-static/resources/view/homeproxy/client.js:565 -#: htdocs/luci-static/resources/view/homeproxy/client.js:857 +#: htdocs/luci-static/resources/view/homeproxy/client.js:322 +#: htdocs/luci-static/resources/view/homeproxy/client.js:570 +#: htdocs/luci-static/resources/view/homeproxy/client.js:862 msgid "Block" msgstr "封锁" -#: htdocs/luci-static/resources/view/homeproxy/client.js:595 -#: htdocs/luci-static/resources/view/homeproxy/client.js:875 +#: htdocs/luci-static/resources/view/homeproxy/client.js:600 +#: htdocs/luci-static/resources/view/homeproxy/client.js:880 msgid "Block DNS queries" msgstr "封锁 DNS 请求" -#: htdocs/luci-static/resources/view/homeproxy/client.js:445 -#: htdocs/luci-static/resources/view/homeproxy/client.js:458 -#: htdocs/luci-static/resources/view/homeproxy/client.js:748 -#: htdocs/luci-static/resources/view/homeproxy/client.js:758 +#: htdocs/luci-static/resources/view/homeproxy/client.js:450 +#: htdocs/luci-static/resources/view/homeproxy/client.js:463 +#: htdocs/luci-static/resources/view/homeproxy/client.js:753 +#: htdocs/luci-static/resources/view/homeproxy/client.js:763 #: htdocs/luci-static/resources/view/homeproxy/server.js:733 msgid "Both" msgstr "全部" -#: htdocs/luci-static/resources/view/homeproxy/client.js:300 +#: htdocs/luci-static/resources/view/homeproxy/client.js:305 msgid "Bypass CN traffic" msgstr "绕过中国流量" -#: htdocs/luci-static/resources/view/homeproxy/client.js:209 +#: htdocs/luci-static/resources/view/homeproxy/client.js:214 msgid "Bypass mainland China" msgstr "大陆白名单" -#: htdocs/luci-static/resources/view/homeproxy/client.js:301 +#: htdocs/luci-static/resources/view/homeproxy/client.js:306 msgid "Bypass mainland China traffic via firewall rules by default." msgstr "默认使用防火墙规则绕过中国大陆流量。" @@ -345,7 +345,7 @@ msgstr "Cloudflare" msgid "Collecting data..." msgstr "收集数据中..." -#: htdocs/luci-static/resources/view/homeproxy/client.js:223 +#: htdocs/luci-static/resources/view/homeproxy/client.js:228 msgid "Common ports only (bypass P2P traffic)" msgstr "仅常用端口(绕过 P2P 流量)" @@ -358,23 +358,23 @@ msgstr "拥塞控制算法" msgid "Connection check" msgstr "连接检查" -#: htdocs/luci-static/resources/view/homeproxy/client.js:211 +#: htdocs/luci-static/resources/view/homeproxy/client.js:216 msgid "Custom routing" msgstr "自定义路由" -#: htdocs/luci-static/resources/view/homeproxy/client.js:765 +#: htdocs/luci-static/resources/view/homeproxy/client.js:770 msgid "DNS" msgstr "DNS" -#: htdocs/luci-static/resources/view/homeproxy/client.js:710 +#: htdocs/luci-static/resources/view/homeproxy/client.js:715 msgid "DNS Rules" msgstr "DNS 规则" -#: htdocs/luci-static/resources/view/homeproxy/client.js:620 +#: htdocs/luci-static/resources/view/homeproxy/client.js:625 msgid "DNS Servers" msgstr "DNS 服务器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:578 +#: htdocs/luci-static/resources/view/homeproxy/client.js:583 msgid "DNS Settings" msgstr "DNS 设置" @@ -382,12 +382,12 @@ msgstr "DNS 设置" msgid "DNS provider" msgstr "DNS 提供商" -#: htdocs/luci-static/resources/view/homeproxy/client.js:719 +#: htdocs/luci-static/resources/view/homeproxy/client.js:724 msgid "DNS rule" msgstr "DNS 规则" #: htdocs/luci-static/resources/view/homeproxy/client.js:158 -#: htdocs/luci-static/resources/view/homeproxy/client.js:629 +#: htdocs/luci-static/resources/view/homeproxy/client.js:634 msgid "DNS server" msgstr "DNS 服务器" @@ -396,31 +396,31 @@ msgid "DNS01 challenge" msgstr "DNS01 验证" #: htdocs/luci-static/resources/homeproxy.js:17 -#: htdocs/luci-static/resources/view/homeproxy/client.js:436 -#: htdocs/luci-static/resources/view/homeproxy/client.js:740 +#: htdocs/luci-static/resources/view/homeproxy/client.js:441 +#: htdocs/luci-static/resources/view/homeproxy/client.js:745 #: htdocs/luci-static/resources/view/homeproxy/node.js:749 msgid "Default" msgstr "默认" -#: htdocs/luci-static/resources/view/homeproxy/client.js:593 -#: htdocs/luci-static/resources/view/homeproxy/client.js:654 -#: htdocs/luci-static/resources/view/homeproxy/client.js:873 +#: htdocs/luci-static/resources/view/homeproxy/client.js:598 +#: htdocs/luci-static/resources/view/homeproxy/client.js:659 +#: htdocs/luci-static/resources/view/homeproxy/client.js:878 msgid "Default DNS (issued by WAN)" msgstr "默认 DNS(由 WAN 下发)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:588 +#: htdocs/luci-static/resources/view/homeproxy/client.js:593 msgid "Default DNS server" msgstr "默认 DNS 服务器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:583 +#: htdocs/luci-static/resources/view/homeproxy/client.js:588 msgid "Default DNS strategy" msgstr "默认 DNS 解析策略" -#: htdocs/luci-static/resources/view/homeproxy/client.js:686 +#: htdocs/luci-static/resources/view/homeproxy/client.js:691 msgid "Default domain strategy for resolving the domain names." msgstr "默认域名解析策略。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:310 +#: htdocs/luci-static/resources/view/homeproxy/client.js:315 msgid "Default outbound" msgstr "默认出站" @@ -432,39 +432,39 @@ msgstr "默认包封装格式" msgid "Default server name" msgstr "默认服务器名称" -#: htdocs/luci-static/resources/view/homeproxy/client.js:316 -#: htdocs/luci-static/resources/view/homeproxy/client.js:379 -#: htdocs/luci-static/resources/view/homeproxy/client.js:564 -#: htdocs/luci-static/resources/view/homeproxy/client.js:696 -#: htdocs/luci-static/resources/view/homeproxy/client.js:856 -#: htdocs/luci-static/resources/view/homeproxy/client.js:969 +#: htdocs/luci-static/resources/view/homeproxy/client.js:321 +#: htdocs/luci-static/resources/view/homeproxy/client.js:384 +#: htdocs/luci-static/resources/view/homeproxy/client.js:569 +#: htdocs/luci-static/resources/view/homeproxy/client.js:701 +#: htdocs/luci-static/resources/view/homeproxy/client.js:861 +#: htdocs/luci-static/resources/view/homeproxy/client.js:974 #: htdocs/luci-static/resources/view/homeproxy/node.js:506 msgid "Direct" msgstr "直连" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1099 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1104 msgid "Direct Domain List" msgstr "直连域名列表" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1016 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1061 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1021 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1066 msgid "Direct IPv4 IP-s" msgstr "直连 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1019 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1064 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1024 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1069 msgid "Direct IPv6 IP-s" msgstr "直连 IPv6 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1022 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1027 msgid "Direct MAC-s" msgstr "直连 MAC 地址" #: htdocs/luci-static/resources/view/homeproxy/client.js:142 #: htdocs/luci-static/resources/view/homeproxy/client.js:150 #: htdocs/luci-static/resources/view/homeproxy/client.js:187 -#: htdocs/luci-static/resources/view/homeproxy/client.js:315 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1010 +#: htdocs/luci-static/resources/view/homeproxy/client.js:320 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1015 #: htdocs/luci-static/resources/view/homeproxy/node.js:596 #: htdocs/luci-static/resources/view/homeproxy/node.js:608 #: htdocs/luci-static/resources/view/homeproxy/node.js:1165 @@ -474,7 +474,7 @@ msgstr "直连 MAC 地址" msgid "Disable" msgstr "禁用" -#: htdocs/luci-static/resources/view/homeproxy/client.js:606 +#: htdocs/luci-static/resources/view/homeproxy/client.js:611 msgid "Disable DNS cache" msgstr "禁用 DNS 缓存" @@ -491,15 +491,15 @@ msgstr "禁用路径 MTU 探测" msgid "Disable TLS ALPN challenge" msgstr "禁用 TLS ALPN 认证" -#: htdocs/luci-static/resources/view/homeproxy/client.js:887 +#: htdocs/luci-static/resources/view/homeproxy/client.js:892 msgid "Disable cache and save cache in this query." msgstr "在本次查询中禁用缓存。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:609 +#: htdocs/luci-static/resources/view/homeproxy/client.js:614 msgid "Disable cache expire" msgstr "缓存永不过期" -#: htdocs/luci-static/resources/view/homeproxy/client.js:886 +#: htdocs/luci-static/resources/view/homeproxy/client.js:891 msgid "Disable dns cache" msgstr "禁用 DNS 缓存" @@ -516,28 +516,28 @@ msgstr "" "禁用路径 MTU 发现 (RFC 8899)。 数据包的大小最多为 1252 (IPv4) / 1232 (IPv6) " "字节。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:469 -#: htdocs/luci-static/resources/view/homeproxy/client.js:777 +#: htdocs/luci-static/resources/view/homeproxy/client.js:474 +#: htdocs/luci-static/resources/view/homeproxy/client.js:782 msgid "Domain keyword" msgstr "域名关键词" -#: htdocs/luci-static/resources/view/homeproxy/client.js:460 -#: htdocs/luci-static/resources/view/homeproxy/client.js:768 +#: htdocs/luci-static/resources/view/homeproxy/client.js:465 +#: htdocs/luci-static/resources/view/homeproxy/client.js:773 msgid "Domain name" msgstr "域名" -#: htdocs/luci-static/resources/view/homeproxy/client.js:473 -#: htdocs/luci-static/resources/view/homeproxy/client.js:781 +#: htdocs/luci-static/resources/view/homeproxy/client.js:478 +#: htdocs/luci-static/resources/view/homeproxy/client.js:786 msgid "Domain regex" msgstr "域名正则表达式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:360 +#: htdocs/luci-static/resources/view/homeproxy/client.js:365 #: htdocs/luci-static/resources/view/homeproxy/server.js:724 msgid "Domain strategy" msgstr "域名解析策略" -#: htdocs/luci-static/resources/view/homeproxy/client.js:465 -#: htdocs/luci-static/resources/view/homeproxy/client.js:773 +#: htdocs/luci-static/resources/view/homeproxy/client.js:470 +#: htdocs/luci-static/resources/view/homeproxy/client.js:778 msgid "Domain suffix" msgstr "域名后缀" @@ -614,11 +614,11 @@ msgstr "修改节点" msgid "Email" msgstr "Email" -#: htdocs/luci-static/resources/view/homeproxy/client.js:348 -#: htdocs/luci-static/resources/view/homeproxy/client.js:424 -#: htdocs/luci-static/resources/view/homeproxy/client.js:638 -#: htdocs/luci-static/resources/view/homeproxy/client.js:728 -#: htdocs/luci-static/resources/view/homeproxy/client.js:917 +#: htdocs/luci-static/resources/view/homeproxy/client.js:353 +#: htdocs/luci-static/resources/view/homeproxy/client.js:429 +#: htdocs/luci-static/resources/view/homeproxy/client.js:643 +#: htdocs/luci-static/resources/view/homeproxy/client.js:733 +#: htdocs/luci-static/resources/view/homeproxy/client.js:922 #: htdocs/luci-static/resources/view/homeproxy/server.js:75 #: htdocs/luci-static/resources/view/homeproxy/server.js:98 msgid "Enable" @@ -649,7 +649,7 @@ msgstr "启用 ECH" #: htdocs/luci-static/resources/view/homeproxy/node.js:1152 msgid "Enable PQ signature schemes" -msgstr "启用 PQ 签名方案。" +msgstr "启用 PQ 签名方案" #: htdocs/luci-static/resources/view/homeproxy/node.js:1029 #: htdocs/luci-static/resources/view/homeproxy/server.js:432 @@ -666,7 +666,7 @@ msgstr "启用 TCP Brutal 拥塞控制算法。" msgid "Enable UDP fragmentation." msgstr "启用 UDP 分片。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:294 +#: htdocs/luci-static/resources/view/homeproxy/client.js:299 msgid "Enable endpoint-independent NAT" msgstr "启用端点独立 NAT" @@ -699,14 +699,14 @@ msgstr "加密方式" #: htdocs/luci-static/resources/view/homeproxy/client.js:75 #: htdocs/luci-static/resources/view/homeproxy/client.js:176 #: htdocs/luci-static/resources/view/homeproxy/client.js:178 -#: htdocs/luci-static/resources/view/homeproxy/client.js:200 -#: htdocs/luci-static/resources/view/homeproxy/client.js:229 +#: htdocs/luci-static/resources/view/homeproxy/client.js:205 #: htdocs/luci-static/resources/view/homeproxy/client.js:234 -#: htdocs/luci-static/resources/view/homeproxy/client.js:945 +#: htdocs/luci-static/resources/view/homeproxy/client.js:239 #: htdocs/luci-static/resources/view/homeproxy/client.js:950 -#: htdocs/luci-static/resources/view/homeproxy/client.js:953 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1092 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1121 +#: htdocs/luci-static/resources/view/homeproxy/client.js:955 +#: htdocs/luci-static/resources/view/homeproxy/client.js:958 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1097 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1126 #: htdocs/luci-static/resources/view/homeproxy/node.js:461 #: htdocs/luci-static/resources/view/homeproxy/node.js:564 #: htdocs/luci-static/resources/view/homeproxy/node.js:1186 @@ -747,7 +747,7 @@ msgstr "过滤节点" msgid "Flow" msgstr "流控" -#: htdocs/luci-static/resources/view/homeproxy/client.js:928 +#: htdocs/luci-static/resources/view/homeproxy/client.js:933 msgid "Format" msgstr "格式" @@ -759,28 +759,28 @@ msgstr "GET" msgid "GFW list version" msgstr "GFW 域名列表版本" -#: htdocs/luci-static/resources/view/homeproxy/client.js:208 +#: htdocs/luci-static/resources/view/homeproxy/client.js:213 msgid "GFWList" msgstr "GFWList" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1034 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1039 msgid "Gaming mode IPv4 IP-s" msgstr "游戏模式 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1036 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1041 msgid "Gaming mode IPv6 IP-s" msgstr "游戏模式 IPv6 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1039 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1044 msgid "Gaming mode MAC-s" msgstr "游戏模式 MAC 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:267 +#: htdocs/luci-static/resources/view/homeproxy/client.js:272 #: htdocs/luci-static/resources/view/homeproxy/node.js:939 msgid "Generic segmentation offload" msgstr "通用分段卸载(GSO)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:212 +#: htdocs/luci-static/resources/view/homeproxy/client.js:217 msgid "Global" msgstr "全局" @@ -788,15 +788,15 @@ msgstr "全局" msgid "Global padding" msgstr "全局填充" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1041 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1046 msgid "Global proxy IPv4 IP-s" msgstr "全局代理 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1044 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1049 msgid "Global proxy IPv6 IP-s" msgstr "全局代理 IPv6 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1047 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1052 msgid "Global proxy MAC-s" msgstr "全局代理 MAC 地址" @@ -816,8 +816,8 @@ msgstr "谷歌公共 DNS(8.8.8.8)" msgid "Grant access to homeproxy configuration" msgstr "授予 homeproxy 访问 UCI 配置的权限" -#: htdocs/luci-static/resources/view/homeproxy/client.js:450 -#: htdocs/luci-static/resources/view/homeproxy/client.js:762 +#: htdocs/luci-static/resources/view/homeproxy/client.js:455 +#: htdocs/luci-static/resources/view/homeproxy/client.js:767 #: htdocs/luci-static/resources/view/homeproxy/node.js:507 #: htdocs/luci-static/resources/view/homeproxy/node.js:819 #: htdocs/luci-static/resources/view/homeproxy/server.js:104 @@ -896,17 +896,17 @@ msgstr "Hysteria" msgid "Hysteria2" msgstr "Hysteria2" -#: htdocs/luci-static/resources/view/homeproxy/client.js:488 +#: htdocs/luci-static/resources/view/homeproxy/client.js:493 msgid "IP CIDR" msgstr "IP CIDR" -#: htdocs/luci-static/resources/view/homeproxy/client.js:441 -#: htdocs/luci-static/resources/view/homeproxy/client.js:745 +#: htdocs/luci-static/resources/view/homeproxy/client.js:446 +#: htdocs/luci-static/resources/view/homeproxy/client.js:750 msgid "IP version" msgstr "IP 版本" -#: htdocs/luci-static/resources/view/homeproxy/client.js:443 -#: htdocs/luci-static/resources/view/homeproxy/client.js:746 +#: htdocs/luci-static/resources/view/homeproxy/client.js:448 +#: htdocs/luci-static/resources/view/homeproxy/client.js:751 msgid "IPv4" msgstr "IPv4" @@ -914,8 +914,8 @@ msgstr "IPv4" msgid "IPv4 only" msgstr "仅 IPv4" -#: htdocs/luci-static/resources/view/homeproxy/client.js:444 -#: htdocs/luci-static/resources/view/homeproxy/client.js:747 +#: htdocs/luci-static/resources/view/homeproxy/client.js:449 +#: htdocs/luci-static/resources/view/homeproxy/client.js:752 msgid "IPv6" msgstr "IPv6" @@ -923,7 +923,7 @@ msgstr "IPv6" msgid "IPv6 only" msgstr "仅 IPv6" -#: htdocs/luci-static/resources/view/homeproxy/client.js:257 +#: htdocs/luci-static/resources/view/homeproxy/client.js:262 msgid "IPv6 support" msgstr "IPv6 支持" @@ -943,7 +943,7 @@ msgid "" "If set, the requested domain name will be resolved to IP before routing." msgstr "如果设置,请求的域名将在路由前被解析为 IP 地址。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:361 +#: htdocs/luci-static/resources/view/homeproxy/client.js:366 msgid "" "If set, the server domain name will be resolved to IP before connecting.
dns.strategy will be used if empty." @@ -979,11 +979,11 @@ msgstr "导入" msgid "Import share links" msgstr "导入分享链接" -#: htdocs/luci-static/resources/view/homeproxy/client.js:613 +#: htdocs/luci-static/resources/view/homeproxy/client.js:618 msgid "Independent cache per server" msgstr "独立缓存" -#: htdocs/luci-static/resources/view/homeproxy/client.js:993 +#: htdocs/luci-static/resources/view/homeproxy/client.js:998 msgid "Interface Control" msgstr "接口控制" @@ -994,13 +994,13 @@ msgid "" "seconds)." msgstr "发送心跳包以保持连接存活的时间间隔(单位:秒)。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:553 -#: htdocs/luci-static/resources/view/homeproxy/client.js:844 +#: htdocs/luci-static/resources/view/homeproxy/client.js:558 +#: htdocs/luci-static/resources/view/homeproxy/client.js:849 msgid "Invert" msgstr "反转" -#: htdocs/luci-static/resources/view/homeproxy/client.js:554 -#: htdocs/luci-static/resources/view/homeproxy/client.js:845 +#: htdocs/luci-static/resources/view/homeproxy/client.js:559 +#: htdocs/luci-static/resources/view/homeproxy/client.js:850 msgid "Invert match result." msgstr "反转匹配结果" @@ -1008,15 +1008,15 @@ msgstr "反转匹配结果" msgid "Key path" msgstr "证书路径" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1007 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1012 msgid "LAN IP Policy" msgstr "LAN IP 策略" -#: htdocs/luci-static/resources/view/homeproxy/client.js:343 -#: htdocs/luci-static/resources/view/homeproxy/client.js:419 -#: htdocs/luci-static/resources/view/homeproxy/client.js:633 -#: htdocs/luci-static/resources/view/homeproxy/client.js:723 -#: htdocs/luci-static/resources/view/homeproxy/client.js:912 +#: htdocs/luci-static/resources/view/homeproxy/client.js:348 +#: htdocs/luci-static/resources/view/homeproxy/client.js:424 +#: htdocs/luci-static/resources/view/homeproxy/client.js:638 +#: htdocs/luci-static/resources/view/homeproxy/client.js:728 +#: htdocs/luci-static/resources/view/homeproxy/client.js:917 #: htdocs/luci-static/resources/view/homeproxy/node.js:500 #: htdocs/luci-static/resources/view/homeproxy/server.js:92 msgid "Label" @@ -1031,7 +1031,7 @@ msgstr "" "提供旧协议支持(VMess MD5 身份验证)仅出于兼容性目的,不建议使用 alterId > " "1。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:291 +#: htdocs/luci-static/resources/view/homeproxy/client.js:296 msgid "Less compatibility and sometimes better performance." msgstr "有时性能更好。" @@ -1053,7 +1053,7 @@ msgstr "支持的应用层协议协商列表,按顺序排列。" msgid "Listen address" msgstr "监听地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:995 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1000 msgid "Listen interfaces" msgstr "监听接口" @@ -1065,7 +1065,7 @@ msgstr "监听端口" msgid "Loading" msgstr "加载中" -#: htdocs/luci-static/resources/view/homeproxy/client.js:923 +#: htdocs/luci-static/resources/view/homeproxy/client.js:928 msgid "Local" msgstr "本地" @@ -1093,11 +1093,11 @@ msgstr "主 UDP 节点" msgid "Main node" msgstr "主节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:548 +#: htdocs/luci-static/resources/view/homeproxy/client.js:553 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:614 +#: htdocs/luci-static/resources/view/homeproxy/client.js:619 msgid "" "Make each DNS server's cache independent for special purposes. If enabled, " "will slightly degrade performance." @@ -1107,93 +1107,93 @@ msgstr "独立缓存每个 DNS 服务器的结果以供特殊用途。启用后 msgid "Masquerade" msgstr "伪装" -#: htdocs/luci-static/resources/view/homeproxy/client.js:489 +#: htdocs/luci-static/resources/view/homeproxy/client.js:494 msgid "Match IP CIDR." msgstr "匹配 IP CIDR。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:466 -#: htdocs/luci-static/resources/view/homeproxy/client.js:774 +#: htdocs/luci-static/resources/view/homeproxy/client.js:471 +#: htdocs/luci-static/resources/view/homeproxy/client.js:779 msgid "Match domain suffix." msgstr "匹配域名后缀。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:470 -#: htdocs/luci-static/resources/view/homeproxy/client.js:778 +#: htdocs/luci-static/resources/view/homeproxy/client.js:475 +#: htdocs/luci-static/resources/view/homeproxy/client.js:783 msgid "Match domain using keyword." msgstr "使用关键词匹配域名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:474 -#: htdocs/luci-static/resources/view/homeproxy/client.js:782 +#: htdocs/luci-static/resources/view/homeproxy/client.js:479 +#: htdocs/luci-static/resources/view/homeproxy/client.js:787 msgid "Match domain using regular expression." msgstr "使用正则表达式匹配域名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:461 -#: htdocs/luci-static/resources/view/homeproxy/client.js:769 +#: htdocs/luci-static/resources/view/homeproxy/client.js:466 +#: htdocs/luci-static/resources/view/homeproxy/client.js:774 msgid "Match full domain." msgstr "匹配完整域名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:850 +#: htdocs/luci-static/resources/view/homeproxy/client.js:855 msgid "Match outbound." msgstr "匹配出站。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:515 -#: htdocs/luci-static/resources/view/homeproxy/client.js:791 +#: htdocs/luci-static/resources/view/homeproxy/client.js:520 +#: htdocs/luci-static/resources/view/homeproxy/client.js:796 msgid "Match port range. Format as START:/:END/START:END." msgstr "匹配端口范围。格式为 START:/:END/START:END。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:510 -#: htdocs/luci-static/resources/view/homeproxy/client.js:786 +#: htdocs/luci-static/resources/view/homeproxy/client.js:515 +#: htdocs/luci-static/resources/view/homeproxy/client.js:791 msgid "Match port." msgstr "匹配端口。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:494 +#: htdocs/luci-static/resources/view/homeproxy/client.js:499 msgid "Match private IP." msgstr "匹配私有 IP。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:483 -#: htdocs/luci-static/resources/view/homeproxy/client.js:801 +#: htdocs/luci-static/resources/view/homeproxy/client.js:488 +#: htdocs/luci-static/resources/view/homeproxy/client.js:806 msgid "Match private source IP." msgstr "匹配私有源 IP。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:520 -#: htdocs/luci-static/resources/view/homeproxy/client.js:817 +#: htdocs/luci-static/resources/view/homeproxy/client.js:525 +#: htdocs/luci-static/resources/view/homeproxy/client.js:822 msgid "Match process name." msgstr "匹配进程名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:524 -#: htdocs/luci-static/resources/view/homeproxy/client.js:821 +#: htdocs/luci-static/resources/view/homeproxy/client.js:529 +#: htdocs/luci-static/resources/view/homeproxy/client.js:826 msgid "Match process path." msgstr "匹配进程路径。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:752 +#: htdocs/luci-static/resources/view/homeproxy/client.js:757 msgid "Match query type." msgstr "匹配请求类型。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:532 -#: htdocs/luci-static/resources/view/homeproxy/client.js:829 +#: htdocs/luci-static/resources/view/homeproxy/client.js:537 +#: htdocs/luci-static/resources/view/homeproxy/client.js:834 msgid "Match rule set." msgstr "匹配规则集。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:478 -#: htdocs/luci-static/resources/view/homeproxy/client.js:796 +#: htdocs/luci-static/resources/view/homeproxy/client.js:483 +#: htdocs/luci-static/resources/view/homeproxy/client.js:801 msgid "Match source IP CIDR." msgstr "匹配源 IP CIDR。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:547 +#: htdocs/luci-static/resources/view/homeproxy/client.js:552 msgid "Match source IP via rule set" msgstr "通过规则集匹配源 IP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:505 -#: htdocs/luci-static/resources/view/homeproxy/client.js:812 +#: htdocs/luci-static/resources/view/homeproxy/client.js:510 +#: htdocs/luci-static/resources/view/homeproxy/client.js:817 msgid "Match source port range. Format as START:/:END/START:END." msgstr "匹配源端口范围。格式为 START:/:END/START:END。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:500 -#: htdocs/luci-static/resources/view/homeproxy/client.js:807 +#: htdocs/luci-static/resources/view/homeproxy/client.js:505 +#: htdocs/luci-static/resources/view/homeproxy/client.js:812 msgid "Match source port." msgstr "匹配源端口。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:528 -#: htdocs/luci-static/resources/view/homeproxy/client.js:825 +#: htdocs/luci-static/resources/view/homeproxy/client.js:533 +#: htdocs/luci-static/resources/view/homeproxy/client.js:830 msgid "Match user name." msgstr "匹配用户名。" @@ -1262,16 +1262,16 @@ msgstr "在打开新连接之前,连接中的最小多路复用流数量。" msgid "Minimum streams" msgstr "最小流数量" -#: htdocs/luci-static/resources/view/homeproxy/client.js:276 +#: htdocs/luci-static/resources/view/homeproxy/client.js:281 msgid "Mixed" msgstr "混合" -#: htdocs/luci-static/resources/view/homeproxy/client.js:287 +#: htdocs/luci-static/resources/view/homeproxy/client.js:292 msgid "Mixed system TCP stack and gVisor UDP stack." msgstr "混合系统 TCP 栈和 gVisor UDP 栈。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:429 -#: htdocs/luci-static/resources/view/homeproxy/client.js:733 +#: htdocs/luci-static/resources/view/homeproxy/client.js:434 +#: htdocs/luci-static/resources/view/homeproxy/client.js:738 msgid "Mode" msgstr "模式" @@ -1306,8 +1306,8 @@ msgstr "原生" msgid "NaïveProxy" msgstr "NaïveProxy" -#: htdocs/luci-static/resources/view/homeproxy/client.js:455 -#: htdocs/luci-static/resources/view/homeproxy/client.js:755 +#: htdocs/luci-static/resources/view/homeproxy/client.js:460 +#: htdocs/luci-static/resources/view/homeproxy/client.js:760 #: htdocs/luci-static/resources/view/homeproxy/server.js:730 msgid "Network" msgstr "网络" @@ -1340,7 +1340,7 @@ msgstr "无订阅节点" msgid "No valid share link found." msgstr "找不到有效分享链接。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:353 +#: htdocs/luci-static/resources/view/homeproxy/client.js:358 #: htdocs/luci-static/resources/view/homeproxy/node.js:385 msgid "Node" msgstr "节点" @@ -1353,7 +1353,7 @@ msgstr "节点设置" msgid "Nodes" msgstr "节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:653 +#: htdocs/luci-static/resources/view/homeproxy/client.js:658 #: htdocs/luci-static/resources/view/homeproxy/node.js:778 #: htdocs/luci-static/resources/view/homeproxy/node.js:817 #: htdocs/luci-static/resources/view/homeproxy/server.js:304 @@ -1371,23 +1371,23 @@ msgstr "混淆密码" msgid "Obfuscate type" msgstr "混淆类型" -#: htdocs/luci-static/resources/view/homeproxy/client.js:996 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1001 msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "只处理来自指定接口的流量。留空表示全部。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:210 +#: htdocs/luci-static/resources/view/homeproxy/client.js:215 msgid "Only proxy mainland China" msgstr "仅代理中国大陆" -#: htdocs/luci-static/resources/view/homeproxy/client.js:373 -#: htdocs/luci-static/resources/view/homeproxy/client.js:558 -#: htdocs/luci-static/resources/view/homeproxy/client.js:690 -#: htdocs/luci-static/resources/view/homeproxy/client.js:849 -#: htdocs/luci-static/resources/view/homeproxy/client.js:963 +#: htdocs/luci-static/resources/view/homeproxy/client.js:378 +#: htdocs/luci-static/resources/view/homeproxy/client.js:563 +#: htdocs/luci-static/resources/view/homeproxy/client.js:695 +#: htdocs/luci-static/resources/view/homeproxy/client.js:854 +#: htdocs/luci-static/resources/view/homeproxy/client.js:968 msgid "Outbound" msgstr "出站" -#: htdocs/luci-static/resources/view/homeproxy/client.js:354 +#: htdocs/luci-static/resources/view/homeproxy/client.js:359 msgid "Outbound node" msgstr "出站节点" @@ -1395,7 +1395,7 @@ msgstr "出站节点" msgid "Override address" msgstr "覆盖地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:305 +#: htdocs/luci-static/resources/view/homeproxy/client.js:310 #: htdocs/luci-static/resources/view/homeproxy/server.js:720 msgid "Override destination" msgstr "覆盖目标地址" @@ -1404,7 +1404,7 @@ msgstr "覆盖目标地址" msgid "Override port" msgstr "覆盖端口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:306 +#: htdocs/luci-static/resources/view/homeproxy/client.js:311 #: htdocs/luci-static/resources/view/homeproxy/server.js:721 msgid "Override the connection destination address with the sniffed domain." msgstr "使用嗅探到的域名覆盖连接目标。" @@ -1430,7 +1430,7 @@ msgstr "数据包编码" msgid "Password" msgstr "密码" -#: htdocs/luci-static/resources/view/homeproxy/client.js:934 +#: htdocs/luci-static/resources/view/homeproxy/client.js:939 #: htdocs/luci-static/resources/view/homeproxy/node.js:879 #: htdocs/luci-static/resources/view/homeproxy/node.js:912 #: htdocs/luci-static/resources/view/homeproxy/server.js:365 @@ -1442,7 +1442,7 @@ msgstr "路径" msgid "Peer pubkic key" msgstr "对端公钥" -#: htdocs/luci-static/resources/view/homeproxy/client.js:295 +#: htdocs/luci-static/resources/view/homeproxy/client.js:300 msgid "" "Performance may degrade slightly, so it is not recommended to enable on when " "it is not needed." @@ -1461,18 +1461,18 @@ msgstr "插件" msgid "Plugin opts" msgstr "插件参数" -#: htdocs/luci-static/resources/view/homeproxy/client.js:509 -#: htdocs/luci-static/resources/view/homeproxy/client.js:785 +#: htdocs/luci-static/resources/view/homeproxy/client.js:514 +#: htdocs/luci-static/resources/view/homeproxy/client.js:790 #: htdocs/luci-static/resources/view/homeproxy/node.js:530 msgid "Port" msgstr "端口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:236 +#: htdocs/luci-static/resources/view/homeproxy/client.js:241 msgid "Port %s alrealy exists!" msgstr "端口 %s 已存在!" -#: htdocs/luci-static/resources/view/homeproxy/client.js:514 -#: htdocs/luci-static/resources/view/homeproxy/client.js:790 +#: htdocs/luci-static/resources/view/homeproxy/client.js:519 +#: htdocs/luci-static/resources/view/homeproxy/client.js:795 msgid "Port range" msgstr "端口范围" @@ -1488,7 +1488,7 @@ msgstr "优先 IPv4" msgid "Prefer IPv6" msgstr "优先 IPv6" -#: htdocs/luci-static/resources/view/homeproxy/client.js:493 +#: htdocs/luci-static/resources/view/homeproxy/client.js:498 msgid "Private IP" msgstr "私有 IP" @@ -1501,23 +1501,23 @@ msgstr "私钥" msgid "Private key passphrase" msgstr "私钥指纹" -#: htdocs/luci-static/resources/view/homeproxy/client.js:482 -#: htdocs/luci-static/resources/view/homeproxy/client.js:800 +#: htdocs/luci-static/resources/view/homeproxy/client.js:487 +#: htdocs/luci-static/resources/view/homeproxy/client.js:805 msgid "Private source IP" msgstr "私有源 IP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:519 -#: htdocs/luci-static/resources/view/homeproxy/client.js:816 +#: htdocs/luci-static/resources/view/homeproxy/client.js:524 +#: htdocs/luci-static/resources/view/homeproxy/client.js:821 msgid "Process name" msgstr "进程名" -#: htdocs/luci-static/resources/view/homeproxy/client.js:523 -#: htdocs/luci-static/resources/view/homeproxy/client.js:820 +#: htdocs/luci-static/resources/view/homeproxy/client.js:528 +#: htdocs/luci-static/resources/view/homeproxy/client.js:825 msgid "Process path" msgstr "进程路径" -#: htdocs/luci-static/resources/view/homeproxy/client.js:448 -#: htdocs/luci-static/resources/view/homeproxy/client.js:760 +#: htdocs/luci-static/resources/view/homeproxy/client.js:453 +#: htdocs/luci-static/resources/view/homeproxy/client.js:765 #: htdocs/luci-static/resources/view/homeproxy/node.js:584 #: htdocs/luci-static/resources/view/homeproxy/node.js:996 #: htdocs/luci-static/resources/view/homeproxy/server.js:168 @@ -1534,42 +1534,42 @@ msgid "" "default in v2ray and cannot be disabled)." msgstr "协议参数。 如启用会随机浪费流量(在 v2ray 中默认启用并且无法禁用)。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1070 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1075 msgid "Proxy Domain List" msgstr "代理域名列表" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1025 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1054 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1030 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1059 msgid "Proxy IPv4 IP-s" msgstr "代理 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1028 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1057 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1033 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1062 msgid "Proxy IPv6 IP-s" msgstr "代理 IPv6 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1031 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1036 msgid "Proxy MAC-s" msgstr "代理 MAC 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1012 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1017 msgid "Proxy all except listed" msgstr "仅允许列表外" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1009 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1014 msgid "Proxy filter mode" msgstr "代理过滤模式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1011 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1016 msgid "Proxy listed only" msgstr "仅允许列表内" -#: htdocs/luci-static/resources/view/homeproxy/client.js:244 +#: htdocs/luci-static/resources/view/homeproxy/client.js:249 msgid "Proxy mode" msgstr "代理模式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:452 -#: htdocs/luci-static/resources/view/homeproxy/client.js:764 +#: htdocs/luci-static/resources/view/homeproxy/client.js:457 +#: htdocs/luci-static/resources/view/homeproxy/client.js:769 #: htdocs/luci-static/resources/view/homeproxy/node.js:751 #: htdocs/luci-static/resources/view/homeproxy/node.js:821 #: htdocs/luci-static/resources/view/homeproxy/server.js:323 @@ -1595,7 +1595,7 @@ msgstr "QUIC 最大双向并发流" msgid "QUIC stream receive window" msgstr "QUIC 流接收窗口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:751 +#: htdocs/luci-static/resources/view/homeproxy/client.js:756 msgid "Query type" msgstr "请求类型" @@ -1626,23 +1626,23 @@ msgstr "运行中" msgid "Random version will be used if empty." msgstr "如留空,则使用随机版本。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:398 +#: htdocs/luci-static/resources/view/homeproxy/client.js:403 msgid "Recursive outbound detected!" msgstr "检测到递归出站!" -#: htdocs/luci-static/resources/view/homeproxy/client.js:672 +#: htdocs/luci-static/resources/view/homeproxy/client.js:677 msgid "Recursive resolver detected!" msgstr "检测到递归解析器!" -#: htdocs/luci-static/resources/view/homeproxy/client.js:245 +#: htdocs/luci-static/resources/view/homeproxy/client.js:250 msgid "Redirect TCP" msgstr "Redirect TCP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:247 +#: htdocs/luci-static/resources/view/homeproxy/client.js:252 msgid "Redirect TCP + TProxy UDP" msgstr "Redirect TCP + TProxy UDP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:249 +#: htdocs/luci-static/resources/view/homeproxy/client.js:254 msgid "Redirect TCP + Tun UDP" msgstr "Redirect TCP + Tun UDP" @@ -1654,7 +1654,7 @@ msgstr "每 %s 秒刷新。" msgid "Region ID" msgstr "区域 ID" -#: htdocs/luci-static/resources/view/homeproxy/client.js:924 +#: htdocs/luci-static/resources/view/homeproxy/client.js:929 msgid "Remote" msgstr "远程" @@ -1670,7 +1670,7 @@ msgstr "移除所有订阅节点" msgid "Reserved field bytes" msgstr "保留字段字节" -#: htdocs/luci-static/resources/view/homeproxy/client.js:685 +#: htdocs/luci-static/resources/view/homeproxy/client.js:690 msgid "Resolve strategy" msgstr "解析策略" @@ -1678,19 +1678,19 @@ msgstr "解析策略" msgid "Resources management" msgstr "资源管理" -#: htdocs/luci-static/resources/view/homeproxy/client.js:891 +#: htdocs/luci-static/resources/view/homeproxy/client.js:896 msgid "Rewrite TTL" msgstr "重写 TTL" -#: htdocs/luci-static/resources/view/homeproxy/client.js:892 +#: htdocs/luci-static/resources/view/homeproxy/client.js:897 msgid "Rewrite TTL in DNS responses." msgstr "在 DNS 响应中重写 TTL。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:330 +#: htdocs/luci-static/resources/view/homeproxy/client.js:335 msgid "Routing Nodes" msgstr "路由节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:406 +#: htdocs/luci-static/resources/view/homeproxy/client.js:411 msgid "Routing Rules" msgstr "路由规则" @@ -1698,30 +1698,30 @@ msgstr "路由规则" msgid "Routing Settings" msgstr "路由设置" -#: htdocs/luci-static/resources/view/homeproxy/client.js:207 +#: htdocs/luci-static/resources/view/homeproxy/client.js:212 msgid "Routing mode" msgstr "路由模式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:339 +#: htdocs/luci-static/resources/view/homeproxy/client.js:344 msgid "Routing node" msgstr "路由节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:220 +#: htdocs/luci-static/resources/view/homeproxy/client.js:225 msgid "Routing ports" msgstr "路由端口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:415 +#: htdocs/luci-static/resources/view/homeproxy/client.js:420 msgid "Routing rule" msgstr "路由规则" -#: htdocs/luci-static/resources/view/homeproxy/client.js:531 -#: htdocs/luci-static/resources/view/homeproxy/client.js:828 -#: htdocs/luci-static/resources/view/homeproxy/client.js:899 -#: htdocs/luci-static/resources/view/homeproxy/client.js:908 +#: htdocs/luci-static/resources/view/homeproxy/client.js:536 +#: htdocs/luci-static/resources/view/homeproxy/client.js:833 +#: htdocs/luci-static/resources/view/homeproxy/client.js:904 +#: htdocs/luci-static/resources/view/homeproxy/client.js:913 msgid "Rule set" msgstr "规则集" -#: htdocs/luci-static/resources/view/homeproxy/client.js:941 +#: htdocs/luci-static/resources/view/homeproxy/client.js:946 msgid "Rule set URL" msgstr "规则集 URL" @@ -1729,8 +1729,8 @@ msgstr "规则集 URL" msgid "SSH" msgstr "SSH" -#: htdocs/luci-static/resources/view/homeproxy/client.js:453 -#: htdocs/luci-static/resources/view/homeproxy/client.js:766 +#: htdocs/luci-static/resources/view/homeproxy/client.js:458 +#: htdocs/luci-static/resources/view/homeproxy/client.js:771 msgid "STUN" msgstr "STUN" @@ -1755,7 +1755,7 @@ msgstr "保存当前设置" msgid "Save subscriptions settings" msgstr "保存订阅设置" -#: htdocs/luci-static/resources/view/homeproxy/client.js:867 +#: htdocs/luci-static/resources/view/homeproxy/client.js:872 #: htdocs/luci-static/resources/view/homeproxy/server.js:88 msgid "Server" msgstr "服务器" @@ -1791,8 +1791,8 @@ msgstr "ShadowTLS 版本" msgid "Shadowsocks" msgstr "Shadowsocks" -#: htdocs/luci-static/resources/view/homeproxy/client.js:449 -#: htdocs/luci-static/resources/view/homeproxy/client.js:761 +#: htdocs/luci-static/resources/view/homeproxy/client.js:454 +#: htdocs/luci-static/resources/view/homeproxy/client.js:766 msgid "" "Sniffed protocol, see Sniff for details." @@ -1821,22 +1821,22 @@ msgstr "Socks4A" msgid "Socks5" msgstr "Socks5" -#: htdocs/luci-static/resources/view/homeproxy/client.js:477 -#: htdocs/luci-static/resources/view/homeproxy/client.js:795 +#: htdocs/luci-static/resources/view/homeproxy/client.js:482 +#: htdocs/luci-static/resources/view/homeproxy/client.js:800 msgid "Source IP CIDR" msgstr "源 IP CIDR" -#: htdocs/luci-static/resources/view/homeproxy/client.js:929 +#: htdocs/luci-static/resources/view/homeproxy/client.js:934 msgid "Source file" msgstr "源文件" -#: htdocs/luci-static/resources/view/homeproxy/client.js:499 -#: htdocs/luci-static/resources/view/homeproxy/client.js:806 +#: htdocs/luci-static/resources/view/homeproxy/client.js:504 +#: htdocs/luci-static/resources/view/homeproxy/client.js:811 msgid "Source port" msgstr "源端口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:504 -#: htdocs/luci-static/resources/view/homeproxy/client.js:811 +#: htdocs/luci-static/resources/view/homeproxy/client.js:509 +#: htdocs/luci-static/resources/view/homeproxy/client.js:816 msgid "Source port range" msgstr "源端口范围" @@ -1873,7 +1873,7 @@ msgstr "" "指定发送 PING 帧后,在指定的超时时间(单位:秒)内必须接收到响应。
如果在" "指定的超时时间内没有收到 PING 帧的响应,则连接将关闭。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:221 +#: htdocs/luci-static/resources/view/homeproxy/client.js:226 msgid "" "Specify target ports to be proxied. Multiple ports must be separated by " "commas." @@ -1909,18 +1909,18 @@ msgstr "" "支持 Hysteria、Shadowsocks(R)、Trojan、v2rayN(VMess)和 XTLS(VLESS)在线配" "置交付标准。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:279 +#: htdocs/luci-static/resources/view/homeproxy/client.js:284 msgid "System" msgstr "系统" -#: htdocs/luci-static/resources/view/homeproxy/client.js:594 -#: htdocs/luci-static/resources/view/homeproxy/client.js:655 -#: htdocs/luci-static/resources/view/homeproxy/client.js:874 +#: htdocs/luci-static/resources/view/homeproxy/client.js:599 +#: htdocs/luci-static/resources/view/homeproxy/client.js:660 +#: htdocs/luci-static/resources/view/homeproxy/client.js:879 msgid "System DNS" msgstr "系统 DNS" -#: htdocs/luci-static/resources/view/homeproxy/client.js:456 -#: htdocs/luci-static/resources/view/homeproxy/client.js:756 +#: htdocs/luci-static/resources/view/homeproxy/client.js:461 +#: htdocs/luci-static/resources/view/homeproxy/client.js:761 #: htdocs/luci-static/resources/view/homeproxy/server.js:731 msgid "TCP" msgstr "TCP" @@ -1930,16 +1930,16 @@ msgstr "TCP" msgid "TCP fast open" msgstr "TCP 快速打开" -#: htdocs/luci-static/resources/view/homeproxy/client.js:273 +#: htdocs/luci-static/resources/view/homeproxy/client.js:278 msgid "TCP/IP stack" msgstr "TCP/IP 协议栈" -#: htdocs/luci-static/resources/view/homeproxy/client.js:274 +#: htdocs/luci-static/resources/view/homeproxy/client.js:279 msgid "TCP/IP stack." msgstr "TCP/IP 协议栈。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:451 -#: htdocs/luci-static/resources/view/homeproxy/client.js:763 +#: htdocs/luci-static/resources/view/homeproxy/client.js:456 +#: htdocs/luci-static/resources/view/homeproxy/client.js:768 #: htdocs/luci-static/resources/view/homeproxy/node.js:1049 #: htdocs/luci-static/resources/view/homeproxy/server.js:453 msgid "TLS" @@ -1960,7 +1960,7 @@ msgstr "TLS SNI" 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:648 +#: htdocs/luci-static/resources/view/homeproxy/client.js:653 msgid "" "Tag of a another server to resolve the domain name in the address. Required " "if address contains domain." @@ -1968,19 +1968,19 @@ msgstr "" "用于解析本 DNS 服务器的域名的另一个 DNS 服务器的标签。如果服务器地址包括域名" "则必须。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:691 +#: htdocs/luci-static/resources/view/homeproxy/client.js:696 msgid "Tag of an outbound for connecting to the dns server." msgstr "用于连接到 DNS 服务器的出站标签。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:964 +#: htdocs/luci-static/resources/view/homeproxy/client.js:969 msgid "Tag of the outbound to download rule set." msgstr "用于下载规则集的出站标签。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:868 +#: htdocs/luci-static/resources/view/homeproxy/client.js:873 msgid "Tag of the target dns server." msgstr "目标 DNS 服务器标签。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:559 +#: htdocs/luci-static/resources/view/homeproxy/client.js:564 msgid "Tag of the target outbound." msgstr "目标出站标签。" @@ -1998,7 +1998,7 @@ msgstr "腾讯公共 DNS(119.29.29.29)" msgid "The ACME CA provider to use." msgstr "使用的 ACME CA 颁发机构。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:584 +#: htdocs/luci-static/resources/view/homeproxy/client.js:589 msgid "The DNS strategy for resolving the domain name in the address." msgstr "解析域名的默认策略。" @@ -2012,7 +2012,7 @@ msgstr "用于接收数据的 QUIC 连接级流控制窗口。" msgid "The QUIC stream-level flow control window for receiving data." msgstr "用于接收数据的 QUIC 流级流控制窗口。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:644 +#: htdocs/luci-static/resources/view/homeproxy/client.js:649 msgid "The address of the dns server. Support UDP, TCP, DoT, DoH and RCode." msgstr "DNS 服务器的地址。支持 UDP、TCP、DoT、DoH 和 RCode。" @@ -2031,7 +2031,7 @@ msgid "" msgstr "" "用于 ACME TLS-ALPN 质询的备用端口; 系统必须将 443 转发到此端口以使质询成功。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:430 +#: htdocs/luci-static/resources/view/homeproxy/client.js:435 msgid "" "The default rule uses the following matching logic:
(domain || " "domain_suffix || domain_keyword || domain_regex || ip_cidr || " @@ -2046,7 +2046,7 @@ msgstr "" "source_ip_is_private) &&
(source_port || " "source_port_range) &&
other fields。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:734 +#: htdocs/luci-static/resources/view/homeproxy/client.js:739 msgid "" "The default rule uses the following matching logic:
(domain || " "domain_suffix || domain_keyword || domain_regex) &&
(port " @@ -2060,7 +2060,7 @@ msgstr "" ">(source_port || source_port_range) &&
other fields。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:680 +#: htdocs/luci-static/resources/view/homeproxy/client.js:685 msgid "" "The domain strategy for resolving the domain name in the address. dns." "strategy will be used if empty." @@ -2104,7 +2104,7 @@ msgstr "可接受的最低 TLS 版本。" msgid "The modern ImmortalWrt proxy platform for ARM64/AMD64." msgstr "为 ARM64/AMD64 设计的现代 ImmortalWrt 代理平台。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:367 +#: htdocs/luci-static/resources/view/homeproxy/client.js:372 msgid "The network interface to bind to." msgstr "绑定到的网络接口。" @@ -2124,7 +2124,7 @@ msgstr "服务端私钥,需要 PEM 格式。" msgid "The server public key, in PEM format." msgstr "服务端公钥,需要 PEM 格式。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:374 +#: htdocs/luci-static/resources/view/homeproxy/client.js:379 msgid "" "The tag of the upstream outbound.
Other dial fields will be ignored when " "enabled." @@ -2163,7 +2163,7 @@ msgid "" msgstr "" "要与 Xray-core 兼容,请将其设置为 Sec-WebSocket-Protocol。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:252 +#: htdocs/luci-static/resources/view/homeproxy/client.js:257 msgid "" "To enable Tun support, you need to install ip-full and " "kmod-tun" @@ -2185,18 +2185,18 @@ msgstr "Trojan" msgid "Tuic" msgstr "Tuic" -#: htdocs/luci-static/resources/view/homeproxy/client.js:250 +#: htdocs/luci-static/resources/view/homeproxy/client.js:255 msgid "Tun TCP/UDP" msgstr "Tun TCP/UDP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:922 +#: htdocs/luci-static/resources/view/homeproxy/client.js:927 #: htdocs/luci-static/resources/view/homeproxy/node.js:505 #: htdocs/luci-static/resources/view/homeproxy/server.js:103 msgid "Type" msgstr "类型" -#: htdocs/luci-static/resources/view/homeproxy/client.js:457 -#: htdocs/luci-static/resources/view/homeproxy/client.js:757 +#: htdocs/luci-static/resources/view/homeproxy/client.js:462 +#: htdocs/luci-static/resources/view/homeproxy/client.js:762 #: htdocs/luci-static/resources/view/homeproxy/server.js:732 msgid "UDP" msgstr "UDP" @@ -2247,11 +2247,11 @@ msgstr "更新 %s 个订阅" msgid "Update failed." msgstr "更新失败。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:981 +#: htdocs/luci-static/resources/view/homeproxy/client.js:986 msgid "Update interval" msgstr "更新间隔" -#: htdocs/luci-static/resources/view/homeproxy/client.js:982 +#: htdocs/luci-static/resources/view/homeproxy/client.js:987 msgid "Update interval of rule set.
1d will be used if empty." msgstr "规则集更新间隔。
留空使用 1d。" @@ -2316,8 +2316,8 @@ msgid "" "given." msgstr "用于验证返回证书上的主机名。如允许不安全连接,此配置无效。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:527 -#: htdocs/luci-static/resources/view/homeproxy/client.js:824 +#: htdocs/luci-static/resources/view/homeproxy/client.js:532 +#: htdocs/luci-static/resources/view/homeproxy/client.js:829 msgid "User" msgstr "用户" @@ -2336,7 +2336,7 @@ msgstr "VLESS" msgid "VMess" msgstr "VMess" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1052 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1057 msgid "WAN IP Policy" msgstr "WAN IP 策略" @@ -2375,14 +2375,18 @@ msgstr "信风公共 DNS(114.114.114.114)" msgid "Xudp (Xray-core)" msgstr "Xudp (Xray-core)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:186 -msgid "You can only have one server set." -msgstr "您只能设置一个服务器。" +#: htdocs/luci-static/resources/view/homeproxy/client.js:201 +msgid "You can only have 2 servers set at maximum." +msgstr "您最多只能设置两个服务器。" #: htdocs/luci-static/resources/view/homeproxy/client.js:159 msgid "You can only have one server set. It MUST support TCP query." msgstr "您只能设置一个服务器。它必须支持 TCP 查询。" +#: htdocs/luci-static/resources/view/homeproxy/client.js:186 +msgid "You can only have two servers set at maximum." +msgstr "" + #: htdocs/luci-static/resources/homeproxy.js:228 msgid "Your %s was successfully uploaded. Size: %sB." msgstr "您的 %s 已成功上传。大小:%sB。" @@ -2421,14 +2425,14 @@ msgstr "gRPC 允许无活动连接" msgid "gRPC service name" msgstr "gRPC 服务名称" -#: htdocs/luci-static/resources/view/homeproxy/client.js:277 +#: htdocs/luci-static/resources/view/homeproxy/client.js:282 msgid "gVisor" msgstr "gVisor" #: htdocs/luci-static/resources/homeproxy.js:248 #: htdocs/luci-static/resources/homeproxy.js:266 #: htdocs/luci-static/resources/view/homeproxy/client.js:176 -#: htdocs/luci-static/resources/view/homeproxy/client.js:945 +#: htdocs/luci-static/resources/view/homeproxy/client.js:950 #: htdocs/luci-static/resources/view/homeproxy/node.js:564 #: htdocs/luci-static/resources/view/homeproxy/node.js:1186 #: htdocs/luci-static/resources/view/homeproxy/server.js:159 @@ -2501,12 +2505,12 @@ msgid "v3" msgstr "v3" #: htdocs/luci-static/resources/view/homeproxy/client.js:178 -#: htdocs/luci-static/resources/view/homeproxy/client.js:200 +#: htdocs/luci-static/resources/view/homeproxy/client.js:205 msgid "valid IP address" msgstr "有效 IP 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:950 -#: htdocs/luci-static/resources/view/homeproxy/client.js:953 +#: htdocs/luci-static/resources/view/homeproxy/client.js:955 +#: htdocs/luci-static/resources/view/homeproxy/client.js:958 #: htdocs/luci-static/resources/view/homeproxy/node.js:1269 #: htdocs/luci-static/resources/view/homeproxy/node.js:1272 msgid "valid URL" @@ -2516,8 +2520,8 @@ msgstr "有效网址" msgid "valid base64 key with %d characters" msgstr "包含 %d 个字符的有效 base64 密钥" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1092 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1121 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1097 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1126 msgid "valid hostname" msgstr "有效主机名" @@ -2525,8 +2529,8 @@ msgstr "有效主机名" msgid "valid port range (port1:port2)" msgstr "有效端口范围(port1:port2)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:229 #: htdocs/luci-static/resources/view/homeproxy/client.js:234 +#: htdocs/luci-static/resources/view/homeproxy/client.js:239 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 d308a517c..de635331d 100755 --- a/homeproxy/root/etc/homeproxy/scripts/generate_client.uc +++ b/homeproxy/root/etc/homeproxy/scripts/generate_client.uc @@ -222,7 +222,7 @@ function generate_outbound(node) { max_version: node.tls_max_version, cipher_suites: node.tls_cipher_suites, certificate_path: node.tls_cert_path, - ech: (node.enable_ech === '1') ? { + ech: (node.tls_ech === '1') ? { enabled: true, dynamic_record_sizing_disabled: (node.tls_ech_tls_disable_drs === '1'), pq_signature_schemes_enabled: (node.tls_ech_enable_pqss === '1'), diff --git a/luci-app-ddns-go/Makefile b/luci-app-ddns-go/Makefile index d063512fb..9bb6936a3 100644 --- a/luci-app-ddns-go/Makefile +++ b/luci-app-ddns-go/Makefile @@ -1,14 +1,14 @@ # SPDX-License-Identifier: GPL-3.0-only # -# Copyright (C) 2021-2022 sirpdboy https://github.com/sirpdboy/luci-app-ddns-go -# +# Copyright (C) 2021-2024 sirpdboy +# https://github.com/sirpdboy/luci-app-ddns-go # This is free software, licensed under the Apache License, Version 2.0 . # include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ddns-go -PKG_VERSION:=1.4.1 -PKG_RELEASE:=10 +PKG_VERSION:=1.4.2 +PKG_RELEASE:=20240227 LUCI_TITLE:=LuCI Support for Dynamic ddns-go Client LUCI_DEPENDS:=+ddns-go diff --git a/luci-app-ddns-go/luasrc/controller/ddns-go.lua b/luci-app-ddns-go/luasrc/controller/ddns-go.lua index 3e5f152b0..152c1ca0d 100644 --- a/luci-app-ddns-go/luasrc/controller/ddns-go.lua +++ b/luci-app-ddns-go/luasrc/controller/ddns-go.lua @@ -12,7 +12,7 @@ function index() e.dependent=false e.acl_depends={ "luci-app-ddns-go" } entry({"admin", "services", "ddns-go", "setting"}, cbi("ddns-go"), _("Base Setting"), 20).leaf=true - entry({"admin", "services", "ddns-go", "ddns-go"}, template("ddns-go"), _("DDNS-GO"), 30).leaf = true + entry({"admin", "services", "ddns-go", "ddns-go"}, template("ddns-go"), _("DDNS-GO Control panel"), 30).leaf = true entry({"admin", "services", "ddnsgo_status"}, call("act_status")) end diff --git a/luci-app-ddns-go/luasrc/model/cbi/ddns-go.lua b/luci-app-ddns-go/luasrc/model/cbi/ddns-go.lua index e44081e5e..4e88a9f59 100644 --- a/luci-app-ddns-go/luasrc/model/cbi/ddns-go.lua +++ b/luci-app-ddns-go/luasrc/model/cbi/ddns-go.lua @@ -28,7 +28,7 @@ o.default=5 o = s:option(Flag,"skipverify",translate("Skip verifying certificates")) o.default = 0 -o = s:option(Value, "dns",translate("Specify DNS resolution server")) +o = s:option(ListValue, "dns",translate("Specify DNS resolution server")) o:value("223.5.5.5", ""..translate("Ali").." DNS (223.5.5.5)") o:value("223.6.6.6", ""..translate("Ali").." DNS (223.6.6.6)") o:value("119.29.29.29", ""..translate("Tencent").." DNS (119.29.29.29)") diff --git a/luci-app-ddns-go/luasrc/view/ddns-go.htm b/luci-app-ddns-go/luasrc/view/ddns-go.htm index 2dd5c707e..7bfbcd78d 100644 --- a/luci-app-ddns-go/luasrc/view/ddns-go.htm +++ b/luci-app-ddns-go/luasrc/view/ddns-go.htm @@ -1,13 +1,16 @@ <%# - Copyright 2021-2022 sirpdboy Wich + Copyright 2008-2024 by sirpdboy https://github.com/sirpdboy/luci-app-ddns-go Licensed to the public under the Apache License 2.0. -%> - +<% + local running = luci.sys.exec("pidof ddns-go | awk -F ' ' '{print $1}'") +%> <%+header%>
- @@ -19,4 +22,13 @@ document.getElementById("ddnsgo").height = document.documentElement.clientHeight; } +<% else %> + +
+ +

<%:The DDNS-GO service is not running.%>

+

<%:Please enable the DDNS-GO service%>

+
+<% end -%> +
<%+footer%> diff --git a/luci-app-ddns-go/po/zh-cn/ddns-go.po b/luci-app-ddns-go/po/zh-cn/ddns-go.po index a374f12d9..f156db9fb 100644 --- a/luci-app-ddns-go/po/zh-cn/ddns-go.po +++ b/luci-app-ddns-go/po/zh-cn/ddns-go.po @@ -13,6 +13,9 @@ msgstr "基本设置" msgid "Running state" msgstr "运行状态" +msgid "DDNS-GO Control panel" +msgstr "DDNS-GO操作台" + msgid "The DDNS-GO service is running." msgstr "DDNS-GO服务已启动" @@ -22,6 +25,9 @@ msgstr "DDNS-GO服务未启动" msgid "DDNS-GO Status" msgstr "DDNS-GO服务状态" +msgid "Please enable the DDNS-GO service" +msgstr "请将DDNS-GO服务启用" + msgid "Click the new page to open ddns-go" msgstr "点击打开ddns-go后台" diff --git a/luci-app-ddns-go/po/zh_Hans/ddns-go.po b/luci-app-ddns-go/po/zh_Hans/ddns-go.po index a374f12d9..f156db9fb 100644 --- a/luci-app-ddns-go/po/zh_Hans/ddns-go.po +++ b/luci-app-ddns-go/po/zh_Hans/ddns-go.po @@ -13,6 +13,9 @@ msgstr "基本设置" msgid "Running state" msgstr "运行状态" +msgid "DDNS-GO Control panel" +msgstr "DDNS-GO操作台" + msgid "The DDNS-GO service is running." msgstr "DDNS-GO服务已启动" @@ -22,6 +25,9 @@ msgstr "DDNS-GO服务未启动" msgid "DDNS-GO Status" msgstr "DDNS-GO服务状态" +msgid "Please enable the DDNS-GO service" +msgstr "请将DDNS-GO服务启用" + msgid "Click the new page to open ddns-go" msgstr "点击打开ddns-go后台" diff --git a/luci-app-lucky/Makefile b/luci-app-lucky/Makefile index d0c1914dd..3e0b86832 100644 --- a/luci-app-lucky/Makefile +++ b/luci-app-lucky/Makefile @@ -7,8 +7,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-lucky -PKG_VERSION:=1.1.2 -PKG_RELEASE:=7 +PKG_VERSION:=1.2.0 +PKG_RELEASE:=8 LUCI_TITLE:=LuCI Support for Dynamic lucky Client LUCI_DEPENDS:=+lucky diff --git a/luci-app-lucky/luasrc/controller/lucky.lua b/luci-app-lucky/luasrc/controller/lucky.lua index 5ec361a37..b0f8d57a8 100644 --- a/luci-app-lucky/luasrc/controller/lucky.lua +++ b/luci-app-lucky/luasrc/controller/lucky.lua @@ -9,7 +9,7 @@ function index() e.dependent=false e.acl_depends={ "luci-app-lucky" } entry({"admin", "services", "lucky", "setting"}, cbi("lucky"), _("Base Setting"), 20).leaf=true - entry({"admin", "services", "lucky", "lucky"}, template("lucky"), _("Lucky"), 30).leaf = true + entry({"admin", "services", "lucky", "lucky"}, template("lucky"), _("Lucky Control panel"), 30).leaf = true entry({"admin", "services", "lucky_status"}, call("lucky_status")) entry({"admin", "services", "lucky_config"}, call("lucky_config")) end diff --git a/luci-app-lucky/luasrc/view/lucky.htm b/luci-app-lucky/luasrc/view/lucky.htm index dd040947d..77418dcb6 100644 --- a/luci-app-lucky/luasrc/view/lucky.htm +++ b/luci-app-lucky/luasrc/view/lucky.htm @@ -1,7 +1,10 @@ <%# - Copyright 2021-2022 sirpdboy Wich + Copyright 2021-2024 sirpdboy Wich https://github.com/sirpdboy/luci-app-lucky Licensed to the public under the Apache License 2.0. +-%> +<% + local running = luci.sys.exec("pidof lucky | awk -F ' ' '{print $1}'") %> <%+header%> @@ -30,10 +33,19 @@ var URL = "" //]]>
-
- +<% else %> + +
+ +

<%:The Lucky service is not running.%>

+

<%:Please enable the Lucky service%>

+
+<% end -%> + <%+footer%> diff --git a/luci-app-lucky/po/zh-cn/lucky.po b/luci-app-lucky/po/zh-cn/lucky.po index 5e0c931f5..51d0176b5 100644 --- a/luci-app-lucky/po/zh-cn/lucky.po +++ b/luci-app-lucky/po/zh-cn/lucky.po @@ -7,6 +7,9 @@ msgstr "配置文件夹位置" msgid "Lucky" msgstr "Lucky大吉" +msgid "Lucky Control panel" +msgstr "Lucky操作台" + msgid "ipv4/ipv6 portforward,ddns,reverseproxy proxy,wake on lan,IOT and more,Default username and password 666" msgstr "IPv4/IPv6端口转发,动态域名服务,http/https反向代理,默认用户名密码666.." @@ -19,6 +22,9 @@ msgstr "大吉服务已启动" msgid "The Lucky service is not running." msgstr "大吉服务未启动" +msgid "Please enable the Lucky service" +msgstr "请将Lucky服务启用" + msgid "Lucky Status" msgstr "大吉服务状态" diff --git a/luci-app-lucky/po/zh_Hans/lucky.po b/luci-app-lucky/po/zh_Hans/lucky.po index 5e0c931f5..51d0176b5 100644 --- a/luci-app-lucky/po/zh_Hans/lucky.po +++ b/luci-app-lucky/po/zh_Hans/lucky.po @@ -7,6 +7,9 @@ msgstr "配置文件夹位置" msgid "Lucky" msgstr "Lucky大吉" +msgid "Lucky Control panel" +msgstr "Lucky操作台" + msgid "ipv4/ipv6 portforward,ddns,reverseproxy proxy,wake on lan,IOT and more,Default username and password 666" msgstr "IPv4/IPv6端口转发,动态域名服务,http/https反向代理,默认用户名密码666.." @@ -19,6 +22,9 @@ msgstr "大吉服务已启动" msgid "The Lucky service is not running." msgstr "大吉服务未启动" +msgid "Please enable the Lucky service" +msgstr "请将Lucky服务启用" + msgid "Lucky Status" msgstr "大吉服务状态" diff --git a/luci-app-netspeedtest/Makefile b/luci-app-netspeedtest/Makefile index 27e41f5e6..c95f9396a 100644 --- a/luci-app-netspeedtest/Makefile +++ b/luci-app-netspeedtest/Makefile @@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-netspeedtest LUCI_TITLE:=LuCI Support for netspeedtest -LUCI_DEPENDS:=+python3 +iperf3 +homebox +netperf +LUCI_DEPENDS:=+python3 +iperf3-ssl +homebox LUCI_PKGARCH:=all -PKG_VERSION:=2.1.3 -PKG_RELEASE:=20230302 +PKG_VERSION:=2.1.5 +PKG_RELEASE:=2024027 PKG_MAINTAINER:= include $(TOPDIR)/feeds/luci/luci.mk diff --git a/luci-app-netspeedtest/README.md b/luci-app-netspeedtest/README.md deleted file mode 100644 index 97cb65a53..000000000 --- a/luci-app-netspeedtest/README.md +++ /dev/null @@ -1,162 +0,0 @@ -## luci-app-netspeedtest - -### 访问数:[![](https://visitor-badge.glitch.me/badge?page_id=sirpdboy-visitor-badge)] [![](https://img.shields.io/badge/TG群-点击加入-FFFFFF.svg)](https://t.me/joinchat/AAAAAEpRF88NfOK5vBXGBQ) - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明1.jpg) - -luci-app-netspeedtest 网络速度诊断测试(包括:内网网页版测速、内网iperf3吞吐测速、外网speedtest.net网速测试、特定服务器的端口延迟测速) - -[luci-app-netspeedtest 网络速度诊断测试](https://github.com/sirpdboy/netspeedtest) - -请 **认真阅读完毕** 本页面,本页面包含注意事项和如何使用。 - -## 写在前面 - - - 一直在找OPENWRT上测试速度的插件,苦寻不到,于是有了它! 此插件可进行内外和外网网络速度测试。 - - TG群友说插件2年没更新了,花了几天时间结合时下需要,将网络测试功能升级到2.0版本。 - - - -## [菜单向导](#luci-app-netspeedtest) - - [功能说明](#功能说明) - - [注意事项](#iperf3吞吐测试注意事项) - - [版本说明](#版本说明) - - [使用方法](#使用方法) - - [源码说明](#源码说明) - - [界面](#界面) - - [其它](#其它) - - [感谢](#感谢) - - [捐助](#捐助) - - - -## 功能说明 -- 内网网页版测速插件 :基于speedtest-web网页版,启用后再点start进行测速。网页版启动后程序会驻留内存不测速建议不启用服务。 -- 内网iperf3吞吐测试 ,服务端路由器如果没有安装请先安装此iperf3插件。 -- 外网测速使用speedtest.net测速内核,基于speedtest-cli,需要有python3才能执行。 -- 特定服务器的端口延迟测速,是测试指定服务器的端口的延迟情况。 - -## iperf3吞吐测试注意事项 -- 测速的终端使用机器必须和测速服务器在同一个局域网络中! -- 客户端使用步骤:启动测速服务器端-->下载测试客户端-->运行测速客户端-->输入服务端IP地址-->查看结果。 -- 客户端运行,国内端下载中有“iperf3测速客户端”,运行它输入服务器IP即可。 - 国外原版,需要手动进入 CMD命令模式,再输入命令:iperf3.exe -c 服务器IP -- 网络测速iperf3客户端下载地址:https://sipdboy.lanzoui.com/b01c3esih 密码:cpd6 -- 需要依赖: python3 iperf3 speedtest-web - -## 版本说明 - - -### 2023.3.2 网速测试V2.1.3: - - 修复测速Speedtest看不到测试报名问题。 - - 重新调试IPERF3测试页面代码,解决某些主题显示不优雅的问题。 - - 修复取消服务自动启用的问题 - -### 2023.1.15 网速测试V2.1: - - 内网测试速度WEB页采用homebox。 - - 修复WEB页内网测试自动启用问题。 - - 外网测速加入Netperf测试。 - - 外网测速Speedtest某些节点会禁止测速。要测速建议关了留国的插件。 - -### 2022.10.18 网速测试V2.0.3: - - 代码基本重写和优化。 - - Iperf3可实时体现服务状态。 - - 增加内网测试网页版。 - - 外网测速,加入更详细测试报告。 - -### 2021.3.2 网速测试V1.6: - - 升级宽带测试带2.13内核。 - - 解决1.806以上版本不能编译问题。 - -## 使用方法 - -将NetSpeedTest 主题添加至 LEDE/OpenWRT 源码的方法。 - -### 下载源码: - - # 下载源码 - - git clone https://github.com/sirpdboy/netspeedtest.git package/netspeedtest - make menuconfig - - ``` -### 配置菜单 - - ```Brach - make menuconfig - # 找到 LuCI -> Applications, 选择 luci-app-netspeedtest, 保存后退出。 - ``` - -### 编译 - - ```Brach - # 编译固件 - make package/netspeedtest/luci-app-netspeedtest/compile V=s - ``` - - -## 源码说明 - -- 源码来源和依赖: -- luci-app-netspeedtest:https://github.com/sirpdboy/netspeedtest -- speedtest-web:https://github.com/ZeaKyX/speedtest-web -- speedtest-cl:https://github.com/sivel/speedtest-cli - -- 你可以随意使用其中的源码,但请注明出处。 - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明2.jpg) - -## 界面 - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/netspeedtest1.jpg) - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/netspeedtest2.jpg) - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/netspeedtest3.jpg) - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/netspeedtest4.jpg) - - - -## 使用与授权相关说明 - -- 本人开源的所有源码,任何引用需注明本处出处,如需修改二次发布必告之本人,未经许可不得做于任何商用用途。 - - -# My other project - -- 网络速度测试 :https://github.com/sirpdboy/NetSpeedTest - -- 定时设置插件 : https://github.com/sirpdboy/luci-app-autotimeset - -- 关机功能插件 : https://github.com/sirpdboy/luci-app-poweroffdevice - -- opentopd主题 : https://github.com/sirpdboy/luci-theme-opentopd - -- kucat 主题: https://github.com/sirpdboy/luci-theme-kucat - -- 家长控制: https://github.com/sirpdboy/luci-theme-parentcontrol - -- 系统高级设置 : https://github.com/sirpdboy/luci-app-advanced - -- ddns-go动态域名: https://github.com/sirpdboy/luci-app-ddns-go - -- 进阶设置(系统高级设置+主题设置kucat/agron/opentopd): https://github.com/sirpdboy/luci-app-advancedplus - -- 设置向导: https://github.com/sirpdboy/luci-app-wizard - -- 分区扩容: https://github.com/sirpdboy/luci-app-partexp - -- lukcy大吉: https://github.com/sirpdboy/luci-app-lukcy - -## 捐助 - -![screenshots](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/说明3.jpg) - -| 图飞了😂 | 图飞了😂 | -| :-----------------: | :-------------: | -|![xm1](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/支付宝.png) | ![xm1](https://raw.githubusercontent.com/sirpdboy/openwrt/master/doc/微信.png) | - - - 图飞了😂 - diff --git a/luci-app-netspeedtest/luasrc/controller/netspeedtest.lua b/luci-app-netspeedtest/luasrc/controller/netspeedtest.lua index b1dda2502..0855e6797 100644 --- a/luci-app-netspeedtest/luasrc/controller/netspeedtest.lua +++ b/luci-app-netspeedtest/luasrc/controller/netspeedtest.lua @@ -4,14 +4,16 @@ module("luci.controller.netspeedtest", package.seeall) local fs=require"nixio.fs" local sys = require "luci.sys" function index() - entry({"admin","network","netspeedtest"},alias("admin", "network", "netspeedtest", "homebox"),_("Net Speedtest"), 90).dependent = true + + if not nixio.fs.access("/etc/config/netspeedtest") then return end + local e = entry({"admin","network","netspeedtest"},alias("admin", "network", "netspeedtest", "homebox"),_("Net Speedtest"), 90) + e.dependent=false + e.acl_depends = { "luci-app-netspeedtest" } entry({"admin","network","netspeedtest","homebox"},cbi("netspeedtest/homebox"),_("Lan homebox Web"),20).leaf = true entry({"admin","network","netspeedtest","speedtestiperf3"},cbi("netspeedtest/speedtestiperf3", {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}),_("Lan Speedtest Iperf3"),30).leaf = true entry({"admin","network","netspeedtest","speedtestwan"},cbi("netspeedtest/speedtestwan", {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}),_("Wan Speedtest"), 40).leaf = true - entry({"admin","network","netspeedtest","netperftestwan"},cbi("netspeedtest/netperftestwan", {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}),_("Netperf Speedtest"), 40).leaf = true entry({"admin", "network", "netspeedtest", "checknet"}, call("check_net")) - entry({"admin", "network", "homebox_status"}, call("homebox_status")) entry({"admin", "network", "iperf3_status"}, call("iperf3_status")) entry({"admin", "network","test_iperf0"}, post("test_iperf0"), nil).leaf = true @@ -25,15 +27,6 @@ function index() end -function homebox_status() - local e = { - run = (sys.call("pidof homebox >/dev/null") == 0), - port = 3300 - } - luci.http.prepare_content("application/json") - luci.http.write_json(e) -end - function iperf3_status() local e={} e.run=sys.call("pgrep iperf3 >/dev/null")==0 diff --git a/luci-app-netspeedtest/luasrc/model/cbi/netspeedtest/homebox.lua b/luci-app-netspeedtest/luasrc/model/cbi/netspeedtest/homebox.lua index e0e8badde..a46985c7b 100644 --- a/luci-app-netspeedtest/luasrc/model/cbi/netspeedtest/homebox.lua +++ b/luci-app-netspeedtest/luasrc/model/cbi/netspeedtest/homebox.lua @@ -1,14 +1,10 @@ -- Copyright (C) 2020-2022 sirpdboy https://github.com/sirpdboy/netspeedtest - local m, s ,o - m = Map("netspeedtest", "" .. translate("Net Speedtest") .."",translate( "Network speed diagnosis test (including intranet and extranet)
For specific usage, see:") ..translate("GitHub @sirpdboy/netspeedtest") ) --- m:section(SimpleSection).template = "netspeedtest/homebox_status" s = m:section(TypedSection, "homebox", translate('Lan homebox Web')) -s.addremove=false -s.anonymous=true +s.anonymous = true o=s:option(Flag,"enabled",translate("Enable")) o.default=0 @@ -19,7 +15,6 @@ o.template ='netspeedtest/homebox' m.apply_on_parse = true m.on_after_apply = function(self,map) - io.popen("/etc/init.d/netspeedtest start") + io.popen("/etc/init.d/netspeedtest restart") end - return m diff --git a/luci-app-netspeedtest/luasrc/model/cbi/netspeedtest/netperftestwan.lua b/luci-app-netspeedtest/luasrc/model/cbi/netspeedtest/netperftestwan.lua deleted file mode 100644 index e080f10e5..000000000 --- a/luci-app-netspeedtest/luasrc/model/cbi/netspeedtest/netperftestwan.lua +++ /dev/null @@ -1,18 +0,0 @@ --- Copyright (C) 2020-2022 sirpdboy https://github.com/sirpdboy/netspeedtest -require("luci.util") -local o,t,e - -o = Map("netspeedtest", "" .. translate("Net Speedtest") .."",translate( "Network speed diagnosis test (including intranet and extranet)
For specific usage, see:") ..translate("GitHub @sirpdboy/netspeedtest") ) - -t=o:section(TypedSection,"wanspeedtest",translate("Netperf Speedtest")) -t.anonymous=true - -e = t:option(DummyValue, '', '') -e.rawhtml = true -e.template ='netspeedtest/netperftestwan' - -e =t:option(DummyValue, '', '') -e.rawhtml = true -e.template = 'netspeedtest/log' - -return o diff --git a/luci-app-netspeedtest/luasrc/view/netspeedtest/homebox.htm b/luci-app-netspeedtest/luasrc/view/netspeedtest/homebox.htm index 89275a23e..3783b31c0 100644 --- a/luci-app-netspeedtest/luasrc/view/netspeedtest/homebox.htm +++ b/luci-app-netspeedtest/luasrc/view/netspeedtest/homebox.htm @@ -3,11 +3,15 @@ https://github.com/sirpdboy/netspeedtest Licensed to the public under the Apache License 2.0. -%> - +<% + local running = luci.sys.exec("pidof homebox") +%> <%+cbi/valueheader%> +
- -
+<% if tonumber(running) ~= nil then %> + + +<% else %> + +
+ +

<%:The homebox service is not running.%>

+

<%:Please enable the Homebox service%>

+
+<% end %> + <%+cbi/valuefooter%> diff --git a/luci-app-netspeedtest/luasrc/view/netspeedtest/homebox_status.htm b/luci-app-netspeedtest/luasrc/view/netspeedtest/homebox_status.htm deleted file mode 100644 index 35a19a42b..000000000 --- a/luci-app-netspeedtest/luasrc/view/netspeedtest/homebox_status.htm +++ /dev/null @@ -1,28 +0,0 @@ - - - - -
- <%:homebox Status%> -

- <%:Collecting data...%> -

-
\ No newline at end of file diff --git a/luci-app-netspeedtest/luasrc/view/netspeedtest/netperftestwan.htm b/luci-app-netspeedtest/luasrc/view/netspeedtest/netperftestwan.htm deleted file mode 100644 index a02c31a5a..000000000 --- a/luci-app-netspeedtest/luasrc/view/netspeedtest/netperftestwan.htm +++ /dev/null @@ -1,54 +0,0 @@ -<%# - Copyright 2020-2022 sirpdboy Wich - https://github.com/sirpdboy/netspeedtest - Licensed to the public under the Apache License 2.0. --%> -<% -local fs = require "nixio.fs" -local has_ping6 = fs.access("/bin/ping6") or fs.access("/usr/bin/ping6") -%> -<%+cbi/valueheader%> - - - - - - - -<%+cbi/valuefooter%> diff --git a/luci-app-netspeedtest/po/zh-cn/netspeedtest.po b/luci-app-netspeedtest/po/zh-cn/netspeedtest.po index b33e60150..af36cac54 100644 --- a/luci-app-netspeedtest/po/zh-cn/netspeedtest.po +++ b/luci-app-netspeedtest/po/zh-cn/netspeedtest.po @@ -43,6 +43,9 @@ msgstr "homebox网页测速服务已启动" msgid "The homebox service is not running." msgstr "homebox网页测速服务未启动" +msgid "Please enable the Homebox service" +msgstr "请将homebox服务启用" + msgid "homebox Status" msgstr "homebox网页测速服务状态" diff --git a/luci-app-netspeedtest/po/zh_Hans b/luci-app-netspeedtest/po/zh_Hans deleted file mode 100644 index 41451e4a1..000000000 --- a/luci-app-netspeedtest/po/zh_Hans +++ /dev/null @@ -1 +0,0 @@ -zh-cn \ No newline at end of file diff --git a/luci-app-netspeedtest/po/zh_Hans/netspeedtest.po b/luci-app-netspeedtest/po/zh_Hans/netspeedtest.po new file mode 100644 index 000000000..af36cac54 --- /dev/null +++ b/luci-app-netspeedtest/po/zh_Hans/netspeedtest.po @@ -0,0 +1,109 @@ +# +# Copyright (C) 2020-2022 sirpdboy herboy2008@gmail.com https://github.com/sirpdboy/netspeedtest +# This is free software, licensed under the GNU General Public License v3. +# +msgid "" +msgstr "" +"Project-Id-Version: LuCi Chinese Translation\n" +"Report-Msgid-Bugs-To: \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Pootle 2.0.6\n" + +msgid "Net Speedtest" +msgstr "网速测试" + +msgid "Network speed diagnosis test (including intranet and extranet)
For specific usage, see:" +msgstr "网络速度诊断测试(包括内网、外网、特定端口服务器测速)
使用说明见:" + +msgid "Lan Speedtest Iperf3" +msgstr "内网iperf3吞吐测速" + +msgid "Lan homebox Web" +msgstr "内网测速网页版" + +msgid "Running state" +msgstr "运行状态" + +msgid "The Iperf3 service is running." +msgstr "iperf3服务已启动" + +msgid "The Iperf3 service is not running." +msgstr "iperf3服务未启动" + +msgid "Iperf3 Status" +msgstr "iperf3服务状态" + +msgid "The homebox service is running." +msgstr "homebox网页测速服务已启动" + +msgid "The homebox service is not running." +msgstr "homebox网页测速服务未启动" + +msgid "Please enable the Homebox service" +msgstr "请将homebox服务启用" + +msgid "homebox Status" +msgstr "homebox网页测速服务状态" + +msgid "
For specific usage, see:" +msgstr "
具体使用方法参见:" + +msgid "iperfstart" +msgstr "iperf服务启动" + +msgid "iperfstop" +msgstr "iperf服务停止" + +msgid "Select function" +msgstr "选择功能" + +msgid "Perform operation" +msgstr "执行操作" + + +msgid "iperf3 instructions" +msgstr "iperf3使用说明" + +msgid "Test speed service started" +msgstr "测试速度服务已经启动" + +msgid "The speed measurement terminal must be in the same LAN as the router that starts the speed measurement" +msgstr "测速终端机必须与启动测速的路由器在同一局域网内" + +msgid "Operation steps: start router speed measurement service download test client run speed measurement client input IP address of router speed measurement service" +msgstr "使用步骤:A.启动路由器测速服务 B.下载测试客户端 C.运行测速客户端 D.输入路由器测速服务IP地址。 " + +msgid "Domestic download password:" +msgstr "国内下密码:" + +msgid "Iperf3 speed measurement software download" +msgstr "iperf3测速软件下载" + +msgid "Wan Speedtest" +msgstr "Speedtest宽带测速" + +msgid "Perform Wan Speedtest" +msgstr "执行Speedtest宽带测速" + +msgid "Netperf Speedtest" +msgstr "Netperf宽带测速" + +msgid "Perform Netperf Speedtest" +msgstr "执行Netperf宽带测速" + +msgid "Operation execution complete" +msgstr "操作执行完毕" + +msgid "Network speed test, please wait..." +msgstr "网速测试中,请稍侯..." + +msgid "Download from foreign official websites" +msgstr "国外官网" + +msgid "Server Port Speedtest" +msgstr "端口延迟测试" + diff --git a/luci-app-netspeedtest/root/etc/init.d/netspeedtest b/luci-app-netspeedtest/root/etc/init.d/netspeedtest index 67d5b2bd7..77bf8e2ee 100644 --- a/luci-app-netspeedtest/root/etc/init.d/netspeedtest +++ b/luci-app-netspeedtest/root/etc/init.d/netspeedtest @@ -64,10 +64,12 @@ homebox_prepare() { } start_service() { - homebox_prepare config_load netspeedtest config_foreach get_config homebox - [ "x$enabled" != "x1" ] && exit 1 + [ "x$enabled" != "x1" ] && { + homebox_prepare + exit + } procd_open_instance procd_set_param command $PROG [ "x$logger" == x1 ] && procd_set_param stderr 1 diff --git a/luci-app-netspeedtest/root/etc/uci-defaults/40_luci-app-netspeedtest b/luci-app-netspeedtest/root/etc/uci-defaults/40_luci-app-netspeedtest deleted file mode 100644 index ba120cebf..000000000 --- a/luci-app-netspeedtest/root/etc/uci-defaults/40_luci-app-netspeedtest +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -chmod +x /etc/init.d/netspeedtest /usr/bin/*test >/dev/null 2>&1 - -rm -rf /tmp/luci-modulecache /tmp/luci-indexcache* -exit 0 diff --git a/luci-app-netspeedtest/root/usr/bin/netperftest b/luci-app-netspeedtest/root/usr/bin/netperftest deleted file mode 100644 index a50f452b4..000000000 --- a/luci-app-netspeedtest/root/usr/bin/netperftest +++ /dev/null @@ -1,167 +0,0 @@ -#! /bin/sh - -# Netperfrunner.sh - a shell script that runs several netperf commands simultaneously. -# This mimics the stress test of Flent (www.flent.org - formerly, "netperf-wrapper") -# from Toke but doesn't have the nice GUI result. -# This can live in /usr/lib/OpenWrtScripts -# -# When you start this script, it concurrently uploads and downloads multiple -# streams (files) to a server on the Internet. This places a heavy load -# on the bottleneck link of your network (probably your connection to the -# Internet). It also starts a ping to a well-connected host. It displays: -# -# a) total bandwidth available -# b) the distribution of ping latency - -# Usage: sh netperfrunner.sh [ -4 -6 ] [ -H netperf-server ] [ -t duration ] [ -t host-to-ping ] [ -n simultaneous-streams ] - -# Options: If options are present: -# -# -H | --host: DNS or Address of a netperf server (default - netperf.bufferbloat.net) -# Alternate servers are netperf-east (east coast US), netperf-west (California), -# and netperf-eu (Denmark) -# -4 | -6: IPv4 or IPv6 -# -t | --time: Duration for how long each direction's test should run - (default - 60 seconds) -# -p | --ping: Host to ping to measure latency (default - gstatic.com) -# -n | --number: Number of simultaneous sessions (default - 5 sessions) - -# Copyright (c) 2014-2022 - Rich Brown rich.brown@blueberryhillsoftware.com -# GPLv2 - - # Process the ping times from the passed-in file, and summarize the results - # grep to keep lines that have "time=", then sed to isolate the time stamps, and sort them - # Use awk to build an array of those values, and print first & last (which are min, max) - # and compute average. - # If the number of samples is >= 10, also compute median, and 10th and 90th percentile readings - - # Display the values as: - # Latency: (in msec, 11 pings, 8.33% packet loss) - # Min: 16.556 - # 10pct: 16.561 - # Median: 22.370 - # Avg: 21.203 - # 90pct: 23.202 - # Max: 23.394 - -# ------- Start of the main routine -------- - -# Usage: sh betterspeedtest.sh [ -H netperf-server ] [ -t duration ] [ -p host-to-ping ] - -# “H” and “host” DNS or IP address of the netperf server host (default: netperf.bufferbloat.net) -# “t” and “time” Time to run the test in each direction (default: 60 seconds) -# “p” and “ping” Host to ping for latency measurements (default: gstatic.com) -# "n" and "number" Number of simultaneous upload or download sessions (default: 4 sessions; -# 4 sessions chosen to match default of RRUL test) - -# set an initial values for defaults -TESTHOST="netperf.bufferbloat.net" -TESTDUR="60" - -PING4=ping -command -v ping4 > /dev/null 2>&1 && PING4=ping4 -PING6=ping6 - -PINGHOST="netperf.bufferbloat.net" -MAXSESSIONS=4 -TESTPROTO=-4 - -# Create temp files for netperf up/download results -ULFILE=`mktemp /tmp/netperfUL.XXXXXX` || exit 1 -DLFILE=`mktemp /tmp/netperfDL.XXXXXX` || exit 1 -PINGFILE=`mktemp /tmp/measurepings.XXXXXX` || exit 1 -# echo $ULFILE $DLFILE $PINGFILE - -# read the options - -# extract options and their arguments into variables. -while [ $# -gt 0 ] -do - case "$1" in - -4|-6) TESTPROTO=$1; shift 1 ;; - -H|--host) - case "$2" in - "") echo "Missing hostname" ; exit 1 ;; - *) TESTHOST=$2 ; shift 2 ;; - esac ;; - -t|--time) - case "$2" in - "") echo "Missing duration" ; exit 1 ;; - *) TESTDUR=$2 ; shift 2 ;; - esac ;; - -p|--ping) - case "$2" in - "") echo "Missing ping host" ; exit 1 ;; - *) PINGHOST=$2 ; shift 2 ;; - esac ;; - -n|--number) - case "$2" in - "") echo "Missing number of simultaneous sessions" ; exit 1 ;; - *) MAXSESSIONS=$2 ; shift 2 ;; - esac ;; - --) shift ; break ;; - *) echo "Usage: sh Netperfrunner.sh [ -H netperf-server ] [ -t duration ] [ -p host-to-ping ] [ -n simultaneous-streams ]" ; exit 1 ;; - esac -done - -# Start main test - -if [ $TESTPROTO -eq "-4" ] -then - PROTO="ipv4" -else - PROTO="ipv6" -fi -DATE=`date "+%Y-%m-%d %H:%M:%S"` - - LOG=/var/log/netspeedtest.log - echo -ne "\n netperf测速" | tee -a $LOG - echo -ne "\n 测服信息:$TESTHOST 协议:($PROTO) 线程:$MAXSESSIONS " | tee -a $LOG -# Start Ping -if [ $TESTPROTO -eq "-4" ] -then - "${PING4}" $PINGHOST > $PINGFILE & -else - "${PING6}" $PINGHOST > $PINGFILE & -fi -ping_pid=$! -# echo "Ping PID: $ping_pid" - -# Start $MAXSESSIONS upload datastreams from netperf client to the netperf server -# netperf writes the sole output value (in Mbps) to stdout when completed -for i in $( seq $MAXSESSIONS ) -do - netperf $TESTPROTO -H $TESTHOST -t TCP_STREAM -l $TESTDUR -v 0 -P 0 >> $ULFILE & - # echo "Starting upload #$i $!" -done - -# Start $MAXSESSIONS download datastreams from netperf server to the client -for i in $( seq $MAXSESSIONS ) -do - netperf $TESTPROTO -H $TESTHOST -t TCP_MAERTS -l $TESTDUR -v 0 -P 0 >> $DLFILE & - # echo "Starting download #$i $!" -done - -# Wait until each of the background netperf processes completes -# echo "Process is $$" -# echo `pgrep -P $$ netperf ` - -for i in `pgrep -P $$ netperf` # get a list of PIDs for child processes named 'netperf' -do - # echo "Waiting for $i" - wait $i -done - -# Stop the pings after the netperf's are all done -kill -9 $ping_pid -wait $ping_pid 2>/dev/null - - echo -ne "\n 下行速率:" `awk '{s+=$1} END {print s}' $DLFILE` Mbps | tee -a $LOG - echo -ne " ---- 上行速率:" `awk '{s+=$1} END {print s}' $ULFILE` Mbps | tee -a $LOG - echo -ne "\n 测试时间: " | tee -a $LOG - echo $(date +%Y-%m-%d" "%H:%M:%S) | tee -a $LOG - echo -ne " ————————————————————————————\n" | tee -a $LOG - -# Clean up -rm $PINGFILE -rm $DLFILE -rm $ULFILE