🎈 Sync 2026-04-02 20:31:34

This commit is contained in:
github-actions[bot] committed 2026-04-02 20:31:34 +08:00
1 parent 020b4e1dc3
commit a794220143
32 files changed
+1032 -531

No files matched your search

+2 -2
View File
@@ -6,11 +6,11 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=cloudreve PKG_NAME:=cloudreve
PKG_VERSION:=4.15.0 PKG_VERSION:=4.15.0
PKG_RELEASE:=2 PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/cloudreve/Cloudreve.git PKG_SOURCE_URL:=https://github.com/cloudreve/Cloudreve.git
PKG_SOURCE_VERSION:=006680c5df8b529ab52656133fc220ad73ab57ff PKG_SOURCE_VERSION:=58b83ea1e4727f9665a06b46c7f17cb4b4c174a5
PKG_MIRROR_HASH:=skip PKG_MIRROR_HASH:=skip
PKG_LICENSE:=GPL-3.0-only PKG_LICENSE:=GPL-3.0-only
+5 -5
View File
@@ -1,16 +1,16 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=hickory-dns PKG_NAME:=hickory-dns
PKG_VERSION:=2026.04.01~b57b7ae PKG_VERSION:=2026.04.02~54a81de
PKG_RELEASE:=8 PKG_RELEASE:=9
HICKORY_COMMIT:=b57b7aec2c6c18d64b90f01c97595171963e0e56 HICKORY_COMMIT:=54a81deefb24bb97df466b9032d5928345fffdde
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/hickory-dns/hickory-dns/tar.gz/b57b7aec2c6c18d64b90f01c97595171963e0e56? PKG_SOURCE_URL:=https://codeload.github.com/hickory-dns/hickory-dns/tar.gz/54a81deefb24bb97df466b9032d5928345fffdde?
PKG_HASH:=skip PKG_HASH:=skip
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-b57b7aec2c6c18d64b90f01c97595171963e0e56 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-54a81deefb24bb97df466b9032d5928345fffdde
PKG_BUILD_DEPENDS:=rust/host PKG_BUILD_DEPENDS:=rust/host
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
@@ -1130,18 +1130,26 @@ return view.extend({
so.value('h2', _('HTTPUpgrade')); so.value('h2', _('HTTPUpgrade'));
so.value('grpc', _('gRPC')); so.value('grpc', _('gRPC'));
so.value('ws', _('WebSocket')); so.value('ws', _('WebSocket'));
so.value('xhttp', _('XHTTP'));
so.validate = function(section_id, value) { so.validate = function(section_id, value) {
const type = this.section.getOption('type').formvalue(section_id); const type = this.section.getOption('type').formvalue(section_id);
switch (type) { switch (type) {
case 'vmess': case 'vmess':
case 'vless':
if (!['http', 'h2', 'grpc', 'ws'].includes(value)) if (!['http', 'h2', 'grpc', 'ws'].includes(value))
return _('Expecting: only support %s.').format(_('HTTP') + return _('Expecting: only support %s.').format(_('HTTP') +
' / ' + _('HTTPUpgrade') + ' / ' + _('HTTPUpgrade') +
' / ' + _('gRPC') + ' / ' + _('gRPC') +
' / ' + _('WebSocket')); ' / ' + _('WebSocket'));
break; break;
case 'vless':
if (!['http', 'h2', 'grpc', 'ws', 'xhttp'].includes(value))
return _('Expecting: only support %s.').format(_('HTTP') +
' / ' + _('HTTPUpgrade') +
' / ' + _('gRPC') +
' / ' + _('WebSocket') +
' / ' + _('XHTTP'));
break;
case 'trojan': case 'trojan':
if (!['grpc', 'ws'].includes(value)) if (!['grpc', 'ws'].includes(value))
return _('Expecting: only support %s.').format(_('gRPC') + return _('Expecting: only support %s.').format(_('gRPC') +
@@ -1162,6 +1170,12 @@ return view.extend({
so.depends({transport_enabled: '1', transport_type: 'h2'}); so.depends({transport_enabled: '1', transport_type: 'h2'});
so.modalonly = true; so.modalonly = true;
so = ss.taboption('field_transport', form.DynamicList, 'transport_host', _('Server hostname'));
so.datatype = 'hostname';
so.placeholder = 'example.com';
so.depends({transport_enabled: '1', transport_type: 'xhttp'});
so.modalonly = true;
so = ss.taboption('field_transport', form.Value, 'transport_http_method', _('HTTP request method')); so = ss.taboption('field_transport', form.Value, 'transport_http_method', _('HTTP request method'));
so.value('GET', _('GET')); so.value('GET', _('GET'));
so.value('POST', _('POST')); so.value('POST', _('POST'));
@@ -1182,13 +1196,13 @@ return view.extend({
so.placeholder = '/'; so.placeholder = '/';
so.default = '/'; so.default = '/';
so.rmempty = false; so.rmempty = false;
so.depends({transport_enabled: '1', transport_type: /^(h2|ws)$/}); so.depends({transport_enabled: '1', transport_type: /^(h2|ws|xhttp)$/});
so.modalonly = true; so.modalonly = true;
so = ss.taboption('field_transport', hm.TextValue, 'transport_http_headers', _('HTTP header')); so = ss.taboption('field_transport', hm.TextValue, 'transport_http_headers', _('HTTP header'));
so.placeholder = '{\n "Host": "example.com",\n "Connection": [\n "keep-alive"\n ]\n}'; so.placeholder = '{\n "Host": "example.com",\n "Connection": [\n "keep-alive"\n ],\n "X-Forwarded-For": "" // XHTTP\n}';
so.validate = hm.validateJson; so.validate = hm.validateJson;
so.depends({transport_enabled: '1', transport_type: /^(http|ws)$/}); so.depends({transport_enabled: '1', transport_type: /^(http|ws|xhttp)$/});
so.modalonly = true; so.modalonly = true;
so = ss.taboption('field_transport', form.Value, 'transport_grpc_servicename', _('gRPC service name')); so = ss.taboption('field_transport', form.Value, 'transport_grpc_servicename', _('gRPC service name'));
@@ -1229,6 +1243,23 @@ return view.extend({
so.depends({transport_enabled: '1', transport_type: 'ws', transport_ws_v2ray_http_upgrade: '1'}); so.depends({transport_enabled: '1', transport_type: 'ws', transport_ws_v2ray_http_upgrade: '1'});
so.modalonly = true; so.modalonly = true;
so = ss.taboption('field_transport', form.ListValue, 'transport_xhttp_mode', _('XHTTP mode'));
so.value('stream-one', _('stream-one'));
so.value('stream-up', _('stream-up'));
so.value('packet-up', _('packet-up'));
so.depends({transport_enabled: '1', transport_type: 'xhttp'});
so.modalonly = true;
so = ss.taboption('field_transport', form.Flag, 'transport_xhttp_no_grpc_header', _('No gRPC header'));
so.default = so.disabled;
so.depends({transport_enabled: '1', transport_type: 'xhttp'});
so.modalonly = true;
so = ss.taboption('field_transport', form.Value, 'transport_xhttp_x_padding_bytes', _('Padding bytes'));
so.placeholder = '100-1000';
so.depends({transport_enabled: '1', transport_type: 'xhttp'});
so.modalonly = true;
/* Multiplex fields */ // TCP protocol only /* Multiplex fields */ // TCP protocol only
so = ss.taboption('field_general', form.Flag, 'smux_enabled', _('Multiplex')); so = ss.taboption('field_general', form.Flag, 'smux_enabled', _('Multiplex'));
so.default = so.disabled; so.default = so.disabled;
+182 -149
View File
@@ -39,10 +39,10 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1056 #: htdocs/luci-static/resources/view/fchomo/client.js:1056
#: htdocs/luci-static/resources/view/fchomo/client.js:1057 #: htdocs/luci-static/resources/view/fchomo/client.js:1057
#: htdocs/luci-static/resources/view/fchomo/client.js:1278 #: htdocs/luci-static/resources/view/fchomo/client.js:1278
#: htdocs/luci-static/resources/view/fchomo/node.js:1758 #: htdocs/luci-static/resources/view/fchomo/node.js:1788
#: htdocs/luci-static/resources/view/fchomo/node.js:1764 #: htdocs/luci-static/resources/view/fchomo/node.js:1794
#: htdocs/luci-static/resources/view/fchomo/node.js:1778 #: htdocs/luci-static/resources/view/fchomo/node.js:1808
#: htdocs/luci-static/resources/view/fchomo/node.js:1784 #: htdocs/luci-static/resources/view/fchomo/node.js:1814
msgid "-- Please choose --" msgid "-- Please choose --"
msgstr "" msgstr ""
@@ -173,11 +173,11 @@ msgstr ""
msgid "Add a inbound" msgid "Add a inbound"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1349 #: htdocs/luci-static/resources/view/fchomo/node.js:1379
msgid "Add a provider" msgid "Add a provider"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1734 #: htdocs/luci-static/resources/view/fchomo/node.js:1764
msgid "Add a proxy chain" msgid "Add a proxy chain"
msgstr "" msgstr ""
@@ -201,11 +201,11 @@ msgstr ""
msgid "Add a sub rule" msgid "Add a sub rule"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1559 #: htdocs/luci-static/resources/view/fchomo/node.js:1589
msgid "Add prefix" msgid "Add prefix"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1563 #: htdocs/luci-static/resources/view/fchomo/node.js:1593
msgid "Add suffix" msgid "Add suffix"
msgstr "" msgstr ""
@@ -332,13 +332,13 @@ msgid "Binary mrs"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:734 #: htdocs/luci-static/resources/view/fchomo/global.js:734
#: htdocs/luci-static/resources/view/fchomo/node.js:1319 #: htdocs/luci-static/resources/view/fchomo/node.js:1349
#: htdocs/luci-static/resources/view/fchomo/node.js:1632 #: htdocs/luci-static/resources/view/fchomo/node.js:1662
msgid "Bind interface" msgid "Bind interface"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1320 #: htdocs/luci-static/resources/view/fchomo/node.js:1350
#: htdocs/luci-static/resources/view/fchomo/node.js:1633 #: htdocs/luci-static/resources/view/fchomo/node.js:1663
msgid "Bind outbound interface.</br>" msgid "Bind outbound interface.</br>"
msgstr "" msgstr ""
@@ -508,7 +508,7 @@ msgstr ""
msgid "Complete" msgid "Complete"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1579 #: htdocs/luci-static/resources/view/fchomo/node.js:1609
msgid "Configuration Items" msgid "Configuration Items"
msgstr "" msgstr ""
@@ -526,14 +526,14 @@ msgid "Content copied to clipboard!"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:670 #: htdocs/luci-static/resources/view/fchomo/client.js:670
#: htdocs/luci-static/resources/view/fchomo/node.js:1489 #: htdocs/luci-static/resources/view/fchomo/node.js:1519
#: htdocs/luci-static/resources/view/fchomo/node.js:1515 #: htdocs/luci-static/resources/view/fchomo/node.js:1545
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:339 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:339
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:365 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:365
msgid "Content will not be verified, Please make sure you enter it correctly." msgid "Content will not be verified, Please make sure you enter it correctly."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1488 #: htdocs/luci-static/resources/view/fchomo/node.js:1518
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:338 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:338
msgid "Contents" msgid "Contents"
msgstr "" msgstr ""
@@ -558,7 +558,7 @@ msgstr ""
msgid "Custom Direct List" msgid "Custom Direct List"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1550 #: htdocs/luci-static/resources/view/fchomo/node.js:1580
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:400 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:400
msgid "Custom HTTP header." msgid "Custom HTTP header."
msgstr "" msgstr ""
@@ -626,11 +626,11 @@ msgstr ""
msgid "Destination addresses allowed to be forwarded via Wireguard." msgid "Destination addresses allowed to be forwarded via Wireguard."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1757 #: htdocs/luci-static/resources/view/fchomo/node.js:1787
msgid "Destination provider" msgid "Destination provider"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1763 #: htdocs/luci-static/resources/view/fchomo/node.js:1793
msgid "Destination proxy node" msgid "Destination proxy node"
msgstr "" msgstr ""
@@ -638,8 +638,8 @@ msgstr ""
msgid "Dial fields" msgid "Dial fields"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1770 #: htdocs/luci-static/resources/view/fchomo/node.js:1800
#: htdocs/luci-static/resources/view/fchomo/node.js:1790 #: htdocs/luci-static/resources/view/fchomo/node.js:1820
msgid "Different chain head/tail" msgid "Different chain head/tail"
msgstr "" msgstr ""
@@ -709,15 +709,15 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1577 #: htdocs/luci-static/resources/view/fchomo/client.js:1577
#: htdocs/luci-static/resources/view/fchomo/node.js:1038 #: htdocs/luci-static/resources/view/fchomo/node.js:1038
#: htdocs/luci-static/resources/view/fchomo/node.js:1619 #: htdocs/luci-static/resources/view/fchomo/node.js:1649
msgid "Donot verifying server certificate." msgid "Donot verifying server certificate."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1298 #: htdocs/luci-static/resources/view/fchomo/node.js:1328
msgid "Download bandwidth" msgid "Download bandwidth"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1299 #: htdocs/luci-static/resources/view/fchomo/node.js:1329
msgid "Download bandwidth in Mbps." msgid "Download bandwidth in Mbps."
msgstr "" msgstr ""
@@ -758,11 +758,11 @@ msgstr ""
msgid "ETag support" msgid "ETag support"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1211 #: htdocs/luci-static/resources/view/fchomo/node.js:1225
msgid "Early Data first packet length limit." msgid "Early Data first packet length limit."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1217 #: htdocs/luci-static/resources/view/fchomo/node.js:1231
msgid "Early Data header name" msgid "Early Data header name"
msgstr "" msgstr ""
@@ -778,7 +778,7 @@ msgstr ""
msgid "Edit ruleset" msgid "Edit ruleset"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1486 #: htdocs/luci-static/resources/view/fchomo/node.js:1516
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:336 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:336
msgid "Editer" msgid "Editer"
msgstr "" msgstr ""
@@ -798,9 +798,9 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:401 #: htdocs/luci-static/resources/view/fchomo/global.js:401
#: htdocs/luci-static/resources/view/fchomo/global.js:680 #: htdocs/luci-static/resources/view/fchomo/global.js:680
#: htdocs/luci-static/resources/view/fchomo/node.js:234 #: htdocs/luci-static/resources/view/fchomo/node.js:234
#: htdocs/luci-static/resources/view/fchomo/node.js:1459 #: htdocs/luci-static/resources/view/fchomo/node.js:1489
#: htdocs/luci-static/resources/view/fchomo/node.js:1655 #: htdocs/luci-static/resources/view/fchomo/node.js:1685
#: htdocs/luci-static/resources/view/fchomo/node.js:1744 #: htdocs/luci-static/resources/view/fchomo/node.js:1774
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:264 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:264
#: htdocs/luci-static/resources/view/fchomo/server.js:49 #: htdocs/luci-static/resources/view/fchomo/server.js:49
msgid "Enable" msgid "Enable"
@@ -827,15 +827,15 @@ msgstr ""
msgid "Enable ECH" msgid "Enable ECH"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1286 #: htdocs/luci-static/resources/view/fchomo/node.js:1316
msgid "Enable TCP Brutal" msgid "Enable TCP Brutal"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1287 #: htdocs/luci-static/resources/view/fchomo/node.js:1317
msgid "Enable TCP Brutal congestion control algorithm" msgid "Enable TCP Brutal congestion control algorithm"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1275 #: htdocs/luci-static/resources/view/fchomo/node.js:1305
msgid "Enable multiplexing only for TCP." msgid "Enable multiplexing only for TCP."
msgstr "" msgstr ""
@@ -844,16 +844,16 @@ msgstr ""
msgid "Enable obfuscate for downlink" msgid "Enable obfuscate for downlink"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1269 #: htdocs/luci-static/resources/view/fchomo/node.js:1299
msgid "Enable padding" msgid "Enable padding"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1280 #: htdocs/luci-static/resources/view/fchomo/node.js:1310
msgid "Enable statistic" msgid "Enable statistic"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:871 #: htdocs/luci-static/resources/view/fchomo/node.js:871
#: htdocs/luci-static/resources/view/fchomo/node.js:1601 #: htdocs/luci-static/resources/view/fchomo/node.js:1631
msgid "" msgid ""
"Enable the SUoT protocol, requires server support. Conflict with Multiplex." "Enable the SUoT protocol, requires server support. Conflict with Multiplex."
msgstr "" msgstr ""
@@ -892,7 +892,7 @@ msgid ""
"if empty." "if empty."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1713 #: htdocs/luci-static/resources/view/fchomo/node.js:1743
msgid "Exclude matched node types." msgid "Exclude matched node types."
msgstr "" msgstr ""
@@ -903,7 +903,7 @@ msgid ""
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1161 #: htdocs/luci-static/resources/view/fchomo/client.js:1161
#: htdocs/luci-static/resources/view/fchomo/node.js:1706 #: htdocs/luci-static/resources/view/fchomo/node.js:1736
msgid "Exclude nodes that meet keywords or regexps." msgid "Exclude nodes that meet keywords or regexps."
msgstr "" msgstr ""
@@ -912,12 +912,12 @@ msgid "Expand/Collapse result"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1121 #: htdocs/luci-static/resources/view/fchomo/client.js:1121
#: htdocs/luci-static/resources/view/fchomo/node.js:1691 #: htdocs/luci-static/resources/view/fchomo/node.js:1721
msgid "Expected HTTP code. <code>204</code> will be used if empty." msgid "Expected HTTP code. <code>204</code> will be used if empty."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1123 #: htdocs/luci-static/resources/view/fchomo/client.js:1123
#: htdocs/luci-static/resources/view/fchomo/node.js:1693 #: htdocs/luci-static/resources/view/fchomo/node.js:1723
msgid "Expected status" msgid "Expected status"
msgstr "" msgstr ""
@@ -960,8 +960,8 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:491 #: htdocs/luci-static/resources/view/fchomo/node.js:491
#: htdocs/luci-static/resources/view/fchomo/node.js:942 #: htdocs/luci-static/resources/view/fchomo/node.js:942
#: htdocs/luci-static/resources/view/fchomo/node.js:1030 #: htdocs/luci-static/resources/view/fchomo/node.js:1030
#: htdocs/luci-static/resources/view/fchomo/node.js:1770 #: htdocs/luci-static/resources/view/fchomo/node.js:1800
#: htdocs/luci-static/resources/view/fchomo/node.js:1790 #: htdocs/luci-static/resources/view/fchomo/node.js:1820
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:291 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:291
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:305 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:305
msgid "Expecting: %s" msgid "Expecting: %s"
@@ -971,6 +971,7 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:984 #: htdocs/luci-static/resources/fchomo/listeners.js:984
#: htdocs/luci-static/resources/view/fchomo/node.js:1140 #: htdocs/luci-static/resources/view/fchomo/node.js:1140
#: htdocs/luci-static/resources/view/fchomo/node.js:1147 #: htdocs/luci-static/resources/view/fchomo/node.js:1147
#: htdocs/luci-static/resources/view/fchomo/node.js:1155
msgid "Expecting: only support %s." msgid "Expecting: only support %s."
msgstr "" msgstr ""
@@ -1020,7 +1021,7 @@ msgid "Fallback filter"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1156 #: htdocs/luci-static/resources/view/fchomo/client.js:1156
#: htdocs/luci-static/resources/view/fchomo/node.js:1700 #: htdocs/luci-static/resources/view/fchomo/node.js:1730
msgid "Filter nodes that meet keywords or regexps." msgid "Filter nodes that meet keywords or regexps."
msgstr "" msgstr ""
@@ -1061,8 +1062,8 @@ msgid ""
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1122 #: htdocs/luci-static/resources/view/fchomo/client.js:1122
#: htdocs/luci-static/resources/view/fchomo/node.js:1569 #: htdocs/luci-static/resources/view/fchomo/node.js:1599
#: htdocs/luci-static/resources/view/fchomo/node.js:1692 #: htdocs/luci-static/resources/view/fchomo/node.js:1722
msgid "" msgid ""
"For format see <a target=\"_blank\" href=\"%s\" rel=\"noreferrer " "For format see <a target=\"_blank\" href=\"%s\" rel=\"noreferrer "
"noopener\">%s</a>." "noopener\">%s</a>."
@@ -1088,7 +1089,7 @@ msgstr ""
msgid "FullCombo Shark!" msgid "FullCombo Shark!"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1166 #: htdocs/luci-static/resources/view/fchomo/node.js:1180
msgid "GET" msgid "GET"
msgstr "" msgstr ""
@@ -1103,7 +1104,7 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:119 #: htdocs/luci-static/resources/fchomo/listeners.js:119
#: htdocs/luci-static/resources/view/fchomo/client.js:1009 #: htdocs/luci-static/resources/view/fchomo/client.js:1009
#: htdocs/luci-static/resources/view/fchomo/node.js:222 #: htdocs/luci-static/resources/view/fchomo/node.js:222
#: htdocs/luci-static/resources/view/fchomo/node.js:1449 #: htdocs/luci-static/resources/view/fchomo/node.js:1479
msgid "General fields" msgid "General fields"
msgstr "" msgstr ""
@@ -1189,12 +1190,13 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:816 #: htdocs/luci-static/resources/view/fchomo/node.js:816
#: htdocs/luci-static/resources/view/fchomo/node.js:1129 #: htdocs/luci-static/resources/view/fchomo/node.js:1129
#: htdocs/luci-static/resources/view/fchomo/node.js:1140 #: htdocs/luci-static/resources/view/fchomo/node.js:1140
#: htdocs/luci-static/resources/view/fchomo/node.js:1147
msgid "HTTP" msgid "HTTP"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:267 #: htdocs/luci-static/resources/view/fchomo/node.js:267
#: htdocs/luci-static/resources/view/fchomo/node.js:1188 #: htdocs/luci-static/resources/view/fchomo/node.js:1202
#: htdocs/luci-static/resources/view/fchomo/node.js:1549 #: htdocs/luci-static/resources/view/fchomo/node.js:1579
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:399 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:399
msgid "HTTP header" msgid "HTTP header"
msgstr "" msgstr ""
@@ -1220,7 +1222,7 @@ msgstr ""
msgid "HTTP mask: %s" msgid "HTTP mask: %s"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1165 #: htdocs/luci-static/resources/view/fchomo/node.js:1179
msgid "HTTP request method" msgid "HTTP request method"
msgstr "" msgstr ""
@@ -1242,6 +1244,7 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:978 #: htdocs/luci-static/resources/fchomo/listeners.js:978
#: htdocs/luci-static/resources/view/fchomo/node.js:1130 #: htdocs/luci-static/resources/view/fchomo/node.js:1130
#: htdocs/luci-static/resources/view/fchomo/node.js:1141 #: htdocs/luci-static/resources/view/fchomo/node.js:1141
#: htdocs/luci-static/resources/view/fchomo/node.js:1148
msgid "HTTPUpgrade" msgid "HTTPUpgrade"
msgstr "" msgstr ""
@@ -1266,27 +1269,27 @@ msgid "Health check"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1091 #: htdocs/luci-static/resources/view/fchomo/client.js:1091
#: htdocs/luci-static/resources/view/fchomo/node.js:1660 #: htdocs/luci-static/resources/view/fchomo/node.js:1690
msgid "Health check URL" msgid "Health check URL"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1120 #: htdocs/luci-static/resources/view/fchomo/client.js:1120
#: htdocs/luci-static/resources/view/fchomo/node.js:1690 #: htdocs/luci-static/resources/view/fchomo/node.js:1720
msgid "Health check expected status" msgid "Health check expected status"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1100 #: htdocs/luci-static/resources/view/fchomo/client.js:1100
#: htdocs/luci-static/resources/view/fchomo/node.js:1670 #: htdocs/luci-static/resources/view/fchomo/node.js:1700
msgid "Health check interval" msgid "Health check interval"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1107 #: htdocs/luci-static/resources/view/fchomo/client.js:1107
#: htdocs/luci-static/resources/view/fchomo/node.js:1677 #: htdocs/luci-static/resources/view/fchomo/node.js:1707
msgid "Health check timeout" msgid "Health check timeout"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1011 #: htdocs/luci-static/resources/view/fchomo/client.js:1011
#: htdocs/luci-static/resources/view/fchomo/node.js:1451 #: htdocs/luci-static/resources/view/fchomo/node.js:1481
msgid "Health fields" msgid "Health fields"
msgstr "" msgstr ""
@@ -1337,8 +1340,8 @@ msgstr ""
msgid "IP override" msgid "IP override"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1331 #: htdocs/luci-static/resources/view/fchomo/node.js:1361
#: htdocs/luci-static/resources/view/fchomo/node.js:1646 #: htdocs/luci-static/resources/view/fchomo/node.js:1676
msgid "IP version" msgid "IP version"
msgstr "" msgstr ""
@@ -1399,8 +1402,8 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1713 #: htdocs/luci-static/resources/view/fchomo/client.js:1713
#: htdocs/luci-static/resources/view/fchomo/client.js:1748 #: htdocs/luci-static/resources/view/fchomo/client.js:1748
#: htdocs/luci-static/resources/view/fchomo/client.js:1769 #: htdocs/luci-static/resources/view/fchomo/client.js:1769
#: htdocs/luci-static/resources/view/fchomo/node.js:1356 #: htdocs/luci-static/resources/view/fchomo/node.js:1386
#: htdocs/luci-static/resources/view/fchomo/node.js:1437 #: htdocs/luci-static/resources/view/fchomo/node.js:1467
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:153 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:153
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:241 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:241
msgid "Import mihomo config" msgid "Import mihomo config"
@@ -1416,12 +1419,12 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:181 #: htdocs/luci-static/resources/fchomo/listeners.js:181
#: htdocs/luci-static/resources/view/fchomo/node.js:286 #: htdocs/luci-static/resources/view/fchomo/node.js:286
#: htdocs/luci-static/resources/view/fchomo/node.js:292 #: htdocs/luci-static/resources/view/fchomo/node.js:292
#: htdocs/luci-static/resources/view/fchomo/node.js:1607 #: htdocs/luci-static/resources/view/fchomo/node.js:1637
#: htdocs/luci-static/resources/view/fchomo/node.js:1613 #: htdocs/luci-static/resources/view/fchomo/node.js:1643
msgid "In Mbps." msgid "In Mbps."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1527 #: htdocs/luci-static/resources/view/fchomo/node.js:1557
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:377 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:377
msgid "In bytes. <code>%s</code> will be used if empty." msgid "In bytes. <code>%s</code> will be used if empty."
msgstr "" msgstr ""
@@ -1433,7 +1436,7 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1108 #: htdocs/luci-static/resources/view/fchomo/client.js:1108
#: htdocs/luci-static/resources/view/fchomo/client.js:1137 #: htdocs/luci-static/resources/view/fchomo/client.js:1137
#: htdocs/luci-static/resources/view/fchomo/node.js:1678 #: htdocs/luci-static/resources/view/fchomo/node.js:1708
msgid "In millisecond. <code>%s</code> will be used if empty." msgid "In millisecond. <code>%s</code> will be used if empty."
msgstr "" msgstr ""
@@ -1442,7 +1445,7 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:428 #: htdocs/luci-static/resources/fchomo/listeners.js:428
#: htdocs/luci-static/resources/view/fchomo/node.js:604 #: htdocs/luci-static/resources/view/fchomo/node.js:604
#: htdocs/luci-static/resources/view/fchomo/node.js:611 #: htdocs/luci-static/resources/view/fchomo/node.js:611
#: htdocs/luci-static/resources/view/fchomo/node.js:1204 #: htdocs/luci-static/resources/view/fchomo/node.js:1218
msgid "In seconds." msgid "In seconds."
msgstr "" msgstr ""
@@ -1451,8 +1454,8 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:430 #: htdocs/luci-static/resources/view/fchomo/global.js:430
#: htdocs/luci-static/resources/view/fchomo/global.js:515 #: htdocs/luci-static/resources/view/fchomo/global.js:515
#: htdocs/luci-static/resources/view/fchomo/node.js:280 #: htdocs/luci-static/resources/view/fchomo/node.js:280
#: htdocs/luci-static/resources/view/fchomo/node.js:1533 #: htdocs/luci-static/resources/view/fchomo/node.js:1563
#: htdocs/luci-static/resources/view/fchomo/node.js:1671 #: htdocs/luci-static/resources/view/fchomo/node.js:1701
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:383 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:383
msgid "In seconds. <code>%s</code> will be used if empty." msgid "In seconds. <code>%s</code> will be used if empty."
msgstr "" msgstr ""
@@ -1498,7 +1501,7 @@ msgstr ""
msgid "Info" msgid "Info"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1466 #: htdocs/luci-static/resources/view/fchomo/node.js:1496
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:279 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:279
msgid "Inline" msgid "Inline"
msgstr "" msgstr ""
@@ -1535,14 +1538,14 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1719 #: htdocs/luci-static/resources/view/fchomo/client.js:1719
#: htdocs/luci-static/resources/view/fchomo/client.js:1775 #: htdocs/luci-static/resources/view/fchomo/client.js:1775
#: htdocs/luci-static/resources/view/fchomo/node.js:229 #: htdocs/luci-static/resources/view/fchomo/node.js:229
#: htdocs/luci-static/resources/view/fchomo/node.js:1454 #: htdocs/luci-static/resources/view/fchomo/node.js:1484
#: htdocs/luci-static/resources/view/fchomo/node.js:1739 #: htdocs/luci-static/resources/view/fchomo/node.js:1769
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:259 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:259
msgid "Label" msgid "Label"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1114 #: htdocs/luci-static/resources/view/fchomo/client.js:1114
#: htdocs/luci-static/resources/view/fchomo/node.js:1684 #: htdocs/luci-static/resources/view/fchomo/node.js:1714
msgid "Lazy" msgid "Lazy"
msgstr "" msgstr ""
@@ -1591,7 +1594,7 @@ msgstr ""
msgid "Load balance" msgid "Load balance"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1464 #: htdocs/luci-static/resources/view/fchomo/node.js:1494
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:277 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:277
msgid "Local" msgid "Local"
msgstr "" msgstr ""
@@ -1625,9 +1628,11 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:324 #: htdocs/luci-static/resources/fchomo/listeners.js:324
#: htdocs/luci-static/resources/fchomo/listeners.js:325 #: htdocs/luci-static/resources/fchomo/listeners.js:325
#: htdocs/luci-static/resources/fchomo/listeners.js:326 #: htdocs/luci-static/resources/fchomo/listeners.js:326
#: htdocs/luci-static/resources/fchomo/listeners.js:331
#: htdocs/luci-static/resources/view/fchomo/node.js:409 #: htdocs/luci-static/resources/view/fchomo/node.js:409
#: htdocs/luci-static/resources/view/fchomo/node.js:410 #: htdocs/luci-static/resources/view/fchomo/node.js:410
#: htdocs/luci-static/resources/view/fchomo/node.js:411 #: htdocs/luci-static/resources/view/fchomo/node.js:411
#: htdocs/luci-static/resources/view/fchomo/node.js:416
msgid "Low-entropy data stream" msgid "Low-entropy data stream"
msgstr "" msgstr ""
@@ -1677,7 +1682,7 @@ msgstr ""
msgid "Match rule set." msgid "Match rule set."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1210 #: htdocs/luci-static/resources/view/fchomo/node.js:1224
msgid "Max Early Data" msgid "Max Early Data"
msgstr "" msgstr ""
@@ -1704,12 +1709,12 @@ msgstr ""
msgid "Max upload speed" msgid "Max upload speed"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1247 #: htdocs/luci-static/resources/view/fchomo/node.js:1277
#: htdocs/luci-static/resources/view/fchomo/node.js:1263 #: htdocs/luci-static/resources/view/fchomo/node.js:1293
msgid "Maximum connections" msgid "Maximum connections"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1261 #: htdocs/luci-static/resources/view/fchomo/node.js:1291
msgid "" msgid ""
"Maximum multiplexed streams in a connection before opening a new connection." "Maximum multiplexed streams in a connection before opening a new connection."
"<br/>Conflict with <code>%s</code> and <code>%s</code>." "<br/>Conflict with <code>%s</code> and <code>%s</code>."
@@ -1727,7 +1732,7 @@ msgid ""
"rate." "rate."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1260 #: htdocs/luci-static/resources/view/fchomo/node.js:1290
msgid "Maximum streams" msgid "Maximum streams"
msgstr "" msgstr ""
@@ -1752,7 +1757,7 @@ msgstr ""
msgid "Min of idle sessions to keep" msgid "Min of idle sessions to keep"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1254 #: htdocs/luci-static/resources/view/fchomo/node.js:1284
msgid "" msgid ""
"Minimum multiplexed streams in a connection before opening a new connection." "Minimum multiplexed streams in a connection before opening a new connection."
msgstr "" msgstr ""
@@ -1762,8 +1767,8 @@ msgstr ""
msgid "Minimum padding rate" msgid "Minimum padding rate"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1253 #: htdocs/luci-static/resources/view/fchomo/node.js:1283
#: htdocs/luci-static/resources/view/fchomo/node.js:1263 #: htdocs/luci-static/resources/view/fchomo/node.js:1293
msgid "Minimum streams" msgid "Minimum streams"
msgstr "" msgstr ""
@@ -1780,7 +1785,7 @@ msgstr ""
msgid "Mixed port" msgid "Mixed port"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1233 #: htdocs/luci-static/resources/view/fchomo/node.js:1263
msgid "Multiplex" msgid "Multiplex"
msgstr "" msgstr ""
@@ -1802,7 +1807,7 @@ msgstr ""
msgid "Name of the Proxy group as outbound." msgid "Name of the Proxy group as outbound."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1539 #: htdocs/luci-static/resources/view/fchomo/node.js:1569
msgid "Name of the Proxy group to download provider." msgid "Name of the Proxy group to download provider."
msgstr "" msgstr ""
@@ -1834,8 +1839,12 @@ msgstr ""
msgid "No add'l params" msgid "No add'l params"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1252
msgid "No gRPC header"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1115 #: htdocs/luci-static/resources/view/fchomo/client.js:1115
#: htdocs/luci-static/resources/view/fchomo/node.js:1685 #: htdocs/luci-static/resources/view/fchomo/node.js:1715
msgid "No testing is performed when this provider node is not in use." msgid "No testing is performed when this provider node is not in use."
msgstr "" msgstr ""
@@ -1854,17 +1863,17 @@ msgid "Node"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1160 #: htdocs/luci-static/resources/view/fchomo/client.js:1160
#: htdocs/luci-static/resources/view/fchomo/node.js:1705 #: htdocs/luci-static/resources/view/fchomo/node.js:1735
msgid "Node exclude filter" msgid "Node exclude filter"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1165 #: htdocs/luci-static/resources/view/fchomo/client.js:1165
#: htdocs/luci-static/resources/view/fchomo/node.js:1712 #: htdocs/luci-static/resources/view/fchomo/node.js:1742
msgid "Node exclude type" msgid "Node exclude type"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1155 #: htdocs/luci-static/resources/view/fchomo/client.js:1155
#: htdocs/luci-static/resources/view/fchomo/node.js:1699 #: htdocs/luci-static/resources/view/fchomo/node.js:1729
msgid "Node filter" msgid "Node filter"
msgstr "" msgstr ""
@@ -1942,7 +1951,7 @@ msgid "Override destination"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1010 #: htdocs/luci-static/resources/view/fchomo/client.js:1010
#: htdocs/luci-static/resources/view/fchomo/node.js:1450 #: htdocs/luci-static/resources/view/fchomo/node.js:1480
msgid "Override fields" msgid "Override fields"
msgstr "" msgstr ""
@@ -1970,11 +1979,11 @@ msgstr ""
msgid "Overview" msgid "Overview"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1167 #: htdocs/luci-static/resources/view/fchomo/node.js:1181
msgid "POST" msgid "POST"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1168 #: htdocs/luci-static/resources/view/fchomo/node.js:1182
msgid "PUT" msgid "PUT"
msgstr "" msgstr ""
@@ -1982,6 +1991,10 @@ msgstr ""
msgid "Packet encoding" msgid "Packet encoding"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1257
msgid "Padding bytes"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:458 #: htdocs/luci-static/resources/fchomo/listeners.js:458
msgid "Padding scheme" msgid "Padding scheme"
msgstr "" msgstr ""
@@ -2001,7 +2014,7 @@ msgid "Password"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:587 #: htdocs/luci-static/resources/fchomo/listeners.js:587
#: htdocs/luci-static/resources/view/fchomo/node.js:1514 #: htdocs/luci-static/resources/view/fchomo/node.js:1544
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:364 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:364
msgid "Payload" msgid "Payload"
msgstr "" msgstr ""
@@ -2041,8 +2054,8 @@ msgid ""
"standards." "standards."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1487 #: htdocs/luci-static/resources/view/fchomo/node.js:1517
#: htdocs/luci-static/resources/view/fchomo/node.js:1513 #: htdocs/luci-static/resources/view/fchomo/node.js:1543
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:337 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:337
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:363 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:363
msgid "" msgid ""
@@ -2056,7 +2069,7 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1445 #: htdocs/luci-static/resources/view/fchomo/client.js:1445
#: htdocs/luci-static/resources/view/fchomo/client.js:1697 #: htdocs/luci-static/resources/view/fchomo/client.js:1697
#: htdocs/luci-static/resources/view/fchomo/client.js:1749 #: htdocs/luci-static/resources/view/fchomo/client.js:1749
#: htdocs/luci-static/resources/view/fchomo/node.js:1357 #: htdocs/luci-static/resources/view/fchomo/node.js:1387
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:154 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:154
msgid "Please type <code>%s</code> fields of mihomo config.</br>" msgid "Please type <code>%s</code> fields of mihomo config.</br>"
msgstr "" msgstr ""
@@ -2123,10 +2136,10 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:736 #: htdocs/luci-static/resources/view/fchomo/global.js:736
#: htdocs/luci-static/resources/view/fchomo/global.js:753 #: htdocs/luci-static/resources/view/fchomo/global.js:753
#: htdocs/luci-static/resources/view/fchomo/node.js:1321 #: htdocs/luci-static/resources/view/fchomo/node.js:1351
#: htdocs/luci-static/resources/view/fchomo/node.js:1327 #: htdocs/luci-static/resources/view/fchomo/node.js:1357
#: htdocs/luci-static/resources/view/fchomo/node.js:1634 #: htdocs/luci-static/resources/view/fchomo/node.js:1664
#: htdocs/luci-static/resources/view/fchomo/node.js:1641 #: htdocs/luci-static/resources/view/fchomo/node.js:1671
msgid "Priority: Proxy Node > Global." msgid "Priority: Proxy Node > Global."
msgstr "" msgstr ""
@@ -2148,7 +2161,7 @@ msgid "Process matching mode"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:684 #: htdocs/luci-static/resources/view/fchomo/global.js:684
#: htdocs/luci-static/resources/view/fchomo/node.js:1239 #: htdocs/luci-static/resources/view/fchomo/node.js:1269
msgid "Protocol" msgid "Protocol"
msgstr "" msgstr ""
@@ -2163,13 +2176,13 @@ msgid ""
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1055 #: htdocs/luci-static/resources/view/fchomo/client.js:1055
#: htdocs/luci-static/resources/view/fchomo/node.js:1340 #: htdocs/luci-static/resources/view/fchomo/node.js:1370
#: htdocs/luci-static/resources/view/fchomo/node.js:1349 #: htdocs/luci-static/resources/view/fchomo/node.js:1379
#: htdocs/luci-static/resources/view/fchomo/node.js:1750 #: htdocs/luci-static/resources/view/fchomo/node.js:1780
msgid "Provider" msgid "Provider"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1520 #: htdocs/luci-static/resources/view/fchomo/node.js:1550
msgid "Provider URL" msgid "Provider URL"
msgstr "" msgstr ""
@@ -2192,19 +2205,19 @@ msgid "Proxy MAC-s"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:208 #: htdocs/luci-static/resources/view/fchomo/node.js:208
#: htdocs/luci-static/resources/view/fchomo/node.js:1749 #: htdocs/luci-static/resources/view/fchomo/node.js:1779
msgid "Proxy Node" msgid "Proxy Node"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1725 #: htdocs/luci-static/resources/view/fchomo/node.js:1755
#: htdocs/luci-static/resources/view/fchomo/node.js:1734 #: htdocs/luci-static/resources/view/fchomo/node.js:1764
msgid "Proxy chain" msgid "Proxy chain"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:530 #: htdocs/luci-static/resources/fchomo/listeners.js:530
#: htdocs/luci-static/resources/view/fchomo/client.js:783 #: htdocs/luci-static/resources/view/fchomo/client.js:783
#: htdocs/luci-static/resources/view/fchomo/client.js:1543 #: htdocs/luci-static/resources/view/fchomo/client.js:1543
#: htdocs/luci-static/resources/view/fchomo/node.js:1538 #: htdocs/luci-static/resources/view/fchomo/node.js:1568
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:388 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:388
msgid "Proxy group" msgid "Proxy group"
msgstr "" msgstr ""
@@ -2311,7 +2324,7 @@ msgstr ""
msgid "Reload All" msgid "Reload All"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1465 #: htdocs/luci-static/resources/view/fchomo/node.js:1495
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:278 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:278
msgid "Remote" msgid "Remote"
msgstr "" msgstr ""
@@ -2326,18 +2339,18 @@ msgid "Remove"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/fchomo.js:1354 #: htdocs/luci-static/resources/fchomo.js:1354
#: htdocs/luci-static/resources/view/fchomo/node.js:1441 #: htdocs/luci-static/resources/view/fchomo/node.js:1471
#: htdocs/luci-static/resources/view/fchomo/node.js:1443 #: htdocs/luci-static/resources/view/fchomo/node.js:1473
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:251 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:251
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:253 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:253
msgid "Remove idles" msgid "Remove idles"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1567 #: htdocs/luci-static/resources/view/fchomo/node.js:1597
msgid "Replace name" msgid "Replace name"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1568 #: htdocs/luci-static/resources/view/fchomo/node.js:1598
msgid "Replace node name." msgid "Replace node name."
msgstr "" msgstr ""
@@ -2346,8 +2359,8 @@ msgid "Request"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:996 #: htdocs/luci-static/resources/fchomo/listeners.js:996
#: htdocs/luci-static/resources/view/fchomo/node.js:1174 #: htdocs/luci-static/resources/view/fchomo/node.js:1188
#: htdocs/luci-static/resources/view/fchomo/node.js:1181 #: htdocs/luci-static/resources/view/fchomo/node.js:1195
msgid "Request path" msgid "Request path"
msgstr "" msgstr ""
@@ -2412,8 +2425,8 @@ msgstr ""
msgid "Routing GFW" msgid "Routing GFW"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1326 #: htdocs/luci-static/resources/view/fchomo/node.js:1356
#: htdocs/luci-static/resources/view/fchomo/node.js:1640 #: htdocs/luci-static/resources/view/fchomo/node.js:1670
msgid "Routing mark" msgid "Routing mark"
msgstr "" msgstr ""
@@ -2551,7 +2564,8 @@ msgstr ""
msgid "Server address" msgid "Server address"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1159 #: htdocs/luci-static/resources/view/fchomo/node.js:1167
#: htdocs/luci-static/resources/view/fchomo/node.js:1173
msgid "Server hostname" msgid "Server hostname"
msgstr "" msgstr ""
@@ -2583,7 +2597,7 @@ msgstr ""
msgid "Shadowsocks password" msgid "Shadowsocks password"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1281 #: htdocs/luci-static/resources/view/fchomo/node.js:1311
msgid "Show connections in the dashboard for breaking connections easier." msgid "Show connections in the dashboard for breaking connections easier."
msgstr "" msgstr ""
@@ -2595,14 +2609,14 @@ msgstr ""
msgid "Simple round-robin all nodes" msgid "Simple round-robin all nodes"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1526 #: htdocs/luci-static/resources/view/fchomo/node.js:1556
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:376 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:376
msgid "Size limit" msgid "Size limit"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1576 #: htdocs/luci-static/resources/view/fchomo/client.js:1576
#: htdocs/luci-static/resources/view/fchomo/node.js:1037 #: htdocs/luci-static/resources/view/fchomo/node.js:1037
#: htdocs/luci-static/resources/view/fchomo/node.js:1618 #: htdocs/luci-static/resources/view/fchomo/node.js:1648
msgid "Skip cert verify" msgid "Skip cert verify"
msgstr "" msgstr ""
@@ -2728,7 +2742,7 @@ msgstr ""
msgid "TCP concurrency" msgid "TCP concurrency"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1274 #: htdocs/luci-static/resources/view/fchomo/node.js:1304
msgid "TCP only" msgid "TCP only"
msgstr "" msgstr ""
@@ -2754,8 +2768,8 @@ msgstr ""
msgid "TCP/UDP" msgid "TCP/UDP"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1305 #: htdocs/luci-static/resources/view/fchomo/node.js:1335
#: htdocs/luci-static/resources/view/fchomo/node.js:1585 #: htdocs/luci-static/resources/view/fchomo/node.js:1615
msgid "TFO" msgid "TFO"
msgstr "" msgstr ""
@@ -2867,7 +2881,7 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1579 #: htdocs/luci-static/resources/view/fchomo/client.js:1579
#: htdocs/luci-static/resources/view/fchomo/node.js:1040 #: htdocs/luci-static/resources/view/fchomo/node.js:1040
#: htdocs/luci-static/resources/view/fchomo/node.js:1621 #: htdocs/luci-static/resources/view/fchomo/node.js:1651
msgid "" msgid ""
"This is <strong>DANGEROUS</strong>, your traffic is almost like " "This is <strong>DANGEROUS</strong>, your traffic is almost like "
"<strong>PLAIN TEXT</strong>! Use at your own risk!" "<strong>PLAIN TEXT</strong>! Use at your own risk!"
@@ -2907,11 +2921,11 @@ msgstr ""
msgid "Traffic pattern" msgid "Traffic pattern"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1777 #: htdocs/luci-static/resources/view/fchomo/node.js:1807
msgid "Transit proxy group" msgid "Transit proxy group"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1783 #: htdocs/luci-static/resources/view/fchomo/node.js:1813
msgid "Transit proxy node" msgid "Transit proxy node"
msgstr "" msgstr ""
@@ -2973,8 +2987,8 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:842 #: htdocs/luci-static/resources/view/fchomo/client.js:842
#: htdocs/luci-static/resources/view/fchomo/client.js:1028 #: htdocs/luci-static/resources/view/fchomo/client.js:1028
#: htdocs/luci-static/resources/view/fchomo/node.js:238 #: htdocs/luci-static/resources/view/fchomo/node.js:238
#: htdocs/luci-static/resources/view/fchomo/node.js:1463 #: htdocs/luci-static/resources/view/fchomo/node.js:1493
#: htdocs/luci-static/resources/view/fchomo/node.js:1748 #: htdocs/luci-static/resources/view/fchomo/node.js:1778
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:276 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:276
msgid "Type" msgid "Type"
msgstr "" msgstr ""
@@ -2990,7 +3004,7 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:588 #: htdocs/luci-static/resources/view/fchomo/client.js:588
#: htdocs/luci-static/resources/view/fchomo/client.js:678 #: htdocs/luci-static/resources/view/fchomo/client.js:678
#: htdocs/luci-static/resources/view/fchomo/node.js:865 #: htdocs/luci-static/resources/view/fchomo/node.js:865
#: htdocs/luci-static/resources/view/fchomo/node.js:1595 #: htdocs/luci-static/resources/view/fchomo/node.js:1625
msgid "UDP" msgid "UDP"
msgstr "" msgstr ""
@@ -3059,7 +3073,7 @@ msgid "Unknown error: %s"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:870 #: htdocs/luci-static/resources/view/fchomo/node.js:870
#: htdocs/luci-static/resources/view/fchomo/node.js:1600 #: htdocs/luci-static/resources/view/fchomo/node.js:1630
msgid "UoT" msgid "UoT"
msgstr "" msgstr ""
@@ -3067,16 +3081,16 @@ msgstr ""
msgid "Update failed." msgid "Update failed."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1532 #: htdocs/luci-static/resources/view/fchomo/node.js:1562
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:382 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:382
msgid "Update interval" msgid "Update interval"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1292 #: htdocs/luci-static/resources/view/fchomo/node.js:1322
msgid "Upload bandwidth" msgid "Upload bandwidth"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1293 #: htdocs/luci-static/resources/view/fchomo/node.js:1323
msgid "Upload bandwidth in Mbps." msgid "Upload bandwidth in Mbps."
msgstr "" msgstr ""
@@ -3141,11 +3155,11 @@ msgstr ""
msgid "Users filter mode" msgid "Users filter mode"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1222 #: htdocs/luci-static/resources/view/fchomo/node.js:1236
msgid "V2ray HTTPUpgrade" msgid "V2ray HTTPUpgrade"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1227 #: htdocs/luci-static/resources/view/fchomo/node.js:1241
msgid "V2ray HTTPUpgrade fast open" msgid "V2ray HTTPUpgrade fast open"
msgstr "" msgstr ""
@@ -3159,8 +3173,8 @@ msgstr ""
msgid "VMess" msgid "VMess"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1469 #: htdocs/luci-static/resources/view/fchomo/node.js:1499
#: htdocs/luci-static/resources/view/fchomo/node.js:1754 #: htdocs/luci-static/resources/view/fchomo/node.js:1784
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:319 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:319
msgid "Value" msgid "Value"
msgstr "" msgstr ""
@@ -3200,7 +3214,8 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:489 #: htdocs/luci-static/resources/view/fchomo/node.js:489
#: htdocs/luci-static/resources/view/fchomo/node.js:1132 #: htdocs/luci-static/resources/view/fchomo/node.js:1132
#: htdocs/luci-static/resources/view/fchomo/node.js:1143 #: htdocs/luci-static/resources/view/fchomo/node.js:1143
#: htdocs/luci-static/resources/view/fchomo/node.js:1148 #: htdocs/luci-static/resources/view/fchomo/node.js:1150
#: htdocs/luci-static/resources/view/fchomo/node.js:1156
msgid "WebSocket" msgid "WebSocket"
msgstr "" msgstr ""
@@ -3228,6 +3243,15 @@ msgstr ""
msgid "WireGuard requires base64-encoded private keys." msgid "WireGuard requires base64-encoded private keys."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1133
#: htdocs/luci-static/resources/view/fchomo/node.js:1151
msgid "XHTTP"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1246
msgid "XHTTP mode"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:609 #: htdocs/luci-static/resources/fchomo/listeners.js:609
msgid "XOR mode" msgid "XOR mode"
msgstr "" msgstr ""
@@ -3301,7 +3325,7 @@ msgstr ""
msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)" msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1612 #: htdocs/luci-static/resources/view/fchomo/node.js:1642
msgid "down" msgid "down"
msgstr "" msgstr ""
@@ -3321,20 +3345,21 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:984 #: htdocs/luci-static/resources/fchomo/listeners.js:984
#: htdocs/luci-static/resources/view/fchomo/node.js:1131 #: htdocs/luci-static/resources/view/fchomo/node.js:1131
#: htdocs/luci-static/resources/view/fchomo/node.js:1142 #: htdocs/luci-static/resources/view/fchomo/node.js:1142
#: htdocs/luci-static/resources/view/fchomo/node.js:1147 #: htdocs/luci-static/resources/view/fchomo/node.js:1149
#: htdocs/luci-static/resources/view/fchomo/node.js:1155
msgid "gRPC" msgid "gRPC"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1198 #: htdocs/luci-static/resources/view/fchomo/node.js:1212
msgid "gRPC User-Agent" msgid "gRPC User-Agent"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1203 #: htdocs/luci-static/resources/view/fchomo/node.js:1217
msgid "gRPC ping interval" msgid "gRPC ping interval"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:1003 #: htdocs/luci-static/resources/fchomo/listeners.js:1003
#: htdocs/luci-static/resources/view/fchomo/node.js:1194 #: htdocs/luci-static/resources/view/fchomo/node.js:1208
msgid "gRPC service name" msgid "gRPC service name"
msgstr "" msgstr ""
@@ -3342,7 +3367,7 @@ msgstr ""
msgid "gVisor" msgid "gVisor"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1243 #: htdocs/luci-static/resources/view/fchomo/node.js:1273
msgid "h2mux" msgid "h2mux"
msgstr "" msgstr ""
@@ -3360,7 +3385,7 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1480 #: htdocs/luci-static/resources/view/fchomo/client.js:1480
#: htdocs/luci-static/resources/view/fchomo/client.js:1711 #: htdocs/luci-static/resources/view/fchomo/client.js:1711
#: htdocs/luci-static/resources/view/fchomo/client.js:1767 #: htdocs/luci-static/resources/view/fchomo/client.js:1767
#: htdocs/luci-static/resources/view/fchomo/node.js:1435 #: htdocs/luci-static/resources/view/fchomo/node.js:1465
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:239 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:239
msgid "mihomo config" msgid "mihomo config"
msgstr "" msgstr ""
@@ -3369,8 +3394,8 @@ msgstr ""
msgid "mlkem768x25519plus" msgid "mlkem768x25519plus"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1309 #: htdocs/luci-static/resources/view/fchomo/node.js:1339
#: htdocs/luci-static/resources/view/fchomo/node.js:1590 #: htdocs/luci-static/resources/view/fchomo/node.js:1620
msgid "mpTCP" msgid "mpTCP"
msgstr "" msgstr ""
@@ -3426,7 +3451,7 @@ msgstr ""
msgid "only applies when %s is not %s." msgid "only applies when %s is not %s."
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1570 #: htdocs/luci-static/resources/view/fchomo/node.js:1600
msgid "override.proxy-name" msgid "override.proxy-name"
msgstr "" msgstr ""
@@ -3434,6 +3459,10 @@ msgstr ""
msgid "packet addr (v2ray-core v5+)" msgid "packet addr (v2ray-core v5+)"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1248
msgid "packet-up"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:391 #: htdocs/luci-static/resources/fchomo/listeners.js:391
#: htdocs/luci-static/resources/view/fchomo/node.js:458 #: htdocs/luci-static/resources/view/fchomo/node.js:458
msgid "poll" msgid "poll"
@@ -3466,7 +3495,7 @@ msgstr ""
msgid "shadow-tls" msgid "shadow-tls"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1241 #: htdocs/luci-static/resources/view/fchomo/node.js:1271
msgid "smux" msgid "smux"
msgstr "" msgstr ""
@@ -3479,6 +3508,10 @@ msgstr ""
msgid "src" msgid "src"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1247
msgid "stream-one"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:491 #: htdocs/luci-static/resources/view/fchomo/node.js:491
msgid "stream/poll/auto" msgid "stream/poll/auto"
msgstr "" msgstr ""
@@ -3503,7 +3536,7 @@ msgstr ""
msgid "unique value" msgid "unique value"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1606 #: htdocs/luci-static/resources/view/fchomo/node.js:1636
msgid "up" msgid "up"
msgstr "" msgstr ""
@@ -3579,7 +3612,7 @@ msgstr ""
msgid "yacd-meta" msgid "yacd-meta"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1242 #: htdocs/luci-static/resources/view/fchomo/node.js:1272
msgid "yamux" msgid "yamux"
msgstr "" msgstr ""
+182 -149
View File
@@ -46,10 +46,10 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1056 #: htdocs/luci-static/resources/view/fchomo/client.js:1056
#: htdocs/luci-static/resources/view/fchomo/client.js:1057 #: htdocs/luci-static/resources/view/fchomo/client.js:1057
#: htdocs/luci-static/resources/view/fchomo/client.js:1278 #: htdocs/luci-static/resources/view/fchomo/client.js:1278
#: htdocs/luci-static/resources/view/fchomo/node.js:1758 #: htdocs/luci-static/resources/view/fchomo/node.js:1788
#: htdocs/luci-static/resources/view/fchomo/node.js:1764 #: htdocs/luci-static/resources/view/fchomo/node.js:1794
#: htdocs/luci-static/resources/view/fchomo/node.js:1778 #: htdocs/luci-static/resources/view/fchomo/node.js:1808
#: htdocs/luci-static/resources/view/fchomo/node.js:1784 #: htdocs/luci-static/resources/view/fchomo/node.js:1814
msgid "-- Please choose --" msgid "-- Please choose --"
msgstr "-- 请选择 --" msgstr "-- 请选择 --"
@@ -182,11 +182,11 @@ msgstr "新增 节点"
msgid "Add a inbound" msgid "Add a inbound"
msgstr "新增 入站" msgstr "新增 入站"
#: htdocs/luci-static/resources/view/fchomo/node.js:1349 #: htdocs/luci-static/resources/view/fchomo/node.js:1379
msgid "Add a provider" msgid "Add a provider"
msgstr "新增 供应商" msgstr "新增 供应商"
#: htdocs/luci-static/resources/view/fchomo/node.js:1734 #: htdocs/luci-static/resources/view/fchomo/node.js:1764
msgid "Add a proxy chain" msgid "Add a proxy chain"
msgstr "新增 代理链" msgstr "新增 代理链"
@@ -210,11 +210,11 @@ msgstr "新增 服务器"
msgid "Add a sub rule" msgid "Add a sub rule"
msgstr "新增 子规则" msgstr "新增 子规则"
#: htdocs/luci-static/resources/view/fchomo/node.js:1559 #: htdocs/luci-static/resources/view/fchomo/node.js:1589
msgid "Add prefix" msgid "Add prefix"
msgstr "添加前缀" msgstr "添加前缀"
#: htdocs/luci-static/resources/view/fchomo/node.js:1563 #: htdocs/luci-static/resources/view/fchomo/node.js:1593
msgid "Add suffix" msgid "Add suffix"
msgstr "添加后缀" msgstr "添加后缀"
@@ -343,13 +343,13 @@ msgid "Binary mrs"
msgstr "二进制 mrs" msgstr "二进制 mrs"
#: htdocs/luci-static/resources/view/fchomo/global.js:734 #: htdocs/luci-static/resources/view/fchomo/global.js:734
#: htdocs/luci-static/resources/view/fchomo/node.js:1319 #: htdocs/luci-static/resources/view/fchomo/node.js:1349
#: htdocs/luci-static/resources/view/fchomo/node.js:1632 #: htdocs/luci-static/resources/view/fchomo/node.js:1662
msgid "Bind interface" msgid "Bind interface"
msgstr "绑定接口" msgstr "绑定接口"
#: htdocs/luci-static/resources/view/fchomo/node.js:1320 #: htdocs/luci-static/resources/view/fchomo/node.js:1350
#: htdocs/luci-static/resources/view/fchomo/node.js:1633 #: htdocs/luci-static/resources/view/fchomo/node.js:1663
msgid "Bind outbound interface.</br>" msgid "Bind outbound interface.</br>"
msgstr "绑定出站接口。</br>" msgstr "绑定出站接口。</br>"
@@ -521,7 +521,7 @@ msgstr "常用端口(绕过 P2P 流量)"
msgid "Complete" msgid "Complete"
msgstr "完成" msgstr "完成"
#: htdocs/luci-static/resources/view/fchomo/node.js:1579 #: htdocs/luci-static/resources/view/fchomo/node.js:1609
msgid "Configuration Items" msgid "Configuration Items"
msgstr "配置项" msgstr "配置项"
@@ -539,14 +539,14 @@ msgid "Content copied to clipboard!"
msgstr "内容已复制到剪贴板!" msgstr "内容已复制到剪贴板!"
#: htdocs/luci-static/resources/view/fchomo/client.js:670 #: htdocs/luci-static/resources/view/fchomo/client.js:670
#: htdocs/luci-static/resources/view/fchomo/node.js:1489 #: htdocs/luci-static/resources/view/fchomo/node.js:1519
#: htdocs/luci-static/resources/view/fchomo/node.js:1515 #: htdocs/luci-static/resources/view/fchomo/node.js:1545
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:339 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:339
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:365 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:365
msgid "Content will not be verified, Please make sure you enter it correctly." msgid "Content will not be verified, Please make sure you enter it correctly."
msgstr "内容将不会被验证,请确保输入正确。" msgstr "内容将不会被验证,请确保输入正确。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1488 #: htdocs/luci-static/resources/view/fchomo/node.js:1518
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:338 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:338
msgid "Contents" msgid "Contents"
msgstr "内容" msgstr "内容"
@@ -571,7 +571,7 @@ msgstr "Cron 表达式"
msgid "Custom Direct List" msgid "Custom Direct List"
msgstr "自定义直连列表" msgstr "自定义直连列表"
#: htdocs/luci-static/resources/view/fchomo/node.js:1550 #: htdocs/luci-static/resources/view/fchomo/node.js:1580
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:400 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:400
msgid "Custom HTTP header." msgid "Custom HTTP header."
msgstr "自定义 HTTP header。" msgstr "自定义 HTTP header。"
@@ -639,11 +639,11 @@ msgstr "默认 DNS 服务器"
msgid "Destination addresses allowed to be forwarded via Wireguard." msgid "Destination addresses allowed to be forwarded via Wireguard."
msgstr "允许通过 WireGuard 转发的目的地址" msgstr "允许通过 WireGuard 转发的目的地址"
#: htdocs/luci-static/resources/view/fchomo/node.js:1757 #: htdocs/luci-static/resources/view/fchomo/node.js:1787
msgid "Destination provider" msgid "Destination provider"
msgstr "落地供应商" msgstr "落地供应商"
#: htdocs/luci-static/resources/view/fchomo/node.js:1763 #: htdocs/luci-static/resources/view/fchomo/node.js:1793
msgid "Destination proxy node" msgid "Destination proxy node"
msgstr "落地代理节点" msgstr "落地代理节点"
@@ -651,8 +651,8 @@ msgstr "落地代理节点"
msgid "Dial fields" msgid "Dial fields"
msgstr "拨号字段" msgstr "拨号字段"
#: htdocs/luci-static/resources/view/fchomo/node.js:1770 #: htdocs/luci-static/resources/view/fchomo/node.js:1800
#: htdocs/luci-static/resources/view/fchomo/node.js:1790 #: htdocs/luci-static/resources/view/fchomo/node.js:1820
msgid "Different chain head/tail" msgid "Different chain head/tail"
msgstr "不同的链头/链尾" msgstr "不同的链头/链尾"
@@ -724,15 +724,15 @@ msgstr "不要在 ClientHello 中发送服务器名称。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1577 #: htdocs/luci-static/resources/view/fchomo/client.js:1577
#: htdocs/luci-static/resources/view/fchomo/node.js:1038 #: htdocs/luci-static/resources/view/fchomo/node.js:1038
#: htdocs/luci-static/resources/view/fchomo/node.js:1619 #: htdocs/luci-static/resources/view/fchomo/node.js:1649
msgid "Donot verifying server certificate." msgid "Donot verifying server certificate."
msgstr "不验证服务器证书。" msgstr "不验证服务器证书。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1298 #: htdocs/luci-static/resources/view/fchomo/node.js:1328
msgid "Download bandwidth" msgid "Download bandwidth"
msgstr "下载带宽" msgstr "下载带宽"
#: htdocs/luci-static/resources/view/fchomo/node.js:1299 #: htdocs/luci-static/resources/view/fchomo/node.js:1329
msgid "Download bandwidth in Mbps." msgid "Download bandwidth in Mbps."
msgstr "下载带宽(单位:Mbps)。" msgstr "下载带宽(单位:Mbps)。"
@@ -773,11 +773,11 @@ msgstr ""
msgid "ETag support" msgid "ETag support"
msgstr "ETag 支持" msgstr "ETag 支持"
#: htdocs/luci-static/resources/view/fchomo/node.js:1211 #: htdocs/luci-static/resources/view/fchomo/node.js:1225
msgid "Early Data first packet length limit." msgid "Early Data first packet length limit."
msgstr "前置数据长度阈值" msgstr "前置数据长度阈值"
#: htdocs/luci-static/resources/view/fchomo/node.js:1217 #: htdocs/luci-static/resources/view/fchomo/node.js:1231
msgid "Early Data header name" msgid "Early Data header name"
msgstr "前置数据标头" msgstr "前置数据标头"
@@ -793,7 +793,7 @@ msgstr "编辑节点"
msgid "Edit ruleset" msgid "Edit ruleset"
msgstr "编辑规则集" msgstr "编辑规则集"
#: htdocs/luci-static/resources/view/fchomo/node.js:1486 #: htdocs/luci-static/resources/view/fchomo/node.js:1516
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:336 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:336
msgid "Editer" msgid "Editer"
msgstr "编辑器" msgstr "编辑器"
@@ -813,9 +813,9 @@ msgstr "消除加密头特征"
#: htdocs/luci-static/resources/view/fchomo/global.js:401 #: htdocs/luci-static/resources/view/fchomo/global.js:401
#: htdocs/luci-static/resources/view/fchomo/global.js:680 #: htdocs/luci-static/resources/view/fchomo/global.js:680
#: htdocs/luci-static/resources/view/fchomo/node.js:234 #: htdocs/luci-static/resources/view/fchomo/node.js:234
#: htdocs/luci-static/resources/view/fchomo/node.js:1459 #: htdocs/luci-static/resources/view/fchomo/node.js:1489
#: htdocs/luci-static/resources/view/fchomo/node.js:1655 #: htdocs/luci-static/resources/view/fchomo/node.js:1685
#: htdocs/luci-static/resources/view/fchomo/node.js:1744 #: htdocs/luci-static/resources/view/fchomo/node.js:1774
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:264 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:264
#: htdocs/luci-static/resources/view/fchomo/server.js:49 #: htdocs/luci-static/resources/view/fchomo/server.js:49
msgid "Enable" msgid "Enable"
@@ -846,15 +846,15 @@ msgstr ""
msgid "Enable ECH" msgid "Enable ECH"
msgstr "启用 ECH" msgstr "启用 ECH"
#: htdocs/luci-static/resources/view/fchomo/node.js:1286 #: htdocs/luci-static/resources/view/fchomo/node.js:1316
msgid "Enable TCP Brutal" msgid "Enable TCP Brutal"
msgstr "启用 TCP Brutal" msgstr "启用 TCP Brutal"
#: htdocs/luci-static/resources/view/fchomo/node.js:1287 #: htdocs/luci-static/resources/view/fchomo/node.js:1317
msgid "Enable TCP Brutal congestion control algorithm" msgid "Enable TCP Brutal congestion control algorithm"
msgstr "启用 TCP Brutal 拥塞控制算法。" msgstr "启用 TCP Brutal 拥塞控制算法。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1275 #: htdocs/luci-static/resources/view/fchomo/node.js:1305
msgid "Enable multiplexing only for TCP." msgid "Enable multiplexing only for TCP."
msgstr "仅为 TCP 启用多路复用。" msgstr "仅为 TCP 启用多路复用。"
@@ -863,16 +863,16 @@ msgstr "仅为 TCP 启用多路复用。"
msgid "Enable obfuscate for downlink" msgid "Enable obfuscate for downlink"
msgstr "启用下行链路混淆" msgstr "启用下行链路混淆"
#: htdocs/luci-static/resources/view/fchomo/node.js:1269 #: htdocs/luci-static/resources/view/fchomo/node.js:1299
msgid "Enable padding" msgid "Enable padding"
msgstr "启用填充" msgstr "启用填充"
#: htdocs/luci-static/resources/view/fchomo/node.js:1280 #: htdocs/luci-static/resources/view/fchomo/node.js:1310
msgid "Enable statistic" msgid "Enable statistic"
msgstr "启用统计" msgstr "启用统计"
#: htdocs/luci-static/resources/view/fchomo/node.js:871 #: htdocs/luci-static/resources/view/fchomo/node.js:871
#: htdocs/luci-static/resources/view/fchomo/node.js:1601 #: htdocs/luci-static/resources/view/fchomo/node.js:1631
msgid "" msgid ""
"Enable the SUoT protocol, requires server support. Conflict with Multiplex." "Enable the SUoT protocol, requires server support. Conflict with Multiplex."
msgstr "启用 SUoT 协议,需要服务端支持。与多路复用冲突。" msgstr "启用 SUoT 协议,需要服务端支持。与多路复用冲突。"
@@ -911,7 +911,7 @@ msgid ""
"if empty." "if empty."
msgstr "超过此限制将会触发强制健康检查。留空则使用 <code>5</code>。" msgstr "超过此限制将会触发强制健康检查。留空则使用 <code>5</code>。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1713 #: htdocs/luci-static/resources/view/fchomo/node.js:1743
msgid "Exclude matched node types." msgid "Exclude matched node types."
msgstr "排除匹配的节点类型。" msgstr "排除匹配的节点类型。"
@@ -924,7 +924,7 @@ msgstr ""
"rel=\"noreferrer noopener\">此处</a>。" "rel=\"noreferrer noopener\">此处</a>。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1161 #: htdocs/luci-static/resources/view/fchomo/client.js:1161
#: htdocs/luci-static/resources/view/fchomo/node.js:1706 #: htdocs/luci-static/resources/view/fchomo/node.js:1736
msgid "Exclude nodes that meet keywords or regexps." msgid "Exclude nodes that meet keywords or regexps."
msgstr "排除匹配关键词或表达式的节点。" msgstr "排除匹配关键词或表达式的节点。"
@@ -933,12 +933,12 @@ msgid "Expand/Collapse result"
msgstr "展开/收起 结果" msgstr "展开/收起 结果"
#: htdocs/luci-static/resources/view/fchomo/client.js:1121 #: htdocs/luci-static/resources/view/fchomo/client.js:1121
#: htdocs/luci-static/resources/view/fchomo/node.js:1691 #: htdocs/luci-static/resources/view/fchomo/node.js:1721
msgid "Expected HTTP code. <code>204</code> will be used if empty." msgid "Expected HTTP code. <code>204</code> will be used if empty."
msgstr "预期的 HTTP code。留空则使用 <code>204</code>。" msgstr "预期的 HTTP code。留空则使用 <code>204</code>。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1123 #: htdocs/luci-static/resources/view/fchomo/client.js:1123
#: htdocs/luci-static/resources/view/fchomo/node.js:1693 #: htdocs/luci-static/resources/view/fchomo/node.js:1723
msgid "Expected status" msgid "Expected status"
msgstr "预期状态" msgstr "预期状态"
@@ -981,8 +981,8 @@ msgstr "预期状态"
#: htdocs/luci-static/resources/view/fchomo/node.js:491 #: htdocs/luci-static/resources/view/fchomo/node.js:491
#: htdocs/luci-static/resources/view/fchomo/node.js:942 #: htdocs/luci-static/resources/view/fchomo/node.js:942
#: htdocs/luci-static/resources/view/fchomo/node.js:1030 #: htdocs/luci-static/resources/view/fchomo/node.js:1030
#: htdocs/luci-static/resources/view/fchomo/node.js:1770 #: htdocs/luci-static/resources/view/fchomo/node.js:1800
#: htdocs/luci-static/resources/view/fchomo/node.js:1790 #: htdocs/luci-static/resources/view/fchomo/node.js:1820
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:291 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:291
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:305 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:305
msgid "Expecting: %s" msgid "Expecting: %s"
@@ -992,6 +992,7 @@ msgstr "请输入:%s"
#: htdocs/luci-static/resources/fchomo/listeners.js:984 #: htdocs/luci-static/resources/fchomo/listeners.js:984
#: htdocs/luci-static/resources/view/fchomo/node.js:1140 #: htdocs/luci-static/resources/view/fchomo/node.js:1140
#: htdocs/luci-static/resources/view/fchomo/node.js:1147 #: htdocs/luci-static/resources/view/fchomo/node.js:1147
#: htdocs/luci-static/resources/view/fchomo/node.js:1155
msgid "Expecting: only support %s." msgid "Expecting: only support %s."
msgstr "请输入:仅支援 %s." msgstr "请输入:仅支援 %s."
@@ -1041,7 +1042,7 @@ msgid "Fallback filter"
msgstr "後備过滤器" msgstr "後備过滤器"
#: htdocs/luci-static/resources/view/fchomo/client.js:1156 #: htdocs/luci-static/resources/view/fchomo/client.js:1156
#: htdocs/luci-static/resources/view/fchomo/node.js:1700 #: htdocs/luci-static/resources/view/fchomo/node.js:1730
msgid "Filter nodes that meet keywords or regexps." msgid "Filter nodes that meet keywords or regexps."
msgstr "过滤匹配关键字或表达式的节点。" msgstr "过滤匹配关键字或表达式的节点。"
@@ -1084,8 +1085,8 @@ msgstr ""
"noopener\">%s</a>." "noopener\">%s</a>."
#: htdocs/luci-static/resources/view/fchomo/client.js:1122 #: htdocs/luci-static/resources/view/fchomo/client.js:1122
#: htdocs/luci-static/resources/view/fchomo/node.js:1569 #: htdocs/luci-static/resources/view/fchomo/node.js:1599
#: htdocs/luci-static/resources/view/fchomo/node.js:1692 #: htdocs/luci-static/resources/view/fchomo/node.js:1722
msgid "" msgid ""
"For format see <a target=\"_blank\" href=\"%s\" rel=\"noreferrer " "For format see <a target=\"_blank\" href=\"%s\" rel=\"noreferrer "
"noopener\">%s</a>." "noopener\">%s</a>."
@@ -1113,7 +1114,7 @@ msgstr "格式"
msgid "FullCombo Shark!" msgid "FullCombo Shark!"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1166 #: htdocs/luci-static/resources/view/fchomo/node.js:1180
msgid "GET" msgid "GET"
msgstr "" msgstr ""
@@ -1128,7 +1129,7 @@ msgstr "常规"
#: htdocs/luci-static/resources/fchomo/listeners.js:119 #: htdocs/luci-static/resources/fchomo/listeners.js:119
#: htdocs/luci-static/resources/view/fchomo/client.js:1009 #: htdocs/luci-static/resources/view/fchomo/client.js:1009
#: htdocs/luci-static/resources/view/fchomo/node.js:222 #: htdocs/luci-static/resources/view/fchomo/node.js:222
#: htdocs/luci-static/resources/view/fchomo/node.js:1449 #: htdocs/luci-static/resources/view/fchomo/node.js:1479
msgid "General fields" msgid "General fields"
msgstr "常规字段" msgstr "常规字段"
@@ -1214,12 +1215,13 @@ msgstr "组"
#: htdocs/luci-static/resources/view/fchomo/node.js:816 #: htdocs/luci-static/resources/view/fchomo/node.js:816
#: htdocs/luci-static/resources/view/fchomo/node.js:1129 #: htdocs/luci-static/resources/view/fchomo/node.js:1129
#: htdocs/luci-static/resources/view/fchomo/node.js:1140 #: htdocs/luci-static/resources/view/fchomo/node.js:1140
#: htdocs/luci-static/resources/view/fchomo/node.js:1147
msgid "HTTP" msgid "HTTP"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:267 #: htdocs/luci-static/resources/view/fchomo/node.js:267
#: htdocs/luci-static/resources/view/fchomo/node.js:1188 #: htdocs/luci-static/resources/view/fchomo/node.js:1202
#: htdocs/luci-static/resources/view/fchomo/node.js:1549 #: htdocs/luci-static/resources/view/fchomo/node.js:1579
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:399 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:399
msgid "HTTP header" msgid "HTTP header"
msgstr "HTTP header" msgstr "HTTP header"
@@ -1245,7 +1247,7 @@ msgstr "HTTP 伪装多路复用"
msgid "HTTP mask: %s" msgid "HTTP mask: %s"
msgstr "HTTP 伪装: %s" msgstr "HTTP 伪装: %s"
#: htdocs/luci-static/resources/view/fchomo/node.js:1165 #: htdocs/luci-static/resources/view/fchomo/node.js:1179
msgid "HTTP request method" msgid "HTTP request method"
msgstr "HTTP 请求方法" msgstr "HTTP 请求方法"
@@ -1267,6 +1269,7 @@ msgstr "身份验证失败时的 HTTP3 服务器响应。默认返回 404 页面
#: htdocs/luci-static/resources/fchomo/listeners.js:978 #: htdocs/luci-static/resources/fchomo/listeners.js:978
#: htdocs/luci-static/resources/view/fchomo/node.js:1130 #: htdocs/luci-static/resources/view/fchomo/node.js:1130
#: htdocs/luci-static/resources/view/fchomo/node.js:1141 #: htdocs/luci-static/resources/view/fchomo/node.js:1141
#: htdocs/luci-static/resources/view/fchomo/node.js:1148
msgid "HTTPUpgrade" msgid "HTTPUpgrade"
msgstr "" msgstr ""
@@ -1291,27 +1294,27 @@ msgid "Health check"
msgstr "健康检查" msgstr "健康检查"
#: htdocs/luci-static/resources/view/fchomo/client.js:1091 #: htdocs/luci-static/resources/view/fchomo/client.js:1091
#: htdocs/luci-static/resources/view/fchomo/node.js:1660 #: htdocs/luci-static/resources/view/fchomo/node.js:1690
msgid "Health check URL" msgid "Health check URL"
msgstr "健康检查 URL" msgstr "健康检查 URL"
#: htdocs/luci-static/resources/view/fchomo/client.js:1120 #: htdocs/luci-static/resources/view/fchomo/client.js:1120
#: htdocs/luci-static/resources/view/fchomo/node.js:1690 #: htdocs/luci-static/resources/view/fchomo/node.js:1720
msgid "Health check expected status" msgid "Health check expected status"
msgstr "健康检查预期状态" msgstr "健康检查预期状态"
#: htdocs/luci-static/resources/view/fchomo/client.js:1100 #: htdocs/luci-static/resources/view/fchomo/client.js:1100
#: htdocs/luci-static/resources/view/fchomo/node.js:1670 #: htdocs/luci-static/resources/view/fchomo/node.js:1700
msgid "Health check interval" msgid "Health check interval"
msgstr "健康检查间隔" msgstr "健康检查间隔"
#: htdocs/luci-static/resources/view/fchomo/client.js:1107 #: htdocs/luci-static/resources/view/fchomo/client.js:1107
#: htdocs/luci-static/resources/view/fchomo/node.js:1677 #: htdocs/luci-static/resources/view/fchomo/node.js:1707
msgid "Health check timeout" msgid "Health check timeout"
msgstr "健康检查超时" msgstr "健康检查超时"
#: htdocs/luci-static/resources/view/fchomo/client.js:1011 #: htdocs/luci-static/resources/view/fchomo/client.js:1011
#: htdocs/luci-static/resources/view/fchomo/node.js:1451 #: htdocs/luci-static/resources/view/fchomo/node.js:1481
msgid "Health fields" msgid "Health fields"
msgstr "健康字段" msgstr "健康字段"
@@ -1362,8 +1365,8 @@ msgstr ""
msgid "IP override" msgid "IP override"
msgstr "IP 覆写" msgstr "IP 覆写"
#: htdocs/luci-static/resources/view/fchomo/node.js:1331 #: htdocs/luci-static/resources/view/fchomo/node.js:1361
#: htdocs/luci-static/resources/view/fchomo/node.js:1646 #: htdocs/luci-static/resources/view/fchomo/node.js:1676
msgid "IP version" msgid "IP version"
msgstr "IP 版本" msgstr "IP 版本"
@@ -1424,8 +1427,8 @@ msgstr "导入"
#: htdocs/luci-static/resources/view/fchomo/client.js:1713 #: htdocs/luci-static/resources/view/fchomo/client.js:1713
#: htdocs/luci-static/resources/view/fchomo/client.js:1748 #: htdocs/luci-static/resources/view/fchomo/client.js:1748
#: htdocs/luci-static/resources/view/fchomo/client.js:1769 #: htdocs/luci-static/resources/view/fchomo/client.js:1769
#: htdocs/luci-static/resources/view/fchomo/node.js:1356 #: htdocs/luci-static/resources/view/fchomo/node.js:1386
#: htdocs/luci-static/resources/view/fchomo/node.js:1437 #: htdocs/luci-static/resources/view/fchomo/node.js:1467
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:153 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:153
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:241 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:241
msgid "Import mihomo config" msgid "Import mihomo config"
@@ -1441,12 +1444,12 @@ msgstr "导入规则集链接"
#: htdocs/luci-static/resources/fchomo/listeners.js:181 #: htdocs/luci-static/resources/fchomo/listeners.js:181
#: htdocs/luci-static/resources/view/fchomo/node.js:286 #: htdocs/luci-static/resources/view/fchomo/node.js:286
#: htdocs/luci-static/resources/view/fchomo/node.js:292 #: htdocs/luci-static/resources/view/fchomo/node.js:292
#: htdocs/luci-static/resources/view/fchomo/node.js:1607 #: htdocs/luci-static/resources/view/fchomo/node.js:1637
#: htdocs/luci-static/resources/view/fchomo/node.js:1613 #: htdocs/luci-static/resources/view/fchomo/node.js:1643
msgid "In Mbps." msgid "In Mbps."
msgstr "单位为 Mbps。" msgstr "单位为 Mbps。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1527 #: htdocs/luci-static/resources/view/fchomo/node.js:1557
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:377 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:377
msgid "In bytes. <code>%s</code> will be used if empty." msgid "In bytes. <code>%s</code> will be used if empty."
msgstr "单位为字节。留空则使用 <code>%s</code>。" msgstr "单位为字节。留空则使用 <code>%s</code>。"
@@ -1458,7 +1461,7 @@ msgstr "单位为毫秒。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1108 #: htdocs/luci-static/resources/view/fchomo/client.js:1108
#: htdocs/luci-static/resources/view/fchomo/client.js:1137 #: htdocs/luci-static/resources/view/fchomo/client.js:1137
#: htdocs/luci-static/resources/view/fchomo/node.js:1678 #: htdocs/luci-static/resources/view/fchomo/node.js:1708
msgid "In millisecond. <code>%s</code> will be used if empty." msgid "In millisecond. <code>%s</code> will be used if empty."
msgstr "单位为毫秒。留空则使用 <code>%s</code>。" msgstr "单位为毫秒。留空则使用 <code>%s</code>。"
@@ -1467,7 +1470,7 @@ msgstr "单位为毫秒。留空则使用 <code>%s</code>。"
#: htdocs/luci-static/resources/fchomo/listeners.js:428 #: htdocs/luci-static/resources/fchomo/listeners.js:428
#: htdocs/luci-static/resources/view/fchomo/node.js:604 #: htdocs/luci-static/resources/view/fchomo/node.js:604
#: htdocs/luci-static/resources/view/fchomo/node.js:611 #: htdocs/luci-static/resources/view/fchomo/node.js:611
#: htdocs/luci-static/resources/view/fchomo/node.js:1204 #: htdocs/luci-static/resources/view/fchomo/node.js:1218
msgid "In seconds." msgid "In seconds."
msgstr "单位为秒。" msgstr "单位为秒。"
@@ -1476,8 +1479,8 @@ msgstr "单位为秒。"
#: htdocs/luci-static/resources/view/fchomo/global.js:430 #: htdocs/luci-static/resources/view/fchomo/global.js:430
#: htdocs/luci-static/resources/view/fchomo/global.js:515 #: htdocs/luci-static/resources/view/fchomo/global.js:515
#: htdocs/luci-static/resources/view/fchomo/node.js:280 #: htdocs/luci-static/resources/view/fchomo/node.js:280
#: htdocs/luci-static/resources/view/fchomo/node.js:1533 #: htdocs/luci-static/resources/view/fchomo/node.js:1563
#: htdocs/luci-static/resources/view/fchomo/node.js:1671 #: htdocs/luci-static/resources/view/fchomo/node.js:1701
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:383 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:383
msgid "In seconds. <code>%s</code> will be used if empty." msgid "In seconds. <code>%s</code> will be used if empty."
msgstr "单位为秒。留空则使用 <code>%s</code>。" msgstr "单位为秒。留空则使用 <code>%s</code>。"
@@ -1525,7 +1528,7 @@ msgstr "引入所有代理节点。"
msgid "Info" msgid "Info"
msgstr "信息" msgstr "信息"
#: htdocs/luci-static/resources/view/fchomo/node.js:1466 #: htdocs/luci-static/resources/view/fchomo/node.js:1496
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:279 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:279
msgid "Inline" msgid "Inline"
msgstr "内嵌" msgstr "内嵌"
@@ -1562,14 +1565,14 @@ msgstr "密钥对"
#: htdocs/luci-static/resources/view/fchomo/client.js:1719 #: htdocs/luci-static/resources/view/fchomo/client.js:1719
#: htdocs/luci-static/resources/view/fchomo/client.js:1775 #: htdocs/luci-static/resources/view/fchomo/client.js:1775
#: htdocs/luci-static/resources/view/fchomo/node.js:229 #: htdocs/luci-static/resources/view/fchomo/node.js:229
#: htdocs/luci-static/resources/view/fchomo/node.js:1454 #: htdocs/luci-static/resources/view/fchomo/node.js:1484
#: htdocs/luci-static/resources/view/fchomo/node.js:1739 #: htdocs/luci-static/resources/view/fchomo/node.js:1769
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:259 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:259
msgid "Label" msgid "Label"
msgstr "标签" msgstr "标签"
#: htdocs/luci-static/resources/view/fchomo/client.js:1114 #: htdocs/luci-static/resources/view/fchomo/client.js:1114
#: htdocs/luci-static/resources/view/fchomo/node.js:1684 #: htdocs/luci-static/resources/view/fchomo/node.js:1714
msgid "Lazy" msgid "Lazy"
msgstr "懒惰状态" msgstr "懒惰状态"
@@ -1620,7 +1623,7 @@ msgstr "监听端口"
msgid "Load balance" msgid "Load balance"
msgstr "负载均衡" msgstr "负载均衡"
#: htdocs/luci-static/resources/view/fchomo/node.js:1464 #: htdocs/luci-static/resources/view/fchomo/node.js:1494
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:277 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:277
msgid "Local" msgid "Local"
msgstr "本地" msgstr "本地"
@@ -1654,9 +1657,11 @@ msgstr "日志等级"
#: htdocs/luci-static/resources/fchomo/listeners.js:324 #: htdocs/luci-static/resources/fchomo/listeners.js:324
#: htdocs/luci-static/resources/fchomo/listeners.js:325 #: htdocs/luci-static/resources/fchomo/listeners.js:325
#: htdocs/luci-static/resources/fchomo/listeners.js:326 #: htdocs/luci-static/resources/fchomo/listeners.js:326
#: htdocs/luci-static/resources/fchomo/listeners.js:331
#: htdocs/luci-static/resources/view/fchomo/node.js:409 #: htdocs/luci-static/resources/view/fchomo/node.js:409
#: htdocs/luci-static/resources/view/fchomo/node.js:410 #: htdocs/luci-static/resources/view/fchomo/node.js:410
#: htdocs/luci-static/resources/view/fchomo/node.js:411 #: htdocs/luci-static/resources/view/fchomo/node.js:411
#: htdocs/luci-static/resources/view/fchomo/node.js:416
msgid "Low-entropy data stream" msgid "Low-entropy data stream"
msgstr "低熵数据流" msgstr "低熵数据流"
@@ -1706,7 +1711,7 @@ msgstr "匹配响应通过 ipcidr</br>"
msgid "Match rule set." msgid "Match rule set."
msgstr "匹配规则集。" msgstr "匹配规则集。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1210 #: htdocs/luci-static/resources/view/fchomo/node.js:1224
msgid "Max Early Data" msgid "Max Early Data"
msgstr "前置数据最大值" msgstr "前置数据最大值"
@@ -1733,12 +1738,12 @@ msgstr "限制打开流的数量"
msgid "Max upload speed" msgid "Max upload speed"
msgstr "最大上传速度" msgstr "最大上传速度"
#: htdocs/luci-static/resources/view/fchomo/node.js:1247 #: htdocs/luci-static/resources/view/fchomo/node.js:1277
#: htdocs/luci-static/resources/view/fchomo/node.js:1263 #: htdocs/luci-static/resources/view/fchomo/node.js:1293
msgid "Maximum connections" msgid "Maximum connections"
msgstr "最大连接数" msgstr "最大连接数"
#: htdocs/luci-static/resources/view/fchomo/node.js:1261 #: htdocs/luci-static/resources/view/fchomo/node.js:1291
msgid "" msgid ""
"Maximum multiplexed streams in a connection before opening a new connection." "Maximum multiplexed streams in a connection before opening a new connection."
"<br/>Conflict with <code>%s</code> and <code>%s</code>." "<br/>Conflict with <code>%s</code> and <code>%s</code>."
@@ -1758,7 +1763,7 @@ msgid ""
"rate." "rate."
msgstr "最大填充率必须大于等于最小填充率。" msgstr "最大填充率必须大于等于最小填充率。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1260 #: htdocs/luci-static/resources/view/fchomo/node.js:1290
msgid "Maximum streams" msgid "Maximum streams"
msgstr "最大流数量" msgstr "最大流数量"
@@ -1783,7 +1788,7 @@ msgstr "Mihomo 服务端"
msgid "Min of idle sessions to keep" msgid "Min of idle sessions to keep"
msgstr "要保留的最少闲置会话数" msgstr "要保留的最少闲置会话数"
#: htdocs/luci-static/resources/view/fchomo/node.js:1254 #: htdocs/luci-static/resources/view/fchomo/node.js:1284
msgid "" msgid ""
"Minimum multiplexed streams in a connection before opening a new connection." "Minimum multiplexed streams in a connection before opening a new connection."
msgstr "在打开新连接之前,连接中的最小多路复用流数量。" msgstr "在打开新连接之前,连接中的最小多路复用流数量。"
@@ -1793,8 +1798,8 @@ msgstr "在打开新连接之前,连接中的最小多路复用流数量。"
msgid "Minimum padding rate" msgid "Minimum padding rate"
msgstr "最小填充率" msgstr "最小填充率"
#: htdocs/luci-static/resources/view/fchomo/node.js:1253 #: htdocs/luci-static/resources/view/fchomo/node.js:1283
#: htdocs/luci-static/resources/view/fchomo/node.js:1263 #: htdocs/luci-static/resources/view/fchomo/node.js:1293
msgid "Minimum streams" msgid "Minimum streams"
msgstr "最小流数量" msgstr "最小流数量"
@@ -1811,7 +1816,7 @@ msgstr "混合 <code>系统</code> TCP 栈和 <code>gVisor</code> UDP 栈。"
msgid "Mixed port" msgid "Mixed port"
msgstr "混合端口" msgstr "混合端口"
#: htdocs/luci-static/resources/view/fchomo/node.js:1233 #: htdocs/luci-static/resources/view/fchomo/node.js:1263
msgid "Multiplex" msgid "Multiplex"
msgstr "多路复用" msgstr "多路复用"
@@ -1833,7 +1838,7 @@ msgstr "NOT"
msgid "Name of the Proxy group as outbound." msgid "Name of the Proxy group as outbound."
msgstr "出站代理组的名称。" msgstr "出站代理组的名称。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1539 #: htdocs/luci-static/resources/view/fchomo/node.js:1569
msgid "Name of the Proxy group to download provider." msgid "Name of the Proxy group to download provider."
msgstr "用于下载供应商订阅的代理组名称。" msgstr "用于下载供应商订阅的代理组名称。"
@@ -1865,8 +1870,12 @@ msgstr "无需认证的 IP 范围"
msgid "No add'l params" msgid "No add'l params"
msgstr "无附加参数" msgstr "无附加参数"
#: htdocs/luci-static/resources/view/fchomo/node.js:1252
msgid "No gRPC header"
msgstr "无 gRPC header"
#: htdocs/luci-static/resources/view/fchomo/client.js:1115 #: htdocs/luci-static/resources/view/fchomo/client.js:1115
#: htdocs/luci-static/resources/view/fchomo/node.js:1685 #: htdocs/luci-static/resources/view/fchomo/node.js:1715
msgid "No testing is performed when this provider node is not in use." msgid "No testing is performed when this provider node is not in use."
msgstr "当此供应商的节点未使用时,不执行任何测试。" msgstr "当此供应商的节点未使用时,不执行任何测试。"
@@ -1885,17 +1894,17 @@ msgid "Node"
msgstr "节点" msgstr "节点"
#: htdocs/luci-static/resources/view/fchomo/client.js:1160 #: htdocs/luci-static/resources/view/fchomo/client.js:1160
#: htdocs/luci-static/resources/view/fchomo/node.js:1705 #: htdocs/luci-static/resources/view/fchomo/node.js:1735
msgid "Node exclude filter" msgid "Node exclude filter"
msgstr "排除节点" msgstr "排除节点"
#: htdocs/luci-static/resources/view/fchomo/client.js:1165 #: htdocs/luci-static/resources/view/fchomo/client.js:1165
#: htdocs/luci-static/resources/view/fchomo/node.js:1712 #: htdocs/luci-static/resources/view/fchomo/node.js:1742
msgid "Node exclude type" msgid "Node exclude type"
msgstr "排除节点类型" msgstr "排除节点类型"
#: htdocs/luci-static/resources/view/fchomo/client.js:1155 #: htdocs/luci-static/resources/view/fchomo/client.js:1155
#: htdocs/luci-static/resources/view/fchomo/node.js:1699 #: htdocs/luci-static/resources/view/fchomo/node.js:1729
msgid "Node filter" msgid "Node filter"
msgstr "过滤节点" msgstr "过滤节点"
@@ -1973,7 +1982,7 @@ msgid "Override destination"
msgstr "覆盖目标地址" msgstr "覆盖目标地址"
#: htdocs/luci-static/resources/view/fchomo/client.js:1010 #: htdocs/luci-static/resources/view/fchomo/client.js:1010
#: htdocs/luci-static/resources/view/fchomo/node.js:1450 #: htdocs/luci-static/resources/view/fchomo/node.js:1480
msgid "Override fields" msgid "Override fields"
msgstr "覆盖字段" msgstr "覆盖字段"
@@ -2001,11 +2010,11 @@ msgstr "覆盖用于 HTTPS 记录查询的域名。"
msgid "Overview" msgid "Overview"
msgstr "概览" msgstr "概览"
#: htdocs/luci-static/resources/view/fchomo/node.js:1167 #: htdocs/luci-static/resources/view/fchomo/node.js:1181
msgid "POST" msgid "POST"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1168 #: htdocs/luci-static/resources/view/fchomo/node.js:1182
msgid "PUT" msgid "PUT"
msgstr "" msgstr ""
@@ -2013,6 +2022,10 @@ msgstr ""
msgid "Packet encoding" msgid "Packet encoding"
msgstr "数据包编码" msgstr "数据包编码"
#: htdocs/luci-static/resources/view/fchomo/node.js:1257
msgid "Padding bytes"
msgstr "填充字节"
#: htdocs/luci-static/resources/fchomo/listeners.js:458 #: htdocs/luci-static/resources/fchomo/listeners.js:458
msgid "Padding scheme" msgid "Padding scheme"
msgstr "填充方案" msgstr "填充方案"
@@ -2032,7 +2045,7 @@ msgid "Password"
msgstr "密码" msgstr "密码"
#: htdocs/luci-static/resources/fchomo/listeners.js:587 #: htdocs/luci-static/resources/fchomo/listeners.js:587
#: htdocs/luci-static/resources/view/fchomo/node.js:1514 #: htdocs/luci-static/resources/view/fchomo/node.js:1544
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:364 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:364
msgid "Payload" msgid "Payload"
msgstr "Payload" msgstr "Payload"
@@ -2074,8 +2087,8 @@ msgid ""
"standards." "standards."
msgstr "链接格式标准请参考 <a href=\"%s\" target=\"_blank\">%s</a>。" msgstr "链接格式标准请参考 <a href=\"%s\" target=\"_blank\">%s</a>。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1487 #: htdocs/luci-static/resources/view/fchomo/node.js:1517
#: htdocs/luci-static/resources/view/fchomo/node.js:1513 #: htdocs/luci-static/resources/view/fchomo/node.js:1543
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:337 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:337
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:363 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:363
msgid "" msgid ""
@@ -2090,7 +2103,7 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1445 #: htdocs/luci-static/resources/view/fchomo/client.js:1445
#: htdocs/luci-static/resources/view/fchomo/client.js:1697 #: htdocs/luci-static/resources/view/fchomo/client.js:1697
#: htdocs/luci-static/resources/view/fchomo/client.js:1749 #: htdocs/luci-static/resources/view/fchomo/client.js:1749
#: htdocs/luci-static/resources/view/fchomo/node.js:1357 #: htdocs/luci-static/resources/view/fchomo/node.js:1387
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:154 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:154
msgid "Please type <code>%s</code> fields of mihomo config.</br>" msgid "Please type <code>%s</code> fields of mihomo config.</br>"
msgstr "请输入 mihomo 配置的 <code>%s</code> 字段。</br>" msgstr "请输入 mihomo 配置的 <code>%s</code> 字段。</br>"
@@ -2157,10 +2170,10 @@ msgstr "防止某些情况下的 ICMP 环回问题。Ping 不会显示实际延
#: htdocs/luci-static/resources/view/fchomo/global.js:736 #: htdocs/luci-static/resources/view/fchomo/global.js:736
#: htdocs/luci-static/resources/view/fchomo/global.js:753 #: htdocs/luci-static/resources/view/fchomo/global.js:753
#: htdocs/luci-static/resources/view/fchomo/node.js:1321 #: htdocs/luci-static/resources/view/fchomo/node.js:1351
#: htdocs/luci-static/resources/view/fchomo/node.js:1327 #: htdocs/luci-static/resources/view/fchomo/node.js:1357
#: htdocs/luci-static/resources/view/fchomo/node.js:1634 #: htdocs/luci-static/resources/view/fchomo/node.js:1664
#: htdocs/luci-static/resources/view/fchomo/node.js:1641 #: htdocs/luci-static/resources/view/fchomo/node.js:1671
msgid "Priority: Proxy Node > Global." msgid "Priority: Proxy Node > Global."
msgstr "优先级: 代理节点 > 全局。" msgstr "优先级: 代理节点 > 全局。"
@@ -2182,7 +2195,7 @@ msgid "Process matching mode"
msgstr "进程匹配模式" msgstr "进程匹配模式"
#: htdocs/luci-static/resources/view/fchomo/global.js:684 #: htdocs/luci-static/resources/view/fchomo/global.js:684
#: htdocs/luci-static/resources/view/fchomo/node.js:1239 #: htdocs/luci-static/resources/view/fchomo/node.js:1269
msgid "Protocol" msgid "Protocol"
msgstr "协议" msgstr "协议"
@@ -2197,13 +2210,13 @@ msgid ""
msgstr "协议参数。 如启用会随机浪费流量(在 v2ray 中默认启用并且无法禁用)。" msgstr "协议参数。 如启用会随机浪费流量(在 v2ray 中默认启用并且无法禁用)。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1055 #: htdocs/luci-static/resources/view/fchomo/client.js:1055
#: htdocs/luci-static/resources/view/fchomo/node.js:1340 #: htdocs/luci-static/resources/view/fchomo/node.js:1370
#: htdocs/luci-static/resources/view/fchomo/node.js:1349 #: htdocs/luci-static/resources/view/fchomo/node.js:1379
#: htdocs/luci-static/resources/view/fchomo/node.js:1750 #: htdocs/luci-static/resources/view/fchomo/node.js:1780
msgid "Provider" msgid "Provider"
msgstr "供应商" msgstr "供应商"
#: htdocs/luci-static/resources/view/fchomo/node.js:1520 #: htdocs/luci-static/resources/view/fchomo/node.js:1550
msgid "Provider URL" msgid "Provider URL"
msgstr "供应商订阅 URL" msgstr "供应商订阅 URL"
@@ -2226,19 +2239,19 @@ msgid "Proxy MAC-s"
msgstr "代理 MAC 地址" msgstr "代理 MAC 地址"
#: htdocs/luci-static/resources/view/fchomo/node.js:208 #: htdocs/luci-static/resources/view/fchomo/node.js:208
#: htdocs/luci-static/resources/view/fchomo/node.js:1749 #: htdocs/luci-static/resources/view/fchomo/node.js:1779
msgid "Proxy Node" msgid "Proxy Node"
msgstr "代理节点" msgstr "代理节点"
#: htdocs/luci-static/resources/view/fchomo/node.js:1725 #: htdocs/luci-static/resources/view/fchomo/node.js:1755
#: htdocs/luci-static/resources/view/fchomo/node.js:1734 #: htdocs/luci-static/resources/view/fchomo/node.js:1764
msgid "Proxy chain" msgid "Proxy chain"
msgstr "代理链" msgstr "代理链"
#: htdocs/luci-static/resources/fchomo/listeners.js:530 #: htdocs/luci-static/resources/fchomo/listeners.js:530
#: htdocs/luci-static/resources/view/fchomo/client.js:783 #: htdocs/luci-static/resources/view/fchomo/client.js:783
#: htdocs/luci-static/resources/view/fchomo/client.js:1543 #: htdocs/luci-static/resources/view/fchomo/client.js:1543
#: htdocs/luci-static/resources/view/fchomo/node.js:1538 #: htdocs/luci-static/resources/view/fchomo/node.js:1568
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:388 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:388
msgid "Proxy group" msgid "Proxy group"
msgstr "代理组" msgstr "代理组"
@@ -2345,7 +2358,7 @@ msgstr "重载"
msgid "Reload All" msgid "Reload All"
msgstr "重载所有" msgstr "重载所有"
#: htdocs/luci-static/resources/view/fchomo/node.js:1465 #: htdocs/luci-static/resources/view/fchomo/node.js:1495
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:278 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:278
msgid "Remote" msgid "Remote"
msgstr "远程" msgstr "远程"
@@ -2360,18 +2373,18 @@ msgid "Remove"
msgstr "移除" msgstr "移除"
#: htdocs/luci-static/resources/fchomo.js:1354 #: htdocs/luci-static/resources/fchomo.js:1354
#: htdocs/luci-static/resources/view/fchomo/node.js:1441 #: htdocs/luci-static/resources/view/fchomo/node.js:1471
#: htdocs/luci-static/resources/view/fchomo/node.js:1443 #: htdocs/luci-static/resources/view/fchomo/node.js:1473
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:251 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:251
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:253 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:253
msgid "Remove idles" msgid "Remove idles"
msgstr "移除闲置" msgstr "移除闲置"
#: htdocs/luci-static/resources/view/fchomo/node.js:1567 #: htdocs/luci-static/resources/view/fchomo/node.js:1597
msgid "Replace name" msgid "Replace name"
msgstr "名称替换" msgstr "名称替换"
#: htdocs/luci-static/resources/view/fchomo/node.js:1568 #: htdocs/luci-static/resources/view/fchomo/node.js:1598
msgid "Replace node name." msgid "Replace node name."
msgstr "替换节点名称" msgstr "替换节点名称"
@@ -2380,8 +2393,8 @@ msgid "Request"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:996 #: htdocs/luci-static/resources/fchomo/listeners.js:996
#: htdocs/luci-static/resources/view/fchomo/node.js:1174 #: htdocs/luci-static/resources/view/fchomo/node.js:1188
#: htdocs/luci-static/resources/view/fchomo/node.js:1181 #: htdocs/luci-static/resources/view/fchomo/node.js:1195
msgid "Request path" msgid "Request path"
msgstr "请求路径" msgstr "请求路径"
@@ -2446,8 +2459,8 @@ msgstr "路由 DSCP"
msgid "Routing GFW" msgid "Routing GFW"
msgstr "路由 GFW 流量" msgstr "路由 GFW 流量"
#: htdocs/luci-static/resources/view/fchomo/node.js:1326 #: htdocs/luci-static/resources/view/fchomo/node.js:1356
#: htdocs/luci-static/resources/view/fchomo/node.js:1640 #: htdocs/luci-static/resources/view/fchomo/node.js:1670
msgid "Routing mark" msgid "Routing mark"
msgstr "路由标记" msgstr "路由标记"
@@ -2585,7 +2598,8 @@ msgstr "服务端"
msgid "Server address" msgid "Server address"
msgstr "服务器地址" msgstr "服务器地址"
#: htdocs/luci-static/resources/view/fchomo/node.js:1159 #: htdocs/luci-static/resources/view/fchomo/node.js:1167
#: htdocs/luci-static/resources/view/fchomo/node.js:1173
msgid "Server hostname" msgid "Server hostname"
msgstr "服务器主机名称" msgstr "服务器主机名称"
@@ -2617,7 +2631,7 @@ msgstr "Shadowsocks 加密"
msgid "Shadowsocks password" msgid "Shadowsocks password"
msgstr "Shadowsocks 密码" msgstr "Shadowsocks 密码"
#: htdocs/luci-static/resources/view/fchomo/node.js:1281 #: htdocs/luci-static/resources/view/fchomo/node.js:1311
msgid "Show connections in the dashboard for breaking connections easier." msgid "Show connections in the dashboard for breaking connections easier."
msgstr "在面板中显示连接以便于打断连接。" msgstr "在面板中显示连接以便于打断连接。"
@@ -2629,14 +2643,14 @@ msgstr "静音"
msgid "Simple round-robin all nodes" msgid "Simple round-robin all nodes"
msgstr "简单轮替所有节点" msgstr "简单轮替所有节点"
#: htdocs/luci-static/resources/view/fchomo/node.js:1526 #: htdocs/luci-static/resources/view/fchomo/node.js:1556
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:376 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:376
msgid "Size limit" msgid "Size limit"
msgstr "大小限制" msgstr "大小限制"
#: htdocs/luci-static/resources/view/fchomo/client.js:1576 #: htdocs/luci-static/resources/view/fchomo/client.js:1576
#: htdocs/luci-static/resources/view/fchomo/node.js:1037 #: htdocs/luci-static/resources/view/fchomo/node.js:1037
#: htdocs/luci-static/resources/view/fchomo/node.js:1618 #: htdocs/luci-static/resources/view/fchomo/node.js:1648
msgid "Skip cert verify" msgid "Skip cert verify"
msgstr "跳过证书验证" msgstr "跳过证书验证"
@@ -2764,7 +2778,7 @@ msgstr "TCP"
msgid "TCP concurrency" msgid "TCP concurrency"
msgstr "TCP 并发" msgstr "TCP 并发"
#: htdocs/luci-static/resources/view/fchomo/node.js:1274 #: htdocs/luci-static/resources/view/fchomo/node.js:1304
msgid "TCP only" msgid "TCP only"
msgstr "仅 TCP" msgstr "仅 TCP"
@@ -2790,8 +2804,8 @@ msgstr "TCP-Keep-Alive 间隔"
msgid "TCP/UDP" msgid "TCP/UDP"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1305 #: htdocs/luci-static/resources/view/fchomo/node.js:1335
#: htdocs/luci-static/resources/view/fchomo/node.js:1585 #: htdocs/luci-static/resources/view/fchomo/node.js:1615
msgid "TFO" msgid "TFO"
msgstr "TCP 快速打开 (TFO)" msgstr "TCP 快速打开 (TFO)"
@@ -2903,7 +2917,7 @@ msgstr "此 ECH 参数需要添加到域名的 HTTPS 记录中。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1579 #: htdocs/luci-static/resources/view/fchomo/client.js:1579
#: htdocs/luci-static/resources/view/fchomo/node.js:1040 #: htdocs/luci-static/resources/view/fchomo/node.js:1040
#: htdocs/luci-static/resources/view/fchomo/node.js:1621 #: htdocs/luci-static/resources/view/fchomo/node.js:1651
msgid "" msgid ""
"This is <strong>DANGEROUS</strong>, your traffic is almost like " "This is <strong>DANGEROUS</strong>, your traffic is almost like "
"<strong>PLAIN TEXT</strong>! Use at your own risk!" "<strong>PLAIN TEXT</strong>! Use at your own risk!"
@@ -2947,11 +2961,11 @@ msgstr "Tproxy 端口"
msgid "Traffic pattern" msgid "Traffic pattern"
msgstr "流量模式" msgstr "流量模式"
#: htdocs/luci-static/resources/view/fchomo/node.js:1777 #: htdocs/luci-static/resources/view/fchomo/node.js:1807
msgid "Transit proxy group" msgid "Transit proxy group"
msgstr "中转代理组" msgstr "中转代理组"
#: htdocs/luci-static/resources/view/fchomo/node.js:1783 #: htdocs/luci-static/resources/view/fchomo/node.js:1813
msgid "Transit proxy node" msgid "Transit proxy node"
msgstr "中转代理节点" msgstr "中转代理节点"
@@ -3013,8 +3027,8 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:842 #: htdocs/luci-static/resources/view/fchomo/client.js:842
#: htdocs/luci-static/resources/view/fchomo/client.js:1028 #: htdocs/luci-static/resources/view/fchomo/client.js:1028
#: htdocs/luci-static/resources/view/fchomo/node.js:238 #: htdocs/luci-static/resources/view/fchomo/node.js:238
#: htdocs/luci-static/resources/view/fchomo/node.js:1463 #: htdocs/luci-static/resources/view/fchomo/node.js:1493
#: htdocs/luci-static/resources/view/fchomo/node.js:1748 #: htdocs/luci-static/resources/view/fchomo/node.js:1778
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:276 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:276
msgid "Type" msgid "Type"
msgstr "类型" msgstr "类型"
@@ -3030,7 +3044,7 @@ msgstr "类型"
#: htdocs/luci-static/resources/view/fchomo/client.js:588 #: htdocs/luci-static/resources/view/fchomo/client.js:588
#: htdocs/luci-static/resources/view/fchomo/client.js:678 #: htdocs/luci-static/resources/view/fchomo/client.js:678
#: htdocs/luci-static/resources/view/fchomo/node.js:865 #: htdocs/luci-static/resources/view/fchomo/node.js:865
#: htdocs/luci-static/resources/view/fchomo/node.js:1595 #: htdocs/luci-static/resources/view/fchomo/node.js:1625
msgid "UDP" msgid "UDP"
msgstr "UDP" msgstr "UDP"
@@ -3099,7 +3113,7 @@ msgid "Unknown error: %s"
msgstr "未知错误:%s" msgstr "未知错误:%s"
#: htdocs/luci-static/resources/view/fchomo/node.js:870 #: htdocs/luci-static/resources/view/fchomo/node.js:870
#: htdocs/luci-static/resources/view/fchomo/node.js:1600 #: htdocs/luci-static/resources/view/fchomo/node.js:1630
msgid "UoT" msgid "UoT"
msgstr "UDP over TCP (UoT)" msgstr "UDP over TCP (UoT)"
@@ -3107,16 +3121,16 @@ msgstr "UDP over TCP (UoT)"
msgid "Update failed." msgid "Update failed."
msgstr "更新失败。" msgstr "更新失败。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1532 #: htdocs/luci-static/resources/view/fchomo/node.js:1562
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:382 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:382
msgid "Update interval" msgid "Update interval"
msgstr "更新间隔" msgstr "更新间隔"
#: htdocs/luci-static/resources/view/fchomo/node.js:1292 #: htdocs/luci-static/resources/view/fchomo/node.js:1322
msgid "Upload bandwidth" msgid "Upload bandwidth"
msgstr "上传带宽" msgstr "上传带宽"
#: htdocs/luci-static/resources/view/fchomo/node.js:1293 #: htdocs/luci-static/resources/view/fchomo/node.js:1323
msgid "Upload bandwidth in Mbps." msgid "Upload bandwidth in Mbps."
msgstr "上传带宽(单位:Mbps)。" msgstr "上传带宽(单位:Mbps)。"
@@ -3181,11 +3195,11 @@ msgstr "用户名"
msgid "Users filter mode" msgid "Users filter mode"
msgstr "使用者过滤模式" msgstr "使用者过滤模式"
#: htdocs/luci-static/resources/view/fchomo/node.js:1222 #: htdocs/luci-static/resources/view/fchomo/node.js:1236
msgid "V2ray HTTPUpgrade" msgid "V2ray HTTPUpgrade"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1227 #: htdocs/luci-static/resources/view/fchomo/node.js:1241
msgid "V2ray HTTPUpgrade fast open" msgid "V2ray HTTPUpgrade fast open"
msgstr "" msgstr ""
@@ -3199,8 +3213,8 @@ msgstr ""
msgid "VMess" msgid "VMess"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1469 #: htdocs/luci-static/resources/view/fchomo/node.js:1499
#: htdocs/luci-static/resources/view/fchomo/node.js:1754 #: htdocs/luci-static/resources/view/fchomo/node.js:1784
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:319 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:319
msgid "Value" msgid "Value"
msgstr "可视化值" msgstr "可视化值"
@@ -3240,7 +3254,8 @@ msgstr "警告"
#: htdocs/luci-static/resources/view/fchomo/node.js:489 #: htdocs/luci-static/resources/view/fchomo/node.js:489
#: htdocs/luci-static/resources/view/fchomo/node.js:1132 #: htdocs/luci-static/resources/view/fchomo/node.js:1132
#: htdocs/luci-static/resources/view/fchomo/node.js:1143 #: htdocs/luci-static/resources/view/fchomo/node.js:1143
#: htdocs/luci-static/resources/view/fchomo/node.js:1148 #: htdocs/luci-static/resources/view/fchomo/node.js:1150
#: htdocs/luci-static/resources/view/fchomo/node.js:1156
msgid "WebSocket" msgid "WebSocket"
msgstr "" msgstr ""
@@ -3268,6 +3283,15 @@ msgstr "WireGuard 预共享密钥。"
msgid "WireGuard requires base64-encoded private keys." msgid "WireGuard requires base64-encoded private keys."
msgstr "WireGuard 要求 base64 编码的私钥。" msgstr "WireGuard 要求 base64 编码的私钥。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1133
#: htdocs/luci-static/resources/view/fchomo/node.js:1151
msgid "XHTTP"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1246
msgid "XHTTP mode"
msgstr "XHTTP 模式"
#: htdocs/luci-static/resources/fchomo/listeners.js:609 #: htdocs/luci-static/resources/fchomo/listeners.js:609
msgid "XOR mode" msgid "XOR mode"
msgstr "XOR 模式" msgstr "XOR 模式"
@@ -3341,7 +3365,7 @@ msgstr "decryption"
msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)" msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)"
msgstr "dnsmasq 自行选择上游服务器。 (可能影响 CDN 准确性)" msgstr "dnsmasq 自行选择上游服务器。 (可能影响 CDN 准确性)"
#: htdocs/luci-static/resources/view/fchomo/node.js:1612 #: htdocs/luci-static/resources/view/fchomo/node.js:1642
msgid "down" msgid "down"
msgstr "Hysteria 下载速率" msgstr "Hysteria 下载速率"
@@ -3361,20 +3385,21 @@ msgstr "false = 带宽优化下行 true = 纯 Sudoku 下行。"
#: htdocs/luci-static/resources/fchomo/listeners.js:984 #: htdocs/luci-static/resources/fchomo/listeners.js:984
#: htdocs/luci-static/resources/view/fchomo/node.js:1131 #: htdocs/luci-static/resources/view/fchomo/node.js:1131
#: htdocs/luci-static/resources/view/fchomo/node.js:1142 #: htdocs/luci-static/resources/view/fchomo/node.js:1142
#: htdocs/luci-static/resources/view/fchomo/node.js:1147 #: htdocs/luci-static/resources/view/fchomo/node.js:1149
#: htdocs/luci-static/resources/view/fchomo/node.js:1155
msgid "gRPC" msgid "gRPC"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1198 #: htdocs/luci-static/resources/view/fchomo/node.js:1212
msgid "gRPC User-Agent" msgid "gRPC User-Agent"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1203 #: htdocs/luci-static/resources/view/fchomo/node.js:1217
msgid "gRPC ping interval" msgid "gRPC ping interval"
msgstr "gRPC ping 间隔" msgstr "gRPC ping 间隔"
#: htdocs/luci-static/resources/fchomo/listeners.js:1003 #: htdocs/luci-static/resources/fchomo/listeners.js:1003
#: htdocs/luci-static/resources/view/fchomo/node.js:1194 #: htdocs/luci-static/resources/view/fchomo/node.js:1208
msgid "gRPC service name" msgid "gRPC service name"
msgstr "gRPC 服务名称" msgstr "gRPC 服务名称"
@@ -3382,7 +3407,7 @@ msgstr "gRPC 服务名称"
msgid "gVisor" msgid "gVisor"
msgstr "gVisor" msgstr "gVisor"
#: htdocs/luci-static/resources/view/fchomo/node.js:1243 #: htdocs/luci-static/resources/view/fchomo/node.js:1273
msgid "h2mux" msgid "h2mux"
msgstr "" msgstr ""
@@ -3400,7 +3425,7 @@ msgstr "metacubexd"
#: htdocs/luci-static/resources/view/fchomo/client.js:1480 #: htdocs/luci-static/resources/view/fchomo/client.js:1480
#: htdocs/luci-static/resources/view/fchomo/client.js:1711 #: htdocs/luci-static/resources/view/fchomo/client.js:1711
#: htdocs/luci-static/resources/view/fchomo/client.js:1767 #: htdocs/luci-static/resources/view/fchomo/client.js:1767
#: htdocs/luci-static/resources/view/fchomo/node.js:1435 #: htdocs/luci-static/resources/view/fchomo/node.js:1465
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:239 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:239
msgid "mihomo config" msgid "mihomo config"
msgstr "mihomo 配置" msgstr "mihomo 配置"
@@ -3409,8 +3434,8 @@ msgstr "mihomo 配置"
msgid "mlkem768x25519plus" msgid "mlkem768x25519plus"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1309 #: htdocs/luci-static/resources/view/fchomo/node.js:1339
#: htdocs/luci-static/resources/view/fchomo/node.js:1590 #: htdocs/luci-static/resources/view/fchomo/node.js:1620
msgid "mpTCP" msgid "mpTCP"
msgstr "多路径 TCP (mpTCP)" msgstr "多路径 TCP (mpTCP)"
@@ -3466,7 +3491,7 @@ msgstr "仅当 %s 为 %s 时适用。"
msgid "only applies when %s is not %s." msgid "only applies when %s is not %s."
msgstr "仅当 %s 不为 %s 时适用。" msgstr "仅当 %s 不为 %s 时适用。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1570 #: htdocs/luci-static/resources/view/fchomo/node.js:1600
msgid "override.proxy-name" msgid "override.proxy-name"
msgstr "" msgstr ""
@@ -3474,6 +3499,10 @@ msgstr ""
msgid "packet addr (v2ray-core v5+)" msgid "packet addr (v2ray-core v5+)"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1248
msgid "packet-up"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:391 #: htdocs/luci-static/resources/fchomo/listeners.js:391
#: htdocs/luci-static/resources/view/fchomo/node.js:458 #: htdocs/luci-static/resources/view/fchomo/node.js:458
msgid "poll" msgid "poll"
@@ -3506,7 +3535,7 @@ msgstr "规则集"
msgid "shadow-tls" msgid "shadow-tls"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1241 #: htdocs/luci-static/resources/view/fchomo/node.js:1271
msgid "smux" msgid "smux"
msgstr "" msgstr ""
@@ -3519,6 +3548,10 @@ msgstr ""
msgid "src" msgid "src"
msgstr "src" msgstr "src"
#: htdocs/luci-static/resources/view/fchomo/node.js:1247
msgid "stream-one"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:491 #: htdocs/luci-static/resources/view/fchomo/node.js:491
msgid "stream/poll/auto" msgid "stream/poll/auto"
msgstr "" msgstr ""
@@ -3543,7 +3576,7 @@ msgstr "独立标识"
msgid "unique value" msgid "unique value"
msgstr "独立值" msgstr "独立值"
#: htdocs/luci-static/resources/view/fchomo/node.js:1606 #: htdocs/luci-static/resources/view/fchomo/node.js:1636
msgid "up" msgid "up"
msgstr "Hysteria 上传速率" msgstr "Hysteria 上传速率"
@@ -3619,7 +3652,7 @@ msgstr ""
msgid "yacd-meta" msgid "yacd-meta"
msgstr "yacd-meta" msgstr "yacd-meta"
#: htdocs/luci-static/resources/view/fchomo/node.js:1242 #: htdocs/luci-static/resources/view/fchomo/node.js:1272
msgid "yamux" msgid "yamux"
msgstr "" msgstr ""
+182 -149
View File
@@ -46,10 +46,10 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1056 #: htdocs/luci-static/resources/view/fchomo/client.js:1056
#: htdocs/luci-static/resources/view/fchomo/client.js:1057 #: htdocs/luci-static/resources/view/fchomo/client.js:1057
#: htdocs/luci-static/resources/view/fchomo/client.js:1278 #: htdocs/luci-static/resources/view/fchomo/client.js:1278
#: htdocs/luci-static/resources/view/fchomo/node.js:1758 #: htdocs/luci-static/resources/view/fchomo/node.js:1788
#: htdocs/luci-static/resources/view/fchomo/node.js:1764 #: htdocs/luci-static/resources/view/fchomo/node.js:1794
#: htdocs/luci-static/resources/view/fchomo/node.js:1778 #: htdocs/luci-static/resources/view/fchomo/node.js:1808
#: htdocs/luci-static/resources/view/fchomo/node.js:1784 #: htdocs/luci-static/resources/view/fchomo/node.js:1814
msgid "-- Please choose --" msgid "-- Please choose --"
msgstr "-- 請選擇 --" msgstr "-- 請選擇 --"
@@ -182,11 +182,11 @@ msgstr "新增 節點"
msgid "Add a inbound" msgid "Add a inbound"
msgstr "新增 入站" msgstr "新增 入站"
#: htdocs/luci-static/resources/view/fchomo/node.js:1349 #: htdocs/luci-static/resources/view/fchomo/node.js:1379
msgid "Add a provider" msgid "Add a provider"
msgstr "新增 供應商" msgstr "新增 供應商"
#: htdocs/luci-static/resources/view/fchomo/node.js:1734 #: htdocs/luci-static/resources/view/fchomo/node.js:1764
msgid "Add a proxy chain" msgid "Add a proxy chain"
msgstr "新增 代理鏈" msgstr "新增 代理鏈"
@@ -210,11 +210,11 @@ msgstr "新增 伺服器"
msgid "Add a sub rule" msgid "Add a sub rule"
msgstr "新增 子規則" msgstr "新增 子規則"
#: htdocs/luci-static/resources/view/fchomo/node.js:1559 #: htdocs/luci-static/resources/view/fchomo/node.js:1589
msgid "Add prefix" msgid "Add prefix"
msgstr "添加前綴" msgstr "添加前綴"
#: htdocs/luci-static/resources/view/fchomo/node.js:1563 #: htdocs/luci-static/resources/view/fchomo/node.js:1593
msgid "Add suffix" msgid "Add suffix"
msgstr "添加後綴" msgstr "添加後綴"
@@ -343,13 +343,13 @@ msgid "Binary mrs"
msgstr "二進位 mrs" msgstr "二進位 mrs"
#: htdocs/luci-static/resources/view/fchomo/global.js:734 #: htdocs/luci-static/resources/view/fchomo/global.js:734
#: htdocs/luci-static/resources/view/fchomo/node.js:1319 #: htdocs/luci-static/resources/view/fchomo/node.js:1349
#: htdocs/luci-static/resources/view/fchomo/node.js:1632 #: htdocs/luci-static/resources/view/fchomo/node.js:1662
msgid "Bind interface" msgid "Bind interface"
msgstr "綁定介面" msgstr "綁定介面"
#: htdocs/luci-static/resources/view/fchomo/node.js:1320 #: htdocs/luci-static/resources/view/fchomo/node.js:1350
#: htdocs/luci-static/resources/view/fchomo/node.js:1633 #: htdocs/luci-static/resources/view/fchomo/node.js:1663
msgid "Bind outbound interface.</br>" msgid "Bind outbound interface.</br>"
msgstr "綁定出站介面。</br>" msgstr "綁定出站介面。</br>"
@@ -521,7 +521,7 @@ msgstr "常用連接埠(繞過 P2P 流量)"
msgid "Complete" msgid "Complete"
msgstr "完成" msgstr "完成"
#: htdocs/luci-static/resources/view/fchomo/node.js:1579 #: htdocs/luci-static/resources/view/fchomo/node.js:1609
msgid "Configuration Items" msgid "Configuration Items"
msgstr "配置項" msgstr "配置項"
@@ -539,14 +539,14 @@ msgid "Content copied to clipboard!"
msgstr "內容已複製到剪貼簿!" msgstr "內容已複製到剪貼簿!"
#: htdocs/luci-static/resources/view/fchomo/client.js:670 #: htdocs/luci-static/resources/view/fchomo/client.js:670
#: htdocs/luci-static/resources/view/fchomo/node.js:1489 #: htdocs/luci-static/resources/view/fchomo/node.js:1519
#: htdocs/luci-static/resources/view/fchomo/node.js:1515 #: htdocs/luci-static/resources/view/fchomo/node.js:1545
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:339 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:339
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:365 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:365
msgid "Content will not be verified, Please make sure you enter it correctly." msgid "Content will not be verified, Please make sure you enter it correctly."
msgstr "內容將不會被驗證,請確保輸入正確。" msgstr "內容將不會被驗證,請確保輸入正確。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1488 #: htdocs/luci-static/resources/view/fchomo/node.js:1518
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:338 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:338
msgid "Contents" msgid "Contents"
msgstr "內容" msgstr "內容"
@@ -571,7 +571,7 @@ msgstr "Cron 表達式"
msgid "Custom Direct List" msgid "Custom Direct List"
msgstr "自訂直連清單" msgstr "自訂直連清單"
#: htdocs/luci-static/resources/view/fchomo/node.js:1550 #: htdocs/luci-static/resources/view/fchomo/node.js:1580
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:400 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:400
msgid "Custom HTTP header." msgid "Custom HTTP header."
msgstr "自訂 HTTP header。" msgstr "自訂 HTTP header。"
@@ -639,11 +639,11 @@ msgstr "預設 DNS 伺服器"
msgid "Destination addresses allowed to be forwarded via Wireguard." msgid "Destination addresses allowed to be forwarded via Wireguard."
msgstr "允許通過 WireGuard 轉發的目的位址" msgstr "允許通過 WireGuard 轉發的目的位址"
#: htdocs/luci-static/resources/view/fchomo/node.js:1757 #: htdocs/luci-static/resources/view/fchomo/node.js:1787
msgid "Destination provider" msgid "Destination provider"
msgstr "落地供應商" msgstr "落地供應商"
#: htdocs/luci-static/resources/view/fchomo/node.js:1763 #: htdocs/luci-static/resources/view/fchomo/node.js:1793
msgid "Destination proxy node" msgid "Destination proxy node"
msgstr "落地代理節點" msgstr "落地代理節點"
@@ -651,8 +651,8 @@ msgstr "落地代理節點"
msgid "Dial fields" msgid "Dial fields"
msgstr "撥號欄位" msgstr "撥號欄位"
#: htdocs/luci-static/resources/view/fchomo/node.js:1770 #: htdocs/luci-static/resources/view/fchomo/node.js:1800
#: htdocs/luci-static/resources/view/fchomo/node.js:1790 #: htdocs/luci-static/resources/view/fchomo/node.js:1820
msgid "Different chain head/tail" msgid "Different chain head/tail"
msgstr "不同的鏈頭/鏈尾" msgstr "不同的鏈頭/鏈尾"
@@ -724,15 +724,15 @@ msgstr "不要在 ClientHello 中傳送伺服器名稱。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1577 #: htdocs/luci-static/resources/view/fchomo/client.js:1577
#: htdocs/luci-static/resources/view/fchomo/node.js:1038 #: htdocs/luci-static/resources/view/fchomo/node.js:1038
#: htdocs/luci-static/resources/view/fchomo/node.js:1619 #: htdocs/luci-static/resources/view/fchomo/node.js:1649
msgid "Donot verifying server certificate." msgid "Donot verifying server certificate."
msgstr "不驗證伺服器憑證。" msgstr "不驗證伺服器憑證。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1298 #: htdocs/luci-static/resources/view/fchomo/node.js:1328
msgid "Download bandwidth" msgid "Download bandwidth"
msgstr "下載頻寬" msgstr "下載頻寬"
#: htdocs/luci-static/resources/view/fchomo/node.js:1299 #: htdocs/luci-static/resources/view/fchomo/node.js:1329
msgid "Download bandwidth in Mbps." msgid "Download bandwidth in Mbps."
msgstr "下載頻寬(單位:Mbps)。" msgstr "下載頻寬(單位:Mbps)。"
@@ -773,11 +773,11 @@ msgstr ""
msgid "ETag support" msgid "ETag support"
msgstr "ETag 支援" msgstr "ETag 支援"
#: htdocs/luci-static/resources/view/fchomo/node.js:1211 #: htdocs/luci-static/resources/view/fchomo/node.js:1225
msgid "Early Data first packet length limit." msgid "Early Data first packet length limit."
msgstr "前置數據長度閾值" msgstr "前置數據長度閾值"
#: htdocs/luci-static/resources/view/fchomo/node.js:1217 #: htdocs/luci-static/resources/view/fchomo/node.js:1231
msgid "Early Data header name" msgid "Early Data header name"
msgstr "前置數據標頭" msgstr "前置數據標頭"
@@ -793,7 +793,7 @@ msgstr "編輯節點"
msgid "Edit ruleset" msgid "Edit ruleset"
msgstr "編輯規則集" msgstr "編輯規則集"
#: htdocs/luci-static/resources/view/fchomo/node.js:1486 #: htdocs/luci-static/resources/view/fchomo/node.js:1516
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:336 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:336
msgid "Editer" msgid "Editer"
msgstr "編輯器" msgstr "編輯器"
@@ -813,9 +813,9 @@ msgstr "消除加密頭特徵"
#: htdocs/luci-static/resources/view/fchomo/global.js:401 #: htdocs/luci-static/resources/view/fchomo/global.js:401
#: htdocs/luci-static/resources/view/fchomo/global.js:680 #: htdocs/luci-static/resources/view/fchomo/global.js:680
#: htdocs/luci-static/resources/view/fchomo/node.js:234 #: htdocs/luci-static/resources/view/fchomo/node.js:234
#: htdocs/luci-static/resources/view/fchomo/node.js:1459 #: htdocs/luci-static/resources/view/fchomo/node.js:1489
#: htdocs/luci-static/resources/view/fchomo/node.js:1655 #: htdocs/luci-static/resources/view/fchomo/node.js:1685
#: htdocs/luci-static/resources/view/fchomo/node.js:1744 #: htdocs/luci-static/resources/view/fchomo/node.js:1774
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:264 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:264
#: htdocs/luci-static/resources/view/fchomo/server.js:49 #: htdocs/luci-static/resources/view/fchomo/server.js:49
msgid "Enable" msgid "Enable"
@@ -846,15 +846,15 @@ msgstr ""
msgid "Enable ECH" msgid "Enable ECH"
msgstr "啟用 ECH" msgstr "啟用 ECH"
#: htdocs/luci-static/resources/view/fchomo/node.js:1286 #: htdocs/luci-static/resources/view/fchomo/node.js:1316
msgid "Enable TCP Brutal" msgid "Enable TCP Brutal"
msgstr "啟用 TCP Brutal" msgstr "啟用 TCP Brutal"
#: htdocs/luci-static/resources/view/fchomo/node.js:1287 #: htdocs/luci-static/resources/view/fchomo/node.js:1317
msgid "Enable TCP Brutal congestion control algorithm" msgid "Enable TCP Brutal congestion control algorithm"
msgstr "啟用 TCP Brutal 擁塞控制演算法。" msgstr "啟用 TCP Brutal 擁塞控制演算法。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1275 #: htdocs/luci-static/resources/view/fchomo/node.js:1305
msgid "Enable multiplexing only for TCP." msgid "Enable multiplexing only for TCP."
msgstr "僅為 TCP 啟用多路復用。" msgstr "僅為 TCP 啟用多路復用。"
@@ -863,16 +863,16 @@ msgstr "僅為 TCP 啟用多路復用。"
msgid "Enable obfuscate for downlink" msgid "Enable obfuscate for downlink"
msgstr "啟用下行鏈路混淆" msgstr "啟用下行鏈路混淆"
#: htdocs/luci-static/resources/view/fchomo/node.js:1269 #: htdocs/luci-static/resources/view/fchomo/node.js:1299
msgid "Enable padding" msgid "Enable padding"
msgstr "啟用填充" msgstr "啟用填充"
#: htdocs/luci-static/resources/view/fchomo/node.js:1280 #: htdocs/luci-static/resources/view/fchomo/node.js:1310
msgid "Enable statistic" msgid "Enable statistic"
msgstr "啟用統計" msgstr "啟用統計"
#: htdocs/luci-static/resources/view/fchomo/node.js:871 #: htdocs/luci-static/resources/view/fchomo/node.js:871
#: htdocs/luci-static/resources/view/fchomo/node.js:1601 #: htdocs/luci-static/resources/view/fchomo/node.js:1631
msgid "" msgid ""
"Enable the SUoT protocol, requires server support. Conflict with Multiplex." "Enable the SUoT protocol, requires server support. Conflict with Multiplex."
msgstr "啟用 SUoT 協議,需要服務端支援。與多路復用衝突。" msgstr "啟用 SUoT 協議,需要服務端支援。與多路復用衝突。"
@@ -911,7 +911,7 @@ msgid ""
"if empty." "if empty."
msgstr "超過此限制將會觸發強制健康檢查。留空則使用 <code>5</code>。" msgstr "超過此限制將會觸發強制健康檢查。留空則使用 <code>5</code>。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1713 #: htdocs/luci-static/resources/view/fchomo/node.js:1743
msgid "Exclude matched node types." msgid "Exclude matched node types."
msgstr "排除匹配的節點類型。" msgstr "排除匹配的節點類型。"
@@ -924,7 +924,7 @@ msgstr ""
"rel=\"noreferrer noopener\">此處</a>。" "rel=\"noreferrer noopener\">此處</a>。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1161 #: htdocs/luci-static/resources/view/fchomo/client.js:1161
#: htdocs/luci-static/resources/view/fchomo/node.js:1706 #: htdocs/luci-static/resources/view/fchomo/node.js:1736
msgid "Exclude nodes that meet keywords or regexps." msgid "Exclude nodes that meet keywords or regexps."
msgstr "排除匹配關鍵字或表達式的節點。" msgstr "排除匹配關鍵字或表達式的節點。"
@@ -933,12 +933,12 @@ msgid "Expand/Collapse result"
msgstr "展開/收起 結果" msgstr "展開/收起 結果"
#: htdocs/luci-static/resources/view/fchomo/client.js:1121 #: htdocs/luci-static/resources/view/fchomo/client.js:1121
#: htdocs/luci-static/resources/view/fchomo/node.js:1691 #: htdocs/luci-static/resources/view/fchomo/node.js:1721
msgid "Expected HTTP code. <code>204</code> will be used if empty." msgid "Expected HTTP code. <code>204</code> will be used if empty."
msgstr "預期的 HTTP code。留空則使用 <code>204</code>。" msgstr "預期的 HTTP code。留空則使用 <code>204</code>。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1123 #: htdocs/luci-static/resources/view/fchomo/client.js:1123
#: htdocs/luci-static/resources/view/fchomo/node.js:1693 #: htdocs/luci-static/resources/view/fchomo/node.js:1723
msgid "Expected status" msgid "Expected status"
msgstr "預期狀態" msgstr "預期狀態"
@@ -981,8 +981,8 @@ msgstr "預期狀態"
#: htdocs/luci-static/resources/view/fchomo/node.js:491 #: htdocs/luci-static/resources/view/fchomo/node.js:491
#: htdocs/luci-static/resources/view/fchomo/node.js:942 #: htdocs/luci-static/resources/view/fchomo/node.js:942
#: htdocs/luci-static/resources/view/fchomo/node.js:1030 #: htdocs/luci-static/resources/view/fchomo/node.js:1030
#: htdocs/luci-static/resources/view/fchomo/node.js:1770 #: htdocs/luci-static/resources/view/fchomo/node.js:1800
#: htdocs/luci-static/resources/view/fchomo/node.js:1790 #: htdocs/luci-static/resources/view/fchomo/node.js:1820
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:291 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:291
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:305 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:305
msgid "Expecting: %s" msgid "Expecting: %s"
@@ -992,6 +992,7 @@ msgstr "請輸入:%s"
#: htdocs/luci-static/resources/fchomo/listeners.js:984 #: htdocs/luci-static/resources/fchomo/listeners.js:984
#: htdocs/luci-static/resources/view/fchomo/node.js:1140 #: htdocs/luci-static/resources/view/fchomo/node.js:1140
#: htdocs/luci-static/resources/view/fchomo/node.js:1147 #: htdocs/luci-static/resources/view/fchomo/node.js:1147
#: htdocs/luci-static/resources/view/fchomo/node.js:1155
msgid "Expecting: only support %s." msgid "Expecting: only support %s."
msgstr "請輸入:僅支援 %s." msgstr "請輸入:僅支援 %s."
@@ -1041,7 +1042,7 @@ msgid "Fallback filter"
msgstr "後備過濾器" msgstr "後備過濾器"
#: htdocs/luci-static/resources/view/fchomo/client.js:1156 #: htdocs/luci-static/resources/view/fchomo/client.js:1156
#: htdocs/luci-static/resources/view/fchomo/node.js:1700 #: htdocs/luci-static/resources/view/fchomo/node.js:1730
msgid "Filter nodes that meet keywords or regexps." msgid "Filter nodes that meet keywords or regexps."
msgstr "過濾匹配關鍵字或表達式的節點。" msgstr "過濾匹配關鍵字或表達式的節點。"
@@ -1084,8 +1085,8 @@ msgstr ""
"noopener\">%s</a>." "noopener\">%s</a>."
#: htdocs/luci-static/resources/view/fchomo/client.js:1122 #: htdocs/luci-static/resources/view/fchomo/client.js:1122
#: htdocs/luci-static/resources/view/fchomo/node.js:1569 #: htdocs/luci-static/resources/view/fchomo/node.js:1599
#: htdocs/luci-static/resources/view/fchomo/node.js:1692 #: htdocs/luci-static/resources/view/fchomo/node.js:1722
msgid "" msgid ""
"For format see <a target=\"_blank\" href=\"%s\" rel=\"noreferrer " "For format see <a target=\"_blank\" href=\"%s\" rel=\"noreferrer "
"noopener\">%s</a>." "noopener\">%s</a>."
@@ -1113,7 +1114,7 @@ msgstr "格式"
msgid "FullCombo Shark!" msgid "FullCombo Shark!"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1166 #: htdocs/luci-static/resources/view/fchomo/node.js:1180
msgid "GET" msgid "GET"
msgstr "" msgstr ""
@@ -1128,7 +1129,7 @@ msgstr "常規"
#: htdocs/luci-static/resources/fchomo/listeners.js:119 #: htdocs/luci-static/resources/fchomo/listeners.js:119
#: htdocs/luci-static/resources/view/fchomo/client.js:1009 #: htdocs/luci-static/resources/view/fchomo/client.js:1009
#: htdocs/luci-static/resources/view/fchomo/node.js:222 #: htdocs/luci-static/resources/view/fchomo/node.js:222
#: htdocs/luci-static/resources/view/fchomo/node.js:1449 #: htdocs/luci-static/resources/view/fchomo/node.js:1479
msgid "General fields" msgid "General fields"
msgstr "常規欄位" msgstr "常規欄位"
@@ -1214,12 +1215,13 @@ msgstr "組"
#: htdocs/luci-static/resources/view/fchomo/node.js:816 #: htdocs/luci-static/resources/view/fchomo/node.js:816
#: htdocs/luci-static/resources/view/fchomo/node.js:1129 #: htdocs/luci-static/resources/view/fchomo/node.js:1129
#: htdocs/luci-static/resources/view/fchomo/node.js:1140 #: htdocs/luci-static/resources/view/fchomo/node.js:1140
#: htdocs/luci-static/resources/view/fchomo/node.js:1147
msgid "HTTP" msgid "HTTP"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:267 #: htdocs/luci-static/resources/view/fchomo/node.js:267
#: htdocs/luci-static/resources/view/fchomo/node.js:1188 #: htdocs/luci-static/resources/view/fchomo/node.js:1202
#: htdocs/luci-static/resources/view/fchomo/node.js:1549 #: htdocs/luci-static/resources/view/fchomo/node.js:1579
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:399 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:399
msgid "HTTP header" msgid "HTTP header"
msgstr "HTTP header" msgstr "HTTP header"
@@ -1245,7 +1247,7 @@ msgstr "HTTP 偽裝多路復用"
msgid "HTTP mask: %s" msgid "HTTP mask: %s"
msgstr "HTTP 偽裝: %s" msgstr "HTTP 偽裝: %s"
#: htdocs/luci-static/resources/view/fchomo/node.js:1165 #: htdocs/luci-static/resources/view/fchomo/node.js:1179
msgid "HTTP request method" msgid "HTTP request method"
msgstr "HTTP 請求方法" msgstr "HTTP 請求方法"
@@ -1267,6 +1269,7 @@ msgstr "身份驗證失敗時的 HTTP3 伺服器回應。預設回傳 404 頁面
#: htdocs/luci-static/resources/fchomo/listeners.js:978 #: htdocs/luci-static/resources/fchomo/listeners.js:978
#: htdocs/luci-static/resources/view/fchomo/node.js:1130 #: htdocs/luci-static/resources/view/fchomo/node.js:1130
#: htdocs/luci-static/resources/view/fchomo/node.js:1141 #: htdocs/luci-static/resources/view/fchomo/node.js:1141
#: htdocs/luci-static/resources/view/fchomo/node.js:1148
msgid "HTTPUpgrade" msgid "HTTPUpgrade"
msgstr "" msgstr ""
@@ -1291,27 +1294,27 @@ msgid "Health check"
msgstr "健康檢查" msgstr "健康檢查"
#: htdocs/luci-static/resources/view/fchomo/client.js:1091 #: htdocs/luci-static/resources/view/fchomo/client.js:1091
#: htdocs/luci-static/resources/view/fchomo/node.js:1660 #: htdocs/luci-static/resources/view/fchomo/node.js:1690
msgid "Health check URL" msgid "Health check URL"
msgstr "健康檢查 URL" msgstr "健康檢查 URL"
#: htdocs/luci-static/resources/view/fchomo/client.js:1120 #: htdocs/luci-static/resources/view/fchomo/client.js:1120
#: htdocs/luci-static/resources/view/fchomo/node.js:1690 #: htdocs/luci-static/resources/view/fchomo/node.js:1720
msgid "Health check expected status" msgid "Health check expected status"
msgstr "健康檢查预期状态" msgstr "健康檢查预期状态"
#: htdocs/luci-static/resources/view/fchomo/client.js:1100 #: htdocs/luci-static/resources/view/fchomo/client.js:1100
#: htdocs/luci-static/resources/view/fchomo/node.js:1670 #: htdocs/luci-static/resources/view/fchomo/node.js:1700
msgid "Health check interval" msgid "Health check interval"
msgstr "健康檢查間隔" msgstr "健康檢查間隔"
#: htdocs/luci-static/resources/view/fchomo/client.js:1107 #: htdocs/luci-static/resources/view/fchomo/client.js:1107
#: htdocs/luci-static/resources/view/fchomo/node.js:1677 #: htdocs/luci-static/resources/view/fchomo/node.js:1707
msgid "Health check timeout" msgid "Health check timeout"
msgstr "健康檢查超时" msgstr "健康檢查超时"
#: htdocs/luci-static/resources/view/fchomo/client.js:1011 #: htdocs/luci-static/resources/view/fchomo/client.js:1011
#: htdocs/luci-static/resources/view/fchomo/node.js:1451 #: htdocs/luci-static/resources/view/fchomo/node.js:1481
msgid "Health fields" msgid "Health fields"
msgstr "健康欄位" msgstr "健康欄位"
@@ -1362,8 +1365,8 @@ msgstr ""
msgid "IP override" msgid "IP override"
msgstr "IP 覆寫" msgstr "IP 覆寫"
#: htdocs/luci-static/resources/view/fchomo/node.js:1331 #: htdocs/luci-static/resources/view/fchomo/node.js:1361
#: htdocs/luci-static/resources/view/fchomo/node.js:1646 #: htdocs/luci-static/resources/view/fchomo/node.js:1676
msgid "IP version" msgid "IP version"
msgstr "IP 版本" msgstr "IP 版本"
@@ -1424,8 +1427,8 @@ msgstr "導入"
#: htdocs/luci-static/resources/view/fchomo/client.js:1713 #: htdocs/luci-static/resources/view/fchomo/client.js:1713
#: htdocs/luci-static/resources/view/fchomo/client.js:1748 #: htdocs/luci-static/resources/view/fchomo/client.js:1748
#: htdocs/luci-static/resources/view/fchomo/client.js:1769 #: htdocs/luci-static/resources/view/fchomo/client.js:1769
#: htdocs/luci-static/resources/view/fchomo/node.js:1356 #: htdocs/luci-static/resources/view/fchomo/node.js:1386
#: htdocs/luci-static/resources/view/fchomo/node.js:1437 #: htdocs/luci-static/resources/view/fchomo/node.js:1467
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:153 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:153
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:241 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:241
msgid "Import mihomo config" msgid "Import mihomo config"
@@ -1441,12 +1444,12 @@ msgstr "導入規則集連結"
#: htdocs/luci-static/resources/fchomo/listeners.js:181 #: htdocs/luci-static/resources/fchomo/listeners.js:181
#: htdocs/luci-static/resources/view/fchomo/node.js:286 #: htdocs/luci-static/resources/view/fchomo/node.js:286
#: htdocs/luci-static/resources/view/fchomo/node.js:292 #: htdocs/luci-static/resources/view/fchomo/node.js:292
#: htdocs/luci-static/resources/view/fchomo/node.js:1607 #: htdocs/luci-static/resources/view/fchomo/node.js:1637
#: htdocs/luci-static/resources/view/fchomo/node.js:1613 #: htdocs/luci-static/resources/view/fchomo/node.js:1643
msgid "In Mbps." msgid "In Mbps."
msgstr "單位為 Mbps。" msgstr "單位為 Mbps。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1527 #: htdocs/luci-static/resources/view/fchomo/node.js:1557
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:377 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:377
msgid "In bytes. <code>%s</code> will be used if empty." msgid "In bytes. <code>%s</code> will be used if empty."
msgstr "單位為位元組。留空則使用 <code>%s</code>。" msgstr "單位為位元組。留空則使用 <code>%s</code>。"
@@ -1458,7 +1461,7 @@ msgstr "單位為毫秒。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1108 #: htdocs/luci-static/resources/view/fchomo/client.js:1108
#: htdocs/luci-static/resources/view/fchomo/client.js:1137 #: htdocs/luci-static/resources/view/fchomo/client.js:1137
#: htdocs/luci-static/resources/view/fchomo/node.js:1678 #: htdocs/luci-static/resources/view/fchomo/node.js:1708
msgid "In millisecond. <code>%s</code> will be used if empty." msgid "In millisecond. <code>%s</code> will be used if empty."
msgstr "單位為毫秒。留空則使用 <code>%s</code>。" msgstr "單位為毫秒。留空則使用 <code>%s</code>。"
@@ -1467,7 +1470,7 @@ msgstr "單位為毫秒。留空則使用 <code>%s</code>。"
#: htdocs/luci-static/resources/fchomo/listeners.js:428 #: htdocs/luci-static/resources/fchomo/listeners.js:428
#: htdocs/luci-static/resources/view/fchomo/node.js:604 #: htdocs/luci-static/resources/view/fchomo/node.js:604
#: htdocs/luci-static/resources/view/fchomo/node.js:611 #: htdocs/luci-static/resources/view/fchomo/node.js:611
#: htdocs/luci-static/resources/view/fchomo/node.js:1204 #: htdocs/luci-static/resources/view/fchomo/node.js:1218
msgid "In seconds." msgid "In seconds."
msgstr "單位為秒。" msgstr "單位為秒。"
@@ -1476,8 +1479,8 @@ msgstr "單位為秒。"
#: htdocs/luci-static/resources/view/fchomo/global.js:430 #: htdocs/luci-static/resources/view/fchomo/global.js:430
#: htdocs/luci-static/resources/view/fchomo/global.js:515 #: htdocs/luci-static/resources/view/fchomo/global.js:515
#: htdocs/luci-static/resources/view/fchomo/node.js:280 #: htdocs/luci-static/resources/view/fchomo/node.js:280
#: htdocs/luci-static/resources/view/fchomo/node.js:1533 #: htdocs/luci-static/resources/view/fchomo/node.js:1563
#: htdocs/luci-static/resources/view/fchomo/node.js:1671 #: htdocs/luci-static/resources/view/fchomo/node.js:1701
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:383 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:383
msgid "In seconds. <code>%s</code> will be used if empty." msgid "In seconds. <code>%s</code> will be used if empty."
msgstr "單位為秒。留空則使用 <code>%s</code>。" msgstr "單位為秒。留空則使用 <code>%s</code>。"
@@ -1525,7 +1528,7 @@ msgstr "引入所有代理節點。"
msgid "Info" msgid "Info"
msgstr "訊息" msgstr "訊息"
#: htdocs/luci-static/resources/view/fchomo/node.js:1466 #: htdocs/luci-static/resources/view/fchomo/node.js:1496
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:279 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:279
msgid "Inline" msgid "Inline"
msgstr "內嵌" msgstr "內嵌"
@@ -1562,14 +1565,14 @@ msgstr "密鑰對"
#: htdocs/luci-static/resources/view/fchomo/client.js:1719 #: htdocs/luci-static/resources/view/fchomo/client.js:1719
#: htdocs/luci-static/resources/view/fchomo/client.js:1775 #: htdocs/luci-static/resources/view/fchomo/client.js:1775
#: htdocs/luci-static/resources/view/fchomo/node.js:229 #: htdocs/luci-static/resources/view/fchomo/node.js:229
#: htdocs/luci-static/resources/view/fchomo/node.js:1454 #: htdocs/luci-static/resources/view/fchomo/node.js:1484
#: htdocs/luci-static/resources/view/fchomo/node.js:1739 #: htdocs/luci-static/resources/view/fchomo/node.js:1769
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:259 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:259
msgid "Label" msgid "Label"
msgstr "標籤" msgstr "標籤"
#: htdocs/luci-static/resources/view/fchomo/client.js:1114 #: htdocs/luci-static/resources/view/fchomo/client.js:1114
#: htdocs/luci-static/resources/view/fchomo/node.js:1684 #: htdocs/luci-static/resources/view/fchomo/node.js:1714
msgid "Lazy" msgid "Lazy"
msgstr "懶惰狀態" msgstr "懶惰狀態"
@@ -1620,7 +1623,7 @@ msgstr "監聽埠"
msgid "Load balance" msgid "Load balance"
msgstr "負載均衡" msgstr "負載均衡"
#: htdocs/luci-static/resources/view/fchomo/node.js:1464 #: htdocs/luci-static/resources/view/fchomo/node.js:1494
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:277 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:277
msgid "Local" msgid "Local"
msgstr "本地" msgstr "本地"
@@ -1654,9 +1657,11 @@ msgstr "日誌等級"
#: htdocs/luci-static/resources/fchomo/listeners.js:324 #: htdocs/luci-static/resources/fchomo/listeners.js:324
#: htdocs/luci-static/resources/fchomo/listeners.js:325 #: htdocs/luci-static/resources/fchomo/listeners.js:325
#: htdocs/luci-static/resources/fchomo/listeners.js:326 #: htdocs/luci-static/resources/fchomo/listeners.js:326
#: htdocs/luci-static/resources/fchomo/listeners.js:331
#: htdocs/luci-static/resources/view/fchomo/node.js:409 #: htdocs/luci-static/resources/view/fchomo/node.js:409
#: htdocs/luci-static/resources/view/fchomo/node.js:410 #: htdocs/luci-static/resources/view/fchomo/node.js:410
#: htdocs/luci-static/resources/view/fchomo/node.js:411 #: htdocs/luci-static/resources/view/fchomo/node.js:411
#: htdocs/luci-static/resources/view/fchomo/node.js:416
msgid "Low-entropy data stream" msgid "Low-entropy data stream"
msgstr "低熵資料流" msgstr "低熵資料流"
@@ -1706,7 +1711,7 @@ msgstr "匹配回應通過 ipcidr</br>"
msgid "Match rule set." msgid "Match rule set."
msgstr "匹配規則集。" msgstr "匹配規則集。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1210 #: htdocs/luci-static/resources/view/fchomo/node.js:1224
msgid "Max Early Data" msgid "Max Early Data"
msgstr "前置數據最大值" msgstr "前置數據最大值"
@@ -1733,12 +1738,12 @@ msgstr "限制打開流的數量"
msgid "Max upload speed" msgid "Max upload speed"
msgstr "最大上傳速度" msgstr "最大上傳速度"
#: htdocs/luci-static/resources/view/fchomo/node.js:1247 #: htdocs/luci-static/resources/view/fchomo/node.js:1277
#: htdocs/luci-static/resources/view/fchomo/node.js:1263 #: htdocs/luci-static/resources/view/fchomo/node.js:1293
msgid "Maximum connections" msgid "Maximum connections"
msgstr "最大連線數" msgstr "最大連線數"
#: htdocs/luci-static/resources/view/fchomo/node.js:1261 #: htdocs/luci-static/resources/view/fchomo/node.js:1291
msgid "" msgid ""
"Maximum multiplexed streams in a connection before opening a new connection." "Maximum multiplexed streams in a connection before opening a new connection."
"<br/>Conflict with <code>%s</code> and <code>%s</code>." "<br/>Conflict with <code>%s</code> and <code>%s</code>."
@@ -1758,7 +1763,7 @@ msgid ""
"rate." "rate."
msgstr "最大填充率必須大於等于最小填充率。" msgstr "最大填充率必須大於等于最小填充率。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1260 #: htdocs/luci-static/resources/view/fchomo/node.js:1290
msgid "Maximum streams" msgid "Maximum streams"
msgstr "最大流數量" msgstr "最大流數量"
@@ -1783,7 +1788,7 @@ msgstr "Mihomo 服務端"
msgid "Min of idle sessions to keep" msgid "Min of idle sessions to keep"
msgstr "要保留的最少閒置會話數" msgstr "要保留的最少閒置會話數"
#: htdocs/luci-static/resources/view/fchomo/node.js:1254 #: htdocs/luci-static/resources/view/fchomo/node.js:1284
msgid "" msgid ""
"Minimum multiplexed streams in a connection before opening a new connection." "Minimum multiplexed streams in a connection before opening a new connection."
msgstr "在開啟新連線之前,連線中的最小多路復用流數量。" msgstr "在開啟新連線之前,連線中的最小多路復用流數量。"
@@ -1793,8 +1798,8 @@ msgstr "在開啟新連線之前,連線中的最小多路復用流數量。"
msgid "Minimum padding rate" msgid "Minimum padding rate"
msgstr "最小填充率" msgstr "最小填充率"
#: htdocs/luci-static/resources/view/fchomo/node.js:1253 #: htdocs/luci-static/resources/view/fchomo/node.js:1283
#: htdocs/luci-static/resources/view/fchomo/node.js:1263 #: htdocs/luci-static/resources/view/fchomo/node.js:1293
msgid "Minimum streams" msgid "Minimum streams"
msgstr "最小流數量" msgstr "最小流數量"
@@ -1811,7 +1816,7 @@ msgstr "混合 <code>系統</code> TCP 堆栈和 <code>gVisor</code> UDP 堆栈
msgid "Mixed port" msgid "Mixed port"
msgstr "混合連接埠" msgstr "混合連接埠"
#: htdocs/luci-static/resources/view/fchomo/node.js:1233 #: htdocs/luci-static/resources/view/fchomo/node.js:1263
msgid "Multiplex" msgid "Multiplex"
msgstr "多路復用" msgstr "多路復用"
@@ -1833,7 +1838,7 @@ msgstr "NOT"
msgid "Name of the Proxy group as outbound." msgid "Name of the Proxy group as outbound."
msgstr "出站代理組的名稱。" msgstr "出站代理組的名稱。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1539 #: htdocs/luci-static/resources/view/fchomo/node.js:1569
msgid "Name of the Proxy group to download provider." msgid "Name of the Proxy group to download provider."
msgstr "用於下載供應商訂閱的代理組名稱。" msgstr "用於下載供應商訂閱的代理組名稱。"
@@ -1865,8 +1870,12 @@ msgstr "無需認證的 IP 範圍"
msgid "No add'l params" msgid "No add'l params"
msgstr "無附加參數" msgstr "無附加參數"
#: htdocs/luci-static/resources/view/fchomo/node.js:1252
msgid "No gRPC header"
msgstr "無 gRPC header"
#: htdocs/luci-static/resources/view/fchomo/client.js:1115 #: htdocs/luci-static/resources/view/fchomo/client.js:1115
#: htdocs/luci-static/resources/view/fchomo/node.js:1685 #: htdocs/luci-static/resources/view/fchomo/node.js:1715
msgid "No testing is performed when this provider node is not in use." msgid "No testing is performed when this provider node is not in use."
msgstr "當此供應商的節點未使用時,不執行任何測試。" msgstr "當此供應商的節點未使用時,不執行任何測試。"
@@ -1885,17 +1894,17 @@ msgid "Node"
msgstr "節點" msgstr "節點"
#: htdocs/luci-static/resources/view/fchomo/client.js:1160 #: htdocs/luci-static/resources/view/fchomo/client.js:1160
#: htdocs/luci-static/resources/view/fchomo/node.js:1705 #: htdocs/luci-static/resources/view/fchomo/node.js:1735
msgid "Node exclude filter" msgid "Node exclude filter"
msgstr "排除節點" msgstr "排除節點"
#: htdocs/luci-static/resources/view/fchomo/client.js:1165 #: htdocs/luci-static/resources/view/fchomo/client.js:1165
#: htdocs/luci-static/resources/view/fchomo/node.js:1712 #: htdocs/luci-static/resources/view/fchomo/node.js:1742
msgid "Node exclude type" msgid "Node exclude type"
msgstr "排除節點類型" msgstr "排除節點類型"
#: htdocs/luci-static/resources/view/fchomo/client.js:1155 #: htdocs/luci-static/resources/view/fchomo/client.js:1155
#: htdocs/luci-static/resources/view/fchomo/node.js:1699 #: htdocs/luci-static/resources/view/fchomo/node.js:1729
msgid "Node filter" msgid "Node filter"
msgstr "過濾節點" msgstr "過濾節點"
@@ -1973,7 +1982,7 @@ msgid "Override destination"
msgstr "覆蓋目標位址" msgstr "覆蓋目標位址"
#: htdocs/luci-static/resources/view/fchomo/client.js:1010 #: htdocs/luci-static/resources/view/fchomo/client.js:1010
#: htdocs/luci-static/resources/view/fchomo/node.js:1450 #: htdocs/luci-static/resources/view/fchomo/node.js:1480
msgid "Override fields" msgid "Override fields"
msgstr "覆蓋欄位" msgstr "覆蓋欄位"
@@ -2001,11 +2010,11 @@ msgstr "覆蓋用於 HTTPS 記錄查詢的網域。"
msgid "Overview" msgid "Overview"
msgstr "概覽" msgstr "概覽"
#: htdocs/luci-static/resources/view/fchomo/node.js:1167 #: htdocs/luci-static/resources/view/fchomo/node.js:1181
msgid "POST" msgid "POST"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1168 #: htdocs/luci-static/resources/view/fchomo/node.js:1182
msgid "PUT" msgid "PUT"
msgstr "" msgstr ""
@@ -2013,6 +2022,10 @@ msgstr ""
msgid "Packet encoding" msgid "Packet encoding"
msgstr "數據包編碼" msgstr "數據包編碼"
#: htdocs/luci-static/resources/view/fchomo/node.js:1257
msgid "Padding bytes"
msgstr "填充位元組"
#: htdocs/luci-static/resources/fchomo/listeners.js:458 #: htdocs/luci-static/resources/fchomo/listeners.js:458
msgid "Padding scheme" msgid "Padding scheme"
msgstr "填充方案" msgstr "填充方案"
@@ -2032,7 +2045,7 @@ msgid "Password"
msgstr "密碼" msgstr "密碼"
#: htdocs/luci-static/resources/fchomo/listeners.js:587 #: htdocs/luci-static/resources/fchomo/listeners.js:587
#: htdocs/luci-static/resources/view/fchomo/node.js:1514 #: htdocs/luci-static/resources/view/fchomo/node.js:1544
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:364 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:364
msgid "Payload" msgid "Payload"
msgstr "Payload" msgstr "Payload"
@@ -2074,8 +2087,8 @@ msgid ""
"standards." "standards."
msgstr "連結格式標準請參考 <a href=\"%s\" target=\"_blank\">%s</a>。" msgstr "連結格式標準請參考 <a href=\"%s\" target=\"_blank\">%s</a>。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1487 #: htdocs/luci-static/resources/view/fchomo/node.js:1517
#: htdocs/luci-static/resources/view/fchomo/node.js:1513 #: htdocs/luci-static/resources/view/fchomo/node.js:1543
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:337 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:337
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:363 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:363
msgid "" msgid ""
@@ -2090,7 +2103,7 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:1445 #: htdocs/luci-static/resources/view/fchomo/client.js:1445
#: htdocs/luci-static/resources/view/fchomo/client.js:1697 #: htdocs/luci-static/resources/view/fchomo/client.js:1697
#: htdocs/luci-static/resources/view/fchomo/client.js:1749 #: htdocs/luci-static/resources/view/fchomo/client.js:1749
#: htdocs/luci-static/resources/view/fchomo/node.js:1357 #: htdocs/luci-static/resources/view/fchomo/node.js:1387
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:154 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:154
msgid "Please type <code>%s</code> fields of mihomo config.</br>" msgid "Please type <code>%s</code> fields of mihomo config.</br>"
msgstr "請輸入 mihomo 配置的 <code>%s</code> 欄位。</br>" msgstr "請輸入 mihomo 配置的 <code>%s</code> 欄位。</br>"
@@ -2157,10 +2170,10 @@ msgstr "防止某些情況下的 ICMP 環回問題。 Ping 不會顯示實際延
#: htdocs/luci-static/resources/view/fchomo/global.js:736 #: htdocs/luci-static/resources/view/fchomo/global.js:736
#: htdocs/luci-static/resources/view/fchomo/global.js:753 #: htdocs/luci-static/resources/view/fchomo/global.js:753
#: htdocs/luci-static/resources/view/fchomo/node.js:1321 #: htdocs/luci-static/resources/view/fchomo/node.js:1351
#: htdocs/luci-static/resources/view/fchomo/node.js:1327 #: htdocs/luci-static/resources/view/fchomo/node.js:1357
#: htdocs/luci-static/resources/view/fchomo/node.js:1634 #: htdocs/luci-static/resources/view/fchomo/node.js:1664
#: htdocs/luci-static/resources/view/fchomo/node.js:1641 #: htdocs/luci-static/resources/view/fchomo/node.js:1671
msgid "Priority: Proxy Node > Global." msgid "Priority: Proxy Node > Global."
msgstr "優先權: 代理節點 > 全域。" msgstr "優先權: 代理節點 > 全域。"
@@ -2182,7 +2195,7 @@ msgid "Process matching mode"
msgstr "進程匹配模式" msgstr "進程匹配模式"
#: htdocs/luci-static/resources/view/fchomo/global.js:684 #: htdocs/luci-static/resources/view/fchomo/global.js:684
#: htdocs/luci-static/resources/view/fchomo/node.js:1239 #: htdocs/luci-static/resources/view/fchomo/node.js:1269
msgid "Protocol" msgid "Protocol"
msgstr "協議" msgstr "協議"
@@ -2197,13 +2210,13 @@ msgid ""
msgstr "協議參數。 如啟用會隨機浪費流量(在 v2ray 中預設為啟用且無法停用)。" msgstr "協議參數。 如啟用會隨機浪費流量(在 v2ray 中預設為啟用且無法停用)。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1055 #: htdocs/luci-static/resources/view/fchomo/client.js:1055
#: htdocs/luci-static/resources/view/fchomo/node.js:1340 #: htdocs/luci-static/resources/view/fchomo/node.js:1370
#: htdocs/luci-static/resources/view/fchomo/node.js:1349 #: htdocs/luci-static/resources/view/fchomo/node.js:1379
#: htdocs/luci-static/resources/view/fchomo/node.js:1750 #: htdocs/luci-static/resources/view/fchomo/node.js:1780
msgid "Provider" msgid "Provider"
msgstr "供應商" msgstr "供應商"
#: htdocs/luci-static/resources/view/fchomo/node.js:1520 #: htdocs/luci-static/resources/view/fchomo/node.js:1550
msgid "Provider URL" msgid "Provider URL"
msgstr "供應商訂閱 URL" msgstr "供應商訂閱 URL"
@@ -2226,19 +2239,19 @@ msgid "Proxy MAC-s"
msgstr "代理 MAC 位址" msgstr "代理 MAC 位址"
#: htdocs/luci-static/resources/view/fchomo/node.js:208 #: htdocs/luci-static/resources/view/fchomo/node.js:208
#: htdocs/luci-static/resources/view/fchomo/node.js:1749 #: htdocs/luci-static/resources/view/fchomo/node.js:1779
msgid "Proxy Node" msgid "Proxy Node"
msgstr "代理節點" msgstr "代理節點"
#: htdocs/luci-static/resources/view/fchomo/node.js:1725 #: htdocs/luci-static/resources/view/fchomo/node.js:1755
#: htdocs/luci-static/resources/view/fchomo/node.js:1734 #: htdocs/luci-static/resources/view/fchomo/node.js:1764
msgid "Proxy chain" msgid "Proxy chain"
msgstr "代理鏈" msgstr "代理鏈"
#: htdocs/luci-static/resources/fchomo/listeners.js:530 #: htdocs/luci-static/resources/fchomo/listeners.js:530
#: htdocs/luci-static/resources/view/fchomo/client.js:783 #: htdocs/luci-static/resources/view/fchomo/client.js:783
#: htdocs/luci-static/resources/view/fchomo/client.js:1543 #: htdocs/luci-static/resources/view/fchomo/client.js:1543
#: htdocs/luci-static/resources/view/fchomo/node.js:1538 #: htdocs/luci-static/resources/view/fchomo/node.js:1568
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:388 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:388
msgid "Proxy group" msgid "Proxy group"
msgstr "代理組" msgstr "代理組"
@@ -2345,7 +2358,7 @@ msgstr "重載"
msgid "Reload All" msgid "Reload All"
msgstr "重載所有" msgstr "重載所有"
#: htdocs/luci-static/resources/view/fchomo/node.js:1465 #: htdocs/luci-static/resources/view/fchomo/node.js:1495
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:278 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:278
msgid "Remote" msgid "Remote"
msgstr "遠端" msgstr "遠端"
@@ -2360,18 +2373,18 @@ msgid "Remove"
msgstr "移除" msgstr "移除"
#: htdocs/luci-static/resources/fchomo.js:1354 #: htdocs/luci-static/resources/fchomo.js:1354
#: htdocs/luci-static/resources/view/fchomo/node.js:1441 #: htdocs/luci-static/resources/view/fchomo/node.js:1471
#: htdocs/luci-static/resources/view/fchomo/node.js:1443 #: htdocs/luci-static/resources/view/fchomo/node.js:1473
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:251 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:251
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:253 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:253
msgid "Remove idles" msgid "Remove idles"
msgstr "移除閒置" msgstr "移除閒置"
#: htdocs/luci-static/resources/view/fchomo/node.js:1567 #: htdocs/luci-static/resources/view/fchomo/node.js:1597
msgid "Replace name" msgid "Replace name"
msgstr "名稱替換" msgstr "名稱替換"
#: htdocs/luci-static/resources/view/fchomo/node.js:1568 #: htdocs/luci-static/resources/view/fchomo/node.js:1598
msgid "Replace node name." msgid "Replace node name."
msgstr "替換節點名稱" msgstr "替換節點名稱"
@@ -2380,8 +2393,8 @@ msgid "Request"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:996 #: htdocs/luci-static/resources/fchomo/listeners.js:996
#: htdocs/luci-static/resources/view/fchomo/node.js:1174 #: htdocs/luci-static/resources/view/fchomo/node.js:1188
#: htdocs/luci-static/resources/view/fchomo/node.js:1181 #: htdocs/luci-static/resources/view/fchomo/node.js:1195
msgid "Request path" msgid "Request path"
msgstr "請求路徑" msgstr "請求路徑"
@@ -2446,8 +2459,8 @@ msgstr "路由 DSCP"
msgid "Routing GFW" msgid "Routing GFW"
msgstr "路由 GFW 流量" msgstr "路由 GFW 流量"
#: htdocs/luci-static/resources/view/fchomo/node.js:1326 #: htdocs/luci-static/resources/view/fchomo/node.js:1356
#: htdocs/luci-static/resources/view/fchomo/node.js:1640 #: htdocs/luci-static/resources/view/fchomo/node.js:1670
msgid "Routing mark" msgid "Routing mark"
msgstr "路由標記" msgstr "路由標記"
@@ -2585,7 +2598,8 @@ msgstr "服務端"
msgid "Server address" msgid "Server address"
msgstr "伺服器位址" msgstr "伺服器位址"
#: htdocs/luci-static/resources/view/fchomo/node.js:1159 #: htdocs/luci-static/resources/view/fchomo/node.js:1167
#: htdocs/luci-static/resources/view/fchomo/node.js:1173
msgid "Server hostname" msgid "Server hostname"
msgstr "伺服器主機名稱" msgstr "伺服器主機名稱"
@@ -2617,7 +2631,7 @@ msgstr "Shadowsocks 加密"
msgid "Shadowsocks password" msgid "Shadowsocks password"
msgstr "Shadowsocks 密碼" msgstr "Shadowsocks 密碼"
#: htdocs/luci-static/resources/view/fchomo/node.js:1281 #: htdocs/luci-static/resources/view/fchomo/node.js:1311
msgid "Show connections in the dashboard for breaking connections easier." msgid "Show connections in the dashboard for breaking connections easier."
msgstr "在面板中顯示連線以便於打斷連線。" msgstr "在面板中顯示連線以便於打斷連線。"
@@ -2629,14 +2643,14 @@ msgstr "靜音"
msgid "Simple round-robin all nodes" msgid "Simple round-robin all nodes"
msgstr "簡單輪替所有節點" msgstr "簡單輪替所有節點"
#: htdocs/luci-static/resources/view/fchomo/node.js:1526 #: htdocs/luci-static/resources/view/fchomo/node.js:1556
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:376 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:376
msgid "Size limit" msgid "Size limit"
msgstr "大小限制" msgstr "大小限制"
#: htdocs/luci-static/resources/view/fchomo/client.js:1576 #: htdocs/luci-static/resources/view/fchomo/client.js:1576
#: htdocs/luci-static/resources/view/fchomo/node.js:1037 #: htdocs/luci-static/resources/view/fchomo/node.js:1037
#: htdocs/luci-static/resources/view/fchomo/node.js:1618 #: htdocs/luci-static/resources/view/fchomo/node.js:1648
msgid "Skip cert verify" msgid "Skip cert verify"
msgstr "跳過憑證驗證" msgstr "跳過憑證驗證"
@@ -2764,7 +2778,7 @@ msgstr "TCP"
msgid "TCP concurrency" msgid "TCP concurrency"
msgstr "TCP 併發" msgstr "TCP 併發"
#: htdocs/luci-static/resources/view/fchomo/node.js:1274 #: htdocs/luci-static/resources/view/fchomo/node.js:1304
msgid "TCP only" msgid "TCP only"
msgstr "僅 TCP" msgstr "僅 TCP"
@@ -2790,8 +2804,8 @@ msgstr "TCP-Keep-Alive 間隔"
msgid "TCP/UDP" msgid "TCP/UDP"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1305 #: htdocs/luci-static/resources/view/fchomo/node.js:1335
#: htdocs/luci-static/resources/view/fchomo/node.js:1585 #: htdocs/luci-static/resources/view/fchomo/node.js:1615
msgid "TFO" msgid "TFO"
msgstr "TCP 快速開啟 (TFO)" msgstr "TCP 快速開啟 (TFO)"
@@ -2903,7 +2917,7 @@ msgstr "此 ECH 參數需要加入到網域的 HTTPS 記錄中。"
#: htdocs/luci-static/resources/view/fchomo/client.js:1579 #: htdocs/luci-static/resources/view/fchomo/client.js:1579
#: htdocs/luci-static/resources/view/fchomo/node.js:1040 #: htdocs/luci-static/resources/view/fchomo/node.js:1040
#: htdocs/luci-static/resources/view/fchomo/node.js:1621 #: htdocs/luci-static/resources/view/fchomo/node.js:1651
msgid "" msgid ""
"This is <strong>DANGEROUS</strong>, your traffic is almost like " "This is <strong>DANGEROUS</strong>, your traffic is almost like "
"<strong>PLAIN TEXT</strong>! Use at your own risk!" "<strong>PLAIN TEXT</strong>! Use at your own risk!"
@@ -2947,11 +2961,11 @@ msgstr "Tproxy 連接埠"
msgid "Traffic pattern" msgid "Traffic pattern"
msgstr "流量模式" msgstr "流量模式"
#: htdocs/luci-static/resources/view/fchomo/node.js:1777 #: htdocs/luci-static/resources/view/fchomo/node.js:1807
msgid "Transit proxy group" msgid "Transit proxy group"
msgstr "中轉代理組" msgstr "中轉代理組"
#: htdocs/luci-static/resources/view/fchomo/node.js:1783 #: htdocs/luci-static/resources/view/fchomo/node.js:1813
msgid "Transit proxy node" msgid "Transit proxy node"
msgstr "中轉代理節點" msgstr "中轉代理節點"
@@ -3013,8 +3027,8 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:842 #: htdocs/luci-static/resources/view/fchomo/client.js:842
#: htdocs/luci-static/resources/view/fchomo/client.js:1028 #: htdocs/luci-static/resources/view/fchomo/client.js:1028
#: htdocs/luci-static/resources/view/fchomo/node.js:238 #: htdocs/luci-static/resources/view/fchomo/node.js:238
#: htdocs/luci-static/resources/view/fchomo/node.js:1463 #: htdocs/luci-static/resources/view/fchomo/node.js:1493
#: htdocs/luci-static/resources/view/fchomo/node.js:1748 #: htdocs/luci-static/resources/view/fchomo/node.js:1778
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:276 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:276
msgid "Type" msgid "Type"
msgstr "類型" msgstr "類型"
@@ -3030,7 +3044,7 @@ msgstr "類型"
#: htdocs/luci-static/resources/view/fchomo/client.js:588 #: htdocs/luci-static/resources/view/fchomo/client.js:588
#: htdocs/luci-static/resources/view/fchomo/client.js:678 #: htdocs/luci-static/resources/view/fchomo/client.js:678
#: htdocs/luci-static/resources/view/fchomo/node.js:865 #: htdocs/luci-static/resources/view/fchomo/node.js:865
#: htdocs/luci-static/resources/view/fchomo/node.js:1595 #: htdocs/luci-static/resources/view/fchomo/node.js:1625
msgid "UDP" msgid "UDP"
msgstr "UDP" msgstr "UDP"
@@ -3099,7 +3113,7 @@ msgid "Unknown error: %s"
msgstr "未知錯誤:%s" msgstr "未知錯誤:%s"
#: htdocs/luci-static/resources/view/fchomo/node.js:870 #: htdocs/luci-static/resources/view/fchomo/node.js:870
#: htdocs/luci-static/resources/view/fchomo/node.js:1600 #: htdocs/luci-static/resources/view/fchomo/node.js:1630
msgid "UoT" msgid "UoT"
msgstr "UDP over TCP (UoT)" msgstr "UDP over TCP (UoT)"
@@ -3107,16 +3121,16 @@ msgstr "UDP over TCP (UoT)"
msgid "Update failed." msgid "Update failed."
msgstr "更新失敗。" msgstr "更新失敗。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1532 #: htdocs/luci-static/resources/view/fchomo/node.js:1562
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:382 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:382
msgid "Update interval" msgid "Update interval"
msgstr "更新間隔" msgstr "更新間隔"
#: htdocs/luci-static/resources/view/fchomo/node.js:1292 #: htdocs/luci-static/resources/view/fchomo/node.js:1322
msgid "Upload bandwidth" msgid "Upload bandwidth"
msgstr "上傳頻寬" msgstr "上傳頻寬"
#: htdocs/luci-static/resources/view/fchomo/node.js:1293 #: htdocs/luci-static/resources/view/fchomo/node.js:1323
msgid "Upload bandwidth in Mbps." msgid "Upload bandwidth in Mbps."
msgstr "上傳頻寬(單位:Mbps)。" msgstr "上傳頻寬(單位:Mbps)。"
@@ -3181,11 +3195,11 @@ msgstr "使用者名稱"
msgid "Users filter mode" msgid "Users filter mode"
msgstr "使用者過濾模式" msgstr "使用者過濾模式"
#: htdocs/luci-static/resources/view/fchomo/node.js:1222 #: htdocs/luci-static/resources/view/fchomo/node.js:1236
msgid "V2ray HTTPUpgrade" msgid "V2ray HTTPUpgrade"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1227 #: htdocs/luci-static/resources/view/fchomo/node.js:1241
msgid "V2ray HTTPUpgrade fast open" msgid "V2ray HTTPUpgrade fast open"
msgstr "" msgstr ""
@@ -3199,8 +3213,8 @@ msgstr ""
msgid "VMess" msgid "VMess"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1469 #: htdocs/luci-static/resources/view/fchomo/node.js:1499
#: htdocs/luci-static/resources/view/fchomo/node.js:1754 #: htdocs/luci-static/resources/view/fchomo/node.js:1784
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:319 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:319
msgid "Value" msgid "Value"
msgstr "可視化值" msgstr "可視化值"
@@ -3240,7 +3254,8 @@ msgstr "警告"
#: htdocs/luci-static/resources/view/fchomo/node.js:489 #: htdocs/luci-static/resources/view/fchomo/node.js:489
#: htdocs/luci-static/resources/view/fchomo/node.js:1132 #: htdocs/luci-static/resources/view/fchomo/node.js:1132
#: htdocs/luci-static/resources/view/fchomo/node.js:1143 #: htdocs/luci-static/resources/view/fchomo/node.js:1143
#: htdocs/luci-static/resources/view/fchomo/node.js:1148 #: htdocs/luci-static/resources/view/fchomo/node.js:1150
#: htdocs/luci-static/resources/view/fchomo/node.js:1156
msgid "WebSocket" msgid "WebSocket"
msgstr "" msgstr ""
@@ -3268,6 +3283,15 @@ msgstr "WireGuard 預先共用金鑰。"
msgid "WireGuard requires base64-encoded private keys." msgid "WireGuard requires base64-encoded private keys."
msgstr "WireGuard 要求 base64 編碼的私鑰。" msgstr "WireGuard 要求 base64 編碼的私鑰。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1133
#: htdocs/luci-static/resources/view/fchomo/node.js:1151
msgid "XHTTP"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1246
msgid "XHTTP mode"
msgstr "XHTTP 模式"
#: htdocs/luci-static/resources/fchomo/listeners.js:609 #: htdocs/luci-static/resources/fchomo/listeners.js:609
msgid "XOR mode" msgid "XOR mode"
msgstr "XOR 模式" msgstr "XOR 模式"
@@ -3341,7 +3365,7 @@ msgstr "decryption"
msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)" msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)"
msgstr "dnsmasq 自行選擇上游服務器。 (可能影響 CDN 準確性)" msgstr "dnsmasq 自行選擇上游服務器。 (可能影響 CDN 準確性)"
#: htdocs/luci-static/resources/view/fchomo/node.js:1612 #: htdocs/luci-static/resources/view/fchomo/node.js:1642
msgid "down" msgid "down"
msgstr "Hysteria 下載速率" msgstr "Hysteria 下載速率"
@@ -3361,20 +3385,21 @@ msgstr "false = 頻寬最佳化下行 true = 純 Sudoku 下行。"
#: htdocs/luci-static/resources/fchomo/listeners.js:984 #: htdocs/luci-static/resources/fchomo/listeners.js:984
#: htdocs/luci-static/resources/view/fchomo/node.js:1131 #: htdocs/luci-static/resources/view/fchomo/node.js:1131
#: htdocs/luci-static/resources/view/fchomo/node.js:1142 #: htdocs/luci-static/resources/view/fchomo/node.js:1142
#: htdocs/luci-static/resources/view/fchomo/node.js:1147 #: htdocs/luci-static/resources/view/fchomo/node.js:1149
#: htdocs/luci-static/resources/view/fchomo/node.js:1155
msgid "gRPC" msgid "gRPC"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1198 #: htdocs/luci-static/resources/view/fchomo/node.js:1212
msgid "gRPC User-Agent" msgid "gRPC User-Agent"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1203 #: htdocs/luci-static/resources/view/fchomo/node.js:1217
msgid "gRPC ping interval" msgid "gRPC ping interval"
msgstr "gRPC ping 間隔" msgstr "gRPC ping 間隔"
#: htdocs/luci-static/resources/fchomo/listeners.js:1003 #: htdocs/luci-static/resources/fchomo/listeners.js:1003
#: htdocs/luci-static/resources/view/fchomo/node.js:1194 #: htdocs/luci-static/resources/view/fchomo/node.js:1208
msgid "gRPC service name" msgid "gRPC service name"
msgstr "gRPC 服務名稱" msgstr "gRPC 服務名稱"
@@ -3382,7 +3407,7 @@ msgstr "gRPC 服務名稱"
msgid "gVisor" msgid "gVisor"
msgstr "gVisor" msgstr "gVisor"
#: htdocs/luci-static/resources/view/fchomo/node.js:1243 #: htdocs/luci-static/resources/view/fchomo/node.js:1273
msgid "h2mux" msgid "h2mux"
msgstr "" msgstr ""
@@ -3400,7 +3425,7 @@ msgstr "metacubexd"
#: htdocs/luci-static/resources/view/fchomo/client.js:1480 #: htdocs/luci-static/resources/view/fchomo/client.js:1480
#: htdocs/luci-static/resources/view/fchomo/client.js:1711 #: htdocs/luci-static/resources/view/fchomo/client.js:1711
#: htdocs/luci-static/resources/view/fchomo/client.js:1767 #: htdocs/luci-static/resources/view/fchomo/client.js:1767
#: htdocs/luci-static/resources/view/fchomo/node.js:1435 #: htdocs/luci-static/resources/view/fchomo/node.js:1465
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:239 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:239
msgid "mihomo config" msgid "mihomo config"
msgstr "mihomo 配置" msgstr "mihomo 配置"
@@ -3409,8 +3434,8 @@ msgstr "mihomo 配置"
msgid "mlkem768x25519plus" msgid "mlkem768x25519plus"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1309 #: htdocs/luci-static/resources/view/fchomo/node.js:1339
#: htdocs/luci-static/resources/view/fchomo/node.js:1590 #: htdocs/luci-static/resources/view/fchomo/node.js:1620
msgid "mpTCP" msgid "mpTCP"
msgstr "多路徑 TCP (mpTCP)" msgstr "多路徑 TCP (mpTCP)"
@@ -3466,7 +3491,7 @@ msgstr "僅當 %s 為 %s 時適用。"
msgid "only applies when %s is not %s." msgid "only applies when %s is not %s."
msgstr "僅當 %s 不為 %s 時適用。" msgstr "僅當 %s 不為 %s 時適用。"
#: htdocs/luci-static/resources/view/fchomo/node.js:1570 #: htdocs/luci-static/resources/view/fchomo/node.js:1600
msgid "override.proxy-name" msgid "override.proxy-name"
msgstr "" msgstr ""
@@ -3474,6 +3499,10 @@ msgstr ""
msgid "packet addr (v2ray-core v5+)" msgid "packet addr (v2ray-core v5+)"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1248
msgid "packet-up"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:391 #: htdocs/luci-static/resources/fchomo/listeners.js:391
#: htdocs/luci-static/resources/view/fchomo/node.js:458 #: htdocs/luci-static/resources/view/fchomo/node.js:458
msgid "poll" msgid "poll"
@@ -3506,7 +3535,7 @@ msgstr "規則集"
msgid "shadow-tls" msgid "shadow-tls"
msgstr "" msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:1241 #: htdocs/luci-static/resources/view/fchomo/node.js:1271
msgid "smux" msgid "smux"
msgstr "" msgstr ""
@@ -3519,6 +3548,10 @@ msgstr ""
msgid "src" msgid "src"
msgstr "src" msgstr "src"
#: htdocs/luci-static/resources/view/fchomo/node.js:1247
msgid "stream-one"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:491 #: htdocs/luci-static/resources/view/fchomo/node.js:491
msgid "stream/poll/auto" msgid "stream/poll/auto"
msgstr "" msgstr ""
@@ -3543,7 +3576,7 @@ msgstr "獨立標識"
msgid "unique value" msgid "unique value"
msgstr "獨立值" msgstr "獨立值"
#: htdocs/luci-static/resources/view/fchomo/node.js:1606 #: htdocs/luci-static/resources/view/fchomo/node.js:1636
msgid "up" msgid "up"
msgstr "Hysteria 上傳速率" msgstr "Hysteria 上傳速率"
@@ -3619,7 +3652,7 @@ msgstr ""
msgid "yacd-meta" msgid "yacd-meta"
msgstr "yacd-meta" msgstr "yacd-meta"
#: htdocs/luci-static/resources/view/fchomo/node.js:1242 #: htdocs/luci-static/resources/view/fchomo/node.js:1272
msgid "yamux" msgid "yamux"
msgstr "" msgstr ""
@@ -586,7 +586,7 @@ uci.foreach(uciconf, ucinode, (cfg) => {
encryption: cfg.vless_encryption === '1' ? cfg.vless_encryption_encryption : null, encryption: cfg.vless_encryption === '1' ? cfg.vless_encryption_encryption : null,
/* TrustTunnel */ /* TrustTunnel */
"health-check": strToBool(cfg.trusttunnel_health_check === '0' ? false : true), "health-check": cfg.trusttunnel_health_check === '0' ? false : true,
quic: strToBool(cfg.trusttunnel_quic), quic: strToBool(cfg.trusttunnel_quic),
/* WireGuard */ /* WireGuard */
@@ -658,6 +658,14 @@ uci.foreach(uciconf, ucinode, (cfg) => {
"early-data-header-name": cfg.transport_ws_early_data_header, "early-data-header-name": cfg.transport_ws_early_data_header,
"v2ray-http-upgrade": strToBool(cfg.transport_ws_v2ray_http_upgrade), "v2ray-http-upgrade": strToBool(cfg.transport_ws_v2ray_http_upgrade),
"v2ray-http-upgrade-fast-open": strToBool(cfg.transport_ws_v2ray_http_upgrade_fast_open) "v2ray-http-upgrade-fast-open": strToBool(cfg.transport_ws_v2ray_http_upgrade_fast_open)
} : null,
"xhttp-opts": cfg.transport_type === 'xhttp' ? {
host: cfg.transport_host,
path: cfg.transport_path || '/',
headers: cfg.transport_http_headers ? json(cfg.transport_http_headers) : null,
mode: cfg.transport_xhttp_mode,
"no-grpc-header": strToBool(cfg.transport_xhttp_no_grpc_header),
"x-padding-bytes": cfg.transport_xhttp_x_padding_bytes
} : null } : null
} : {}), } : {}),
+1 -1
View File
@@ -10,6 +10,6 @@ LUCI_PKGARCH:=all
LUCI_DEPENDS:=+appfilter +kmod-oaf +luci-compat LUCI_DEPENDS:=+appfilter +kmod-oaf +luci-compat
PKG_NAME:=luci-app-oaf PKG_NAME:=luci-app-oaf
PKG_VERSION:=6.1.4 PKG_VERSION:=6.1.4
PKG_RELEASE:=1 PKG_RELEASE:=2
include $(TOPDIR)/feeds/luci/luci.mk include $(TOPDIR)/feeds/luci/luci.mk
# call BuildPackage - OpenWrt buildroot signature # call BuildPackage - OpenWrt buildroot signature
@@ -130,7 +130,7 @@
function validateLanIfname(lanIfname) { function validateLanIfname(lanIfname) {
const regex = /^[a-zA-Z0-9-]{2,8}$/; const regex = /^[a-zA-Z0-9.-]{2,8}$/;
return regex.test(lanIfname); return regex.test(lanIfname);
} }
@@ -140,7 +140,7 @@
const disableHnatSwitch = document.getElementById('disableHnatSwitch').checked; const disableHnatSwitch = document.getElementById('disableHnatSwitch').checked;
if (!validateLanIfname(lanIfname)) { if (!validateLanIfname(lanIfname)) {
alert('<%:Invalid LAN interface name. Please ensure it is no more than 8 characters long and contains only letters, numbers, and -.%>'); alert('<%:Invalid LAN interface name. Please ensure it is no more than 8 characters long and contains only letters, numbers, dot, and -.%>');
return; return;
} }
@@ -81,10 +81,111 @@ o = s:option(Value, "remarks", translate("Remarks"))
o.default = arg[1] o.default = arg[1]
o.rmempty = false o.rmempty = false
o = s:option(ListValue, "interface", translate("Source Interface")) o = s:option(Value, "interface", translate("Source Interface"))
o:value("", translate("All")) o:value("", translate("All"))
local wa = require "luci.tools.webadmin" -- Populate with actual kernel network devices instead of UCI interface names,
wa.cbi_add_networks(o) -- because the backend (nftables iifname / iptables -i) matches kernel device names.
do
local nfs = require "nixio.fs"
local _cursor = require("luci.model.uci").cursor()
local _sysnet = "/sys/class/net/"
-- Map UCI interface names to their device names and vice versa
local _iface_to_dev = {}
local _dev_to_ifaces = {}
local _iface_proto = {}
_cursor:foreach("network", "interface", function(sec)
local name = sec[".name"]
if name ~= "loopback" then
_iface_proto[name] = sec.proto
if sec.device then
_iface_to_dev[name] = sec.device
_dev_to_ifaces[sec.device] = _dev_to_ifaces[sec.device] or {}
table.insert(_dev_to_ifaces[sec.device], name)
end
end
end)
-- Classify device type using sysfs attributes
local function classify_sysfs(dev)
if nfs.stat(_sysnet .. dev .. "/bridge", "type") == "dir" then
return translate("Bridge")
elseif nfs.stat(_sysnet .. dev .. "/wireless", "type") == "dir" then
return translate("Wireless Adapter")
elseif dev:match("^tun") or dev:match("^tap") or dev:match("^wg") or dev:match("^ppp") then
return translate("Tunnel Interface")
else
return translate("Ethernet Adapter")
end
end
-- Classify offline UCI interfaces by config hints
local function classify_uci(dev_name, proto)
if dev_name and dev_name:match("^br%-") then
return translate("Bridge")
elseif proto == "wireguard" or proto == "pppoe" or proto == "pptp" or proto == "l2tp" then
return translate("Tunnel Interface")
else
return translate("Interface")
end
end
local _seen = {}
local _devices = {}
-- Active kernel devices from /sys/class/net/.
-- Skip bridge member ports (/master) and DSA master devices (/dsa) because
-- nftables iifname matches the parent bridge for routed traffic, not
-- individual member ports. Also skip internal virtual devices.
local _iter = nfs.dir(_sysnet)
if _iter then
for dev in _iter do
if dev ~= "lo"
and not dev:match("^veth")
and not dev:match("^ifb")
and not dev:match("^gre")
and not dev:match("^sit")
and not dev:match("^ip6tnl")
and not dev:match("^erspan")
and not nfs.stat(_sysnet .. dev .. "/master", "type")
and not nfs.stat(_sysnet .. dev .. "/dsa", "type")
then
local dtype = classify_sysfs(dev)
local label = dtype .. ': "' .. dev .. '"'
if _dev_to_ifaces[dev] then
label = label .. " (" .. table.concat(_dev_to_ifaces[dev], ", ") .. ")"
end
_devices[#_devices + 1] = { name = dev, label = label, sort = dtype .. ":" .. dev }
_seen[dev] = true
end
end
end
-- UCI interfaces whose device does not currently exist (down tunnels, VPNs, etc.).
-- Stored by UCI name since the kernel device is not available yet.
-- Dedup by device: if two interfaces share a device, only one is shown.
for iface, dev in pairs(_iface_to_dev) do
if not _seen[dev] then
local dtype = classify_uci(dev, _iface_proto[iface])
local label = dtype .. ': "' .. iface .. '"'
-- Sort offline entries after active devices
_devices[#_devices + 1] = { name = iface, label = label, sort = "zzz:" .. iface }
_seen[dev] = true
end
end
table.sort(_devices, function(a, b) return a.sort < b.sort end)
for _, d in ipairs(_devices) do
o:value(d.name, d.label)
end
end
o.validate = function(self, value, section)
if value == "" or value:match("^[a-zA-Z0-9][a-zA-Z0-9%.%_%-]*$") then
return value
end
return nil, translate("Invalid interface name")
end
local mac_t = {} local mac_t = {}
sys.net.mac_hints(function(e, t) sys.net.mac_hints(function(e, t)
@@ -63,7 +63,7 @@ function gen_config(var)
local config = { local config = {
server = server, server = server,
transport = { transport = {
type = node.protocol or "udp", type = "udp",
udp = { udp = {
hopInterval = (function() hopInterval = (function()
local HopIntervalStr = tostring(node.hysteria2_hop_interval or "30s") local HopIntervalStr = tostring(node.hysteria2_hop_interval or "30s")
+15
View File
@@ -1249,6 +1249,21 @@ msgstr "IP 范围"
msgid "Source Interface" msgid "Source Interface"
msgstr "源接口" msgstr "源接口"
msgid "Bridge"
msgstr "网桥"
msgid "Wireless Adapter"
msgstr "无线适配器"
msgid "Ethernet Adapter"
msgstr "以太网适配器"
msgid "Tunnel Interface"
msgstr "隧道接口"
msgid "Invalid interface name"
msgstr "无效的接口名称"
msgid "Use Interface With ACLs" msgid "Use Interface With ACLs"
msgstr "使用接口控制" msgstr "使用接口控制"
@@ -285,6 +285,10 @@ load_acl() {
local gateway device local gateway device
network_get_gateway gateway "${interface}" network_get_gateway gateway "${interface}"
network_get_device device "${interface}" network_get_device device "${interface}"
# network_get_device returns empty for non-UP interfaces (e.g. auto='0').
# Try ubus directly, then check if the name is a kernel device.
[ -z "${device}" ] && device=$(ubus call "network.interface.${interface}" status 2>/dev/null | jsonfilter -e '@.device' 2>/dev/null)
[ -z "${device}" ] && [ -d "/sys/class/net/${interface}" ] && device="${interface}"
[ -z "${device}" ] && device="${interface}" [ -z "${device}" ] && device="${interface}"
_ipt_source="-i ${device} " _ipt_source="-i ${device} "
msg="源接口【${device}】," msg="源接口【${device}】,"
@@ -326,6 +326,10 @@ load_acl() {
local gateway device local gateway device
network_get_gateway gateway "${interface}" network_get_gateway gateway "${interface}"
network_get_device device "${interface}" network_get_device device "${interface}"
# network_get_device returns empty for non-UP interfaces (e.g. auto='0').
# Try ubus directly, then check if the name is a kernel device.
[ -z "${device}" ] && device=$(ubus call "network.interface.${interface}" status 2>/dev/null | jsonfilter -e '@.device' 2>/dev/null)
[ -z "${device}" ] && [ -d "/sys/class/net/${interface}" ] && device="${interface}"
[ -z "${device}" ] && device="${interface}" [ -z "${device}" ] && device="${interface}"
_ipt_source="iifname ${device} " _ipt_source="iifname ${device} "
msg="源接口【${device}】," msg="源接口【${device}】,"
@@ -395,6 +395,8 @@ add_ip2route() {
local gateway device local gateway device
network_get_gateway gateway "$2" network_get_gateway gateway "$2"
network_get_device device "$2" network_get_device device "$2"
[ -z "${device}" ] && device=$(ubus call "network.interface.$2" status 2>/dev/null | jsonfilter -e '@.device' 2>/dev/null)
[ -z "${device}" ] && [ -d "/sys/class/net/$2" ] && device="$2"
[ -z "${device}" ] && device="$2" [ -z "${device}" ] && device="$2"
if [ -n "${gateway}" ]; then if [ -n "${gateway}" ]; then
@@ -76,10 +76,111 @@ o = s:option(Value, "remarks", translate("Remarks"))
o.default = arg[1] o.default = arg[1]
o.rmempty = false o.rmempty = false
o = s:option(ListValue, "interface", translate("Source Interface")) o = s:option(Value, "interface", translate("Source Interface"))
o:value("", translate("All")) o:value("", translate("All"))
local wa = require "luci.tools.webadmin" -- Populate with actual kernel network devices instead of UCI interface names,
wa.cbi_add_networks(o) -- because the backend (nftables iifname / iptables -i) matches kernel device names.
do
local nfs = require "nixio.fs"
local _cursor = require("luci.model.uci").cursor()
local _sysnet = "/sys/class/net/"
-- Map UCI interface names to their device names and vice versa
local _iface_to_dev = {}
local _dev_to_ifaces = {}
local _iface_proto = {}
_cursor:foreach("network", "interface", function(sec)
local name = sec[".name"]
if name ~= "loopback" then
_iface_proto[name] = sec.proto
if sec.device then
_iface_to_dev[name] = sec.device
_dev_to_ifaces[sec.device] = _dev_to_ifaces[sec.device] or {}
table.insert(_dev_to_ifaces[sec.device], name)
end
end
end)
-- Classify device type using sysfs attributes
local function classify_sysfs(dev)
if nfs.stat(_sysnet .. dev .. "/bridge", "type") == "dir" then
return translate("Bridge")
elseif nfs.stat(_sysnet .. dev .. "/wireless", "type") == "dir" then
return translate("Wireless Adapter")
elseif dev:match("^tun") or dev:match("^tap") or dev:match("^wg") or dev:match("^ppp") then
return translate("Tunnel Interface")
else
return translate("Ethernet Adapter")
end
end
-- Classify offline UCI interfaces by config hints
local function classify_uci(dev_name, proto)
if dev_name and dev_name:match("^br%-") then
return translate("Bridge")
elseif proto == "wireguard" or proto == "pppoe" or proto == "pptp" or proto == "l2tp" then
return translate("Tunnel Interface")
else
return translate("Interface")
end
end
local _seen = {}
local _devices = {}
-- Active kernel devices from /sys/class/net/.
-- Skip bridge member ports (/master) and DSA master devices (/dsa) because
-- nftables iifname matches the parent bridge for routed traffic, not
-- individual member ports. Also skip internal virtual devices.
local _iter = nfs.dir(_sysnet)
if _iter then
for dev in _iter do
if dev ~= "lo"
and not dev:match("^veth")
and not dev:match("^ifb")
and not dev:match("^gre")
and not dev:match("^sit")
and not dev:match("^ip6tnl")
and not dev:match("^erspan")
and not nfs.stat(_sysnet .. dev .. "/master", "type")
and not nfs.stat(_sysnet .. dev .. "/dsa", "type")
then
local dtype = classify_sysfs(dev)
local label = dtype .. ': "' .. dev .. '"'
if _dev_to_ifaces[dev] then
label = label .. " (" .. table.concat(_dev_to_ifaces[dev], ", ") .. ")"
end
_devices[#_devices + 1] = { name = dev, label = label, sort = dtype .. ":" .. dev }
_seen[dev] = true
end
end
end
-- UCI interfaces whose device does not currently exist (down tunnels, VPNs, etc.).
-- Stored by UCI name since the kernel device is not available yet.
-- Dedup by device: if two interfaces share a device, only one is shown.
for iface, dev in pairs(_iface_to_dev) do
if not _seen[dev] then
local dtype = classify_uci(dev, _iface_proto[iface])
local label = dtype .. ': "' .. iface .. '"'
-- Sort offline entries after active devices
_devices[#_devices + 1] = { name = iface, label = label, sort = "zzz:" .. iface }
_seen[dev] = true
end
end
table.sort(_devices, function(a, b) return a.sort < b.sort end)
for _, d in ipairs(_devices) do
o:value(d.name, d.label)
end
end
o.validate = function(self, value, section)
if value == "" or value:match("^[a-zA-Z0-9][a-zA-Z0-9%.%_%-]*$") then
return value
end
return nil, translate("Invalid interface name")
end
local mac_t = {} local mac_t = {}
sys.net.mac_hints(function(e, t) sys.net.mac_hints(function(e, t)
@@ -60,7 +60,7 @@ function gen_config(var)
local config = { local config = {
server = server, server = server,
transport = { transport = {
type = node.protocol or "udp", type = "udp",
udp = { udp = {
hopInterval = (function() hopInterval = (function()
local HopIntervalStr = tostring(node.hysteria2_hop_interval or "30s") local HopIntervalStr = tostring(node.hysteria2_hop_interval or "30s")
+15
View File
@@ -1101,6 +1101,21 @@ msgstr "محدوده IP"
msgid "Source Interface" msgid "Source Interface"
msgstr "رابط منبع" msgstr "رابط منبع"
msgid "Bridge"
msgstr "پل شبکه"
msgid "Wireless Adapter"
msgstr "آداپتور بی‌سیم"
msgid "Ethernet Adapter"
msgstr "آداپتور اترنت"
msgid "Tunnel Interface"
msgstr "رابط تونل"
msgid "Invalid interface name"
msgstr "نام رابط نامعتبر"
msgid "Use Interface With ACLs" msgid "Use Interface With ACLs"
msgstr "استفاده از رابط با ACLها" msgstr "استفاده از رابط با ACLها"
+16 -1
View File
@@ -1100,7 +1100,22 @@ msgid "IP range"
msgstr "Диапазон IP" msgstr "Диапазон IP"
msgid "Source Interface" msgid "Source Interface"
msgstr "Исходящий интерфейс" msgstr "Интерфейс источника"
msgid "Bridge"
msgstr "Мост"
msgid "Wireless Adapter"
msgstr "Беспроводной адаптер"
msgid "Ethernet Adapter"
msgstr "Ethernet-адаптер"
msgid "Tunnel Interface"
msgstr "Туннельный интерфейс"
msgid "Invalid interface name"
msgstr "Недопустимое имя интерфейса"
msgid "Use Interface With ACLs" msgid "Use Interface With ACLs"
msgstr "Применять правила к интерфейсу" msgstr "Применять правила к интерфейсу"
+15
View File
@@ -1093,6 +1093,21 @@ msgstr "IP 范围"
msgid "Source Interface" msgid "Source Interface"
msgstr "源接口" msgstr "源接口"
msgid "Bridge"
msgstr "网桥"
msgid "Wireless Adapter"
msgstr "无线适配器"
msgid "Ethernet Adapter"
msgstr "以太网适配器"
msgid "Tunnel Interface"
msgstr "隧道接口"
msgid "Invalid interface name"
msgstr "无效的接口名称"
msgid "Use Interface With ACLs" msgid "Use Interface With ACLs"
msgstr "使用接口控制" msgstr "使用接口控制"
+15
View File
@@ -1093,6 +1093,21 @@ msgstr "IP 範圍"
msgid "Source Interface" msgid "Source Interface"
msgstr "源接口" msgstr "源接口"
msgid "Bridge"
msgstr "網橋"
msgid "Wireless Adapter"
msgstr "無線適配器"
msgid "Ethernet Adapter"
msgstr "乙太網適配器"
msgid "Tunnel Interface"
msgstr "隧道介面"
msgid "Invalid interface name"
msgstr "無效的介面名稱"
msgid "Use Interface With ACLs" msgid "Use Interface With ACLs"
msgstr "使用接口控制" msgstr "使用接口控制"
@@ -300,6 +300,10 @@ load_acl() {
local gateway device local gateway device
network_get_gateway gateway "${interface}" network_get_gateway gateway "${interface}"
network_get_device device "${interface}" network_get_device device "${interface}"
# network_get_device returns empty for non-UP interfaces (e.g. auto='0').
# Try ubus directly, then check if the name is a kernel device.
[ -z "${device}" ] && device=$(ubus call "network.interface.${interface}" status 2>/dev/null | jsonfilter -e '@.device' 2>/dev/null)
[ -z "${device}" ] && [ -d "/sys/class/net/${interface}" ] && device="${interface}"
[ -z "${device}" ] && device="${interface}" [ -z "${device}" ] && device="${interface}"
_ipt_source="-i ${device} " _ipt_source="-i ${device} "
msg=$(i18n "Source iface [%s]," "${device}") msg=$(i18n "Source iface [%s]," "${device}")
@@ -338,6 +338,10 @@ load_acl() {
local gateway device local gateway device
network_get_gateway gateway "${interface}" network_get_gateway gateway "${interface}"
network_get_device device "${interface}" network_get_device device "${interface}"
# network_get_device returns empty for non-UP interfaces (e.g. auto='0').
# Try ubus directly, then check if the name is a kernel device.
[ -z "${device}" ] && device=$(ubus call "network.interface.${interface}" status 2>/dev/null | jsonfilter -e '@.device' 2>/dev/null)
[ -z "${device}" ] && [ -d "/sys/class/net/${interface}" ] && device="${interface}"
[ -z "${device}" ] && device="${interface}" [ -z "${device}" ] && device="${interface}"
_ipt_source="iifname ${device} " _ipt_source="iifname ${device} "
msg=$(i18n "Source iface [%s]," "${device}") msg=$(i18n "Source iface [%s]," "${device}")
@@ -348,6 +348,8 @@ add_ip2route() {
local gateway device local gateway device
network_get_gateway gateway "$2" network_get_gateway gateway "$2"
network_get_device device "$2" network_get_device device "$2"
[ -z "${device}" ] && device=$(ubus call "network.interface.$2" status 2>/dev/null | jsonfilter -e '@.device' 2>/dev/null)
[ -z "${device}" ] && [ -d "/sys/class/net/$2" ] && device="$2"
[ -z "${device}" ] && device="$2" [ -z "${device}" ] && device="$2"
if [ -n "${gateway}" ]; then if [ -n "${gateway}" ]; then
+2 -2
View File
@@ -10,8 +10,8 @@ THEME_NAME:=alpha
THEME_TITLE:=Alpha THEME_TITLE:=Alpha
PKG_NAME:=luci-theme-$(THEME_NAME) PKG_NAME:=luci-theme-$(THEME_NAME)
PKG_VERSION:=3.9.7_beta PKG_VERSION:=3.9.7_beta2
PKG_RELEASE:=4 PKG_RELEASE:=5
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
+21 -26
View File
@@ -82,7 +82,8 @@ return baseclass.extend({
url + "/" + children[i].name, url + "/" + children[i].name,
l l
), ),
hasChildren = submenu.children.length; hasChildren = submenu.children.length,
dataTitle = hasChildren ? children[i].title : _(children[i].title);
ul.appendChild( ul.appendChild(
E( E(
"li", "li",
@@ -104,9 +105,8 @@ return baseclass.extend({
click: hasChildren click: hasChildren
? ui.createHandlerFn(this, "handleMenuExpand") ? ui.createHandlerFn(this, "handleMenuExpand")
: null, : null,
"data-title": hasChildren "data-title": dataTitle,
? children[i].title "data-name": children[i].name,
: _(children[i].title),
}, },
[_(children[i].title)] [_(children[i].title)]
), ),
@@ -180,36 +180,31 @@ return baseclass.extend({
darkMask = document.querySelector(".darkMask"), darkMask = document.querySelector(".darkMask"),
mainRight = document.querySelector(".main-right"), mainRight = document.querySelector(".main-right"),
mainLeft = document.querySelector(".main-left"), mainLeft = document.querySelector(".main-left"),
open = mainLeft.style.transform === ""; // true if currently open open = mainLeft.style.transform === "";
// If it's a resize event, we simulate that the sidebar was "open" so the logic below closes it for mobile, and opens it for desktop
if (ev.type == "resize") { if (ev.type == "resize") {
open = true; open = true;
} }
// Logics: 'open' true means we want to CLOSE it on mobile, but OPEN it on desktop.
// Actually, let's make it clearer: we toggle the state.
var willOpen = !open; var willOpen = !open;
if (ev.type == "resize") { if (ev.type == "resize") {
willOpen = width > 1152; willOpen = width > 1152;
} }
if (width <= 1152) { if (width <= 1152) {
// Mobile behavior mainLeft.style.width = "";
mainLeft.style.width = ""; // Reset width mainLeft.style.transform = willOpen ? "" : "translateX(-20rem)";
mainLeft.style.transform = willOpen ? "" : "translateX(-20rem)"; mainLeft.style.visibility = willOpen ? "visible" : "";
mainLeft.style.visibility = willOpen ? "visible" : ""; darkMask.style.visibility = willOpen ? "visible" : "";
darkMask.style.visibility = willOpen ? "visible" : ""; darkMask.style.opacity = willOpen ? 1 : "";
darkMask.style.opacity = willOpen ? 1 : ""; mainRight.style.width = "";
mainRight.style.width = "";
} else { } else {
// Desktop behavior mainLeft.style.width = "";
mainLeft.style.width = ""; // Reset width mainLeft.style.transform = willOpen ? "" : "translateX(-20rem)";
mainLeft.style.transform = willOpen ? "" : "translateX(-20rem)"; mainLeft.style.visibility = willOpen ? "visible" : "hidden";
mainLeft.style.visibility = willOpen ? "visible" : "hidden"; mainRight.style.width = willOpen ? "" : "100%";
mainRight.style.width = willOpen ? "" : "100%"; darkMask.style.visibility = "";
darkMask.style.visibility = ""; darkMask.style.opacity = "";
darkMask.style.opacity = "";
} }
if (ev && ev.preventDefault) ev.preventDefault(); if (ev && ev.preventDefault) ev.preventDefault();
if (ev && ev.stopPropagation) ev.stopPropagation(); if (ev && ev.stopPropagation) ev.stopPropagation();
+97 -26
View File
@@ -187,7 +187,7 @@
--main-menu-color: #202124; --main-menu-color: #202124;
--submenu-bg-hover: #4d5ca5; --submenu-bg-hover: #4d5ca5;
--submenu-bg-hover-active: #09c; --submenu-bg-hover-active: #09c;
--font-body: 'Inter-Regular'; --font-body: 'Inter-Regular', 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', 'Noto Sans CJK SC', sans-serif;
} }
tt { tt {
@@ -372,8 +372,20 @@
height: 100%; height: 100%;
margin: 0; margin: 0;
padding: 0; padding: 0;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
} }
body.lang_zh-cn,
body.lang_zh_CN,
body.lang_zh-hans,
body.lang_zh_Hans,
body.lang_zh-tw,
body.lang_zh_TW {
font-family: 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', 'Noto Sans CJK SC', sans-serif;
}
select { select {
color: #555; color: #555;
border: thin solid #ccc; border: thin solid #ccc;
@@ -838,9 +850,13 @@
} }
.main>.main-left>.nav>li>[data-title="Log out"], .main>.main-left>.nav>li>[data-title="Log out"],
.main>.main-left>.nav>li>[data-title="Logout"] { .main>.main-left>.nav>li>[data-title="Logout"],
.main>.main-left>.nav>li>[data-name="logout"] {
display: flex; display: flex;
align-items: center;
justify-content: flex-start;
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
padding-right: 3rem;
} }
.main>.main-left>.nav>li a { .main>.main-left>.nav>li a {
@@ -850,7 +866,9 @@
.main>.main-left>.nav>li>[data-title="Log out"], .main>.main-left>.nav>li>[data-title="Log out"],
.main>.main-left>.nav>li>[data-title="Logout"], .main>.main-left>.nav>li>[data-title="Logout"],
.main>.main-left>.nav>li>[data-title="iStore"] { .main>.main-left>.nav>li>[data-title="iStore"],
.main>.main-left>.nav>li>[data-name="logout"],
.main>.main-left>.nav>li>[data-name="istore"] {
font-size: 1rem; font-size: 1rem;
color: #fff; color: #fff;
} }
@@ -866,6 +884,8 @@
.main>.main-left>.nav>.slide>.menu, .main>.main-left>.nav>.slide>.menu,
.main>.main-left>.nav>li>[data-title="Logout"], .main>.main-left>.nav>li>[data-title="Logout"],
.main>.main-left>.nav>li>[data-title="iStore"], .main>.main-left>.nav>li>[data-title="iStore"],
.main>.main-left>.nav>li>[data-name="logout"],
.main>.main-left>.nav>li>[data-name="istore"],
.main>.main-left>.nav>li>[data-title="Dashboard"] { .main>.main-left>.nav>li>[data-title="Dashboard"] {
font-size: 1rem; font-size: 1rem;
font-weight: 500; font-weight: 500;
@@ -891,7 +911,8 @@
.main>.main-left>.nav>.slide>.menu.active::before {} .main>.main-left>.nav>.slide>.menu.active::before {}
.main>.main-left>.nav>.slide>[data-title="Status"]:before { .main>.main-left>.nav>.slide>[data-title="Status"]:before,
.main>.main-left>.nav>.slide>[data-name="status"]:before {
position: absolute; position: absolute;
right: 14px; right: 14px;
width: 25px; width: 25px;
@@ -901,7 +922,8 @@
background-size: 25px; background-size: 25px;
} }
.main>.main-left>.nav>.slide>[data-title="System"]:before { .main>.main-left>.nav>.slide>[data-title="System"]:before,
.main>.main-left>.nav>.slide>[data-name="system"]:before {
position: absolute; position: absolute;
right: 14px; right: 14px;
width: 25px; width: 25px;
@@ -911,7 +933,8 @@
background-size: 25px; background-size: 25px;
} }
.main>.main-left>.nav>.slide>[data-title="Services"]:before { .main>.main-left>.nav>.slide>[data-title="Services"]:before,
.main>.main-left>.nav>.slide>[data-name="services"]:before {
position: absolute; position: absolute;
right: 14px; right: 14px;
width: 25px; width: 25px;
@@ -921,7 +944,8 @@
background-size: 25px; background-size: 25px;
} }
.main>.main-left>.nav>.slide>[data-title="NAS"]:before { .main>.main-left>.nav>.slide>[data-title="NAS"]:before,
.main>.main-left>.nav>.slide>[data-name="nas"]:before {
position: absolute; position: absolute;
right: 14px; right: 14px;
width: 25px; width: 25px;
@@ -931,7 +955,8 @@
background-size: 25px; background-size: 25px;
} }
.main>.main-left>.nav>.slide>[data-title="Modem"]:before { .main>.main-left>.nav>.slide>[data-title="Modem"]:before,
.main>.main-left>.nav>.slide>[data-name="modem"]:before {
position: absolute; position: absolute;
right: 14px; right: 14px;
width: 25px; width: 25px;
@@ -941,7 +966,8 @@
background-size: 25px; background-size: 25px;
} }
.main>.main-left>.nav>.slide>[data-title="Network"]:before { .main>.main-left>.nav>.slide>[data-title="Network"]:before,
.main>.main-left>.nav>.slide>[data-name="network"]:before {
position: absolute; position: absolute;
right: 14px; right: 14px;
width: 25px; width: 25px;
@@ -951,7 +977,8 @@
background-size: 25px; background-size: 25px;
} }
.main>.main-left>.nav>.slide>[data-title="VPN"]:before { .main>.main-left>.nav>.slide>[data-title="VPN"]:before,
.main>.main-left>.nav>.slide>[data-name="vpn"]:before {
position: absolute; position: absolute;
right: 14px; right: 14px;
width: 25px; width: 25px;
@@ -961,7 +988,8 @@
background-size: 25px; background-size: 25px;
} }
.main>.main-left>.nav>.slide>[data-title="Docker"]:before { .main>.main-left>.nav>.slide>[data-title="Docker"]:before,
.main>.main-left>.nav>.slide>[data-name="docker"]:before {
position: absolute; position: absolute;
right: 14px; right: 14px;
width: 25px; width: 25px;
@@ -971,7 +999,8 @@
background-size: 25px; background-size: 25px;
} }
.main>.main-left>.nav>li>[data-title="iStore"]:before { .main>.main-left>.nav>li>[data-title="iStore"]:before,
.main>.main-left>.nav>li>[data-name="istore"]:before {
position: absolute; position: absolute;
right: 14px; right: 14px;
width: 25px; width: 25px;
@@ -1057,12 +1086,15 @@
} }
.main>.main-left>.nav>li>[data-title="Logout"]::before, .main>.main-left>.nav>li>[data-title="Logout"]::before,
.main>.main-left>.nav>li>[data-title="Log out"]::before { .main>.main-left>.nav>li>[data-title="Log out"]::before,
.main>.main-left>.nav>li>[data-name="logout"]::before {
position: absolute; position: absolute;
top: 50%;
right: 14px; right: 14px;
width: 25px; width: 25px;
height: 25px; height: 25px;
content: ""; content: "";
transform: translateY(-50%);
background: url(./icon/logout.svg) no-repeat; background: url(./icon/logout.svg) no-repeat;
background-size: 25px; background-size: 25px;
} }
@@ -1089,7 +1121,9 @@
.main>.main-left>.nav>.slide>.slide-menu>li, .main>.main-left>.nav>.slide>.slide-menu>li,
.main>.main-left>.nav>li>[data-title="Logout"], .main>.main-left>.nav>li>[data-title="Logout"],
.main>.main-left>.nav>li>[data-title="Log out"], .main>.main-left>.nav>li>[data-title="Log out"],
.main>.main-left>.nav>li>[data-title="iStore"] { .main>.main-left>.nav>li>[data-title="iStore"],
.main>.main-left>.nav>li>[data-name="logout"],
.main>.main-left>.nav>li>[data-name="istore"] {
position: relative; position: relative;
overflow: hidden; overflow: hidden;
transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);
@@ -1099,7 +1133,9 @@
.main>.main-left>.nav>.slide>.slide-menu>li::after, .main>.main-left>.nav>.slide>.slide-menu>li::after,
.main>.main-left>.nav>li>[data-title="Logout"]::after, .main>.main-left>.nav>li>[data-title="Logout"]::after,
.main>.main-left>.nav>li>[data-title="Log out"]::after, .main>.main-left>.nav>li>[data-title="Log out"]::after,
.main>.main-left>.nav>li>[data-title="iStore"]::after { .main>.main-left>.nav>li>[data-title="iStore"]::after,
.main>.main-left>.nav>li>[data-name="logout"]::after,
.main>.main-left>.nav>li>[data-name="istore"]::after {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
@@ -1120,7 +1156,9 @@
.main>.main-left>.nav>.slide>.slide-menu>li:active::after, .main>.main-left>.nav>.slide>.slide-menu>li:active::after,
.main>.main-left>.nav>li>[data-title="Logout"]:active::after, .main>.main-left>.nav>li>[data-title="Logout"]:active::after,
.main>.main-left>.nav>li>[data-title="Log out"]:active::after, .main>.main-left>.nav>li>[data-title="Log out"]:active::after,
.main>.main-left>.nav>li>[data-title="iStore"]:active::after { .main>.main-left>.nav>li>[data-title="iStore"]:active::after,
.main>.main-left>.nav>li>[data-name="logout"]:active::after,
.main>.main-left>.nav>li>[data-name="istore"]:active::after {
transition: 0s; transition: 0s;
transform: scale(0, 0); transform: scale(0, 0);
opacity: 0.2; opacity: 0.2;
@@ -1361,6 +1399,15 @@
margin-left: 0.6rem; margin-left: 0.6rem;
} }
.btn,
.cbi-button,
[data-page="admin-system-opkg"] div.btn {
display: inline-flex;
align-items: center;
justify-content: center;
line-height: 1.2;
}
.btn:hover, .btn:hover,
.btn:focus, .btn:focus,
.btn:active, .btn:active,
@@ -2170,6 +2217,7 @@
.ifacebadge { .ifacebadge {
display: inline-flex; display: inline-flex;
align-items: center;
background: #ffffff33; background: #ffffff33;
padding: 0.5rem 0.8rem; padding: 0.5rem 0.8rem;
border-radius: 10px; border-radius: 10px;
@@ -2178,14 +2226,14 @@
td>.ifacebadge, td>.ifacebadge,
.td>.ifacebadge { .td>.ifacebadge {
font-size: 0.8rem; font-size: 0.8rem;
background-color: #000000; background-color: #222235b3;
border-radius: 10px; border-radius: 10px;
} }
.ifacebadge>em, .ifacebadge>em,
.ifacebadge>img { .ifacebadge>img {
display: inline-block; display: inline-block;
align-self: flex-start; align-self: center;
margin: 0 0.2rem; margin: 0 0.2rem;
} }
@@ -2213,7 +2261,7 @@
align-items: center; align-items: center;
flex: 1 1 auto; flex: 1 1 auto;
min-width: 220px; min-width: 220px;
background-color: #11111d; background-color: #222235b3;
margin: 0.5em 0.25em 0; margin: 0.5em 0.25em 0;
padding: 0.5em; padding: 0.5em;
border-radius: 10px; border-radius: 10px;
@@ -2610,8 +2658,8 @@
} }
[data-page="admin-system-opkg"] div.btn { [data-page="admin-system-opkg"] div.btn {
display: inline; padding: 0.3rem 0.9rem;
padding: 0.3rem 0.6rem; min-height: 2.3rem;
} }
[data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear), [data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear),
@@ -2624,6 +2672,25 @@
margin: 2rem 2rem 1rem; margin: 2rem 2rem 1rem;
} }
[data-page="admin-system-opkg"] #packages {
border-radius: 14px;
overflow: hidden;
background-color: rgba(16, 28, 45, 0.58);
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
}
[data-page="admin-system-opkg"] #packages>.tr>.td,
[data-page="admin-system-opkg"] #packages tbody tr>td {
background-color: rgba(34, 34, 53, 0.46);
border-top: thin solid rgba(255, 255, 255, 0.08);
}
[data-page="admin-system-opkg"] #packages>.tr.table-titles>.th,
[data-page="admin-system-opkg"] #packages thead tr>th {
background-color: rgba(12, 22, 38, 0.82);
}
.td.version, .td.version,
.td.size { .td.size {
white-space: normal !important; white-space: normal !important;
@@ -3101,7 +3168,7 @@
} }
} }
@media screen and (max-width: 2000000000px) { @media screen and (max-width: 2000px) {
header { header {
height: 3.5rem; height: 3.5rem;
} }
@@ -3162,8 +3229,10 @@
.main>.main-left>.nav>li a, .main>.main-left>.nav>li a,
.main>.main-left>.nav>.slide>.menu, .main>.main-left>.nav>.slide>.menu,
.main>.main-left>.nav>li>[data-title="Logout"], .main>.main-left>.nav>li>[data-title="Logout"],
.main>.main-left>.nav>li>[data-title="Logout"], .main>.main-left>.nav>li>[data-title="Log out"],
.main>.main-left>.nav>li>[data-title="iStore"] { .main>.main-left>.nav>li>[data-title="iStore"],
.main>.main-left>.nav>li>[data-name="logout"],
.main>.main-left>.nav>li>[data-name="istore"] {
font-size: 1rem; font-size: 1rem;
color: #fff; color: #fff;
} }
@@ -3447,7 +3516,9 @@
.main>.main-left>.nav>.slide>.menu, .main>.main-left>.nav>.slide>.menu,
.main>.main-left>.nav>li>[data-title="Logout"], .main>.main-left>.nav>li>[data-title="Logout"],
.main>.main-left>.nav>li>[data-title="Log out"], .main>.main-left>.nav>li>[data-title="Log out"],
.main>.main-left>.nav>li>[data-title="iStore"] { .main>.main-left>.nav>li>[data-title="iStore"],
.main>.main-left>.nav>li>[data-name="logout"],
.main>.main-left>.nav>li>[data-name="istore"] {
font-size: 1.1rem; font-size: 1.1rem;
} }
@@ -3596,7 +3667,7 @@
.main>.main-left>.nav>.slide>.slide-menu>li>a, .main>.main-left>.nav>.slide>.slide-menu>li>a,
.tr[data-title]::before, .tr[data-title]::before,
.tr.cbi-section-table-titles.named::before { .tr.cbi-section-table-titles.named::before {
font-size: font-size: 0.8rem;
} }
.cbi-value-title, .cbi-value-title,
+1 -1
View File
@@ -50,4 +50,4 @@ config navbar
option line '6' option line '6'
option newtab 'No' option newtab 'No'
option icon '/www/luci-static/alpha/gaya/icon/navbar/network.png' option icon '/www/luci-static/alpha/gaya/icon/navbar/network.png'
option address '/cgi-bin/luci/admin/network/network' option address '/cgi-bin/luci/admin/network/network'
+2 -2
View File
@@ -24,7 +24,7 @@
end) -- Check navbar enable status local navbar_enabled=config.navbar=="1" -- Calculate number end) -- Check navbar enable status local navbar_enabled=config.navbar=="1" -- Calculate number
of enabled navbar links local num_links=0 uci:foreach("alpha", "navbar" , function(section) if of enabled navbar links local num_links=0 uci:foreach("alpha", "navbar" , function(section) if
section.enable=="Enable" then num_links=num_links + 1 end end) -- Calculate link width for section.enable=="Enable" then num_links=num_links + 1 end end) -- Calculate link width for
responsive design local link_width=string.format("calc(100%% / %d)", num_links) -- Retrieve responsive design local link_width=string.format("calc(100%% / %d)", num_links > 0 and num_links or 1) -- Retrieve
theme properties local background_color=config.color or '#2222359a' local theme properties local background_color=config.color or '#2222359a' local
blur_value=tonumber(config.blur) or 20 local link_blur=string.format("blur(%dpx)", blur_value) blur_value=tonumber(config.blur) or 20 local link_blur=string.format("blur(%dpx)", blur_value)
%> %>
@@ -65,7 +65,7 @@
</div> </div>
<footer class="mobile"> <footer class="mobile">
<a href="https://github.com/derisamedia/luci-theme-alpha"> <a href="https://github.com/derisamedia/luci-theme-alpha">
<%=ver.luciname%> | Alpha OS Theme v3.9.7 <%=ver.luciname%> | Alpha OS Theme v3.9.7-r2
</a> </a>
</footer> </footer>
</div> </div>
+1 -1
View File
@@ -26,7 +26,7 @@
} }
}); });
let link_width = `calc(100% / ${num_links})`; let link_width = `calc(100% / ${num_links > 0 ? num_links : 1})`;
let background_color = config.color || '#2222359a'; let background_color = config.color || '#2222359a';
let blur_value = config.blur || 20; let blur_value = config.blur || 20;
let link_blur = `blur(${blur_value}px)`; let link_blur = `blur(${blur_value}px)`;
+1 -1
View File
@@ -69,7 +69,7 @@
</a> </a>
<div class="status" id="indicators"></div> <div class="status" id="indicators"></div>
<div class="logout"> <div class="logout">
<a href="/cgi-bin/luci/admin/logout" data-title="Logout">Keluar</a> <a href="/cgi-bin/luci/admin/logout" data-title="Logout"><%:Logout%></a>
</div> </div>
<div class="showSide"> <div class="showSide">
<img src="<%=media%>/gaya/icon/menu_icon.svg" alt=""> <img src="<%=media%>/gaya/icon/menu_icon.svg" alt="">
+1 -1
View File
@@ -46,7 +46,7 @@
</a> </a>
<div class="status" id="indicators"></div> <div class="status" id="indicators"></div>
<div class="logout" > <div class="logout" >
<a href="/cgi-bin/luci/admin/logout" data-title="Logout">Keluar</a> <a href="/cgi-bin/luci/admin/logout" data-title="Logout">{{ _('Logout') }}</a>
</div> </div>
<div class="showSide"> <div class="showSide">
<img src="{{ media }}/gaya/icon/menu_icon.svg" alt=""> <img src="{{ media }}/gaya/icon/menu_icon.svg" alt="">