luci-app-homeproxy: sync upstream

last commit: c55edcdf37
This commit is contained in:
gitea-action 2024-12-05 00:00:20 +08:00
parent e0acecc18f
commit a23390e19e
8 changed files with 335 additions and 308 deletions

View File

@ -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)

View File

@ -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;

View File

@ -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];

View File

@ -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;

View File

@ -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'],

View File

@ -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 "<strong>Save your configuration before uploading files!</strong>"
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. <a target=\"_blank\" "
"href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/"
"Regular_Expressions\">Regex</a> 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. <code>300</code> 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 <strong>DANGEROUS</strong>, your traffic is almost like "
"<strong>PLAIN TEXT</strong>! 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.<br/><code>1d</code> 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 ""

View File

@ -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 "<strong>Save your configuration before uploading files!</strong>"
msgstr "<strong>上传文件前请先保存配置!</strong>"
@ -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 公共 DNS210.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. <a target=\"_blank\" "
"href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/"
@ -599,7 +604,7 @@ msgstr ""
"developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions\">"
"正则表达式</a>。"
#: 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 ""
"<br/>外部帐户绑定“用于将 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 ""
"ECHEncrypted 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. <code>300</code> is used by default."
msgstr "单位:秒。默认使用 <code>300</code>。"
@ -1045,7 +1051,7 @@ msgstr "单位:秒。默认使用 <code>300</code>。"
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 "混合<code>系统</code> TCP 栈和 <code>gVisor</code> 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 "多路径 TCPMPTCP"
@ -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 <strong>DANGEROUS</strong>, your traffic is almost like "
"<strong>PLAIN TEXT</strong>! 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.<br/><code>1d</code> will be used if empty."
msgstr "规则集更新间隔。<br/>留空使用 <code>1d</code>。"
#: 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"

View File

@ -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