diff --git a/adguardhome/Makefile b/adguardhome/Makefile index a5c4d6761..528fc4a78 100644 --- a/adguardhome/Makefile +++ b/adguardhome/Makefile @@ -62,14 +62,5 @@ define Build/Compile ) endef -define Package/adguardhome/install - $(call GoPackage/Package/Install/Bin,$(1)) - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) ./files/adguardhome.init $(1)/etc/init.d/adguardhome - - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_DATA) ./files/adguardhome.config $(1)/etc/config/adguardhome -endef - $(eval $(call GoBinPackage,adguardhome)) $(eval $(call BuildPackage,adguardhome)) diff --git a/homeproxy/htdocs/luci-static/resources/view/homeproxy/node.js b/homeproxy/htdocs/luci-static/resources/view/homeproxy/node.js index 8a89d133f..3a46e7a4c 100644 --- a/homeproxy/htdocs/luci-static/resources/view/homeproxy/node.js +++ b/homeproxy/htdocs/luci-static/resources/view/homeproxy/node.js @@ -214,10 +214,14 @@ function parseShareLink(uri, features) { port: url.port || '80', uuid: url.username, transport: params.get('type') !== 'tcp' ? params.get('type') : null, - tls: params.get('security') ? '1' : '0', + tls: ['tls', 'xtls', 'reality'].includes(params.get('security')) ? '1' : '0', tls_sni: params.get('sni'), tls_alpn: params.get('alpn') ? decodeURIComponent(params.get('alpn')).split(',') : null, - tls_utls: features.with_utls ? params.get('fp') : null + tls_reality: (params.get('security') === 'reality') ? '1' : '0', + tls_reality_public_key: params.get('pbk') ? decodeURIComponent(params.get('pbk')) : null, + tls_reality_short_id: params.get('sid'), + tls_utls: features.with_utls ? params.get('fp') : null, + vless_flow: ['tls', 'reality'].includes(params.get('security')) ? params.get('flow') : null }; switch (params.get('type')) { case 'grpc': @@ -1081,6 +1085,10 @@ return view.extend({ let tls_reality = this.map.lookupOption('tls_reality', section_id)[0].formvalue(section_id); if (tls_reality.checked && !value) return _('Expecting: %s').format(_('non-empty value')); + + let vless_flow = this.map.lookupOption('vless_flow', section_id)[0].formvalue(section_id); + if ((tls_reality.checked || vless_flow) && ['360', 'android'].includes(value)) + return _('Unsupported fingerprint!'); } return true; diff --git a/homeproxy/po/templates/homeproxy.pot b/homeproxy/po/templates/homeproxy.pot index d181525c2..16b9ce248 100644 --- a/homeproxy/po/templates/homeproxy.pot +++ b/homeproxy/po/templates/homeproxy.pot @@ -5,70 +5,70 @@ msgstr "Content-Type: text/plain; charset=UTF-8" msgid "%s log" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1222 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1264 msgid "%s nodes removed" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1034 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1072 msgid "360" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:393 +#: htdocs/luci-static/resources/view/homeproxy/client.js:395 msgid "4 or 6. Not limited if empty." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1001 -#: htdocs/luci-static/resources/view/homeproxy/server.js:450 -#: htdocs/luci-static/resources/view/homeproxy/server.js:466 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1039 +#: htdocs/luci-static/resources/view/homeproxy/server.js:453 +#: htdocs/luci-static/resources/view/homeproxy/server.js:469 msgid "Save your configuration before uploading files!" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:504 +#: htdocs/luci-static/resources/view/homeproxy/server.js:507 msgid "Accept connections without Proxy Protocol header." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:503 +#: htdocs/luci-static/resources/view/homeproxy/server.js:506 msgid "Accept no header" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:801 +#: htdocs/luci-static/resources/view/homeproxy/client.js:805 msgid "Access Control" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:649 +#: htdocs/luci-static/resources/view/homeproxy/client.js:653 msgid "Add a DNS rule" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:561 +#: htdocs/luci-static/resources/view/homeproxy/client.js:564 msgid "Add a DNS server" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:310 +#: htdocs/luci-static/resources/view/homeproxy/node.js:348 msgid "Add a node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:303 +#: htdocs/luci-static/resources/view/homeproxy/client.js:304 msgid "Add a routing node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:378 +#: htdocs/luci-static/resources/view/homeproxy/client.js:380 msgid "Add a routing rule" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:41 +#: htdocs/luci-static/resources/view/homeproxy/server.js:42 msgid "Add a server" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:575 -#: htdocs/luci-static/resources/view/homeproxy/node.js:446 +#: htdocs/luci-static/resources/view/homeproxy/client.js:578 +#: htdocs/luci-static/resources/view/homeproxy/node.js:484 msgid "Address" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:579 +#: htdocs/luci-static/resources/view/homeproxy/client.js:582 msgid "Address resolver" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:610 +#: htdocs/luci-static/resources/view/homeproxy/client.js:613 msgid "Address strategy" msgstr "" @@ -80,21 +80,21 @@ msgstr "" msgid "All ports" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:954 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1148 +#: htdocs/luci-static/resources/view/homeproxy/node.js:992 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1190 msgid "Allow insecure" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:955 +#: htdocs/luci-static/resources/view/homeproxy/node.js:993 msgid "Allow insecure connection at TLS client." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1149 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1191 msgid "Allow insecure connection by default when add nodes from subscriptions." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:820 -#: htdocs/luci-static/resources/view/homeproxy/server.js:296 +#: htdocs/luci-static/resources/view/homeproxy/node.js:858 +#: htdocs/luci-static/resources/view/homeproxy/server.js:285 msgid "Allowed payload size is in the request." msgstr "" @@ -106,37 +106,37 @@ msgstr "" msgid "Already in updating." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:692 -#: htdocs/luci-static/resources/view/homeproxy/server.js:212 +#: htdocs/luci-static/resources/view/homeproxy/node.js:730 +#: htdocs/luci-static/resources/view/homeproxy/server.js:201 msgid "Alter ID" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:411 +#: htdocs/luci-static/resources/view/homeproxy/server.js:414 msgid "Alternative HTTP port" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:417 +#: htdocs/luci-static/resources/view/homeproxy/server.js:420 msgid "Alternative TLS port" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1185 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1227 msgid "An error occurred during updating subscriptions: %s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1035 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1073 msgid "Android" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:987 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1025 msgid "Append self-signed certificate" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:410 +#: htdocs/luci-static/resources/view/homeproxy/node.js:448 msgid "Applied" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:403 -#: htdocs/luci-static/resources/view/homeproxy/node.js:413 +#: htdocs/luci-static/resources/view/homeproxy/node.js:441 +#: htdocs/luci-static/resources/view/homeproxy/node.js:451 msgid "Apply" msgstr "" @@ -144,17 +144,17 @@ msgstr "" msgid "Are you sure to allow insecure?" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:716 +#: htdocs/luci-static/resources/view/homeproxy/node.js:754 msgid "Authenticated length" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:522 -#: htdocs/luci-static/resources/view/homeproxy/server.js:153 +#: htdocs/luci-static/resources/view/homeproxy/node.js:560 +#: htdocs/luci-static/resources/view/homeproxy/server.js:142 msgid "Authentication payload" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:513 -#: htdocs/luci-static/resources/view/homeproxy/server.js:144 +#: htdocs/luci-static/resources/view/homeproxy/node.js:551 +#: htdocs/luci-static/resources/view/homeproxy/server.js:133 msgid "Authentication type" msgstr "" @@ -162,16 +162,16 @@ msgstr "" msgid "Auto configure firewall" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1102 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1144 msgid "Auto update" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1103 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1145 msgid "Auto update subscriptions, GeoIP and GeoSite." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:515 -#: htdocs/luci-static/resources/view/homeproxy/server.js:146 +#: htdocs/luci-static/resources/view/homeproxy/node.js:553 +#: htdocs/luci-static/resources/view/homeproxy/server.js:135 msgid "Base64" msgstr "" @@ -179,35 +179,35 @@ msgstr "" msgid "Based on google/gvisor (recommended)." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:330 -#: htdocs/luci-static/resources/view/homeproxy/client.js:814 +#: htdocs/luci-static/resources/view/homeproxy/client.js:331 +#: htdocs/luci-static/resources/view/homeproxy/client.js:818 msgid "Bind interface" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:815 +#: htdocs/luci-static/resources/view/homeproxy/client.js:819 msgid "" "Bind outbound traffic to specific interface. Leave empty to auto detect." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1138 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1180 msgid "Blacklist mode" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:282 -#: htdocs/luci-static/resources/view/homeproxy/client.js:504 -#: htdocs/luci-static/resources/view/homeproxy/client.js:765 +#: htdocs/luci-static/resources/view/homeproxy/client.js:506 +#: htdocs/luci-static/resources/view/homeproxy/client.js:769 msgid "Block" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:533 -#: htdocs/luci-static/resources/view/homeproxy/client.js:782 +#: htdocs/luci-static/resources/view/homeproxy/client.js:535 +#: htdocs/luci-static/resources/view/homeproxy/client.js:786 msgid "Block DNS queries" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:396 -#: htdocs/luci-static/resources/view/homeproxy/client.js:417 -#: htdocs/luci-static/resources/view/homeproxy/client.js:681 -#: htdocs/luci-static/resources/view/homeproxy/server.js:512 +#: htdocs/luci-static/resources/view/homeproxy/client.js:398 +#: htdocs/luci-static/resources/view/homeproxy/client.js:419 +#: htdocs/luci-static/resources/view/homeproxy/client.js:685 +#: htdocs/luci-static/resources/view/homeproxy/server.js:515 msgid "Both" msgstr "" @@ -223,16 +223,16 @@ msgstr "" msgid "Bypass mainland China traffic via firewall rules by default." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:393 +#: htdocs/luci-static/resources/view/homeproxy/server.js:396 msgid "CA provider" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:323 +#: htdocs/luci-static/resources/view/homeproxy/node.js:361 msgid "Cancel" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:993 -#: htdocs/luci-static/resources/view/homeproxy/server.js:441 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1031 +#: htdocs/luci-static/resources/view/homeproxy/server.js:444 msgid "Certificate path" msgstr "" @@ -252,12 +252,12 @@ msgstr "" msgid "China list version" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1036 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1074 msgid "Chrome" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:979 -#: htdocs/luci-static/resources/view/homeproxy/server.js:351 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1017 +#: htdocs/luci-static/resources/view/homeproxy/server.js:354 msgid "Cipher suites" msgstr "" @@ -290,52 +290,52 @@ msgstr "" msgid "Custom routing" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:688 +#: htdocs/luci-static/resources/view/homeproxy/client.js:692 msgid "DNS" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:641 +#: htdocs/luci-static/resources/view/homeproxy/client.js:644 msgid "DNS Rules" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:553 +#: htdocs/luci-static/resources/view/homeproxy/client.js:555 msgid "DNS Servers" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:517 +#: htdocs/luci-static/resources/view/homeproxy/client.js:519 msgid "DNS Settings" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:649 +#: htdocs/luci-static/resources/view/homeproxy/client.js:653 msgid "DNS rule" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:155 -#: htdocs/luci-static/resources/view/homeproxy/client.js:561 +#: htdocs/luci-static/resources/view/homeproxy/client.js:564 msgid "DNS server" msgstr "" #: htdocs/luci-static/resources/homeproxy.js:17 -#: htdocs/luci-static/resources/view/homeproxy/client.js:404 -#: htdocs/luci-static/resources/view/homeproxy/client.js:668 +#: htdocs/luci-static/resources/view/homeproxy/client.js:406 +#: htdocs/luci-static/resources/view/homeproxy/client.js:672 msgid "Default" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:532 -#: htdocs/luci-static/resources/view/homeproxy/client.js:586 -#: htdocs/luci-static/resources/view/homeproxy/client.js:781 +#: htdocs/luci-static/resources/view/homeproxy/client.js:534 +#: htdocs/luci-static/resources/view/homeproxy/client.js:589 +#: htdocs/luci-static/resources/view/homeproxy/client.js:785 msgid "Default DNS (issued by WAN)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:527 +#: htdocs/luci-static/resources/view/homeproxy/client.js:529 msgid "Default DNS server" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:522 +#: htdocs/luci-static/resources/view/homeproxy/client.js:524 msgid "Default DNS strategy" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:617 +#: htdocs/luci-static/resources/view/homeproxy/client.js:620 msgid "Default domain strategy for resolving the domain names." msgstr "" @@ -343,130 +343,130 @@ msgstr "" msgid "Default outbound" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1156 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1198 msgid "Default packet encoding" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:372 +#: htdocs/luci-static/resources/view/homeproxy/server.js:375 msgid "Default server name" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:281 -#: htdocs/luci-static/resources/view/homeproxy/client.js:343 -#: htdocs/luci-static/resources/view/homeproxy/client.js:503 -#: htdocs/luci-static/resources/view/homeproxy/client.js:627 -#: htdocs/luci-static/resources/view/homeproxy/client.js:764 -#: htdocs/luci-static/resources/view/homeproxy/node.js:430 +#: htdocs/luci-static/resources/view/homeproxy/client.js:344 +#: htdocs/luci-static/resources/view/homeproxy/client.js:505 +#: htdocs/luci-static/resources/view/homeproxy/client.js:630 +#: htdocs/luci-static/resources/view/homeproxy/client.js:768 +#: htdocs/luci-static/resources/view/homeproxy/node.js:468 msgid "Direct" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:950 +#: htdocs/luci-static/resources/view/homeproxy/client.js:954 msgid "Direct Domain List" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:844 -#: htdocs/luci-static/resources/view/homeproxy/client.js:912 +#: htdocs/luci-static/resources/view/homeproxy/client.js:848 +#: htdocs/luci-static/resources/view/homeproxy/client.js:916 msgid "Direct IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:851 -#: htdocs/luci-static/resources/view/homeproxy/client.js:915 +#: htdocs/luci-static/resources/view/homeproxy/client.js:855 +#: htdocs/luci-static/resources/view/homeproxy/client.js:919 msgid "Direct IPv6 IP-s" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:139 #: htdocs/luci-static/resources/view/homeproxy/client.js:147 #: htdocs/luci-static/resources/view/homeproxy/client.js:280 -#: htdocs/luci-static/resources/view/homeproxy/client.js:838 -#: htdocs/luci-static/resources/view/homeproxy/node.js:495 -#: htdocs/luci-static/resources/view/homeproxy/node.js:514 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1033 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1137 -#: htdocs/luci-static/resources/view/homeproxy/server.js:145 +#: htdocs/luci-static/resources/view/homeproxy/client.js:842 +#: htdocs/luci-static/resources/view/homeproxy/node.js:533 +#: htdocs/luci-static/resources/view/homeproxy/node.js:552 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1071 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1179 +#: htdocs/luci-static/resources/view/homeproxy/server.js:134 msgid "Disable" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:544 +#: htdocs/luci-static/resources/view/homeproxy/client.js:546 msgid "Disable DNS cache" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:401 +#: htdocs/luci-static/resources/view/homeproxy/server.js:404 msgid "Disable HTTP challenge" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:556 -#: htdocs/luci-static/resources/view/homeproxy/server.js:184 +#: htdocs/luci-static/resources/view/homeproxy/node.js:594 +#: htdocs/luci-static/resources/view/homeproxy/server.js:173 msgid "Disable Path MTU discovery" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:406 +#: htdocs/luci-static/resources/view/homeproxy/server.js:409 msgid "Disable TLS ALPN challenge" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:794 +#: htdocs/luci-static/resources/view/homeproxy/client.js:798 msgid "Disable cache and save cache in this query." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:547 +#: htdocs/luci-static/resources/view/homeproxy/client.js:549 msgid "Disable cache expire" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:793 +#: htdocs/luci-static/resources/view/homeproxy/client.js:797 msgid "Disable dns cache" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1015 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1053 msgid "Disable dynamic record sizing" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:557 -#: htdocs/luci-static/resources/view/homeproxy/server.js:185 +#: htdocs/luci-static/resources/view/homeproxy/node.js:595 +#: htdocs/luci-static/resources/view/homeproxy/server.js:174 msgid "" "Disables Path MTU Discovery (RFC 8899). Packets will then be at most 1252 " "(IPv4) / 1232 (IPv6) bytes in size." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:435 -#: htdocs/luci-static/resources/view/homeproxy/client.js:700 +#: htdocs/luci-static/resources/view/homeproxy/client.js:437 +#: htdocs/luci-static/resources/view/homeproxy/client.js:704 msgid "Domain keyword" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:426 -#: htdocs/luci-static/resources/view/homeproxy/client.js:691 +#: htdocs/luci-static/resources/view/homeproxy/client.js:428 +#: htdocs/luci-static/resources/view/homeproxy/client.js:695 msgid "Domain name" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:439 -#: htdocs/luci-static/resources/view/homeproxy/client.js:704 +#: htdocs/luci-static/resources/view/homeproxy/client.js:441 +#: htdocs/luci-static/resources/view/homeproxy/client.js:708 msgid "Domain regex" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:324 -#: htdocs/luci-static/resources/view/homeproxy/server.js:491 +#: htdocs/luci-static/resources/view/homeproxy/client.js:325 +#: htdocs/luci-static/resources/view/homeproxy/server.js:494 msgid "Domain strategy" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:431 -#: htdocs/luci-static/resources/view/homeproxy/client.js:696 +#: htdocs/luci-static/resources/view/homeproxy/client.js:433 +#: htdocs/luci-static/resources/view/homeproxy/client.js:700 msgid "Domain suffix" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:366 +#: htdocs/luci-static/resources/view/homeproxy/server.js:369 msgid "Domains" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1144 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1186 msgid "" "Drop/keep nodes that contain the specific keywords. Regex is supported." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1136 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1178 msgid "Drop/keep specific nodes from subscriptions." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:424 +#: htdocs/luci-static/resources/view/homeproxy/server.js:427 msgid "" "EAB (External Account Binding) contains information necessary to bind or map " "an ACME account to some other account known by the CA.
External account " @@ -474,35 +474,35 @@ msgid "" "a non-ACME system, such as a CA customer database." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1010 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1048 msgid "" "ECH (Encrypted Client Hello) is a TLS extension that allows a client to " "encrypt the first part of its ClientHello message." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1025 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1063 msgid "ECH config" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:819 -#: htdocs/luci-static/resources/view/homeproxy/server.js:295 +#: htdocs/luci-static/resources/view/homeproxy/node.js:857 +#: htdocs/luci-static/resources/view/homeproxy/server.js:284 msgid "Early data" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:826 -#: htdocs/luci-static/resources/view/homeproxy/server.js:302 +#: htdocs/luci-static/resources/view/homeproxy/node.js:864 +#: htdocs/luci-static/resources/view/homeproxy/server.js:291 msgid "Early data header name" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:303 +#: htdocs/luci-static/resources/view/homeproxy/server.js:292 msgid "Early data is sent in path instead of header by default." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1037 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1075 msgid "Edge" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:298 +#: htdocs/luci-static/resources/view/homeproxy/node.js:335 msgid "Edit nodes" msgstr "" @@ -510,33 +510,33 @@ msgstr "" msgid "Edit servers" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:378 +#: htdocs/luci-static/resources/view/homeproxy/server.js:381 msgid "Email" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:312 -#: htdocs/luci-static/resources/view/homeproxy/client.js:387 -#: htdocs/luci-static/resources/view/homeproxy/client.js:570 -#: htdocs/luci-static/resources/view/homeproxy/client.js:658 +#: htdocs/luci-static/resources/view/homeproxy/client.js:313 +#: htdocs/luci-static/resources/view/homeproxy/client.js:389 +#: htdocs/luci-static/resources/view/homeproxy/client.js:573 +#: htdocs/luci-static/resources/view/homeproxy/client.js:662 #: htdocs/luci-static/resources/view/homeproxy/server.js:30 -#: htdocs/luci-static/resources/view/homeproxy/server.js:51 +#: htdocs/luci-static/resources/view/homeproxy/server.js:52 msgid "Enable" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:360 +#: htdocs/luci-static/resources/view/homeproxy/server.js:363 msgid "Enable ACME" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1009 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1047 msgid "Enable ECH" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1020 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1058 msgid "Enable PQ signature schemes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1079 -#: htdocs/luci-static/resources/view/homeproxy/server.js:482 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1121 +#: htdocs/luci-static/resources/view/homeproxy/server.js:485 msgid "Enable UDP fragmentation." msgstr "" @@ -544,19 +544,19 @@ msgstr "" msgid "Enable endpoint-independent NAT" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:476 +#: htdocs/luci-static/resources/view/homeproxy/server.js:479 msgid "Enable tcp fast open for listener." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1084 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1126 msgid "" "Enable the SUoT protocol, requires server support. Conflict with multiplex." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:564 -#: htdocs/luci-static/resources/view/homeproxy/node.js:596 -#: htdocs/luci-static/resources/view/homeproxy/node.js:698 -#: htdocs/luci-static/resources/view/homeproxy/server.js:192 +#: htdocs/luci-static/resources/view/homeproxy/node.js:602 +#: htdocs/luci-static/resources/view/homeproxy/node.js:634 +#: htdocs/luci-static/resources/view/homeproxy/node.js:736 +#: htdocs/luci-static/resources/view/homeproxy/server.js:181 msgid "Encrypt method" msgstr "" @@ -572,28 +572,28 @@ msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:175 #: htdocs/luci-static/resources/view/homeproxy/client.js:203 #: htdocs/luci-static/resources/view/homeproxy/client.js:208 -#: htdocs/luci-static/resources/view/homeproxy/client.js:943 -#: htdocs/luci-static/resources/view/homeproxy/client.js:972 -#: htdocs/luci-static/resources/view/homeproxy/node.js:385 -#: htdocs/luci-static/resources/view/homeproxy/node.js:484 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1049 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1125 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1128 -#: htdocs/luci-static/resources/view/homeproxy/server.js:113 -#: htdocs/luci-static/resources/view/homeproxy/server.js:384 -#: htdocs/luci-static/resources/view/homeproxy/server.js:386 +#: htdocs/luci-static/resources/view/homeproxy/client.js:947 +#: htdocs/luci-static/resources/view/homeproxy/client.js:976 +#: htdocs/luci-static/resources/view/homeproxy/node.js:423 +#: htdocs/luci-static/resources/view/homeproxy/node.js:522 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1087 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1167 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1170 +#: htdocs/luci-static/resources/view/homeproxy/server.js:102 +#: htdocs/luci-static/resources/view/homeproxy/server.js:387 +#: htdocs/luci-static/resources/view/homeproxy/server.js:389 msgid "Expecting: %s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:423 +#: htdocs/luci-static/resources/view/homeproxy/server.js:426 msgid "External Account Binding" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:435 +#: htdocs/luci-static/resources/view/homeproxy/server.js:438 msgid "External account MAC key" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:430 +#: htdocs/luci-static/resources/view/homeproxy/server.js:433 msgid "External account key ID" msgstr "" @@ -601,24 +601,24 @@ msgstr "" msgid "Failed to upload %s, error: %s." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1143 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1185 msgid "Filter keywords" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1135 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1177 msgid "Filter nodes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1038 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1076 msgid "Firefox" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:686 -#: htdocs/luci-static/resources/view/homeproxy/server.js:206 +#: htdocs/luci-static/resources/view/homeproxy/node.js:724 +#: htdocs/luci-static/resources/view/homeproxy/server.js:195 msgid "Flow" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:788 +#: htdocs/luci-static/resources/view/homeproxy/node.js:826 msgid "GET" msgstr "" @@ -630,15 +630,15 @@ msgstr "" msgid "GFWList" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:874 +#: htdocs/luci-static/resources/view/homeproxy/client.js:878 msgid "Gaming mode IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:880 +#: htdocs/luci-static/resources/view/homeproxy/client.js:884 msgid "Gaming mode IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:451 +#: htdocs/luci-static/resources/view/homeproxy/client.js:453 msgid "GeoIP" msgstr "" @@ -650,8 +650,8 @@ msgstr "" msgid "GeoSite version" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:443 -#: htdocs/luci-static/resources/view/homeproxy/client.js:708 +#: htdocs/luci-static/resources/view/homeproxy/client.js:445 +#: htdocs/luci-static/resources/view/homeproxy/client.js:712 msgid "Geosite" msgstr "" @@ -659,11 +659,11 @@ msgstr "" msgid "Global" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:887 +#: htdocs/luci-static/resources/view/homeproxy/client.js:891 msgid "Global proxy IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:894 +#: htdocs/luci-static/resources/view/homeproxy/client.js:898 msgid "Global proxy IPv6 IP-s" msgstr "" @@ -679,12 +679,12 @@ msgstr "" msgid "Grant access to homeproxy configuration" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:421 -#: htdocs/luci-static/resources/view/homeproxy/client.js:685 -#: htdocs/luci-static/resources/view/homeproxy/node.js:431 -#: htdocs/luci-static/resources/view/homeproxy/node.js:729 -#: htdocs/luci-static/resources/view/homeproxy/server.js:57 -#: htdocs/luci-static/resources/view/homeproxy/server.js:224 +#: htdocs/luci-static/resources/view/homeproxy/client.js:423 +#: htdocs/luci-static/resources/view/homeproxy/client.js:689 +#: htdocs/luci-static/resources/view/homeproxy/node.js:469 +#: htdocs/luci-static/resources/view/homeproxy/node.js:767 +#: htdocs/luci-static/resources/view/homeproxy/server.js:58 +#: htdocs/luci-static/resources/view/homeproxy/server.js:213 msgid "HTTP" msgstr "" @@ -695,28 +695,28 @@ msgstr "" msgid "HomeProxy" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:778 -#: htdocs/luci-static/resources/view/homeproxy/node.js:811 -#: htdocs/luci-static/resources/view/homeproxy/server.js:257 -#: htdocs/luci-static/resources/view/homeproxy/server.js:287 +#: htdocs/luci-static/resources/view/homeproxy/node.js:816 +#: htdocs/luci-static/resources/view/homeproxy/node.js:849 +#: htdocs/luci-static/resources/view/homeproxy/server.js:246 +#: htdocs/luci-static/resources/view/homeproxy/server.js:276 msgid "Host" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:433 -#: htdocs/luci-static/resources/view/homeproxy/server.js:59 +#: htdocs/luci-static/resources/view/homeproxy/node.js:471 +#: htdocs/luci-static/resources/view/homeproxy/server.js:60 msgid "Hysteria" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:460 -#: htdocs/luci-static/resources/view/homeproxy/client.js:721 +#: htdocs/luci-static/resources/view/homeproxy/client.js:462 +#: htdocs/luci-static/resources/view/homeproxy/client.js:725 msgid "IP CIDR" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:392 +#: htdocs/luci-static/resources/view/homeproxy/client.js:394 msgid "IP version" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:394 +#: htdocs/luci-static/resources/view/homeproxy/client.js:396 msgid "IPv4" msgstr "" @@ -724,7 +724,7 @@ msgstr "" msgid "IPv4 only" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:395 +#: htdocs/luci-static/resources/view/homeproxy/client.js:397 msgid "IPv6" msgstr "" @@ -736,70 +736,70 @@ msgstr "" msgid "IPv6 support" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:793 -#: htdocs/luci-static/resources/view/homeproxy/server.js:270 +#: htdocs/luci-static/resources/view/homeproxy/node.js:831 +#: htdocs/luci-static/resources/view/homeproxy/server.js:259 msgid "Idle timeout" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:770 +#: htdocs/luci-static/resources/view/homeproxy/node.js:808 msgid "" "If enabled, the client transport sends keepalive pings even with no active " "connections." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:492 +#: htdocs/luci-static/resources/view/homeproxy/server.js:495 msgid "" "If set, the requested domain name will be resolved to IP before routing." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:325 +#: htdocs/luci-static/resources/view/homeproxy/client.js:326 msgid "" "If set, the server domain name will be resolved to IP before connecting.
dns.strategy will be used if empty." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:755 -#: htdocs/luci-static/resources/view/homeproxy/server.js:242 +#: htdocs/luci-static/resources/view/homeproxy/node.js:793 +#: htdocs/luci-static/resources/view/homeproxy/server.js:231 msgid "" "If the transport doesn't see any activity after a duration of this time, it " "pings the client to check if the connection is still active." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:988 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1026 msgid "" "If you have the root certificate, use this option instead of allowing " "insecure." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:368 +#: htdocs/luci-static/resources/view/homeproxy/node.js:406 msgid "Import" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:316 -#: htdocs/luci-static/resources/view/homeproxy/node.js:394 -#: htdocs/luci-static/resources/view/homeproxy/node.js:396 +#: htdocs/luci-static/resources/view/homeproxy/node.js:354 +#: htdocs/luci-static/resources/view/homeproxy/node.js:432 +#: htdocs/luci-static/resources/view/homeproxy/node.js:434 msgid "Import share links" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:807 +#: htdocs/luci-static/resources/view/homeproxy/client.js:811 msgid "Interface Control" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:409 -#: htdocs/luci-static/resources/view/homeproxy/client.js:673 +#: htdocs/luci-static/resources/view/homeproxy/client.js:411 +#: htdocs/luci-static/resources/view/homeproxy/client.js:677 msgid "Invert" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:410 -#: htdocs/luci-static/resources/view/homeproxy/client.js:674 +#: htdocs/luci-static/resources/view/homeproxy/client.js:412 +#: htdocs/luci-static/resources/view/homeproxy/client.js:678 msgid "Invert match result." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:457 +#: htdocs/luci-static/resources/view/homeproxy/server.js:460 msgid "Key path" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:821 +#: htdocs/luci-static/resources/view/homeproxy/client.js:825 msgid "LAN IP Policy" msgstr "" @@ -807,17 +807,17 @@ msgstr "" msgid "LWIP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:307 -#: htdocs/luci-static/resources/view/homeproxy/client.js:382 -#: htdocs/luci-static/resources/view/homeproxy/client.js:565 -#: htdocs/luci-static/resources/view/homeproxy/client.js:653 -#: htdocs/luci-static/resources/view/homeproxy/node.js:424 -#: htdocs/luci-static/resources/view/homeproxy/server.js:45 +#: htdocs/luci-static/resources/view/homeproxy/client.js:308 +#: htdocs/luci-static/resources/view/homeproxy/client.js:384 +#: htdocs/luci-static/resources/view/homeproxy/client.js:568 +#: htdocs/luci-static/resources/view/homeproxy/client.js:657 +#: htdocs/luci-static/resources/view/homeproxy/node.js:462 +#: htdocs/luci-static/resources/view/homeproxy/server.js:46 msgid "Label" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:693 -#: htdocs/luci-static/resources/view/homeproxy/server.js:213 +#: htdocs/luci-static/resources/view/homeproxy/node.js:731 +#: htdocs/luci-static/resources/view/homeproxy/server.js:202 msgid "" "Legacy protocol support (VMess MD5 Authentication) is provided for " "compatibility purposes only, use of alterId > 1 is not recommended." @@ -827,21 +827,21 @@ msgstr "" msgid "Less compatibility and sometimes better performance." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:395 +#: htdocs/luci-static/resources/view/homeproxy/server.js:398 msgid "Let's Encrypt" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:843 +#: htdocs/luci-static/resources/view/homeproxy/node.js:881 msgid "" "List of IP (v4 or v6) addresses prefixes to be assigned to the interface." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:950 -#: htdocs/luci-static/resources/view/homeproxy/server.js:331 +#: htdocs/luci-static/resources/view/homeproxy/node.js:988 +#: htdocs/luci-static/resources/view/homeproxy/server.js:334 msgid "List of supported application level protocols, in order of preference." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:809 +#: htdocs/luci-static/resources/view/homeproxy/client.js:813 msgid "Listen interfaces" msgstr "" @@ -849,7 +849,7 @@ msgstr "" msgid "Loading" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:842 +#: htdocs/luci-static/resources/view/homeproxy/node.js:880 msgid "Local address" msgstr "" @@ -861,7 +861,7 @@ msgstr "" msgid "Log is empty." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:869 +#: htdocs/luci-static/resources/view/homeproxy/node.js:907 msgid "MTU" msgstr "" @@ -873,158 +873,158 @@ msgstr "" msgid "Main node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:452 +#: htdocs/luci-static/resources/view/homeproxy/client.js:454 msgid "Match GeoIP." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:461 -#: htdocs/luci-static/resources/view/homeproxy/client.js:722 +#: htdocs/luci-static/resources/view/homeproxy/client.js:463 +#: htdocs/luci-static/resources/view/homeproxy/client.js:726 msgid "Match IP CIDR." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:432 -#: htdocs/luci-static/resources/view/homeproxy/client.js:697 +#: htdocs/luci-static/resources/view/homeproxy/client.js:434 +#: htdocs/luci-static/resources/view/homeproxy/client.js:701 msgid "Match domain suffix." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:436 -#: htdocs/luci-static/resources/view/homeproxy/client.js:701 +#: htdocs/luci-static/resources/view/homeproxy/client.js:438 +#: htdocs/luci-static/resources/view/homeproxy/client.js:705 msgid "Match domain using keyword." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:440 -#: htdocs/luci-static/resources/view/homeproxy/client.js:705 +#: htdocs/luci-static/resources/view/homeproxy/client.js:442 +#: htdocs/luci-static/resources/view/homeproxy/client.js:709 msgid "Match domain using regular expression." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:427 -#: htdocs/luci-static/resources/view/homeproxy/client.js:692 +#: htdocs/luci-static/resources/view/homeproxy/client.js:429 +#: htdocs/luci-static/resources/view/homeproxy/client.js:696 msgid "Match full domain." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:444 -#: htdocs/luci-static/resources/view/homeproxy/client.js:709 +#: htdocs/luci-static/resources/view/homeproxy/client.js:446 +#: htdocs/luci-static/resources/view/homeproxy/client.js:713 msgid "Match geosite." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:759 +#: htdocs/luci-static/resources/view/homeproxy/client.js:763 msgid "Match outbound." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:481 -#: htdocs/luci-static/resources/view/homeproxy/client.js:742 +#: htdocs/luci-static/resources/view/homeproxy/client.js:483 +#: htdocs/luci-static/resources/view/homeproxy/client.js:746 msgid "Match port range. Format as START:/:END/START:END." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:476 -#: htdocs/luci-static/resources/view/homeproxy/client.js:737 +#: htdocs/luci-static/resources/view/homeproxy/client.js:478 +#: htdocs/luci-static/resources/view/homeproxy/client.js:741 msgid "Match port." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:486 -#: htdocs/luci-static/resources/view/homeproxy/client.js:747 +#: htdocs/luci-static/resources/view/homeproxy/client.js:488 +#: htdocs/luci-static/resources/view/homeproxy/client.js:751 msgid "Match process name." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:490 -#: htdocs/luci-static/resources/view/homeproxy/client.js:751 +#: htdocs/luci-static/resources/view/homeproxy/client.js:492 +#: htdocs/luci-static/resources/view/homeproxy/client.js:755 msgid "Match process path." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:448 -#: htdocs/luci-static/resources/view/homeproxy/client.js:713 +#: htdocs/luci-static/resources/view/homeproxy/client.js:450 +#: htdocs/luci-static/resources/view/homeproxy/client.js:717 msgid "Match source GeoIP." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:456 -#: htdocs/luci-static/resources/view/homeproxy/client.js:717 +#: htdocs/luci-static/resources/view/homeproxy/client.js:458 +#: htdocs/luci-static/resources/view/homeproxy/client.js:721 msgid "Match source IP CIDR." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:471 -#: htdocs/luci-static/resources/view/homeproxy/client.js:732 +#: htdocs/luci-static/resources/view/homeproxy/client.js:473 +#: htdocs/luci-static/resources/view/homeproxy/client.js:736 msgid "Match source port range. Format as START:/:END/START:END." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:466 -#: htdocs/luci-static/resources/view/homeproxy/client.js:727 +#: htdocs/luci-static/resources/view/homeproxy/client.js:468 +#: htdocs/luci-static/resources/view/homeproxy/client.js:731 msgid "Match source port." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:494 -#: htdocs/luci-static/resources/view/homeproxy/client.js:755 +#: htdocs/luci-static/resources/view/homeproxy/client.js:496 +#: htdocs/luci-static/resources/view/homeproxy/client.js:759 msgid "Match user name." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:532 -#: htdocs/luci-static/resources/view/homeproxy/server.js:132 +#: htdocs/luci-static/resources/view/homeproxy/node.js:570 +#: htdocs/luci-static/resources/view/homeproxy/server.js:121 msgid "Max download speed" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:533 -#: htdocs/luci-static/resources/view/homeproxy/server.js:133 +#: htdocs/luci-static/resources/view/homeproxy/node.js:571 +#: htdocs/luci-static/resources/view/homeproxy/server.js:122 msgid "Max download speed in Mbps." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:538 -#: htdocs/luci-static/resources/view/homeproxy/server.js:138 +#: htdocs/luci-static/resources/view/homeproxy/node.js:576 +#: htdocs/luci-static/resources/view/homeproxy/server.js:127 msgid "Max upload speed" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:539 -#: htdocs/luci-static/resources/view/homeproxy/server.js:139 +#: htdocs/luci-static/resources/view/homeproxy/node.js:577 +#: htdocs/luci-static/resources/view/homeproxy/server.js:128 msgid "Max upload speed in Mbps." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:971 -#: htdocs/luci-static/resources/view/homeproxy/server.js:343 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1009 +#: htdocs/luci-static/resources/view/homeproxy/server.js:346 msgid "Maximum TLS version" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:896 +#: htdocs/luci-static/resources/view/homeproxy/node.js:934 msgid "Maximum connections" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:912 +#: htdocs/luci-static/resources/view/homeproxy/node.js:950 msgid "" "Maximum multiplexed streams in a connection before opening a new connection." "
Conflict with Maximum connections and Minimum " "streams." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:911 +#: htdocs/luci-static/resources/view/homeproxy/node.js:949 msgid "Maximum streams" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:787 -#: htdocs/luci-static/resources/view/homeproxy/server.js:266 +#: htdocs/luci-static/resources/view/homeproxy/node.js:825 +#: htdocs/luci-static/resources/view/homeproxy/server.js:255 msgid "Method" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:963 -#: htdocs/luci-static/resources/view/homeproxy/server.js:335 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1001 +#: htdocs/luci-static/resources/view/homeproxy/server.js:338 msgid "Minimum TLS version" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:904 +#: htdocs/luci-static/resources/view/homeproxy/node.js:942 msgid "" "Minimum multiplexed streams in a connection before opening a new connection." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:903 +#: htdocs/luci-static/resources/view/homeproxy/node.js:941 msgid "Minimum streams" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:399 -#: htdocs/luci-static/resources/view/homeproxy/client.js:663 +#: htdocs/luci-static/resources/view/homeproxy/client.js:401 +#: htdocs/luci-static/resources/view/homeproxy/client.js:667 msgid "Mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:878 +#: htdocs/luci-static/resources/view/homeproxy/node.js:916 msgid "Multiplex" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:886 +#: htdocs/luci-static/resources/view/homeproxy/node.js:924 msgid "Multiplex protocol." msgstr "" @@ -1032,46 +1032,46 @@ msgstr "" msgid "NOT RUNNING" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1162 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1204 msgid "NOTE: Save current settings before updating subscriptions." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:60 +#: htdocs/luci-static/resources/view/homeproxy/server.js:61 msgid "NaïveProxy" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:414 -#: htdocs/luci-static/resources/view/homeproxy/client.js:678 -#: htdocs/luci-static/resources/view/homeproxy/server.js:509 +#: htdocs/luci-static/resources/view/homeproxy/client.js:416 +#: htdocs/luci-static/resources/view/homeproxy/client.js:682 +#: htdocs/luci-static/resources/view/homeproxy/server.js:512 msgid "Network" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:726 -#: htdocs/luci-static/resources/view/homeproxy/node.js:742 -#: htdocs/luci-static/resources/view/homeproxy/server.js:221 -#: htdocs/luci-static/resources/view/homeproxy/server.js:234 +#: htdocs/luci-static/resources/view/homeproxy/node.js:764 +#: htdocs/luci-static/resources/view/homeproxy/node.js:780 +#: htdocs/luci-static/resources/view/homeproxy/server.js:210 +#: htdocs/luci-static/resources/view/homeproxy/server.js:223 msgid "No TCP transport, plain HTTP is merged into the HTTP transport." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:740 -#: htdocs/luci-static/resources/view/homeproxy/server.js:232 +#: htdocs/luci-static/resources/view/homeproxy/node.js:778 +#: htdocs/luci-static/resources/view/homeproxy/server.js:221 msgid "No additional encryption support: It's basically duplicate encryption." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1178 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1220 msgid "No subscription available" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1203 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1245 msgid "No subscription node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:355 +#: htdocs/luci-static/resources/view/homeproxy/node.js:393 msgid "No valid share link found." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:317 -#: htdocs/luci-static/resources/view/homeproxy/node.js:310 +#: htdocs/luci-static/resources/view/homeproxy/client.js:318 +#: htdocs/luci-static/resources/view/homeproxy/node.js:348 msgid "Node" msgstr "" @@ -1079,32 +1079,32 @@ msgstr "" msgid "Node Settings" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:303 +#: htdocs/luci-static/resources/view/homeproxy/node.js:340 msgid "Nodes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:585 -#: htdocs/luci-static/resources/view/homeproxy/node.js:687 -#: htdocs/luci-static/resources/view/homeproxy/node.js:727 -#: htdocs/luci-static/resources/view/homeproxy/server.js:207 -#: htdocs/luci-static/resources/view/homeproxy/server.js:222 +#: htdocs/luci-static/resources/view/homeproxy/client.js:588 +#: htdocs/luci-static/resources/view/homeproxy/node.js:725 +#: htdocs/luci-static/resources/view/homeproxy/node.js:765 +#: htdocs/luci-static/resources/view/homeproxy/server.js:196 +#: htdocs/luci-static/resources/view/homeproxy/server.js:211 msgid "None" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:644 +#: htdocs/luci-static/resources/view/homeproxy/node.js:682 msgid "Obfs" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:654 +#: htdocs/luci-static/resources/view/homeproxy/node.js:692 msgid "Obfs param" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:528 -#: htdocs/luci-static/resources/view/homeproxy/server.js:159 +#: htdocs/luci-static/resources/view/homeproxy/node.js:566 +#: htdocs/luci-static/resources/view/homeproxy/server.js:148 msgid "Obfuscate password" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:810 +#: htdocs/luci-static/resources/view/homeproxy/client.js:814 msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "" @@ -1112,52 +1112,52 @@ msgstr "" msgid "Only proxy mainland China" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:337 -#: htdocs/luci-static/resources/view/homeproxy/client.js:497 -#: htdocs/luci-static/resources/view/homeproxy/client.js:621 -#: htdocs/luci-static/resources/view/homeproxy/client.js:758 +#: htdocs/luci-static/resources/view/homeproxy/client.js:338 +#: htdocs/luci-static/resources/view/homeproxy/client.js:499 +#: htdocs/luci-static/resources/view/homeproxy/client.js:624 +#: htdocs/luci-static/resources/view/homeproxy/client.js:762 msgid "Outbound" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:318 +#: htdocs/luci-static/resources/view/homeproxy/client.js:319 msgid "Outbound node" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:270 -#: htdocs/luci-static/resources/view/homeproxy/server.js:487 +#: htdocs/luci-static/resources/view/homeproxy/server.js:490 msgid "Override destination" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:271 -#: htdocs/luci-static/resources/view/homeproxy/server.js:488 +#: htdocs/luci-static/resources/view/homeproxy/server.js:491 msgid "Override the connection destination address with the sniffed domain." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:789 +#: htdocs/luci-static/resources/view/homeproxy/node.js:827 msgid "PUT" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:832 +#: htdocs/luci-static/resources/view/homeproxy/node.js:870 msgid "Packet encoding" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:498 +#: htdocs/luci-static/resources/view/homeproxy/server.js:501 msgid "Parse Proxy Protocol in the connection header." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:459 -#: htdocs/luci-static/resources/view/homeproxy/server.js:93 +#: htdocs/luci-static/resources/view/homeproxy/node.js:497 +#: htdocs/luci-static/resources/view/homeproxy/server.js:82 msgid "Password" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:783 -#: htdocs/luci-static/resources/view/homeproxy/node.js:815 -#: htdocs/luci-static/resources/view/homeproxy/server.js:262 -#: htdocs/luci-static/resources/view/homeproxy/server.js:291 +#: htdocs/luci-static/resources/view/homeproxy/node.js:821 +#: htdocs/luci-static/resources/view/homeproxy/node.js:853 +#: htdocs/luci-static/resources/view/homeproxy/server.js:251 +#: htdocs/luci-static/resources/view/homeproxy/server.js:280 msgid "Path" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:856 +#: htdocs/luci-static/resources/view/homeproxy/node.js:894 msgid "Peer pubkic key" msgstr "" @@ -1167,23 +1167,23 @@ msgid "" "it is not needed." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:801 -#: htdocs/luci-static/resources/view/homeproxy/server.js:278 +#: htdocs/luci-static/resources/view/homeproxy/node.js:839 +#: htdocs/luci-static/resources/view/homeproxy/server.js:267 msgid "Ping timeout" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:582 +#: htdocs/luci-static/resources/view/homeproxy/node.js:620 msgid "Plugin" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:589 +#: htdocs/luci-static/resources/view/homeproxy/node.js:627 msgid "Plugin opts" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:475 -#: htdocs/luci-static/resources/view/homeproxy/client.js:736 -#: htdocs/luci-static/resources/view/homeproxy/node.js:450 -#: htdocs/luci-static/resources/view/homeproxy/server.js:81 +#: htdocs/luci-static/resources/view/homeproxy/client.js:477 +#: htdocs/luci-static/resources/view/homeproxy/client.js:740 +#: htdocs/luci-static/resources/view/homeproxy/node.js:488 +#: htdocs/luci-static/resources/view/homeproxy/server.js:70 msgid "Port" msgstr "" @@ -1191,12 +1191,12 @@ msgstr "" msgid "Port %s alrealy exists!" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:480 -#: htdocs/luci-static/resources/view/homeproxy/client.js:741 +#: htdocs/luci-static/resources/view/homeproxy/client.js:482 +#: htdocs/luci-static/resources/view/homeproxy/client.js:745 msgid "Port range" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:862 +#: htdocs/luci-static/resources/view/homeproxy/node.js:900 msgid "Pre-shared key" msgstr "" @@ -1208,66 +1208,66 @@ msgstr "" msgid "Prefer IPv6" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:849 +#: htdocs/luci-static/resources/view/homeproxy/node.js:887 msgid "Private key" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:485 -#: htdocs/luci-static/resources/view/homeproxy/client.js:746 +#: htdocs/luci-static/resources/view/homeproxy/client.js:487 +#: htdocs/luci-static/resources/view/homeproxy/client.js:750 msgid "Process name" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:489 -#: htdocs/luci-static/resources/view/homeproxy/client.js:750 +#: htdocs/luci-static/resources/view/homeproxy/client.js:491 +#: htdocs/luci-static/resources/view/homeproxy/client.js:754 msgid "Process path" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:419 -#: htdocs/luci-static/resources/view/homeproxy/client.js:683 -#: htdocs/luci-static/resources/view/homeproxy/node.js:502 -#: htdocs/luci-static/resources/view/homeproxy/node.js:624 -#: htdocs/luci-static/resources/view/homeproxy/node.js:885 -#: htdocs/luci-static/resources/view/homeproxy/server.js:121 +#: htdocs/luci-static/resources/view/homeproxy/client.js:421 +#: htdocs/luci-static/resources/view/homeproxy/client.js:687 +#: htdocs/luci-static/resources/view/homeproxy/node.js:540 +#: htdocs/luci-static/resources/view/homeproxy/node.js:662 +#: htdocs/luci-static/resources/view/homeproxy/node.js:923 +#: htdocs/luci-static/resources/view/homeproxy/server.js:110 msgid "Protocol" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:640 +#: htdocs/luci-static/resources/view/homeproxy/node.js:678 msgid "Protocol param" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:717 +#: htdocs/luci-static/resources/view/homeproxy/node.js:755 msgid "Protocol parameter. Enable length block encryption." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:710 +#: htdocs/luci-static/resources/view/homeproxy/node.js:748 msgid "" "Protocol parameter. Will waste traffic randomly if enabled (enabled by " "default in v2ray and cannot be disabled)." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:921 +#: htdocs/luci-static/resources/view/homeproxy/client.js:925 msgid "Proxy Domain List" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:859 -#: htdocs/luci-static/resources/view/homeproxy/client.js:905 +#: htdocs/luci-static/resources/view/homeproxy/client.js:863 +#: htdocs/luci-static/resources/view/homeproxy/client.js:909 msgid "Proxy IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:866 -#: htdocs/luci-static/resources/view/homeproxy/client.js:908 +#: htdocs/luci-static/resources/view/homeproxy/client.js:870 +#: htdocs/luci-static/resources/view/homeproxy/client.js:912 msgid "Proxy IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:840 +#: htdocs/luci-static/resources/view/homeproxy/client.js:844 msgid "Proxy all except listed" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:837 +#: htdocs/luci-static/resources/view/homeproxy/client.js:841 msgid "Proxy filter mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:839 +#: htdocs/luci-static/resources/view/homeproxy/client.js:843 msgid "Proxy listed only" msgstr "" @@ -1275,45 +1275,45 @@ msgstr "" msgid "Proxy mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:493 -#: htdocs/luci-static/resources/view/homeproxy/server.js:497 +#: htdocs/luci-static/resources/view/homeproxy/node.js:531 +#: htdocs/luci-static/resources/view/homeproxy/server.js:500 msgid "Proxy protocol" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1040 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1078 msgid "QQ" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:423 -#: htdocs/luci-static/resources/view/homeproxy/client.js:687 -#: htdocs/luci-static/resources/view/homeproxy/node.js:730 -#: htdocs/luci-static/resources/view/homeproxy/server.js:225 +#: htdocs/luci-static/resources/view/homeproxy/client.js:425 +#: htdocs/luci-static/resources/view/homeproxy/client.js:691 +#: htdocs/luci-static/resources/view/homeproxy/node.js:768 +#: htdocs/luci-static/resources/view/homeproxy/server.js:214 msgid "QUIC" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:550 -#: htdocs/luci-static/resources/view/homeproxy/server.js:170 +#: htdocs/luci-static/resources/view/homeproxy/node.js:588 +#: htdocs/luci-static/resources/view/homeproxy/server.js:159 msgid "QUIC connection receive window" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:177 +#: htdocs/luci-static/resources/view/homeproxy/server.js:166 msgid "QUIC maximum concurrent bidirectional streams" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:544 -#: htdocs/luci-static/resources/view/homeproxy/server.js:163 +#: htdocs/luci-static/resources/view/homeproxy/node.js:582 +#: htdocs/luci-static/resources/view/homeproxy/server.js:152 msgid "QUIC stream receive window" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1056 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1098 msgid "REALITY" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1061 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1103 msgid "REALITY public key" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1066 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1108 msgid "REALITY short ID" msgstr "" @@ -1321,19 +1321,19 @@ msgstr "" msgid "RUNNING" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1041 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1079 msgid "Random" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1042 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1080 msgid "Randomized" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:362 +#: htdocs/luci-static/resources/view/homeproxy/client.js:363 msgid "Recursive outbound detected!" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:603 +#: htdocs/luci-static/resources/view/homeproxy/client.js:606 msgid "Recursive resolver detected!" msgstr "" @@ -1353,15 +1353,15 @@ msgstr "" msgid "Refresh every %s seconds." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1200 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1242 msgid "Remove %s nodes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1190 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1232 msgid "Remove all nodes from subscriptions" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:616 +#: htdocs/luci-static/resources/view/homeproxy/client.js:619 msgid "Resolve strategy" msgstr "" @@ -1373,7 +1373,7 @@ msgstr "" msgid "Routing Nodes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:370 +#: htdocs/luci-static/resources/view/homeproxy/client.js:371 msgid "Routing Rules" msgstr "" @@ -1385,7 +1385,7 @@ msgstr "" msgid "Routing mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:303 +#: htdocs/luci-static/resources/view/homeproxy/client.js:304 msgid "Routing node" msgstr "" @@ -1393,20 +1393,20 @@ msgstr "" msgid "Routing ports" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:378 +#: htdocs/luci-static/resources/view/homeproxy/client.js:380 msgid "Routing rule" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:424 -#: htdocs/luci-static/resources/view/homeproxy/client.js:689 +#: htdocs/luci-static/resources/view/homeproxy/client.js:426 +#: htdocs/luci-static/resources/view/homeproxy/client.js:693 msgid "STUN" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1090 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1132 msgid "SUoT version" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1043 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1081 msgid "Safari" msgstr "" @@ -1414,16 +1414,16 @@ msgstr "" msgid "Same as main node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1164 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1206 msgid "Save current settings" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1161 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1203 msgid "Save subscriptions settings" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:775 -#: htdocs/luci-static/resources/view/homeproxy/server.js:41 +#: htdocs/luci-static/resources/view/homeproxy/client.js:779 +#: htdocs/luci-static/resources/view/homeproxy/server.js:42 msgid "Server" msgstr "" @@ -1431,7 +1431,7 @@ msgstr "" msgid "Server Settings" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:373 +#: htdocs/luci-static/resources/view/homeproxy/server.js:376 msgid "" "Server name to use when choosing a certificate if the ClientHello's " "ServerName field is empty." @@ -1441,73 +1441,73 @@ msgstr "" msgid "Service Status" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:437 +#: htdocs/luci-static/resources/view/homeproxy/node.js:475 msgid "ShadowTLS" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:660 +#: htdocs/luci-static/resources/view/homeproxy/node.js:698 msgid "ShadowTLS version" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:434 -#: htdocs/luci-static/resources/view/homeproxy/server.js:62 +#: htdocs/luci-static/resources/view/homeproxy/node.js:472 +#: htdocs/luci-static/resources/view/homeproxy/server.js:63 msgid "Shadowsocks" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:436 +#: htdocs/luci-static/resources/view/homeproxy/node.js:474 msgid "ShadowsocksR" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:420 -#: htdocs/luci-static/resources/view/homeproxy/client.js:684 +#: htdocs/luci-static/resources/view/homeproxy/client.js:422 +#: htdocs/luci-static/resources/view/homeproxy/client.js:688 msgid "" "Sniffed protocol, see Sniff for details." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:438 -#: htdocs/luci-static/resources/view/homeproxy/server.js:63 +#: htdocs/luci-static/resources/view/homeproxy/node.js:476 +#: htdocs/luci-static/resources/view/homeproxy/server.js:64 msgid "Socks" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:670 +#: htdocs/luci-static/resources/view/homeproxy/node.js:708 msgid "Socks version" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:671 +#: htdocs/luci-static/resources/view/homeproxy/node.js:709 msgid "Socks4" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:672 +#: htdocs/luci-static/resources/view/homeproxy/node.js:710 msgid "Socks4A" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:673 +#: htdocs/luci-static/resources/view/homeproxy/node.js:711 msgid "Socks5" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:447 -#: htdocs/luci-static/resources/view/homeproxy/client.js:712 +#: htdocs/luci-static/resources/view/homeproxy/client.js:449 +#: htdocs/luci-static/resources/view/homeproxy/client.js:716 msgid "Source GeoIP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:455 -#: htdocs/luci-static/resources/view/homeproxy/client.js:716 +#: htdocs/luci-static/resources/view/homeproxy/client.js:457 +#: htdocs/luci-static/resources/view/homeproxy/client.js:720 msgid "Source IP CIDR" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:465 -#: htdocs/luci-static/resources/view/homeproxy/client.js:726 +#: htdocs/luci-static/resources/view/homeproxy/client.js:467 +#: htdocs/luci-static/resources/view/homeproxy/client.js:730 msgid "Source port" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:470 -#: htdocs/luci-static/resources/view/homeproxy/client.js:731 +#: htdocs/luci-static/resources/view/homeproxy/client.js:472 +#: htdocs/luci-static/resources/view/homeproxy/client.js:735 msgid "Source port range" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:747 -#: htdocs/luci-static/resources/view/homeproxy/node.js:794 +#: htdocs/luci-static/resources/view/homeproxy/node.js:785 +#: htdocs/luci-static/resources/view/homeproxy/node.js:832 msgid "" "Specifies the period of time after which a health check will be performed " "using a ping frame if no frames have been received on the connection.
If a response to the PING frame is not " @@ -1538,20 +1538,20 @@ msgid "" "commas." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:516 -#: htdocs/luci-static/resources/view/homeproxy/server.js:147 +#: htdocs/luci-static/resources/view/homeproxy/node.js:554 +#: htdocs/luci-static/resources/view/homeproxy/server.js:136 msgid "String" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1118 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1160 msgid "Subscription URL-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1100 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1142 msgid "Subscriptions" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:357 +#: htdocs/luci-static/resources/view/homeproxy/node.js:395 msgid "Successfully imported %s nodes of total %s." msgstr "" @@ -1559,8 +1559,8 @@ msgstr "" msgid "Successfully updated." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:317 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1119 +#: htdocs/luci-static/resources/view/homeproxy/node.js:355 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1161 msgid "" "Support Hysteria, Shadowsocks(R), Trojan, v2rayN (VMess), and XTLS (VLESS) " "online configuration delivery standard." @@ -1570,14 +1570,14 @@ msgstr "" msgid "System" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:415 -#: htdocs/luci-static/resources/view/homeproxy/client.js:679 -#: htdocs/luci-static/resources/view/homeproxy/server.js:510 +#: htdocs/luci-static/resources/view/homeproxy/client.js:417 +#: htdocs/luci-static/resources/view/homeproxy/client.js:683 +#: htdocs/luci-static/resources/view/homeproxy/server.js:513 msgid "TCP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1074 -#: htdocs/luci-static/resources/view/homeproxy/server.js:475 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1116 +#: htdocs/luci-static/resources/view/homeproxy/server.js:478 msgid "TCP fast open" msgstr "" @@ -1589,43 +1589,43 @@ msgstr "" msgid "TCP/IP stack." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:422 -#: htdocs/luci-static/resources/view/homeproxy/client.js:686 -#: htdocs/luci-static/resources/view/homeproxy/node.js:920 -#: htdocs/luci-static/resources/view/homeproxy/server.js:314 +#: htdocs/luci-static/resources/view/homeproxy/client.js:424 +#: htdocs/luci-static/resources/view/homeproxy/client.js:690 +#: htdocs/luci-static/resources/view/homeproxy/node.js:958 +#: htdocs/luci-static/resources/view/homeproxy/server.js:303 msgid "TLS" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:949 -#: htdocs/luci-static/resources/view/homeproxy/server.js:330 +#: htdocs/luci-static/resources/view/homeproxy/node.js:987 +#: htdocs/luci-static/resources/view/homeproxy/server.js:333 msgid "TLS ALPN" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:944 -#: htdocs/luci-static/resources/view/homeproxy/server.js:325 +#: htdocs/luci-static/resources/view/homeproxy/node.js:982 +#: htdocs/luci-static/resources/view/homeproxy/server.js:328 msgid "TLS SNI" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:738 -#: htdocs/luci-static/resources/view/homeproxy/server.js:230 +#: htdocs/luci-static/resources/view/homeproxy/node.js:776 +#: htdocs/luci-static/resources/view/homeproxy/server.js:219 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:580 +#: htdocs/luci-static/resources/view/homeproxy/client.js:583 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:622 +#: htdocs/luci-static/resources/view/homeproxy/client.js:625 msgid "Tag of an outbound for connecting to the dns server." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:776 +#: htdocs/luci-static/resources/view/homeproxy/client.js:780 msgid "Tag of the target dns server." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:498 +#: htdocs/luci-static/resources/view/homeproxy/client.js:500 msgid "Tag of the target outbound." msgstr "" @@ -1633,41 +1633,41 @@ msgstr "" msgid "Tencent Public DNS (119.29.29.29)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:394 +#: htdocs/luci-static/resources/view/homeproxy/server.js:397 msgid "The ACME CA provider to use." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:523 +#: htdocs/luci-static/resources/view/homeproxy/client.js:525 msgid "The DNS strategy for resolving the domain name in the address." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:551 -#: htdocs/luci-static/resources/view/homeproxy/server.js:171 +#: htdocs/luci-static/resources/view/homeproxy/node.js:589 +#: htdocs/luci-static/resources/view/homeproxy/server.js:160 msgid "The QUIC connection-level flow control window for receiving data." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:545 -#: htdocs/luci-static/resources/view/homeproxy/server.js:164 +#: htdocs/luci-static/resources/view/homeproxy/node.js:583 +#: htdocs/luci-static/resources/view/homeproxy/server.js:153 msgid "The QUIC stream-level flow control window for receiving data." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:576 +#: htdocs/luci-static/resources/view/homeproxy/client.js:579 msgid "The address of the dns server. Support UDP, TCP, DoT, DoH and RCode." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:412 +#: htdocs/luci-static/resources/view/homeproxy/server.js:415 msgid "" "The alternate port to use for the ACME HTTP challenge; if non-empty, this " "port will be used instead of 80 to spin up a listener for the HTTP challenge." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:418 +#: htdocs/luci-static/resources/view/homeproxy/server.js:421 msgid "" "The alternate port to use for the ACME TLS-ALPN challenge; the system must " "forward 443 to this port for challenge to succeed." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:400 +#: htdocs/luci-static/resources/view/homeproxy/client.js:402 msgid "" "The default rule uses the following matching logic:
(domain || " "domain_suffix || domain_keyword || domain_regex || geosite || geoip || " @@ -1675,7 +1675,7 @@ msgid "" ">other fields." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:664 +#: htdocs/luci-static/resources/view/homeproxy/client.js:668 msgid "" "The default rule uses the following matching logic:
(domain || " "domain_suffix || domain_keyword || domain_regex || geosite || ip_cidr)other fields." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:611 +#: htdocs/luci-static/resources/view/homeproxy/client.js:614 msgid "" "The domain strategy for resolving the domain name in the address. dns." "strategy will be used if empty." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:980 -#: htdocs/luci-static/resources/view/homeproxy/server.js:352 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1018 +#: htdocs/luci-static/resources/view/homeproxy/server.js:355 msgid "" "The elliptic curves that will be used in an ECDHE handshake, in preference " "order. If empty, the default will be used." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:379 +#: htdocs/luci-static/resources/view/homeproxy/server.js:382 msgid "" "The email address to use when creating or selecting an existing ACME server " "account." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:972 -#: htdocs/luci-static/resources/view/homeproxy/server.js:344 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1010 +#: htdocs/luci-static/resources/view/homeproxy/server.js:347 msgid "The maximum TLS version that is acceptable." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:178 +#: htdocs/luci-static/resources/view/homeproxy/server.js:167 msgid "" "The maximum number of QUIC concurrent bidirectional streams that a peer is " "allowed to open." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:964 -#: htdocs/luci-static/resources/view/homeproxy/server.js:336 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1002 +#: htdocs/luci-static/resources/view/homeproxy/server.js:339 msgid "The minimum TLS version that is acceptable." msgstr "" @@ -1722,59 +1722,59 @@ msgstr "" msgid "The modern ImmortalWrt proxy platform for ARM64/AMD64." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:331 +#: htdocs/luci-static/resources/view/homeproxy/client.js:332 msgid "The network interface to bind to." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:994 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1032 msgid "The path to the server certificate, in PEM format." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:82 +#: htdocs/luci-static/resources/view/homeproxy/server.js:71 msgid "The port must be unique." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:458 +#: htdocs/luci-static/resources/view/homeproxy/server.js:461 msgid "The server private key, in PEM format." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:442 +#: htdocs/luci-static/resources/view/homeproxy/server.js:445 msgid "The server public key, in PEM format." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:338 +#: htdocs/luci-static/resources/view/homeproxy/client.js:339 msgid "" "The tag of the upstream outbound.
Other dial fields will be ignored when " "enabled." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:758 -#: htdocs/luci-static/resources/view/homeproxy/server.js:279 +#: htdocs/luci-static/resources/view/homeproxy/node.js:796 +#: htdocs/luci-static/resources/view/homeproxy/server.js:268 msgid "" "The timeout that after performing a keepalive check, the client will wait " "for activity. If no activity is detected, the connection will be closed." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:957 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1151 +#: htdocs/luci-static/resources/view/homeproxy/node.js:995 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1193 msgid "" "This is DANGEROUS, your traffic is almost like " "PLAIN TEXT! Use at your own risk!" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:305 +#: htdocs/luci-static/resources/view/homeproxy/server.js:294 msgid "" "To be compatible with Xray-core, set this to Sec-WebSocket-Protocol." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:725 -#: htdocs/luci-static/resources/view/homeproxy/server.js:220 +#: htdocs/luci-static/resources/view/homeproxy/node.js:763 +#: htdocs/luci-static/resources/view/homeproxy/server.js:209 msgid "Transport" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:439 -#: htdocs/luci-static/resources/view/homeproxy/server.js:64 +#: htdocs/luci-static/resources/view/homeproxy/node.js:477 +#: htdocs/luci-static/resources/view/homeproxy/server.js:65 msgid "Trojan" msgstr "" @@ -1782,28 +1782,28 @@ msgstr "" msgid "Tun TCP/UDP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:429 -#: htdocs/luci-static/resources/view/homeproxy/server.js:56 +#: htdocs/luci-static/resources/view/homeproxy/node.js:467 +#: htdocs/luci-static/resources/view/homeproxy/server.js:57 msgid "Type" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:416 -#: htdocs/luci-static/resources/view/homeproxy/client.js:680 -#: htdocs/luci-static/resources/view/homeproxy/server.js:511 +#: htdocs/luci-static/resources/view/homeproxy/client.js:418 +#: htdocs/luci-static/resources/view/homeproxy/client.js:684 +#: htdocs/luci-static/resources/view/homeproxy/server.js:514 msgid "UDP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1078 -#: htdocs/luci-static/resources/view/homeproxy/server.js:481 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1120 +#: htdocs/luci-static/resources/view/homeproxy/server.js:484 msgid "UDP Fragment" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1083 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1125 msgid "UDP over TCP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:680 -#: htdocs/luci-static/resources/view/homeproxy/server.js:200 +#: htdocs/luci-static/resources/view/homeproxy/node.js:718 +#: htdocs/luci-static/resources/view/homeproxy/server.js:189 msgid "UUID" msgstr "" @@ -1815,7 +1815,11 @@ msgstr "" msgid "Unknown error: %s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1175 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1091 +msgid "Unsupported fingerprint!" +msgstr "" + +#: htdocs/luci-static/resources/view/homeproxy/node.js:1217 msgid "Update %s subscriptions" msgstr "" @@ -1823,30 +1827,30 @@ msgstr "" msgid "Update failed." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1170 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1212 msgid "Update nodes from subscriptions" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1114 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1156 msgid "Update subscriptions via proxy." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1113 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1155 msgid "Update via proxy" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1000 -#: htdocs/luci-static/resources/view/homeproxy/server.js:449 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1038 +#: htdocs/luci-static/resources/view/homeproxy/server.js:452 msgid "Upload certificate" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:465 +#: htdocs/luci-static/resources/view/homeproxy/server.js:468 msgid "Upload key" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1003 -#: htdocs/luci-static/resources/view/homeproxy/server.js:452 -#: htdocs/luci-static/resources/view/homeproxy/server.js:468 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1041 +#: htdocs/luci-static/resources/view/homeproxy/server.js:455 +#: htdocs/luci-static/resources/view/homeproxy/server.js:471 msgid "Upload..." msgstr "" @@ -1854,7 +1858,7 @@ msgstr "" msgid "Upstream archived. Not recommended." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:361 +#: htdocs/luci-static/resources/view/homeproxy/server.js:364 msgid "Use ACME TLS certificate issuer." msgstr "" @@ -1862,63 +1866,63 @@ msgstr "" msgid "Use DNS server from WAN" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:945 -#: htdocs/luci-static/resources/view/homeproxy/server.js:326 +#: htdocs/luci-static/resources/view/homeproxy/node.js:983 +#: htdocs/luci-static/resources/view/homeproxy/server.js:329 msgid "" "Used to verify the hostname on the returned certificates unless insecure is " "given." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:493 -#: htdocs/luci-static/resources/view/homeproxy/client.js:754 +#: htdocs/luci-static/resources/view/homeproxy/client.js:495 +#: htdocs/luci-static/resources/view/homeproxy/client.js:758 msgid "User" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:454 -#: htdocs/luci-static/resources/view/homeproxy/server.js:86 +#: htdocs/luci-static/resources/view/homeproxy/node.js:492 +#: htdocs/luci-static/resources/view/homeproxy/server.js:75 msgid "Username" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:442 -#: htdocs/luci-static/resources/view/homeproxy/server.js:65 +#: htdocs/luci-static/resources/view/homeproxy/node.js:480 +#: htdocs/luci-static/resources/view/homeproxy/server.js:66 msgid "VLESS" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:443 -#: htdocs/luci-static/resources/view/homeproxy/server.js:66 +#: htdocs/luci-static/resources/view/homeproxy/node.js:481 +#: htdocs/luci-static/resources/view/homeproxy/server.js:67 msgid "VMess" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:903 +#: htdocs/luci-static/resources/view/homeproxy/client.js:907 msgid "WAN IP Policy" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:731 -#: htdocs/luci-static/resources/view/homeproxy/server.js:226 +#: htdocs/luci-static/resources/view/homeproxy/node.js:769 +#: htdocs/luci-static/resources/view/homeproxy/server.js:215 msgid "WebSocket" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1139 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1181 msgid "Whitelist mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:441 +#: htdocs/luci-static/resources/view/homeproxy/node.js:479 msgid "WireGuard" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:857 +#: htdocs/luci-static/resources/view/homeproxy/node.js:895 msgid "WireGuard peer public key." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:863 +#: htdocs/luci-static/resources/view/homeproxy/node.js:901 msgid "WireGuard pre-shared key." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:850 +#: htdocs/luci-static/resources/view/homeproxy/node.js:888 msgid "WireGuard requires base64-encoded private keys." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:494 +#: htdocs/luci-static/resources/view/homeproxy/node.js:532 msgid "Write Proxy Protocol in the connection header." msgstr "" @@ -1926,8 +1930,8 @@ msgstr "" msgid "Xinfeng Public DNS (114.114.114.114)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:835 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1159 +#: htdocs/luci-static/resources/view/homeproxy/node.js:873 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1201 msgid "Xudp (Xray-core)" msgstr "" @@ -1939,33 +1943,33 @@ msgstr "" msgid "Your %s was successfully uploaded. Size: %sB." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:396 +#: htdocs/luci-static/resources/view/homeproxy/server.js:399 msgid "ZeroSSL" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1005 -#: htdocs/luci-static/resources/view/homeproxy/server.js:454 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1043 +#: htdocs/luci-static/resources/view/homeproxy/server.js:457 msgid "certificate" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:965 -#: htdocs/luci-static/resources/view/homeproxy/node.js:973 -#: htdocs/luci-static/resources/view/homeproxy/server.js:337 -#: htdocs/luci-static/resources/view/homeproxy/server.js:345 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1003 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1011 +#: htdocs/luci-static/resources/view/homeproxy/server.js:340 +#: htdocs/luci-static/resources/view/homeproxy/server.js:348 msgid "default" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:728 -#: htdocs/luci-static/resources/view/homeproxy/server.js:223 +#: htdocs/luci-static/resources/view/homeproxy/node.js:766 +#: htdocs/luci-static/resources/view/homeproxy/server.js:212 msgid "gRPC" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:769 +#: htdocs/luci-static/resources/view/homeproxy/node.js:807 msgid "gRPC permit without stream" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:764 -#: htdocs/luci-static/resources/view/homeproxy/server.js:250 +#: htdocs/luci-static/resources/view/homeproxy/node.js:802 +#: htdocs/luci-static/resources/view/homeproxy/server.js:239 msgid "gRPC service name" msgstr "" @@ -1973,46 +1977,46 @@ msgstr "" msgid "gVisor" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1039 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1077 msgid "iOS" msgstr "" #: htdocs/luci-static/resources/homeproxy.js:245 #: htdocs/luci-static/resources/homeproxy.js:263 #: htdocs/luci-static/resources/view/homeproxy/client.js:173 -#: htdocs/luci-static/resources/view/homeproxy/node.js:484 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1049 -#: htdocs/luci-static/resources/view/homeproxy/server.js:113 +#: htdocs/luci-static/resources/view/homeproxy/node.js:522 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1087 +#: htdocs/luci-static/resources/view/homeproxy/server.js:102 msgid "non-empty value" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:583 -#: htdocs/luci-static/resources/view/homeproxy/node.js:833 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1157 +#: htdocs/luci-static/resources/view/homeproxy/node.js:621 +#: htdocs/luci-static/resources/view/homeproxy/node.js:871 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1199 msgid "none" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:834 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1158 +#: htdocs/luci-static/resources/view/homeproxy/node.js:872 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1200 msgid "packet addr (v2ray-core v5+)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:470 +#: htdocs/luci-static/resources/view/homeproxy/server.js:473 msgid "private key" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1031 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1069 msgid "uTLS fingerprint" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1032 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1070 msgid "" "uTLS is a fork of \"crypto/tls\", which provides ClientHello fingerprinting " "resistance." msgstr "" #: htdocs/luci-static/resources/homeproxy.js:199 -#: htdocs/luci-static/resources/view/homeproxy/node.js:385 +#: htdocs/luci-static/resources/view/homeproxy/node.js:423 msgid "unique UCI identifier" msgstr "" @@ -2020,17 +2024,17 @@ msgstr "" msgid "unique value" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:661 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1091 +#: htdocs/luci-static/resources/view/homeproxy/node.js:699 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1133 msgid "v1" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:662 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1092 +#: htdocs/luci-static/resources/view/homeproxy/node.js:700 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1134 msgid "v2" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:663 +#: htdocs/luci-static/resources/view/homeproxy/node.js:701 msgid "v3" msgstr "" @@ -2038,8 +2042,8 @@ msgstr "" msgid "valid IP address" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1125 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1128 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1167 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1170 msgid "valid URL" msgstr "" @@ -2047,8 +2051,8 @@ msgstr "" msgid "valid base64 key with %d characters" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:943 -#: htdocs/luci-static/resources/view/homeproxy/client.js:972 +#: htdocs/luci-static/resources/view/homeproxy/client.js:947 +#: htdocs/luci-static/resources/view/homeproxy/client.js:976 msgid "valid hostname" msgstr "" diff --git a/homeproxy/po/zh_Hans/homeproxy.po b/homeproxy/po/zh_Hans/homeproxy.po index aa6a5e5ab..2eb322d12 100644 --- a/homeproxy/po/zh_Hans/homeproxy.po +++ b/homeproxy/po/zh_Hans/homeproxy.po @@ -12,70 +12,70 @@ msgstr "" msgid "%s log" msgstr "%s 日志" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1222 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1264 msgid "%s nodes removed" msgstr "移除了 %s 个节点" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1034 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1072 msgid "360" msgstr "360" -#: htdocs/luci-static/resources/view/homeproxy/client.js:393 +#: htdocs/luci-static/resources/view/homeproxy/client.js:395 msgid "4 or 6. Not limited if empty." msgstr "4 或 6。留空不限制。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1001 -#: htdocs/luci-static/resources/view/homeproxy/server.js:450 -#: htdocs/luci-static/resources/view/homeproxy/server.js:466 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1039 +#: htdocs/luci-static/resources/view/homeproxy/server.js:453 +#: htdocs/luci-static/resources/view/homeproxy/server.js:469 msgid "Save your configuration before uploading files!" msgstr "上传文件前请先保存配置!" -#: htdocs/luci-static/resources/view/homeproxy/server.js:504 +#: htdocs/luci-static/resources/view/homeproxy/server.js:507 msgid "Accept connections without Proxy Protocol header." msgstr "接受没有代理协议标头的连接。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:503 +#: htdocs/luci-static/resources/view/homeproxy/server.js:506 msgid "Accept no header" msgstr "接受空标头" -#: htdocs/luci-static/resources/view/homeproxy/client.js:801 +#: htdocs/luci-static/resources/view/homeproxy/client.js:805 msgid "Access Control" msgstr "访问控制" -#: htdocs/luci-static/resources/view/homeproxy/client.js:649 +#: htdocs/luci-static/resources/view/homeproxy/client.js:653 msgid "Add a DNS rule" msgstr "新增 DNS 规则" -#: htdocs/luci-static/resources/view/homeproxy/client.js:561 +#: htdocs/luci-static/resources/view/homeproxy/client.js:564 msgid "Add a DNS server" msgstr "新增 DNS 服务器" -#: htdocs/luci-static/resources/view/homeproxy/node.js:310 +#: htdocs/luci-static/resources/view/homeproxy/node.js:348 msgid "Add a node" msgstr "新增节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:303 +#: htdocs/luci-static/resources/view/homeproxy/client.js:304 msgid "Add a routing node" msgstr "新增路由节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:378 +#: htdocs/luci-static/resources/view/homeproxy/client.js:380 msgid "Add a routing rule" msgstr "新增路由规则" -#: htdocs/luci-static/resources/view/homeproxy/server.js:41 +#: htdocs/luci-static/resources/view/homeproxy/server.js:42 msgid "Add a server" msgstr "新增服务器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:575 -#: htdocs/luci-static/resources/view/homeproxy/node.js:446 +#: htdocs/luci-static/resources/view/homeproxy/client.js:578 +#: htdocs/luci-static/resources/view/homeproxy/node.js:484 msgid "Address" msgstr "地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:579 +#: htdocs/luci-static/resources/view/homeproxy/client.js:582 msgid "Address resolver" msgstr "地址解析器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:610 +#: htdocs/luci-static/resources/view/homeproxy/client.js:613 msgid "Address strategy" msgstr "地址解析策略" @@ -87,21 +87,21 @@ msgstr "阿里云公共 DNS(223.5.5.5)" msgid "All ports" msgstr "所有端口" -#: htdocs/luci-static/resources/view/homeproxy/node.js:954 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1148 +#: htdocs/luci-static/resources/view/homeproxy/node.js:992 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1190 msgid "Allow insecure" msgstr "允许不安全连接" -#: htdocs/luci-static/resources/view/homeproxy/node.js:955 +#: htdocs/luci-static/resources/view/homeproxy/node.js:993 msgid "Allow insecure connection at TLS client." msgstr "允许 TLS 客户端侧的不安全连接" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1149 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1191 msgid "Allow insecure connection by default when add nodes from subscriptions." msgstr "从订阅获取节点时,默认允许不安全连接。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:820 -#: htdocs/luci-static/resources/view/homeproxy/server.js:296 +#: htdocs/luci-static/resources/view/homeproxy/node.js:858 +#: htdocs/luci-static/resources/view/homeproxy/server.js:285 msgid "Allowed payload size is in the request." msgstr "请求中允许的载荷大小。" @@ -113,37 +113,37 @@ msgstr "已是最新版本" msgid "Already in updating." msgstr "已在更新中" -#: htdocs/luci-static/resources/view/homeproxy/node.js:692 -#: htdocs/luci-static/resources/view/homeproxy/server.js:212 +#: htdocs/luci-static/resources/view/homeproxy/node.js:730 +#: htdocs/luci-static/resources/view/homeproxy/server.js:201 msgid "Alter ID" msgstr "额外 ID" -#: htdocs/luci-static/resources/view/homeproxy/server.js:411 +#: htdocs/luci-static/resources/view/homeproxy/server.js:414 msgid "Alternative HTTP port" msgstr "替代 HTTP 端口" -#: htdocs/luci-static/resources/view/homeproxy/server.js:417 +#: htdocs/luci-static/resources/view/homeproxy/server.js:420 msgid "Alternative TLS port" msgstr "替代 HTTPS 端口" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1185 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1227 msgid "An error occurred during updating subscriptions: %s" msgstr "更新订阅时发生错误:%s" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1035 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1073 msgid "Android" msgstr "Android" -#: htdocs/luci-static/resources/view/homeproxy/node.js:987 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1025 msgid "Append self-signed certificate" msgstr "追加自签名证书" -#: htdocs/luci-static/resources/view/homeproxy/node.js:410 +#: htdocs/luci-static/resources/view/homeproxy/node.js:448 msgid "Applied" msgstr "已应用" -#: htdocs/luci-static/resources/view/homeproxy/node.js:403 -#: htdocs/luci-static/resources/view/homeproxy/node.js:413 +#: htdocs/luci-static/resources/view/homeproxy/node.js:441 +#: htdocs/luci-static/resources/view/homeproxy/node.js:451 msgid "Apply" msgstr "应用" @@ -151,17 +151,17 @@ msgstr "应用" msgid "Are you sure to allow insecure?" msgstr "确定要允许不安全连接吗?" -#: htdocs/luci-static/resources/view/homeproxy/node.js:716 +#: htdocs/luci-static/resources/view/homeproxy/node.js:754 msgid "Authenticated length" msgstr "认证长度" -#: htdocs/luci-static/resources/view/homeproxy/node.js:522 -#: htdocs/luci-static/resources/view/homeproxy/server.js:153 +#: htdocs/luci-static/resources/view/homeproxy/node.js:560 +#: htdocs/luci-static/resources/view/homeproxy/server.js:142 msgid "Authentication payload" msgstr "认证载荷" -#: htdocs/luci-static/resources/view/homeproxy/node.js:513 -#: htdocs/luci-static/resources/view/homeproxy/server.js:144 +#: htdocs/luci-static/resources/view/homeproxy/node.js:551 +#: htdocs/luci-static/resources/view/homeproxy/server.js:133 msgid "Authentication type" msgstr "认证类型" @@ -169,16 +169,16 @@ msgstr "认证类型" msgid "Auto configure firewall" msgstr "自动配置防火墙" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1102 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1144 msgid "Auto update" msgstr "自动更新" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1103 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1145 msgid "Auto update subscriptions, GeoIP and GeoSite." msgstr "自动更新订阅、GeoIP 和 GeoSite" -#: htdocs/luci-static/resources/view/homeproxy/node.js:515 -#: htdocs/luci-static/resources/view/homeproxy/server.js:146 +#: htdocs/luci-static/resources/view/homeproxy/node.js:553 +#: htdocs/luci-static/resources/view/homeproxy/server.js:135 msgid "Base64" msgstr "Base64" @@ -186,35 +186,35 @@ msgstr "Base64" msgid "Based on google/gvisor (recommended)." msgstr "基于 google/gvisor(推荐)。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:330 -#: htdocs/luci-static/resources/view/homeproxy/client.js:814 +#: htdocs/luci-static/resources/view/homeproxy/client.js:331 +#: htdocs/luci-static/resources/view/homeproxy/client.js:818 msgid "Bind interface" msgstr "绑定接口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:815 +#: htdocs/luci-static/resources/view/homeproxy/client.js:819 msgid "" "Bind outbound traffic to specific interface. Leave empty to auto detect." msgstr "绑定出站流量至指定端口。留空自动检测。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1138 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1180 msgid "Blacklist mode" msgstr "黑名单模式" #: htdocs/luci-static/resources/view/homeproxy/client.js:282 -#: htdocs/luci-static/resources/view/homeproxy/client.js:504 -#: htdocs/luci-static/resources/view/homeproxy/client.js:765 +#: htdocs/luci-static/resources/view/homeproxy/client.js:506 +#: htdocs/luci-static/resources/view/homeproxy/client.js:769 msgid "Block" msgstr "封锁" -#: htdocs/luci-static/resources/view/homeproxy/client.js:533 -#: htdocs/luci-static/resources/view/homeproxy/client.js:782 +#: htdocs/luci-static/resources/view/homeproxy/client.js:535 +#: htdocs/luci-static/resources/view/homeproxy/client.js:786 msgid "Block DNS queries" msgstr "封锁 DNS 请求" -#: htdocs/luci-static/resources/view/homeproxy/client.js:396 -#: htdocs/luci-static/resources/view/homeproxy/client.js:417 -#: htdocs/luci-static/resources/view/homeproxy/client.js:681 -#: htdocs/luci-static/resources/view/homeproxy/server.js:512 +#: htdocs/luci-static/resources/view/homeproxy/client.js:398 +#: htdocs/luci-static/resources/view/homeproxy/client.js:419 +#: htdocs/luci-static/resources/view/homeproxy/client.js:685 +#: htdocs/luci-static/resources/view/homeproxy/server.js:515 msgid "Both" msgstr "全部" @@ -230,16 +230,16 @@ msgstr "大陆白名单" msgid "Bypass mainland China traffic via firewall rules by default." msgstr "默认使用防火墙规则绕过中国大陆流量。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:393 +#: htdocs/luci-static/resources/view/homeproxy/server.js:396 msgid "CA provider" msgstr "CA 颁发机构" -#: htdocs/luci-static/resources/view/homeproxy/node.js:323 +#: htdocs/luci-static/resources/view/homeproxy/node.js:361 msgid "Cancel" msgstr "取消" -#: htdocs/luci-static/resources/view/homeproxy/node.js:993 -#: htdocs/luci-static/resources/view/homeproxy/server.js:441 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1031 +#: htdocs/luci-static/resources/view/homeproxy/server.js:444 msgid "Certificate path" msgstr "证书路径" @@ -259,12 +259,12 @@ msgstr "中国 IPv6 库版本" msgid "China list version" msgstr "中国域名列表版本" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1036 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1074 msgid "Chrome" msgstr "Chrome" -#: htdocs/luci-static/resources/view/homeproxy/node.js:979 -#: htdocs/luci-static/resources/view/homeproxy/server.js:351 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1017 +#: htdocs/luci-static/resources/view/homeproxy/server.js:354 msgid "Cipher suites" msgstr "密码套件" @@ -297,52 +297,52 @@ msgstr "仅常用端口(绕过 P2P 流量)" msgid "Custom routing" msgstr "自定义路由" -#: htdocs/luci-static/resources/view/homeproxy/client.js:688 +#: htdocs/luci-static/resources/view/homeproxy/client.js:692 msgid "DNS" msgstr "DNS" -#: htdocs/luci-static/resources/view/homeproxy/client.js:641 +#: htdocs/luci-static/resources/view/homeproxy/client.js:644 msgid "DNS Rules" msgstr "DNS 规则" -#: htdocs/luci-static/resources/view/homeproxy/client.js:553 +#: htdocs/luci-static/resources/view/homeproxy/client.js:555 msgid "DNS Servers" msgstr "DNS 服务器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:517 +#: htdocs/luci-static/resources/view/homeproxy/client.js:519 msgid "DNS Settings" msgstr "DNS 设置" -#: htdocs/luci-static/resources/view/homeproxy/client.js:649 +#: htdocs/luci-static/resources/view/homeproxy/client.js:653 msgid "DNS rule" msgstr "DNS 规则" #: htdocs/luci-static/resources/view/homeproxy/client.js:155 -#: htdocs/luci-static/resources/view/homeproxy/client.js:561 +#: htdocs/luci-static/resources/view/homeproxy/client.js:564 msgid "DNS server" msgstr "DNS 服务器" #: htdocs/luci-static/resources/homeproxy.js:17 -#: htdocs/luci-static/resources/view/homeproxy/client.js:404 -#: htdocs/luci-static/resources/view/homeproxy/client.js:668 +#: htdocs/luci-static/resources/view/homeproxy/client.js:406 +#: htdocs/luci-static/resources/view/homeproxy/client.js:672 msgid "Default" msgstr "默认" -#: htdocs/luci-static/resources/view/homeproxy/client.js:532 -#: htdocs/luci-static/resources/view/homeproxy/client.js:586 -#: htdocs/luci-static/resources/view/homeproxy/client.js:781 +#: htdocs/luci-static/resources/view/homeproxy/client.js:534 +#: htdocs/luci-static/resources/view/homeproxy/client.js:589 +#: htdocs/luci-static/resources/view/homeproxy/client.js:785 msgid "Default DNS (issued by WAN)" msgstr "默认 DNS(由 WAN 下发)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:527 +#: htdocs/luci-static/resources/view/homeproxy/client.js:529 msgid "Default DNS server" msgstr "默认 DNS 服务器" -#: htdocs/luci-static/resources/view/homeproxy/client.js:522 +#: htdocs/luci-static/resources/view/homeproxy/client.js:524 msgid "Default DNS strategy" msgstr "默认 DNS 解析策略" -#: htdocs/luci-static/resources/view/homeproxy/client.js:617 +#: htdocs/luci-static/resources/view/homeproxy/client.js:620 msgid "Default domain strategy for resolving the domain names." msgstr "默认域名解析策略。" @@ -350,84 +350,84 @@ msgstr "默认域名解析策略。" msgid "Default outbound" msgstr "默认出站" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1156 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1198 msgid "Default packet encoding" msgstr "默认包封装格式" -#: htdocs/luci-static/resources/view/homeproxy/server.js:372 +#: htdocs/luci-static/resources/view/homeproxy/server.js:375 msgid "Default server name" msgstr "默认服务器名称" #: htdocs/luci-static/resources/view/homeproxy/client.js:281 -#: htdocs/luci-static/resources/view/homeproxy/client.js:343 -#: htdocs/luci-static/resources/view/homeproxy/client.js:503 -#: htdocs/luci-static/resources/view/homeproxy/client.js:627 -#: htdocs/luci-static/resources/view/homeproxy/client.js:764 -#: htdocs/luci-static/resources/view/homeproxy/node.js:430 +#: htdocs/luci-static/resources/view/homeproxy/client.js:344 +#: htdocs/luci-static/resources/view/homeproxy/client.js:505 +#: htdocs/luci-static/resources/view/homeproxy/client.js:630 +#: htdocs/luci-static/resources/view/homeproxy/client.js:768 +#: htdocs/luci-static/resources/view/homeproxy/node.js:468 msgid "Direct" msgstr "直连" -#: htdocs/luci-static/resources/view/homeproxy/client.js:950 +#: htdocs/luci-static/resources/view/homeproxy/client.js:954 msgid "Direct Domain List" msgstr "直连域名列表" -#: htdocs/luci-static/resources/view/homeproxy/client.js:844 -#: htdocs/luci-static/resources/view/homeproxy/client.js:912 +#: htdocs/luci-static/resources/view/homeproxy/client.js:848 +#: htdocs/luci-static/resources/view/homeproxy/client.js:916 msgid "Direct IPv4 IP-s" msgstr "直连 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:851 -#: htdocs/luci-static/resources/view/homeproxy/client.js:915 +#: htdocs/luci-static/resources/view/homeproxy/client.js:855 +#: htdocs/luci-static/resources/view/homeproxy/client.js:919 msgid "Direct IPv6 IP-s" msgstr "直连 IPv6 地址" #: htdocs/luci-static/resources/view/homeproxy/client.js:139 #: htdocs/luci-static/resources/view/homeproxy/client.js:147 #: htdocs/luci-static/resources/view/homeproxy/client.js:280 -#: htdocs/luci-static/resources/view/homeproxy/client.js:838 -#: htdocs/luci-static/resources/view/homeproxy/node.js:495 -#: htdocs/luci-static/resources/view/homeproxy/node.js:514 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1033 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1137 -#: htdocs/luci-static/resources/view/homeproxy/server.js:145 +#: htdocs/luci-static/resources/view/homeproxy/client.js:842 +#: htdocs/luci-static/resources/view/homeproxy/node.js:533 +#: htdocs/luci-static/resources/view/homeproxy/node.js:552 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1071 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1179 +#: htdocs/luci-static/resources/view/homeproxy/server.js:134 msgid "Disable" msgstr "禁用" -#: htdocs/luci-static/resources/view/homeproxy/client.js:544 +#: htdocs/luci-static/resources/view/homeproxy/client.js:546 msgid "Disable DNS cache" msgstr "禁用 DNS 缓存" -#: htdocs/luci-static/resources/view/homeproxy/server.js:401 +#: htdocs/luci-static/resources/view/homeproxy/server.js:404 msgid "Disable HTTP challenge" msgstr "禁用 HTTP 验证" -#: htdocs/luci-static/resources/view/homeproxy/node.js:556 -#: htdocs/luci-static/resources/view/homeproxy/server.js:184 +#: htdocs/luci-static/resources/view/homeproxy/node.js:594 +#: htdocs/luci-static/resources/view/homeproxy/server.js:173 msgid "Disable Path MTU discovery" msgstr "禁用路径 MTU 探测" -#: htdocs/luci-static/resources/view/homeproxy/server.js:406 +#: htdocs/luci-static/resources/view/homeproxy/server.js:409 msgid "Disable TLS ALPN challenge" msgstr "禁用 TLS ALPN 认证" -#: htdocs/luci-static/resources/view/homeproxy/client.js:794 +#: htdocs/luci-static/resources/view/homeproxy/client.js:798 msgid "Disable cache and save cache in this query." msgstr "在本次查询中禁用缓存。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:547 +#: htdocs/luci-static/resources/view/homeproxy/client.js:549 msgid "Disable cache expire" msgstr "缓存永不过期" -#: htdocs/luci-static/resources/view/homeproxy/client.js:793 +#: htdocs/luci-static/resources/view/homeproxy/client.js:797 msgid "Disable dns cache" msgstr "禁用 DNS 缓存" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1015 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1053 msgid "Disable dynamic record sizing" msgstr "禁用动态记录大小" -#: htdocs/luci-static/resources/view/homeproxy/node.js:557 -#: htdocs/luci-static/resources/view/homeproxy/server.js:185 +#: htdocs/luci-static/resources/view/homeproxy/node.js:595 +#: htdocs/luci-static/resources/view/homeproxy/server.js:174 msgid "" "Disables Path MTU Discovery (RFC 8899). Packets will then be at most 1252 " "(IPv4) / 1232 (IPv6) bytes in size." @@ -435,36 +435,36 @@ msgstr "" "禁用路径 MTU 发现 (RFC 8899)。 数据包的大小最多为 1252 (IPv4) / 1232 (IPv6) " "字节。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:435 -#: htdocs/luci-static/resources/view/homeproxy/client.js:700 +#: htdocs/luci-static/resources/view/homeproxy/client.js:437 +#: htdocs/luci-static/resources/view/homeproxy/client.js:704 msgid "Domain keyword" msgstr "域名关键词" -#: htdocs/luci-static/resources/view/homeproxy/client.js:426 -#: htdocs/luci-static/resources/view/homeproxy/client.js:691 +#: htdocs/luci-static/resources/view/homeproxy/client.js:428 +#: htdocs/luci-static/resources/view/homeproxy/client.js:695 msgid "Domain name" msgstr "域名" -#: htdocs/luci-static/resources/view/homeproxy/client.js:439 -#: htdocs/luci-static/resources/view/homeproxy/client.js:704 +#: htdocs/luci-static/resources/view/homeproxy/client.js:441 +#: htdocs/luci-static/resources/view/homeproxy/client.js:708 msgid "Domain regex" msgstr "域名正则表达式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:324 -#: htdocs/luci-static/resources/view/homeproxy/server.js:491 +#: htdocs/luci-static/resources/view/homeproxy/client.js:325 +#: htdocs/luci-static/resources/view/homeproxy/server.js:494 msgid "Domain strategy" msgstr "域名解析策略" -#: htdocs/luci-static/resources/view/homeproxy/client.js:431 -#: htdocs/luci-static/resources/view/homeproxy/client.js:696 +#: htdocs/luci-static/resources/view/homeproxy/client.js:433 +#: htdocs/luci-static/resources/view/homeproxy/client.js:700 msgid "Domain suffix" msgstr "域名后缀" -#: htdocs/luci-static/resources/view/homeproxy/server.js:366 +#: htdocs/luci-static/resources/view/homeproxy/server.js:369 msgid "Domains" msgstr "域名" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1144 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1186 msgid "" "Drop/keep nodes that contain the specific keywords. " "正则表达式。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1136 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1178 msgid "Drop/keep specific nodes from subscriptions." msgstr "从订阅中 丢弃/保留 指定节点" -#: htdocs/luci-static/resources/view/homeproxy/server.js:424 +#: htdocs/luci-static/resources/view/homeproxy/server.js:427 msgid "" "EAB (External Account Binding) contains information necessary to bind or map " "an ACME account to some other account known by the CA.
External account " @@ -489,7 +489,7 @@ msgstr "" "
外部帐户绑定“用于将 ACME 帐户与非 ACME 系统中的现有帐户相关联,例如 CA " "客户数据库。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1010 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1048 msgid "" "ECH (Encrypted Client Hello) is a TLS extension that allows a client to " "encrypt the first part of its ClientHello message." @@ -497,29 +497,29 @@ msgstr "" "ECH(Encrypted Client Hello)是一个 TLS 扩展,它允许客户端加密其 ClientHello " "信息的第一部分。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1025 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1063 msgid "ECH config" msgstr "ECH 配置" -#: htdocs/luci-static/resources/view/homeproxy/node.js:819 -#: htdocs/luci-static/resources/view/homeproxy/server.js:295 +#: htdocs/luci-static/resources/view/homeproxy/node.js:857 +#: htdocs/luci-static/resources/view/homeproxy/server.js:284 msgid "Early data" msgstr "前置数据" -#: htdocs/luci-static/resources/view/homeproxy/node.js:826 -#: htdocs/luci-static/resources/view/homeproxy/server.js:302 +#: htdocs/luci-static/resources/view/homeproxy/node.js:864 +#: htdocs/luci-static/resources/view/homeproxy/server.js:291 msgid "Early data header name" msgstr "前置数据标头" -#: htdocs/luci-static/resources/view/homeproxy/server.js:303 +#: htdocs/luci-static/resources/view/homeproxy/server.js:292 msgid "Early data is sent in path instead of header by default." msgstr "前置数据默认发送在路径而不是标头中。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1037 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1075 msgid "Edge" msgstr "Edge" -#: htdocs/luci-static/resources/view/homeproxy/node.js:298 +#: htdocs/luci-static/resources/view/homeproxy/node.js:335 msgid "Edit nodes" msgstr "修改节点" @@ -527,33 +527,33 @@ msgstr "修改节点" msgid "Edit servers" msgstr "修改服务器" -#: htdocs/luci-static/resources/view/homeproxy/server.js:378 +#: htdocs/luci-static/resources/view/homeproxy/server.js:381 msgid "Email" msgstr "Email" -#: htdocs/luci-static/resources/view/homeproxy/client.js:312 -#: htdocs/luci-static/resources/view/homeproxy/client.js:387 -#: htdocs/luci-static/resources/view/homeproxy/client.js:570 -#: htdocs/luci-static/resources/view/homeproxy/client.js:658 +#: htdocs/luci-static/resources/view/homeproxy/client.js:313 +#: htdocs/luci-static/resources/view/homeproxy/client.js:389 +#: htdocs/luci-static/resources/view/homeproxy/client.js:573 +#: htdocs/luci-static/resources/view/homeproxy/client.js:662 #: htdocs/luci-static/resources/view/homeproxy/server.js:30 -#: htdocs/luci-static/resources/view/homeproxy/server.js:51 +#: htdocs/luci-static/resources/view/homeproxy/server.js:52 msgid "Enable" msgstr "启用" -#: htdocs/luci-static/resources/view/homeproxy/server.js:360 +#: htdocs/luci-static/resources/view/homeproxy/server.js:363 msgid "Enable ACME" msgstr "启用 ACME" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1009 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1047 msgid "Enable ECH" msgstr "启用 ECH" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1020 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1058 msgid "Enable PQ signature schemes" msgstr "启用 PQ 签名方案。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1079 -#: htdocs/luci-static/resources/view/homeproxy/server.js:482 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1121 +#: htdocs/luci-static/resources/view/homeproxy/server.js:485 msgid "Enable UDP fragmentation." msgstr "启用 UDP 分片" @@ -561,19 +561,19 @@ msgstr "启用 UDP 分片" msgid "Enable endpoint-independent NAT" msgstr "启用端点独立 NAT" -#: htdocs/luci-static/resources/view/homeproxy/server.js:476 +#: htdocs/luci-static/resources/view/homeproxy/server.js:479 msgid "Enable tcp fast open for listener." msgstr "为监听器启用 TCP 快速打开。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1084 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1126 msgid "" "Enable the SUoT protocol, requires server support. Conflict with multiplex." msgstr "启用 SUoT 协议,需要服务端支持。与多路复用冲突。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:564 -#: htdocs/luci-static/resources/view/homeproxy/node.js:596 -#: htdocs/luci-static/resources/view/homeproxy/node.js:698 -#: htdocs/luci-static/resources/view/homeproxy/server.js:192 +#: htdocs/luci-static/resources/view/homeproxy/node.js:602 +#: htdocs/luci-static/resources/view/homeproxy/node.js:634 +#: htdocs/luci-static/resources/view/homeproxy/node.js:736 +#: htdocs/luci-static/resources/view/homeproxy/server.js:181 msgid "Encrypt method" msgstr "加密方式" @@ -589,28 +589,28 @@ msgstr "加密方式" #: htdocs/luci-static/resources/view/homeproxy/client.js:175 #: htdocs/luci-static/resources/view/homeproxy/client.js:203 #: htdocs/luci-static/resources/view/homeproxy/client.js:208 -#: htdocs/luci-static/resources/view/homeproxy/client.js:943 -#: htdocs/luci-static/resources/view/homeproxy/client.js:972 -#: htdocs/luci-static/resources/view/homeproxy/node.js:385 -#: htdocs/luci-static/resources/view/homeproxy/node.js:484 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1049 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1125 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1128 -#: htdocs/luci-static/resources/view/homeproxy/server.js:113 -#: htdocs/luci-static/resources/view/homeproxy/server.js:384 -#: htdocs/luci-static/resources/view/homeproxy/server.js:386 +#: htdocs/luci-static/resources/view/homeproxy/client.js:947 +#: htdocs/luci-static/resources/view/homeproxy/client.js:976 +#: htdocs/luci-static/resources/view/homeproxy/node.js:423 +#: htdocs/luci-static/resources/view/homeproxy/node.js:522 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1087 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1167 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1170 +#: htdocs/luci-static/resources/view/homeproxy/server.js:102 +#: htdocs/luci-static/resources/view/homeproxy/server.js:387 +#: htdocs/luci-static/resources/view/homeproxy/server.js:389 msgid "Expecting: %s" msgstr "请输入:%s。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:423 +#: htdocs/luci-static/resources/view/homeproxy/server.js:426 msgid "External Account Binding" msgstr "外部账户绑定" -#: htdocs/luci-static/resources/view/homeproxy/server.js:435 +#: htdocs/luci-static/resources/view/homeproxy/server.js:438 msgid "External account MAC key" msgstr "外部账户 MAC 密钥" -#: htdocs/luci-static/resources/view/homeproxy/server.js:430 +#: htdocs/luci-static/resources/view/homeproxy/server.js:433 msgid "External account key ID" msgstr "外部账户密钥标识符" @@ -618,24 +618,24 @@ msgstr "外部账户密钥标识符" msgid "Failed to upload %s, error: %s." msgstr "上传 %s 失败,错误:%s。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1143 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1185 msgid "Filter keywords" msgstr "过滤关键词" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1135 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1177 msgid "Filter nodes" msgstr "过滤节点" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1038 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1076 msgid "Firefox" msgstr "Firefox" -#: htdocs/luci-static/resources/view/homeproxy/node.js:686 -#: htdocs/luci-static/resources/view/homeproxy/server.js:206 +#: htdocs/luci-static/resources/view/homeproxy/node.js:724 +#: htdocs/luci-static/resources/view/homeproxy/server.js:195 msgid "Flow" msgstr "流控" -#: htdocs/luci-static/resources/view/homeproxy/node.js:788 +#: htdocs/luci-static/resources/view/homeproxy/node.js:826 msgid "GET" msgstr "GET" @@ -647,15 +647,15 @@ msgstr "GFW 域名列表版本" msgid "GFWList" msgstr "GFWList" -#: htdocs/luci-static/resources/view/homeproxy/client.js:874 +#: htdocs/luci-static/resources/view/homeproxy/client.js:878 msgid "Gaming mode IPv4 IP-s" msgstr "游戏模式 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:880 +#: htdocs/luci-static/resources/view/homeproxy/client.js:884 msgid "Gaming mode IPv6 IP-s" msgstr "游戏模式 IPv6 IP-s" -#: htdocs/luci-static/resources/view/homeproxy/client.js:451 +#: htdocs/luci-static/resources/view/homeproxy/client.js:453 msgid "GeoIP" msgstr "GeoIP" @@ -667,8 +667,8 @@ msgstr "GeoIP 版本" msgid "GeoSite version" msgstr "GeoSite 版本" -#: htdocs/luci-static/resources/view/homeproxy/client.js:443 -#: htdocs/luci-static/resources/view/homeproxy/client.js:708 +#: htdocs/luci-static/resources/view/homeproxy/client.js:445 +#: htdocs/luci-static/resources/view/homeproxy/client.js:712 msgid "Geosite" msgstr "Geosite" @@ -676,11 +676,11 @@ msgstr "Geosite" msgid "Global" msgstr "全局" -#: htdocs/luci-static/resources/view/homeproxy/client.js:887 +#: htdocs/luci-static/resources/view/homeproxy/client.js:891 msgid "Global proxy IPv4 IP-s" msgstr "全局代理 IPv4 IP-s" -#: htdocs/luci-static/resources/view/homeproxy/client.js:894 +#: htdocs/luci-static/resources/view/homeproxy/client.js:898 msgid "Global proxy IPv6 IP-s" msgstr "全局代理 IPv6 IP-s" @@ -696,12 +696,12 @@ msgstr "谷歌公共 DNS(8.8.8.8)" msgid "Grant access to homeproxy configuration" msgstr "授予 homeproxy 访问 UCI 配置的权限" -#: htdocs/luci-static/resources/view/homeproxy/client.js:421 -#: htdocs/luci-static/resources/view/homeproxy/client.js:685 -#: htdocs/luci-static/resources/view/homeproxy/node.js:431 -#: htdocs/luci-static/resources/view/homeproxy/node.js:729 -#: htdocs/luci-static/resources/view/homeproxy/server.js:57 -#: htdocs/luci-static/resources/view/homeproxy/server.js:224 +#: htdocs/luci-static/resources/view/homeproxy/client.js:423 +#: htdocs/luci-static/resources/view/homeproxy/client.js:689 +#: htdocs/luci-static/resources/view/homeproxy/node.js:469 +#: htdocs/luci-static/resources/view/homeproxy/node.js:767 +#: htdocs/luci-static/resources/view/homeproxy/server.js:58 +#: htdocs/luci-static/resources/view/homeproxy/server.js:213 msgid "HTTP" msgstr "HTTP" @@ -712,28 +712,28 @@ msgstr "HTTP" msgid "HomeProxy" msgstr "HomeProxy" -#: htdocs/luci-static/resources/view/homeproxy/node.js:778 -#: htdocs/luci-static/resources/view/homeproxy/node.js:811 -#: htdocs/luci-static/resources/view/homeproxy/server.js:257 -#: htdocs/luci-static/resources/view/homeproxy/server.js:287 +#: htdocs/luci-static/resources/view/homeproxy/node.js:816 +#: htdocs/luci-static/resources/view/homeproxy/node.js:849 +#: htdocs/luci-static/resources/view/homeproxy/server.js:246 +#: htdocs/luci-static/resources/view/homeproxy/server.js:276 msgid "Host" msgstr "主机名" -#: htdocs/luci-static/resources/view/homeproxy/node.js:433 -#: htdocs/luci-static/resources/view/homeproxy/server.js:59 +#: htdocs/luci-static/resources/view/homeproxy/node.js:471 +#: htdocs/luci-static/resources/view/homeproxy/server.js:60 msgid "Hysteria" msgstr "Hysteria" -#: htdocs/luci-static/resources/view/homeproxy/client.js:460 -#: htdocs/luci-static/resources/view/homeproxy/client.js:721 +#: htdocs/luci-static/resources/view/homeproxy/client.js:462 +#: htdocs/luci-static/resources/view/homeproxy/client.js:725 msgid "IP CIDR" msgstr "IP CIDR" -#: htdocs/luci-static/resources/view/homeproxy/client.js:392 +#: htdocs/luci-static/resources/view/homeproxy/client.js:394 msgid "IP version" msgstr "IP 版本" -#: htdocs/luci-static/resources/view/homeproxy/client.js:394 +#: htdocs/luci-static/resources/view/homeproxy/client.js:396 msgid "IPv4" msgstr "IPv4" @@ -741,7 +741,7 @@ msgstr "IPv4" msgid "IPv4 only" msgstr "仅 IPv4" -#: htdocs/luci-static/resources/view/homeproxy/client.js:395 +#: htdocs/luci-static/resources/view/homeproxy/client.js:397 msgid "IPv6" msgstr "IPv6" @@ -753,31 +753,31 @@ msgstr "仅 IPv6" msgid "IPv6 support" msgstr "IPv6 支持" -#: htdocs/luci-static/resources/view/homeproxy/node.js:793 -#: htdocs/luci-static/resources/view/homeproxy/server.js:270 +#: htdocs/luci-static/resources/view/homeproxy/node.js:831 +#: htdocs/luci-static/resources/view/homeproxy/server.js:259 msgid "Idle timeout" msgstr "空闲超时" -#: htdocs/luci-static/resources/view/homeproxy/node.js:770 +#: htdocs/luci-static/resources/view/homeproxy/node.js:808 msgid "" "If enabled, the client transport sends keepalive pings even with no active " "connections." msgstr "如果启用,客户端传输即使没有活动连接也会发送 keepalive ping。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:492 +#: htdocs/luci-static/resources/view/homeproxy/server.js:495 msgid "" "If set, the requested domain name will be resolved to IP before routing." msgstr "如果设置,请求的域名将在路由前被解析为 IP 地址。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:325 +#: htdocs/luci-static/resources/view/homeproxy/client.js:326 msgid "" "If set, the server domain name will be resolved to IP before connecting.
dns.strategy will be used if empty." msgstr "" "如果设置,服务器域名将在连接前被解析为 IP。
默认使用 dns.strategy。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:755 -#: htdocs/luci-static/resources/view/homeproxy/server.js:242 +#: htdocs/luci-static/resources/view/homeproxy/node.js:793 +#: htdocs/luci-static/resources/view/homeproxy/server.js:231 msgid "" "If the transport doesn't see any activity after a duration of this time, it " "pings the client to check if the connection is still active." @@ -785,41 +785,41 @@ msgstr "" "如果传输在此时间段后没有看到任何活动,它会向客户端发送 ping 请求以检查连接是" "否仍然活动。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:988 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1026 msgid "" "If you have the root certificate, use this option instead of allowing " "insecure." msgstr "如果你拥有根证书,使用此选项而不是允许不安全连接。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:368 +#: htdocs/luci-static/resources/view/homeproxy/node.js:406 msgid "Import" msgstr "导入" -#: htdocs/luci-static/resources/view/homeproxy/node.js:316 -#: htdocs/luci-static/resources/view/homeproxy/node.js:394 -#: htdocs/luci-static/resources/view/homeproxy/node.js:396 +#: htdocs/luci-static/resources/view/homeproxy/node.js:354 +#: htdocs/luci-static/resources/view/homeproxy/node.js:432 +#: htdocs/luci-static/resources/view/homeproxy/node.js:434 msgid "Import share links" msgstr "导入分享链接" -#: htdocs/luci-static/resources/view/homeproxy/client.js:807 +#: htdocs/luci-static/resources/view/homeproxy/client.js:811 msgid "Interface Control" msgstr "接口控制" -#: htdocs/luci-static/resources/view/homeproxy/client.js:409 -#: htdocs/luci-static/resources/view/homeproxy/client.js:673 +#: htdocs/luci-static/resources/view/homeproxy/client.js:411 +#: htdocs/luci-static/resources/view/homeproxy/client.js:677 msgid "Invert" msgstr "反转" -#: htdocs/luci-static/resources/view/homeproxy/client.js:410 -#: htdocs/luci-static/resources/view/homeproxy/client.js:674 +#: htdocs/luci-static/resources/view/homeproxy/client.js:412 +#: htdocs/luci-static/resources/view/homeproxy/client.js:678 msgid "Invert match result." msgstr "反转匹配结果" -#: htdocs/luci-static/resources/view/homeproxy/server.js:457 +#: htdocs/luci-static/resources/view/homeproxy/server.js:460 msgid "Key path" msgstr "证书路径" -#: htdocs/luci-static/resources/view/homeproxy/client.js:821 +#: htdocs/luci-static/resources/view/homeproxy/client.js:825 msgid "LAN IP Policy" msgstr "LAN IP 策略" @@ -827,17 +827,17 @@ msgstr "LAN IP 策略" msgid "LWIP" msgstr "LWIP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:307 -#: htdocs/luci-static/resources/view/homeproxy/client.js:382 -#: htdocs/luci-static/resources/view/homeproxy/client.js:565 -#: htdocs/luci-static/resources/view/homeproxy/client.js:653 -#: htdocs/luci-static/resources/view/homeproxy/node.js:424 -#: htdocs/luci-static/resources/view/homeproxy/server.js:45 +#: htdocs/luci-static/resources/view/homeproxy/client.js:308 +#: htdocs/luci-static/resources/view/homeproxy/client.js:384 +#: htdocs/luci-static/resources/view/homeproxy/client.js:568 +#: htdocs/luci-static/resources/view/homeproxy/client.js:657 +#: htdocs/luci-static/resources/view/homeproxy/node.js:462 +#: htdocs/luci-static/resources/view/homeproxy/server.js:46 msgid "Label" msgstr "标签" -#: htdocs/luci-static/resources/view/homeproxy/node.js:693 -#: htdocs/luci-static/resources/view/homeproxy/server.js:213 +#: htdocs/luci-static/resources/view/homeproxy/node.js:731 +#: htdocs/luci-static/resources/view/homeproxy/server.js:202 msgid "" "Legacy protocol support (VMess MD5 Authentication) is provided for " "compatibility purposes only, use of alterId > 1 is not recommended." @@ -849,21 +849,21 @@ msgstr "" msgid "Less compatibility and sometimes better performance." msgstr "有时性能更好。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:395 +#: htdocs/luci-static/resources/view/homeproxy/server.js:398 msgid "Let's Encrypt" msgstr "Let's Encrypt" -#: htdocs/luci-static/resources/view/homeproxy/node.js:843 +#: htdocs/luci-static/resources/view/homeproxy/node.js:881 msgid "" "List of IP (v4 or v6) addresses prefixes to be assigned to the interface." msgstr "分配给接口的 IP(v4 或 v6)地址前缀列表。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:950 -#: htdocs/luci-static/resources/view/homeproxy/server.js:331 +#: htdocs/luci-static/resources/view/homeproxy/node.js:988 +#: htdocs/luci-static/resources/view/homeproxy/server.js:334 msgid "List of supported application level protocols, in order of preference." msgstr "支持的应用层协议协商列表,按顺序排列。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:809 +#: htdocs/luci-static/resources/view/homeproxy/client.js:813 msgid "Listen interfaces" msgstr "监听接口" @@ -871,7 +871,7 @@ msgstr "监听接口" msgid "Loading" msgstr "加载中" -#: htdocs/luci-static/resources/view/homeproxy/node.js:842 +#: htdocs/luci-static/resources/view/homeproxy/node.js:880 msgid "Local address" msgstr "本地地址" @@ -883,7 +883,7 @@ msgstr "日志文件不存在。" msgid "Log is empty." msgstr "日志为空。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:869 +#: htdocs/luci-static/resources/view/homeproxy/node.js:907 msgid "MTU" msgstr "MTU" @@ -895,119 +895,119 @@ msgstr "主 UDP 节点" msgid "Main node" msgstr "主节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:452 +#: htdocs/luci-static/resources/view/homeproxy/client.js:454 msgid "Match GeoIP." msgstr "匹配 GeoIP。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:461 -#: htdocs/luci-static/resources/view/homeproxy/client.js:722 +#: htdocs/luci-static/resources/view/homeproxy/client.js:463 +#: htdocs/luci-static/resources/view/homeproxy/client.js:726 msgid "Match IP CIDR." msgstr "匹配 IP CIDR。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:432 -#: htdocs/luci-static/resources/view/homeproxy/client.js:697 +#: htdocs/luci-static/resources/view/homeproxy/client.js:434 +#: htdocs/luci-static/resources/view/homeproxy/client.js:701 msgid "Match domain suffix." msgstr "匹配域名后缀。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:436 -#: htdocs/luci-static/resources/view/homeproxy/client.js:701 +#: htdocs/luci-static/resources/view/homeproxy/client.js:438 +#: htdocs/luci-static/resources/view/homeproxy/client.js:705 msgid "Match domain using keyword." msgstr "使用关键词匹配域名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:440 -#: htdocs/luci-static/resources/view/homeproxy/client.js:705 +#: htdocs/luci-static/resources/view/homeproxy/client.js:442 +#: htdocs/luci-static/resources/view/homeproxy/client.js:709 msgid "Match domain using regular expression." msgstr "使用正则表达式匹配域名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:427 -#: htdocs/luci-static/resources/view/homeproxy/client.js:692 +#: htdocs/luci-static/resources/view/homeproxy/client.js:429 +#: htdocs/luci-static/resources/view/homeproxy/client.js:696 msgid "Match full domain." msgstr "匹配完整域名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:444 -#: htdocs/luci-static/resources/view/homeproxy/client.js:709 +#: htdocs/luci-static/resources/view/homeproxy/client.js:446 +#: htdocs/luci-static/resources/view/homeproxy/client.js:713 msgid "Match geosite." msgstr "匹配 geosite。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:759 +#: htdocs/luci-static/resources/view/homeproxy/client.js:763 msgid "Match outbound." msgstr "匹配出站。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:481 -#: htdocs/luci-static/resources/view/homeproxy/client.js:742 +#: htdocs/luci-static/resources/view/homeproxy/client.js:483 +#: htdocs/luci-static/resources/view/homeproxy/client.js:746 msgid "Match port range. Format as START:/:END/START:END." msgstr "匹配端口范围。格式为 START:/:END/START:END。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:476 -#: htdocs/luci-static/resources/view/homeproxy/client.js:737 +#: htdocs/luci-static/resources/view/homeproxy/client.js:478 +#: htdocs/luci-static/resources/view/homeproxy/client.js:741 msgid "Match port." msgstr "匹配端口。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:486 -#: htdocs/luci-static/resources/view/homeproxy/client.js:747 +#: htdocs/luci-static/resources/view/homeproxy/client.js:488 +#: htdocs/luci-static/resources/view/homeproxy/client.js:751 msgid "Match process name." msgstr "匹配进程名。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:490 -#: htdocs/luci-static/resources/view/homeproxy/client.js:751 +#: htdocs/luci-static/resources/view/homeproxy/client.js:492 +#: htdocs/luci-static/resources/view/homeproxy/client.js:755 msgid "Match process path." msgstr "匹配进程路径" -#: htdocs/luci-static/resources/view/homeproxy/client.js:448 -#: htdocs/luci-static/resources/view/homeproxy/client.js:713 +#: htdocs/luci-static/resources/view/homeproxy/client.js:450 +#: htdocs/luci-static/resources/view/homeproxy/client.js:717 msgid "Match source GeoIP." msgstr "匹配源 GeoIP。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:456 -#: htdocs/luci-static/resources/view/homeproxy/client.js:717 +#: htdocs/luci-static/resources/view/homeproxy/client.js:458 +#: htdocs/luci-static/resources/view/homeproxy/client.js:721 msgid "Match source IP CIDR." msgstr "匹配源 IP CIDR。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:471 -#: htdocs/luci-static/resources/view/homeproxy/client.js:732 +#: htdocs/luci-static/resources/view/homeproxy/client.js:473 +#: htdocs/luci-static/resources/view/homeproxy/client.js:736 msgid "Match source port range. Format as START:/:END/START:END." msgstr "匹配源端口范围。格式为 START:/:END/START:END。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:466 -#: htdocs/luci-static/resources/view/homeproxy/client.js:727 +#: htdocs/luci-static/resources/view/homeproxy/client.js:468 +#: htdocs/luci-static/resources/view/homeproxy/client.js:731 msgid "Match source port." msgstr "匹配源端口。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:494 -#: htdocs/luci-static/resources/view/homeproxy/client.js:755 +#: htdocs/luci-static/resources/view/homeproxy/client.js:496 +#: htdocs/luci-static/resources/view/homeproxy/client.js:759 msgid "Match user name." msgstr "匹配用户名。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:532 -#: htdocs/luci-static/resources/view/homeproxy/server.js:132 +#: htdocs/luci-static/resources/view/homeproxy/node.js:570 +#: htdocs/luci-static/resources/view/homeproxy/server.js:121 msgid "Max download speed" msgstr "最大下载速度" -#: htdocs/luci-static/resources/view/homeproxy/node.js:533 -#: htdocs/luci-static/resources/view/homeproxy/server.js:133 +#: htdocs/luci-static/resources/view/homeproxy/node.js:571 +#: htdocs/luci-static/resources/view/homeproxy/server.js:122 msgid "Max download speed in Mbps." msgstr "最大下载速度(Mbps)" -#: htdocs/luci-static/resources/view/homeproxy/node.js:538 -#: htdocs/luci-static/resources/view/homeproxy/server.js:138 +#: htdocs/luci-static/resources/view/homeproxy/node.js:576 +#: htdocs/luci-static/resources/view/homeproxy/server.js:127 msgid "Max upload speed" msgstr "最大上传速度" -#: htdocs/luci-static/resources/view/homeproxy/node.js:539 -#: htdocs/luci-static/resources/view/homeproxy/server.js:139 +#: htdocs/luci-static/resources/view/homeproxy/node.js:577 +#: htdocs/luci-static/resources/view/homeproxy/server.js:128 msgid "Max upload speed in Mbps." msgstr "最大上传速度(Mbps)" -#: htdocs/luci-static/resources/view/homeproxy/node.js:971 -#: htdocs/luci-static/resources/view/homeproxy/server.js:343 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1009 +#: htdocs/luci-static/resources/view/homeproxy/server.js:346 msgid "Maximum TLS version" msgstr "最大 TLS 版本" -#: htdocs/luci-static/resources/view/homeproxy/node.js:896 +#: htdocs/luci-static/resources/view/homeproxy/node.js:934 msgid "Maximum connections" msgstr "最大连接数" -#: htdocs/luci-static/resources/view/homeproxy/node.js:912 +#: htdocs/luci-static/resources/view/homeproxy/node.js:950 msgid "" "Maximum multiplexed streams in a connection before opening a new connection." "
Conflict with Maximum connections and Minimum " @@ -1016,39 +1016,39 @@ msgstr "" "在打开新连接之前,连接中的最大多路复用流数量。与 Maximum connectionsMinimum streams 冲突。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:911 +#: htdocs/luci-static/resources/view/homeproxy/node.js:949 msgid "Maximum streams" msgstr "最大流数量" -#: htdocs/luci-static/resources/view/homeproxy/node.js:787 -#: htdocs/luci-static/resources/view/homeproxy/server.js:266 +#: htdocs/luci-static/resources/view/homeproxy/node.js:825 +#: htdocs/luci-static/resources/view/homeproxy/server.js:255 msgid "Method" msgstr "方式" -#: htdocs/luci-static/resources/view/homeproxy/node.js:963 -#: htdocs/luci-static/resources/view/homeproxy/server.js:335 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1001 +#: htdocs/luci-static/resources/view/homeproxy/server.js:338 msgid "Minimum TLS version" msgstr "最低 TLS 版本" -#: htdocs/luci-static/resources/view/homeproxy/node.js:904 +#: htdocs/luci-static/resources/view/homeproxy/node.js:942 msgid "" "Minimum multiplexed streams in a connection before opening a new connection." msgstr "在打开新连接之前,连接中的最小多路复用流数量。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:903 +#: htdocs/luci-static/resources/view/homeproxy/node.js:941 msgid "Minimum streams" msgstr "最小流数量" -#: htdocs/luci-static/resources/view/homeproxy/client.js:399 -#: htdocs/luci-static/resources/view/homeproxy/client.js:663 +#: htdocs/luci-static/resources/view/homeproxy/client.js:401 +#: htdocs/luci-static/resources/view/homeproxy/client.js:667 msgid "Mode" msgstr "模式" -#: htdocs/luci-static/resources/view/homeproxy/node.js:878 +#: htdocs/luci-static/resources/view/homeproxy/node.js:916 msgid "Multiplex" msgstr "多路复用" -#: htdocs/luci-static/resources/view/homeproxy/node.js:886 +#: htdocs/luci-static/resources/view/homeproxy/node.js:924 msgid "Multiplex protocol." msgstr "多路复用协议" @@ -1056,46 +1056,46 @@ msgstr "多路复用协议" msgid "NOT RUNNING" msgstr "未运行" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1162 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1204 msgid "NOTE: Save current settings before updating subscriptions." msgstr "注意:更新订阅前先保存当前配置。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:60 +#: htdocs/luci-static/resources/view/homeproxy/server.js:61 msgid "NaïveProxy" msgstr "NaïveProxy" -#: htdocs/luci-static/resources/view/homeproxy/client.js:414 -#: htdocs/luci-static/resources/view/homeproxy/client.js:678 -#: htdocs/luci-static/resources/view/homeproxy/server.js:509 +#: htdocs/luci-static/resources/view/homeproxy/client.js:416 +#: htdocs/luci-static/resources/view/homeproxy/client.js:682 +#: htdocs/luci-static/resources/view/homeproxy/server.js:512 msgid "Network" msgstr "网络" -#: htdocs/luci-static/resources/view/homeproxy/node.js:726 -#: htdocs/luci-static/resources/view/homeproxy/node.js:742 -#: htdocs/luci-static/resources/view/homeproxy/server.js:221 -#: htdocs/luci-static/resources/view/homeproxy/server.js:234 +#: htdocs/luci-static/resources/view/homeproxy/node.js:764 +#: htdocs/luci-static/resources/view/homeproxy/node.js:780 +#: htdocs/luci-static/resources/view/homeproxy/server.js:210 +#: htdocs/luci-static/resources/view/homeproxy/server.js:223 msgid "No TCP transport, plain HTTP is merged into the HTTP transport." msgstr "无 TCP 传输层, 纯 HTTP 已合并到 HTTP 传输层。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:740 -#: htdocs/luci-static/resources/view/homeproxy/server.js:232 +#: htdocs/luci-static/resources/view/homeproxy/node.js:778 +#: htdocs/luci-static/resources/view/homeproxy/server.js:221 msgid "No additional encryption support: It's basically duplicate encryption." msgstr "无额外加密支持:它基本上是重复加密。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1178 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1220 msgid "No subscription available" msgstr "无可用订阅" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1203 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1245 msgid "No subscription node" msgstr "无订阅节点" -#: htdocs/luci-static/resources/view/homeproxy/node.js:355 +#: htdocs/luci-static/resources/view/homeproxy/node.js:393 msgid "No valid share link found." msgstr "找不到有效分享链接。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:317 -#: htdocs/luci-static/resources/view/homeproxy/node.js:310 +#: htdocs/luci-static/resources/view/homeproxy/client.js:318 +#: htdocs/luci-static/resources/view/homeproxy/node.js:348 msgid "Node" msgstr "节点" @@ -1103,32 +1103,32 @@ msgstr "节点" msgid "Node Settings" msgstr "节点设置" -#: htdocs/luci-static/resources/view/homeproxy/node.js:303 +#: htdocs/luci-static/resources/view/homeproxy/node.js:340 msgid "Nodes" msgstr "节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:585 -#: htdocs/luci-static/resources/view/homeproxy/node.js:687 -#: htdocs/luci-static/resources/view/homeproxy/node.js:727 -#: htdocs/luci-static/resources/view/homeproxy/server.js:207 -#: htdocs/luci-static/resources/view/homeproxy/server.js:222 +#: htdocs/luci-static/resources/view/homeproxy/client.js:588 +#: htdocs/luci-static/resources/view/homeproxy/node.js:725 +#: htdocs/luci-static/resources/view/homeproxy/node.js:765 +#: htdocs/luci-static/resources/view/homeproxy/server.js:196 +#: htdocs/luci-static/resources/view/homeproxy/server.js:211 msgid "None" msgstr "无" -#: htdocs/luci-static/resources/view/homeproxy/node.js:644 +#: htdocs/luci-static/resources/view/homeproxy/node.js:682 msgid "Obfs" msgstr "混淆协议" -#: htdocs/luci-static/resources/view/homeproxy/node.js:654 +#: htdocs/luci-static/resources/view/homeproxy/node.js:692 msgid "Obfs param" msgstr "混淆参数" -#: htdocs/luci-static/resources/view/homeproxy/node.js:528 -#: htdocs/luci-static/resources/view/homeproxy/server.js:159 +#: htdocs/luci-static/resources/view/homeproxy/node.js:566 +#: htdocs/luci-static/resources/view/homeproxy/server.js:148 msgid "Obfuscate password" msgstr "混淆密码" -#: htdocs/luci-static/resources/view/homeproxy/client.js:810 +#: htdocs/luci-static/resources/view/homeproxy/client.js:814 msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "只处理来自指定接口的流量。留空表示全部。" @@ -1136,52 +1136,52 @@ msgstr "只处理来自指定接口的流量。留空表示全部。" msgid "Only proxy mainland China" msgstr "仅代理中国大陆" -#: htdocs/luci-static/resources/view/homeproxy/client.js:337 -#: htdocs/luci-static/resources/view/homeproxy/client.js:497 -#: htdocs/luci-static/resources/view/homeproxy/client.js:621 -#: htdocs/luci-static/resources/view/homeproxy/client.js:758 +#: htdocs/luci-static/resources/view/homeproxy/client.js:338 +#: htdocs/luci-static/resources/view/homeproxy/client.js:499 +#: htdocs/luci-static/resources/view/homeproxy/client.js:624 +#: htdocs/luci-static/resources/view/homeproxy/client.js:762 msgid "Outbound" msgstr "出站" -#: htdocs/luci-static/resources/view/homeproxy/client.js:318 +#: htdocs/luci-static/resources/view/homeproxy/client.js:319 msgid "Outbound node" msgstr "出站节点" #: htdocs/luci-static/resources/view/homeproxy/client.js:270 -#: htdocs/luci-static/resources/view/homeproxy/server.js:487 +#: htdocs/luci-static/resources/view/homeproxy/server.js:490 msgid "Override destination" msgstr "覆盖目标地址" #: htdocs/luci-static/resources/view/homeproxy/client.js:271 -#: htdocs/luci-static/resources/view/homeproxy/server.js:488 +#: htdocs/luci-static/resources/view/homeproxy/server.js:491 msgid "Override the connection destination address with the sniffed domain." msgstr "使用嗅探到的域名覆盖连接目标。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:789 +#: htdocs/luci-static/resources/view/homeproxy/node.js:827 msgid "PUT" msgstr "PUT" -#: htdocs/luci-static/resources/view/homeproxy/node.js:832 +#: htdocs/luci-static/resources/view/homeproxy/node.js:870 msgid "Packet encoding" msgstr "数据包编码" -#: htdocs/luci-static/resources/view/homeproxy/server.js:498 +#: htdocs/luci-static/resources/view/homeproxy/server.js:501 msgid "Parse Proxy Protocol in the connection header." msgstr "解析连接标头中的代理协议。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:459 -#: htdocs/luci-static/resources/view/homeproxy/server.js:93 +#: htdocs/luci-static/resources/view/homeproxy/node.js:497 +#: htdocs/luci-static/resources/view/homeproxy/server.js:82 msgid "Password" msgstr "密码" -#: htdocs/luci-static/resources/view/homeproxy/node.js:783 -#: htdocs/luci-static/resources/view/homeproxy/node.js:815 -#: htdocs/luci-static/resources/view/homeproxy/server.js:262 -#: htdocs/luci-static/resources/view/homeproxy/server.js:291 +#: htdocs/luci-static/resources/view/homeproxy/node.js:821 +#: htdocs/luci-static/resources/view/homeproxy/node.js:853 +#: htdocs/luci-static/resources/view/homeproxy/server.js:251 +#: htdocs/luci-static/resources/view/homeproxy/server.js:280 msgid "Path" msgstr "路径" -#: htdocs/luci-static/resources/view/homeproxy/node.js:856 +#: htdocs/luci-static/resources/view/homeproxy/node.js:894 msgid "Peer pubkic key" msgstr "对端公钥" @@ -1191,23 +1191,23 @@ msgid "" "it is not needed." msgstr "性能可能会略有下降,建议仅在需要时开启。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:801 -#: htdocs/luci-static/resources/view/homeproxy/server.js:278 +#: htdocs/luci-static/resources/view/homeproxy/node.js:839 +#: htdocs/luci-static/resources/view/homeproxy/server.js:267 msgid "Ping timeout" msgstr "Ping 超时" -#: htdocs/luci-static/resources/view/homeproxy/node.js:582 +#: htdocs/luci-static/resources/view/homeproxy/node.js:620 msgid "Plugin" msgstr "插件" -#: htdocs/luci-static/resources/view/homeproxy/node.js:589 +#: htdocs/luci-static/resources/view/homeproxy/node.js:627 msgid "Plugin opts" msgstr "插件参数" -#: htdocs/luci-static/resources/view/homeproxy/client.js:475 -#: htdocs/luci-static/resources/view/homeproxy/client.js:736 -#: htdocs/luci-static/resources/view/homeproxy/node.js:450 -#: htdocs/luci-static/resources/view/homeproxy/server.js:81 +#: htdocs/luci-static/resources/view/homeproxy/client.js:477 +#: htdocs/luci-static/resources/view/homeproxy/client.js:740 +#: htdocs/luci-static/resources/view/homeproxy/node.js:488 +#: htdocs/luci-static/resources/view/homeproxy/server.js:70 msgid "Port" msgstr "端口" @@ -1215,12 +1215,12 @@ msgstr "端口" msgid "Port %s alrealy exists!" msgstr "端口 %s 已存在!" -#: htdocs/luci-static/resources/view/homeproxy/client.js:480 -#: htdocs/luci-static/resources/view/homeproxy/client.js:741 +#: htdocs/luci-static/resources/view/homeproxy/client.js:482 +#: htdocs/luci-static/resources/view/homeproxy/client.js:745 msgid "Port range" msgstr "端口范围" -#: htdocs/luci-static/resources/view/homeproxy/node.js:862 +#: htdocs/luci-static/resources/view/homeproxy/node.js:900 msgid "Pre-shared key" msgstr "预共享密钥" @@ -1232,66 +1232,66 @@ msgstr "优先 IPv4" msgid "Prefer IPv6" msgstr "优先 IPv6" -#: htdocs/luci-static/resources/view/homeproxy/node.js:849 +#: htdocs/luci-static/resources/view/homeproxy/node.js:887 msgid "Private key" msgstr "私钥" -#: htdocs/luci-static/resources/view/homeproxy/client.js:485 -#: htdocs/luci-static/resources/view/homeproxy/client.js:746 +#: htdocs/luci-static/resources/view/homeproxy/client.js:487 +#: htdocs/luci-static/resources/view/homeproxy/client.js:750 msgid "Process name" msgstr "进程名" -#: htdocs/luci-static/resources/view/homeproxy/client.js:489 -#: htdocs/luci-static/resources/view/homeproxy/client.js:750 +#: htdocs/luci-static/resources/view/homeproxy/client.js:491 +#: htdocs/luci-static/resources/view/homeproxy/client.js:754 msgid "Process path" msgstr "进程路径" -#: htdocs/luci-static/resources/view/homeproxy/client.js:419 -#: htdocs/luci-static/resources/view/homeproxy/client.js:683 -#: htdocs/luci-static/resources/view/homeproxy/node.js:502 -#: htdocs/luci-static/resources/view/homeproxy/node.js:624 -#: htdocs/luci-static/resources/view/homeproxy/node.js:885 -#: htdocs/luci-static/resources/view/homeproxy/server.js:121 +#: htdocs/luci-static/resources/view/homeproxy/client.js:421 +#: htdocs/luci-static/resources/view/homeproxy/client.js:687 +#: htdocs/luci-static/resources/view/homeproxy/node.js:540 +#: htdocs/luci-static/resources/view/homeproxy/node.js:662 +#: htdocs/luci-static/resources/view/homeproxy/node.js:923 +#: htdocs/luci-static/resources/view/homeproxy/server.js:110 msgid "Protocol" msgstr "协议" -#: htdocs/luci-static/resources/view/homeproxy/node.js:640 +#: htdocs/luci-static/resources/view/homeproxy/node.js:678 msgid "Protocol param" msgstr "协议参数" -#: htdocs/luci-static/resources/view/homeproxy/node.js:717 +#: htdocs/luci-static/resources/view/homeproxy/node.js:755 msgid "Protocol parameter. Enable length block encryption." msgstr "协议参数。启用长度块加密。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:710 +#: htdocs/luci-static/resources/view/homeproxy/node.js:748 msgid "" "Protocol parameter. Will waste traffic randomly if enabled (enabled by " "default in v2ray and cannot be disabled)." msgstr "协议参数。 如启用会随机浪费流量(在 v2ray 中默认启用并且无法禁用)。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:921 +#: htdocs/luci-static/resources/view/homeproxy/client.js:925 msgid "Proxy Domain List" msgstr "代理域名列表" -#: htdocs/luci-static/resources/view/homeproxy/client.js:859 -#: htdocs/luci-static/resources/view/homeproxy/client.js:905 +#: htdocs/luci-static/resources/view/homeproxy/client.js:863 +#: htdocs/luci-static/resources/view/homeproxy/client.js:909 msgid "Proxy IPv4 IP-s" msgstr "代理 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:866 -#: htdocs/luci-static/resources/view/homeproxy/client.js:908 +#: htdocs/luci-static/resources/view/homeproxy/client.js:870 +#: htdocs/luci-static/resources/view/homeproxy/client.js:912 msgid "Proxy IPv6 IP-s" msgstr "代理 IPv6 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:840 +#: htdocs/luci-static/resources/view/homeproxy/client.js:844 msgid "Proxy all except listed" msgstr "仅允许列表外" -#: htdocs/luci-static/resources/view/homeproxy/client.js:837 +#: htdocs/luci-static/resources/view/homeproxy/client.js:841 msgid "Proxy filter mode" msgstr "代理过滤模式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:839 +#: htdocs/luci-static/resources/view/homeproxy/client.js:843 msgid "Proxy listed only" msgstr "仅允许列表内" @@ -1299,45 +1299,45 @@ msgstr "仅允许列表内" msgid "Proxy mode" msgstr "代理模式" -#: htdocs/luci-static/resources/view/homeproxy/node.js:493 -#: htdocs/luci-static/resources/view/homeproxy/server.js:497 +#: htdocs/luci-static/resources/view/homeproxy/node.js:531 +#: htdocs/luci-static/resources/view/homeproxy/server.js:500 msgid "Proxy protocol" msgstr "代理协议" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1040 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1078 msgid "QQ" msgstr "QQ" -#: htdocs/luci-static/resources/view/homeproxy/client.js:423 -#: htdocs/luci-static/resources/view/homeproxy/client.js:687 -#: htdocs/luci-static/resources/view/homeproxy/node.js:730 -#: htdocs/luci-static/resources/view/homeproxy/server.js:225 +#: htdocs/luci-static/resources/view/homeproxy/client.js:425 +#: htdocs/luci-static/resources/view/homeproxy/client.js:691 +#: htdocs/luci-static/resources/view/homeproxy/node.js:768 +#: htdocs/luci-static/resources/view/homeproxy/server.js:214 msgid "QUIC" msgstr "QUIC" -#: htdocs/luci-static/resources/view/homeproxy/node.js:550 -#: htdocs/luci-static/resources/view/homeproxy/server.js:170 +#: htdocs/luci-static/resources/view/homeproxy/node.js:588 +#: htdocs/luci-static/resources/view/homeproxy/server.js:159 msgid "QUIC connection receive window" msgstr "QUIC 连接窗口" -#: htdocs/luci-static/resources/view/homeproxy/server.js:177 +#: htdocs/luci-static/resources/view/homeproxy/server.js:166 msgid "QUIC maximum concurrent bidirectional streams" msgstr "QUIC 最大双向并发流" -#: htdocs/luci-static/resources/view/homeproxy/node.js:544 -#: htdocs/luci-static/resources/view/homeproxy/server.js:163 +#: htdocs/luci-static/resources/view/homeproxy/node.js:582 +#: htdocs/luci-static/resources/view/homeproxy/server.js:152 msgid "QUIC stream receive window" msgstr "QUIC 流接收窗口" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1056 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1098 msgid "REALITY" msgstr "REALITY" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1061 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1103 msgid "REALITY public key" msgstr "REALITY 公钥" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1066 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1108 msgid "REALITY short ID" msgstr "REALITY 标识符" @@ -1345,19 +1345,19 @@ msgstr "REALITY 标识符" msgid "RUNNING" msgstr "运行中" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1041 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1079 msgid "Random" msgstr "随机" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1042 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1080 msgid "Randomized" msgstr "随机生成" -#: htdocs/luci-static/resources/view/homeproxy/client.js:362 +#: htdocs/luci-static/resources/view/homeproxy/client.js:363 msgid "Recursive outbound detected!" msgstr "检测到递归出站!" -#: htdocs/luci-static/resources/view/homeproxy/client.js:603 +#: htdocs/luci-static/resources/view/homeproxy/client.js:606 msgid "Recursive resolver detected!" msgstr "检测到递归解析器!" @@ -1377,15 +1377,15 @@ msgstr "Redirect TCP + Tun UDP" msgid "Refresh every %s seconds." msgstr "每 %s 秒刷新。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1200 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1242 msgid "Remove %s nodes" msgstr "移除 %s 个节点" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1190 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1232 msgid "Remove all nodes from subscriptions" msgstr "移除所有订阅节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:616 +#: htdocs/luci-static/resources/view/homeproxy/client.js:619 msgid "Resolve strategy" msgstr "解析策略" @@ -1397,7 +1397,7 @@ msgstr "资源管理" msgid "Routing Nodes" msgstr "路由节点" -#: htdocs/luci-static/resources/view/homeproxy/client.js:370 +#: htdocs/luci-static/resources/view/homeproxy/client.js:371 msgid "Routing Rules" msgstr "路由规则" @@ -1409,7 +1409,7 @@ msgstr "路由设置" msgid "Routing mode" msgstr "路由模式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:303 +#: htdocs/luci-static/resources/view/homeproxy/client.js:304 msgid "Routing node" msgstr "路由节点" @@ -1417,20 +1417,20 @@ msgstr "路由节点" msgid "Routing ports" msgstr "路由端口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:378 +#: htdocs/luci-static/resources/view/homeproxy/client.js:380 msgid "Routing rule" msgstr "路由规则" -#: htdocs/luci-static/resources/view/homeproxy/client.js:424 -#: htdocs/luci-static/resources/view/homeproxy/client.js:689 +#: htdocs/luci-static/resources/view/homeproxy/client.js:426 +#: htdocs/luci-static/resources/view/homeproxy/client.js:693 msgid "STUN" msgstr "STUN" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1090 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1132 msgid "SUoT version" msgstr "SUoT 版本" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1043 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1081 msgid "Safari" msgstr "Safari" @@ -1438,16 +1438,16 @@ msgstr "Safari" msgid "Same as main node" msgstr "保持与主节点一致" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1164 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1206 msgid "Save current settings" msgstr "保存当前设置" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1161 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1203 msgid "Save subscriptions settings" msgstr "保存订阅设置" -#: htdocs/luci-static/resources/view/homeproxy/client.js:775 -#: htdocs/luci-static/resources/view/homeproxy/server.js:41 +#: htdocs/luci-static/resources/view/homeproxy/client.js:779 +#: htdocs/luci-static/resources/view/homeproxy/server.js:42 msgid "Server" msgstr "服务器" @@ -1455,7 +1455,7 @@ msgstr "服务器" msgid "Server Settings" msgstr "服务器设置" -#: htdocs/luci-static/resources/view/homeproxy/server.js:373 +#: htdocs/luci-static/resources/view/homeproxy/server.js:376 msgid "" "Server name to use when choosing a certificate if the ClientHello's " "ServerName field is empty." @@ -1465,25 +1465,25 @@ msgstr "当 ClientHello 的 ServerName 字段为空时,选择证书所使用 msgid "Service Status" msgstr "服务状态" -#: htdocs/luci-static/resources/view/homeproxy/node.js:437 +#: htdocs/luci-static/resources/view/homeproxy/node.js:475 msgid "ShadowTLS" msgstr "ShadowTLS" -#: htdocs/luci-static/resources/view/homeproxy/node.js:660 +#: htdocs/luci-static/resources/view/homeproxy/node.js:698 msgid "ShadowTLS version" msgstr "ShadowTLS 版本" -#: htdocs/luci-static/resources/view/homeproxy/node.js:434 -#: htdocs/luci-static/resources/view/homeproxy/server.js:62 +#: htdocs/luci-static/resources/view/homeproxy/node.js:472 +#: htdocs/luci-static/resources/view/homeproxy/server.js:63 msgid "Shadowsocks" msgstr "Shadowsocks" -#: htdocs/luci-static/resources/view/homeproxy/node.js:436 +#: htdocs/luci-static/resources/view/homeproxy/node.js:474 msgid "ShadowsocksR" msgstr "ShadowsocksR" -#: htdocs/luci-static/resources/view/homeproxy/client.js:420 -#: htdocs/luci-static/resources/view/homeproxy/client.js:684 +#: htdocs/luci-static/resources/view/homeproxy/client.js:422 +#: htdocs/luci-static/resources/view/homeproxy/client.js:688 msgid "" "Sniffed protocol, see Sniff for details." @@ -1491,49 +1491,49 @@ msgstr "" "嗅探协议,具体参见 Sniff。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:438 -#: htdocs/luci-static/resources/view/homeproxy/server.js:63 +#: htdocs/luci-static/resources/view/homeproxy/node.js:476 +#: htdocs/luci-static/resources/view/homeproxy/server.js:64 msgid "Socks" msgstr "Socks" -#: htdocs/luci-static/resources/view/homeproxy/node.js:670 +#: htdocs/luci-static/resources/view/homeproxy/node.js:708 msgid "Socks version" msgstr "Socks 版本" -#: htdocs/luci-static/resources/view/homeproxy/node.js:671 +#: htdocs/luci-static/resources/view/homeproxy/node.js:709 msgid "Socks4" msgstr "Socks4" -#: htdocs/luci-static/resources/view/homeproxy/node.js:672 +#: htdocs/luci-static/resources/view/homeproxy/node.js:710 msgid "Socks4A" msgstr "Socks4A" -#: htdocs/luci-static/resources/view/homeproxy/node.js:673 +#: htdocs/luci-static/resources/view/homeproxy/node.js:711 msgid "Socks5" msgstr "Socks5" -#: htdocs/luci-static/resources/view/homeproxy/client.js:447 -#: htdocs/luci-static/resources/view/homeproxy/client.js:712 +#: htdocs/luci-static/resources/view/homeproxy/client.js:449 +#: htdocs/luci-static/resources/view/homeproxy/client.js:716 msgid "Source GeoIP" msgstr "源 GeoIP" -#: htdocs/luci-static/resources/view/homeproxy/client.js:455 -#: htdocs/luci-static/resources/view/homeproxy/client.js:716 +#: htdocs/luci-static/resources/view/homeproxy/client.js:457 +#: htdocs/luci-static/resources/view/homeproxy/client.js:720 msgid "Source IP CIDR" msgstr "源 IP CIDR" -#: htdocs/luci-static/resources/view/homeproxy/client.js:465 -#: htdocs/luci-static/resources/view/homeproxy/client.js:726 +#: htdocs/luci-static/resources/view/homeproxy/client.js:467 +#: htdocs/luci-static/resources/view/homeproxy/client.js:730 msgid "Source port" msgstr "源端口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:470 -#: htdocs/luci-static/resources/view/homeproxy/client.js:731 +#: htdocs/luci-static/resources/view/homeproxy/client.js:472 +#: htdocs/luci-static/resources/view/homeproxy/client.js:735 msgid "Source port range" msgstr "源端口范围" -#: htdocs/luci-static/resources/view/homeproxy/node.js:747 -#: htdocs/luci-static/resources/view/homeproxy/node.js:794 +#: htdocs/luci-static/resources/view/homeproxy/node.js:785 +#: htdocs/luci-static/resources/view/homeproxy/node.js:832 msgid "" "Specifies the period of time after which a health check will be performed " "using a ping frame if no frames have been received on the connection.
If a response to the PING frame is not " @@ -1569,20 +1569,20 @@ msgid "" "commas." msgstr "指定需要被代理的目标端口。多个端口必须用逗号隔开。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:516 -#: htdocs/luci-static/resources/view/homeproxy/server.js:147 +#: htdocs/luci-static/resources/view/homeproxy/node.js:554 +#: htdocs/luci-static/resources/view/homeproxy/server.js:136 msgid "String" msgstr "字符串" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1118 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1160 msgid "Subscription URL-s" msgstr "订阅地址" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1100 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1142 msgid "Subscriptions" msgstr "订阅" -#: htdocs/luci-static/resources/view/homeproxy/node.js:357 +#: htdocs/luci-static/resources/view/homeproxy/node.js:395 msgid "Successfully imported %s nodes of total %s." msgstr "成功导入 %s 个节点,共 %s 个。" @@ -1590,8 +1590,8 @@ msgstr "成功导入 %s 个节点,共 %s 个。" msgid "Successfully updated." msgstr "更新成功。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:317 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1119 +#: htdocs/luci-static/resources/view/homeproxy/node.js:355 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1161 msgid "" "Support Hysteria, Shadowsocks(R), Trojan, v2rayN (VMess), and XTLS (VLESS) " "online configuration delivery standard." @@ -1603,14 +1603,14 @@ msgstr "" msgid "System" msgstr "系统" -#: htdocs/luci-static/resources/view/homeproxy/client.js:415 -#: htdocs/luci-static/resources/view/homeproxy/client.js:679 -#: htdocs/luci-static/resources/view/homeproxy/server.js:510 +#: htdocs/luci-static/resources/view/homeproxy/client.js:417 +#: htdocs/luci-static/resources/view/homeproxy/client.js:683 +#: htdocs/luci-static/resources/view/homeproxy/server.js:513 msgid "TCP" msgstr "TCP" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1074 -#: htdocs/luci-static/resources/view/homeproxy/server.js:475 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1116 +#: htdocs/luci-static/resources/view/homeproxy/server.js:478 msgid "TCP fast open" msgstr "TCP 快速打开" @@ -1622,29 +1622,29 @@ msgstr "TCP/IP 协议栈" msgid "TCP/IP stack." msgstr "TCP/IP 协议栈。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:422 -#: htdocs/luci-static/resources/view/homeproxy/client.js:686 -#: htdocs/luci-static/resources/view/homeproxy/node.js:920 -#: htdocs/luci-static/resources/view/homeproxy/server.js:314 +#: htdocs/luci-static/resources/view/homeproxy/client.js:424 +#: htdocs/luci-static/resources/view/homeproxy/client.js:690 +#: htdocs/luci-static/resources/view/homeproxy/node.js:958 +#: htdocs/luci-static/resources/view/homeproxy/server.js:303 msgid "TLS" msgstr "TLS" -#: htdocs/luci-static/resources/view/homeproxy/node.js:949 -#: htdocs/luci-static/resources/view/homeproxy/server.js:330 +#: htdocs/luci-static/resources/view/homeproxy/node.js:987 +#: htdocs/luci-static/resources/view/homeproxy/server.js:333 msgid "TLS ALPN" msgstr "TLS ALPN" -#: htdocs/luci-static/resources/view/homeproxy/node.js:944 -#: htdocs/luci-static/resources/view/homeproxy/server.js:325 +#: htdocs/luci-static/resources/view/homeproxy/node.js:982 +#: htdocs/luci-static/resources/view/homeproxy/server.js:328 msgid "TLS SNI" msgstr "TLS SNI" -#: htdocs/luci-static/resources/view/homeproxy/node.js:738 -#: htdocs/luci-static/resources/view/homeproxy/server.js:230 +#: htdocs/luci-static/resources/view/homeproxy/node.js:776 +#: htdocs/luci-static/resources/view/homeproxy/server.js:219 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:580 +#: htdocs/luci-static/resources/view/homeproxy/client.js:583 msgid "" "Tag of a another server to resolve the domain name in the address. Required " "if address contains domain." @@ -1652,15 +1652,15 @@ msgstr "" "用于解析本 DNS 服务器的域名的另一个 DNS 服务器的标签。如果服务器地址包括域名" "则必须。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:622 +#: htdocs/luci-static/resources/view/homeproxy/client.js:625 msgid "Tag of an outbound for connecting to the dns server." msgstr "用于连接到 DNS 服务器的出站标签。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:776 +#: htdocs/luci-static/resources/view/homeproxy/client.js:780 msgid "Tag of the target dns server." msgstr "目标 DNS 服务器标签。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:498 +#: htdocs/luci-static/resources/view/homeproxy/client.js:500 msgid "Tag of the target outbound." msgstr "目标出站标签。" @@ -1668,29 +1668,29 @@ msgstr "目标出站标签。" msgid "Tencent Public DNS (119.29.29.29)" msgstr "腾讯公共 DNS(119.29.29.29)" -#: htdocs/luci-static/resources/view/homeproxy/server.js:394 +#: htdocs/luci-static/resources/view/homeproxy/server.js:397 msgid "The ACME CA provider to use." msgstr "使用的 ACME CA 颁发机构。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:523 +#: htdocs/luci-static/resources/view/homeproxy/client.js:525 msgid "The DNS strategy for resolving the domain name in the address." msgstr "解析域名的默认策略。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:551 -#: htdocs/luci-static/resources/view/homeproxy/server.js:171 +#: htdocs/luci-static/resources/view/homeproxy/node.js:589 +#: htdocs/luci-static/resources/view/homeproxy/server.js:160 msgid "The QUIC connection-level flow control window for receiving data." msgstr "用于接收数据的 QUIC 连接级流控制窗口。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:545 -#: htdocs/luci-static/resources/view/homeproxy/server.js:164 +#: htdocs/luci-static/resources/view/homeproxy/node.js:583 +#: htdocs/luci-static/resources/view/homeproxy/server.js:153 msgid "The QUIC stream-level flow control window for receiving data." msgstr "用于接收数据的 QUIC 流级流控制窗口。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:576 +#: htdocs/luci-static/resources/view/homeproxy/client.js:579 msgid "The address of the dns server. Support UDP, TCP, DoT, DoH and RCode." msgstr "DNS 服务器的地址。支持 UDP、TCP、DoT、DoH 和 RCode。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:412 +#: htdocs/luci-static/resources/view/homeproxy/server.js:415 msgid "" "The alternate port to use for the ACME HTTP challenge; if non-empty, this " "port will be used instead of 80 to spin up a listener for the HTTP challenge." @@ -1698,14 +1698,14 @@ msgstr "" "用于 ACME HTTP 质询的备用端口;如果非空,将使用此端口而不是 80 来启动 HTTP 质" "询的侦听器。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:418 +#: htdocs/luci-static/resources/view/homeproxy/server.js:421 msgid "" "The alternate port to use for the ACME TLS-ALPN challenge; the system must " "forward 443 to this port for challenge to succeed." msgstr "" "用于 ACME TLS-ALPN 质询的备用端口; 系统必须将 443 转发到此端口以使质询成功。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:400 +#: htdocs/luci-static/resources/view/homeproxy/client.js:402 msgid "" "The default rule uses the following matching logic:
(domain || " "domain_suffix || domain_keyword || domain_regex || geosite || geoip || " @@ -1716,7 +1716,7 @@ msgstr "" "domain_keyword || domain_regex || geosite || geoip || ip_cidr) &&
(source_geoip || source_ip_cidr) &&
其他字段." -#: htdocs/luci-static/resources/view/homeproxy/client.js:664 +#: htdocs/luci-static/resources/view/homeproxy/client.js:668 msgid "" "The default rule uses the following matching logic:
(domain || " "domain_suffix || domain_keyword || domain_regex || geosite || ip_cidr) &&
(source_geoip || source_ip_cidr) &&
其他字段." -#: htdocs/luci-static/resources/view/homeproxy/client.js:611 +#: htdocs/luci-static/resources/view/homeproxy/client.js:614 msgid "" "The domain strategy for resolving the domain name in the address. dns." "strategy will be used if empty." msgstr "用于解析本 DNS 服务器的域名的策略。默认使用 dns.strategy。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:980 -#: htdocs/luci-static/resources/view/homeproxy/server.js:352 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1018 +#: htdocs/luci-static/resources/view/homeproxy/server.js:355 msgid "" "The elliptic curves that will be used in an ECDHE handshake, in preference " "order. If empty, the default will be used." msgstr "将在 ECDHE 握手中使用的椭圆曲线,按优先顺序排列。留空使用默认值。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:379 +#: htdocs/luci-static/resources/view/homeproxy/server.js:382 msgid "" "The email address to use when creating or selecting an existing ACME server " "account." msgstr "创建或选择现有 ACME 服务器帐户时使用的电子邮件地址。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:972 -#: htdocs/luci-static/resources/view/homeproxy/server.js:344 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1010 +#: htdocs/luci-static/resources/view/homeproxy/server.js:347 msgid "The maximum TLS version that is acceptable." msgstr "可接受的最高 TLS 版本。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:178 +#: htdocs/luci-static/resources/view/homeproxy/server.js:167 msgid "" "The maximum number of QUIC concurrent bidirectional streams that a peer is " "allowed to open." msgstr "允许对等点打开的 QUIC 并发双向流的最大数量。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:964 -#: htdocs/luci-static/resources/view/homeproxy/server.js:336 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1002 +#: htdocs/luci-static/resources/view/homeproxy/server.js:339 msgid "The minimum TLS version that is acceptable." msgstr "可接受的最低 TLS 版本。" @@ -1766,34 +1766,34 @@ msgstr "可接受的最低 TLS 版本。" msgid "The modern ImmortalWrt proxy platform for ARM64/AMD64." msgstr "为 ARM64/AMD64 设计的现代 ImmortalWrt 代理平台。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:331 +#: htdocs/luci-static/resources/view/homeproxy/client.js:332 msgid "The network interface to bind to." msgstr "绑定到的网络接口。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:994 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1032 msgid "The path to the server certificate, in PEM format." msgstr "服务端证书路径,需要 PEM 格式。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:82 +#: htdocs/luci-static/resources/view/homeproxy/server.js:71 msgid "The port must be unique." msgstr "必须是唯一端口。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:458 +#: htdocs/luci-static/resources/view/homeproxy/server.js:461 msgid "The server private key, in PEM format." msgstr "服务端私钥,需要 PEM 格式。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:442 +#: htdocs/luci-static/resources/view/homeproxy/server.js:445 msgid "The server public key, in PEM format." msgstr "服务端公钥,需要 PEM 格式。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:338 +#: htdocs/luci-static/resources/view/homeproxy/client.js:339 msgid "" "The tag of the upstream outbound.
Other dial fields will be ignored when " "enabled." msgstr "上游出站的标签。
启用时,其他拨号字段将被忽略。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:758 -#: htdocs/luci-static/resources/view/homeproxy/server.js:279 +#: htdocs/luci-static/resources/view/homeproxy/node.js:796 +#: htdocs/luci-static/resources/view/homeproxy/server.js:268 msgid "" "The timeout that after performing a keepalive check, the client will wait " "for activity. If no activity is detected, the connection will be closed." @@ -1801,28 +1801,28 @@ msgstr "" "经过一段时间之后,客户端将执行 keepalive 检查并等待活动。如果没有检测到任何活" "动,则会关闭连接。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:957 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1151 +#: htdocs/luci-static/resources/view/homeproxy/node.js:995 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1193 msgid "" "This is DANGEROUS, your traffic is almost like " "PLAIN TEXT! Use at your own risk!" msgstr "" "这是危险行为,您的流量将几乎等同于明文!使用风险自负!" -#: htdocs/luci-static/resources/view/homeproxy/server.js:305 +#: htdocs/luci-static/resources/view/homeproxy/server.js:294 msgid "" "To be compatible with Xray-core, set this to Sec-WebSocket-Protocol." msgstr "" "要与 Xray-core 兼容,请将其设置为 Sec-WebSocket-Protocol。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:725 -#: htdocs/luci-static/resources/view/homeproxy/server.js:220 +#: htdocs/luci-static/resources/view/homeproxy/node.js:763 +#: htdocs/luci-static/resources/view/homeproxy/server.js:209 msgid "Transport" msgstr "传输层" -#: htdocs/luci-static/resources/view/homeproxy/node.js:439 -#: htdocs/luci-static/resources/view/homeproxy/server.js:64 +#: htdocs/luci-static/resources/view/homeproxy/node.js:477 +#: htdocs/luci-static/resources/view/homeproxy/server.js:65 msgid "Trojan" msgstr "Trojan" @@ -1830,28 +1830,28 @@ msgstr "Trojan" msgid "Tun TCP/UDP" msgstr "Tun TCP/UDP" -#: htdocs/luci-static/resources/view/homeproxy/node.js:429 -#: htdocs/luci-static/resources/view/homeproxy/server.js:56 +#: htdocs/luci-static/resources/view/homeproxy/node.js:467 +#: htdocs/luci-static/resources/view/homeproxy/server.js:57 msgid "Type" msgstr "类型" -#: htdocs/luci-static/resources/view/homeproxy/client.js:416 -#: htdocs/luci-static/resources/view/homeproxy/client.js:680 -#: htdocs/luci-static/resources/view/homeproxy/server.js:511 +#: htdocs/luci-static/resources/view/homeproxy/client.js:418 +#: htdocs/luci-static/resources/view/homeproxy/client.js:684 +#: htdocs/luci-static/resources/view/homeproxy/server.js:514 msgid "UDP" msgstr "UDP" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1078 -#: htdocs/luci-static/resources/view/homeproxy/server.js:481 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1120 +#: htdocs/luci-static/resources/view/homeproxy/server.js:484 msgid "UDP Fragment" msgstr "UDP 分片" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1083 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1125 msgid "UDP over TCP" msgstr "UDP over TCP" -#: htdocs/luci-static/resources/view/homeproxy/node.js:680 -#: htdocs/luci-static/resources/view/homeproxy/server.js:200 +#: htdocs/luci-static/resources/view/homeproxy/node.js:718 +#: htdocs/luci-static/resources/view/homeproxy/server.js:189 msgid "UUID" msgstr "UUID" @@ -1863,7 +1863,11 @@ msgstr "未知错误。" msgid "Unknown error: %s" msgstr "未知错误:%s" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1175 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1091 +msgid "Unsupported fingerprint!" +msgstr "不支持的指纹!" + +#: htdocs/luci-static/resources/view/homeproxy/node.js:1217 msgid "Update %s subscriptions" msgstr "更新 %s 个订阅" @@ -1871,30 +1875,30 @@ msgstr "更新 %s 个订阅" msgid "Update failed." msgstr "上传失败。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1170 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1212 msgid "Update nodes from subscriptions" msgstr "从订阅更新节点" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1114 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1156 msgid "Update subscriptions via proxy." msgstr "使用代理更新订阅。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1113 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1155 msgid "Update via proxy" msgstr "使用代理更新" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1000 -#: htdocs/luci-static/resources/view/homeproxy/server.js:449 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1038 +#: htdocs/luci-static/resources/view/homeproxy/server.js:452 msgid "Upload certificate" msgstr "上传证书" -#: htdocs/luci-static/resources/view/homeproxy/server.js:465 +#: htdocs/luci-static/resources/view/homeproxy/server.js:468 msgid "Upload key" msgstr "上传密钥" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1003 -#: htdocs/luci-static/resources/view/homeproxy/server.js:452 -#: htdocs/luci-static/resources/view/homeproxy/server.js:468 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1041 +#: htdocs/luci-static/resources/view/homeproxy/server.js:455 +#: htdocs/luci-static/resources/view/homeproxy/server.js:471 msgid "Upload..." msgstr "上传..." @@ -1902,7 +1906,7 @@ msgstr "上传..." msgid "Upstream archived. Not recommended." msgstr "上游已存档。不建议。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:361 +#: htdocs/luci-static/resources/view/homeproxy/server.js:364 msgid "Use ACME TLS certificate issuer." msgstr "使用 ACME TLS 证书颁发机构。" @@ -1910,63 +1914,63 @@ msgstr "使用 ACME TLS 证书颁发机构。" msgid "Use DNS server from WAN" msgstr "使用 WAN 下发的 DNS" -#: htdocs/luci-static/resources/view/homeproxy/node.js:945 -#: htdocs/luci-static/resources/view/homeproxy/server.js:326 +#: htdocs/luci-static/resources/view/homeproxy/node.js:983 +#: htdocs/luci-static/resources/view/homeproxy/server.js:329 msgid "" "Used to verify the hostname on the returned certificates unless insecure is " "given." msgstr "用于验证返回证书上的主机名。如允许不安全连接,此配置无效。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:493 -#: htdocs/luci-static/resources/view/homeproxy/client.js:754 +#: htdocs/luci-static/resources/view/homeproxy/client.js:495 +#: htdocs/luci-static/resources/view/homeproxy/client.js:758 msgid "User" msgstr "用户" -#: htdocs/luci-static/resources/view/homeproxy/node.js:454 -#: htdocs/luci-static/resources/view/homeproxy/server.js:86 +#: htdocs/luci-static/resources/view/homeproxy/node.js:492 +#: htdocs/luci-static/resources/view/homeproxy/server.js:75 msgid "Username" msgstr "用户名" -#: htdocs/luci-static/resources/view/homeproxy/node.js:442 -#: htdocs/luci-static/resources/view/homeproxy/server.js:65 +#: htdocs/luci-static/resources/view/homeproxy/node.js:480 +#: htdocs/luci-static/resources/view/homeproxy/server.js:66 msgid "VLESS" msgstr "VLESS" -#: htdocs/luci-static/resources/view/homeproxy/node.js:443 -#: htdocs/luci-static/resources/view/homeproxy/server.js:66 +#: htdocs/luci-static/resources/view/homeproxy/node.js:481 +#: htdocs/luci-static/resources/view/homeproxy/server.js:67 msgid "VMess" msgstr "VMess" -#: htdocs/luci-static/resources/view/homeproxy/client.js:903 +#: htdocs/luci-static/resources/view/homeproxy/client.js:907 msgid "WAN IP Policy" msgstr "WAN IP 策略" -#: htdocs/luci-static/resources/view/homeproxy/node.js:731 -#: htdocs/luci-static/resources/view/homeproxy/server.js:226 +#: htdocs/luci-static/resources/view/homeproxy/node.js:769 +#: htdocs/luci-static/resources/view/homeproxy/server.js:215 msgid "WebSocket" msgstr "WebSocket" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1139 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1181 msgid "Whitelist mode" msgstr "白名单模式" -#: htdocs/luci-static/resources/view/homeproxy/node.js:441 +#: htdocs/luci-static/resources/view/homeproxy/node.js:479 msgid "WireGuard" msgstr "WireGuard" -#: htdocs/luci-static/resources/view/homeproxy/node.js:857 +#: htdocs/luci-static/resources/view/homeproxy/node.js:895 msgid "WireGuard peer public key." msgstr "WireGuard 对端公钥。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:863 +#: htdocs/luci-static/resources/view/homeproxy/node.js:901 msgid "WireGuard pre-shared key." msgstr "WireGuard 预共享密钥。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:850 +#: htdocs/luci-static/resources/view/homeproxy/node.js:888 msgid "WireGuard requires base64-encoded private keys." msgstr "WireGuard 要求 base64 编码的私钥。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:494 +#: htdocs/luci-static/resources/view/homeproxy/node.js:532 msgid "Write Proxy Protocol in the connection header." msgstr "在连接标头中写入代理协议。" @@ -1974,8 +1978,8 @@ msgstr "在连接标头中写入代理协议。" msgid "Xinfeng Public DNS (114.114.114.114)" msgstr "信风公共 DNS(114.114.114.114)" -#: htdocs/luci-static/resources/view/homeproxy/node.js:835 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1159 +#: htdocs/luci-static/resources/view/homeproxy/node.js:873 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1201 msgid "Xudp (Xray-core)" msgstr "Xudp (Xray-core)" @@ -1987,33 +1991,33 @@ msgstr "您只能设置一个服务器。它必须支持 TCP 查询。" msgid "Your %s was successfully uploaded. Size: %sB." msgstr "您的 %s 已成功上传。大小:%sB。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:396 +#: htdocs/luci-static/resources/view/homeproxy/server.js:399 msgid "ZeroSSL" msgstr "ZeroSSL" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1005 -#: htdocs/luci-static/resources/view/homeproxy/server.js:454 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1043 +#: htdocs/luci-static/resources/view/homeproxy/server.js:457 msgid "certificate" msgstr "证书" -#: htdocs/luci-static/resources/view/homeproxy/node.js:965 -#: htdocs/luci-static/resources/view/homeproxy/node.js:973 -#: htdocs/luci-static/resources/view/homeproxy/server.js:337 -#: htdocs/luci-static/resources/view/homeproxy/server.js:345 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1003 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1011 +#: htdocs/luci-static/resources/view/homeproxy/server.js:340 +#: htdocs/luci-static/resources/view/homeproxy/server.js:348 msgid "default" msgstr "默认" -#: htdocs/luci-static/resources/view/homeproxy/node.js:728 -#: htdocs/luci-static/resources/view/homeproxy/server.js:223 +#: htdocs/luci-static/resources/view/homeproxy/node.js:766 +#: htdocs/luci-static/resources/view/homeproxy/server.js:212 msgid "gRPC" msgstr "gRPC" -#: htdocs/luci-static/resources/view/homeproxy/node.js:769 +#: htdocs/luci-static/resources/view/homeproxy/node.js:807 msgid "gRPC permit without stream" msgstr "gRPC 允许无活动连接" -#: htdocs/luci-static/resources/view/homeproxy/node.js:764 -#: htdocs/luci-static/resources/view/homeproxy/server.js:250 +#: htdocs/luci-static/resources/view/homeproxy/node.js:802 +#: htdocs/luci-static/resources/view/homeproxy/server.js:239 msgid "gRPC service name" msgstr "gRPC 服务名称" @@ -2021,39 +2025,39 @@ msgstr "gRPC 服务名称" msgid "gVisor" msgstr "gVisor" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1039 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1077 msgid "iOS" msgstr "iOS" #: htdocs/luci-static/resources/homeproxy.js:245 #: htdocs/luci-static/resources/homeproxy.js:263 #: htdocs/luci-static/resources/view/homeproxy/client.js:173 -#: htdocs/luci-static/resources/view/homeproxy/node.js:484 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1049 -#: htdocs/luci-static/resources/view/homeproxy/server.js:113 +#: htdocs/luci-static/resources/view/homeproxy/node.js:522 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1087 +#: htdocs/luci-static/resources/view/homeproxy/server.js:102 msgid "non-empty value" msgstr "非空值" -#: htdocs/luci-static/resources/view/homeproxy/node.js:583 -#: htdocs/luci-static/resources/view/homeproxy/node.js:833 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1157 +#: htdocs/luci-static/resources/view/homeproxy/node.js:621 +#: htdocs/luci-static/resources/view/homeproxy/node.js:871 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1199 msgid "none" msgstr "无" -#: htdocs/luci-static/resources/view/homeproxy/node.js:834 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1158 +#: htdocs/luci-static/resources/view/homeproxy/node.js:872 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1200 msgid "packet addr (v2ray-core v5+)" msgstr "packet addr (v2ray-core v5+)" -#: htdocs/luci-static/resources/view/homeproxy/server.js:470 +#: htdocs/luci-static/resources/view/homeproxy/server.js:473 msgid "private key" msgstr "私钥" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1031 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1069 msgid "uTLS fingerprint" msgstr "uTLS 指纹" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1032 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1070 msgid "" "uTLS is a fork of \"crypto/tls\", which provides ClientHello fingerprinting " "resistance." @@ -2061,7 +2065,7 @@ msgstr "" "uTLS 是 \"crypto/tls\" 的一个分支,拥有抵抗 ClientHello 指纹识别的能力。" #: htdocs/luci-static/resources/homeproxy.js:199 -#: htdocs/luci-static/resources/view/homeproxy/node.js:385 +#: htdocs/luci-static/resources/view/homeproxy/node.js:423 msgid "unique UCI identifier" msgstr "独立 UCI 标识" @@ -2069,17 +2073,17 @@ msgstr "独立 UCI 标识" msgid "unique value" msgstr "独立值" -#: htdocs/luci-static/resources/view/homeproxy/node.js:661 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1091 +#: htdocs/luci-static/resources/view/homeproxy/node.js:699 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1133 msgid "v1" msgstr "v1" -#: htdocs/luci-static/resources/view/homeproxy/node.js:662 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1092 +#: htdocs/luci-static/resources/view/homeproxy/node.js:700 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1134 msgid "v2" msgstr "v2" -#: htdocs/luci-static/resources/view/homeproxy/node.js:663 +#: htdocs/luci-static/resources/view/homeproxy/node.js:701 msgid "v3" msgstr "v3" @@ -2087,8 +2091,8 @@ msgstr "v3" msgid "valid IP address" msgstr "有效 IP 地址" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1125 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1128 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1167 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1170 msgid "valid URL" msgstr "有效网址" @@ -2096,8 +2100,8 @@ msgstr "有效网址" msgid "valid base64 key with %d characters" msgstr "包含 %d 个字符的有效 base64 密钥" -#: htdocs/luci-static/resources/view/homeproxy/client.js:943 -#: htdocs/luci-static/resources/view/homeproxy/client.js:972 +#: htdocs/luci-static/resources/view/homeproxy/client.js:947 +#: htdocs/luci-static/resources/view/homeproxy/client.js:976 msgid "valid hostname" msgstr "有效主机名" diff --git a/homeproxy/root/etc/homeproxy/scripts/update_subscriptions.uc b/homeproxy/root/etc/homeproxy/scripts/update_subscriptions.uc index 39d6aa3d9..104e63440 100755 --- a/homeproxy/root/etc/homeproxy/scripts/update_subscriptions.uc +++ b/homeproxy/root/etc/homeproxy/scripts/update_subscriptions.uc @@ -110,7 +110,7 @@ function parse_uri(uri) { label: http_url.hash ? urldecode(http_url.hash) : null, type: 'http', address: http_url.hostname, - port: http_url.port || '80', + port: http_url.port, username: http_url.username ? urldecode(http_url.username) : null, password: http_url.password ? urldecode(http_url.password) : null, tls: (uri[0] === 'https') ? '1' : '0' @@ -159,7 +159,7 @@ function parse_uri(uri) { label: socks_url.hash ? urldecode(socks_url.hash) : null, type: 'socks', address: socks_url.hostname, - port: socks_url.port || '80', + port: socks_url.port, username: socks_url.username ? urldecode(socks_url.username) : null, password: socks_url.password ? urldecode(socks_url.password) : null, socks_version: (match(uri[0], /4/)) ? '4' : '5' @@ -282,10 +282,14 @@ function parse_uri(uri) { port: vless_url.port, uuid: vless_url.username, transport: (vless_params.type !== 'tcp') ? vless_params.type : null, - tls: vless_params.security ? '1' : '0', + tls: (vless_params.security in ['tls', 'xtls', 'reality']) ? '1' : '0', tls_sni: vless_params.sni, tls_alpn: vless_params.alpn ? split(urldecode(vless_params.alpn), ',') : null, - tls_utls: sing_features.with_utls ? vless_params.fp : null + tls_reality: (vless_params.security === 'reality') ? '1' : '0', + tls_reality_public_key: vless_params.pbk ? urldecode(vless_params.pbk) : null, + tls_reality_short_id: vless_params.sid, + tls_utls: sing_features.with_utls ? vless_params.fp : null, + vless_flow: (vless_params.security in ['tls', 'reality']) ? vless_params.flow : null }; switch(vless_params.type) { case 'grpc': diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua index 50ed86d88..9ff686a19 100644 --- a/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/node_config.lua @@ -142,9 +142,18 @@ for k, e in ipairs(api.get_valid_nodes()) do end -- 负载均衡列表 -balancing_node = s:option(DynamicList, "balancing_node", translate("Load balancing node list"), translate("Load balancing node list, document")) +local balancing_node = s:option(DynamicList, "balancing_node", translate("Load balancing node list"), translate("Load balancing node list, document")) for k, v in pairs(nodes_table) do balancing_node:value(v.id, v.remarks) end balancing_node:depends("protocol", "_balancing") +local balancingStrategy = s:option(ListValue, "balancingStrategy", translate("Balancing Strategy")) +balancingStrategy:depends("protocol", "_balancing") +balancingStrategy:value("random") +balancingStrategy:value("leastPing") +balancingStrategy.default = "random" +local probeInterval = s:option(Value, "probeInterval", translate("Probe Interval")) +probeInterval:depends("balancingStrategy", "leastPing") +probeInterval.default = "1m" +probeInterval.description = translate("The interval between initiating probes. Every time this time elapses, a server status check is performed on a server. The time format is numbers + units, such as '10s', '2h45m', and the supported time units are ns, us, ms, s, m, h, which correspond to nanoseconds, microseconds, milliseconds, seconds, minutes, and hours, respectively.") -- 分流 uci:foreach(appname, "shunt_rules", function(e) @@ -205,13 +214,11 @@ domainStrategy.description = "
  • " .. translate("'AsIs': Only use dom .. "
  • " .. translate("'IPIfNonMatch': When no rule matches current domain, resolves it into IP addresses (A or AAAA records) and try all rules again.") .. "
  • " .. translate("'IPOnDemand': As long as there is a IP-based rule, resolves the domain into IP immediately.") .. "
" -domainStrategy:depends("protocol", "_balancing") domainStrategy:depends("protocol", "_shunt") domainMatcher = s:option(ListValue, "domainMatcher", translate("Domain matcher")) domainMatcher:value("hybrid") domainMatcher:value("linear") -domainMatcher:depends("protocol", "_balancing") domainMatcher:depends("protocol", "_shunt") diff --git a/luci-app-passwall/luasrc/passwall/util_xray.lua b/luci-app-passwall/luasrc/passwall/util_xray.lua index bacdcb5d3..bf3c6c2de 100644 --- a/luci-app-passwall/luasrc/passwall/util_xray.lua +++ b/luci-app-passwall/luasrc/passwall/util_xray.lua @@ -527,6 +527,7 @@ function gen_config(var) local dns = nil local fakedns = nil local routing = nil + local observatory = nil local inbounds = {} local outbounds = {} @@ -791,10 +792,18 @@ function gen_config(var) local outbound = gen_outbound(flag, node) if outbound then table.insert(outbounds, outbound) end end + if node.balancingStrategy == "leastPing" then + observatory = { + subjectSelector = nodes, + probeInterval = node.probeInterval or "1m" + } + end routing = { - domainStrategy = node.domainStrategy or "AsIs", - domainMatcher = node.domainMatcher or "hybrid", - balancers = {{tag = "balancer", selector = nodes}}, + balancers = {{ + tag = "balancer", + selector = nodes, + strategy = {type = node.balancingStrategy or "random"} + }}, rules = { {type = "field", network = "tcp,udp", balancerTag = "balancer"} } @@ -1039,6 +1048,8 @@ function gen_config(var) inbounds = inbounds, -- 传出连接 outbounds = outbounds, + -- 连接观测 + observatory = observatory, -- 路由 routing = routing, -- 本地策略 diff --git a/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm b/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm index 8cfb09753..0e667273e 100644 --- a/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm +++ b/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm @@ -226,8 +226,10 @@ local has_xray = api.is_finded("xray") info.path = opt.get("h2_path").value; } else if (v_transport === "tcp") { info.type = opt.get("tcp_guise").value; - info.host = opt.get("tcp_guise_http_host").value; - info.path = opt.get("tcp_guise_http_path").value; + if (info.type === "http") { + info.host = opt.get("tcp_guise_http_host").value; + info.path = opt.get("tcp_guise_http_path").value; + } } else if (v_transport === "mkcp") { v_transport = "kcp"; info.type = opt.get("mkcp_guise").value; @@ -265,6 +267,7 @@ local has_xray = api.is_finded("xray") params += opt.query("host", "ws_host"); params += opt.query("path", "ws_path"); } else if (v_transport === "h2") { + v_transport = "http"; params += opt.query("host", "h2_host"); params += opt.query("path", "h2_path"); } else if (v_transport === "tcp") { @@ -282,6 +285,7 @@ local has_xray = api.is_finded("xray") //不知道是用path还是serviceName,这里先这样吧 params += opt.query("path", "grpc_serviceName"); params += opt.query("serviceName", "grpc_serviceName"); + params += opt.query("mode", "grpc_mode"); } params += "&type=" + v_transport; @@ -289,15 +293,25 @@ local has_xray = api.is_finded("xray") if (opt.get("tls").checked) { var v_security = "tls"; - params += "&security=" + v_security; - if (opt.get("tlsflow").value) { + if (opt.get("xray_fingerprint") && opt.get("xray_fingerprint").value != "") { + let v_fp = opt.get("xray_fingerprint").value; + params += "&fp=" + v_fp; + } + if(opt.get("reality") && opt.get("reality").checked) { + v_security = "reality"; + if (opt.get("reality_fingerprint") && opt.get("reality_fingerprint").value != "") { + let v_fp = opt.get("reality_fingerprint").value; + params += "&fp=" + v_fp; + } + params += opt.query("pbk", "reality_publicKey"); + params += opt.query("sid", "reality_shortId"); + params += opt.query("spx", "reality_spiderX"); + } + if (opt.get("tlsflow") && opt.get("tlsflow").value) { let v_flow = opt.get("tlsflow").value; params += "&flow=" + v_flow; } - if (opt.get("xray_fingerprint").value && opt.get("xray_fingerprint").value != "") { - let v_fp = opt.get("xray_fingerprint").value - params += "&fp=" + v_fp; - } + params += "&security=" + v_security; params += opt.query("sni", "tls_serverName"); } @@ -855,6 +869,7 @@ local has_xray = api.is_finded("xray") if (queryParam.security) { if (queryParam.security == "tls") { opt.set('tls', true); + opt.set('reality', false) opt.set('tlsflow', queryParam.flow || ''); opt.set('tls_serverName', queryParam.sni || ''); opt.set('tls_allowInsecure', true); @@ -865,11 +880,27 @@ local has_xray = api.is_finded("xray") opt.set('xray_fingerprint', queryParam.fp); } } + + if (queryParam.security == "reality") { + opt.set('tls', true); + opt.set('reality', true) + opt.set('tlsflow', queryParam.flow || ''); + opt.set('tls_serverName', queryParam.sni || ''); + if (queryParam.fp && queryParam.fp.trim() != "") { + opt.set('reality_fingerprint', queryParam.fp); + } + opt.set('reality_publicKey', queryParam.pbk || ''); + opt.set('reality_shortId', queryParam.sid || ''); + opt.set('reality_spiderX', queryParam.spx || ''); + } + } queryParam.type = queryParam.type.toLowerCase(); if (queryParam.type === "kcp" || queryParam.type === "mkcp") queryParam.type = "mkcp" + if (queryParam.type === "h2" || queryParam.type === "http") + queryParam.type = "h2" opt.set('transport', queryParam.type); if (queryParam.type === "tcp") { opt.set('tcp_guise', queryParam.headerType || "none"); @@ -880,7 +911,7 @@ local has_xray = api.is_finded("xray") } else if (queryParam.type === "ws") { opt.set('ws_host', queryParam.host || ""); opt.set('ws_path', queryParam.path || ""); - } else if (queryParam.type === "h2") { + } else if (queryParam.type === "h2" || queryParam.type === "http") { opt.set('h2_host', queryParam.host || ""); opt.set('h2_path', queryParam.path || ""); } else if (queryParam.type === "quic") { @@ -891,6 +922,7 @@ local has_xray = api.is_finded("xray") opt.set('mkcp_guise', queryParam.headerType || "none"); } else if (queryParam.type === "grpc") { opt.set('grpc_serviceName', (queryParam.serviceName || queryParam.path) || ""); + opt.set('grpc_mode', queryParam.mode); } if (m.hash) { diff --git a/luci-app-passwall/po/zh-cn/passwall.po b/luci-app-passwall/po/zh-cn/passwall.po index 850b1b0f6..3a28ad88e 100644 --- a/luci-app-passwall/po/zh-cn/passwall.po +++ b/luci-app-passwall/po/zh-cn/passwall.po @@ -346,6 +346,15 @@ msgstr "Xray 负载均衡" msgid "V2ray_balancing" msgstr "V2ray 负载均衡" +msgid "Balancing Strategy" +msgstr "负载均衡策略" + +msgid "Probe Interval" +msgstr "探测间隔" + +msgid "The interval between initiating probes. Every time this time elapses, a server status check is performed on a server. The time format is numbers + units, such as '10s', '2h45m', and the supported time units are ns, us, ms, s, m, h, which correspond to nanoseconds, microseconds, milliseconds, seconds, minutes, and hours, respectively." +msgstr "发起探测的间隔。每经过这个时间,就会对一个服务器进行服务器状态检测。时间格式为数字+单位,比如"10s", "2h45m",支持的时间单位有 nsusmssmh,分别对应纳秒、微秒、毫秒、秒、分、时。" + msgid "Shunt" msgstr "分流" diff --git a/luci-app-passwall/root/usr/share/passwall/subscribe.lua b/luci-app-passwall/root/usr/share/passwall/subscribe.lua index ff982e0f7..b0b454e37 100755 --- a/luci-app-passwall/root/usr/share/passwall/subscribe.lua +++ b/luci-app-passwall/root/usr/share/passwall/subscribe.lua @@ -737,7 +737,8 @@ local function processData(szType, content, add_mode, add_from) result.ws_host = params.host result.ws_path = params.path end - if params.type == 'h2' then + if params.type == 'h2' or params.type == 'http' then + params.type = "h2" result.h2_host = params.host result.h2_path = params.path end @@ -765,17 +766,24 @@ local function processData(szType, content, add_mode, add_from) if params.type == 'grpc' then if params.path then result.grpc_serviceName = params.path end if params.serviceName then result.grpc_serviceName = params.serviceName end + result.grpc_mode = params.mode end result.transport = params.type result.encryption = params.encryption or "none" result.tls = "0" - if params.security == "tls" then + if params.security == "tls" or params.security == "reality" then result.tls = "1" result.tlsflow = params.flow or nil result.tls_serverName = (params.sni and params.sni ~= "") and params.sni or params.host result.fingerprint = (params.fp and params.fp ~= "") and params.fp or "chrome" + if params.security == "reality" then + result.reality = "1" + result.reality_publicKey = params.pbk or nil + result.reality_shortId = params.sid or nil + result.reality_spiderX = params.spx or nil + end end result.port = port