diff --git a/luci-app-homeproxy/htdocs/luci-static/resources/homeproxy.js b/luci-app-homeproxy/htdocs/luci-static/resources/homeproxy.js index 8403b24ed..35fd7ce4c 100644 --- a/luci-app-homeproxy/htdocs/luci-static/resources/homeproxy.js +++ b/luci-app-homeproxy/htdocs/luci-static/resources/homeproxy.js @@ -170,7 +170,7 @@ return baseclass.extend({ }, getBuiltinFeatures: function() { - var callGetSingBoxFeatures = rpc.declare({ + const callGetSingBoxFeatures = rpc.declare({ object: 'luci.homeproxy', method: 'singbox_get_features', expect: { '': {} } @@ -239,7 +239,7 @@ return baseclass.extend({ }, uploadCertificate: function(option, type, filename, ev) { - var callWriteCertificate = rpc.declare({ + const callWriteCertificate = rpc.declare({ object: 'luci.homeproxy', method: 'certificate_write', params: ['filename'], @@ -267,6 +267,14 @@ return baseclass.extend({ return true; }, + validateCertificatePath: function(section_id, value) { + if (section_id && value) + if (!value.match(/^(\/etc\/homeproxy\/certs\/|\/etc\/acme\/|\/etc\/ssl\/).+$/)) + return _('Expecting: %s').format(_('/etc/homeproxy/certs/..., /etc/acme/..., /etc/ssl/...')); + + return true; + }, + validateUniqueValue: function(uciconfig, ucisection, ucioption, section_id, value) { if (section_id) { if (!value) diff --git a/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/client.js b/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/client.js index 334d629ab..530f1bd13 100644 --- a/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/client.js +++ b/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/client.js @@ -17,21 +17,21 @@ 'require tools.firewall as fwtool'; 'require tools.widgets as widgets'; -var callServiceList = rpc.declare({ +const callServiceList = rpc.declare({ object: 'service', method: 'list', params: ['name'], expect: { '': {} } }); -var callReadDomainList = rpc.declare({ +const callReadDomainList = rpc.declare({ object: 'luci.homeproxy', method: 'acllist_read', params: ['type'], expect: { '': {} } }); -var callWriteDomainList = rpc.declare({ +const callWriteDomainList = rpc.declare({ object: 'luci.homeproxy', method: 'acllist_write', params: ['type', 'content'], @@ -101,7 +101,7 @@ return view.extend({ }, render: function(data) { - var m, s, o, ss, so; + let m, s, o, ss, so; var features = data[1], hosts = data[2]?.hosts; diff --git a/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/node.js b/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/node.js index 98691e331..78a1a742f 100644 --- a/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/node.js +++ b/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/node.js @@ -1021,6 +1021,7 @@ function renderNodeSettings(section, data, features, main_node, routing_mode) { _('The path to the server certificate, in PEM format.')); o.value('/etc/homeproxy/certs/client_ca.pem'); o.depends('tls_self_sign', '1'); + o.validate = L.bind(hp.validateCertificatePath, this); o.rmempty = false; o.modalonly = true; @@ -1148,7 +1149,7 @@ return view.extend({ }, render: function(data) { - var m, s, o, ss, so; + let m, s, o, ss, so; var main_node = uci.get(data[0], 'config', 'main_node'); var routing_mode = uci.get(data[0], 'config', 'routing_mode'); var features = data[1]; diff --git a/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/server.js b/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/server.js index 88a0756c9..c93960f83 100644 --- a/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/server.js +++ b/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/server.js @@ -14,7 +14,7 @@ 'require homeproxy as hp'; -var callServiceList = rpc.declare({ +const callServiceList = rpc.declare({ object: 'service', method: 'list', params: ['name'], @@ -91,7 +91,7 @@ return view.extend({ }, render: function(data) { - var m, s, o; + let m, s, o; var features = data[1]; m = new form.Map('homeproxy', _('HomeProxy Server'), @@ -745,6 +745,7 @@ return view.extend({ o.depends({'tls': '1', 'tls_acme': '0', 'tls_reality': '0'}); o.depends({'tls': '1', 'tls_acme': null, 'tls_reality': '0'}); o.depends({'tls': '1', 'tls_acme': null, 'tls_reality': null}); + o.validate = L.bind(hp.validateCertificatePath, this); o.rmempty = false; o.modalonly = true; @@ -763,6 +764,7 @@ return view.extend({ o.depends({'tls': '1', 'tls_acme': '0', 'tls_reality': null}); o.depends({'tls': '1', 'tls_acme': null, 'tls_reality': '0'}); o.depends({'tls': '1', 'tls_acme': null, 'tls_reality': null}); + o.validate = L.bind(hp.validateCertificatePath, this); o.rmempty = false; o.modalonly = true; diff --git a/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/status.js b/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/status.js index c81162ee2..5d41ddfaa 100644 --- a/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/status.js +++ b/luci-app-homeproxy/htdocs/luci-static/resources/view/homeproxy/status.js @@ -32,7 +32,7 @@ var css = ' \ var hp_dir = '/var/run/homeproxy'; function getConnStat(self, site) { - var callConnStat = rpc.declare({ + const callConnStat = rpc.declare({ object: 'luci.homeproxy', method: 'connection_check', params: ['site'], @@ -61,14 +61,14 @@ function getConnStat(self, site) { } function getResVersion(self, type) { - var callResVersion = rpc.declare({ + const callResVersion = rpc.declare({ object: 'luci.homeproxy', method: 'resources_get_version', params: ['type'], expect: { '': {} } }); - var callResUpdate = rpc.declare({ + const callResUpdate = rpc.declare({ object: 'luci.homeproxy', method: 'resources_update', params: ['type'], @@ -114,7 +114,7 @@ function getResVersion(self, type) { } function getRuntimeLog(name, filename) { - var callLogClean = rpc.declare({ + const callLogClean = rpc.declare({ object: 'luci.homeproxy', method: 'log_clean', params: ['type'], diff --git a/luci-app-homeproxy/po/templates/homeproxy.pot b/luci-app-homeproxy/po/templates/homeproxy.pot index 4a981724b..a411de1d7 100644 --- a/luci-app-homeproxy/po/templates/homeproxy.pot +++ b/luci-app-homeproxy/po/templates/homeproxy.pot @@ -5,7 +5,7 @@ msgstr "Content-Type: text/plain; charset=UTF-8" msgid "%s log" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1412 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1413 msgid "%s nodes removed" msgstr "" @@ -14,13 +14,17 @@ msgstr "" msgid "-- Please choose --" msgstr "" +#: htdocs/luci-static/resources/homeproxy.js:273 +msgid "/etc/homeproxy/certs/..., /etc/acme/..., /etc/ssl/..." +msgstr "" + #: htdocs/luci-static/resources/view/homeproxy/client.js:475 msgid "4 or 6. Not limited if empty." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1028 -#: htdocs/luci-static/resources/view/homeproxy/server.js:752 -#: htdocs/luci-static/resources/view/homeproxy/server.js:770 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1029 +#: htdocs/luci-static/resources/view/homeproxy/server.js:753 +#: htdocs/luci-static/resources/view/homeproxy/server.js:772 msgid "Save your configuration before uploading files!" msgstr "" @@ -36,7 +40,7 @@ msgstr "" msgid "Accept empty query response" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1113 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1112 msgid "Access Control" msgstr "" @@ -103,7 +107,7 @@ msgid "All ports" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/node.js:981 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1338 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1339 msgid "Allow insecure" msgstr "" @@ -111,7 +115,7 @@ msgstr "" msgid "Allow insecure connection at TLS client." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1339 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1340 msgid "Allow insecure connection by default when add nodes from subscriptions." msgstr "" @@ -141,7 +145,7 @@ msgstr "" msgid "Alternative TLS port" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1375 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1376 msgid "An error occurred during updating subscriptions: %s" msgstr "" @@ -197,11 +201,11 @@ msgstr "" msgid "Auto configure firewall" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1289 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1290 msgid "Auto update" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1290 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1291 msgid "Auto update subscriptions and geodata." msgstr "" @@ -227,11 +231,11 @@ msgid "Binary file" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:392 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1126 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1125 msgid "Bind interface" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1127 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1126 msgid "" "Bind outbound traffic to specific interface. Leave empty to auto detect." msgstr "" @@ -241,7 +245,7 @@ msgstr "" msgid "BitTorrent" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1325 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1326 msgid "Blacklist mode" msgstr "" @@ -260,7 +264,7 @@ msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:512 #: htdocs/luci-static/resources/view/homeproxy/client.js:835 #: htdocs/luci-static/resources/view/homeproxy/client.js:845 -#: htdocs/luci-static/resources/view/homeproxy/server.js:816 +#: htdocs/luci-static/resources/view/homeproxy/server.js:818 msgid "Both" msgstr "" @@ -288,7 +292,7 @@ msgstr "" msgid "CUBIC" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1193 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1194 msgid "Cancel" msgstr "" @@ -422,6 +426,7 @@ msgstr "" #: htdocs/luci-static/resources/homeproxy.js:17 #: htdocs/luci-static/resources/view/homeproxy/client.js:469 #: htdocs/luci-static/resources/view/homeproxy/client.js:827 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1095 #: htdocs/luci-static/resources/view/homeproxy/node.js:645 msgid "Default" msgstr "" @@ -448,7 +453,7 @@ msgstr "" msgid "Default outbound" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1346 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1347 msgid "Default packet encoding" msgstr "" @@ -461,38 +466,38 @@ msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:623 #: htdocs/luci-static/resources/view/homeproxy/client.js:771 #: htdocs/luci-static/resources/view/homeproxy/client.js:977 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1095 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1096 #: htdocs/luci-static/resources/view/homeproxy/node.js:394 msgid "Direct" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1225 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1224 msgid "Direct Domain List" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1142 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1187 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1141 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1186 msgid "Direct IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1145 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1190 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1144 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1189 msgid "Direct IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1148 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1147 msgid "Direct MAC-s" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:142 #: htdocs/luci-static/resources/view/homeproxy/client.js:150 #: htdocs/luci-static/resources/view/homeproxy/client.js:341 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1136 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1135 #: htdocs/luci-static/resources/view/homeproxy/node.js:473 #: htdocs/luci-static/resources/view/homeproxy/node.js:492 #: htdocs/luci-static/resources/view/homeproxy/node.js:504 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1060 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1324 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1061 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1325 #: htdocs/luci-static/resources/view/homeproxy/server.js:248 #: htdocs/luci-static/resources/view/homeproxy/server.js:260 msgid "Disable" @@ -527,7 +532,7 @@ msgstr "" msgid "Disable dns cache" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1042 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1043 msgid "Disable dynamic record sizing" msgstr "" @@ -555,7 +560,7 @@ msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:326 #: htdocs/luci-static/resources/view/homeproxy/client.js:386 -#: htdocs/luci-static/resources/view/homeproxy/server.js:807 +#: htdocs/luci-static/resources/view/homeproxy/server.js:809 msgid "Domain strategy" msgstr "" @@ -578,14 +583,14 @@ msgstr "" msgid "Download bandwidth in Mbps." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1331 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1332 msgid "" "Drop/keep nodes that contain the specific keywords. Regex is supported." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1323 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1324 msgid "Drop/keep specific nodes from subscriptions." msgstr "" @@ -597,13 +602,13 @@ msgid "" "a non-ACME system, such as a CA customer database." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1037 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1038 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:1052 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1053 msgid "ECH config" msgstr "" @@ -627,7 +632,7 @@ msgstr "" msgid "Early data is sent in path instead of header by default." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1165 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1166 msgid "Edit nodes" msgstr "" @@ -662,11 +667,11 @@ msgstr "" msgid "Enable ACME" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1036 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1037 msgid "Enable ECH" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1047 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1048 msgid "Enable PQ signature schemes" msgstr "" @@ -680,8 +685,8 @@ msgstr "" msgid "Enable TCP Brutal congestion control algorithm" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1120 -#: htdocs/luci-static/resources/view/homeproxy/server.js:791 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1121 +#: htdocs/luci-static/resources/view/homeproxy/server.js:793 msgid "Enable UDP fragmentation." msgstr "" @@ -694,11 +699,11 @@ msgstr "" msgid "Enable padding" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:780 +#: htdocs/luci-static/resources/view/homeproxy/server.js:782 msgid "Enable tcp fast open for listener." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1125 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1126 msgid "" "Enable the SUoT protocol, requires server support. Conflict with multiplex." msgstr "" @@ -712,9 +717,10 @@ msgstr "" #: htdocs/luci-static/resources/homeproxy.js:231 #: htdocs/luci-static/resources/homeproxy.js:265 #: htdocs/luci-static/resources/homeproxy.js:273 -#: htdocs/luci-static/resources/homeproxy.js:282 -#: htdocs/luci-static/resources/homeproxy.js:291 -#: htdocs/luci-static/resources/homeproxy.js:293 +#: htdocs/luci-static/resources/homeproxy.js:281 +#: htdocs/luci-static/resources/homeproxy.js:290 +#: htdocs/luci-static/resources/homeproxy.js:299 +#: htdocs/luci-static/resources/homeproxy.js:301 #: htdocs/luci-static/resources/view/homeproxy/client.js:75 #: htdocs/luci-static/resources/view/homeproxy/client.js:176 #: htdocs/luci-static/resources/view/homeproxy/client.js:178 @@ -723,13 +729,13 @@ msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:1071 #: htdocs/luci-static/resources/view/homeproxy/client.js:1076 #: htdocs/luci-static/resources/view/homeproxy/client.js:1079 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1218 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1247 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1217 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1246 #: htdocs/luci-static/resources/view/homeproxy/node.js:452 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1083 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1256 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1312 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1315 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1084 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1257 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1313 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1316 #: htdocs/luci-static/resources/view/homeproxy/server.js:213 #: htdocs/luci-static/resources/view/homeproxy/server.js:616 #: htdocs/luci-static/resources/view/homeproxy/server.js:618 @@ -752,11 +758,11 @@ msgstr "" msgid "Failed to upload %s, error: %s." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1330 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1331 msgid "Filter keywords" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1322 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1323 msgid "Filter nodes" msgstr "" @@ -785,15 +791,15 @@ msgstr "" msgid "GFWList" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1160 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1159 msgid "Gaming mode IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1162 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1161 msgid "Gaming mode IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1165 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1164 msgid "Gaming mode MAC-s" msgstr "" @@ -819,15 +825,15 @@ msgstr "" msgid "Global padding" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1167 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1166 msgid "Global proxy IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1170 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1169 msgid "Global proxy IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1173 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1172 msgid "Global proxy MAC-s" msgstr "" @@ -976,7 +982,7 @@ msgid "" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:327 -#: htdocs/luci-static/resources/view/homeproxy/server.js:808 +#: htdocs/luci-static/resources/view/homeproxy/server.js:810 msgid "" "If set, the requested domain name will be resolved to IP before routing." msgstr "" @@ -1003,18 +1009,18 @@ msgstr "" msgid "Ignore client bandwidth" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1239 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1240 msgid "Import" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1186 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1265 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1267 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1187 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1266 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1268 msgid "Import share links" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:313 -#: htdocs/luci-static/resources/view/homeproxy/server.js:797 +#: htdocs/luci-static/resources/view/homeproxy/server.js:799 msgid "In seconds. 300 is used by default." msgstr "" @@ -1022,7 +1028,7 @@ msgstr "" msgid "Independent cache per server" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1119 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1118 msgid "Interface Control" msgstr "" @@ -1047,11 +1053,11 @@ msgstr "" msgid "It MUST support TCP query." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:759 +#: htdocs/luci-static/resources/view/homeproxy/server.js:760 msgid "Key path" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1133 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1132 msgid "LAN IP Policy" msgstr "" @@ -1094,7 +1100,7 @@ msgstr "" msgid "Listen address" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1121 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1120 msgid "Listen interfaces" msgstr "" @@ -1336,8 +1342,8 @@ msgstr "" msgid "Mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1115 -#: htdocs/luci-static/resources/view/homeproxy/server.js:785 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1116 +#: htdocs/luci-static/resources/view/homeproxy/server.js:787 msgid "MultiPath TCP" msgstr "" @@ -1355,7 +1361,7 @@ msgstr "" msgid "NOT RUNNING" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1352 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1353 msgid "NOTE: Save current settings before updating subscriptions." msgstr "" @@ -1369,7 +1375,7 @@ msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:509 #: htdocs/luci-static/resources/view/homeproxy/client.js:842 -#: htdocs/luci-static/resources/view/homeproxy/server.js:813 +#: htdocs/luci-static/resources/view/homeproxy/server.js:815 msgid "Network" msgstr "" @@ -1389,15 +1395,15 @@ msgstr "" msgid "No additional encryption support: It's basically duplicate encryption." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1368 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1369 msgid "No subscription available" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1393 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1394 msgid "No subscription node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1225 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1226 msgid "No valid share link found." msgstr "" @@ -1410,7 +1416,7 @@ msgstr "" msgid "Node Settings" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1171 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1172 msgid "Nodes" msgstr "" @@ -1432,7 +1438,7 @@ msgstr "" msgid "Obfuscate type" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1122 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1121 msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "" @@ -1462,7 +1468,7 @@ msgid "Override address" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:331 -#: htdocs/luci-static/resources/view/homeproxy/server.js:803 +#: htdocs/luci-static/resources/view/homeproxy/server.js:805 msgid "Override destination" msgstr "" @@ -1471,7 +1477,7 @@ msgid "Override port" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:332 -#: htdocs/luci-static/resources/view/homeproxy/server.js:804 +#: htdocs/luci-static/resources/view/homeproxy/server.js:806 msgid "Override the connection destination address with the sniffed domain." msgstr "" @@ -1611,33 +1617,33 @@ msgid "" "default in v2ray and cannot be disabled)." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1196 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1195 msgid "Proxy Domain List" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1151 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1180 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1150 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1179 msgid "Proxy IPv4 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1154 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1183 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1153 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1182 msgid "Proxy IPv6 IP-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1157 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1156 msgid "Proxy MAC-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1138 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1137 msgid "Proxy all except listed" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1135 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1134 msgid "Proxy filter mode" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1137 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1136 msgid "Proxy listed only" msgstr "" @@ -1689,7 +1695,7 @@ msgstr "" msgid "RDRC timeout" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1094 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1095 #: htdocs/luci-static/resources/view/homeproxy/server.js:707 msgid "REALITY" msgstr "" @@ -1698,11 +1704,11 @@ msgstr "" msgid "REALITY private key" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1099 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1100 msgid "REALITY public key" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1104 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1105 #: htdocs/luci-static/resources/view/homeproxy/server.js:718 msgid "REALITY short ID" msgstr "" @@ -1748,11 +1754,11 @@ msgstr "" msgid "Remote" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1390 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1391 msgid "Remove %s nodes" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1380 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1381 msgid "Remove all nodes from subscriptions" msgstr "" @@ -1840,7 +1846,7 @@ msgstr "" msgid "STUN" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1131 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1132 msgid "SUoT version" msgstr "" @@ -1857,11 +1863,11 @@ msgstr "" msgid "Same as main node" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1354 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1355 msgid "Save current settings" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1351 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1352 msgid "Save subscriptions settings" msgstr "" @@ -1999,19 +2005,19 @@ msgstr "" msgid "String" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1276 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1277 msgid "Sub (%s)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1305 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1306 msgid "Subscription URL-s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1287 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1288 msgid "Subscriptions" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1227 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1228 msgid "Successfully imported %s nodes of total %s." msgstr "" @@ -2019,8 +2025,8 @@ msgstr "" msgid "Successfully updated." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1187 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1306 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1188 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1307 msgid "" "Support Hysteria, Shadowsocks, Trojan, v2rayN (VMess), and XTLS (VLESS) " "online configuration delivery standard." @@ -2038,12 +2044,12 @@ msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:510 #: htdocs/luci-static/resources/view/homeproxy/client.js:843 -#: htdocs/luci-static/resources/view/homeproxy/server.js:814 +#: htdocs/luci-static/resources/view/homeproxy/server.js:816 msgid "TCP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1111 -#: htdocs/luci-static/resources/view/homeproxy/server.js:779 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1112 +#: htdocs/luci-static/resources/view/homeproxy/server.js:781 msgid "TCP fast open" msgstr "" @@ -2218,7 +2224,7 @@ msgstr "" msgid "The port must be unique." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:760 +#: htdocs/luci-static/resources/view/homeproxy/server.js:761 msgid "The server private key, in PEM format." msgstr "" @@ -2241,7 +2247,7 @@ msgid "" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/node.js:984 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1341 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1342 msgid "" "This is DANGEROUS, your traffic is almost like " "PLAIN TEXT! Use at your own risk!" @@ -2302,21 +2308,21 @@ msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:511 #: htdocs/luci-static/resources/view/homeproxy/client.js:844 -#: htdocs/luci-static/resources/view/homeproxy/server.js:815 +#: htdocs/luci-static/resources/view/homeproxy/server.js:817 msgid "UDP" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1119 -#: htdocs/luci-static/resources/view/homeproxy/server.js:790 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1120 +#: htdocs/luci-static/resources/view/homeproxy/server.js:792 msgid "UDP Fragment" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:312 -#: htdocs/luci-static/resources/view/homeproxy/server.js:796 +#: htdocs/luci-static/resources/view/homeproxy/server.js:798 msgid "UDP NAT expiration time" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1124 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1125 msgid "UDP over TCP" msgstr "" @@ -2345,11 +2351,11 @@ msgstr "" msgid "Unknown error: %s" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1087 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1088 msgid "Unsupported fingerprint!" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1365 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1366 msgid "Update %s subscriptions" msgstr "" @@ -2357,27 +2363,27 @@ msgstr "" msgid "Update failed." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1107 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1106 msgid "Update interval" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1108 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1107 msgid "Update interval of rule set.
1d will be used if empty." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1360 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1361 msgid "Update nodes from subscriptions" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1301 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1302 msgid "Update subscriptions via proxy." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1294 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1295 msgid "Update time" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1300 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1301 msgid "Update via proxy" msgstr "" @@ -2391,18 +2397,18 @@ msgstr "" msgid "Upload bandwidth in Mbps." msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1027 -#: htdocs/luci-static/resources/view/homeproxy/server.js:751 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1028 +#: htdocs/luci-static/resources/view/homeproxy/server.js:752 msgid "Upload certificate" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:769 +#: htdocs/luci-static/resources/view/homeproxy/server.js:771 msgid "Upload key" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1030 -#: htdocs/luci-static/resources/view/homeproxy/server.js:754 -#: htdocs/luci-static/resources/view/homeproxy/server.js:772 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1031 +#: htdocs/luci-static/resources/view/homeproxy/server.js:755 +#: htdocs/luci-static/resources/view/homeproxy/server.js:774 msgid "Upload..." msgstr "" @@ -2422,7 +2428,7 @@ msgstr "" msgid "User" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1335 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1336 msgid "User-Agent" msgstr "" @@ -2446,7 +2452,7 @@ msgstr "" msgid "WAN DNS (read from interface)" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1178 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1177 msgid "WAN IP Policy" msgstr "" @@ -2455,7 +2461,7 @@ msgstr "" msgid "WebSocket" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1326 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1327 msgid "Whitelist mode" msgstr "" @@ -2480,7 +2486,7 @@ msgid "Write proxy protocol in the connection header." msgstr "" #: htdocs/luci-static/resources/view/homeproxy/node.js:828 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1349 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1350 msgid "Xudp (Xray-core)" msgstr "" @@ -2496,8 +2502,8 @@ msgstr "" msgid "ZeroSSL" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1032 -#: htdocs/luci-static/resources/view/homeproxy/server.js:756 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1033 +#: htdocs/luci-static/resources/view/homeproxy/server.js:757 msgid "certificate" msgstr "" @@ -2530,24 +2536,24 @@ msgstr "" msgid "gVisor" msgstr "" -#: htdocs/luci-static/resources/homeproxy.js:273 -#: htdocs/luci-static/resources/homeproxy.js:291 +#: htdocs/luci-static/resources/homeproxy.js:281 +#: htdocs/luci-static/resources/homeproxy.js:299 #: htdocs/luci-static/resources/view/homeproxy/client.js:176 #: htdocs/luci-static/resources/view/homeproxy/client.js:1071 #: htdocs/luci-static/resources/view/homeproxy/node.js:452 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1083 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1084 #: htdocs/luci-static/resources/view/homeproxy/server.js:213 msgid "non-empty value" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/node.js:567 #: htdocs/luci-static/resources/view/homeproxy/node.js:826 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1347 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1348 msgid "none" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/node.js:827 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1348 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1349 msgid "packet addr (v2ray-core v5+)" msgstr "" @@ -2555,7 +2561,7 @@ msgstr "" msgid "passed" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/server.js:774 +#: htdocs/luci-static/resources/view/homeproxy/server.js:776 msgid "private key" msgstr "" @@ -2571,11 +2577,11 @@ msgstr "" msgid "sing-box server" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1058 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1059 msgid "uTLS fingerprint" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1059 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1060 msgid "" "uTLS is a fork of \"crypto/tls\", which provides ClientHello fingerprinting " "resistance." @@ -2586,23 +2592,23 @@ msgid "unchecked" msgstr "" #: htdocs/luci-static/resources/homeproxy.js:231 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1256 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1257 msgid "unique UCI identifier" msgstr "" -#: htdocs/luci-static/resources/homeproxy.js:282 +#: htdocs/luci-static/resources/homeproxy.js:290 msgid "unique value" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/node.js:474 #: htdocs/luci-static/resources/view/homeproxy/node.js:581 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1132 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1133 msgid "v1" msgstr "" #: htdocs/luci-static/resources/view/homeproxy/node.js:475 #: htdocs/luci-static/resources/view/homeproxy/node.js:582 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1133 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1134 msgid "v2" msgstr "" @@ -2616,8 +2622,8 @@ msgstr "" #: htdocs/luci-static/resources/view/homeproxy/client.js:1076 #: htdocs/luci-static/resources/view/homeproxy/client.js:1079 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1312 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1315 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1313 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1316 msgid "valid URL" msgstr "" @@ -2629,8 +2635,8 @@ msgstr "" msgid "valid base64 key with %d characters" msgstr "" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1218 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1247 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1217 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1246 msgid "valid hostname" msgstr "" @@ -2642,6 +2648,6 @@ msgstr "" msgid "valid port value" msgstr "" -#: htdocs/luci-static/resources/homeproxy.js:293 +#: htdocs/luci-static/resources/homeproxy.js:301 msgid "valid uuid" msgstr "" diff --git a/luci-app-homeproxy/po/zh_Hans/homeproxy.po b/luci-app-homeproxy/po/zh_Hans/homeproxy.po index a5498aa84..1f3feec95 100644 --- a/luci-app-homeproxy/po/zh_Hans/homeproxy.po +++ b/luci-app-homeproxy/po/zh_Hans/homeproxy.po @@ -12,7 +12,7 @@ msgstr "" msgid "%s log" msgstr "%s 日志" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1412 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1413 msgid "%s nodes removed" msgstr "移除了 %s 个节点" @@ -21,13 +21,17 @@ msgstr "移除了 %s 个节点" msgid "-- Please choose --" msgstr "-- 请选择 --" +#: htdocs/luci-static/resources/homeproxy.js:273 +msgid "/etc/homeproxy/certs/..., /etc/acme/..., /etc/ssl/..." +msgstr "/etc/homeproxy/certs/...,/etc/acme/...,/etc/ssl/..." + #: htdocs/luci-static/resources/view/homeproxy/client.js:475 msgid "4 or 6. Not limited if empty." msgstr "4 或 6。留空不限制。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1028 -#: htdocs/luci-static/resources/view/homeproxy/server.js:752 -#: htdocs/luci-static/resources/view/homeproxy/server.js:770 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1029 +#: htdocs/luci-static/resources/view/homeproxy/server.js:753 +#: htdocs/luci-static/resources/view/homeproxy/server.js:772 msgid "Save your configuration before uploading files!" msgstr "上传文件前请先保存配置!" @@ -43,7 +47,7 @@ msgstr "留空则不校验。" msgid "Accept empty query response" msgstr "接受空查询响应" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1113 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1112 msgid "Access Control" msgstr "访问控制" @@ -110,7 +114,7 @@ msgid "All ports" msgstr "所有端口" #: htdocs/luci-static/resources/view/homeproxy/node.js:981 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1338 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1339 msgid "Allow insecure" msgstr "允许不安全连接" @@ -118,7 +122,7 @@ msgstr "允许不安全连接" msgid "Allow insecure connection at TLS client." msgstr "允许 TLS 客户端侧的不安全连接。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1339 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1340 msgid "Allow insecure connection by default when add nodes from subscriptions." msgstr "从订阅获取节点时,默认允许不安全连接。" @@ -148,7 +152,7 @@ msgstr "替代 HTTP 端口" msgid "Alternative TLS port" msgstr "替代 HTTPS 端口" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1375 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1376 msgid "An error occurred during updating subscriptions: %s" msgstr "更新订阅时发生错误:%s" @@ -206,11 +210,11 @@ msgstr "认证类型" msgid "Auto configure firewall" msgstr "自动配置防火墙" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1289 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1290 msgid "Auto update" msgstr "自动更新" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1290 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1291 msgid "Auto update subscriptions and geodata." msgstr "自动更新订阅和地理数据。" @@ -236,11 +240,11 @@ msgid "Binary file" msgstr "二进制文件" #: htdocs/luci-static/resources/view/homeproxy/client.js:392 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1126 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1125 msgid "Bind interface" msgstr "绑定接口" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1127 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1126 msgid "" "Bind outbound traffic to specific interface. Leave empty to auto detect." msgstr "绑定出站流量至指定端口。留空自动检测。" @@ -250,7 +254,7 @@ msgstr "绑定出站流量至指定端口。留空自动检测。" msgid "BitTorrent" msgstr "BitTorrent" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1325 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1326 msgid "Blacklist mode" msgstr "黑名单模式" @@ -269,7 +273,7 @@ msgstr "封锁 DNS 请求" #: htdocs/luci-static/resources/view/homeproxy/client.js:512 #: htdocs/luci-static/resources/view/homeproxy/client.js:835 #: htdocs/luci-static/resources/view/homeproxy/client.js:845 -#: htdocs/luci-static/resources/view/homeproxy/server.js:816 +#: htdocs/luci-static/resources/view/homeproxy/server.js:818 msgid "Both" msgstr "全部" @@ -297,7 +301,7 @@ msgstr "CNNIC 公共 DNS(210.2.4.8)" msgid "CUBIC" msgstr "CUBIC" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1193 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1194 msgid "Cancel" msgstr "取消" @@ -431,6 +435,7 @@ msgstr "DTLS" #: htdocs/luci-static/resources/homeproxy.js:17 #: htdocs/luci-static/resources/view/homeproxy/client.js:469 #: htdocs/luci-static/resources/view/homeproxy/client.js:827 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1095 #: htdocs/luci-static/resources/view/homeproxy/node.js:645 msgid "Default" msgstr "默认" @@ -457,7 +462,7 @@ msgstr "默认域名解析策略。" msgid "Default outbound" msgstr "默认出站" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1346 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1347 msgid "Default packet encoding" msgstr "默认包封装格式" @@ -470,38 +475,38 @@ msgstr "默认服务器名称" #: htdocs/luci-static/resources/view/homeproxy/client.js:623 #: htdocs/luci-static/resources/view/homeproxy/client.js:771 #: htdocs/luci-static/resources/view/homeproxy/client.js:977 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1095 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1096 #: htdocs/luci-static/resources/view/homeproxy/node.js:394 msgid "Direct" msgstr "直连" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1225 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1224 msgid "Direct Domain List" msgstr "直连域名列表" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1142 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1187 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1141 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1186 msgid "Direct IPv4 IP-s" msgstr "直连 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1145 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1190 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1144 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1189 msgid "Direct IPv6 IP-s" msgstr "直连 IPv6 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1148 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1147 msgid "Direct MAC-s" msgstr "直连 MAC 地址" #: htdocs/luci-static/resources/view/homeproxy/client.js:142 #: htdocs/luci-static/resources/view/homeproxy/client.js:150 #: htdocs/luci-static/resources/view/homeproxy/client.js:341 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1136 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1135 #: htdocs/luci-static/resources/view/homeproxy/node.js:473 #: htdocs/luci-static/resources/view/homeproxy/node.js:492 #: htdocs/luci-static/resources/view/homeproxy/node.js:504 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1060 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1324 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1061 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1325 #: htdocs/luci-static/resources/view/homeproxy/server.js:248 #: htdocs/luci-static/resources/view/homeproxy/server.js:260 msgid "Disable" @@ -536,7 +541,7 @@ msgstr "缓存永不过期" msgid "Disable dns cache" msgstr "禁用 DNS 缓存" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1042 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1043 msgid "Disable dynamic record sizing" msgstr "禁用动态记录大小" @@ -566,7 +571,7 @@ msgstr "域名正则表达式" #: htdocs/luci-static/resources/view/homeproxy/client.js:326 #: htdocs/luci-static/resources/view/homeproxy/client.js:386 -#: htdocs/luci-static/resources/view/homeproxy/server.js:807 +#: htdocs/luci-static/resources/view/homeproxy/server.js:809 msgid "Domain strategy" msgstr "域名解析策略" @@ -589,7 +594,7 @@ msgstr "下载带宽" msgid "Download bandwidth in Mbps." msgstr "下载带宽(单位:Mbps)。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1331 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1332 msgid "" "Drop/keep nodes that contain the specific keywords. " "正则表达式。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1323 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1324 msgid "Drop/keep specific nodes from subscriptions." msgstr "从订阅中 丢弃/保留 指定节点" @@ -614,7 +619,7 @@ msgstr "" "
外部帐户绑定“用于将 ACME 帐户与非 ACME 系统中的现有帐户相关联,例如 CA " "客户数据库。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1037 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1038 msgid "" "ECH (Encrypted Client Hello) is a TLS extension that allows a client to " "encrypt the first part of its ClientHello message." @@ -622,7 +627,7 @@ msgstr "" "ECH(Encrypted Client Hello)是一个 TLS 扩展,它允许客户端加密其 ClientHello " "信息的第一部分。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1052 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1053 msgid "ECH config" msgstr "ECH 配置" @@ -646,7 +651,7 @@ msgstr "前置数据标头" msgid "Early data is sent in path instead of header by default." msgstr "前置数据默认发送在路径而不是标头中。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1165 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1166 msgid "Edit nodes" msgstr "修改节点" @@ -683,11 +688,11 @@ msgstr "启用 0-RTT 握手" msgid "Enable ACME" msgstr "启用 ACME" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1036 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1037 msgid "Enable ECH" msgstr "启用 ECH" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1047 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1048 msgid "Enable PQ signature schemes" msgstr "启用 PQ 签名方案" @@ -701,8 +706,8 @@ msgstr "启用 TCP Brutal" msgid "Enable TCP Brutal congestion control algorithm" msgstr "启用 TCP Brutal 拥塞控制算法。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1120 -#: htdocs/luci-static/resources/view/homeproxy/server.js:791 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1121 +#: htdocs/luci-static/resources/view/homeproxy/server.js:793 msgid "Enable UDP fragmentation." msgstr "启用 UDP 分片。" @@ -715,11 +720,11 @@ msgstr "启用端点独立 NAT" msgid "Enable padding" msgstr "启用填充" -#: htdocs/luci-static/resources/view/homeproxy/server.js:780 +#: htdocs/luci-static/resources/view/homeproxy/server.js:782 msgid "Enable tcp fast open for listener." msgstr "为监听器启用 TCP 快速打开。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1125 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1126 msgid "" "Enable the SUoT protocol, requires server support. Conflict with multiplex." msgstr "启用 SUoT 协议,需要服务端支持。与多路复用冲突。" @@ -733,9 +738,10 @@ msgstr "加密方式" #: htdocs/luci-static/resources/homeproxy.js:231 #: htdocs/luci-static/resources/homeproxy.js:265 #: htdocs/luci-static/resources/homeproxy.js:273 -#: htdocs/luci-static/resources/homeproxy.js:282 -#: htdocs/luci-static/resources/homeproxy.js:291 -#: htdocs/luci-static/resources/homeproxy.js:293 +#: htdocs/luci-static/resources/homeproxy.js:281 +#: htdocs/luci-static/resources/homeproxy.js:290 +#: htdocs/luci-static/resources/homeproxy.js:299 +#: htdocs/luci-static/resources/homeproxy.js:301 #: htdocs/luci-static/resources/view/homeproxy/client.js:75 #: htdocs/luci-static/resources/view/homeproxy/client.js:176 #: htdocs/luci-static/resources/view/homeproxy/client.js:178 @@ -744,13 +750,13 @@ msgstr "加密方式" #: htdocs/luci-static/resources/view/homeproxy/client.js:1071 #: htdocs/luci-static/resources/view/homeproxy/client.js:1076 #: htdocs/luci-static/resources/view/homeproxy/client.js:1079 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1218 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1247 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1217 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1246 #: htdocs/luci-static/resources/view/homeproxy/node.js:452 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1083 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1256 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1312 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1315 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1084 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1257 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1313 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1316 #: htdocs/luci-static/resources/view/homeproxy/server.js:213 #: htdocs/luci-static/resources/view/homeproxy/server.js:616 #: htdocs/luci-static/resources/view/homeproxy/server.js:618 @@ -773,11 +779,11 @@ msgstr "外部账户密钥标识符" msgid "Failed to upload %s, error: %s." msgstr "上传 %s 失败,错误:%s。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1330 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1331 msgid "Filter keywords" msgstr "过滤关键词" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1322 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1323 msgid "Filter nodes" msgstr "过滤节点" @@ -806,15 +812,15 @@ msgstr "GFW 域名列表版本" msgid "GFWList" msgstr "GFWList" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1160 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1159 msgid "Gaming mode IPv4 IP-s" msgstr "游戏模式 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1162 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1161 msgid "Gaming mode IPv6 IP-s" msgstr "游戏模式 IPv6 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1165 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1164 msgid "Gaming mode MAC-s" msgstr "游戏模式 MAC 地址" @@ -840,15 +846,15 @@ msgstr "全局" msgid "Global padding" msgstr "全局填充" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1167 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1166 msgid "Global proxy IPv4 IP-s" msgstr "全局代理 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1170 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1169 msgid "Global proxy IPv6 IP-s" msgstr "全局代理 IPv6 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1173 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1172 msgid "Global proxy MAC-s" msgstr "全局代理 MAC 地址" @@ -997,7 +1003,7 @@ msgid "" msgstr "如果启用,客户端传输即使没有活动连接也会发送 keepalive ping。" #: htdocs/luci-static/resources/view/homeproxy/client.js:327 -#: htdocs/luci-static/resources/view/homeproxy/server.js:808 +#: htdocs/luci-static/resources/view/homeproxy/server.js:810 msgid "" "If set, the requested domain name will be resolved to IP before routing." msgstr "如果设置,请求的域名将在路由前被解析为 IP 地址。" @@ -1026,18 +1032,18 @@ msgstr "如果你拥有根证书,使用此选项而不是允许不安全连接 msgid "Ignore client bandwidth" msgstr "忽略客户端带宽" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1239 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1240 msgid "Import" msgstr "导入" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1186 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1265 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1267 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1187 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1266 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1268 msgid "Import share links" msgstr "导入分享链接" #: htdocs/luci-static/resources/view/homeproxy/client.js:313 -#: htdocs/luci-static/resources/view/homeproxy/server.js:797 +#: htdocs/luci-static/resources/view/homeproxy/server.js:799 msgid "In seconds. 300 is used by default." msgstr "单位:秒。默认使用 300。" @@ -1045,7 +1051,7 @@ msgstr "单位:秒。默认使用 300。" msgid "Independent cache per server" msgstr "独立缓存" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1119 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1118 msgid "Interface Control" msgstr "接口控制" @@ -1070,11 +1076,11 @@ msgstr "反转匹配结果" msgid "It MUST support TCP query." msgstr "它必须支持 TCP 查询。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:759 +#: htdocs/luci-static/resources/view/homeproxy/server.js:760 msgid "Key path" msgstr "证书路径" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1133 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1132 msgid "LAN IP Policy" msgstr "LAN IP 策略" @@ -1119,7 +1125,7 @@ msgstr "支持的应用层协议协商列表,按顺序排列。" msgid "Listen address" msgstr "监听地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1121 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1120 msgid "Listen interfaces" msgstr "监听接口" @@ -1363,8 +1369,8 @@ msgstr "混合系统 TCP 栈和 gVisor UDP 栈。" msgid "Mode" msgstr "模式" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1115 -#: htdocs/luci-static/resources/view/homeproxy/server.js:785 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1116 +#: htdocs/luci-static/resources/view/homeproxy/server.js:787 msgid "MultiPath TCP" msgstr "多路径 TCP(MPTCP)" @@ -1382,7 +1388,7 @@ msgstr "多路复用协议。" msgid "NOT RUNNING" msgstr "未运行" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1352 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1353 msgid "NOTE: Save current settings before updating subscriptions." msgstr "注意:更新订阅前先保存当前配置。" @@ -1396,7 +1402,7 @@ msgstr "NaïveProxy" #: htdocs/luci-static/resources/view/homeproxy/client.js:509 #: htdocs/luci-static/resources/view/homeproxy/client.js:842 -#: htdocs/luci-static/resources/view/homeproxy/server.js:813 +#: htdocs/luci-static/resources/view/homeproxy/server.js:815 msgid "Network" msgstr "网络" @@ -1416,15 +1422,15 @@ msgstr "无 TCP 传输层, 纯 HTTP 已合并到 HTTP 传输层。" msgid "No additional encryption support: It's basically duplicate encryption." msgstr "无额外加密支持:它基本上是重复加密。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1368 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1369 msgid "No subscription available" msgstr "无可用订阅" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1393 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1394 msgid "No subscription node" msgstr "无订阅节点" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1225 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1226 msgid "No valid share link found." msgstr "找不到有效分享链接。" @@ -1437,7 +1443,7 @@ msgstr "节点" msgid "Node Settings" msgstr "节点设置" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1171 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1172 msgid "Nodes" msgstr "节点" @@ -1459,7 +1465,7 @@ msgstr "混淆密码" msgid "Obfuscate type" msgstr "混淆类型" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1122 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1121 msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "只处理来自指定接口的流量。留空表示全部。" @@ -1489,7 +1495,7 @@ msgid "Override address" msgstr "覆盖地址" #: htdocs/luci-static/resources/view/homeproxy/client.js:331 -#: htdocs/luci-static/resources/view/homeproxy/server.js:803 +#: htdocs/luci-static/resources/view/homeproxy/server.js:805 msgid "Override destination" msgstr "覆盖目标地址" @@ -1498,7 +1504,7 @@ msgid "Override port" msgstr "覆盖端口" #: htdocs/luci-static/resources/view/homeproxy/client.js:332 -#: htdocs/luci-static/resources/view/homeproxy/server.js:804 +#: htdocs/luci-static/resources/view/homeproxy/server.js:806 msgid "Override the connection destination address with the sniffed domain." msgstr "使用嗅探到的域名覆盖连接目标。" @@ -1638,33 +1644,33 @@ msgid "" "default in v2ray and cannot be disabled)." msgstr "协议参数。 如启用会随机浪费流量(在 v2ray 中默认启用并且无法禁用)。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1196 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1195 msgid "Proxy Domain List" msgstr "代理域名列表" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1151 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1180 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1150 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1179 msgid "Proxy IPv4 IP-s" msgstr "代理 IPv4 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1154 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1183 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1153 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1182 msgid "Proxy IPv6 IP-s" msgstr "代理 IPv6 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1157 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1156 msgid "Proxy MAC-s" msgstr "代理 MAC 地址" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1138 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1137 msgid "Proxy all except listed" msgstr "仅允许列表外" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1135 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1134 msgid "Proxy filter mode" msgstr "代理过滤模式" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1137 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1136 msgid "Proxy listed only" msgstr "仅允许列表内" @@ -1716,7 +1722,7 @@ msgstr "RDP" msgid "RDRC timeout" msgstr "RDRC 超时" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1094 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1095 #: htdocs/luci-static/resources/view/homeproxy/server.js:707 msgid "REALITY" msgstr "REALITY" @@ -1725,11 +1731,11 @@ msgstr "REALITY" msgid "REALITY private key" msgstr "REALITY 私钥" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1099 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1100 msgid "REALITY public key" msgstr "REALITY 公钥" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1104 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1105 #: htdocs/luci-static/resources/view/homeproxy/server.js:718 msgid "REALITY short ID" msgstr "REALITY 标识符" @@ -1775,11 +1781,11 @@ msgstr "区域 ID" msgid "Remote" msgstr "远程" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1390 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1391 msgid "Remove %s nodes" msgstr "移除 %s 个节点" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1380 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1381 msgid "Remove all nodes from subscriptions" msgstr "移除所有订阅节点" @@ -1867,7 +1873,7 @@ msgstr "SSH" msgid "STUN" msgstr "STUN" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1131 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1132 msgid "SUoT version" msgstr "SUoT 版本" @@ -1884,11 +1890,11 @@ msgstr "Salamander" msgid "Same as main node" msgstr "保持与主节点一致" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1354 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1355 msgid "Save current settings" msgstr "保存当前设置" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1351 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1352 msgid "Save subscriptions settings" msgstr "保存订阅设置" @@ -2037,19 +2043,19 @@ msgstr "" msgid "String" msgstr "字符串" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1276 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1277 msgid "Sub (%s)" msgstr "订阅(%s)" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1305 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1306 msgid "Subscription URL-s" msgstr "订阅地址" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1287 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1288 msgid "Subscriptions" msgstr "订阅" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1227 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1228 msgid "Successfully imported %s nodes of total %s." msgstr "成功导入 %s 个节点,共 %s 个。" @@ -2057,8 +2063,8 @@ msgstr "成功导入 %s 个节点,共 %s 个。" msgid "Successfully updated." msgstr "更新成功。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1187 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1306 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1188 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1307 msgid "" "Support Hysteria, Shadowsocks, Trojan, v2rayN (VMess), and XTLS (VLESS) " "online configuration delivery standard." @@ -2078,12 +2084,12 @@ msgstr "系统 DNS" #: htdocs/luci-static/resources/view/homeproxy/client.js:510 #: htdocs/luci-static/resources/view/homeproxy/client.js:843 -#: htdocs/luci-static/resources/view/homeproxy/server.js:814 +#: htdocs/luci-static/resources/view/homeproxy/server.js:816 msgid "TCP" msgstr "TCP" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1111 -#: htdocs/luci-static/resources/view/homeproxy/server.js:779 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1112 +#: htdocs/luci-static/resources/view/homeproxy/server.js:781 msgid "TCP fast open" msgstr "TCP 快速打开" @@ -2274,7 +2280,7 @@ msgstr "服务端证书路径,需要 PEM 格式。" msgid "The port must be unique." msgstr "必须是唯一端口。" -#: htdocs/luci-static/resources/view/homeproxy/server.js:760 +#: htdocs/luci-static/resources/view/homeproxy/server.js:761 msgid "The server private key, in PEM format." msgstr "服务端私钥,需要 PEM 格式。" @@ -2299,7 +2305,7 @@ msgstr "" "检测到任何活动,则会关闭连接。" #: htdocs/luci-static/resources/view/homeproxy/node.js:984 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1341 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1342 msgid "" "This is DANGEROUS, your traffic is almost like " "PLAIN TEXT! Use at your own risk!" @@ -2365,21 +2371,21 @@ msgstr "类型" #: htdocs/luci-static/resources/view/homeproxy/client.js:511 #: htdocs/luci-static/resources/view/homeproxy/client.js:844 -#: htdocs/luci-static/resources/view/homeproxy/server.js:815 +#: htdocs/luci-static/resources/view/homeproxy/server.js:817 msgid "UDP" msgstr "UDP" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1119 -#: htdocs/luci-static/resources/view/homeproxy/server.js:790 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1120 +#: htdocs/luci-static/resources/view/homeproxy/server.js:792 msgid "UDP Fragment" msgstr "UDP 分片" #: htdocs/luci-static/resources/view/homeproxy/client.js:312 -#: htdocs/luci-static/resources/view/homeproxy/server.js:796 +#: htdocs/luci-static/resources/view/homeproxy/server.js:798 msgid "UDP NAT expiration time" msgstr "UDP NAT 过期时间" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1124 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1125 msgid "UDP over TCP" msgstr "UDP over TCP" @@ -2408,11 +2414,11 @@ msgstr "未知错误。" msgid "Unknown error: %s" msgstr "未知错误:%s" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1087 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1088 msgid "Unsupported fingerprint!" msgstr "不支持的指纹!" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1365 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1366 msgid "Update %s subscriptions" msgstr "更新 %s 个订阅" @@ -2420,27 +2426,27 @@ msgstr "更新 %s 个订阅" msgid "Update failed." msgstr "更新失败。" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1107 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1106 msgid "Update interval" msgstr "更新间隔" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1108 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1107 msgid "Update interval of rule set.
1d will be used if empty." msgstr "规则集更新间隔。
留空使用 1d。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1360 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1361 msgid "Update nodes from subscriptions" msgstr "从订阅更新节点" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1301 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1302 msgid "Update subscriptions via proxy." msgstr "使用代理更新订阅。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1294 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1295 msgid "Update time" msgstr "更新时间" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1300 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1301 msgid "Update via proxy" msgstr "使用代理更新" @@ -2454,18 +2460,18 @@ msgstr "上传带宽" msgid "Upload bandwidth in Mbps." msgstr "上传带宽(单位:Mbps)。" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1027 -#: htdocs/luci-static/resources/view/homeproxy/server.js:751 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1028 +#: htdocs/luci-static/resources/view/homeproxy/server.js:752 msgid "Upload certificate" msgstr "上传证书" -#: htdocs/luci-static/resources/view/homeproxy/server.js:769 +#: htdocs/luci-static/resources/view/homeproxy/server.js:771 msgid "Upload key" msgstr "上传密钥" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1030 -#: htdocs/luci-static/resources/view/homeproxy/server.js:754 -#: htdocs/luci-static/resources/view/homeproxy/server.js:772 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1031 +#: htdocs/luci-static/resources/view/homeproxy/server.js:755 +#: htdocs/luci-static/resources/view/homeproxy/server.js:774 msgid "Upload..." msgstr "上传..." @@ -2485,7 +2491,7 @@ msgstr "用于验证返回证书上的主机名。如允许不安全连接,此 msgid "User" msgstr "用户" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1335 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1336 msgid "User-Agent" msgstr "用户代理" @@ -2509,7 +2515,7 @@ msgstr "VMess" msgid "WAN DNS (read from interface)" msgstr "WAN DNS(从接口获取)" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1178 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1177 msgid "WAN IP Policy" msgstr "WAN IP 策略" @@ -2518,7 +2524,7 @@ msgstr "WAN IP 策略" msgid "WebSocket" msgstr "WebSocket" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1326 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1327 msgid "Whitelist mode" msgstr "白名单模式" @@ -2543,7 +2549,7 @@ msgid "Write proxy protocol in the connection header." msgstr "在连接头中写入代理协议。" #: htdocs/luci-static/resources/view/homeproxy/node.js:828 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1349 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1350 msgid "Xudp (Xray-core)" msgstr "Xudp (Xray-core)" @@ -2559,8 +2565,8 @@ msgstr "您的 %s 已成功上传。大小:%sB。" msgid "ZeroSSL" msgstr "ZeroSSL" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1032 -#: htdocs/luci-static/resources/view/homeproxy/server.js:756 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1033 +#: htdocs/luci-static/resources/view/homeproxy/server.js:757 msgid "certificate" msgstr "证书" @@ -2593,24 +2599,24 @@ msgstr "gRPC 服务名称" msgid "gVisor" msgstr "gVisor" -#: htdocs/luci-static/resources/homeproxy.js:273 -#: htdocs/luci-static/resources/homeproxy.js:291 +#: htdocs/luci-static/resources/homeproxy.js:281 +#: htdocs/luci-static/resources/homeproxy.js:299 #: htdocs/luci-static/resources/view/homeproxy/client.js:176 #: htdocs/luci-static/resources/view/homeproxy/client.js:1071 #: htdocs/luci-static/resources/view/homeproxy/node.js:452 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1083 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1084 #: htdocs/luci-static/resources/view/homeproxy/server.js:213 msgid "non-empty value" msgstr "非空值" #: htdocs/luci-static/resources/view/homeproxy/node.js:567 #: htdocs/luci-static/resources/view/homeproxy/node.js:826 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1347 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1348 msgid "none" msgstr "无" #: htdocs/luci-static/resources/view/homeproxy/node.js:827 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1348 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1349 msgid "packet addr (v2ray-core v5+)" msgstr "packet addr (v2ray-core v5+)" @@ -2618,7 +2624,7 @@ msgstr "packet addr (v2ray-core v5+)" msgid "passed" msgstr "通过" -#: htdocs/luci-static/resources/view/homeproxy/server.js:774 +#: htdocs/luci-static/resources/view/homeproxy/server.js:776 msgid "private key" msgstr "私钥" @@ -2634,11 +2640,11 @@ msgstr "sing-box 客户端" msgid "sing-box server" msgstr "sing-box 服务端" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1058 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1059 msgid "uTLS fingerprint" msgstr "uTLS 指纹" -#: htdocs/luci-static/resources/view/homeproxy/node.js:1059 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1060 msgid "" "uTLS is a fork of \"crypto/tls\", which provides ClientHello fingerprinting " "resistance." @@ -2650,23 +2656,23 @@ msgid "unchecked" msgstr "未检查" #: htdocs/luci-static/resources/homeproxy.js:231 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1256 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1257 msgid "unique UCI identifier" msgstr "独立 UCI 标识" -#: htdocs/luci-static/resources/homeproxy.js:282 +#: htdocs/luci-static/resources/homeproxy.js:290 msgid "unique value" msgstr "独立值" #: htdocs/luci-static/resources/view/homeproxy/node.js:474 #: htdocs/luci-static/resources/view/homeproxy/node.js:581 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1132 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1133 msgid "v1" msgstr "v1" #: htdocs/luci-static/resources/view/homeproxy/node.js:475 #: htdocs/luci-static/resources/view/homeproxy/node.js:582 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1133 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1134 msgid "v2" msgstr "v2" @@ -2680,8 +2686,8 @@ msgstr "有效 IP 地址" #: htdocs/luci-static/resources/view/homeproxy/client.js:1076 #: htdocs/luci-static/resources/view/homeproxy/client.js:1079 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1312 -#: htdocs/luci-static/resources/view/homeproxy/node.js:1315 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1313 +#: htdocs/luci-static/resources/view/homeproxy/node.js:1316 msgid "valid URL" msgstr "有效网址" @@ -2693,8 +2699,8 @@ msgstr "有效 地址#端口" msgid "valid base64 key with %d characters" msgstr "包含 %d 个字符的有效 base64 密钥" -#: htdocs/luci-static/resources/view/homeproxy/client.js:1218 -#: htdocs/luci-static/resources/view/homeproxy/client.js:1247 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1217 +#: htdocs/luci-static/resources/view/homeproxy/client.js:1246 msgid "valid hostname" msgstr "有效主机名" @@ -2706,6 +2712,6 @@ msgstr "有效端口范围(port1:port2)" msgid "valid port value" msgstr "有效端口值" -#: htdocs/luci-static/resources/homeproxy.js:293 +#: htdocs/luci-static/resources/homeproxy.js:301 msgid "valid uuid" msgstr "有效 uuid" diff --git a/luci-app-homeproxy/root/etc/init.d/homeproxy b/luci-app-homeproxy/root/etc/init.d/homeproxy index c0350304c..d25a12e28 100755 --- a/luci-app-homeproxy/root/etc/init.d/homeproxy +++ b/luci-app-homeproxy/root/etc/init.d/homeproxy @@ -254,7 +254,9 @@ start_service() { procd_add_jail "sing-box-s" log procfs procd_add_jail_mount "$RUN_DIR/sing-box-s.json" procd_add_jail_mount_rw "$RUN_DIR/sing-box-s.log" - procd_add_jail_mount "$HP_DIR/certs/" + procd_add_jail_mount_rw "$HP_DIR/certs/" + procd_add_jail_mount "/etc/acme/" + procd_add_jail_mount "/etc/ssl/" procd_add_jail_mount "/etc/localtime" procd_add_jail_mount "/etc/TZ" procd_set_param capabilities "/etc/capabilities/homeproxy.json" @@ -293,6 +295,8 @@ start_service() { echo > "$RUN_DIR/sing-box-s.log" chown sing-box:sing-box "$RUN_DIR/sing-box-s.log" chown sing-box:sing-box "$RUN_DIR/sing-box-s.json" + mkdir -p "$HP_DIR/certs" + chown sing-box:sing-box "$HP_DIR/certs" fi # Setup firewall