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