diff --git a/baidudrive/Makefile b/baidudrive/Makefile index b2b91ec9..5c45a308 100644 --- a/baidudrive/Makefile +++ b/baidudrive/Makefile @@ -10,8 +10,8 @@ include $(TOPDIR)/rules.mk PKG_ARCH_BAIDUDRIVE:=$(ARCH) PKG_NAME:=baidudrive -PKG_VERSION:=1.0.1 -PKG_RELEASE:=3 +PKG_VERSION:=1.0.2 +PKG_RELEASE:=4 PKG_SOURCE:=$(PKG_NAME)-binary-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/linkease/istore-packages/releases/download/prebuilt/ PKG_HASH:=skip diff --git a/baidudrive/files/baidudrive.config b/baidudrive/files/baidudrive.config index d6015f58..1ae18b1c 100644 --- a/baidudrive/files/baidudrive.config +++ b/baidudrive/files/baidudrive.config @@ -7,7 +7,6 @@ config baidudrive option 'sdk_host' '127.0.0.1' option 'sdk_port' '8001' option 'macid' '' - option 'device_type' '' option 'usb_path' '' option 'download_path' '/' option 'quota_path' '' diff --git a/baidudrive/files/baidudrive.init b/baidudrive/files/baidudrive.init index 3e0475ac..da77e032 100644 --- a/baidudrive/files/baidudrive.init +++ b/baidudrive/files/baidudrive.init @@ -2,8 +2,10 @@ START=93 USE_PROCD=1 +DEVICE_TYPE="202604101148240791" get_config() { + config_section="$1" config_get_bool enabled "$1" enabled 1 config_get data_dir "$1" data_dir "" config_get host "$1" host "0.0.0.0" @@ -12,7 +14,6 @@ get_config() { config_get sdk_host "$1" sdk_host "127.0.0.1" config_get sdk_port "$1" sdk_port "8001" config_get macid "$1" macid "" - config_get device_type "$1" device_type "" config_get usb_path "$1" usb_path "" config_get download_path "$1" download_path "/" config_get quota_path "$1" quota_path "" @@ -53,6 +54,33 @@ storage_root_from_data_dir() { df -P "$path" 2>/dev/null | awk 'NR == 2 { print $6 }' } +default_macid() { + local netdev mac + for netdev in br-lan eth0 lan0; do + if [ -r "/sys/class/net/$netdev/address" ]; then + mac="$(tr -d ':' <"/sys/class/net/$netdev/address")" + if [ -n "$mac" ]; then + printf '%s\n' "$mac" + return 0 + fi + fi + done + return 1 +} + +ensure_macid() { + if [ -n "$macid" ]; then + return 0 + fi + + macid="$(default_macid)" + if [ -n "$macid" ] && [ -n "$config_section" ]; then + uci set "baidudrive.$config_section.macid=$macid" + uci commit baidudrive + logger -t baidudrive "generated macid from network interface: $macid" + fi +} + start_service() { config_load baidudrive config_foreach get_config baidudrive @@ -61,8 +89,8 @@ start_service() { fi require_start_value data_dir "$data_dir" || return 1 + ensure_macid require_start_value macid "$macid" || return 1 - require_start_value device_type "$device_type" || return 1 require_executable /usr/sbin/baidudrive || return 1 require_executable "$sdk_dir/baiduNas" || return 1 require_executable "$sdk_dir/P2PClient" || return 1 @@ -91,7 +119,7 @@ start_service() { -ip "$sdk_host" \ -port "$sdk_port" \ -macid "$macid" \ - -type "$device_type" \ + -type "$DEVICE_TYPE" \ -tmppath "$tmp_path" \ -usbpath "$usb_path" \ -downloadpath "$download_path" \ @@ -122,7 +150,7 @@ start_service() { procd_open_instance baidudrive procd_set_param env \ BAIDU_NAS_MACID="$macid" \ - BAIDU_NAS_DEVICE_TYPE="$device_type" \ + BAIDU_NAS_DEVICE_TYPE="$DEVICE_TYPE" \ BAIDU_NAS_USB_PATH="$usb_path" \ BAIDU_NAS_QUOTA_PATH="$quota_path" procd_set_param command /usr/sbin/baidudrive --host "$host" --port "$port" --data "$data_dir" diff --git a/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js b/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js index dce26a80..7288d303 100644 --- a/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js +++ b/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js @@ -1541,25 +1541,13 @@ function loadLabelValues(uciconfig, sectiontype, options = {}) { case 'rematch-name': { const names = new Set(); - for (const type of ['rules', 'subrules']) { - uci.sections(uciconfig, type, (res) => { - if (res.enabled === '0') - return; - - try { - const payload = - JSON.parse(res?.entry?.trim() || '{}').payload || []; - - for (const p of payload) - if (p.type === 'REMATCH-NAME') - names.add(p.factor); - } catch {} - }); - } + uci.sections(uciconfig, 'node', (res) => { + if (res.enabled !== '0' && res.target_rematch_name) + names.add(res.target_rematch_name); + }); for (const name of names) values.push([name, name]); - break; } default: diff --git a/luci-app-fchomo/htdocs/luci-static/resources/fchomo/listeners.js b/luci-app-fchomo/htdocs/luci-static/resources/fchomo/listeners.js index bfa3e57c..af030552 100644 --- a/luci-app-fchomo/htdocs/luci-static/resources/fchomo/listeners.js +++ b/luci-app-fchomo/htdocs/luci-static/resources/fchomo/listeners.js @@ -461,6 +461,9 @@ function renderListeners(s, uciconfig, isClient) { o.modalonly = true; o = s.taboption('field_general', form.ListValue, 'snell_version', _('Version')); + o.value('1', _('v1')); + o.value('2', _('v2')); + o.value('3', _('v3')); o.value('4', _('v4')); o.value('5', _('v5')); o.default = '4'; @@ -558,6 +561,7 @@ function renderListeners(s, uciconfig, isClient) { o.value('', _('none')); o.value('obfs', _('obfs-simple')); o.value('shadow-tls', _('shadow-tls')); + o.value('restls', _('restls')); //o.value('kcp-tun', _('kcp-tun')); o.validate = function(section_id, value) { const type = this.section.getOption('type').formvalue(section_id); @@ -591,13 +595,13 @@ function renderListeners(s, uciconfig, isClient) { o.datatype = 'hostport'; o.placeholder = 'cloud.tencent.com:443'; o.rmempty = false; - o.depends({plugin: 'shadow-tls'}); + o.depends({plugin: /^(shadow-tls|restls)$/}); o.modalonly = true; o = s.taboption('field_general', hm.GenValue, 'plugin_opts_thetlspassword', _('Plugin: ') + _('Password')); o.password = true; o.rmempty = false; - o.depends({plugin: 'shadow-tls'}); + o.depends({plugin: /^(shadow-tls|restls)$/}); o.modalonly = true; o = s.taboption('field_general', form.ListValue, 'plugin_opts_shadowtls_version', _('Plugin: ') + _('Version')); @@ -608,6 +612,12 @@ function renderListeners(s, uciconfig, isClient) { o.depends({plugin: 'shadow-tls'}); o.modalonly = true; + o = s.taboption('field_general', form.Value, 'plugin_opts_restls_script', _('Plugin: ') + _('Restls script')); + o.default = '300?100<1,400~100,350~100,600~100,300~200,300~100'; + o.rmempty = false; + o.depends({plugin: 'restls'}); + o.modalonly = true; + /* Extra fields */ if (isClient) { o = s.taboption('field_general', form.Value, 'routing_mark', _('Routing mark (Fwmark)')); @@ -1134,6 +1144,8 @@ function renderListeners(s, uciconfig, isClient) { o.depends('tls_reality', '1'); o.modalonly = true; + // @VMess-TLSmirror fields + /* Transport fields */ o = s.taboption('field_general', form.Flag, 'transport_enabled', _('Transport')); o.default = o.disabled; @@ -1144,6 +1156,8 @@ function renderListeners(s, uciconfig, isClient) { o.value('grpc', _('gRPC')); o.value('ws', _('WebSocket')); o.value('xhttp', _('XHTTP')); + //o.value('mkcp', _('mKCP')); // VMess only + //o.value('mekya', _('Mekya')); // VMess only o.validate = function(section_id, value) { const type = this.section.getOption('type').formvalue(section_id); @@ -1217,6 +1231,35 @@ function renderListeners(s, uciconfig, isClient) { o.placeholder = '1000000'; o.depends({transport_enabled: '1', transport_type: 'xhttp'}); o.modalonly = true; + + /* Multiplex fields */ + o = s.taboption('field_general', form.Flag, 'smux_enabled', _('Multiplex')); + o.default = o.disabled; + o.depends({type: /^(shadowsocks|vmess|vless|trojan|tuic|hysteria2|sudoku)$/}); + o.modalonly = true; + + o = s.taboption('field_multiplex', form.Flag, 'smux_padding', _('Enable padding')); + o.default = o.disabled; + o.depends('smux_enabled', '1'); + o.modalonly = true; + + o = s.taboption('field_multiplex', form.Flag, 'smux_brutal', _('Enable TCP Brutal'), + _('Enable TCP Brutal congestion control algorithm')); + o.default = o.disabled; + o.depends('smux_enabled', '1'); + o.modalonly = true; + + o = s.taboption('field_multiplex', form.Value, 'smux_brutal_up', _('Upload bandwidth'), + _('Upload bandwidth in Mbps.')); + o.datatype = 'uinteger'; + o.depends('smux_brutal', '1'); + o.modalonly = true; + + o = s.taboption('field_multiplex', form.Value, 'smux_brutal_down', _('Download bandwidth'), + _('Download bandwidth in Mbps.')); + o.datatype = 'uinteger'; + o.depends('smux_brutal', '1'); + o.modalonly = true; } return baseclass.extend({ diff --git a/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/client.js b/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/client.js index 7d0d8e34..413e68e2 100644 --- a/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/client.js +++ b/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/client.js @@ -13,7 +13,7 @@ const parseProxyGroupYaml = hm.parseYaml.extend({ if (!cfg.type) return null; - // key mapping // 2026/07/05 + // key mapping // 2026/07/08 let config = hm.removeBlankAttrs({ id: this.id, label: this.label, @@ -259,7 +259,7 @@ const parseDNSYaml = hm.parseYaml.extend({ if (detour) addr.setParam('detour', hm.preset_outbound.dns.map(([key, label]) => key).includes(detour) ? detour : detour === 'RULES' ? '' : this.calcID(hm.glossary["proxy_group"].field, detour)); - // key mapping // 2026/01/17 + // key mapping // 2026/07/08 let config = { id: this.id, label: this.label, @@ -291,7 +291,7 @@ const parseDNSPolicyYaml = hm.parseYaml.extend({ break; } - // key mapping // 2026/01/17 + // key mapping // 2026/07/08 let config = { id: this.id, label: this.label, @@ -312,7 +312,7 @@ const parseRulesYaml = hm.parseYaml.extend({ if (!entry) return null; - // key mapping // 2026/06/12 + // key mapping // 2026/07/08 let config = { id: this.id, label: '%s %s'.format(this.id.slice(0,7), _('(Imported)')), @@ -563,13 +563,19 @@ function renderPayload(s, total, uciconfig) { o.depends(Object.fromEntries([[prefix + 'type', /\bPROCESS\b/]])); initPayload(o, n, 'factor', uciconfig); - o = s.option(form.Value, prefix + 'rematchname', _('Factor') + ` ${n+1}`); - o.value('rematch1'); - o.validate = hm.validateAuthUsername; + o = s.option(form.ListValue, prefix + 'rematchname', _('Factor') + ` ${n+1}`); if (n === 0) o.depends('type', 'REMATCH-NAME'); o.depends(prefix + 'type', 'REMATCH-NAME'); initPayload(o, n, 'factor', uciconfig); + o.load = L.bind(function(n, key, uciconfig, section_id) { + hm.loadLabel.call(this, [ + ['', _('-- Please choose --')], + ...hm.loadLabelValues(this.config, 'rematch-name') + ], section_id); + + return new RulesEntry(uci.get(uciconfig, section_id, 'entry')).getPayload(n)[key]; + }, o, n, 'factor', uciconfig) o = s.option(form.Value, prefix + 'uint', _('Factor') + ` ${n+1}`); o.datatype = 'uinteger'; @@ -684,15 +690,13 @@ function renderPayload(s, total, uciconfig) { }) initDynamicPayload(o, n, 'factor', uciconfig); o.load = L.bind(function(n, key, uciconfig, section_id) { - let fusedval = [ + hm.loadLabel.call(this, [ + ['REMATCHNAME', _('-- REMATCH-NAME --')], + ...hm.loadLabelValues(this.config, 'rematch-name'), ['NETWORK', _('-- NETWORK --')], ['udp', _('UDP')], ['tcp', _('TCP')], - ['RULESET', _('-- RULE-SET --')] - ]; - - hm.loadLabel.call(this, [ - ...fusedval, + ['RULESET', _('-- RULE-SET --')], ...hm.loadLabelValues(this.config, 'ruleset') ], section_id); @@ -1899,7 +1903,8 @@ return view.extend({ so = ss.option(form.DynamicList, 'fallback_filter_geosite', _('Geosite'), _('Match geosite.
') + - _('The matching %s will be deemed as poisoned.').format(_('Domain'))); + _('The matching %s will be deemed as poisoned.').format(_('Domain')) + `
` + + _('Option is deprecated. Please use %s instead.').format(_('DNS policy'))); so = ss.option(form.DynamicList, 'fallback_filter_ipcidr', _('IP CIDR'), _('Match response with ipcidr.
') + diff --git a/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/node.js b/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/node.js index c4093abb..579485c8 100644 --- a/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/node.js +++ b/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/node.js @@ -264,14 +264,17 @@ return view.extend({ so.depends({type: /^(rematch|direct|mieru)$/, '!reverse': true}); /* Rematch fields */ - so = ss.taboption('field_general', form.ListValue, 'target_rematch_name', _('REMATCH-NAME marking')); - so.load = function(section_id) { - return hm.loadLabel.call(this, [ - ['', _('-- Please choose --')], - ...hm.loadLabelValues(this.config, 'rematch-name') - ], section_id); - } - so.rmempty = false; + // https://github.com/MetaCubeX/mihomo/pull/2862 + so = ss.taboption('field_general', form.Value, 'target_rematch_name', _('REMATCH-NAME marking')); + so.value('rematch1'); + so.validate = function(section_id, value) { + const target_sub_rule = this.section.getOption('target_sub_rule').formvalue(section_id); + + if (!value && !target_sub_rule) + return _('Expecting: Least one of %s or %s.').format(_('REMATCH-NAME marking'), _('Use sub rule')); + + return hm.validateAuthUsername.call(this, section_id, value); + }; so.depends('type', 'rematch'); so.modalonly = true; @@ -282,6 +285,14 @@ return view.extend({ ...hm.loadLabelValues(this.config, 'subrule-group') ], section_id); } + so.validate = function(section_id, value) { + const target_rematch_name = this.section.getOption('target_rematch_name').formvalue(section_id); + + if (!value && !target_rematch_name) + return _('Expecting: Least one of %s or %s.').format(_('REMATCH-NAME marking'), _('Use sub rule')); + + return true; + }; so.depends('type', 'rematch'); so.modalonly = true; @@ -1095,7 +1106,7 @@ return view.extend({ let tls = this.section.getUIElement(section_id, 'tls').node.querySelector('input'); // Force enabled - if (['trojan', 'anytls', 'hysteria', 'hysteria2', 'tuic', 'trusttunnel'].includes(type)) { + if (['trojan', 'anytls', 'hysteria', 'hysteria2', 'tuic', 'trusttunnel', 'masque'].includes(type)) { tls.checked = true; tls.disabled = true; } else { @@ -1104,7 +1115,7 @@ return view.extend({ return true; } - so.depends({type: /^(http|socks5|vmess|vless|trojan|anytls|hysteria|hysteria2|tuic|trusttunnel)$/}); + so.depends({type: /^(http|socks5|vmess|vless|trojan|anytls|hysteria|hysteria2|tuic|trusttunnel|masque)$/}); so.modalonly = true; so = ss.taboption('field_tls', form.Flag, 'tls_disable_sni', _('Disable SNI'), @@ -1115,7 +1126,7 @@ return view.extend({ so = ss.taboption('field_tls', form.Value, 'tls_sni', _('TLS SNI'), _('Used to verify the hostname on the returned certificates.')); - so.depends({tls: '1', type: /^(http|vmess|vless|trojan|anytls|hysteria|hysteria2|trusttunnel)$/}); + so.depends({tls: '1', type: /^(http|vmess|vless|trojan|anytls|hysteria|hysteria2|trusttunnel|masque)$/}); so.depends({tls: '1', type: /^(tuic)$/, tls_disable_sni: '0'}); so.modalonly = true; @@ -1261,6 +1272,8 @@ return view.extend({ so.depends('tls_reality', '1'); so.modalonly = true; + // @VMess-TLSmirror fields + /* Transport fields */ so = ss.taboption('field_general', form.Flag, 'transport_enabled', _('Transport')); so.default = so.disabled; @@ -1274,6 +1287,8 @@ return view.extend({ so.value('grpc', _('gRPC')); so.value('ws', _('WebSocket')); so.value('xhttp', _('XHTTP')); + //so.value('mkcp', _('mKCP')); // VMess only + //so.value('mekya', _('Mekya')); // VMess only so.validate = function(section_id, value) { const type = this.section.getOption('type').formvalue(section_id); diff --git a/luci-app-fchomo/po/templates/fchomo.pot b/luci-app-fchomo/po/templates/fchomo.pot index 95072cf3..3ae40dee 100644 --- a/luci-app-fchomo/po/templates/fchomo.pot +++ b/luci-app-fchomo/po/templates/fchomo.pot @@ -20,49 +20,53 @@ msgstr "" msgid "(Imported)" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1020 -#: htdocs/luci-static/resources/fchomo/listeners.js:1028 -#: htdocs/luci-static/resources/fchomo/listeners.js:1037 +#: htdocs/luci-static/resources/fchomo/listeners.js:1030 +#: htdocs/luci-static/resources/fchomo/listeners.js:1038 +#: htdocs/luci-static/resources/fchomo/listeners.js:1047 #: htdocs/luci-static/resources/view/fchomo/global.js:564 #: htdocs/luci-static/resources/view/fchomo/global.js:570 -#: htdocs/luci-static/resources/view/fchomo/node.js:1188 -#: htdocs/luci-static/resources/view/fchomo/node.js:1194 -#: htdocs/luci-static/resources/view/fchomo/node.js:1202 -#: htdocs/luci-static/resources/view/fchomo/node.js:1208 +#: htdocs/luci-static/resources/view/fchomo/node.js:1199 +#: htdocs/luci-static/resources/view/fchomo/node.js:1205 +#: htdocs/luci-static/resources/view/fchomo/node.js:1213 +#: htdocs/luci-static/resources/view/fchomo/node.js:1219 msgid "(mTLS)" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:688 +#: htdocs/luci-static/resources/view/fchomo/client.js:696 msgid "-- NETWORK --" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1204 +#: htdocs/luci-static/resources/view/fchomo/client.js:1208 msgid "-- PROXY-GROUP --" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1139 -#: htdocs/luci-static/resources/view/fchomo/client.js:1206 +#: htdocs/luci-static/resources/view/fchomo/client.js:1143 +#: htdocs/luci-static/resources/view/fchomo/client.js:1210 msgid "-- PROXY-NODE --" msgstr "" #: htdocs/luci-static/resources/fchomo.js:832 -#: htdocs/luci-static/resources/view/fchomo/client.js:877 -#: htdocs/luci-static/resources/view/fchomo/client.js:880 -#: htdocs/luci-static/resources/view/fchomo/client.js:1077 +#: htdocs/luci-static/resources/view/fchomo/client.js:573 +#: htdocs/luci-static/resources/view/fchomo/client.js:881 +#: htdocs/luci-static/resources/view/fchomo/client.js:884 #: htdocs/luci-static/resources/view/fchomo/client.js:1081 -#: htdocs/luci-static/resources/view/fchomo/client.js:1097 +#: htdocs/luci-static/resources/view/fchomo/client.js:1085 #: htdocs/luci-static/resources/view/fchomo/client.js:1101 -#: htdocs/luci-static/resources/view/fchomo/client.js:1357 -#: htdocs/luci-static/resources/view/fchomo/node.js:270 -#: htdocs/luci-static/resources/view/fchomo/node.js:281 -#: htdocs/luci-static/resources/view/fchomo/node.js:2071 +#: htdocs/luci-static/resources/view/fchomo/client.js:1105 +#: htdocs/luci-static/resources/view/fchomo/client.js:1361 +#: htdocs/luci-static/resources/view/fchomo/node.js:284 #: htdocs/luci-static/resources/view/fchomo/node.js:2082 -#: htdocs/luci-static/resources/view/fchomo/node.js:2101 +#: htdocs/luci-static/resources/view/fchomo/node.js:2093 #: htdocs/luci-static/resources/view/fchomo/node.js:2112 +#: htdocs/luci-static/resources/view/fchomo/node.js:2123 msgid "-- Please choose --" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:691 +#: htdocs/luci-static/resources/view/fchomo/client.js:694 +msgid "-- REMATCH-NAME --" +msgstr "" + +#: htdocs/luci-static/resources/view/fchomo/client.js:699 msgid "-- RULE-SET --" msgstr "" @@ -95,20 +99,20 @@ msgstr "" msgid "2022-blake3-chacha20-poly1305" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:703 +#: htdocs/luci-static/resources/view/fchomo/client.js:707 msgid "0 or 1 only." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:998 -#: htdocs/luci-static/resources/fchomo/listeners.js:1013 -#: htdocs/luci-static/resources/fchomo/listeners.js:1038 -#: htdocs/luci-static/resources/view/fchomo/node.js:1195 -#: htdocs/luci-static/resources/view/fchomo/node.js:1209 +#: htdocs/luci-static/resources/fchomo/listeners.js:1008 +#: htdocs/luci-static/resources/fchomo/listeners.js:1023 +#: htdocs/luci-static/resources/fchomo/listeners.js:1048 +#: htdocs/luci-static/resources/view/fchomo/node.js:1206 +#: htdocs/luci-static/resources/view/fchomo/node.js:1220 msgid "Save your configuration before uploading files!" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:286 -#: htdocs/luci-static/resources/view/fchomo/node.js:424 +#: htdocs/luci-static/resources/view/fchomo/node.js:435 msgid "" "A base64 string is used to fine-tune network behavior.
Please refer to " "the document" msgstr "" @@ -398,16 +402,16 @@ msgstr "" msgid "Block DNS queries" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1767 -#: htdocs/luci-static/resources/view/fchomo/client.js:1776 +#: htdocs/luci-static/resources/view/fchomo/client.js:1771 +#: htdocs/luci-static/resources/view/fchomo/client.js:1780 msgid "Bootstrap DNS policy (Node)" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1466 +#: htdocs/luci-static/resources/view/fchomo/client.js:1470 msgid "Bootstrap DNS server" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1473 +#: htdocs/luci-static/resources/view/fchomo/client.js:1477 msgid "Bootstrap DNS server (Node)" msgstr "" @@ -427,10 +431,10 @@ msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:439 #: htdocs/luci-static/resources/fchomo/listeners.js:440 #: htdocs/luci-static/resources/fchomo/listeners.js:441 -#: htdocs/luci-static/resources/view/fchomo/node.js:502 -#: htdocs/luci-static/resources/view/fchomo/node.js:503 -#: htdocs/luci-static/resources/view/fchomo/node.js:504 -#: htdocs/luci-static/resources/view/fchomo/node.js:505 +#: htdocs/luci-static/resources/view/fchomo/node.js:513 +#: htdocs/luci-static/resources/view/fchomo/node.js:514 +#: htdocs/luci-static/resources/view/fchomo/node.js:515 +#: htdocs/luci-static/resources/view/fchomo/node.js:516 msgid "CDN support" msgstr "" @@ -450,17 +454,17 @@ msgstr "" msgid "Cancel" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1167 +#: htdocs/luci-static/resources/view/fchomo/node.js:1178 msgid "Cert fingerprint" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1168 +#: htdocs/luci-static/resources/view/fchomo/node.js:1179 msgid "" "Certificate fingerprint. Used to implement SSL Pinning and prevent MitM." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:990 -#: htdocs/luci-static/resources/view/fchomo/node.js:1188 +#: htdocs/luci-static/resources/fchomo/listeners.js:1000 +#: htdocs/luci-static/resources/view/fchomo/node.js:1199 msgid "Certificate path" msgstr "" @@ -473,7 +477,7 @@ msgstr "" msgid "Check routerself NAT Behavior" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1921 +#: htdocs/luci-static/resources/view/fchomo/client.js:1926 msgid "" "Check the response from the %s, only initiate query if the " "%s is satisfied." @@ -497,14 +501,14 @@ msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:255 #: htdocs/luci-static/resources/fchomo/listeners.js:354 -#: htdocs/luci-static/resources/view/fchomo/node.js:377 -#: htdocs/luci-static/resources/view/fchomo/node.js:436 -#: htdocs/luci-static/resources/view/fchomo/node.js:701 +#: htdocs/luci-static/resources/view/fchomo/node.js:388 +#: htdocs/luci-static/resources/view/fchomo/node.js:447 +#: htdocs/luci-static/resources/view/fchomo/node.js:712 msgid "Chipher" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:363 -#: htdocs/luci-static/resources/view/fchomo/node.js:445 +#: htdocs/luci-static/resources/view/fchomo/node.js:456 msgid "Chipher must be enabled if obfuscate downlink is disabled." msgstr "" @@ -518,25 +522,25 @@ msgid "" "to download the latest initial package." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:749 -#: htdocs/luci-static/resources/fchomo/listeners.js:1029 +#: htdocs/luci-static/resources/fchomo/listeners.js:759 +#: htdocs/luci-static/resources/fchomo/listeners.js:1039 #: htdocs/luci-static/resources/view/fchomo/global.js:571 -#: htdocs/luci-static/resources/view/fchomo/node.js:1025 -#: htdocs/luci-static/resources/view/fchomo/node.js:1189 -#: htdocs/luci-static/resources/view/fchomo/node.js:1203 +#: htdocs/luci-static/resources/view/fchomo/node.js:1036 +#: htdocs/luci-static/resources/view/fchomo/node.js:1200 +#: htdocs/luci-static/resources/view/fchomo/node.js:1214 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:22 msgid "Client" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1028 +#: htdocs/luci-static/resources/fchomo/listeners.js:1038 msgid "Client Auth Certificate path" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1020 +#: htdocs/luci-static/resources/fchomo/listeners.js:1030 msgid "Client Auth type" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1234 +#: htdocs/luci-static/resources/view/fchomo/node.js:1245 msgid "Client fingerprint" msgstr "" @@ -557,16 +561,16 @@ msgstr "" msgid "Common ports (bypass P2P traffic)" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1755 +#: htdocs/luci-static/resources/fchomo.js:1743 msgid "Complete" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1887 +#: htdocs/luci-static/resources/view/fchomo/node.js:1898 msgid "Configuration Items" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:643 -#: htdocs/luci-static/resources/view/fchomo/node.js:944 +#: htdocs/luci-static/resources/fchomo/listeners.js:653 +#: htdocs/luci-static/resources/view/fchomo/node.js:955 msgid "Congestion controller" msgstr "" @@ -574,7 +578,7 @@ msgstr "" msgid "Connection check" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:561 +#: htdocs/luci-static/resources/view/fchomo/node.js:572 msgid "Connection reuse" msgstr "" @@ -586,15 +590,15 @@ msgstr "" msgid "Content copied to clipboard!" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:681 -#: htdocs/luci-static/resources/view/fchomo/node.js:1727 -#: htdocs/luci-static/resources/view/fchomo/node.js:1753 +#: htdocs/luci-static/resources/view/fchomo/client.js:687 +#: htdocs/luci-static/resources/view/fchomo/node.js:1738 +#: htdocs/luci-static/resources/view/fchomo/node.js:1764 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:348 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:374 msgid "Content will not be verified, Please make sure you enter it correctly." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1726 +#: htdocs/luci-static/resources/view/fchomo/node.js:1737 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:347 msgid "Contents" msgstr "" @@ -619,7 +623,7 @@ msgstr "" msgid "Custom Direct List" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1858 +#: htdocs/luci-static/resources/view/fchomo/node.js:1869 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:420 msgid "Custom HTTP header." msgstr "" @@ -629,7 +633,7 @@ msgid "Custom Proxy List" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:378 -#: htdocs/luci-static/resources/view/fchomo/node.js:460 +#: htdocs/luci-static/resources/view/fchomo/node.js:471 msgid "Custom byte layout" msgstr "" @@ -642,8 +646,9 @@ msgstr "" msgid "DIRECT" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1819 -#: htdocs/luci-static/resources/view/fchomo/client.js:1828 +#: htdocs/luci-static/resources/view/fchomo/client.js:1823 +#: htdocs/luci-static/resources/view/fchomo/client.js:1832 +#: htdocs/luci-static/resources/view/fchomo/client.js:1907 msgid "DNS policy" msgstr "" @@ -651,15 +656,15 @@ msgstr "" msgid "DNS port" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:895 -#: htdocs/luci-static/resources/view/fchomo/client.js:1512 -#: htdocs/luci-static/resources/view/fchomo/client.js:1521 -#: htdocs/luci-static/resources/view/fchomo/node.js:792 -#: htdocs/luci-static/resources/view/fchomo/node.js:875 +#: htdocs/luci-static/resources/view/fchomo/client.js:899 +#: htdocs/luci-static/resources/view/fchomo/client.js:1516 +#: htdocs/luci-static/resources/view/fchomo/client.js:1525 +#: htdocs/luci-static/resources/view/fchomo/node.js:803 +#: htdocs/luci-static/resources/view/fchomo/node.js:886 msgid "DNS server" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1449 +#: htdocs/luci-static/resources/view/fchomo/client.js:1453 msgid "DNS settings" msgstr "" @@ -679,13 +684,13 @@ msgstr "" msgid "Default DNS (issued by WAN)" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1487 -#: htdocs/luci-static/resources/view/fchomo/client.js:1922 -#: htdocs/luci-static/resources/view/fchomo/client.js:1925 +#: htdocs/luci-static/resources/view/fchomo/client.js:1491 +#: htdocs/luci-static/resources/view/fchomo/client.js:1927 +#: htdocs/luci-static/resources/view/fchomo/client.js:1930 msgid "Default DNS server" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1197 +#: htdocs/luci-static/resources/view/fchomo/client.js:1201 msgid "Default selected" msgstr "" @@ -693,15 +698,15 @@ msgstr "" msgid "Derive from priv-key" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:846 +#: htdocs/luci-static/resources/view/fchomo/node.js:857 msgid "Destination addresses allowed to be forwarded via Wireguard." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2068 +#: htdocs/luci-static/resources/view/fchomo/node.js:2079 msgid "Destination provider" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2079 +#: htdocs/luci-static/resources/view/fchomo/node.js:2090 msgid "Destination proxy node" msgstr "" @@ -709,8 +714,8 @@ msgstr "" msgid "Dial fields" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2091 -#: htdocs/luci-static/resources/view/fchomo/node.js:2121 +#: htdocs/luci-static/resources/view/fchomo/node.js:2102 +#: htdocs/luci-static/resources/view/fchomo/node.js:2132 msgid "Different chain head/tail" msgstr "" @@ -732,7 +737,7 @@ msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:194 #: htdocs/luci-static/resources/view/fchomo/global.js:424 -#: htdocs/luci-static/resources/view/fchomo/node.js:332 +#: htdocs/luci-static/resources/view/fchomo/node.js:343 msgid "Disable" msgstr "" @@ -748,11 +753,11 @@ msgstr "" msgid "Disable ICMP Forwarding" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1110 +#: htdocs/luci-static/resources/view/fchomo/node.js:1121 msgid "Disable SNI" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1146 +#: htdocs/luci-static/resources/view/fchomo/client.js:1150 msgid "Disable UDP" msgstr "" @@ -760,43 +765,45 @@ msgstr "" msgid "Disable safe path check" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:837 +#: htdocs/luci-static/resources/view/fchomo/client.js:841 msgid "" "Do not resolve the domain connection to IP for this match.
Only works " "for pure domain inbound connections without DNS resolution. e.g., socks5h" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:860 -#: htdocs/luci-static/resources/view/fchomo/client.js:865 -#: htdocs/luci-static/resources/view/fchomo/client.js:1902 -#: htdocs/luci-static/resources/view/fchomo/client.js:1909 -#: htdocs/luci-static/resources/view/fchomo/client.js:1911 +#: htdocs/luci-static/resources/view/fchomo/client.js:864 +#: htdocs/luci-static/resources/view/fchomo/client.js:869 +#: htdocs/luci-static/resources/view/fchomo/client.js:1906 +#: htdocs/luci-static/resources/view/fchomo/client.js:1914 +#: htdocs/luci-static/resources/view/fchomo/client.js:1916 msgid "Domain" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1111 +#: htdocs/luci-static/resources/view/fchomo/node.js:1122 msgid "Donot send server name in ClientHello." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1664 -#: htdocs/luci-static/resources/view/fchomo/node.js:1181 -#: htdocs/luci-static/resources/view/fchomo/node.js:1927 +#: htdocs/luci-static/resources/view/fchomo/client.js:1668 +#: htdocs/luci-static/resources/view/fchomo/node.js:1192 +#: htdocs/luci-static/resources/view/fchomo/node.js:1938 msgid "Donot verifying server certificate." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1528 +#: htdocs/luci-static/resources/fchomo/listeners.js:1254 +#: htdocs/luci-static/resources/view/fchomo/node.js:1539 msgid "Download bandwidth" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1529 +#: htdocs/luci-static/resources/fchomo/listeners.js:1255 +#: htdocs/luci-static/resources/view/fchomo/node.js:1540 msgid "Download bandwidth in Mbps." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1634 +#: htdocs/luci-static/resources/fchomo.js:1622 msgid "Download failed: %s" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1632 +#: htdocs/luci-static/resources/fchomo.js:1620 msgid "Download successful." msgstr "" @@ -804,24 +811,24 @@ msgstr "" msgid "Dual stack" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1228 +#: htdocs/luci-static/resources/view/fchomo/node.js:1239 msgid "ECH HTTPS record query servername" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1086 -#: htdocs/luci-static/resources/view/fchomo/node.js:1222 +#: htdocs/luci-static/resources/fchomo/listeners.js:1096 +#: htdocs/luci-static/resources/view/fchomo/node.js:1233 msgid "ECH config" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1045 +#: htdocs/luci-static/resources/fchomo/listeners.js:1055 msgid "ECH key" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1698 +#: htdocs/luci-static/resources/view/fchomo/client.js:1702 msgid "ECS override" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1682 +#: htdocs/luci-static/resources/view/fchomo/client.js:1686 msgid "EDNS Client Subnet" msgstr "" @@ -829,11 +836,11 @@ msgstr "" msgid "ETag support" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1368 +#: htdocs/luci-static/resources/view/fchomo/node.js:1379 msgid "Early Data first packet length limit." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1374 +#: htdocs/luci-static/resources/view/fchomo/node.js:1385 msgid "Early Data header name" msgstr "" @@ -849,7 +856,7 @@ msgstr "" msgid "Edit ruleset" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1724 +#: htdocs/luci-static/resources/view/fchomo/node.js:1735 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:345 msgid "Editer" msgstr "" @@ -858,37 +865,37 @@ msgstr "" msgid "Eliminate encryption header characteristics" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1131 +#: htdocs/luci-static/resources/view/fchomo/client.js:1135 msgid "Empty fallback" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:133 -#: htdocs/luci-static/resources/view/fchomo/client.js:958 -#: htdocs/luci-static/resources/view/fchomo/client.js:1053 -#: htdocs/luci-static/resources/view/fchomo/client.js:1340 -#: htdocs/luci-static/resources/view/fchomo/client.js:1435 -#: htdocs/luci-static/resources/view/fchomo/client.js:1577 -#: htdocs/luci-static/resources/view/fchomo/client.js:1811 -#: htdocs/luci-static/resources/view/fchomo/client.js:1867 +#: htdocs/luci-static/resources/view/fchomo/client.js:962 +#: htdocs/luci-static/resources/view/fchomo/client.js:1057 +#: htdocs/luci-static/resources/view/fchomo/client.js:1344 +#: htdocs/luci-static/resources/view/fchomo/client.js:1439 +#: htdocs/luci-static/resources/view/fchomo/client.js:1581 +#: htdocs/luci-static/resources/view/fchomo/client.js:1815 +#: htdocs/luci-static/resources/view/fchomo/client.js:1871 #: htdocs/luci-static/resources/view/fchomo/global.js:422 #: htdocs/luci-static/resources/view/fchomo/global.js:704 #: htdocs/luci-static/resources/view/fchomo/node.js:246 -#: htdocs/luci-static/resources/view/fchomo/node.js:1697 -#: htdocs/luci-static/resources/view/fchomo/node.js:1966 -#: htdocs/luci-static/resources/view/fchomo/node.js:2055 +#: htdocs/luci-static/resources/view/fchomo/node.js:1708 +#: htdocs/luci-static/resources/view/fchomo/node.js:1977 +#: htdocs/luci-static/resources/view/fchomo/node.js:2066 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:272 #: htdocs/luci-static/resources/view/fchomo/server.js:49 msgid "Enable" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:610 +#: htdocs/luci-static/resources/view/fchomo/node.js:621 msgid "" "Enable 0-RTT QUIC connection handshake on the client side. This is not " "impacting much on the performance, as the protocol is fully multiplexed.
Disabling this is highly recommended, as it is vulnerable to replay attacks." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:609 +#: htdocs/luci-static/resources/view/fchomo/node.js:620 msgid "Enable 0-RTT handshake" msgstr "" @@ -898,57 +905,60 @@ msgid "" "conversion for outbound connections" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1216 +#: htdocs/luci-static/resources/view/fchomo/node.js:1227 msgid "Enable ECH" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1516 +#: htdocs/luci-static/resources/fchomo/listeners.js:1242 +#: htdocs/luci-static/resources/view/fchomo/node.js:1527 msgid "Enable TCP Brutal" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1517 +#: htdocs/luci-static/resources/fchomo/listeners.js:1243 +#: htdocs/luci-static/resources/view/fchomo/node.js:1528 msgid "Enable TCP Brutal congestion control algorithm" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:604 +#: htdocs/luci-static/resources/view/fchomo/node.js:615 msgid "Enable fast open" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1505 +#: htdocs/luci-static/resources/view/fchomo/node.js:1516 msgid "Enable multiplexing only for TCP." msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:424 -#: htdocs/luci-static/resources/view/fchomo/node.js:488 +#: htdocs/luci-static/resources/view/fchomo/node.js:499 msgid "Enable obfuscate for downlink" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1499 +#: htdocs/luci-static/resources/fchomo/listeners.js:1237 +#: htdocs/luci-static/resources/view/fchomo/node.js:1510 msgid "Enable padding" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1510 +#: htdocs/luci-static/resources/view/fchomo/node.js:1521 msgid "Enable statistic" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:977 -#: htdocs/luci-static/resources/view/fchomo/node.js:1909 +#: htdocs/luci-static/resources/view/fchomo/node.js:988 +#: htdocs/luci-static/resources/view/fchomo/node.js:1920 msgid "" "Enable the SUoT protocol, requires server support. Conflict with Multiplex." msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:201 -#: htdocs/luci-static/resources/view/fchomo/node.js:339 +#: htdocs/luci-static/resources/view/fchomo/node.js:350 msgid "" "Enabling obfuscation will make the server incompatible with standard QUIC " "connections, losing the ability to masquerade with HTTP/3." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:712 +#: htdocs/luci-static/resources/fchomo/listeners.js:722 msgid "Encryption method" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:739 +#: htdocs/luci-static/resources/view/fchomo/node.js:750 msgid "Endpoint pubkic key" msgstr "" @@ -956,8 +966,8 @@ msgstr "" msgid "Endpoint-Independent NAT" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:736 -#: htdocs/luci-static/resources/view/fchomo/client.js:887 +#: htdocs/luci-static/resources/view/fchomo/client.js:740 +#: htdocs/luci-static/resources/view/fchomo/client.js:891 msgid "Entry" msgstr "" @@ -965,24 +975,24 @@ msgstr "" msgid "Error" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1190 +#: htdocs/luci-static/resources/view/fchomo/client.js:1194 msgid "" "Exceeding this triggers a forced health check. 5 will be used " "if empty." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2024 +#: htdocs/luci-static/resources/view/fchomo/node.js:2035 msgid "Exclude matched node types." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1244 +#: htdocs/luci-static/resources/view/fchomo/client.js:1248 msgid "" "Exclude matched node types. Available types see
here." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1239 -#: htdocs/luci-static/resources/view/fchomo/node.js:2017 +#: htdocs/luci-static/resources/view/fchomo/client.js:1243 +#: htdocs/luci-static/resources/view/fchomo/node.js:2028 msgid "Exclude nodes that meet keywords or regexps." msgstr "" @@ -990,69 +1000,74 @@ msgstr "" msgid "Expand/Collapse result" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1182 -#: htdocs/luci-static/resources/view/fchomo/node.js:2002 +#: htdocs/luci-static/resources/view/fchomo/client.js:1186 +#: htdocs/luci-static/resources/view/fchomo/node.js:2013 msgid "Expected HTTP code. 204 will be used if empty." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1184 -#: htdocs/luci-static/resources/view/fchomo/node.js:2004 +#: htdocs/luci-static/resources/view/fchomo/client.js:1188 +#: htdocs/luci-static/resources/view/fchomo/node.js:2015 msgid "Expected status" msgstr "" #: htdocs/luci-static/resources/fchomo.js:452 #: htdocs/luci-static/resources/fchomo.js:455 #: htdocs/luci-static/resources/fchomo.js:458 -#: htdocs/luci-static/resources/fchomo.js:1772 -#: htdocs/luci-static/resources/fchomo.js:1780 -#: htdocs/luci-static/resources/fchomo.js:1788 -#: htdocs/luci-static/resources/fchomo.js:1811 -#: htdocs/luci-static/resources/fchomo.js:1814 -#: htdocs/luci-static/resources/fchomo.js:1821 -#: htdocs/luci-static/resources/fchomo.js:1837 +#: htdocs/luci-static/resources/fchomo.js:1760 +#: htdocs/luci-static/resources/fchomo.js:1768 +#: htdocs/luci-static/resources/fchomo.js:1776 +#: htdocs/luci-static/resources/fchomo.js:1799 +#: htdocs/luci-static/resources/fchomo.js:1802 +#: htdocs/luci-static/resources/fchomo.js:1809 +#: htdocs/luci-static/resources/fchomo.js:1825 +#: htdocs/luci-static/resources/fchomo.js:1834 #: htdocs/luci-static/resources/fchomo.js:1846 -#: htdocs/luci-static/resources/fchomo.js:1858 -#: htdocs/luci-static/resources/fchomo.js:1861 +#: htdocs/luci-static/resources/fchomo.js:1849 +#: htdocs/luci-static/resources/fchomo.js:1859 #: htdocs/luci-static/resources/fchomo.js:1871 -#: htdocs/luci-static/resources/fchomo.js:1883 -#: htdocs/luci-static/resources/fchomo.js:1886 -#: htdocs/luci-static/resources/fchomo.js:1896 -#: htdocs/luci-static/resources/fchomo.js:1906 -#: htdocs/luci-static/resources/fchomo.js:1941 -#: htdocs/luci-static/resources/fchomo.js:1943 -#: htdocs/luci-static/resources/fchomo.js:1956 -#: htdocs/luci-static/resources/fchomo.js:1962 -#: htdocs/luci-static/resources/fchomo.js:1969 -#: htdocs/luci-static/resources/fchomo.js:1978 +#: htdocs/luci-static/resources/fchomo.js:1874 +#: htdocs/luci-static/resources/fchomo.js:1884 +#: htdocs/luci-static/resources/fchomo.js:1894 +#: htdocs/luci-static/resources/fchomo.js:1929 +#: htdocs/luci-static/resources/fchomo.js:1931 +#: htdocs/luci-static/resources/fchomo.js:1944 +#: htdocs/luci-static/resources/fchomo.js:1950 +#: htdocs/luci-static/resources/fchomo.js:1957 +#: htdocs/luci-static/resources/fchomo.js:1966 #: htdocs/luci-static/resources/fchomo/listeners.js:363 #: htdocs/luci-static/resources/fchomo/listeners.js:410 -#: htdocs/luci-static/resources/fchomo/listeners.js:741 -#: htdocs/luci-static/resources/fchomo/listeners.js:772 -#: htdocs/luci-static/resources/fchomo/listeners.js:873 +#: htdocs/luci-static/resources/fchomo/listeners.js:751 +#: htdocs/luci-static/resources/fchomo/listeners.js:782 +#: htdocs/luci-static/resources/fchomo/listeners.js:883 #: htdocs/luci-static/resources/view/fchomo/client.js:71 -#: htdocs/luci-static/resources/view/fchomo/client.js:1047 -#: htdocs/luci-static/resources/view/fchomo/client.js:1592 +#: htdocs/luci-static/resources/view/fchomo/client.js:1051 +#: htdocs/luci-static/resources/view/fchomo/client.js:1596 #: htdocs/luci-static/resources/view/fchomo/global.js:904 -#: htdocs/luci-static/resources/view/fchomo/node.js:445 -#: htdocs/luci-static/resources/view/fchomo/node.js:481 -#: htdocs/luci-static/resources/view/fchomo/node.js:534 -#: htdocs/luci-static/resources/view/fchomo/node.js:536 -#: htdocs/luci-static/resources/view/fchomo/node.js:1048 -#: htdocs/luci-static/resources/view/fchomo/node.js:1173 -#: htdocs/luci-static/resources/view/fchomo/node.js:2091 -#: htdocs/luci-static/resources/view/fchomo/node.js:2121 +#: htdocs/luci-static/resources/view/fchomo/node.js:456 +#: htdocs/luci-static/resources/view/fchomo/node.js:492 +#: htdocs/luci-static/resources/view/fchomo/node.js:545 +#: htdocs/luci-static/resources/view/fchomo/node.js:547 +#: htdocs/luci-static/resources/view/fchomo/node.js:1059 +#: htdocs/luci-static/resources/view/fchomo/node.js:1184 +#: htdocs/luci-static/resources/view/fchomo/node.js:2102 +#: htdocs/luci-static/resources/view/fchomo/node.js:2132 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:300 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:314 msgid "Expecting: %s" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:567 -#: htdocs/luci-static/resources/fchomo/listeners.js:1153 -#: htdocs/luci-static/resources/fchomo/listeners.js:1160 -#: htdocs/luci-static/resources/view/fchomo/node.js:894 -#: htdocs/luci-static/resources/view/fchomo/node.js:1283 -#: htdocs/luci-static/resources/view/fchomo/node.js:1290 -#: htdocs/luci-static/resources/view/fchomo/node.js:1298 +#: htdocs/luci-static/resources/view/fchomo/node.js:274 +#: htdocs/luci-static/resources/view/fchomo/node.js:292 +msgid "Expecting: Least one of %s or %s." +msgstr "" + +#: htdocs/luci-static/resources/fchomo/listeners.js:571 +#: htdocs/luci-static/resources/fchomo/listeners.js:1163 +#: htdocs/luci-static/resources/fchomo/listeners.js:1170 +#: htdocs/luci-static/resources/view/fchomo/node.js:905 +#: htdocs/luci-static/resources/view/fchomo/node.js:1294 +#: htdocs/luci-static/resources/view/fchomo/node.js:1301 +#: htdocs/luci-static/resources/view/fchomo/node.js:1309 msgid "Expecting: only support %s." msgstr "" @@ -1062,29 +1077,29 @@ msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:553 #: htdocs/luci-static/resources/view/fchomo/client.js:566 -#: htdocs/luci-static/resources/view/fchomo/client.js:574 -#: htdocs/luci-static/resources/view/fchomo/client.js:581 -#: htdocs/luci-static/resources/view/fchomo/client.js:591 -#: htdocs/luci-static/resources/view/fchomo/client.js:598 -#: htdocs/luci-static/resources/view/fchomo/client.js:606 -#: htdocs/luci-static/resources/view/fchomo/client.js:613 -#: htdocs/luci-static/resources/view/fchomo/client.js:680 +#: htdocs/luci-static/resources/view/fchomo/client.js:580 +#: htdocs/luci-static/resources/view/fchomo/client.js:587 +#: htdocs/luci-static/resources/view/fchomo/client.js:597 +#: htdocs/luci-static/resources/view/fchomo/client.js:604 +#: htdocs/luci-static/resources/view/fchomo/client.js:612 +#: htdocs/luci-static/resources/view/fchomo/client.js:619 +#: htdocs/luci-static/resources/view/fchomo/client.js:686 msgid "Factor" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1713 +#: htdocs/luci-static/resources/fchomo.js:1701 msgid "Failed to execute \"/etc/init.d/fchomo %s %s\" reason: %s" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1666 +#: htdocs/luci-static/resources/fchomo.js:1654 msgid "Failed to generate %s, error: %s." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:2078 +#: htdocs/luci-static/resources/fchomo.js:2066 msgid "Failed to upload %s, error: %s." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:2097 +#: htdocs/luci-static/resources/fchomo.js:2085 msgid "Failed to upload, error: %s." msgstr "" @@ -1093,40 +1108,40 @@ msgstr "" msgid "Fallback" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1481 -#: htdocs/luci-static/resources/view/fchomo/client.js:1494 -#: htdocs/luci-static/resources/view/fchomo/client.js:1925 +#: htdocs/luci-static/resources/view/fchomo/client.js:1485 +#: htdocs/luci-static/resources/view/fchomo/client.js:1498 +#: htdocs/luci-static/resources/view/fchomo/client.js:1930 msgid "Fallback DNS server" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1881 -#: htdocs/luci-static/resources/view/fchomo/client.js:1922 +#: htdocs/luci-static/resources/view/fchomo/client.js:1885 +#: htdocs/luci-static/resources/view/fchomo/client.js:1927 msgid "Fallback filter" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1234 -#: htdocs/luci-static/resources/view/fchomo/node.js:2011 +#: htdocs/luci-static/resources/view/fchomo/client.js:1238 +#: htdocs/luci-static/resources/view/fchomo/node.js:2022 msgid "Filter nodes that meet keywords or regexps." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1748 +#: htdocs/luci-static/resources/view/fchomo/client.js:1752 msgid "Filter record type:" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1716 -#: htdocs/luci-static/resources/view/fchomo/client.js:1732 +#: htdocs/luci-static/resources/view/fchomo/client.js:1720 +#: htdocs/luci-static/resources/view/fchomo/client.js:1736 msgid "Filter record: %s" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1480 +#: htdocs/luci-static/resources/view/fchomo/client.js:1484 msgid "Final DNS server" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1482 +#: htdocs/luci-static/resources/view/fchomo/client.js:1486 msgid "Final DNS server (For non-poisoned domains)" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1484 +#: htdocs/luci-static/resources/view/fchomo/client.js:1488 msgid "Final DNS server (For poisoned domains)" msgstr "" @@ -1134,27 +1149,27 @@ msgstr "" msgid "Firewall" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:532 -#: htdocs/luci-static/resources/view/fchomo/node.js:687 +#: htdocs/luci-static/resources/fchomo/listeners.js:535 +#: htdocs/luci-static/resources/view/fchomo/node.js:698 msgid "Flow" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1223 +#: htdocs/luci-static/resources/view/fchomo/client.js:1227 msgid "" "For details, see %s." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1183 -#: htdocs/luci-static/resources/view/fchomo/node.js:1877 -#: htdocs/luci-static/resources/view/fchomo/node.js:2003 +#: htdocs/luci-static/resources/view/fchomo/client.js:1187 +#: htdocs/luci-static/resources/view/fchomo/node.js:1888 +#: htdocs/luci-static/resources/view/fchomo/node.js:2014 msgid "" "For format see %s." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:787 -#: htdocs/luci-static/resources/view/fchomo/node.js:870 +#: htdocs/luci-static/resources/view/fchomo/node.js:798 +#: htdocs/luci-static/resources/view/fchomo/node.js:881 msgid "Force DNS remote resolution." msgstr "" @@ -1173,7 +1188,7 @@ msgstr "" msgid "FullCombo Shark!" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1323 +#: htdocs/luci-static/resources/view/fchomo/node.js:1334 msgid "GET" msgstr "" @@ -1182,7 +1197,7 @@ msgid "GFW list version" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:196 -#: htdocs/luci-static/resources/view/fchomo/node.js:334 +#: htdocs/luci-static/resources/view/fchomo/node.js:345 msgid "Gecko" msgstr "" @@ -1191,9 +1206,9 @@ msgid "General" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:119 -#: htdocs/luci-static/resources/view/fchomo/client.js:1038 +#: htdocs/luci-static/resources/view/fchomo/client.js:1042 #: htdocs/luci-static/resources/view/fchomo/node.js:233 -#: htdocs/luci-static/resources/view/fchomo/node.js:1687 +#: htdocs/luci-static/resources/view/fchomo/node.js:1698 msgid "General fields" msgstr "" @@ -1208,10 +1223,10 @@ msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:341 #: htdocs/luci-static/resources/fchomo/listeners.js:385 #: htdocs/luci-static/resources/fchomo/listeners.js:387 -#: htdocs/luci-static/resources/fchomo/listeners.js:845 -#: htdocs/luci-static/resources/fchomo/listeners.js:1078 +#: htdocs/luci-static/resources/fchomo/listeners.js:855 +#: htdocs/luci-static/resources/fchomo/listeners.js:1088 #: htdocs/luci-static/resources/view/fchomo/global.js:608 -#: htdocs/luci-static/resources/view/fchomo/node.js:1845 +#: htdocs/luci-static/resources/view/fchomo/node.js:1856 msgid "Generate" msgstr "" @@ -1227,17 +1242,17 @@ msgstr "" msgid "GeoSite version" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1891 +#: htdocs/luci-static/resources/view/fchomo/client.js:1895 msgid "Geoip code" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1888 +#: htdocs/luci-static/resources/view/fchomo/client.js:1892 msgid "Geoip enable" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:861 -#: htdocs/luci-static/resources/view/fchomo/client.js:870 -#: htdocs/luci-static/resources/view/fchomo/client.js:1900 +#: htdocs/luci-static/resources/view/fchomo/client.js:865 +#: htdocs/luci-static/resources/view/fchomo/client.js:874 +#: htdocs/luci-static/resources/view/fchomo/client.js:1904 msgid "Geosite" msgstr "" @@ -1258,7 +1273,7 @@ msgstr "" msgid "Global Authentication" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:711 +#: htdocs/luci-static/resources/view/fchomo/node.js:722 msgid "Global padding" msgstr "" @@ -1274,58 +1289,58 @@ msgstr "" msgid "Grant access to fchomo configuration" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1063 +#: htdocs/luci-static/resources/view/fchomo/client.js:1067 msgid "Group" msgstr "" #: htdocs/luci-static/resources/fchomo.js:154 #: htdocs/luci-static/resources/fchomo.js:190 -#: htdocs/luci-static/resources/fchomo/listeners.js:578 -#: htdocs/luci-static/resources/view/fchomo/node.js:905 -#: htdocs/luci-static/resources/view/fchomo/node.js:1272 +#: htdocs/luci-static/resources/fchomo/listeners.js:582 +#: htdocs/luci-static/resources/view/fchomo/node.js:916 #: htdocs/luci-static/resources/view/fchomo/node.js:1283 -#: htdocs/luci-static/resources/view/fchomo/node.js:1290 +#: htdocs/luci-static/resources/view/fchomo/node.js:1294 +#: htdocs/luci-static/resources/view/fchomo/node.js:1301 msgid "HTTP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:301 -#: htdocs/luci-static/resources/view/fchomo/node.js:1345 -#: htdocs/luci-static/resources/view/fchomo/node.js:1857 +#: htdocs/luci-static/resources/view/fchomo/node.js:312 +#: htdocs/luci-static/resources/view/fchomo/node.js:1356 +#: htdocs/luci-static/resources/view/fchomo/node.js:1868 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:419 msgid "HTTP header" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:430 -#: htdocs/luci-static/resources/view/fchomo/node.js:494 +#: htdocs/luci-static/resources/view/fchomo/node.js:505 msgid "HTTP mask" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:435 -#: htdocs/luci-static/resources/view/fchomo/node.js:499 -#: htdocs/luci-static/resources/view/fchomo/node.js:534 -#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:510 +#: htdocs/luci-static/resources/view/fchomo/node.js:545 +#: htdocs/luci-static/resources/view/fchomo/node.js:547 msgid "HTTP mask mode" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:524 +#: htdocs/luci-static/resources/view/fchomo/node.js:535 msgid "HTTP mask multiplex" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:509 -#: htdocs/luci-static/resources/view/fchomo/node.js:514 +#: htdocs/luci-static/resources/view/fchomo/node.js:520 +#: htdocs/luci-static/resources/view/fchomo/node.js:525 msgid "HTTP mask: %s" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1322 +#: htdocs/luci-static/resources/view/fchomo/node.js:1333 msgid "HTTP request method" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:445 -#: htdocs/luci-static/resources/view/fchomo/node.js:520 +#: htdocs/luci-static/resources/view/fchomo/node.js:531 msgid "HTTP root path" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1647 +#: htdocs/luci-static/resources/view/fchomo/client.js:1651 msgid "HTTP/3" msgstr "" @@ -1335,9 +1350,9 @@ msgid "" "returned if empty." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1273 #: htdocs/luci-static/resources/view/fchomo/node.js:1284 -#: htdocs/luci-static/resources/view/fchomo/node.js:1291 +#: htdocs/luci-static/resources/view/fchomo/node.js:1295 +#: htdocs/luci-static/resources/view/fchomo/node.js:1302 msgid "HTTPUpgrade" msgstr "" @@ -1345,16 +1360,16 @@ msgstr "" msgid "Handle domain" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:416 +#: htdocs/luci-static/resources/view/fchomo/node.js:427 msgid "Handshake mode" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:590 +#: htdocs/luci-static/resources/fchomo/listeners.js:594 msgid "Handshake target that supports TLS 1.3" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:417 -#: htdocs/luci-static/resources/view/fchomo/node.js:962 +#: htdocs/luci-static/resources/view/fchomo/node.js:973 msgid "Handshake timeout" msgstr "" @@ -1362,57 +1377,57 @@ msgstr "" msgid "Header to read real client IP from (e.g. X-Forwarded-For)" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:798 +#: htdocs/luci-static/resources/view/fchomo/node.js:809 msgid "Health check" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1152 -#: htdocs/luci-static/resources/view/fchomo/node.js:1971 +#: htdocs/luci-static/resources/view/fchomo/client.js:1156 +#: htdocs/luci-static/resources/view/fchomo/node.js:1982 msgid "Health check URL" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1181 -#: htdocs/luci-static/resources/view/fchomo/node.js:2001 +#: htdocs/luci-static/resources/view/fchomo/client.js:1185 +#: htdocs/luci-static/resources/view/fchomo/node.js:2012 msgid "Health check expected status" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1161 -#: htdocs/luci-static/resources/view/fchomo/node.js:1981 +#: htdocs/luci-static/resources/view/fchomo/client.js:1165 +#: htdocs/luci-static/resources/view/fchomo/node.js:1992 msgid "Health check interval" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1168 -#: htdocs/luci-static/resources/view/fchomo/node.js:1988 +#: htdocs/luci-static/resources/view/fchomo/client.js:1172 +#: htdocs/luci-static/resources/view/fchomo/node.js:1999 msgid "Health check timeout" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1040 -#: htdocs/luci-static/resources/view/fchomo/node.js:1689 +#: htdocs/luci-static/resources/view/fchomo/client.js:1044 +#: htdocs/luci-static/resources/view/fchomo/node.js:1700 msgid "Health fields" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:616 +#: htdocs/luci-static/resources/view/fchomo/node.js:627 msgid "Heartbeat interval" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1249 +#: htdocs/luci-static/resources/view/fchomo/client.js:1253 msgid "Hidden" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:583 -#: htdocs/luci-static/resources/view/fchomo/node.js:910 +#: htdocs/luci-static/resources/fchomo/listeners.js:587 +#: htdocs/luci-static/resources/view/fchomo/node.js:921 msgid "Host that supports TLS 1.3" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:371 +#: htdocs/luci-static/resources/view/fchomo/node.js:382 msgid "Host-key" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:366 +#: htdocs/luci-static/resources/view/fchomo/node.js:377 msgid "Host-key algorithms" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:514 +#: htdocs/luci-static/resources/view/fchomo/node.js:525 msgid "Host/SNI override" msgstr "" @@ -1435,21 +1450,21 @@ msgstr "" msgid "Hysteria2 Realm fields" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1893 -#: htdocs/luci-static/resources/view/fchomo/client.js:1906 +#: htdocs/luci-static/resources/view/fchomo/client.js:1897 +#: htdocs/luci-static/resources/view/fchomo/client.js:1911 msgid "IP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1904 +#: htdocs/luci-static/resources/view/fchomo/client.js:1909 msgid "IP CIDR" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:573 +#: htdocs/luci-static/resources/view/fchomo/node.js:584 msgid "IP override" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1565 -#: htdocs/luci-static/resources/view/fchomo/node.js:1957 +#: htdocs/luci-static/resources/view/fchomo/node.js:1576 +#: htdocs/luci-static/resources/view/fchomo/node.js:1968 msgid "IP version" msgstr "" @@ -1461,28 +1476,28 @@ msgstr "" msgid "IPv6 only" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1463 +#: htdocs/luci-static/resources/view/fchomo/client.js:1467 #: htdocs/luci-static/resources/view/fchomo/global.js:436 msgid "IPv6 support" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1255 +#: htdocs/luci-static/resources/view/fchomo/client.js:1259 msgid "Icon" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:660 +#: htdocs/luci-static/resources/view/fchomo/node.js:671 msgid "Idle session check interval" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:667 +#: htdocs/luci-static/resources/view/fchomo/node.js:678 msgid "Idle session timeout" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:483 +#: htdocs/luci-static/resources/fchomo/listeners.js:486 msgid "Idle timeout" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1814 +#: htdocs/luci-static/resources/fchomo.js:1802 msgid "If All ports is selected, uncheck others" msgstr "" @@ -1498,20 +1513,20 @@ msgstr "" msgid "Import" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:975 -#: htdocs/luci-static/resources/view/fchomo/client.js:1032 -#: htdocs/luci-static/resources/view/fchomo/client.js:1278 -#: htdocs/luci-static/resources/view/fchomo/client.js:1329 -#: htdocs/luci-static/resources/view/fchomo/client.js:1400 -#: htdocs/luci-static/resources/view/fchomo/client.js:1424 -#: htdocs/luci-static/resources/view/fchomo/client.js:1528 -#: htdocs/luci-static/resources/view/fchomo/client.js:1566 -#: htdocs/luci-static/resources/view/fchomo/client.js:1783 -#: htdocs/luci-static/resources/view/fchomo/client.js:1800 -#: htdocs/luci-static/resources/view/fchomo/client.js:1835 -#: htdocs/luci-static/resources/view/fchomo/client.js:1856 -#: htdocs/luci-static/resources/view/fchomo/node.js:1591 -#: htdocs/luci-static/resources/view/fchomo/node.js:1675 +#: htdocs/luci-static/resources/view/fchomo/client.js:979 +#: htdocs/luci-static/resources/view/fchomo/client.js:1036 +#: htdocs/luci-static/resources/view/fchomo/client.js:1282 +#: htdocs/luci-static/resources/view/fchomo/client.js:1333 +#: htdocs/luci-static/resources/view/fchomo/client.js:1404 +#: htdocs/luci-static/resources/view/fchomo/client.js:1428 +#: htdocs/luci-static/resources/view/fchomo/client.js:1532 +#: htdocs/luci-static/resources/view/fchomo/client.js:1570 +#: htdocs/luci-static/resources/view/fchomo/client.js:1787 +#: htdocs/luci-static/resources/view/fchomo/client.js:1804 +#: htdocs/luci-static/resources/view/fchomo/client.js:1839 +#: htdocs/luci-static/resources/view/fchomo/client.js:1860 +#: htdocs/luci-static/resources/view/fchomo/node.js:1602 +#: htdocs/luci-static/resources/view/fchomo/node.js:1686 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:154 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:249 msgid "Import mihomo config" @@ -1525,61 +1540,61 @@ msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:176 #: htdocs/luci-static/resources/fchomo/listeners.js:182 -#: htdocs/luci-static/resources/view/fchomo/node.js:320 -#: htdocs/luci-static/resources/view/fchomo/node.js:326 -#: htdocs/luci-static/resources/view/fchomo/node.js:1915 -#: htdocs/luci-static/resources/view/fchomo/node.js:1921 +#: htdocs/luci-static/resources/view/fchomo/node.js:331 +#: htdocs/luci-static/resources/view/fchomo/node.js:337 +#: htdocs/luci-static/resources/view/fchomo/node.js:1926 +#: htdocs/luci-static/resources/view/fchomo/node.js:1932 msgid "In Mbps." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1765 +#: htdocs/luci-static/resources/view/fchomo/node.js:1776 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:392 msgid "In bytes. %s will be used if empty." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:617 -#: htdocs/luci-static/resources/view/fchomo/node.js:624 +#: htdocs/luci-static/resources/view/fchomo/node.js:628 +#: htdocs/luci-static/resources/view/fchomo/node.js:635 msgid "In millisecond." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1169 -#: htdocs/luci-static/resources/view/fchomo/client.js:1215 -#: htdocs/luci-static/resources/view/fchomo/node.js:1989 +#: htdocs/luci-static/resources/view/fchomo/client.js:1173 +#: htdocs/luci-static/resources/view/fchomo/client.js:1219 +#: htdocs/luci-static/resources/view/fchomo/node.js:2000 msgid "In millisecond. %s will be used if empty." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1414 +#: htdocs/luci-static/resources/view/fchomo/node.js:1425 msgid "In milliseconds." msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:418 -#: htdocs/luci-static/resources/fchomo/listeners.js:484 -#: htdocs/luci-static/resources/fchomo/listeners.js:491 -#: htdocs/luci-static/resources/view/fchomo/node.js:661 -#: htdocs/luci-static/resources/view/fchomo/node.js:668 -#: htdocs/luci-static/resources/view/fchomo/node.js:1361 +#: htdocs/luci-static/resources/fchomo/listeners.js:487 +#: htdocs/luci-static/resources/fchomo/listeners.js:494 +#: htdocs/luci-static/resources/view/fchomo/node.js:672 +#: htdocs/luci-static/resources/view/fchomo/node.js:679 +#: htdocs/luci-static/resources/view/fchomo/node.js:1372 msgid "In seconds." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1162 +#: htdocs/luci-static/resources/view/fchomo/client.js:1166 #: htdocs/luci-static/resources/view/fchomo/global.js:446 #: htdocs/luci-static/resources/view/fchomo/global.js:451 #: htdocs/luci-static/resources/view/fchomo/global.js:536 -#: htdocs/luci-static/resources/view/fchomo/node.js:314 -#: htdocs/luci-static/resources/view/fchomo/node.js:1771 -#: htdocs/luci-static/resources/view/fchomo/node.js:1982 +#: htdocs/luci-static/resources/view/fchomo/node.js:325 +#: htdocs/luci-static/resources/view/fchomo/node.js:1782 +#: htdocs/luci-static/resources/view/fchomo/node.js:1993 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:398 msgid "In seconds. %s will be used if empty." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:963 +#: htdocs/luci-static/resources/view/fchomo/node.js:974 msgid "" "In seconds. After configuration, the handshake is not affected by the outer " "connection timeout." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:761 -#: htdocs/luci-static/resources/view/fchomo/node.js:1037 +#: htdocs/luci-static/resources/fchomo/listeners.js:771 +#: htdocs/luci-static/resources/view/fchomo/node.js:1048 msgid "" "In the order of one Padding-Length and one Padding-" "Interval, infinite concatenation." @@ -1591,27 +1606,27 @@ msgstr "" msgid "Inbound" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1116 +#: htdocs/luci-static/resources/view/fchomo/client.js:1120 msgid "Include all" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1121 +#: htdocs/luci-static/resources/view/fchomo/client.js:1125 msgid "Include all node" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1126 +#: htdocs/luci-static/resources/view/fchomo/client.js:1130 msgid "Include all provider" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1127 +#: htdocs/luci-static/resources/view/fchomo/client.js:1131 msgid "Includes all Provider." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1117 +#: htdocs/luci-static/resources/view/fchomo/client.js:1121 msgid "Includes all Proxy Node and Provider." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1122 +#: htdocs/luci-static/resources/view/fchomo/client.js:1126 msgid "Includes all Proxy Node." msgstr "" @@ -1619,7 +1634,7 @@ msgstr "" msgid "Info" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1704 +#: htdocs/luci-static/resources/view/fchomo/node.js:1715 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:288 msgid "Inline" msgstr "" @@ -1632,61 +1647,61 @@ msgstr "" #: htdocs/luci-static/resources/fchomo.js:60 #: htdocs/luci-static/resources/fchomo.js:173 #: htdocs/luci-static/resources/fchomo.js:377 -#: htdocs/luci-static/resources/view/fchomo/node.js:1931 +#: htdocs/luci-static/resources/view/fchomo/node.js:1942 msgid "Keep default" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1450 +#: htdocs/luci-static/resources/view/fchomo/node.js:1461 msgid "Keep-alive period" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:296 -#: htdocs/luci-static/resources/view/fchomo/node.js:430 +#: htdocs/luci-static/resources/view/fchomo/node.js:441 msgid "Key" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1005 -#: htdocs/luci-static/resources/view/fchomo/node.js:1202 +#: htdocs/luci-static/resources/fchomo/listeners.js:1015 +#: htdocs/luci-static/resources/view/fchomo/node.js:1213 msgid "Key path" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:780 +#: htdocs/luci-static/resources/fchomo/listeners.js:790 msgid "Keypairs" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:128 -#: htdocs/luci-static/resources/view/fchomo/client.js:1043 -#: htdocs/luci-static/resources/view/fchomo/client.js:1335 -#: htdocs/luci-static/resources/view/fchomo/client.js:1430 -#: htdocs/luci-static/resources/view/fchomo/client.js:1572 -#: htdocs/luci-static/resources/view/fchomo/client.js:1806 -#: htdocs/luci-static/resources/view/fchomo/client.js:1862 +#: htdocs/luci-static/resources/view/fchomo/client.js:1047 +#: htdocs/luci-static/resources/view/fchomo/client.js:1339 +#: htdocs/luci-static/resources/view/fchomo/client.js:1434 +#: htdocs/luci-static/resources/view/fchomo/client.js:1576 +#: htdocs/luci-static/resources/view/fchomo/client.js:1810 +#: htdocs/luci-static/resources/view/fchomo/client.js:1866 #: htdocs/luci-static/resources/view/fchomo/node.js:241 -#: htdocs/luci-static/resources/view/fchomo/node.js:1692 -#: htdocs/luci-static/resources/view/fchomo/node.js:2050 +#: htdocs/luci-static/resources/view/fchomo/node.js:1703 +#: htdocs/luci-static/resources/view/fchomo/node.js:2061 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:267 msgid "Label" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1175 -#: htdocs/luci-static/resources/view/fchomo/node.js:1995 +#: htdocs/luci-static/resources/view/fchomo/client.js:1179 +#: htdocs/luci-static/resources/view/fchomo/node.js:2006 msgid "Lazy" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1913 +#: htdocs/luci-static/resources/view/fchomo/client.js:1918 msgid "Lazy query" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1914 +#: htdocs/luci-static/resources/view/fchomo/client.js:1919 msgid "Lazy query." msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:437 -#: htdocs/luci-static/resources/view/fchomo/node.js:501 +#: htdocs/luci-static/resources/view/fchomo/node.js:512 msgid "Legacy" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:541 +#: htdocs/luci-static/resources/fchomo/listeners.js:544 msgid "" "Legacy protocol support (VMess MD5 Authentication) is provided for " "compatibility purposes only, use of alterId > 1 is not recommended." @@ -1696,8 +1711,8 @@ msgstr "" msgid "Less compatibility and sometimes better performance." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:986 -#: htdocs/luci-static/resources/view/fchomo/node.js:1123 +#: htdocs/luci-static/resources/fchomo/listeners.js:996 +#: htdocs/luci-static/resources/view/fchomo/node.js:1134 msgid "List of supported application level protocols, in order of preference." msgstr "" @@ -1714,7 +1729,7 @@ msgid "Listen interfaces" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:153 -#: htdocs/luci-static/resources/view/fchomo/client.js:1455 +#: htdocs/luci-static/resources/view/fchomo/client.js:1459 msgid "Listen port" msgstr "" @@ -1722,7 +1737,7 @@ msgstr "" msgid "Listen ports" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1460 +#: htdocs/luci-static/resources/view/fchomo/client.js:1464 msgid "Listen routing mark (Fwmark)" msgstr "" @@ -1730,18 +1745,18 @@ msgstr "" msgid "Load balance" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1702 +#: htdocs/luci-static/resources/view/fchomo/node.js:1713 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:286 msgid "Local" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:754 -#: htdocs/luci-static/resources/view/fchomo/node.js:817 +#: htdocs/luci-static/resources/view/fchomo/node.js:765 +#: htdocs/luci-static/resources/view/fchomo/node.js:828 msgid "Local IPv6 address" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:746 -#: htdocs/luci-static/resources/view/fchomo/node.js:809 +#: htdocs/luci-static/resources/view/fchomo/node.js:757 +#: htdocs/luci-static/resources/view/fchomo/node.js:820 msgid "Local address" msgstr "" @@ -1765,10 +1780,10 @@ msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:373 #: htdocs/luci-static/resources/fchomo/listeners.js:374 #: htdocs/luci-static/resources/fchomo/listeners.js:379 -#: htdocs/luci-static/resources/view/fchomo/node.js:454 -#: htdocs/luci-static/resources/view/fchomo/node.js:455 -#: htdocs/luci-static/resources/view/fchomo/node.js:456 -#: htdocs/luci-static/resources/view/fchomo/node.js:461 +#: htdocs/luci-static/resources/view/fchomo/node.js:465 +#: htdocs/luci-static/resources/view/fchomo/node.js:466 +#: htdocs/luci-static/resources/view/fchomo/node.js:467 +#: htdocs/luci-static/resources/view/fchomo/node.js:472 msgid "Low-entropy data stream" msgstr "" @@ -1777,8 +1792,8 @@ msgid "Lowercase only" msgstr "" #: htdocs/luci-static/resources/view/fchomo/global.js:523 -#: htdocs/luci-static/resources/view/fchomo/node.js:760 -#: htdocs/luci-static/resources/view/fchomo/node.js:863 +#: htdocs/luci-static/resources/view/fchomo/node.js:771 +#: htdocs/luci-static/resources/view/fchomo/node.js:874 msgid "MTU" msgstr "" @@ -1790,70 +1805,70 @@ msgstr "" msgid "Masquerade" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:866 +#: htdocs/luci-static/resources/view/fchomo/client.js:870 msgid "Match domain. Support wildcards." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1910 +#: htdocs/luci-static/resources/view/fchomo/client.js:1915 msgid "Match domain. Support wildcards.
" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:871 +#: htdocs/luci-static/resources/view/fchomo/client.js:875 msgid "Match geosite." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1901 +#: htdocs/luci-static/resources/view/fchomo/client.js:1905 msgid "Match geosite.
" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1892 +#: htdocs/luci-static/resources/view/fchomo/client.js:1896 msgid "Match response with geoip.
" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1905 +#: htdocs/luci-static/resources/view/fchomo/client.js:1910 msgid "Match response with ipcidr.
" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:876 +#: htdocs/luci-static/resources/view/fchomo/client.js:880 msgid "Match rule set." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1367 +#: htdocs/luci-static/resources/view/fchomo/node.js:1378 msgid "Max Early Data" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:477 -#: htdocs/luci-static/resources/view/fchomo/node.js:598 +#: htdocs/luci-static/resources/fchomo/listeners.js:480 +#: htdocs/luci-static/resources/view/fchomo/node.js:609 msgid "Max UDP relay packet size" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1204 +#: htdocs/luci-static/resources/fchomo/listeners.js:1214 msgid "Max buffered posts" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1425 +#: htdocs/luci-static/resources/view/fchomo/node.js:1436 msgid "Max concurrency" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1430 +#: htdocs/luci-static/resources/view/fchomo/node.js:1441 msgid "Max connections" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1189 +#: htdocs/luci-static/resources/view/fchomo/client.js:1193 msgid "Max count of failures" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:181 -#: htdocs/luci-static/resources/view/fchomo/node.js:325 +#: htdocs/luci-static/resources/view/fchomo/node.js:336 msgid "Max download speed" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1215 -#: htdocs/luci-static/resources/view/fchomo/node.js:1407 +#: htdocs/luci-static/resources/fchomo/listeners.js:1225 +#: htdocs/luci-static/resources/view/fchomo/node.js:1418 msgid "Max each POST bytes" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:630 +#: htdocs/luci-static/resources/view/fchomo/node.js:641 msgid "Max open streams" msgstr "" @@ -1865,47 +1880,47 @@ msgstr "" msgid "Max realms per client IP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1440 +#: htdocs/luci-static/resources/view/fchomo/node.js:1451 msgid "Max request times" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1445 +#: htdocs/luci-static/resources/view/fchomo/node.js:1456 msgid "Max reusable seconds" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1435 +#: htdocs/luci-static/resources/view/fchomo/node.js:1446 msgid "Max reuse times" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:175 -#: htdocs/luci-static/resources/view/fchomo/node.js:319 +#: htdocs/luci-static/resources/view/fchomo/node.js:330 msgid "Max upload speed" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1471 -#: htdocs/luci-static/resources/view/fchomo/node.js:1491 +#: htdocs/luci-static/resources/view/fchomo/node.js:1482 +#: htdocs/luci-static/resources/view/fchomo/node.js:1502 msgid "Maximum connections" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1489 +#: htdocs/luci-static/resources/view/fchomo/node.js:1500 msgid "" "Maximum multiplexed streams in a connection before opening a new connection." "
Conflict with %s and %s." msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:402 -#: htdocs/luci-static/resources/view/fchomo/node.js:473 +#: htdocs/luci-static/resources/view/fchomo/node.js:484 msgid "Maximum padding rate" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:410 -#: htdocs/luci-static/resources/view/fchomo/node.js:481 +#: htdocs/luci-static/resources/view/fchomo/node.js:492 msgid "" "Maximum padding rate must be greater than or equal to the minimum padding " "rate." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1488 +#: htdocs/luci-static/resources/view/fchomo/node.js:1499 msgid "Maximum streams" msgstr "" @@ -1914,7 +1929,7 @@ msgstr "" msgid "Mieru" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:930 +#: htdocs/luci-static/resources/view/fchomo/client.js:934 #: htdocs/luci-static/resources/view/fchomo/log.js:149 #: htdocs/luci-static/resources/view/fchomo/log.js:154 msgid "Mihomo client" @@ -1926,26 +1941,26 @@ msgstr "" msgid "Mihomo server" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:674 +#: htdocs/luci-static/resources/view/fchomo/node.js:685 msgid "Min of idle sessions to keep" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1413 +#: htdocs/luci-static/resources/view/fchomo/node.js:1424 msgid "Min posts interval" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1480 +#: htdocs/luci-static/resources/view/fchomo/node.js:1491 msgid "" "Minimum multiplexed streams in a connection before opening a new connection." msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:395 -#: htdocs/luci-static/resources/view/fchomo/node.js:466 +#: htdocs/luci-static/resources/view/fchomo/node.js:477 msgid "Minimum padding rate" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1479 -#: htdocs/luci-static/resources/view/fchomo/node.js:1491 +#: htdocs/luci-static/resources/view/fchomo/node.js:1490 +#: htdocs/luci-static/resources/view/fchomo/node.js:1502 msgid "Minimum streams" msgstr "" @@ -1962,7 +1977,8 @@ msgstr "" msgid "Mixed port" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1457 +#: htdocs/luci-static/resources/fchomo/listeners.js:1232 +#: htdocs/luci-static/resources/view/fchomo/node.js:1468 msgid "Multiplex" msgstr "" @@ -1971,20 +1987,20 @@ msgstr "" msgid "Multiplex fields" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:407 +#: htdocs/luci-static/resources/view/fchomo/node.js:418 msgid "Multiplexing" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:624 -#: htdocs/luci-static/resources/view/fchomo/client.js:702 +#: htdocs/luci-static/resources/view/fchomo/client.js:630 +#: htdocs/luci-static/resources/view/fchomo/client.js:706 msgid "NOT" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:629 +#: htdocs/luci-static/resources/fchomo/listeners.js:639 msgid "Name of the Proxy group as outbound." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1777 +#: htdocs/luci-static/resources/view/fchomo/node.js:1788 msgid "Name of the Proxy group to download provider." msgstr "" @@ -1992,11 +2008,11 @@ msgstr "" msgid "Name of the Proxy group to download rule set." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:618 +#: htdocs/luci-static/resources/fchomo/listeners.js:628 msgid "Name of the Sub rule used for inbound matching." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:582 +#: htdocs/luci-static/resources/view/fchomo/node.js:593 msgid "Native UDP" msgstr "" @@ -2004,15 +2020,15 @@ msgstr "" msgid "Native appearance" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:766 +#: htdocs/luci-static/resources/view/fchomo/node.js:777 msgid "Network" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:660 +#: htdocs/luci-static/resources/fchomo/listeners.js:670 msgid "Network type" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1933 +#: htdocs/luci-static/resources/view/fchomo/node.js:1944 msgid "No" msgstr "" @@ -2020,20 +2036,20 @@ msgstr "" msgid "No Authentication IP ranges" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1199 +#: htdocs/luci-static/resources/fchomo/listeners.js:1209 msgid "No SSE header" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1592 +#: htdocs/luci-static/resources/view/fchomo/client.js:1596 msgid "No add'l params" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1397 +#: htdocs/luci-static/resources/view/fchomo/node.js:1408 msgid "No gRPC header" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1176 -#: htdocs/luci-static/resources/view/fchomo/node.js:1996 +#: htdocs/luci-static/resources/view/fchomo/client.js:1180 +#: htdocs/luci-static/resources/view/fchomo/node.js:2007 msgid "No testing is performed when this provider node is not in use." msgstr "" @@ -2045,27 +2061,27 @@ msgstr "" msgid "No valid rule-set link found." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1076 +#: htdocs/luci-static/resources/view/fchomo/client.js:1080 #: htdocs/luci-static/resources/view/fchomo/node.js:228 msgid "Node" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1238 -#: htdocs/luci-static/resources/view/fchomo/node.js:2016 +#: htdocs/luci-static/resources/view/fchomo/client.js:1242 +#: htdocs/luci-static/resources/view/fchomo/node.js:2027 msgid "Node exclude filter" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1243 -#: htdocs/luci-static/resources/view/fchomo/node.js:2023 +#: htdocs/luci-static/resources/view/fchomo/client.js:1247 +#: htdocs/luci-static/resources/view/fchomo/node.js:2034 msgid "Node exclude type" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1233 -#: htdocs/luci-static/resources/view/fchomo/node.js:2010 +#: htdocs/luci-static/resources/view/fchomo/client.js:1237 +#: htdocs/luci-static/resources/view/fchomo/node.js:2021 msgid "Node filter" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1214 +#: htdocs/luci-static/resources/view/fchomo/client.js:1218 msgid "Node switch tolerance" msgstr "" @@ -2077,49 +2093,49 @@ msgstr "" msgid "Not Installed" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1592 +#: htdocs/luci-static/resources/fchomo.js:1580 msgid "Not Running" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:527 +#: htdocs/luci-static/resources/view/fchomo/node.js:538 msgid "OFF" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:529 +#: htdocs/luci-static/resources/view/fchomo/node.js:540 msgid "ON" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:577 -#: htdocs/luci-static/resources/view/fchomo/node.js:904 +#: htdocs/luci-static/resources/fchomo/listeners.js:581 +#: htdocs/luci-static/resources/view/fchomo/node.js:915 msgid "Obfs Mode" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:213 -#: htdocs/luci-static/resources/view/fchomo/node.js:351 +#: htdocs/luci-static/resources/view/fchomo/node.js:362 msgid "Obfuscate maximum packet size" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:208 -#: htdocs/luci-static/resources/view/fchomo/node.js:346 +#: htdocs/luci-static/resources/view/fchomo/node.js:357 msgid "Obfuscate minimum packet size" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:200 -#: htdocs/luci-static/resources/view/fchomo/node.js:338 +#: htdocs/luci-static/resources/view/fchomo/node.js:349 msgid "Obfuscate password" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:193 #: htdocs/luci-static/resources/fchomo/listeners.js:370 -#: htdocs/luci-static/resources/view/fchomo/node.js:331 -#: htdocs/luci-static/resources/view/fchomo/node.js:452 +#: htdocs/luci-static/resources/view/fchomo/node.js:342 +#: htdocs/luci-static/resources/view/fchomo/node.js:463 msgid "Obfuscate type" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:371 #: htdocs/luci-static/resources/fchomo/listeners.js:372 -#: htdocs/luci-static/resources/view/fchomo/node.js:453 -#: htdocs/luci-static/resources/view/fchomo/node.js:454 +#: htdocs/luci-static/resources/view/fchomo/node.js:464 +#: htdocs/luci-static/resources/view/fchomo/node.js:465 msgid "Obfuscated as %s" msgstr "" @@ -2127,12 +2143,12 @@ msgstr "" msgid "One or more numbers in the range 0-63 separated by commas" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:980 +#: htdocs/luci-static/resources/fchomo/listeners.js:990 msgid "Only applicable when %s are used as a frontend." msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:379 -#: htdocs/luci-static/resources/view/fchomo/node.js:461 +#: htdocs/luci-static/resources/view/fchomo/node.js:472 msgid "Only applies to the %s." msgstr "" @@ -2140,7 +2156,7 @@ msgstr "" msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1586 +#: htdocs/luci-static/resources/fchomo.js:1574 msgid "Open Dashboard" msgstr "" @@ -2148,6 +2164,10 @@ msgstr "" msgid "Operation mode" msgstr "" +#: htdocs/luci-static/resources/view/fchomo/client.js:1907 +msgid "Option is deprecated. Please use %s instead." +msgstr "" + #: root/usr/share/luci/menu.d/luci-app-fchomo.json:46 msgid "Outbound" msgstr "" @@ -2157,16 +2177,16 @@ msgstr "" msgid "Override destination" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1039 -#: htdocs/luci-static/resources/view/fchomo/node.js:1688 +#: htdocs/luci-static/resources/view/fchomo/client.js:1043 +#: htdocs/luci-static/resources/view/fchomo/node.js:1699 msgid "Override fields" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:574 +#: htdocs/luci-static/resources/view/fchomo/node.js:585 msgid "Override the IP address of the server that DNS response." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:904 +#: htdocs/luci-static/resources/view/fchomo/client.js:908 msgid "Override the Proxy group of DNS server." msgstr "" @@ -2174,11 +2194,11 @@ msgstr "" msgid "Override the connection destination address with the sniffed domain." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1699 +#: htdocs/luci-static/resources/view/fchomo/client.js:1703 msgid "Override the existing ECS in original request." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1229 +#: htdocs/luci-static/resources/view/fchomo/node.js:1240 msgid "Overrides the domain name used for HTTPS record queries." msgstr "" @@ -2186,37 +2206,37 @@ msgstr "" msgid "Overview" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1324 +#: htdocs/luci-static/resources/view/fchomo/node.js:1335 msgid "POST" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1325 +#: htdocs/luci-static/resources/view/fchomo/node.js:1336 msgid "PUT" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:723 +#: htdocs/luci-static/resources/view/fchomo/node.js:734 msgid "Packet encoding" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1402 +#: htdocs/luci-static/resources/view/fchomo/node.js:1413 msgid "Padding bytes" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:521 +#: htdocs/luci-static/resources/fchomo/listeners.js:524 msgid "Padding scheme" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:759 -#: htdocs/luci-static/resources/view/fchomo/node.js:1035 +#: htdocs/luci-static/resources/fchomo/listeners.js:769 +#: htdocs/luci-static/resources/view/fchomo/node.js:1046 msgid "Paddings" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:166 #: htdocs/luci-static/resources/fchomo/listeners.js:263 -#: htdocs/luci-static/resources/fchomo/listeners.js:597 -#: htdocs/luci-static/resources/view/fchomo/node.js:295 -#: htdocs/luci-static/resources/view/fchomo/node.js:385 -#: htdocs/luci-static/resources/view/fchomo/node.js:917 +#: htdocs/luci-static/resources/fchomo/listeners.js:601 +#: htdocs/luci-static/resources/view/fchomo/node.js:306 +#: htdocs/luci-static/resources/view/fchomo/node.js:396 +#: htdocs/luci-static/resources/view/fchomo/node.js:928 msgid "Password" msgstr "" @@ -2228,13 +2248,13 @@ msgstr "" msgid "Path in bundle: %s" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:699 -#: htdocs/luci-static/resources/view/fchomo/node.js:1752 +#: htdocs/luci-static/resources/fchomo/listeners.js:709 +#: htdocs/luci-static/resources/view/fchomo/node.js:1763 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:373 msgid "Payload" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:831 +#: htdocs/luci-static/resources/view/fchomo/node.js:842 msgid "Peer pubkic key" msgstr "" @@ -2244,11 +2264,11 @@ msgid "" "it is not needed." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:858 +#: htdocs/luci-static/resources/view/fchomo/node.js:869 msgid "Periodically sends data packets to maintain connection persistence." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:857 +#: htdocs/luci-static/resources/view/fchomo/node.js:868 msgid "Persistent keepalive" msgstr "" @@ -2269,8 +2289,8 @@ msgid "" "standards." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1725 -#: htdocs/luci-static/resources/view/fchomo/node.js:1751 +#: htdocs/luci-static/resources/view/fchomo/node.js:1736 +#: htdocs/luci-static/resources/view/fchomo/node.js:1762 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:346 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:372 msgid "" @@ -2278,33 +2298,34 @@ msgid "" "a>." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:976 -#: htdocs/luci-static/resources/view/fchomo/client.js:1279 -#: htdocs/luci-static/resources/view/fchomo/client.js:1401 -#: htdocs/luci-static/resources/view/fchomo/client.js:1529 -#: htdocs/luci-static/resources/view/fchomo/client.js:1784 -#: htdocs/luci-static/resources/view/fchomo/client.js:1836 -#: htdocs/luci-static/resources/view/fchomo/node.js:1592 +#: htdocs/luci-static/resources/view/fchomo/client.js:980 +#: htdocs/luci-static/resources/view/fchomo/client.js:1283 +#: htdocs/luci-static/resources/view/fchomo/client.js:1405 +#: htdocs/luci-static/resources/view/fchomo/client.js:1533 +#: htdocs/luci-static/resources/view/fchomo/client.js:1788 +#: htdocs/luci-static/resources/view/fchomo/client.js:1840 +#: htdocs/luci-static/resources/view/fchomo/node.js:1603 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:155 msgid "Please type %s fields of mihomo config.
" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:557 -#: htdocs/luci-static/resources/view/fchomo/node.js:881 +#: htdocs/luci-static/resources/fchomo/listeners.js:560 +#: htdocs/luci-static/resources/view/fchomo/node.js:892 msgid "Plugin" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:577 -#: htdocs/luci-static/resources/fchomo/listeners.js:583 -#: htdocs/luci-static/resources/fchomo/listeners.js:590 -#: htdocs/luci-static/resources/fchomo/listeners.js:597 -#: htdocs/luci-static/resources/fchomo/listeners.js:603 -#: htdocs/luci-static/resources/view/fchomo/node.js:904 -#: htdocs/luci-static/resources/view/fchomo/node.js:910 -#: htdocs/luci-static/resources/view/fchomo/node.js:917 -#: htdocs/luci-static/resources/view/fchomo/node.js:923 -#: htdocs/luci-static/resources/view/fchomo/node.js:931 -#: htdocs/luci-static/resources/view/fchomo/node.js:937 +#: htdocs/luci-static/resources/fchomo/listeners.js:581 +#: htdocs/luci-static/resources/fchomo/listeners.js:587 +#: htdocs/luci-static/resources/fchomo/listeners.js:594 +#: htdocs/luci-static/resources/fchomo/listeners.js:601 +#: htdocs/luci-static/resources/fchomo/listeners.js:607 +#: htdocs/luci-static/resources/fchomo/listeners.js:615 +#: htdocs/luci-static/resources/view/fchomo/node.js:915 +#: htdocs/luci-static/resources/view/fchomo/node.js:921 +#: htdocs/luci-static/resources/view/fchomo/node.js:928 +#: htdocs/luci-static/resources/view/fchomo/node.js:934 +#: htdocs/luci-static/resources/view/fchomo/node.js:942 +#: htdocs/luci-static/resources/view/fchomo/node.js:948 msgid "Plugin:" msgstr "" @@ -2312,15 +2333,15 @@ msgstr "" msgid "Port" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1823 +#: htdocs/luci-static/resources/fchomo.js:1811 msgid "Port %s alrealy exists!" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:313 +#: htdocs/luci-static/resources/view/fchomo/node.js:324 msgid "Port hop interval" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:395 +#: htdocs/luci-static/resources/view/fchomo/node.js:406 msgid "Port range" msgstr "" @@ -2329,19 +2350,19 @@ msgid "Ports" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:153 -#: htdocs/luci-static/resources/view/fchomo/node.js:308 +#: htdocs/luci-static/resources/view/fchomo/node.js:319 msgid "Ports pool" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:225 #: htdocs/luci-static/resources/fchomo/listeners.js:456 -#: htdocs/luci-static/resources/view/fchomo/node.js:544 -#: htdocs/luci-static/resources/view/fchomo/node.js:838 +#: htdocs/luci-static/resources/view/fchomo/node.js:555 +#: htdocs/luci-static/resources/view/fchomo/node.js:849 msgid "Pre-shared key" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:897 -#: htdocs/luci-static/resources/view/fchomo/node.js:1070 +#: htdocs/luci-static/resources/fchomo/listeners.js:907 +#: htdocs/luci-static/resources/view/fchomo/node.js:1081 msgid "Pre-shared key of rendezvous server" msgstr "" @@ -2360,23 +2381,23 @@ msgstr "" #: htdocs/luci-static/resources/view/fchomo/global.js:760 #: htdocs/luci-static/resources/view/fchomo/global.js:777 -#: htdocs/luci-static/resources/view/fchomo/node.js:1553 -#: htdocs/luci-static/resources/view/fchomo/node.js:1560 -#: htdocs/luci-static/resources/view/fchomo/node.js:1945 -#: htdocs/luci-static/resources/view/fchomo/node.js:1952 +#: htdocs/luci-static/resources/view/fchomo/node.js:1564 +#: htdocs/luci-static/resources/view/fchomo/node.js:1571 +#: htdocs/luci-static/resources/view/fchomo/node.js:1956 +#: htdocs/luci-static/resources/view/fchomo/node.js:1963 msgid "Priority: Proxy Node > Global." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:357 +#: htdocs/luci-static/resources/view/fchomo/node.js:368 msgid "Priv-key" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:361 +#: htdocs/luci-static/resources/view/fchomo/node.js:372 msgid "Priv-key passphrase" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:731 -#: htdocs/luci-static/resources/view/fchomo/node.js:823 +#: htdocs/luci-static/resources/view/fchomo/node.js:742 +#: htdocs/luci-static/resources/view/fchomo/node.js:834 msgid "Private key" msgstr "" @@ -2385,34 +2406,34 @@ msgid "Process matching mode" msgstr "" #: htdocs/luci-static/resources/view/fchomo/global.js:708 -#: htdocs/luci-static/resources/view/fchomo/node.js:1463 +#: htdocs/luci-static/resources/view/fchomo/node.js:1474 msgid "Protocol" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:718 +#: htdocs/luci-static/resources/view/fchomo/node.js:729 msgid "Protocol parameter. Enable length block encryption." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:712 +#: htdocs/luci-static/resources/view/fchomo/node.js:723 msgid "" "Protocol parameter. Will waste traffic randomly if enabled (enabled by " "default in v2ray and cannot be disabled)." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1096 -#: htdocs/luci-static/resources/view/fchomo/node.js:1575 -#: htdocs/luci-static/resources/view/fchomo/node.js:1584 -#: htdocs/luci-static/resources/view/fchomo/node.js:2061 +#: htdocs/luci-static/resources/view/fchomo/client.js:1100 +#: htdocs/luci-static/resources/view/fchomo/node.js:1586 +#: htdocs/luci-static/resources/view/fchomo/node.js:1595 +#: htdocs/luci-static/resources/view/fchomo/node.js:2072 msgid "Provider" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1758 +#: htdocs/luci-static/resources/view/fchomo/node.js:1769 msgid "Provider URL" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:950 -#: htdocs/luci-static/resources/view/fchomo/client.js:968 -#: htdocs/luci-static/resources/view/fchomo/client.js:1485 +#: htdocs/luci-static/resources/view/fchomo/client.js:954 +#: htdocs/luci-static/resources/view/fchomo/client.js:972 +#: htdocs/luci-static/resources/view/fchomo/client.js:1489 msgid "Proxy Group" msgstr "" @@ -2429,24 +2450,24 @@ msgid "Proxy MAC-s" msgstr "" #: htdocs/luci-static/resources/view/fchomo/node.js:219 -#: htdocs/luci-static/resources/view/fchomo/node.js:2060 +#: htdocs/luci-static/resources/view/fchomo/node.js:2071 msgid "Proxy Node" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2036 -#: htdocs/luci-static/resources/view/fchomo/node.js:2045 +#: htdocs/luci-static/resources/view/fchomo/node.js:2047 +#: htdocs/luci-static/resources/view/fchomo/node.js:2056 msgid "Proxy chain" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:628 -#: htdocs/luci-static/resources/view/fchomo/client.js:797 -#: htdocs/luci-static/resources/view/fchomo/client.js:1627 -#: htdocs/luci-static/resources/view/fchomo/node.js:1776 +#: htdocs/luci-static/resources/fchomo/listeners.js:638 +#: htdocs/luci-static/resources/view/fchomo/client.js:801 +#: htdocs/luci-static/resources/view/fchomo/client.js:1631 +#: htdocs/luci-static/resources/view/fchomo/node.js:1787 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:403 msgid "Proxy group" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:903 +#: htdocs/luci-static/resources/view/fchomo/client.js:907 msgid "Proxy group override" msgstr "" @@ -2458,54 +2479,56 @@ msgstr "" msgid "Proxy routerself" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:583 -#: htdocs/luci-static/resources/view/fchomo/node.js:803 +#: htdocs/luci-static/resources/view/fchomo/node.js:594 +#: htdocs/luci-static/resources/view/fchomo/node.js:814 msgid "QUIC" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:953 +#: htdocs/luci-static/resources/view/fchomo/client.js:957 #: htdocs/luci-static/resources/view/fchomo/server.js:44 msgid "Quick Reload" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1093 -#: htdocs/luci-static/resources/view/fchomo/node.js:1243 +#: htdocs/luci-static/resources/fchomo/listeners.js:1103 +#: htdocs/luci-static/resources/view/fchomo/node.js:1254 msgid "REALITY" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1258 +#: htdocs/luci-static/resources/view/fchomo/node.js:1269 msgid "REALITY X25519MLKEM768 PQC support" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1130 +#: htdocs/luci-static/resources/fchomo/listeners.js:1140 msgid "REALITY certificate issued to" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1098 +#: htdocs/luci-static/resources/fchomo/listeners.js:1108 msgid "REALITY handshake server" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1105 +#: htdocs/luci-static/resources/fchomo/listeners.js:1115 msgid "REALITY private key" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1120 -#: htdocs/luci-static/resources/view/fchomo/node.js:1248 +#: htdocs/luci-static/resources/fchomo/listeners.js:1130 +#: htdocs/luci-static/resources/view/fchomo/node.js:1259 msgid "REALITY public key" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1124 -#: htdocs/luci-static/resources/view/fchomo/node.js:1253 +#: htdocs/luci-static/resources/fchomo/listeners.js:1134 +#: htdocs/luci-static/resources/view/fchomo/node.js:1264 msgid "REALITY short ID" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:267 +#: htdocs/luci-static/resources/view/fchomo/node.js:268 +#: htdocs/luci-static/resources/view/fchomo/node.js:274 +#: htdocs/luci-static/resources/view/fchomo/node.js:292 msgid "REMATCH-NAME marking" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:730 -#: htdocs/luci-static/resources/fchomo/listeners.js:749 -#: htdocs/luci-static/resources/view/fchomo/node.js:1025 +#: htdocs/luci-static/resources/fchomo/listeners.js:740 +#: htdocs/luci-static/resources/fchomo/listeners.js:759 +#: htdocs/luci-static/resources/view/fchomo/node.js:1036 msgid "RTT" msgstr "" @@ -2521,13 +2544,13 @@ msgstr "" msgid "Randomized traffic characteristics" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:886 -#: htdocs/luci-static/resources/view/fchomo/node.js:1059 +#: htdocs/luci-static/resources/fchomo/listeners.js:896 +#: htdocs/luci-static/resources/view/fchomo/node.js:1070 msgid "Realm" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:902 -#: htdocs/luci-static/resources/view/fchomo/node.js:1075 +#: htdocs/luci-static/resources/fchomo/listeners.js:912 +#: htdocs/luci-static/resources/view/fchomo/node.js:1086 msgid "Realm ID" msgstr "" @@ -2555,8 +2578,8 @@ msgstr "" msgid "Refresh every %s seconds." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1579 -#: htdocs/luci-static/resources/view/fchomo/client.js:954 +#: htdocs/luci-static/resources/fchomo.js:1567 +#: htdocs/luci-static/resources/view/fchomo/client.js:958 #: htdocs/luci-static/resources/view/fchomo/global.js:193 #: htdocs/luci-static/resources/view/fchomo/server.js:45 msgid "Reload" @@ -2574,38 +2597,38 @@ msgstr "" msgid "Rematching routing rules" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1703 +#: htdocs/luci-static/resources/view/fchomo/node.js:1714 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:287 msgid "Remote" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:786 -#: htdocs/luci-static/resources/view/fchomo/node.js:869 +#: htdocs/luci-static/resources/view/fchomo/node.js:797 +#: htdocs/luci-static/resources/view/fchomo/node.js:880 msgid "Remote DNS resolve" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1744 +#: htdocs/luci-static/resources/fchomo.js:1732 msgid "Remove" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1749 -#: htdocs/luci-static/resources/view/fchomo/node.js:1679 -#: htdocs/luci-static/resources/view/fchomo/node.js:1681 +#: htdocs/luci-static/resources/fchomo.js:1737 +#: htdocs/luci-static/resources/view/fchomo/node.js:1690 +#: htdocs/luci-static/resources/view/fchomo/node.js:1692 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:259 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:261 msgid "Remove idles" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:891 -#: htdocs/luci-static/resources/view/fchomo/node.js:1064 +#: htdocs/luci-static/resources/fchomo/listeners.js:901 +#: htdocs/luci-static/resources/view/fchomo/node.js:1075 msgid "Rendezvous server" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1875 +#: htdocs/luci-static/resources/view/fchomo/node.js:1886 msgid "Replace name" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1876 +#: htdocs/luci-static/resources/view/fchomo/node.js:1887 msgid "Replace node name." msgstr "" @@ -2613,13 +2636,13 @@ msgstr "" msgid "Request" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1178 -#: htdocs/luci-static/resources/view/fchomo/node.js:1331 -#: htdocs/luci-static/resources/view/fchomo/node.js:1338 +#: htdocs/luci-static/resources/fchomo/listeners.js:1188 +#: htdocs/luci-static/resources/view/fchomo/node.js:1342 +#: htdocs/luci-static/resources/view/fchomo/node.js:1349 msgid "Request path" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:623 +#: htdocs/luci-static/resources/view/fchomo/node.js:634 msgid "Request timeout" msgstr "" @@ -2632,11 +2655,11 @@ msgid "Require any" msgstr "" #: htdocs/luci-static/resources/fchomo.js:404 -#: htdocs/luci-static/resources/view/fchomo/node.js:1259 +#: htdocs/luci-static/resources/view/fchomo/node.js:1270 msgid "Requires server support." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:852 +#: htdocs/luci-static/resources/view/fchomo/node.js:863 msgid "Reserved field bytes" msgstr "" @@ -2644,26 +2667,27 @@ msgstr "" msgid "Resources management" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:937 +#: htdocs/luci-static/resources/fchomo/listeners.js:615 +#: htdocs/luci-static/resources/view/fchomo/node.js:948 msgid "Restls script" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1250 +#: htdocs/luci-static/resources/view/fchomo/client.js:1254 msgid "" "Returns hidden status in the API to hide the display of this proxy group." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1256 +#: htdocs/luci-static/resources/view/fchomo/client.js:1260 msgid "" "Returns the string input for icon in the API to display in this proxy group." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:528 +#: htdocs/luci-static/resources/view/fchomo/node.js:539 msgid "Reuse HTTP connections to reduce RTT for each connection establishment." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:525 -#: htdocs/luci-static/resources/view/fchomo/node.js:529 +#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:540 msgid "Reusing a single tunnel to carry multiple target connections within it." msgstr "" @@ -2680,10 +2704,10 @@ msgstr "" msgid "Routing GFW" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:613 +#: htdocs/luci-static/resources/fchomo/listeners.js:623 #: htdocs/luci-static/resources/view/fchomo/global.js:776 -#: htdocs/luci-static/resources/view/fchomo/node.js:1559 -#: htdocs/luci-static/resources/view/fchomo/node.js:1951 +#: htdocs/luci-static/resources/view/fchomo/node.js:1570 +#: htdocs/luci-static/resources/view/fchomo/node.js:1962 msgid "Routing mark (Fwmark)" msgstr "" @@ -2704,8 +2728,8 @@ msgstr "" msgid "Routing ports" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1262 -#: htdocs/luci-static/resources/view/fchomo/client.js:1271 +#: htdocs/luci-static/resources/view/fchomo/client.js:1266 +#: htdocs/luci-static/resources/view/fchomo/client.js:1275 msgid "Routing rule" msgstr "" @@ -2721,8 +2745,8 @@ msgstr "" msgid "Rule" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:862 -#: htdocs/luci-static/resources/view/fchomo/client.js:875 +#: htdocs/luci-static/resources/view/fchomo/client.js:866 +#: htdocs/luci-static/resources/view/fchomo/client.js:879 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:147 msgid "Rule set" msgstr "" @@ -2739,7 +2763,7 @@ msgstr "" msgid "Ruleset-URI-Scheme" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1592 +#: htdocs/luci-static/resources/fchomo.js:1580 msgid "Running" msgstr "" @@ -2763,21 +2787,21 @@ msgstr "" msgid "STUN" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:908 -#: htdocs/luci-static/resources/view/fchomo/node.js:1081 +#: htdocs/luci-static/resources/fchomo/listeners.js:918 +#: htdocs/luci-static/resources/view/fchomo/node.js:1092 msgid "STUN servers" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1354 +#: htdocs/luci-static/resources/view/fchomo/client.js:1358 msgid "SUB-RULE" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:982 +#: htdocs/luci-static/resources/view/fchomo/node.js:993 msgid "SUoT version" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:195 -#: htdocs/luci-static/resources/view/fchomo/node.js:333 +#: htdocs/luci-static/resources/view/fchomo/node.js:344 msgid "Salamander" msgstr "" @@ -2810,7 +2834,7 @@ msgstr "" msgid "Send padding randomly 0-3333 bytes with 50% probability." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1924 +#: htdocs/luci-static/resources/view/fchomo/client.js:1929 msgid "Send queries to both the %s and the %s." msgstr "" @@ -2819,9 +2843,9 @@ msgstr "" msgid "Send random ticket of 300s-600s duration for client 0-RTT reuse." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:730 -#: htdocs/luci-static/resources/fchomo/listeners.js:991 -#: htdocs/luci-static/resources/fchomo/listeners.js:1006 +#: htdocs/luci-static/resources/fchomo/listeners.js:740 +#: htdocs/luci-static/resources/fchomo/listeners.js:1001 +#: htdocs/luci-static/resources/fchomo/listeners.js:1016 #: htdocs/luci-static/resources/view/fchomo/server.js:58 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:62 msgid "Server" @@ -2831,9 +2855,9 @@ msgstr "" msgid "Server address" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1172 -#: htdocs/luci-static/resources/view/fchomo/node.js:1310 -#: htdocs/luci-static/resources/view/fchomo/node.js:1316 +#: htdocs/luci-static/resources/fchomo/listeners.js:1182 +#: htdocs/luci-static/resources/view/fchomo/node.js:1321 +#: htdocs/luci-static/resources/view/fchomo/node.js:1327 msgid "Server hostname" msgstr "" @@ -2850,22 +2874,22 @@ msgstr "" msgid "Shadowsocks" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:503 -#: htdocs/luci-static/resources/view/fchomo/node.js:642 +#: htdocs/luci-static/resources/fchomo/listeners.js:506 +#: htdocs/luci-static/resources/view/fchomo/node.js:653 msgid "Shadowsocks chipher" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:498 -#: htdocs/luci-static/resources/view/fchomo/node.js:637 +#: htdocs/luci-static/resources/fchomo/listeners.js:501 +#: htdocs/luci-static/resources/view/fchomo/node.js:648 msgid "Shadowsocks encrypt" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:511 -#: htdocs/luci-static/resources/view/fchomo/node.js:650 +#: htdocs/luci-static/resources/fchomo/listeners.js:514 +#: htdocs/luci-static/resources/view/fchomo/node.js:661 msgid "Shadowsocks password" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1511 +#: htdocs/luci-static/resources/view/fchomo/node.js:1522 msgid "Show connections in the dashboard for breaking connections easier." msgstr "" @@ -2877,14 +2901,14 @@ msgstr "" msgid "Simple round-robin all nodes" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1764 +#: htdocs/luci-static/resources/view/fchomo/node.js:1775 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:391 msgid "Size limit" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1663 -#: htdocs/luci-static/resources/view/fchomo/node.js:1180 -#: htdocs/luci-static/resources/view/fchomo/node.js:1926 +#: htdocs/luci-static/resources/view/fchomo/client.js:1667 +#: htdocs/luci-static/resources/view/fchomo/node.js:1191 +#: htdocs/luci-static/resources/view/fchomo/node.js:1937 msgid "Skip cert verify" msgstr "" @@ -2944,18 +2968,18 @@ msgstr "" msgid "Steam P2P" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1222 -#: htdocs/luci-static/resources/view/fchomo/client.js:1224 +#: htdocs/luci-static/resources/view/fchomo/client.js:1226 +#: htdocs/luci-static/resources/view/fchomo/client.js:1228 msgid "Strategy" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:617 -#: htdocs/luci-static/resources/view/fchomo/client.js:1384 -#: htdocs/luci-static/resources/view/fchomo/client.js:1393 +#: htdocs/luci-static/resources/fchomo/listeners.js:627 +#: htdocs/luci-static/resources/view/fchomo/client.js:1388 +#: htdocs/luci-static/resources/view/fchomo/client.js:1397 msgid "Sub rule" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1439 +#: htdocs/luci-static/resources/view/fchomo/client.js:1443 msgid "Sub rule group" msgstr "" @@ -2968,7 +2992,7 @@ msgstr "" msgid "Successfully updated." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:2094 +#: htdocs/luci-static/resources/fchomo.js:2082 msgid "Successfully uploaded." msgstr "" @@ -3006,9 +3030,9 @@ msgstr "" #: htdocs/luci-static/resources/fchomo.js:199 #: htdocs/luci-static/resources/fchomo.js:200 #: htdocs/luci-static/resources/fchomo.js:207 -#: htdocs/luci-static/resources/fchomo/listeners.js:661 -#: htdocs/luci-static/resources/view/fchomo/client.js:600 -#: htdocs/luci-static/resources/view/fchomo/client.js:690 +#: htdocs/luci-static/resources/fchomo/listeners.js:671 +#: htdocs/luci-static/resources/view/fchomo/client.js:606 +#: htdocs/luci-static/resources/view/fchomo/client.js:698 msgid "TCP" msgstr "" @@ -3016,7 +3040,7 @@ msgstr "" msgid "TCP concurrency" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1504 +#: htdocs/luci-static/resources/view/fchomo/node.js:1515 msgid "TCP only" msgstr "" @@ -3043,26 +3067,26 @@ msgstr "" msgid "TCP/UDP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1535 -#: htdocs/luci-static/resources/view/fchomo/node.js:1893 +#: htdocs/luci-static/resources/view/fchomo/node.js:1546 +#: htdocs/luci-static/resources/view/fchomo/node.js:1904 msgid "TFO" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:579 -#: htdocs/luci-static/resources/fchomo/listeners.js:918 +#: htdocs/luci-static/resources/fchomo/listeners.js:583 +#: htdocs/luci-static/resources/fchomo/listeners.js:928 #: htdocs/luci-static/resources/view/fchomo/global.js:550 -#: htdocs/luci-static/resources/view/fchomo/node.js:509 -#: htdocs/luci-static/resources/view/fchomo/node.js:906 -#: htdocs/luci-static/resources/view/fchomo/node.js:1091 +#: htdocs/luci-static/resources/view/fchomo/node.js:520 +#: htdocs/luci-static/resources/view/fchomo/node.js:917 +#: htdocs/luci-static/resources/view/fchomo/node.js:1102 msgid "TLS" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:985 -#: htdocs/luci-static/resources/view/fchomo/node.js:1122 +#: htdocs/luci-static/resources/fchomo/listeners.js:995 +#: htdocs/luci-static/resources/view/fchomo/node.js:1133 msgid "TLS ALPN" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1116 +#: htdocs/luci-static/resources/view/fchomo/node.js:1127 msgid "TLS SNI" msgstr "" @@ -3080,7 +3104,7 @@ msgstr "" msgid "TURN" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:550 +#: htdocs/luci-static/resources/fchomo/listeners.js:553 msgid "Target address" msgstr "" @@ -3089,35 +3113,35 @@ msgid "" "Tell the client to use the BBR flow control algorithm instead of Hysteria CC." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:747 -#: htdocs/luci-static/resources/view/fchomo/node.js:755 +#: htdocs/luci-static/resources/view/fchomo/node.js:758 +#: htdocs/luci-static/resources/view/fchomo/node.js:766 msgid "The %s address used by local machine in the Cloudflare WARP network." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:810 -#: htdocs/luci-static/resources/view/fchomo/node.js:818 +#: htdocs/luci-static/resources/view/fchomo/node.js:821 +#: htdocs/luci-static/resources/view/fchomo/node.js:829 msgid "The %s address used by local machine in the Wireguard network." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1006 -#: htdocs/luci-static/resources/view/fchomo/node.js:1203 +#: htdocs/luci-static/resources/fchomo/listeners.js:1016 +#: htdocs/luci-static/resources/view/fchomo/node.js:1214 msgid "The %s private key, in PEM format." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:991 -#: htdocs/luci-static/resources/fchomo/listeners.js:1029 +#: htdocs/luci-static/resources/fchomo/listeners.js:1001 +#: htdocs/luci-static/resources/fchomo/listeners.js:1039 #: htdocs/luci-static/resources/view/fchomo/global.js:571 -#: htdocs/luci-static/resources/view/fchomo/node.js:1189 +#: htdocs/luci-static/resources/view/fchomo/node.js:1200 msgid "The %s public key, in PEM format." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1223 +#: htdocs/luci-static/resources/view/fchomo/node.js:1234 msgid "" "The ECH parameter of the HTTPS record for the domain. Leave empty to resolve " "via DNS." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:431 +#: htdocs/luci-static/resources/view/fchomo/node.js:442 msgid "The ED25519 available private key or UUID provided by Sudoku server." msgstr "" @@ -3129,47 +3153,47 @@ msgstr "" msgid "The default value is 2:00 every day." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:964 +#: htdocs/luci-static/resources/view/fchomo/node.js:975 msgid "" "The default value is %s, indicating that only the outer " "connection timeout is used." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:762 -#: htdocs/luci-static/resources/view/fchomo/node.js:1038 +#: htdocs/luci-static/resources/fchomo/listeners.js:772 +#: htdocs/luci-static/resources/view/fchomo/node.js:1049 msgid "" "The first padding must have a probability of 100% and at least 35 bytes." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1893 +#: htdocs/luci-static/resources/view/fchomo/client.js:1897 msgid "The matching %s will be deemed as not-poisoned." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1902 #: htdocs/luci-static/resources/view/fchomo/client.js:1906 #: htdocs/luci-static/resources/view/fchomo/client.js:1911 +#: htdocs/luci-static/resources/view/fchomo/client.js:1916 msgid "The matching %s will be deemed as poisoned." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:760 -#: htdocs/luci-static/resources/view/fchomo/node.js:1036 +#: htdocs/luci-static/resources/fchomo/listeners.js:770 +#: htdocs/luci-static/resources/view/fchomo/node.js:1047 msgid "The server and client can set different padding parameters." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1087 +#: htdocs/luci-static/resources/fchomo/listeners.js:1097 #: htdocs/luci-static/resources/view/fchomo/global.js:615 msgid "This ECH parameter needs to be added to the HTTPS record of the domain." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1666 -#: htdocs/luci-static/resources/view/fchomo/node.js:1183 -#: htdocs/luci-static/resources/view/fchomo/node.js:1929 +#: htdocs/luci-static/resources/view/fchomo/client.js:1670 +#: htdocs/luci-static/resources/view/fchomo/node.js:1194 +#: htdocs/luci-static/resources/view/fchomo/node.js:1940 msgid "" "This is DANGEROUS, your traffic is almost like " "PLAIN TEXT! Use at your own risk!" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:588 +#: htdocs/luci-static/resources/view/fchomo/node.js:599 msgid "" "This is the TUIC port of the SUoT protocol, designed to provide a QUIC " "stream based UDP relay mode that TUIC does not provide." @@ -3199,22 +3223,22 @@ msgid "Tproxy port" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:285 -#: htdocs/luci-static/resources/view/fchomo/node.js:423 +#: htdocs/luci-static/resources/view/fchomo/node.js:434 msgid "Traffic pattern" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2098 +#: htdocs/luci-static/resources/view/fchomo/node.js:2109 msgid "Transit proxy group" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2109 +#: htdocs/luci-static/resources/view/fchomo/node.js:2120 msgid "Transit proxy node" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:273 -#: htdocs/luci-static/resources/fchomo/listeners.js:1138 -#: htdocs/luci-static/resources/view/fchomo/node.js:400 -#: htdocs/luci-static/resources/view/fchomo/node.js:1265 +#: htdocs/luci-static/resources/fchomo/listeners.js:1148 +#: htdocs/luci-static/resources/view/fchomo/node.js:411 +#: htdocs/luci-static/resources/view/fchomo/node.js:1276 msgid "Transport" msgstr "" @@ -3223,12 +3247,12 @@ msgstr "" msgid "Transport fields" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1143 -#: htdocs/luci-static/resources/view/fchomo/node.js:1270 +#: htdocs/luci-static/resources/fchomo/listeners.js:1153 +#: htdocs/luci-static/resources/view/fchomo/node.js:1281 msgid "Transport type" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:819 +#: htdocs/luci-static/resources/view/fchomo/client.js:823 msgid "Treat the destination IP as the source IP." msgstr "" @@ -3268,13 +3292,13 @@ msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:142 #: htdocs/luci-static/resources/view/fchomo/client.js:533 -#: htdocs/luci-static/resources/view/fchomo/client.js:654 -#: htdocs/luci-static/resources/view/fchomo/client.js:751 -#: htdocs/luci-static/resources/view/fchomo/client.js:859 -#: htdocs/luci-static/resources/view/fchomo/client.js:1057 +#: htdocs/luci-static/resources/view/fchomo/client.js:660 +#: htdocs/luci-static/resources/view/fchomo/client.js:755 +#: htdocs/luci-static/resources/view/fchomo/client.js:863 +#: htdocs/luci-static/resources/view/fchomo/client.js:1061 #: htdocs/luci-static/resources/view/fchomo/node.js:250 -#: htdocs/luci-static/resources/view/fchomo/node.js:1701 -#: htdocs/luci-static/resources/view/fchomo/node.js:2059 +#: htdocs/luci-static/resources/view/fchomo/node.js:1712 +#: htdocs/luci-static/resources/view/fchomo/node.js:2070 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:285 msgid "Type" msgstr "" @@ -3285,12 +3309,12 @@ msgstr "" #: htdocs/luci-static/resources/fchomo.js:203 #: htdocs/luci-static/resources/fchomo.js:204 #: htdocs/luci-static/resources/fchomo.js:206 -#: htdocs/luci-static/resources/fchomo/listeners.js:662 -#: htdocs/luci-static/resources/fchomo/listeners.js:667 -#: htdocs/luci-static/resources/view/fchomo/client.js:599 -#: htdocs/luci-static/resources/view/fchomo/client.js:689 -#: htdocs/luci-static/resources/view/fchomo/node.js:970 -#: htdocs/luci-static/resources/view/fchomo/node.js:1903 +#: htdocs/luci-static/resources/fchomo/listeners.js:672 +#: htdocs/luci-static/resources/fchomo/listeners.js:677 +#: htdocs/luci-static/resources/view/fchomo/client.js:605 +#: htdocs/luci-static/resources/view/fchomo/client.js:697 +#: htdocs/luci-static/resources/view/fchomo/node.js:981 +#: htdocs/luci-static/resources/view/fchomo/node.js:1914 msgid "UDP" msgstr "" @@ -3298,26 +3322,26 @@ msgstr "" msgid "UDP NAT expiration time" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:587 +#: htdocs/luci-static/resources/view/fchomo/node.js:598 msgid "UDP over stream" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:593 +#: htdocs/luci-static/resources/view/fchomo/node.js:604 msgid "UDP over stream version" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:580 +#: htdocs/luci-static/resources/view/fchomo/node.js:591 msgid "UDP packet relay mode." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:579 +#: htdocs/luci-static/resources/view/fchomo/node.js:590 msgid "UDP relay mode" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:373 #: htdocs/luci-static/resources/fchomo/listeners.js:374 -#: htdocs/luci-static/resources/view/fchomo/node.js:455 -#: htdocs/luci-static/resources/view/fchomo/node.js:456 +#: htdocs/luci-static/resources/view/fchomo/node.js:466 +#: htdocs/luci-static/resources/view/fchomo/node.js:467 msgid "UP: %s; DOWN: %s" msgstr "" @@ -3326,14 +3350,14 @@ msgid "URL test" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:294 -#: htdocs/luci-static/resources/fchomo/listeners.js:471 -#: htdocs/luci-static/resources/fchomo/listeners.js:526 -#: htdocs/luci-static/resources/view/fchomo/node.js:567 -#: htdocs/luci-static/resources/view/fchomo/node.js:681 +#: htdocs/luci-static/resources/fchomo/listeners.js:474 +#: htdocs/luci-static/resources/fchomo/listeners.js:529 +#: htdocs/luci-static/resources/view/fchomo/node.js:578 +#: htdocs/luci-static/resources/view/fchomo/node.js:692 msgid "UUID" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1637 +#: htdocs/luci-static/resources/fchomo.js:1625 msgid "Unable to download unsupported type: %s" msgstr "" @@ -3358,8 +3382,8 @@ msgstr "" msgid "Unknown error: %s" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:976 -#: htdocs/luci-static/resources/view/fchomo/node.js:1908 +#: htdocs/luci-static/resources/view/fchomo/node.js:987 +#: htdocs/luci-static/resources/view/fchomo/node.js:1919 msgid "UoT" msgstr "" @@ -3367,22 +3391,24 @@ msgstr "" msgid "Update failed." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1770 +#: htdocs/luci-static/resources/view/fchomo/node.js:1781 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:397 msgid "Update interval" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1522 +#: htdocs/luci-static/resources/fchomo/listeners.js:1248 +#: htdocs/luci-static/resources/view/fchomo/node.js:1533 msgid "Upload bandwidth" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1523 +#: htdocs/luci-static/resources/fchomo/listeners.js:1249 +#: htdocs/luci-static/resources/view/fchomo/node.js:1534 msgid "Upload bandwidth in Mbps." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:997 -#: htdocs/luci-static/resources/fchomo/listeners.js:1037 -#: htdocs/luci-static/resources/view/fchomo/node.js:1194 +#: htdocs/luci-static/resources/fchomo/listeners.js:1007 +#: htdocs/luci-static/resources/fchomo/listeners.js:1047 +#: htdocs/luci-static/resources/view/fchomo/node.js:1205 msgid "Upload certificate" msgstr "" @@ -3390,45 +3416,47 @@ msgstr "" msgid "Upload initial package" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1012 -#: htdocs/luci-static/resources/view/fchomo/node.js:1208 +#: htdocs/luci-static/resources/fchomo/listeners.js:1022 +#: htdocs/luci-static/resources/view/fchomo/node.js:1219 msgid "Upload key" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1000 -#: htdocs/luci-static/resources/fchomo/listeners.js:1015 -#: htdocs/luci-static/resources/fchomo/listeners.js:1040 +#: htdocs/luci-static/resources/fchomo/listeners.js:1010 +#: htdocs/luci-static/resources/fchomo/listeners.js:1025 +#: htdocs/luci-static/resources/fchomo/listeners.js:1050 #: htdocs/luci-static/resources/view/fchomo/global.js:306 -#: htdocs/luci-static/resources/view/fchomo/node.js:1197 -#: htdocs/luci-static/resources/view/fchomo/node.js:1211 +#: htdocs/luci-static/resources/view/fchomo/node.js:1208 +#: htdocs/luci-static/resources/view/fchomo/node.js:1222 msgid "Upload..." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:278 +#: htdocs/luci-static/resources/view/fchomo/node.js:274 +#: htdocs/luci-static/resources/view/fchomo/node.js:281 +#: htdocs/luci-static/resources/view/fchomo/node.js:292 msgid "Use sub rule" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1483 +#: htdocs/luci-static/resources/view/fchomo/client.js:1487 msgid "" "Used to resolve domains that can be directly connected. Can use domestic DNS " "servers or ECS." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1485 +#: htdocs/luci-static/resources/view/fchomo/client.js:1489 msgid "" "Used to resolve domains you want to proxy. Recommended to configure %s for " "DNS servers." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1467 +#: htdocs/luci-static/resources/view/fchomo/client.js:1471 msgid "Used to resolve the domain of the DNS server. Must be IP." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1474 +#: htdocs/luci-static/resources/view/fchomo/client.js:1478 msgid "Used to resolve the domain of the Proxy node." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1117 +#: htdocs/luci-static/resources/view/fchomo/node.js:1128 msgid "Used to verify the hostname on the returned certificates." msgstr "" @@ -3441,7 +3469,7 @@ msgid "User-hint is mandatory" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:161 -#: htdocs/luci-static/resources/view/fchomo/node.js:290 +#: htdocs/luci-static/resources/view/fchomo/node.js:301 msgid "Username" msgstr "" @@ -3449,11 +3477,11 @@ msgstr "" msgid "Users filter mode" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1379 +#: htdocs/luci-static/resources/view/fchomo/node.js:1390 msgid "V2ray HTTPUpgrade" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1384 +#: htdocs/luci-static/resources/view/fchomo/node.js:1395 msgid "V2ray HTTPUpgrade fast open" msgstr "" @@ -3467,8 +3495,8 @@ msgstr "" msgid "VMess" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1707 -#: htdocs/luci-static/resources/view/fchomo/node.js:2065 +#: htdocs/luci-static/resources/view/fchomo/node.js:1718 +#: htdocs/luci-static/resources/view/fchomo/node.js:2076 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:328 msgid "Value" msgstr "" @@ -3478,13 +3506,13 @@ msgid "Verify if given" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:463 -#: htdocs/luci-static/resources/fchomo/listeners.js:603 -#: htdocs/luci-static/resources/view/fchomo/node.js:551 -#: htdocs/luci-static/resources/view/fchomo/node.js:923 +#: htdocs/luci-static/resources/fchomo/listeners.js:607 +#: htdocs/luci-static/resources/view/fchomo/node.js:562 +#: htdocs/luci-static/resources/view/fchomo/node.js:934 msgid "Version" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:931 +#: htdocs/luci-static/resources/view/fchomo/node.js:942 msgid "Version hint" msgstr "" @@ -3502,15 +3530,15 @@ msgid "Warning" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:441 -#: htdocs/luci-static/resources/fchomo/listeners.js:1145 -#: htdocs/luci-static/resources/fchomo/listeners.js:1154 -#: htdocs/luci-static/resources/fchomo/listeners.js:1161 -#: htdocs/luci-static/resources/view/fchomo/node.js:505 -#: htdocs/luci-static/resources/view/fchomo/node.js:534 -#: htdocs/luci-static/resources/view/fchomo/node.js:1275 +#: htdocs/luci-static/resources/fchomo/listeners.js:1155 +#: htdocs/luci-static/resources/fchomo/listeners.js:1164 +#: htdocs/luci-static/resources/fchomo/listeners.js:1171 +#: htdocs/luci-static/resources/view/fchomo/node.js:516 +#: htdocs/luci-static/resources/view/fchomo/node.js:545 #: htdocs/luci-static/resources/view/fchomo/node.js:1286 -#: htdocs/luci-static/resources/view/fchomo/node.js:1293 -#: htdocs/luci-static/resources/view/fchomo/node.js:1299 +#: htdocs/luci-static/resources/view/fchomo/node.js:1297 +#: htdocs/luci-static/resources/view/fchomo/node.js:1304 +#: htdocs/luci-static/resources/view/fchomo/node.js:1310 msgid "WebSocket" msgstr "" @@ -3526,48 +3554,48 @@ msgstr "" msgid "WireGuard" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:832 +#: htdocs/luci-static/resources/view/fchomo/node.js:843 msgid "WireGuard peer public key." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:839 +#: htdocs/luci-static/resources/view/fchomo/node.js:850 msgid "WireGuard pre-shared key." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:824 +#: htdocs/luci-static/resources/view/fchomo/node.js:835 msgid "WireGuard requires base64-encoded private keys." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1146 -#: htdocs/luci-static/resources/fchomo/listeners.js:1155 -#: htdocs/luci-static/resources/view/fchomo/node.js:1276 -#: htdocs/luci-static/resources/view/fchomo/node.js:1294 +#: htdocs/luci-static/resources/fchomo/listeners.js:1156 +#: htdocs/luci-static/resources/fchomo/listeners.js:1165 +#: htdocs/luci-static/resources/view/fchomo/node.js:1287 +#: htdocs/luci-static/resources/view/fchomo/node.js:1305 msgid "XHTTP" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1191 -#: htdocs/luci-static/resources/view/fchomo/node.js:1389 +#: htdocs/luci-static/resources/fchomo/listeners.js:1201 +#: htdocs/luci-static/resources/view/fchomo/node.js:1400 msgid "XHTTP mode" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1420 +#: htdocs/luci-static/resources/view/fchomo/node.js:1431 msgid "XMUX" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1425 -#: htdocs/luci-static/resources/view/fchomo/node.js:1430 -#: htdocs/luci-static/resources/view/fchomo/node.js:1435 -#: htdocs/luci-static/resources/view/fchomo/node.js:1440 -#: htdocs/luci-static/resources/view/fchomo/node.js:1445 -#: htdocs/luci-static/resources/view/fchomo/node.js:1450 +#: htdocs/luci-static/resources/view/fchomo/node.js:1436 +#: htdocs/luci-static/resources/view/fchomo/node.js:1441 +#: htdocs/luci-static/resources/view/fchomo/node.js:1446 +#: htdocs/luci-static/resources/view/fchomo/node.js:1451 +#: htdocs/luci-static/resources/view/fchomo/node.js:1456 +#: htdocs/luci-static/resources/view/fchomo/node.js:1461 msgid "XMUX:" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:721 +#: htdocs/luci-static/resources/fchomo/listeners.js:731 msgid "XOR mode" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:726 +#: htdocs/luci-static/resources/view/fchomo/node.js:737 msgid "Xudp (Xray-core)" msgstr "" @@ -3575,7 +3603,7 @@ msgstr "" msgid "Yaml text" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1932 +#: htdocs/luci-static/resources/view/fchomo/node.js:1943 msgid "Yes" msgstr "" @@ -3583,14 +3611,14 @@ msgstr "" msgid "YouTube" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:2076 +#: htdocs/luci-static/resources/fchomo.js:2064 msgid "Your %s was successfully uploaded. Size: %sB." msgstr "" #: htdocs/luci-static/resources/fchomo.js:345 #: htdocs/luci-static/resources/fchomo.js:358 #: htdocs/luci-static/resources/fchomo.js:363 -#: htdocs/luci-static/resources/view/fchomo/node.js:706 +#: htdocs/luci-static/resources/view/fchomo/node.js:717 msgid "aes-128-gcm" msgstr "" @@ -3603,11 +3631,11 @@ msgstr "" msgid "aes-256-gcm" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1792 +#: htdocs/luci-static/resources/view/fchomo/node.js:1803 msgid "age private key" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1853 +#: htdocs/luci-static/resources/view/fchomo/node.js:1864 msgid "age public key" msgstr "" @@ -3619,7 +3647,7 @@ msgstr "" msgid "age-x25519" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:703 +#: htdocs/luci-static/resources/view/fchomo/node.js:714 msgid "auto" msgstr "" @@ -3627,9 +3655,9 @@ msgstr "" msgid "bbr" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1002 -#: htdocs/luci-static/resources/fchomo/listeners.js:1042 -#: htdocs/luci-static/resources/view/fchomo/node.js:1199 +#: htdocs/luci-static/resources/fchomo/listeners.js:1012 +#: htdocs/luci-static/resources/fchomo/listeners.js:1052 +#: htdocs/luci-static/resources/view/fchomo/node.js:1210 msgid "certificate" msgstr "" @@ -3639,7 +3667,7 @@ msgstr "" msgid "chacha20-ietf-poly1305" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:707 +#: htdocs/luci-static/resources/view/fchomo/node.js:718 msgid "chacha20-poly1305" msgstr "" @@ -3647,8 +3675,8 @@ msgstr "" msgid "cubic" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:673 -#: htdocs/luci-static/resources/fchomo/listeners.js:704 +#: htdocs/luci-static/resources/fchomo/listeners.js:683 +#: htdocs/luci-static/resources/fchomo/listeners.js:714 msgid "decryption" msgstr "" @@ -3656,41 +3684,41 @@ msgstr "" msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1920 +#: htdocs/luci-static/resources/view/fchomo/node.js:1931 msgid "down" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:708 -#: htdocs/luci-static/resources/view/fchomo/node.js:990 -#: htdocs/luci-static/resources/view/fchomo/node.js:1013 +#: htdocs/luci-static/resources/fchomo/listeners.js:718 +#: htdocs/luci-static/resources/view/fchomo/node.js:1001 +#: htdocs/luci-static/resources/view/fchomo/node.js:1024 msgid "encryption" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:425 -#: htdocs/luci-static/resources/view/fchomo/node.js:489 +#: htdocs/luci-static/resources/view/fchomo/node.js:500 msgid "false = bandwidth optimized downlink; true = pure Sudoku downlink." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1144 -#: htdocs/luci-static/resources/fchomo/listeners.js:1153 -#: htdocs/luci-static/resources/fchomo/listeners.js:1160 -#: htdocs/luci-static/resources/view/fchomo/node.js:1274 +#: htdocs/luci-static/resources/fchomo/listeners.js:1154 +#: htdocs/luci-static/resources/fchomo/listeners.js:1163 +#: htdocs/luci-static/resources/fchomo/listeners.js:1170 #: htdocs/luci-static/resources/view/fchomo/node.js:1285 -#: htdocs/luci-static/resources/view/fchomo/node.js:1292 -#: htdocs/luci-static/resources/view/fchomo/node.js:1298 +#: htdocs/luci-static/resources/view/fchomo/node.js:1296 +#: htdocs/luci-static/resources/view/fchomo/node.js:1303 +#: htdocs/luci-static/resources/view/fchomo/node.js:1309 msgid "gRPC" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1355 +#: htdocs/luci-static/resources/view/fchomo/node.js:1366 msgid "gRPC User-Agent" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1360 +#: htdocs/luci-static/resources/view/fchomo/node.js:1371 msgid "gRPC ping interval" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1185 -#: htdocs/luci-static/resources/view/fchomo/node.js:1351 +#: htdocs/luci-static/resources/fchomo/listeners.js:1195 +#: htdocs/luci-static/resources/view/fchomo/node.js:1362 msgid "gRPC service name" msgstr "" @@ -3698,23 +3726,23 @@ msgstr "" msgid "gVisor" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:770 +#: htdocs/luci-static/resources/view/fchomo/node.js:781 msgid "h2" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1467 +#: htdocs/luci-static/resources/view/fchomo/node.js:1478 msgid "h2mux" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:768 +#: htdocs/luci-static/resources/view/fchomo/node.js:779 msgid "h3" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:769 +#: htdocs/luci-static/resources/view/fchomo/node.js:780 msgid "h3-l4proxy" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:873 +#: htdocs/luci-static/resources/fchomo/listeners.js:883 msgid "least one keypair required" msgstr "" @@ -3722,13 +3750,13 @@ msgstr "" msgid "metacubexd" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1030 -#: htdocs/luci-static/resources/view/fchomo/client.js:1327 -#: htdocs/luci-static/resources/view/fchomo/client.js:1422 -#: htdocs/luci-static/resources/view/fchomo/client.js:1564 -#: htdocs/luci-static/resources/view/fchomo/client.js:1798 -#: htdocs/luci-static/resources/view/fchomo/client.js:1854 -#: htdocs/luci-static/resources/view/fchomo/node.js:1673 +#: htdocs/luci-static/resources/view/fchomo/client.js:1034 +#: htdocs/luci-static/resources/view/fchomo/client.js:1331 +#: htdocs/luci-static/resources/view/fchomo/client.js:1426 +#: htdocs/luci-static/resources/view/fchomo/client.js:1568 +#: htdocs/luci-static/resources/view/fchomo/client.js:1802 +#: htdocs/luci-static/resources/view/fchomo/client.js:1858 +#: htdocs/luci-static/resources/view/fchomo/node.js:1684 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:247 msgid "mihomo config" msgstr "" @@ -3737,8 +3765,8 @@ msgstr "" msgid "mlkem768x25519plus" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1540 -#: htdocs/luci-static/resources/view/fchomo/node.js:1898 +#: htdocs/luci-static/resources/view/fchomo/node.js:1551 +#: htdocs/luci-static/resources/view/fchomo/node.js:1909 msgid "mpTCP" msgstr "" @@ -3746,24 +3774,24 @@ msgstr "" msgid "new_reno" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:836 +#: htdocs/luci-static/resources/view/fchomo/client.js:840 msgid "no-resolve" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1811 -#: htdocs/luci-static/resources/fchomo.js:1906 -#: htdocs/luci-static/resources/fchomo.js:1941 -#: htdocs/luci-static/resources/fchomo.js:1969 +#: htdocs/luci-static/resources/fchomo.js:1799 +#: htdocs/luci-static/resources/fchomo.js:1894 +#: htdocs/luci-static/resources/fchomo.js:1929 +#: htdocs/luci-static/resources/fchomo.js:1957 msgid "non-empty value" msgstr "" #: htdocs/luci-static/resources/fchomo.js:343 #: htdocs/luci-static/resources/fchomo.js:357 #: htdocs/luci-static/resources/fchomo.js:369 -#: htdocs/luci-static/resources/fchomo/listeners.js:558 -#: htdocs/luci-static/resources/view/fchomo/node.js:704 -#: htdocs/luci-static/resources/view/fchomo/node.js:724 -#: htdocs/luci-static/resources/view/fchomo/node.js:882 +#: htdocs/luci-static/resources/fchomo/listeners.js:561 +#: htdocs/luci-static/resources/view/fchomo/node.js:715 +#: htdocs/luci-static/resources/view/fchomo/node.js:735 +#: htdocs/luci-static/resources/view/fchomo/node.js:893 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:324 msgid "none" msgstr "" @@ -3772,51 +3800,51 @@ msgstr "" msgid "not found" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1047 +#: htdocs/luci-static/resources/view/fchomo/client.js:1051 msgid "not included \",\"" msgstr "" #: htdocs/luci-static/resources/fchomo.js:229 -#: htdocs/luci-static/resources/fchomo/listeners.js:619 -#: htdocs/luci-static/resources/fchomo/listeners.js:622 +#: htdocs/luci-static/resources/fchomo/listeners.js:629 +#: htdocs/luci-static/resources/fchomo/listeners.js:632 msgid "null" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:559 -#: htdocs/luci-static/resources/fchomo/listeners.js:567 -#: htdocs/luci-static/resources/view/fchomo/node.js:883 +#: htdocs/luci-static/resources/fchomo/listeners.js:562 +#: htdocs/luci-static/resources/fchomo/listeners.js:571 #: htdocs/luci-static/resources/view/fchomo/node.js:894 +#: htdocs/luci-static/resources/view/fchomo/node.js:905 msgid "obfs-simple" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:547 msgid "only applies when %s is %s." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:534 +#: htdocs/luci-static/resources/view/fchomo/node.js:545 msgid "only applies when %s is not %s." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1878 +#: htdocs/luci-static/resources/view/fchomo/node.js:1889 msgid "override.proxy-name" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:725 +#: htdocs/luci-static/resources/view/fchomo/node.js:736 msgid "packet addr (v2ray-core v5+)" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1195 -#: htdocs/luci-static/resources/view/fchomo/node.js:1393 +#: htdocs/luci-static/resources/fchomo/listeners.js:1205 +#: htdocs/luci-static/resources/view/fchomo/node.js:1404 msgid "packet-up" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:439 -#: htdocs/luci-static/resources/view/fchomo/node.js:503 +#: htdocs/luci-static/resources/view/fchomo/node.js:514 msgid "poll" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1017 -#: htdocs/luci-static/resources/view/fchomo/node.js:1213 +#: htdocs/luci-static/resources/fchomo/listeners.js:1027 +#: htdocs/luci-static/resources/view/fchomo/node.js:1224 msgid "private key" msgstr "" @@ -3824,12 +3852,13 @@ msgstr "" msgid "razord-meta" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1251 -#: htdocs/luci-static/resources/view/fchomo/client.js:1257 +#: htdocs/luci-static/resources/view/fchomo/client.js:1255 +#: htdocs/luci-static/resources/view/fchomo/client.js:1261 msgid "requires front-end adaptation using the API." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:887 +#: htdocs/luci-static/resources/fchomo/listeners.js:564 +#: htdocs/luci-static/resources/view/fchomo/node.js:898 msgid "restls" msgstr "" @@ -3837,41 +3866,41 @@ msgstr "" msgid "rule-set" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:560 -#: htdocs/luci-static/resources/fchomo/listeners.js:568 -#: htdocs/luci-static/resources/view/fchomo/node.js:886 -#: htdocs/luci-static/resources/view/fchomo/node.js:895 +#: htdocs/luci-static/resources/fchomo/listeners.js:563 +#: htdocs/luci-static/resources/fchomo/listeners.js:572 +#: htdocs/luci-static/resources/view/fchomo/node.js:897 +#: htdocs/luci-static/resources/view/fchomo/node.js:906 msgid "shadow-tls" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1465 +#: htdocs/luci-static/resources/view/fchomo/node.js:1476 msgid "smux" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:438 -#: htdocs/luci-static/resources/view/fchomo/node.js:502 +#: htdocs/luci-static/resources/view/fchomo/node.js:513 msgid "split-stream" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:818 +#: htdocs/luci-static/resources/view/fchomo/client.js:822 msgid "src" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1193 -#: htdocs/luci-static/resources/view/fchomo/node.js:1391 +#: htdocs/luci-static/resources/fchomo/listeners.js:1203 +#: htdocs/luci-static/resources/view/fchomo/node.js:1402 msgid "stream-one" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1194 -#: htdocs/luci-static/resources/view/fchomo/node.js:1392 +#: htdocs/luci-static/resources/fchomo/listeners.js:1204 +#: htdocs/luci-static/resources/view/fchomo/node.js:1403 msgid "stream-up" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1210 +#: htdocs/luci-static/resources/fchomo/listeners.js:1220 msgid "stream-up server seconds" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:547 msgid "stream/poll/auto" msgstr "" @@ -3891,77 +3920,80 @@ msgstr "" msgid "unique identifier" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1978 +#: htdocs/luci-static/resources/fchomo.js:1966 msgid "unique value" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1914 +#: htdocs/luci-static/resources/view/fchomo/node.js:1925 msgid "up" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:604 -#: htdocs/luci-static/resources/view/fchomo/node.js:552 -#: htdocs/luci-static/resources/view/fchomo/node.js:594 -#: htdocs/luci-static/resources/view/fchomo/node.js:924 -#: htdocs/luci-static/resources/view/fchomo/node.js:983 +#: htdocs/luci-static/resources/fchomo/listeners.js:464 +#: htdocs/luci-static/resources/fchomo/listeners.js:608 +#: htdocs/luci-static/resources/view/fchomo/node.js:563 +#: htdocs/luci-static/resources/view/fchomo/node.js:605 +#: htdocs/luci-static/resources/view/fchomo/node.js:935 +#: htdocs/luci-static/resources/view/fchomo/node.js:994 msgid "v1" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:605 -#: htdocs/luci-static/resources/view/fchomo/node.js:553 -#: htdocs/luci-static/resources/view/fchomo/node.js:925 -#: htdocs/luci-static/resources/view/fchomo/node.js:984 +#: htdocs/luci-static/resources/fchomo/listeners.js:465 +#: htdocs/luci-static/resources/fchomo/listeners.js:609 +#: htdocs/luci-static/resources/view/fchomo/node.js:564 +#: htdocs/luci-static/resources/view/fchomo/node.js:936 +#: htdocs/luci-static/resources/view/fchomo/node.js:995 msgid "v2" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:606 -#: htdocs/luci-static/resources/view/fchomo/node.js:554 -#: htdocs/luci-static/resources/view/fchomo/node.js:926 +#: htdocs/luci-static/resources/fchomo/listeners.js:466 +#: htdocs/luci-static/resources/fchomo/listeners.js:610 +#: htdocs/luci-static/resources/view/fchomo/node.js:565 +#: htdocs/luci-static/resources/view/fchomo/node.js:937 msgid "v3" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:464 -#: htdocs/luci-static/resources/view/fchomo/node.js:555 +#: htdocs/luci-static/resources/fchomo/listeners.js:467 +#: htdocs/luci-static/resources/view/fchomo/node.js:566 msgid "v4" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:465 -#: htdocs/luci-static/resources/view/fchomo/node.js:556 +#: htdocs/luci-static/resources/fchomo/listeners.js:468 +#: htdocs/luci-static/resources/view/fchomo/node.js:567 msgid "v5" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1858 -#: htdocs/luci-static/resources/fchomo.js:1861 +#: htdocs/luci-static/resources/fchomo.js:1846 +#: htdocs/luci-static/resources/fchomo.js:1849 msgid "valid JSON format" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1173 +#: htdocs/luci-static/resources/view/fchomo/node.js:1184 msgid "valid SHA256 string with %d characters" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1883 -#: htdocs/luci-static/resources/fchomo.js:1886 +#: htdocs/luci-static/resources/fchomo.js:1871 +#: htdocs/luci-static/resources/fchomo.js:1874 msgid "valid URL" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1896 +#: htdocs/luci-static/resources/fchomo.js:1884 msgid "valid base64 key with %d characters" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1956 -#: htdocs/luci-static/resources/fchomo.js:1962 +#: htdocs/luci-static/resources/fchomo.js:1944 +#: htdocs/luci-static/resources/fchomo.js:1950 msgid "valid format: 2x, 2p, 4v" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1943 +#: htdocs/luci-static/resources/fchomo.js:1931 msgid "valid key length with %d characters" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1821 +#: htdocs/luci-static/resources/fchomo.js:1809 msgid "valid port value" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1871 +#: htdocs/luci-static/resources/fchomo.js:1859 msgid "valid uuid" msgstr "" @@ -3981,7 +4013,7 @@ msgstr "" msgid "yacd-meta" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1466 +#: htdocs/luci-static/resources/view/fchomo/node.js:1477 msgid "yamux" msgstr "" @@ -3989,10 +4021,10 @@ msgstr "" msgid "zashboard" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:705 +#: htdocs/luci-static/resources/view/fchomo/node.js:716 msgid "zero" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1639 +#: htdocs/luci-static/resources/fchomo.js:1627 msgid "🡇" msgstr "" diff --git a/luci-app-fchomo/po/zh_Hans/fchomo.po b/luci-app-fchomo/po/zh_Hans/fchomo.po index 004b066a..6b3f4d32 100644 --- a/luci-app-fchomo/po/zh_Hans/fchomo.po +++ b/luci-app-fchomo/po/zh_Hans/fchomo.po @@ -27,49 +27,53 @@ msgstr "%s 端口" msgid "(Imported)" msgstr "(已导入)" -#: htdocs/luci-static/resources/fchomo/listeners.js:1020 -#: htdocs/luci-static/resources/fchomo/listeners.js:1028 -#: htdocs/luci-static/resources/fchomo/listeners.js:1037 +#: htdocs/luci-static/resources/fchomo/listeners.js:1030 +#: htdocs/luci-static/resources/fchomo/listeners.js:1038 +#: htdocs/luci-static/resources/fchomo/listeners.js:1047 #: htdocs/luci-static/resources/view/fchomo/global.js:564 #: htdocs/luci-static/resources/view/fchomo/global.js:570 -#: htdocs/luci-static/resources/view/fchomo/node.js:1188 -#: htdocs/luci-static/resources/view/fchomo/node.js:1194 -#: htdocs/luci-static/resources/view/fchomo/node.js:1202 -#: htdocs/luci-static/resources/view/fchomo/node.js:1208 +#: htdocs/luci-static/resources/view/fchomo/node.js:1199 +#: htdocs/luci-static/resources/view/fchomo/node.js:1205 +#: htdocs/luci-static/resources/view/fchomo/node.js:1213 +#: htdocs/luci-static/resources/view/fchomo/node.js:1219 msgid "(mTLS)" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:688 +#: htdocs/luci-static/resources/view/fchomo/client.js:696 msgid "-- NETWORK --" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1204 +#: htdocs/luci-static/resources/view/fchomo/client.js:1208 msgid "-- PROXY-GROUP --" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1139 -#: htdocs/luci-static/resources/view/fchomo/client.js:1206 +#: htdocs/luci-static/resources/view/fchomo/client.js:1143 +#: htdocs/luci-static/resources/view/fchomo/client.js:1210 msgid "-- PROXY-NODE --" msgstr "" #: htdocs/luci-static/resources/fchomo.js:832 -#: htdocs/luci-static/resources/view/fchomo/client.js:877 -#: htdocs/luci-static/resources/view/fchomo/client.js:880 -#: htdocs/luci-static/resources/view/fchomo/client.js:1077 +#: htdocs/luci-static/resources/view/fchomo/client.js:573 +#: htdocs/luci-static/resources/view/fchomo/client.js:881 +#: htdocs/luci-static/resources/view/fchomo/client.js:884 #: htdocs/luci-static/resources/view/fchomo/client.js:1081 -#: htdocs/luci-static/resources/view/fchomo/client.js:1097 +#: htdocs/luci-static/resources/view/fchomo/client.js:1085 #: htdocs/luci-static/resources/view/fchomo/client.js:1101 -#: htdocs/luci-static/resources/view/fchomo/client.js:1357 -#: htdocs/luci-static/resources/view/fchomo/node.js:270 -#: htdocs/luci-static/resources/view/fchomo/node.js:281 -#: htdocs/luci-static/resources/view/fchomo/node.js:2071 +#: htdocs/luci-static/resources/view/fchomo/client.js:1105 +#: htdocs/luci-static/resources/view/fchomo/client.js:1361 +#: htdocs/luci-static/resources/view/fchomo/node.js:284 #: htdocs/luci-static/resources/view/fchomo/node.js:2082 -#: htdocs/luci-static/resources/view/fchomo/node.js:2101 +#: htdocs/luci-static/resources/view/fchomo/node.js:2093 #: htdocs/luci-static/resources/view/fchomo/node.js:2112 +#: htdocs/luci-static/resources/view/fchomo/node.js:2123 msgid "-- Please choose --" msgstr "-- 请选择 --" -#: htdocs/luci-static/resources/view/fchomo/client.js:691 +#: htdocs/luci-static/resources/view/fchomo/client.js:694 +msgid "-- REMATCH-NAME --" +msgstr "" + +#: htdocs/luci-static/resources/view/fchomo/client.js:699 msgid "-- RULE-SET --" msgstr "" @@ -102,20 +106,20 @@ msgstr "" msgid "2022-blake3-chacha20-poly1305" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:703 +#: htdocs/luci-static/resources/view/fchomo/client.js:707 msgid "0 or 1 only." msgstr "仅限 01。" -#: htdocs/luci-static/resources/fchomo/listeners.js:998 -#: htdocs/luci-static/resources/fchomo/listeners.js:1013 -#: htdocs/luci-static/resources/fchomo/listeners.js:1038 -#: htdocs/luci-static/resources/view/fchomo/node.js:1195 -#: htdocs/luci-static/resources/view/fchomo/node.js:1209 +#: htdocs/luci-static/resources/fchomo/listeners.js:1008 +#: htdocs/luci-static/resources/fchomo/listeners.js:1023 +#: htdocs/luci-static/resources/fchomo/listeners.js:1048 +#: htdocs/luci-static/resources/view/fchomo/node.js:1206 +#: htdocs/luci-static/resources/view/fchomo/node.js:1220 msgid "Save your configuration before uploading files!" msgstr "上传文件前请先保存配置!" #: htdocs/luci-static/resources/fchomo/listeners.js:286 -#: htdocs/luci-static/resources/view/fchomo/node.js:424 +#: htdocs/luci-static/resources/view/fchomo/node.js:435 msgid "" "A base64 string is used to fine-tune network behavior.
Please refer to " "the document要从公共网站访问私有网络上的 API,则必须启用。" -#: htdocs/luci-static/resources/fchomo/listeners.js:979 +#: htdocs/luci-static/resources/fchomo/listeners.js:989 msgid "Allow insecure connections" msgstr "允许不安全的连接" -#: htdocs/luci-static/resources/view/fchomo/node.js:845 +#: htdocs/luci-static/resources/view/fchomo/node.js:856 msgid "Allowed IPs" msgstr "允许的 IP" @@ -299,8 +303,8 @@ msgstr "已是最新版本。" msgid "Already in updating." msgstr "已在更新中。" -#: htdocs/luci-static/resources/fchomo/listeners.js:540 -#: htdocs/luci-static/resources/view/fchomo/node.js:695 +#: htdocs/luci-static/resources/fchomo/listeners.js:543 +#: htdocs/luci-static/resources/view/fchomo/node.js:706 msgid "Alter ID" msgstr "额外 ID" @@ -322,20 +326,20 @@ msgstr "作为 dnsmasq 的最优先上游" msgid "As the TOP upstream of dnsmasq." msgstr "作为 dnsmasq 的最优先上游。" -#: htdocs/luci-static/resources/fchomo/listeners.js:490 +#: htdocs/luci-static/resources/fchomo/listeners.js:493 msgid "Auth timeout" msgstr "认证超时" -#: htdocs/luci-static/resources/view/fchomo/node.js:717 +#: htdocs/luci-static/resources/view/fchomo/node.js:728 msgid "Authenticated length" msgstr "认证长度" #: htdocs/luci-static/resources/fchomo/listeners.js:440 -#: htdocs/luci-static/resources/fchomo/listeners.js:1192 +#: htdocs/luci-static/resources/fchomo/listeners.js:1202 #: htdocs/luci-static/resources/view/fchomo/global.js:423 -#: htdocs/luci-static/resources/view/fchomo/node.js:504 -#: htdocs/luci-static/resources/view/fchomo/node.js:528 -#: htdocs/luci-static/resources/view/fchomo/node.js:1390 +#: htdocs/luci-static/resources/view/fchomo/node.js:515 +#: htdocs/luci-static/resources/view/fchomo/node.js:539 +#: htdocs/luci-static/resources/view/fchomo/node.js:1401 msgid "Auto" msgstr "自动" @@ -351,8 +355,8 @@ msgstr "自动更新" msgid "Auto update resources." msgstr "自动更新资源文件。" -#: htdocs/luci-static/resources/fchomo/listeners.js:651 -#: htdocs/luci-static/resources/view/fchomo/node.js:953 +#: htdocs/luci-static/resources/fchomo/listeners.js:661 +#: htdocs/luci-static/resources/view/fchomo/node.js:964 msgid "BBR profile" msgstr "BBR 配置文件" @@ -360,11 +364,11 @@ msgstr "BBR 配置文件" msgid "Baidu" msgstr "百度" -#: htdocs/luci-static/resources/view/fchomo/node.js:732 +#: htdocs/luci-static/resources/view/fchomo/node.js:743 msgid "Base64 encoded ECDSA private key on the NIST P-256 curve." msgstr "基于 NIST P-256 曲线的 Base64 编码 ECDSA 私钥。" -#: htdocs/luci-static/resources/view/fchomo/node.js:740 +#: htdocs/luci-static/resources/view/fchomo/node.js:751 msgid "Base64 encoded ECDSA public key on the NIST P-256 curve." msgstr "基于 NIST P-256 曲线的 Base64 编码 ECDSA 公钥。" @@ -386,13 +390,13 @@ msgid "Binary mrs" msgstr "二进制 mrs" #: htdocs/luci-static/resources/view/fchomo/global.js:758 -#: htdocs/luci-static/resources/view/fchomo/node.js:1551 -#: htdocs/luci-static/resources/view/fchomo/node.js:1943 +#: htdocs/luci-static/resources/view/fchomo/node.js:1562 +#: htdocs/luci-static/resources/view/fchomo/node.js:1954 msgid "Bind interface" msgstr "绑定接口" -#: htdocs/luci-static/resources/view/fchomo/node.js:1552 -#: htdocs/luci-static/resources/view/fchomo/node.js:1944 +#: htdocs/luci-static/resources/view/fchomo/node.js:1563 +#: htdocs/luci-static/resources/view/fchomo/node.js:1955 msgid "Bind outbound interface.
" msgstr "绑定出站接口。
" @@ -409,16 +413,16 @@ msgstr "黑名单" msgid "Block DNS queries" msgstr "封锁 DNS 请求" -#: htdocs/luci-static/resources/view/fchomo/client.js:1767 -#: htdocs/luci-static/resources/view/fchomo/client.js:1776 +#: htdocs/luci-static/resources/view/fchomo/client.js:1771 +#: htdocs/luci-static/resources/view/fchomo/client.js:1780 msgid "Bootstrap DNS policy (Node)" msgstr "引导 DNS 策略 (节点)" -#: htdocs/luci-static/resources/view/fchomo/client.js:1466 +#: htdocs/luci-static/resources/view/fchomo/client.js:1470 msgid "Bootstrap DNS server" msgstr "引导 DNS 服务器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1473 +#: htdocs/luci-static/resources/view/fchomo/client.js:1477 msgid "Bootstrap DNS server (Node)" msgstr "引导 DNS 服务器 (节点)" @@ -438,10 +442,10 @@ msgstr "绕过 DSCP" #: htdocs/luci-static/resources/fchomo/listeners.js:439 #: htdocs/luci-static/resources/fchomo/listeners.js:440 #: htdocs/luci-static/resources/fchomo/listeners.js:441 -#: htdocs/luci-static/resources/view/fchomo/node.js:502 -#: htdocs/luci-static/resources/view/fchomo/node.js:503 -#: htdocs/luci-static/resources/view/fchomo/node.js:504 -#: htdocs/luci-static/resources/view/fchomo/node.js:505 +#: htdocs/luci-static/resources/view/fchomo/node.js:513 +#: htdocs/luci-static/resources/view/fchomo/node.js:514 +#: htdocs/luci-static/resources/view/fchomo/node.js:515 +#: htdocs/luci-static/resources/view/fchomo/node.js:516 msgid "CDN support" msgstr "CDN 支持" @@ -461,17 +465,17 @@ msgstr "CORS 允许的来源,留空则使用 *。" msgid "Cancel" msgstr "取消" -#: htdocs/luci-static/resources/view/fchomo/node.js:1167 +#: htdocs/luci-static/resources/view/fchomo/node.js:1178 msgid "Cert fingerprint" msgstr "证书指纹" -#: htdocs/luci-static/resources/view/fchomo/node.js:1168 +#: htdocs/luci-static/resources/view/fchomo/node.js:1179 msgid "" "Certificate fingerprint. Used to implement SSL Pinning and prevent MitM." msgstr "证书指纹。用于实现 SSL证书固定 并防止 MitM。" -#: htdocs/luci-static/resources/fchomo/listeners.js:990 -#: htdocs/luci-static/resources/view/fchomo/node.js:1188 +#: htdocs/luci-static/resources/fchomo/listeners.js:1000 +#: htdocs/luci-static/resources/view/fchomo/node.js:1199 msgid "Certificate path" msgstr "证书路径" @@ -484,7 +488,7 @@ msgstr "检查" msgid "Check routerself NAT Behavior" msgstr "检测路由器自身 NAT 行为" -#: htdocs/luci-static/resources/view/fchomo/client.js:1921 +#: htdocs/luci-static/resources/view/fchomo/client.js:1926 msgid "" "Check the response from the %s, only initiate query if the " "%s is satisfied." @@ -509,14 +513,14 @@ msgstr "大陆域名列表版本" #: htdocs/luci-static/resources/fchomo/listeners.js:255 #: htdocs/luci-static/resources/fchomo/listeners.js:354 -#: htdocs/luci-static/resources/view/fchomo/node.js:377 -#: htdocs/luci-static/resources/view/fchomo/node.js:436 -#: htdocs/luci-static/resources/view/fchomo/node.js:701 +#: htdocs/luci-static/resources/view/fchomo/node.js:388 +#: htdocs/luci-static/resources/view/fchomo/node.js:447 +#: htdocs/luci-static/resources/view/fchomo/node.js:712 msgid "Chipher" msgstr "加密方法" #: htdocs/luci-static/resources/fchomo/listeners.js:363 -#: htdocs/luci-static/resources/view/fchomo/node.js:445 +#: htdocs/luci-static/resources/view/fchomo/node.js:456 msgid "Chipher must be enabled if obfuscate downlink is disabled." msgstr "如果下行链路混淆功能被禁用,则必须启用加密。" @@ -532,25 +536,25 @@ msgstr "" "点击
此处下载" "最新的初始包。" -#: htdocs/luci-static/resources/fchomo/listeners.js:749 -#: htdocs/luci-static/resources/fchomo/listeners.js:1029 +#: htdocs/luci-static/resources/fchomo/listeners.js:759 +#: htdocs/luci-static/resources/fchomo/listeners.js:1039 #: htdocs/luci-static/resources/view/fchomo/global.js:571 -#: htdocs/luci-static/resources/view/fchomo/node.js:1025 -#: htdocs/luci-static/resources/view/fchomo/node.js:1189 -#: htdocs/luci-static/resources/view/fchomo/node.js:1203 +#: htdocs/luci-static/resources/view/fchomo/node.js:1036 +#: htdocs/luci-static/resources/view/fchomo/node.js:1200 +#: htdocs/luci-static/resources/view/fchomo/node.js:1214 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:22 msgid "Client" msgstr "客户端" -#: htdocs/luci-static/resources/fchomo/listeners.js:1028 +#: htdocs/luci-static/resources/fchomo/listeners.js:1038 msgid "Client Auth Certificate path" msgstr "客户端认证证书路径" -#: htdocs/luci-static/resources/fchomo/listeners.js:1020 +#: htdocs/luci-static/resources/fchomo/listeners.js:1030 msgid "Client Auth type" msgstr "客户端认证类型" -#: htdocs/luci-static/resources/view/fchomo/node.js:1234 +#: htdocs/luci-static/resources/view/fchomo/node.js:1245 msgid "Client fingerprint" msgstr "客户端指纹" @@ -571,16 +575,16 @@ msgstr "收集数据中..." msgid "Common ports (bypass P2P traffic)" msgstr "常用端口(绕过 P2P 流量)" -#: htdocs/luci-static/resources/fchomo.js:1755 +#: htdocs/luci-static/resources/fchomo.js:1743 msgid "Complete" msgstr "完成" -#: htdocs/luci-static/resources/view/fchomo/node.js:1887 +#: htdocs/luci-static/resources/view/fchomo/node.js:1898 msgid "Configuration Items" msgstr "配置项" -#: htdocs/luci-static/resources/fchomo/listeners.js:643 -#: htdocs/luci-static/resources/view/fchomo/node.js:944 +#: htdocs/luci-static/resources/fchomo/listeners.js:653 +#: htdocs/luci-static/resources/view/fchomo/node.js:955 msgid "Congestion controller" msgstr "拥塞控制器" @@ -588,7 +592,7 @@ msgstr "拥塞控制器" msgid "Connection check" msgstr "连接检查" -#: htdocs/luci-static/resources/view/fchomo/node.js:561 +#: htdocs/luci-static/resources/view/fchomo/node.js:572 msgid "Connection reuse" msgstr "连接复用" @@ -600,15 +604,15 @@ msgstr "保守" msgid "Content copied to clipboard!" msgstr "内容已复制到剪贴板!" -#: htdocs/luci-static/resources/view/fchomo/client.js:681 -#: htdocs/luci-static/resources/view/fchomo/node.js:1727 -#: htdocs/luci-static/resources/view/fchomo/node.js:1753 +#: htdocs/luci-static/resources/view/fchomo/client.js:687 +#: htdocs/luci-static/resources/view/fchomo/node.js:1738 +#: htdocs/luci-static/resources/view/fchomo/node.js:1764 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:348 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:374 msgid "Content will not be verified, Please make sure you enter it correctly." msgstr "内容将不会被验证,请确保输入正确。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1726 +#: htdocs/luci-static/resources/view/fchomo/node.js:1737 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:347 msgid "Contents" msgstr "内容" @@ -633,7 +637,7 @@ msgstr "Cron 表达式" msgid "Custom Direct List" msgstr "自定义直连列表" -#: htdocs/luci-static/resources/view/fchomo/node.js:1858 +#: htdocs/luci-static/resources/view/fchomo/node.js:1869 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:420 msgid "Custom HTTP header." msgstr "自定义 HTTP header。" @@ -643,7 +647,7 @@ msgid "Custom Proxy List" msgstr "自定义代理列表" #: htdocs/luci-static/resources/fchomo/listeners.js:378 -#: htdocs/luci-static/resources/view/fchomo/node.js:460 +#: htdocs/luci-static/resources/view/fchomo/node.js:471 msgid "Custom byte layout" msgstr "自定义字节布局" @@ -656,8 +660,9 @@ msgstr "自定义内部 hosts。支持 yamljson msgid "DIRECT" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1819 -#: htdocs/luci-static/resources/view/fchomo/client.js:1828 +#: htdocs/luci-static/resources/view/fchomo/client.js:1823 +#: htdocs/luci-static/resources/view/fchomo/client.js:1832 +#: htdocs/luci-static/resources/view/fchomo/client.js:1907 msgid "DNS policy" msgstr "DNS 策略" @@ -665,15 +670,15 @@ msgstr "DNS 策略" msgid "DNS port" msgstr " DNS 端口" -#: htdocs/luci-static/resources/view/fchomo/client.js:895 -#: htdocs/luci-static/resources/view/fchomo/client.js:1512 -#: htdocs/luci-static/resources/view/fchomo/client.js:1521 -#: htdocs/luci-static/resources/view/fchomo/node.js:792 -#: htdocs/luci-static/resources/view/fchomo/node.js:875 +#: htdocs/luci-static/resources/view/fchomo/client.js:899 +#: htdocs/luci-static/resources/view/fchomo/client.js:1516 +#: htdocs/luci-static/resources/view/fchomo/client.js:1525 +#: htdocs/luci-static/resources/view/fchomo/node.js:803 +#: htdocs/luci-static/resources/view/fchomo/node.js:886 msgid "DNS server" msgstr "DNS 服务器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1449 +#: htdocs/luci-static/resources/view/fchomo/client.js:1453 msgid "DNS settings" msgstr "DNS 设置" @@ -693,13 +698,13 @@ msgstr "调试" msgid "Default DNS (issued by WAN)" msgstr "默认 DNS(由 WAN 下发)" -#: htdocs/luci-static/resources/view/fchomo/client.js:1487 -#: htdocs/luci-static/resources/view/fchomo/client.js:1922 -#: htdocs/luci-static/resources/view/fchomo/client.js:1925 +#: htdocs/luci-static/resources/view/fchomo/client.js:1491 +#: htdocs/luci-static/resources/view/fchomo/client.js:1927 +#: htdocs/luci-static/resources/view/fchomo/client.js:1930 msgid "Default DNS server" msgstr "默认 DNS 服务器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1197 +#: htdocs/luci-static/resources/view/fchomo/client.js:1201 msgid "Default selected" msgstr "默认选中" @@ -707,15 +712,15 @@ msgstr "默认选中" msgid "Derive from priv-key" msgstr "从私钥派生" -#: htdocs/luci-static/resources/view/fchomo/node.js:846 +#: htdocs/luci-static/resources/view/fchomo/node.js:857 msgid "Destination addresses allowed to be forwarded via Wireguard." msgstr "允许通过 WireGuard 转发的目的地址" -#: htdocs/luci-static/resources/view/fchomo/node.js:2068 +#: htdocs/luci-static/resources/view/fchomo/node.js:2079 msgid "Destination provider" msgstr "落地供应商" -#: htdocs/luci-static/resources/view/fchomo/node.js:2079 +#: htdocs/luci-static/resources/view/fchomo/node.js:2090 msgid "Destination proxy node" msgstr "落地代理节点" @@ -723,8 +728,8 @@ msgstr "落地代理节点" msgid "Dial fields" msgstr "拨号字段" -#: htdocs/luci-static/resources/view/fchomo/node.js:2091 -#: htdocs/luci-static/resources/view/fchomo/node.js:2121 +#: htdocs/luci-static/resources/view/fchomo/node.js:2102 +#: htdocs/luci-static/resources/view/fchomo/node.js:2132 msgid "Different chain head/tail" msgstr "不同的链头/链尾" @@ -746,7 +751,7 @@ msgstr "直连 MAC 地址" #: htdocs/luci-static/resources/fchomo/listeners.js:194 #: htdocs/luci-static/resources/view/fchomo/global.js:424 -#: htdocs/luci-static/resources/view/fchomo/node.js:332 +#: htdocs/luci-static/resources/view/fchomo/node.js:343 msgid "Disable" msgstr "禁用" @@ -762,11 +767,11 @@ msgstr "禁用 quic-go 的 通用分段卸载(GSO)" msgid "Disable ICMP Forwarding" msgstr "禁用 ICMP 转发" -#: htdocs/luci-static/resources/view/fchomo/node.js:1110 +#: htdocs/luci-static/resources/view/fchomo/node.js:1121 msgid "Disable SNI" msgstr "禁用 SNI" -#: htdocs/luci-static/resources/view/fchomo/client.js:1146 +#: htdocs/luci-static/resources/view/fchomo/client.js:1150 msgid "Disable UDP" msgstr "禁用 UDP" @@ -774,7 +779,7 @@ msgstr "禁用 UDP" msgid "Disable safe path check" msgstr "禁用安全路径检查" -#: htdocs/luci-static/resources/view/fchomo/client.js:837 +#: htdocs/luci-static/resources/view/fchomo/client.js:841 msgid "" "Do not resolve the domain connection to IP for this match.
Only works " "for pure domain inbound connections without DNS resolution. e.g., socks5h" @@ -782,37 +787,39 @@ msgstr "" "不要将域名连接解析为 IP 以进行此次匹配。
仅对未经 DNS 解析的纯域名入站连" "接有效。例如,socks5h" -#: htdocs/luci-static/resources/view/fchomo/client.js:860 -#: htdocs/luci-static/resources/view/fchomo/client.js:865 -#: htdocs/luci-static/resources/view/fchomo/client.js:1902 -#: htdocs/luci-static/resources/view/fchomo/client.js:1909 -#: htdocs/luci-static/resources/view/fchomo/client.js:1911 +#: htdocs/luci-static/resources/view/fchomo/client.js:864 +#: htdocs/luci-static/resources/view/fchomo/client.js:869 +#: htdocs/luci-static/resources/view/fchomo/client.js:1906 +#: htdocs/luci-static/resources/view/fchomo/client.js:1914 +#: htdocs/luci-static/resources/view/fchomo/client.js:1916 msgid "Domain" msgstr "域名" -#: htdocs/luci-static/resources/view/fchomo/node.js:1111 +#: htdocs/luci-static/resources/view/fchomo/node.js:1122 msgid "Donot send server name in ClientHello." msgstr "不要在 ClientHello 中发送服务器名称。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1664 -#: htdocs/luci-static/resources/view/fchomo/node.js:1181 -#: htdocs/luci-static/resources/view/fchomo/node.js:1927 +#: htdocs/luci-static/resources/view/fchomo/client.js:1668 +#: htdocs/luci-static/resources/view/fchomo/node.js:1192 +#: htdocs/luci-static/resources/view/fchomo/node.js:1938 msgid "Donot verifying server certificate." msgstr "不验证服务器证书。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1528 +#: htdocs/luci-static/resources/fchomo/listeners.js:1254 +#: htdocs/luci-static/resources/view/fchomo/node.js:1539 msgid "Download bandwidth" msgstr "下载带宽" -#: htdocs/luci-static/resources/view/fchomo/node.js:1529 +#: htdocs/luci-static/resources/fchomo/listeners.js:1255 +#: htdocs/luci-static/resources/view/fchomo/node.js:1540 msgid "Download bandwidth in Mbps." msgstr "下载带宽(单位:Mbps)。" -#: htdocs/luci-static/resources/fchomo.js:1634 +#: htdocs/luci-static/resources/fchomo.js:1622 msgid "Download failed: %s" msgstr "下载失败: %s" -#: htdocs/luci-static/resources/fchomo.js:1632 +#: htdocs/luci-static/resources/fchomo.js:1620 msgid "Download successful." msgstr "下载成功。" @@ -820,24 +827,24 @@ msgstr "下载成功。" msgid "Dual stack" msgstr "双栈" -#: htdocs/luci-static/resources/view/fchomo/node.js:1228 +#: htdocs/luci-static/resources/view/fchomo/node.js:1239 msgid "ECH HTTPS record query servername" msgstr "ECH HTTPS 记录查询域名" -#: htdocs/luci-static/resources/fchomo/listeners.js:1086 -#: htdocs/luci-static/resources/view/fchomo/node.js:1222 +#: htdocs/luci-static/resources/fchomo/listeners.js:1096 +#: htdocs/luci-static/resources/view/fchomo/node.js:1233 msgid "ECH config" msgstr "ECH 配置" -#: htdocs/luci-static/resources/fchomo/listeners.js:1045 +#: htdocs/luci-static/resources/fchomo/listeners.js:1055 msgid "ECH key" msgstr "ECH 密钥" -#: htdocs/luci-static/resources/view/fchomo/client.js:1698 +#: htdocs/luci-static/resources/view/fchomo/client.js:1702 msgid "ECS override" msgstr "强制覆盖 ECS" -#: htdocs/luci-static/resources/view/fchomo/client.js:1682 +#: htdocs/luci-static/resources/view/fchomo/client.js:1686 msgid "EDNS Client Subnet" msgstr "EDNS 客户端子网" @@ -845,11 +852,11 @@ msgstr "EDNS 客户端子网" msgid "ETag support" msgstr "ETag 支持" -#: htdocs/luci-static/resources/view/fchomo/node.js:1368 +#: htdocs/luci-static/resources/view/fchomo/node.js:1379 msgid "Early Data first packet length limit." msgstr "前置数据长度阈值" -#: htdocs/luci-static/resources/view/fchomo/node.js:1374 +#: htdocs/luci-static/resources/view/fchomo/node.js:1385 msgid "Early Data header name" msgstr "前置数据标头" @@ -865,7 +872,7 @@ msgstr "编辑出站" msgid "Edit ruleset" msgstr "编辑规则集" -#: htdocs/luci-static/resources/view/fchomo/node.js:1724 +#: htdocs/luci-static/resources/view/fchomo/node.js:1735 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:345 msgid "Editer" msgstr "编辑器" @@ -874,30 +881,30 @@ msgstr "编辑器" msgid "Eliminate encryption header characteristics" msgstr "消除加密头特征" -#: htdocs/luci-static/resources/view/fchomo/client.js:1131 +#: htdocs/luci-static/resources/view/fchomo/client.js:1135 msgid "Empty fallback" msgstr "为空时回退" #: htdocs/luci-static/resources/fchomo/listeners.js:133 -#: htdocs/luci-static/resources/view/fchomo/client.js:958 -#: htdocs/luci-static/resources/view/fchomo/client.js:1053 -#: htdocs/luci-static/resources/view/fchomo/client.js:1340 -#: htdocs/luci-static/resources/view/fchomo/client.js:1435 -#: htdocs/luci-static/resources/view/fchomo/client.js:1577 -#: htdocs/luci-static/resources/view/fchomo/client.js:1811 -#: htdocs/luci-static/resources/view/fchomo/client.js:1867 +#: htdocs/luci-static/resources/view/fchomo/client.js:962 +#: htdocs/luci-static/resources/view/fchomo/client.js:1057 +#: htdocs/luci-static/resources/view/fchomo/client.js:1344 +#: htdocs/luci-static/resources/view/fchomo/client.js:1439 +#: htdocs/luci-static/resources/view/fchomo/client.js:1581 +#: htdocs/luci-static/resources/view/fchomo/client.js:1815 +#: htdocs/luci-static/resources/view/fchomo/client.js:1871 #: htdocs/luci-static/resources/view/fchomo/global.js:422 #: htdocs/luci-static/resources/view/fchomo/global.js:704 #: htdocs/luci-static/resources/view/fchomo/node.js:246 -#: htdocs/luci-static/resources/view/fchomo/node.js:1697 -#: htdocs/luci-static/resources/view/fchomo/node.js:1966 -#: htdocs/luci-static/resources/view/fchomo/node.js:2055 +#: htdocs/luci-static/resources/view/fchomo/node.js:1708 +#: htdocs/luci-static/resources/view/fchomo/node.js:1977 +#: htdocs/luci-static/resources/view/fchomo/node.js:2066 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:272 #: htdocs/luci-static/resources/view/fchomo/server.js:49 msgid "Enable" msgstr "启用" -#: htdocs/luci-static/resources/view/fchomo/node.js:610 +#: htdocs/luci-static/resources/view/fchomo/node.js:621 msgid "" "Enable 0-RTT QUIC connection handshake on the client side. This is not " "impacting much on the performance, as the protocol is fully multiplexed.
强烈建议禁用此功能,因为它容易受到重放攻击。" -#: htdocs/luci-static/resources/view/fchomo/node.js:609 +#: htdocs/luci-static/resources/view/fchomo/node.js:620 msgid "Enable 0-RTT handshake" msgstr "启用 0-RTT 握手" @@ -918,57 +925,60 @@ msgstr "" "为出站连接启用 IP4P 转换" -#: htdocs/luci-static/resources/view/fchomo/node.js:1216 +#: htdocs/luci-static/resources/view/fchomo/node.js:1227 msgid "Enable ECH" msgstr "启用 ECH" -#: htdocs/luci-static/resources/view/fchomo/node.js:1516 +#: htdocs/luci-static/resources/fchomo/listeners.js:1242 +#: htdocs/luci-static/resources/view/fchomo/node.js:1527 msgid "Enable TCP Brutal" msgstr "启用 TCP Brutal" -#: htdocs/luci-static/resources/view/fchomo/node.js:1517 +#: htdocs/luci-static/resources/fchomo/listeners.js:1243 +#: htdocs/luci-static/resources/view/fchomo/node.js:1528 msgid "Enable TCP Brutal congestion control algorithm" msgstr "启用 TCP Brutal 拥塞控制算法。" -#: htdocs/luci-static/resources/view/fchomo/node.js:604 +#: htdocs/luci-static/resources/view/fchomo/node.js:615 msgid "Enable fast open" msgstr "启用 Fast open" -#: htdocs/luci-static/resources/view/fchomo/node.js:1505 +#: htdocs/luci-static/resources/view/fchomo/node.js:1516 msgid "Enable multiplexing only for TCP." msgstr "仅为 TCP 启用多路复用。" #: htdocs/luci-static/resources/fchomo/listeners.js:424 -#: htdocs/luci-static/resources/view/fchomo/node.js:488 +#: htdocs/luci-static/resources/view/fchomo/node.js:499 msgid "Enable obfuscate for downlink" msgstr "启用下行链路混淆" -#: htdocs/luci-static/resources/view/fchomo/node.js:1499 +#: htdocs/luci-static/resources/fchomo/listeners.js:1237 +#: htdocs/luci-static/resources/view/fchomo/node.js:1510 msgid "Enable padding" msgstr "启用填充" -#: htdocs/luci-static/resources/view/fchomo/node.js:1510 +#: htdocs/luci-static/resources/view/fchomo/node.js:1521 msgid "Enable statistic" msgstr "启用统计" -#: htdocs/luci-static/resources/view/fchomo/node.js:977 -#: htdocs/luci-static/resources/view/fchomo/node.js:1909 +#: htdocs/luci-static/resources/view/fchomo/node.js:988 +#: htdocs/luci-static/resources/view/fchomo/node.js:1920 msgid "" "Enable the SUoT protocol, requires server support. Conflict with Multiplex." msgstr "启用 SUoT 协议,需要服务端支持。与多路复用冲突。" #: htdocs/luci-static/resources/fchomo/listeners.js:201 -#: htdocs/luci-static/resources/view/fchomo/node.js:339 +#: htdocs/luci-static/resources/view/fchomo/node.js:350 msgid "" "Enabling obfuscation will make the server incompatible with standard QUIC " "connections, losing the ability to masquerade with HTTP/3." msgstr "启用混淆将使服务器与标准的 QUIC 连接不兼容,失去 HTTP/3 伪装的能力。" -#: htdocs/luci-static/resources/fchomo/listeners.js:712 +#: htdocs/luci-static/resources/fchomo/listeners.js:722 msgid "Encryption method" msgstr "加密方法" -#: htdocs/luci-static/resources/view/fchomo/node.js:739 +#: htdocs/luci-static/resources/view/fchomo/node.js:750 msgid "Endpoint pubkic key" msgstr "端点公钥" @@ -976,8 +986,8 @@ msgstr "端点公钥" msgid "Endpoint-Independent NAT" msgstr "端点独立 NAT" -#: htdocs/luci-static/resources/view/fchomo/client.js:736 -#: htdocs/luci-static/resources/view/fchomo/client.js:887 +#: htdocs/luci-static/resources/view/fchomo/client.js:740 +#: htdocs/luci-static/resources/view/fchomo/client.js:891 msgid "Entry" msgstr "条目" @@ -985,17 +995,17 @@ msgstr "条目" msgid "Error" msgstr "错误" -#: htdocs/luci-static/resources/view/fchomo/client.js:1190 +#: htdocs/luci-static/resources/view/fchomo/client.js:1194 msgid "" "Exceeding this triggers a forced health check. 5 will be used " "if empty." msgstr "超过此限制将会触发强制健康检查。留空则使用 5。" -#: htdocs/luci-static/resources/view/fchomo/node.js:2024 +#: htdocs/luci-static/resources/view/fchomo/node.js:2035 msgid "Exclude matched node types." msgstr "排除匹配的节点类型。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1244 +#: htdocs/luci-static/resources/view/fchomo/client.js:1248 msgid "" "Exclude matched node types. Available types see here." @@ -1003,8 +1013,8 @@ msgstr "" "排除匹配的节点类型。可用类型请参见此处。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1239 -#: htdocs/luci-static/resources/view/fchomo/node.js:2017 +#: htdocs/luci-static/resources/view/fchomo/client.js:1243 +#: htdocs/luci-static/resources/view/fchomo/node.js:2028 msgid "Exclude nodes that meet keywords or regexps." msgstr "排除匹配关键词或表达式的节点。" @@ -1012,69 +1022,74 @@ msgstr "排除匹配关键词或表达式的节点。" msgid "Expand/Collapse result" msgstr "展开/收起 结果" -#: htdocs/luci-static/resources/view/fchomo/client.js:1182 -#: htdocs/luci-static/resources/view/fchomo/node.js:2002 +#: htdocs/luci-static/resources/view/fchomo/client.js:1186 +#: htdocs/luci-static/resources/view/fchomo/node.js:2013 msgid "Expected HTTP code. 204 will be used if empty." msgstr "预期的 HTTP code。留空则使用 204。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1184 -#: htdocs/luci-static/resources/view/fchomo/node.js:2004 +#: htdocs/luci-static/resources/view/fchomo/client.js:1188 +#: htdocs/luci-static/resources/view/fchomo/node.js:2015 msgid "Expected status" msgstr "预期状态" #: htdocs/luci-static/resources/fchomo.js:452 #: htdocs/luci-static/resources/fchomo.js:455 #: htdocs/luci-static/resources/fchomo.js:458 -#: htdocs/luci-static/resources/fchomo.js:1772 -#: htdocs/luci-static/resources/fchomo.js:1780 -#: htdocs/luci-static/resources/fchomo.js:1788 -#: htdocs/luci-static/resources/fchomo.js:1811 -#: htdocs/luci-static/resources/fchomo.js:1814 -#: htdocs/luci-static/resources/fchomo.js:1821 -#: htdocs/luci-static/resources/fchomo.js:1837 +#: htdocs/luci-static/resources/fchomo.js:1760 +#: htdocs/luci-static/resources/fchomo.js:1768 +#: htdocs/luci-static/resources/fchomo.js:1776 +#: htdocs/luci-static/resources/fchomo.js:1799 +#: htdocs/luci-static/resources/fchomo.js:1802 +#: htdocs/luci-static/resources/fchomo.js:1809 +#: htdocs/luci-static/resources/fchomo.js:1825 +#: htdocs/luci-static/resources/fchomo.js:1834 #: htdocs/luci-static/resources/fchomo.js:1846 -#: htdocs/luci-static/resources/fchomo.js:1858 -#: htdocs/luci-static/resources/fchomo.js:1861 +#: htdocs/luci-static/resources/fchomo.js:1849 +#: htdocs/luci-static/resources/fchomo.js:1859 #: htdocs/luci-static/resources/fchomo.js:1871 -#: htdocs/luci-static/resources/fchomo.js:1883 -#: htdocs/luci-static/resources/fchomo.js:1886 -#: htdocs/luci-static/resources/fchomo.js:1896 -#: htdocs/luci-static/resources/fchomo.js:1906 -#: htdocs/luci-static/resources/fchomo.js:1941 -#: htdocs/luci-static/resources/fchomo.js:1943 -#: htdocs/luci-static/resources/fchomo.js:1956 -#: htdocs/luci-static/resources/fchomo.js:1962 -#: htdocs/luci-static/resources/fchomo.js:1969 -#: htdocs/luci-static/resources/fchomo.js:1978 +#: htdocs/luci-static/resources/fchomo.js:1874 +#: htdocs/luci-static/resources/fchomo.js:1884 +#: htdocs/luci-static/resources/fchomo.js:1894 +#: htdocs/luci-static/resources/fchomo.js:1929 +#: htdocs/luci-static/resources/fchomo.js:1931 +#: htdocs/luci-static/resources/fchomo.js:1944 +#: htdocs/luci-static/resources/fchomo.js:1950 +#: htdocs/luci-static/resources/fchomo.js:1957 +#: htdocs/luci-static/resources/fchomo.js:1966 #: htdocs/luci-static/resources/fchomo/listeners.js:363 #: htdocs/luci-static/resources/fchomo/listeners.js:410 -#: htdocs/luci-static/resources/fchomo/listeners.js:741 -#: htdocs/luci-static/resources/fchomo/listeners.js:772 -#: htdocs/luci-static/resources/fchomo/listeners.js:873 +#: htdocs/luci-static/resources/fchomo/listeners.js:751 +#: htdocs/luci-static/resources/fchomo/listeners.js:782 +#: htdocs/luci-static/resources/fchomo/listeners.js:883 #: htdocs/luci-static/resources/view/fchomo/client.js:71 -#: htdocs/luci-static/resources/view/fchomo/client.js:1047 -#: htdocs/luci-static/resources/view/fchomo/client.js:1592 +#: htdocs/luci-static/resources/view/fchomo/client.js:1051 +#: htdocs/luci-static/resources/view/fchomo/client.js:1596 #: htdocs/luci-static/resources/view/fchomo/global.js:904 -#: htdocs/luci-static/resources/view/fchomo/node.js:445 -#: htdocs/luci-static/resources/view/fchomo/node.js:481 -#: htdocs/luci-static/resources/view/fchomo/node.js:534 -#: htdocs/luci-static/resources/view/fchomo/node.js:536 -#: htdocs/luci-static/resources/view/fchomo/node.js:1048 -#: htdocs/luci-static/resources/view/fchomo/node.js:1173 -#: htdocs/luci-static/resources/view/fchomo/node.js:2091 -#: htdocs/luci-static/resources/view/fchomo/node.js:2121 +#: htdocs/luci-static/resources/view/fchomo/node.js:456 +#: htdocs/luci-static/resources/view/fchomo/node.js:492 +#: htdocs/luci-static/resources/view/fchomo/node.js:545 +#: htdocs/luci-static/resources/view/fchomo/node.js:547 +#: htdocs/luci-static/resources/view/fchomo/node.js:1059 +#: htdocs/luci-static/resources/view/fchomo/node.js:1184 +#: htdocs/luci-static/resources/view/fchomo/node.js:2102 +#: htdocs/luci-static/resources/view/fchomo/node.js:2132 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:300 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:314 msgid "Expecting: %s" msgstr "请输入:%s" -#: htdocs/luci-static/resources/fchomo/listeners.js:567 -#: htdocs/luci-static/resources/fchomo/listeners.js:1153 -#: htdocs/luci-static/resources/fchomo/listeners.js:1160 -#: htdocs/luci-static/resources/view/fchomo/node.js:894 -#: htdocs/luci-static/resources/view/fchomo/node.js:1283 -#: htdocs/luci-static/resources/view/fchomo/node.js:1290 -#: htdocs/luci-static/resources/view/fchomo/node.js:1298 +#: htdocs/luci-static/resources/view/fchomo/node.js:274 +#: htdocs/luci-static/resources/view/fchomo/node.js:292 +msgid "Expecting: Least one of %s or %s." +msgstr "请输入:至少包含 %s 或 %s 中的一个。" + +#: htdocs/luci-static/resources/fchomo/listeners.js:571 +#: htdocs/luci-static/resources/fchomo/listeners.js:1163 +#: htdocs/luci-static/resources/fchomo/listeners.js:1170 +#: htdocs/luci-static/resources/view/fchomo/node.js:905 +#: htdocs/luci-static/resources/view/fchomo/node.js:1294 +#: htdocs/luci-static/resources/view/fchomo/node.js:1301 +#: htdocs/luci-static/resources/view/fchomo/node.js:1309 msgid "Expecting: only support %s." msgstr "请输入:仅支援 %s。" @@ -1084,29 +1099,29 @@ msgstr "实验性" #: htdocs/luci-static/resources/view/fchomo/client.js:553 #: htdocs/luci-static/resources/view/fchomo/client.js:566 -#: htdocs/luci-static/resources/view/fchomo/client.js:574 -#: htdocs/luci-static/resources/view/fchomo/client.js:581 -#: htdocs/luci-static/resources/view/fchomo/client.js:591 -#: htdocs/luci-static/resources/view/fchomo/client.js:598 -#: htdocs/luci-static/resources/view/fchomo/client.js:606 -#: htdocs/luci-static/resources/view/fchomo/client.js:613 -#: htdocs/luci-static/resources/view/fchomo/client.js:680 +#: htdocs/luci-static/resources/view/fchomo/client.js:580 +#: htdocs/luci-static/resources/view/fchomo/client.js:587 +#: htdocs/luci-static/resources/view/fchomo/client.js:597 +#: htdocs/luci-static/resources/view/fchomo/client.js:604 +#: htdocs/luci-static/resources/view/fchomo/client.js:612 +#: htdocs/luci-static/resources/view/fchomo/client.js:619 +#: htdocs/luci-static/resources/view/fchomo/client.js:686 msgid "Factor" msgstr "条件" -#: htdocs/luci-static/resources/fchomo.js:1713 +#: htdocs/luci-static/resources/fchomo.js:1701 msgid "Failed to execute \"/etc/init.d/fchomo %s %s\" reason: %s" msgstr "无法执行 \"/etc/init.d/fchomo %s %s\" 原因: %s" -#: htdocs/luci-static/resources/fchomo.js:1666 +#: htdocs/luci-static/resources/fchomo.js:1654 msgid "Failed to generate %s, error: %s." msgstr "生成 %s 失败,错误:%s。" -#: htdocs/luci-static/resources/fchomo.js:2078 +#: htdocs/luci-static/resources/fchomo.js:2066 msgid "Failed to upload %s, error: %s." msgstr "上传 %s 失败,错误:%s。" -#: htdocs/luci-static/resources/fchomo.js:2097 +#: htdocs/luci-static/resources/fchomo.js:2085 msgid "Failed to upload, error: %s." msgstr "上传失败,错误:%s。" @@ -1115,40 +1130,40 @@ msgstr "上传失败,错误:%s。" msgid "Fallback" msgstr "自动回退" -#: htdocs/luci-static/resources/view/fchomo/client.js:1481 -#: htdocs/luci-static/resources/view/fchomo/client.js:1494 -#: htdocs/luci-static/resources/view/fchomo/client.js:1925 +#: htdocs/luci-static/resources/view/fchomo/client.js:1485 +#: htdocs/luci-static/resources/view/fchomo/client.js:1498 +#: htdocs/luci-static/resources/view/fchomo/client.js:1930 msgid "Fallback DNS server" msgstr "後備 DNS 服务器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1881 -#: htdocs/luci-static/resources/view/fchomo/client.js:1922 +#: htdocs/luci-static/resources/view/fchomo/client.js:1885 +#: htdocs/luci-static/resources/view/fchomo/client.js:1927 msgid "Fallback filter" msgstr "後備过滤器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1234 -#: htdocs/luci-static/resources/view/fchomo/node.js:2011 +#: htdocs/luci-static/resources/view/fchomo/client.js:1238 +#: htdocs/luci-static/resources/view/fchomo/node.js:2022 msgid "Filter nodes that meet keywords or regexps." msgstr "过滤匹配关键字或表达式的节点。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1748 +#: htdocs/luci-static/resources/view/fchomo/client.js:1752 msgid "Filter record type:" msgstr "过滤记录类型:" -#: htdocs/luci-static/resources/view/fchomo/client.js:1716 -#: htdocs/luci-static/resources/view/fchomo/client.js:1732 +#: htdocs/luci-static/resources/view/fchomo/client.js:1720 +#: htdocs/luci-static/resources/view/fchomo/client.js:1736 msgid "Filter record: %s" msgstr "过滤 %s 记录" -#: htdocs/luci-static/resources/view/fchomo/client.js:1480 +#: htdocs/luci-static/resources/view/fchomo/client.js:1484 msgid "Final DNS server" msgstr "兜底 DNS 服务器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1482 +#: htdocs/luci-static/resources/view/fchomo/client.js:1486 msgid "Final DNS server (For non-poisoned domains)" msgstr "兜底 DNS 服务器 (用于未被投毒污染的域名)" -#: htdocs/luci-static/resources/view/fchomo/client.js:1484 +#: htdocs/luci-static/resources/view/fchomo/client.js:1488 msgid "Final DNS server (For poisoned domains)" msgstr "兜底 DNS 服务器 (用于已被投毒污染的域名)" @@ -1156,12 +1171,12 @@ msgstr "兜底 DNS 服务器 (用于已被投毒污染的域名)" msgid "Firewall" msgstr "防火墙" -#: htdocs/luci-static/resources/fchomo/listeners.js:532 -#: htdocs/luci-static/resources/view/fchomo/node.js:687 +#: htdocs/luci-static/resources/fchomo/listeners.js:535 +#: htdocs/luci-static/resources/view/fchomo/node.js:698 msgid "Flow" msgstr "流控" -#: htdocs/luci-static/resources/view/fchomo/client.js:1223 +#: htdocs/luci-static/resources/view/fchomo/client.js:1227 msgid "" "For details, see %s." @@ -1169,9 +1184,9 @@ msgstr "" "实现细节请参阅 %s." -#: htdocs/luci-static/resources/view/fchomo/client.js:1183 -#: htdocs/luci-static/resources/view/fchomo/node.js:1877 -#: htdocs/luci-static/resources/view/fchomo/node.js:2003 +#: htdocs/luci-static/resources/view/fchomo/client.js:1187 +#: htdocs/luci-static/resources/view/fchomo/node.js:1888 +#: htdocs/luci-static/resources/view/fchomo/node.js:2014 msgid "" "For format see %s." @@ -1179,8 +1194,8 @@ msgstr "" "格式请参阅 %s." -#: htdocs/luci-static/resources/view/fchomo/node.js:787 -#: htdocs/luci-static/resources/view/fchomo/node.js:870 +#: htdocs/luci-static/resources/view/fchomo/node.js:798 +#: htdocs/luci-static/resources/view/fchomo/node.js:881 msgid "Force DNS remote resolution." msgstr "强制 DNS 远程解析。" @@ -1199,7 +1214,7 @@ msgstr "格式" msgid "FullCombo Shark!" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1323 +#: htdocs/luci-static/resources/view/fchomo/node.js:1334 msgid "GET" msgstr "" @@ -1208,7 +1223,7 @@ msgid "GFW list version" msgstr "GFW 域名列表版本" #: htdocs/luci-static/resources/fchomo/listeners.js:196 -#: htdocs/luci-static/resources/view/fchomo/node.js:334 +#: htdocs/luci-static/resources/view/fchomo/node.js:345 msgid "Gecko" msgstr "" @@ -1217,9 +1232,9 @@ msgid "General" msgstr "常规" #: htdocs/luci-static/resources/fchomo/listeners.js:119 -#: htdocs/luci-static/resources/view/fchomo/client.js:1038 +#: htdocs/luci-static/resources/view/fchomo/client.js:1042 #: htdocs/luci-static/resources/view/fchomo/node.js:233 -#: htdocs/luci-static/resources/view/fchomo/node.js:1687 +#: htdocs/luci-static/resources/view/fchomo/node.js:1698 msgid "General fields" msgstr "常规字段" @@ -1234,10 +1249,10 @@ msgstr "常规设置" #: htdocs/luci-static/resources/fchomo/listeners.js:341 #: htdocs/luci-static/resources/fchomo/listeners.js:385 #: htdocs/luci-static/resources/fchomo/listeners.js:387 -#: htdocs/luci-static/resources/fchomo/listeners.js:845 -#: htdocs/luci-static/resources/fchomo/listeners.js:1078 +#: htdocs/luci-static/resources/fchomo/listeners.js:855 +#: htdocs/luci-static/resources/fchomo/listeners.js:1088 #: htdocs/luci-static/resources/view/fchomo/global.js:608 -#: htdocs/luci-static/resources/view/fchomo/node.js:1845 +#: htdocs/luci-static/resources/view/fchomo/node.js:1856 msgid "Generate" msgstr "生成" @@ -1253,17 +1268,17 @@ msgstr "GeoIP 版本" msgid "GeoSite version" msgstr "GeoSite 版本" -#: htdocs/luci-static/resources/view/fchomo/client.js:1891 +#: htdocs/luci-static/resources/view/fchomo/client.js:1895 msgid "Geoip code" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1888 +#: htdocs/luci-static/resources/view/fchomo/client.js:1892 msgid "Geoip enable" msgstr "Geoip 启用" -#: htdocs/luci-static/resources/view/fchomo/client.js:861 -#: htdocs/luci-static/resources/view/fchomo/client.js:870 -#: htdocs/luci-static/resources/view/fchomo/client.js:1900 +#: htdocs/luci-static/resources/view/fchomo/client.js:865 +#: htdocs/luci-static/resources/view/fchomo/client.js:874 +#: htdocs/luci-static/resources/view/fchomo/client.js:1904 msgid "Geosite" msgstr "" @@ -1284,7 +1299,7 @@ msgstr "全局" msgid "Global Authentication" msgstr "全局认证" -#: htdocs/luci-static/resources/view/fchomo/node.js:711 +#: htdocs/luci-static/resources/view/fchomo/node.js:722 msgid "Global padding" msgstr "全局填充" @@ -1300,58 +1315,58 @@ msgstr "谷歌 FCM" msgid "Grant access to fchomo configuration" msgstr "授予 fchomo 访问 UCI 配置的权限" -#: htdocs/luci-static/resources/view/fchomo/client.js:1063 +#: htdocs/luci-static/resources/view/fchomo/client.js:1067 msgid "Group" msgstr "组" #: htdocs/luci-static/resources/fchomo.js:154 #: htdocs/luci-static/resources/fchomo.js:190 -#: htdocs/luci-static/resources/fchomo/listeners.js:578 -#: htdocs/luci-static/resources/view/fchomo/node.js:905 -#: htdocs/luci-static/resources/view/fchomo/node.js:1272 +#: htdocs/luci-static/resources/fchomo/listeners.js:582 +#: htdocs/luci-static/resources/view/fchomo/node.js:916 #: htdocs/luci-static/resources/view/fchomo/node.js:1283 -#: htdocs/luci-static/resources/view/fchomo/node.js:1290 +#: htdocs/luci-static/resources/view/fchomo/node.js:1294 +#: htdocs/luci-static/resources/view/fchomo/node.js:1301 msgid "HTTP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:301 -#: htdocs/luci-static/resources/view/fchomo/node.js:1345 -#: htdocs/luci-static/resources/view/fchomo/node.js:1857 +#: htdocs/luci-static/resources/view/fchomo/node.js:312 +#: htdocs/luci-static/resources/view/fchomo/node.js:1356 +#: htdocs/luci-static/resources/view/fchomo/node.js:1868 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:419 msgid "HTTP header" msgstr "HTTP header" #: htdocs/luci-static/resources/fchomo/listeners.js:430 -#: htdocs/luci-static/resources/view/fchomo/node.js:494 +#: htdocs/luci-static/resources/view/fchomo/node.js:505 msgid "HTTP mask" msgstr "HTTP 伪装" #: htdocs/luci-static/resources/fchomo/listeners.js:435 -#: htdocs/luci-static/resources/view/fchomo/node.js:499 -#: htdocs/luci-static/resources/view/fchomo/node.js:534 -#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:510 +#: htdocs/luci-static/resources/view/fchomo/node.js:545 +#: htdocs/luci-static/resources/view/fchomo/node.js:547 msgid "HTTP mask mode" msgstr "HTTP 伪装模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:524 +#: htdocs/luci-static/resources/view/fchomo/node.js:535 msgid "HTTP mask multiplex" msgstr "HTTP 伪装多路复用" -#: htdocs/luci-static/resources/view/fchomo/node.js:509 -#: htdocs/luci-static/resources/view/fchomo/node.js:514 +#: htdocs/luci-static/resources/view/fchomo/node.js:520 +#: htdocs/luci-static/resources/view/fchomo/node.js:525 msgid "HTTP mask: %s" msgstr "HTTP 伪装: %s" -#: htdocs/luci-static/resources/view/fchomo/node.js:1322 +#: htdocs/luci-static/resources/view/fchomo/node.js:1333 msgid "HTTP request method" msgstr "HTTP 请求方法" #: htdocs/luci-static/resources/fchomo/listeners.js:445 -#: htdocs/luci-static/resources/view/fchomo/node.js:520 +#: htdocs/luci-static/resources/view/fchomo/node.js:531 msgid "HTTP root path" msgstr "HTTP 根路径" -#: htdocs/luci-static/resources/view/fchomo/client.js:1647 +#: htdocs/luci-static/resources/view/fchomo/client.js:1651 msgid "HTTP/3" msgstr "" @@ -1361,9 +1376,9 @@ msgid "" "returned if empty." msgstr "身份验证失败时的 HTTP3 服务器响应。默认返回 404 页面。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1273 #: htdocs/luci-static/resources/view/fchomo/node.js:1284 -#: htdocs/luci-static/resources/view/fchomo/node.js:1291 +#: htdocs/luci-static/resources/view/fchomo/node.js:1295 +#: htdocs/luci-static/resources/view/fchomo/node.js:1302 msgid "HTTPUpgrade" msgstr "" @@ -1371,16 +1386,16 @@ msgstr "" msgid "Handle domain" msgstr "处理域名" -#: htdocs/luci-static/resources/view/fchomo/node.js:416 +#: htdocs/luci-static/resources/view/fchomo/node.js:427 msgid "Handshake mode" msgstr "握手模式" -#: htdocs/luci-static/resources/fchomo/listeners.js:590 +#: htdocs/luci-static/resources/fchomo/listeners.js:594 msgid "Handshake target that supports TLS 1.3" msgstr "握手目标 (支援 TLS 1.3)" #: htdocs/luci-static/resources/fchomo/listeners.js:417 -#: htdocs/luci-static/resources/view/fchomo/node.js:962 +#: htdocs/luci-static/resources/view/fchomo/node.js:973 msgid "Handshake timeout" msgstr "握手超时" @@ -1388,57 +1403,57 @@ msgstr "握手超时" msgid "Header to read real client IP from (e.g. X-Forwarded-For)" msgstr "用于读取客户端真实 IP 的 Header(例如 X-Forwarded-For)" -#: htdocs/luci-static/resources/view/fchomo/node.js:798 +#: htdocs/luci-static/resources/view/fchomo/node.js:809 msgid "Health check" msgstr "健康检查" -#: htdocs/luci-static/resources/view/fchomo/client.js:1152 -#: htdocs/luci-static/resources/view/fchomo/node.js:1971 +#: htdocs/luci-static/resources/view/fchomo/client.js:1156 +#: htdocs/luci-static/resources/view/fchomo/node.js:1982 msgid "Health check URL" msgstr "健康检查 URL" -#: htdocs/luci-static/resources/view/fchomo/client.js:1181 -#: htdocs/luci-static/resources/view/fchomo/node.js:2001 +#: htdocs/luci-static/resources/view/fchomo/client.js:1185 +#: htdocs/luci-static/resources/view/fchomo/node.js:2012 msgid "Health check expected status" msgstr "健康检查预期状态" -#: htdocs/luci-static/resources/view/fchomo/client.js:1161 -#: htdocs/luci-static/resources/view/fchomo/node.js:1981 +#: htdocs/luci-static/resources/view/fchomo/client.js:1165 +#: htdocs/luci-static/resources/view/fchomo/node.js:1992 msgid "Health check interval" msgstr "健康检查间隔" -#: htdocs/luci-static/resources/view/fchomo/client.js:1168 -#: htdocs/luci-static/resources/view/fchomo/node.js:1988 +#: htdocs/luci-static/resources/view/fchomo/client.js:1172 +#: htdocs/luci-static/resources/view/fchomo/node.js:1999 msgid "Health check timeout" msgstr "健康检查超时" -#: htdocs/luci-static/resources/view/fchomo/client.js:1040 -#: htdocs/luci-static/resources/view/fchomo/node.js:1689 +#: htdocs/luci-static/resources/view/fchomo/client.js:1044 +#: htdocs/luci-static/resources/view/fchomo/node.js:1700 msgid "Health fields" msgstr "健康字段" -#: htdocs/luci-static/resources/view/fchomo/node.js:616 +#: htdocs/luci-static/resources/view/fchomo/node.js:627 msgid "Heartbeat interval" msgstr "心跳间隔" -#: htdocs/luci-static/resources/view/fchomo/client.js:1249 +#: htdocs/luci-static/resources/view/fchomo/client.js:1253 msgid "Hidden" msgstr "隐藏" -#: htdocs/luci-static/resources/fchomo/listeners.js:583 -#: htdocs/luci-static/resources/view/fchomo/node.js:910 +#: htdocs/luci-static/resources/fchomo/listeners.js:587 +#: htdocs/luci-static/resources/view/fchomo/node.js:921 msgid "Host that supports TLS 1.3" msgstr "主机名称 (支援 TLS 1.3)" -#: htdocs/luci-static/resources/view/fchomo/node.js:371 +#: htdocs/luci-static/resources/view/fchomo/node.js:382 msgid "Host-key" msgstr "主机密钥" -#: htdocs/luci-static/resources/view/fchomo/node.js:366 +#: htdocs/luci-static/resources/view/fchomo/node.js:377 msgid "Host-key algorithms" msgstr "主机密钥算法" -#: htdocs/luci-static/resources/view/fchomo/node.js:514 +#: htdocs/luci-static/resources/view/fchomo/node.js:525 msgid "Host/SNI override" msgstr "主机/SNI 覆盖" @@ -1461,21 +1476,21 @@ msgstr "Hysteria2 Realm" msgid "Hysteria2 Realm fields" msgstr "Hysteria2 Realm 字段" -#: htdocs/luci-static/resources/view/fchomo/client.js:1893 -#: htdocs/luci-static/resources/view/fchomo/client.js:1906 +#: htdocs/luci-static/resources/view/fchomo/client.js:1897 +#: htdocs/luci-static/resources/view/fchomo/client.js:1911 msgid "IP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1904 +#: htdocs/luci-static/resources/view/fchomo/client.js:1909 msgid "IP CIDR" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:573 +#: htdocs/luci-static/resources/view/fchomo/node.js:584 msgid "IP override" msgstr "IP 覆写" -#: htdocs/luci-static/resources/view/fchomo/node.js:1565 -#: htdocs/luci-static/resources/view/fchomo/node.js:1957 +#: htdocs/luci-static/resources/view/fchomo/node.js:1576 +#: htdocs/luci-static/resources/view/fchomo/node.js:1968 msgid "IP version" msgstr "IP 版本" @@ -1487,28 +1502,28 @@ msgstr "仅 IPv4" msgid "IPv6 only" msgstr "仅 IPv6" -#: htdocs/luci-static/resources/view/fchomo/client.js:1463 +#: htdocs/luci-static/resources/view/fchomo/client.js:1467 #: htdocs/luci-static/resources/view/fchomo/global.js:436 msgid "IPv6 support" msgstr "IPv6 支持" -#: htdocs/luci-static/resources/view/fchomo/client.js:1255 +#: htdocs/luci-static/resources/view/fchomo/client.js:1259 msgid "Icon" msgstr "图标" -#: htdocs/luci-static/resources/view/fchomo/node.js:660 +#: htdocs/luci-static/resources/view/fchomo/node.js:671 msgid "Idle session check interval" msgstr "闲置会话检查间隔" -#: htdocs/luci-static/resources/view/fchomo/node.js:667 +#: htdocs/luci-static/resources/view/fchomo/node.js:678 msgid "Idle session timeout" msgstr "闲置会话超时" -#: htdocs/luci-static/resources/fchomo/listeners.js:483 +#: htdocs/luci-static/resources/fchomo/listeners.js:486 msgid "Idle timeout" msgstr "闲置超时" -#: htdocs/luci-static/resources/fchomo.js:1814 +#: htdocs/luci-static/resources/fchomo.js:1802 msgid "If All ports is selected, uncheck others" msgstr "如果选择了“所有端口”,则取消选中“其他”" @@ -1524,20 +1539,20 @@ msgstr "忽略客户端带宽" msgid "Import" msgstr "导入" -#: htdocs/luci-static/resources/view/fchomo/client.js:975 -#: htdocs/luci-static/resources/view/fchomo/client.js:1032 -#: htdocs/luci-static/resources/view/fchomo/client.js:1278 -#: htdocs/luci-static/resources/view/fchomo/client.js:1329 -#: htdocs/luci-static/resources/view/fchomo/client.js:1400 -#: htdocs/luci-static/resources/view/fchomo/client.js:1424 -#: htdocs/luci-static/resources/view/fchomo/client.js:1528 -#: htdocs/luci-static/resources/view/fchomo/client.js:1566 -#: htdocs/luci-static/resources/view/fchomo/client.js:1783 -#: htdocs/luci-static/resources/view/fchomo/client.js:1800 -#: htdocs/luci-static/resources/view/fchomo/client.js:1835 -#: htdocs/luci-static/resources/view/fchomo/client.js:1856 -#: htdocs/luci-static/resources/view/fchomo/node.js:1591 -#: htdocs/luci-static/resources/view/fchomo/node.js:1675 +#: htdocs/luci-static/resources/view/fchomo/client.js:979 +#: htdocs/luci-static/resources/view/fchomo/client.js:1036 +#: htdocs/luci-static/resources/view/fchomo/client.js:1282 +#: htdocs/luci-static/resources/view/fchomo/client.js:1333 +#: htdocs/luci-static/resources/view/fchomo/client.js:1404 +#: htdocs/luci-static/resources/view/fchomo/client.js:1428 +#: htdocs/luci-static/resources/view/fchomo/client.js:1532 +#: htdocs/luci-static/resources/view/fchomo/client.js:1570 +#: htdocs/luci-static/resources/view/fchomo/client.js:1787 +#: htdocs/luci-static/resources/view/fchomo/client.js:1804 +#: htdocs/luci-static/resources/view/fchomo/client.js:1839 +#: htdocs/luci-static/resources/view/fchomo/client.js:1860 +#: htdocs/luci-static/resources/view/fchomo/node.js:1602 +#: htdocs/luci-static/resources/view/fchomo/node.js:1686 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:154 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:249 msgid "Import mihomo config" @@ -1551,61 +1566,61 @@ msgstr "导入规则集链接" #: htdocs/luci-static/resources/fchomo/listeners.js:176 #: htdocs/luci-static/resources/fchomo/listeners.js:182 -#: htdocs/luci-static/resources/view/fchomo/node.js:320 -#: htdocs/luci-static/resources/view/fchomo/node.js:326 -#: htdocs/luci-static/resources/view/fchomo/node.js:1915 -#: htdocs/luci-static/resources/view/fchomo/node.js:1921 +#: htdocs/luci-static/resources/view/fchomo/node.js:331 +#: htdocs/luci-static/resources/view/fchomo/node.js:337 +#: htdocs/luci-static/resources/view/fchomo/node.js:1926 +#: htdocs/luci-static/resources/view/fchomo/node.js:1932 msgid "In Mbps." msgstr "单位为 Mbps。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1765 +#: htdocs/luci-static/resources/view/fchomo/node.js:1776 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:392 msgid "In bytes. %s will be used if empty." msgstr "单位为字节。留空则使用 %s。" -#: htdocs/luci-static/resources/view/fchomo/node.js:617 -#: htdocs/luci-static/resources/view/fchomo/node.js:624 +#: htdocs/luci-static/resources/view/fchomo/node.js:628 +#: htdocs/luci-static/resources/view/fchomo/node.js:635 msgid "In millisecond." msgstr "单位为毫秒。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1169 -#: htdocs/luci-static/resources/view/fchomo/client.js:1215 -#: htdocs/luci-static/resources/view/fchomo/node.js:1989 +#: htdocs/luci-static/resources/view/fchomo/client.js:1173 +#: htdocs/luci-static/resources/view/fchomo/client.js:1219 +#: htdocs/luci-static/resources/view/fchomo/node.js:2000 msgid "In millisecond. %s will be used if empty." msgstr "单位为毫秒。留空则使用 %s。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1414 +#: htdocs/luci-static/resources/view/fchomo/node.js:1425 msgid "In milliseconds." msgstr "单位为毫秒。" #: htdocs/luci-static/resources/fchomo/listeners.js:418 -#: htdocs/luci-static/resources/fchomo/listeners.js:484 -#: htdocs/luci-static/resources/fchomo/listeners.js:491 -#: htdocs/luci-static/resources/view/fchomo/node.js:661 -#: htdocs/luci-static/resources/view/fchomo/node.js:668 -#: htdocs/luci-static/resources/view/fchomo/node.js:1361 +#: htdocs/luci-static/resources/fchomo/listeners.js:487 +#: htdocs/luci-static/resources/fchomo/listeners.js:494 +#: htdocs/luci-static/resources/view/fchomo/node.js:672 +#: htdocs/luci-static/resources/view/fchomo/node.js:679 +#: htdocs/luci-static/resources/view/fchomo/node.js:1372 msgid "In seconds." msgstr "单位为秒。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1162 +#: htdocs/luci-static/resources/view/fchomo/client.js:1166 #: htdocs/luci-static/resources/view/fchomo/global.js:446 #: htdocs/luci-static/resources/view/fchomo/global.js:451 #: htdocs/luci-static/resources/view/fchomo/global.js:536 -#: htdocs/luci-static/resources/view/fchomo/node.js:314 -#: htdocs/luci-static/resources/view/fchomo/node.js:1771 -#: htdocs/luci-static/resources/view/fchomo/node.js:1982 +#: htdocs/luci-static/resources/view/fchomo/node.js:325 +#: htdocs/luci-static/resources/view/fchomo/node.js:1782 +#: htdocs/luci-static/resources/view/fchomo/node.js:1993 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:398 msgid "In seconds. %s will be used if empty." msgstr "单位为秒。留空则使用 %s。" -#: htdocs/luci-static/resources/view/fchomo/node.js:963 +#: htdocs/luci-static/resources/view/fchomo/node.js:974 msgid "" "In seconds. After configuration, the handshake is not affected by the outer " "connection timeout." msgstr "单位为秒。配置后握手时不受外层连接超时影响。" -#: htdocs/luci-static/resources/fchomo/listeners.js:761 -#: htdocs/luci-static/resources/view/fchomo/node.js:1037 +#: htdocs/luci-static/resources/fchomo/listeners.js:771 +#: htdocs/luci-static/resources/view/fchomo/node.js:1048 msgid "" "In the order of one Padding-Length and one Padding-" "Interval, infinite concatenation." @@ -1619,27 +1634,27 @@ msgstr "" msgid "Inbound" msgstr "入站" -#: htdocs/luci-static/resources/view/fchomo/client.js:1116 +#: htdocs/luci-static/resources/view/fchomo/client.js:1120 msgid "Include all" msgstr "引入所有" -#: htdocs/luci-static/resources/view/fchomo/client.js:1121 +#: htdocs/luci-static/resources/view/fchomo/client.js:1125 msgid "Include all node" msgstr "引入所有节点" -#: htdocs/luci-static/resources/view/fchomo/client.js:1126 +#: htdocs/luci-static/resources/view/fchomo/client.js:1130 msgid "Include all provider" msgstr "引入所有供应商" -#: htdocs/luci-static/resources/view/fchomo/client.js:1127 +#: htdocs/luci-static/resources/view/fchomo/client.js:1131 msgid "Includes all Provider." msgstr "引入所有供应商。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1117 +#: htdocs/luci-static/resources/view/fchomo/client.js:1121 msgid "Includes all Proxy Node and Provider." msgstr "引入所有代理节点及供应商。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1122 +#: htdocs/luci-static/resources/view/fchomo/client.js:1126 msgid "Includes all Proxy Node." msgstr "引入所有代理节点。" @@ -1647,7 +1662,7 @@ msgstr "引入所有代理节点。" msgid "Info" msgstr "信息" -#: htdocs/luci-static/resources/view/fchomo/node.js:1704 +#: htdocs/luci-static/resources/view/fchomo/node.js:1715 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:288 msgid "Inline" msgstr "内嵌" @@ -1660,61 +1675,61 @@ msgstr "接口控制" #: htdocs/luci-static/resources/fchomo.js:60 #: htdocs/luci-static/resources/fchomo.js:173 #: htdocs/luci-static/resources/fchomo.js:377 -#: htdocs/luci-static/resources/view/fchomo/node.js:1931 +#: htdocs/luci-static/resources/view/fchomo/node.js:1942 msgid "Keep default" msgstr "保持缺省" -#: htdocs/luci-static/resources/view/fchomo/node.js:1450 +#: htdocs/luci-static/resources/view/fchomo/node.js:1461 msgid "Keep-alive period" msgstr "Keep-alive 周期" #: htdocs/luci-static/resources/fchomo/listeners.js:296 -#: htdocs/luci-static/resources/view/fchomo/node.js:430 +#: htdocs/luci-static/resources/view/fchomo/node.js:441 msgid "Key" msgstr "密钥" -#: htdocs/luci-static/resources/fchomo/listeners.js:1005 -#: htdocs/luci-static/resources/view/fchomo/node.js:1202 +#: htdocs/luci-static/resources/fchomo/listeners.js:1015 +#: htdocs/luci-static/resources/view/fchomo/node.js:1213 msgid "Key path" msgstr "证书路径" -#: htdocs/luci-static/resources/fchomo/listeners.js:780 +#: htdocs/luci-static/resources/fchomo/listeners.js:790 msgid "Keypairs" msgstr "密钥对" #: htdocs/luci-static/resources/fchomo/listeners.js:128 -#: htdocs/luci-static/resources/view/fchomo/client.js:1043 -#: htdocs/luci-static/resources/view/fchomo/client.js:1335 -#: htdocs/luci-static/resources/view/fchomo/client.js:1430 -#: htdocs/luci-static/resources/view/fchomo/client.js:1572 -#: htdocs/luci-static/resources/view/fchomo/client.js:1806 -#: htdocs/luci-static/resources/view/fchomo/client.js:1862 +#: htdocs/luci-static/resources/view/fchomo/client.js:1047 +#: htdocs/luci-static/resources/view/fchomo/client.js:1339 +#: htdocs/luci-static/resources/view/fchomo/client.js:1434 +#: htdocs/luci-static/resources/view/fchomo/client.js:1576 +#: htdocs/luci-static/resources/view/fchomo/client.js:1810 +#: htdocs/luci-static/resources/view/fchomo/client.js:1866 #: htdocs/luci-static/resources/view/fchomo/node.js:241 -#: htdocs/luci-static/resources/view/fchomo/node.js:1692 -#: htdocs/luci-static/resources/view/fchomo/node.js:2050 +#: htdocs/luci-static/resources/view/fchomo/node.js:1703 +#: htdocs/luci-static/resources/view/fchomo/node.js:2061 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:267 msgid "Label" msgstr "标签" -#: htdocs/luci-static/resources/view/fchomo/client.js:1175 -#: htdocs/luci-static/resources/view/fchomo/node.js:1995 +#: htdocs/luci-static/resources/view/fchomo/client.js:1179 +#: htdocs/luci-static/resources/view/fchomo/node.js:2006 msgid "Lazy" msgstr "怠惰状态" -#: htdocs/luci-static/resources/view/fchomo/client.js:1913 +#: htdocs/luci-static/resources/view/fchomo/client.js:1918 msgid "Lazy query" msgstr "怠惰查询" -#: htdocs/luci-static/resources/view/fchomo/client.js:1914 +#: htdocs/luci-static/resources/view/fchomo/client.js:1919 msgid "Lazy query." msgstr "怠惰查询。" #: htdocs/luci-static/resources/fchomo/listeners.js:437 -#: htdocs/luci-static/resources/view/fchomo/node.js:501 +#: htdocs/luci-static/resources/view/fchomo/node.js:512 msgid "Legacy" msgstr "传统" -#: htdocs/luci-static/resources/fchomo/listeners.js:541 +#: htdocs/luci-static/resources/fchomo/listeners.js:544 msgid "" "Legacy protocol support (VMess MD5 Authentication) is provided for " "compatibility purposes only, use of alterId > 1 is not recommended." @@ -1726,8 +1741,8 @@ msgstr "" msgid "Less compatibility and sometimes better performance." msgstr "有时性能更好。" -#: htdocs/luci-static/resources/fchomo/listeners.js:986 -#: htdocs/luci-static/resources/view/fchomo/node.js:1123 +#: htdocs/luci-static/resources/fchomo/listeners.js:996 +#: htdocs/luci-static/resources/view/fchomo/node.js:1134 msgid "List of supported application level protocols, in order of preference." msgstr "支持的应用层协议协商列表,按顺序排列。" @@ -1744,7 +1759,7 @@ msgid "Listen interfaces" msgstr "监听接口" #: htdocs/luci-static/resources/fchomo/listeners.js:153 -#: htdocs/luci-static/resources/view/fchomo/client.js:1455 +#: htdocs/luci-static/resources/view/fchomo/client.js:1459 msgid "Listen port" msgstr "监听端口" @@ -1752,7 +1767,7 @@ msgstr "监听端口" msgid "Listen ports" msgstr "监听端口" -#: htdocs/luci-static/resources/view/fchomo/client.js:1460 +#: htdocs/luci-static/resources/view/fchomo/client.js:1464 msgid "Listen routing mark (Fwmark)" msgstr "监听路由标记 (Fwmark)" @@ -1760,18 +1775,18 @@ msgstr "监听路由标记 (Fwmark)" msgid "Load balance" msgstr "负载均衡" -#: htdocs/luci-static/resources/view/fchomo/node.js:1702 +#: htdocs/luci-static/resources/view/fchomo/node.js:1713 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:286 msgid "Local" msgstr "本地" -#: htdocs/luci-static/resources/view/fchomo/node.js:754 -#: htdocs/luci-static/resources/view/fchomo/node.js:817 +#: htdocs/luci-static/resources/view/fchomo/node.js:765 +#: htdocs/luci-static/resources/view/fchomo/node.js:828 msgid "Local IPv6 address" msgstr "本地 IPv6 地址" -#: htdocs/luci-static/resources/view/fchomo/node.js:746 -#: htdocs/luci-static/resources/view/fchomo/node.js:809 +#: htdocs/luci-static/resources/view/fchomo/node.js:757 +#: htdocs/luci-static/resources/view/fchomo/node.js:820 msgid "Local address" msgstr "本地地址" @@ -1795,10 +1810,10 @@ msgstr "日志等级" #: htdocs/luci-static/resources/fchomo/listeners.js:373 #: htdocs/luci-static/resources/fchomo/listeners.js:374 #: htdocs/luci-static/resources/fchomo/listeners.js:379 -#: htdocs/luci-static/resources/view/fchomo/node.js:454 -#: htdocs/luci-static/resources/view/fchomo/node.js:455 -#: htdocs/luci-static/resources/view/fchomo/node.js:456 -#: htdocs/luci-static/resources/view/fchomo/node.js:461 +#: htdocs/luci-static/resources/view/fchomo/node.js:465 +#: htdocs/luci-static/resources/view/fchomo/node.js:466 +#: htdocs/luci-static/resources/view/fchomo/node.js:467 +#: htdocs/luci-static/resources/view/fchomo/node.js:472 msgid "Low-entropy data stream" msgstr "低熵数据流" @@ -1807,8 +1822,8 @@ msgid "Lowercase only" msgstr "仅限小写" #: htdocs/luci-static/resources/view/fchomo/global.js:523 -#: htdocs/luci-static/resources/view/fchomo/node.js:760 -#: htdocs/luci-static/resources/view/fchomo/node.js:863 +#: htdocs/luci-static/resources/view/fchomo/node.js:771 +#: htdocs/luci-static/resources/view/fchomo/node.js:874 msgid "MTU" msgstr "" @@ -1820,70 +1835,70 @@ msgstr "" msgid "Masquerade" msgstr "伪装" -#: htdocs/luci-static/resources/view/fchomo/client.js:866 +#: htdocs/luci-static/resources/view/fchomo/client.js:870 msgid "Match domain. Support wildcards." msgstr "匹配域名。支持通配符。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1910 +#: htdocs/luci-static/resources/view/fchomo/client.js:1915 msgid "Match domain. Support wildcards.
" msgstr "匹配域名。支持通配符。
" -#: htdocs/luci-static/resources/view/fchomo/client.js:871 +#: htdocs/luci-static/resources/view/fchomo/client.js:875 msgid "Match geosite." msgstr "匹配 geosite。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1901 +#: htdocs/luci-static/resources/view/fchomo/client.js:1905 msgid "Match geosite.
" msgstr "匹配 geosite。
" -#: htdocs/luci-static/resources/view/fchomo/client.js:1892 +#: htdocs/luci-static/resources/view/fchomo/client.js:1896 msgid "Match response with geoip.
" msgstr "匹配响应通过 geoip。
" -#: htdocs/luci-static/resources/view/fchomo/client.js:1905 +#: htdocs/luci-static/resources/view/fchomo/client.js:1910 msgid "Match response with ipcidr.
" msgstr "匹配响应通过 ipcidr
" -#: htdocs/luci-static/resources/view/fchomo/client.js:876 +#: htdocs/luci-static/resources/view/fchomo/client.js:880 msgid "Match rule set." msgstr "匹配规则集。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1367 +#: htdocs/luci-static/resources/view/fchomo/node.js:1378 msgid "Max Early Data" msgstr "前置数据最大值" -#: htdocs/luci-static/resources/fchomo/listeners.js:477 -#: htdocs/luci-static/resources/view/fchomo/node.js:598 +#: htdocs/luci-static/resources/fchomo/listeners.js:480 +#: htdocs/luci-static/resources/view/fchomo/node.js:609 msgid "Max UDP relay packet size" msgstr "UDP 中继数据包最大尺寸" -#: htdocs/luci-static/resources/fchomo/listeners.js:1204 +#: htdocs/luci-static/resources/fchomo/listeners.js:1214 msgid "Max buffered posts" msgstr "POST 最大缓冲" -#: htdocs/luci-static/resources/view/fchomo/node.js:1425 +#: htdocs/luci-static/resources/view/fchomo/node.js:1436 msgid "Max concurrency" msgstr "最大并发" -#: htdocs/luci-static/resources/view/fchomo/node.js:1430 +#: htdocs/luci-static/resources/view/fchomo/node.js:1441 msgid "Max connections" msgstr "最大连接数" -#: htdocs/luci-static/resources/view/fchomo/client.js:1189 +#: htdocs/luci-static/resources/view/fchomo/client.js:1193 msgid "Max count of failures" msgstr "最大失败次数" #: htdocs/luci-static/resources/fchomo/listeners.js:181 -#: htdocs/luci-static/resources/view/fchomo/node.js:325 +#: htdocs/luci-static/resources/view/fchomo/node.js:336 msgid "Max download speed" msgstr "最大下载速度" -#: htdocs/luci-static/resources/fchomo/listeners.js:1215 -#: htdocs/luci-static/resources/view/fchomo/node.js:1407 +#: htdocs/luci-static/resources/fchomo/listeners.js:1225 +#: htdocs/luci-static/resources/view/fchomo/node.js:1418 msgid "Max each POST bytes" msgstr "POST 最大字节数" -#: htdocs/luci-static/resources/view/fchomo/node.js:630 +#: htdocs/luci-static/resources/view/fchomo/node.js:641 msgid "Max open streams" msgstr "限制打开流的数量" @@ -1895,29 +1910,29 @@ msgstr "最大 Realms 总数" msgid "Max realms per client IP" msgstr "每客户端 IP 最大 Realms 总数" -#: htdocs/luci-static/resources/view/fchomo/node.js:1440 +#: htdocs/luci-static/resources/view/fchomo/node.js:1451 msgid "Max request times" msgstr "最大请求次数" -#: htdocs/luci-static/resources/view/fchomo/node.js:1445 +#: htdocs/luci-static/resources/view/fchomo/node.js:1456 msgid "Max reusable seconds" msgstr "最大可复用秒数" -#: htdocs/luci-static/resources/view/fchomo/node.js:1435 +#: htdocs/luci-static/resources/view/fchomo/node.js:1446 msgid "Max reuse times" msgstr "最大复用次数" #: htdocs/luci-static/resources/fchomo/listeners.js:175 -#: htdocs/luci-static/resources/view/fchomo/node.js:319 +#: htdocs/luci-static/resources/view/fchomo/node.js:330 msgid "Max upload speed" msgstr "最大上传速度" -#: htdocs/luci-static/resources/view/fchomo/node.js:1471 -#: htdocs/luci-static/resources/view/fchomo/node.js:1491 +#: htdocs/luci-static/resources/view/fchomo/node.js:1482 +#: htdocs/luci-static/resources/view/fchomo/node.js:1502 msgid "Maximum connections" msgstr "最大连接数" -#: htdocs/luci-static/resources/view/fchomo/node.js:1489 +#: htdocs/luci-static/resources/view/fchomo/node.js:1500 msgid "" "Maximum multiplexed streams in a connection before opening a new connection." "
Conflict with %s and %s." @@ -1926,18 +1941,18 @@ msgstr "" "%s 冲突。" #: htdocs/luci-static/resources/fchomo/listeners.js:402 -#: htdocs/luci-static/resources/view/fchomo/node.js:473 +#: htdocs/luci-static/resources/view/fchomo/node.js:484 msgid "Maximum padding rate" msgstr "最大填充率" #: htdocs/luci-static/resources/fchomo/listeners.js:410 -#: htdocs/luci-static/resources/view/fchomo/node.js:481 +#: htdocs/luci-static/resources/view/fchomo/node.js:492 msgid "" "Maximum padding rate must be greater than or equal to the minimum padding " "rate." msgstr "最大填充率必须大于等于最小填充率。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1488 +#: htdocs/luci-static/resources/view/fchomo/node.js:1499 msgid "Maximum streams" msgstr "最大流数量" @@ -1946,7 +1961,7 @@ msgstr "最大流数量" msgid "Mieru" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:930 +#: htdocs/luci-static/resources/view/fchomo/client.js:934 #: htdocs/luci-static/resources/view/fchomo/log.js:149 #: htdocs/luci-static/resources/view/fchomo/log.js:154 msgid "Mihomo client" @@ -1958,26 +1973,26 @@ msgstr "Mihomo 客户端" msgid "Mihomo server" msgstr "Mihomo 服务端" -#: htdocs/luci-static/resources/view/fchomo/node.js:674 +#: htdocs/luci-static/resources/view/fchomo/node.js:685 msgid "Min of idle sessions to keep" msgstr "要保留的最少闲置会话数" -#: htdocs/luci-static/resources/view/fchomo/node.js:1413 +#: htdocs/luci-static/resources/view/fchomo/node.js:1424 msgid "Min posts interval" msgstr "POST 请求最小间隔时间" -#: htdocs/luci-static/resources/view/fchomo/node.js:1480 +#: htdocs/luci-static/resources/view/fchomo/node.js:1491 msgid "" "Minimum multiplexed streams in a connection before opening a new connection." msgstr "在打开新连接之前,连接中的最小多路复用流数量。" #: htdocs/luci-static/resources/fchomo/listeners.js:395 -#: htdocs/luci-static/resources/view/fchomo/node.js:466 +#: htdocs/luci-static/resources/view/fchomo/node.js:477 msgid "Minimum padding rate" msgstr "最小填充率" -#: htdocs/luci-static/resources/view/fchomo/node.js:1479 -#: htdocs/luci-static/resources/view/fchomo/node.js:1491 +#: htdocs/luci-static/resources/view/fchomo/node.js:1490 +#: htdocs/luci-static/resources/view/fchomo/node.js:1502 msgid "Minimum streams" msgstr "最小流数量" @@ -1994,7 +2009,8 @@ msgstr "混合 系统 TCP 栈和 gVisor UDP 栈。" msgid "Mixed port" msgstr "混合端口" -#: htdocs/luci-static/resources/view/fchomo/node.js:1457 +#: htdocs/luci-static/resources/fchomo/listeners.js:1232 +#: htdocs/luci-static/resources/view/fchomo/node.js:1468 msgid "Multiplex" msgstr "多路复用" @@ -2003,20 +2019,20 @@ msgstr "多路复用" msgid "Multiplex fields" msgstr "多路复用字段" -#: htdocs/luci-static/resources/view/fchomo/node.js:407 +#: htdocs/luci-static/resources/view/fchomo/node.js:418 msgid "Multiplexing" msgstr "多路复用" -#: htdocs/luci-static/resources/view/fchomo/client.js:624 -#: htdocs/luci-static/resources/view/fchomo/client.js:702 +#: htdocs/luci-static/resources/view/fchomo/client.js:630 +#: htdocs/luci-static/resources/view/fchomo/client.js:706 msgid "NOT" msgstr "NOT" -#: htdocs/luci-static/resources/fchomo/listeners.js:629 +#: htdocs/luci-static/resources/fchomo/listeners.js:639 msgid "Name of the Proxy group as outbound." msgstr "出站代理组的名称。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1777 +#: htdocs/luci-static/resources/view/fchomo/node.js:1788 msgid "Name of the Proxy group to download provider." msgstr "用于下载供应商订阅的代理组名称。" @@ -2024,11 +2040,11 @@ msgstr "用于下载供应商订阅的代理组名称。" msgid "Name of the Proxy group to download rule set." msgstr "用于下载规则集订阅的代理组名称。" -#: htdocs/luci-static/resources/fchomo/listeners.js:618 +#: htdocs/luci-static/resources/fchomo/listeners.js:628 msgid "Name of the Sub rule used for inbound matching." msgstr "用于入站匹配的子规则名称。" -#: htdocs/luci-static/resources/view/fchomo/node.js:582 +#: htdocs/luci-static/resources/view/fchomo/node.js:593 msgid "Native UDP" msgstr "原生 UDP" @@ -2036,15 +2052,15 @@ msgstr "原生 UDP" msgid "Native appearance" msgstr "原生外观" -#: htdocs/luci-static/resources/view/fchomo/node.js:766 +#: htdocs/luci-static/resources/view/fchomo/node.js:777 msgid "Network" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:660 +#: htdocs/luci-static/resources/fchomo/listeners.js:670 msgid "Network type" msgstr "网络类型" -#: htdocs/luci-static/resources/view/fchomo/node.js:1933 +#: htdocs/luci-static/resources/view/fchomo/node.js:1944 msgid "No" msgstr "" @@ -2052,20 +2068,20 @@ msgstr "" msgid "No Authentication IP ranges" msgstr "无需认证的 IP 范围" -#: htdocs/luci-static/resources/fchomo/listeners.js:1199 +#: htdocs/luci-static/resources/fchomo/listeners.js:1209 msgid "No SSE header" msgstr "无 SSE header" -#: htdocs/luci-static/resources/view/fchomo/client.js:1592 +#: htdocs/luci-static/resources/view/fchomo/client.js:1596 msgid "No add'l params" msgstr "无附加参数" -#: htdocs/luci-static/resources/view/fchomo/node.js:1397 +#: htdocs/luci-static/resources/view/fchomo/node.js:1408 msgid "No gRPC header" msgstr "无 gRPC header" -#: htdocs/luci-static/resources/view/fchomo/client.js:1176 -#: htdocs/luci-static/resources/view/fchomo/node.js:1996 +#: htdocs/luci-static/resources/view/fchomo/client.js:1180 +#: htdocs/luci-static/resources/view/fchomo/node.js:2007 msgid "No testing is performed when this provider node is not in use." msgstr "当此供应商的节点未使用时,不执行任何测试。" @@ -2077,27 +2093,27 @@ msgstr "未找到有效的%s。" msgid "No valid rule-set link found." msgstr "未找到有效的规则集链接。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1076 +#: htdocs/luci-static/resources/view/fchomo/client.js:1080 #: htdocs/luci-static/resources/view/fchomo/node.js:228 msgid "Node" msgstr "节点" -#: htdocs/luci-static/resources/view/fchomo/client.js:1238 -#: htdocs/luci-static/resources/view/fchomo/node.js:2016 +#: htdocs/luci-static/resources/view/fchomo/client.js:1242 +#: htdocs/luci-static/resources/view/fchomo/node.js:2027 msgid "Node exclude filter" msgstr "排除节点" -#: htdocs/luci-static/resources/view/fchomo/client.js:1243 -#: htdocs/luci-static/resources/view/fchomo/node.js:2023 +#: htdocs/luci-static/resources/view/fchomo/client.js:1247 +#: htdocs/luci-static/resources/view/fchomo/node.js:2034 msgid "Node exclude type" msgstr "排除节点类型" -#: htdocs/luci-static/resources/view/fchomo/client.js:1233 -#: htdocs/luci-static/resources/view/fchomo/node.js:2010 +#: htdocs/luci-static/resources/view/fchomo/client.js:1237 +#: htdocs/luci-static/resources/view/fchomo/node.js:2021 msgid "Node filter" msgstr "过滤节点" -#: htdocs/luci-static/resources/view/fchomo/client.js:1214 +#: htdocs/luci-static/resources/view/fchomo/client.js:1218 msgid "Node switch tolerance" msgstr "节点切换容差" @@ -2109,49 +2125,49 @@ msgstr "无" msgid "Not Installed" msgstr "未安装" -#: htdocs/luci-static/resources/fchomo.js:1592 +#: htdocs/luci-static/resources/fchomo.js:1580 msgid "Not Running" msgstr "未在运行" -#: htdocs/luci-static/resources/view/fchomo/node.js:527 +#: htdocs/luci-static/resources/view/fchomo/node.js:538 msgid "OFF" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:529 +#: htdocs/luci-static/resources/view/fchomo/node.js:540 msgid "ON" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:577 -#: htdocs/luci-static/resources/view/fchomo/node.js:904 +#: htdocs/luci-static/resources/fchomo/listeners.js:581 +#: htdocs/luci-static/resources/view/fchomo/node.js:915 msgid "Obfs Mode" msgstr "Obfs 模式" #: htdocs/luci-static/resources/fchomo/listeners.js:213 -#: htdocs/luci-static/resources/view/fchomo/node.js:351 +#: htdocs/luci-static/resources/view/fchomo/node.js:362 msgid "Obfuscate maximum packet size" msgstr "混淆最大数据包大小" #: htdocs/luci-static/resources/fchomo/listeners.js:208 -#: htdocs/luci-static/resources/view/fchomo/node.js:346 +#: htdocs/luci-static/resources/view/fchomo/node.js:357 msgid "Obfuscate minimum packet size" msgstr "混淆最小数据包大小" #: htdocs/luci-static/resources/fchomo/listeners.js:200 -#: htdocs/luci-static/resources/view/fchomo/node.js:338 +#: htdocs/luci-static/resources/view/fchomo/node.js:349 msgid "Obfuscate password" msgstr "混淆密码" #: htdocs/luci-static/resources/fchomo/listeners.js:193 #: htdocs/luci-static/resources/fchomo/listeners.js:370 -#: htdocs/luci-static/resources/view/fchomo/node.js:331 -#: htdocs/luci-static/resources/view/fchomo/node.js:452 +#: htdocs/luci-static/resources/view/fchomo/node.js:342 +#: htdocs/luci-static/resources/view/fchomo/node.js:463 msgid "Obfuscate type" msgstr "混淆类型" #: htdocs/luci-static/resources/fchomo/listeners.js:371 #: htdocs/luci-static/resources/fchomo/listeners.js:372 -#: htdocs/luci-static/resources/view/fchomo/node.js:453 -#: htdocs/luci-static/resources/view/fchomo/node.js:454 +#: htdocs/luci-static/resources/view/fchomo/node.js:464 +#: htdocs/luci-static/resources/view/fchomo/node.js:465 msgid "Obfuscated as %s" msgstr "混淆为%s" @@ -2159,12 +2175,12 @@ msgstr "混淆为%s" msgid "One or more numbers in the range 0-63 separated by commas" msgstr "0-63 范围内的一个或多个数字,以逗号分隔" -#: htdocs/luci-static/resources/fchomo/listeners.js:980 +#: htdocs/luci-static/resources/fchomo/listeners.js:990 msgid "Only applicable when %s are used as a frontend." msgstr "仅当 %s 用作前端时适用。" #: htdocs/luci-static/resources/fchomo/listeners.js:379 -#: htdocs/luci-static/resources/view/fchomo/node.js:461 +#: htdocs/luci-static/resources/view/fchomo/node.js:472 msgid "Only applies to the %s." msgstr "只对%s生效。" @@ -2172,7 +2188,7 @@ msgstr "只对%s生效。" msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "只处理来自指定接口的流量。留空表示全部。" -#: htdocs/luci-static/resources/fchomo.js:1586 +#: htdocs/luci-static/resources/fchomo.js:1574 msgid "Open Dashboard" msgstr "打开面板" @@ -2180,6 +2196,10 @@ msgstr "打开面板" msgid "Operation mode" msgstr "运行模式" +#: htdocs/luci-static/resources/view/fchomo/client.js:1907 +msgid "Option is deprecated. Please use %s instead." +msgstr "该选项已弃用,请使用%s作为代替。" + #: root/usr/share/luci/menu.d/luci-app-fchomo.json:46 msgid "Outbound" msgstr "出站" @@ -2189,16 +2209,16 @@ msgstr "出站" msgid "Override destination" msgstr "覆盖目标地址" -#: htdocs/luci-static/resources/view/fchomo/client.js:1039 -#: htdocs/luci-static/resources/view/fchomo/node.js:1688 +#: htdocs/luci-static/resources/view/fchomo/client.js:1043 +#: htdocs/luci-static/resources/view/fchomo/node.js:1699 msgid "Override fields" msgstr "覆盖字段" -#: htdocs/luci-static/resources/view/fchomo/node.js:574 +#: htdocs/luci-static/resources/view/fchomo/node.js:585 msgid "Override the IP address of the server that DNS response." msgstr "覆盖 DNS 回应的服务器的 IP 地址。" -#: htdocs/luci-static/resources/view/fchomo/client.js:904 +#: htdocs/luci-static/resources/view/fchomo/client.js:908 msgid "Override the Proxy group of DNS server." msgstr "覆盖 DNS 服务器所使用的代理组。" @@ -2206,11 +2226,11 @@ msgstr "覆盖 DNS 服务器所使用的代理组。" msgid "Override the connection destination address with the sniffed domain." msgstr "使用嗅探到的域名覆盖连接目标。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1699 +#: htdocs/luci-static/resources/view/fchomo/client.js:1703 msgid "Override the existing ECS in original request." msgstr "覆盖原始请求中已有的 ECS。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1229 +#: htdocs/luci-static/resources/view/fchomo/node.js:1240 msgid "Overrides the domain name used for HTTPS record queries." msgstr "覆盖用于 HTTPS 记录查询的域名。" @@ -2218,37 +2238,37 @@ msgstr "覆盖用于 HTTPS 记录查询的域名。" msgid "Overview" msgstr "概览" -#: htdocs/luci-static/resources/view/fchomo/node.js:1324 +#: htdocs/luci-static/resources/view/fchomo/node.js:1335 msgid "POST" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1325 +#: htdocs/luci-static/resources/view/fchomo/node.js:1336 msgid "PUT" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:723 +#: htdocs/luci-static/resources/view/fchomo/node.js:734 msgid "Packet encoding" msgstr "数据包编码" -#: htdocs/luci-static/resources/view/fchomo/node.js:1402 +#: htdocs/luci-static/resources/view/fchomo/node.js:1413 msgid "Padding bytes" msgstr "填充字节" -#: htdocs/luci-static/resources/fchomo/listeners.js:521 +#: htdocs/luci-static/resources/fchomo/listeners.js:524 msgid "Padding scheme" msgstr "填充方案" -#: htdocs/luci-static/resources/fchomo/listeners.js:759 -#: htdocs/luci-static/resources/view/fchomo/node.js:1035 +#: htdocs/luci-static/resources/fchomo/listeners.js:769 +#: htdocs/luci-static/resources/view/fchomo/node.js:1046 msgid "Paddings" msgstr "填充 (Paddings)" #: htdocs/luci-static/resources/fchomo/listeners.js:166 #: htdocs/luci-static/resources/fchomo/listeners.js:263 -#: htdocs/luci-static/resources/fchomo/listeners.js:597 -#: htdocs/luci-static/resources/view/fchomo/node.js:295 -#: htdocs/luci-static/resources/view/fchomo/node.js:385 -#: htdocs/luci-static/resources/view/fchomo/node.js:917 +#: htdocs/luci-static/resources/fchomo/listeners.js:601 +#: htdocs/luci-static/resources/view/fchomo/node.js:306 +#: htdocs/luci-static/resources/view/fchomo/node.js:396 +#: htdocs/luci-static/resources/view/fchomo/node.js:928 msgid "Password" msgstr "密码" @@ -2260,13 +2280,13 @@ msgstr "捆绑包路径" msgid "Path in bundle: %s" msgstr "在捆绑包%s中的路径" -#: htdocs/luci-static/resources/fchomo/listeners.js:699 -#: htdocs/luci-static/resources/view/fchomo/node.js:1752 +#: htdocs/luci-static/resources/fchomo/listeners.js:709 +#: htdocs/luci-static/resources/view/fchomo/node.js:1763 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:373 msgid "Payload" msgstr "Payload" -#: htdocs/luci-static/resources/view/fchomo/node.js:831 +#: htdocs/luci-static/resources/view/fchomo/node.js:842 msgid "Peer pubkic key" msgstr "对端公钥" @@ -2276,11 +2296,11 @@ msgid "" "it is not needed." msgstr "性能可能会略有下降,建议仅在需要时开启。" -#: htdocs/luci-static/resources/view/fchomo/node.js:858 +#: htdocs/luci-static/resources/view/fchomo/node.js:869 msgid "Periodically sends data packets to maintain connection persistence." msgstr "定期发送数据包以维持连接持久性。" -#: htdocs/luci-static/resources/view/fchomo/node.js:857 +#: htdocs/luci-static/resources/view/fchomo/node.js:868 msgid "Persistent keepalive" msgstr "持久连接" @@ -2303,8 +2323,8 @@ msgid "" "standards." msgstr "链接格式标准请参考
%s。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1725 -#: htdocs/luci-static/resources/view/fchomo/node.js:1751 +#: htdocs/luci-static/resources/view/fchomo/node.js:1736 +#: htdocs/luci-static/resources/view/fchomo/node.js:1762 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:346 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:372 msgid "" @@ -2313,33 +2333,34 @@ msgid "" msgstr "" "请输入 %s。" -#: htdocs/luci-static/resources/view/fchomo/client.js:976 -#: htdocs/luci-static/resources/view/fchomo/client.js:1279 -#: htdocs/luci-static/resources/view/fchomo/client.js:1401 -#: htdocs/luci-static/resources/view/fchomo/client.js:1529 -#: htdocs/luci-static/resources/view/fchomo/client.js:1784 -#: htdocs/luci-static/resources/view/fchomo/client.js:1836 -#: htdocs/luci-static/resources/view/fchomo/node.js:1592 +#: htdocs/luci-static/resources/view/fchomo/client.js:980 +#: htdocs/luci-static/resources/view/fchomo/client.js:1283 +#: htdocs/luci-static/resources/view/fchomo/client.js:1405 +#: htdocs/luci-static/resources/view/fchomo/client.js:1533 +#: htdocs/luci-static/resources/view/fchomo/client.js:1788 +#: htdocs/luci-static/resources/view/fchomo/client.js:1840 +#: htdocs/luci-static/resources/view/fchomo/node.js:1603 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:155 msgid "Please type %s fields of mihomo config.
" msgstr "请输入 mihomo 配置的 %s 字段。
" -#: htdocs/luci-static/resources/fchomo/listeners.js:557 -#: htdocs/luci-static/resources/view/fchomo/node.js:881 +#: htdocs/luci-static/resources/fchomo/listeners.js:560 +#: htdocs/luci-static/resources/view/fchomo/node.js:892 msgid "Plugin" msgstr "插件" -#: htdocs/luci-static/resources/fchomo/listeners.js:577 -#: htdocs/luci-static/resources/fchomo/listeners.js:583 -#: htdocs/luci-static/resources/fchomo/listeners.js:590 -#: htdocs/luci-static/resources/fchomo/listeners.js:597 -#: htdocs/luci-static/resources/fchomo/listeners.js:603 -#: htdocs/luci-static/resources/view/fchomo/node.js:904 -#: htdocs/luci-static/resources/view/fchomo/node.js:910 -#: htdocs/luci-static/resources/view/fchomo/node.js:917 -#: htdocs/luci-static/resources/view/fchomo/node.js:923 -#: htdocs/luci-static/resources/view/fchomo/node.js:931 -#: htdocs/luci-static/resources/view/fchomo/node.js:937 +#: htdocs/luci-static/resources/fchomo/listeners.js:581 +#: htdocs/luci-static/resources/fchomo/listeners.js:587 +#: htdocs/luci-static/resources/fchomo/listeners.js:594 +#: htdocs/luci-static/resources/fchomo/listeners.js:601 +#: htdocs/luci-static/resources/fchomo/listeners.js:607 +#: htdocs/luci-static/resources/fchomo/listeners.js:615 +#: htdocs/luci-static/resources/view/fchomo/node.js:915 +#: htdocs/luci-static/resources/view/fchomo/node.js:921 +#: htdocs/luci-static/resources/view/fchomo/node.js:928 +#: htdocs/luci-static/resources/view/fchomo/node.js:934 +#: htdocs/luci-static/resources/view/fchomo/node.js:942 +#: htdocs/luci-static/resources/view/fchomo/node.js:948 msgid "Plugin:" msgstr "插件:" @@ -2347,15 +2368,15 @@ msgstr "插件:" msgid "Port" msgstr "端口" -#: htdocs/luci-static/resources/fchomo.js:1823 +#: htdocs/luci-static/resources/fchomo.js:1811 msgid "Port %s alrealy exists!" msgstr "端口 %s 已存在!" -#: htdocs/luci-static/resources/view/fchomo/node.js:313 +#: htdocs/luci-static/resources/view/fchomo/node.js:324 msgid "Port hop interval" msgstr "端口跳跃间隔" -#: htdocs/luci-static/resources/view/fchomo/node.js:395 +#: htdocs/luci-static/resources/view/fchomo/node.js:406 msgid "Port range" msgstr "端口范围" @@ -2364,19 +2385,19 @@ msgid "Ports" msgstr "端口" #: htdocs/luci-static/resources/fchomo/listeners.js:153 -#: htdocs/luci-static/resources/view/fchomo/node.js:308 +#: htdocs/luci-static/resources/view/fchomo/node.js:319 msgid "Ports pool" msgstr "端口池" #: htdocs/luci-static/resources/fchomo/listeners.js:225 #: htdocs/luci-static/resources/fchomo/listeners.js:456 -#: htdocs/luci-static/resources/view/fchomo/node.js:544 -#: htdocs/luci-static/resources/view/fchomo/node.js:838 +#: htdocs/luci-static/resources/view/fchomo/node.js:555 +#: htdocs/luci-static/resources/view/fchomo/node.js:849 msgid "Pre-shared key" msgstr "预共享密钥" -#: htdocs/luci-static/resources/fchomo/listeners.js:897 -#: htdocs/luci-static/resources/view/fchomo/node.js:1070 +#: htdocs/luci-static/resources/fchomo/listeners.js:907 +#: htdocs/luci-static/resources/view/fchomo/node.js:1081 msgid "Pre-shared key of rendezvous server" msgstr "牵线服务器的预共享密钥" @@ -2395,23 +2416,23 @@ msgstr "防止某些情况下的 ICMP 环回问题。Ping 不会显示实际延 #: htdocs/luci-static/resources/view/fchomo/global.js:760 #: htdocs/luci-static/resources/view/fchomo/global.js:777 -#: htdocs/luci-static/resources/view/fchomo/node.js:1553 -#: htdocs/luci-static/resources/view/fchomo/node.js:1560 -#: htdocs/luci-static/resources/view/fchomo/node.js:1945 -#: htdocs/luci-static/resources/view/fchomo/node.js:1952 +#: htdocs/luci-static/resources/view/fchomo/node.js:1564 +#: htdocs/luci-static/resources/view/fchomo/node.js:1571 +#: htdocs/luci-static/resources/view/fchomo/node.js:1956 +#: htdocs/luci-static/resources/view/fchomo/node.js:1963 msgid "Priority: Proxy Node > Global." msgstr "优先级: 代理节点 > 全局。" -#: htdocs/luci-static/resources/view/fchomo/node.js:357 +#: htdocs/luci-static/resources/view/fchomo/node.js:368 msgid "Priv-key" msgstr "密钥" -#: htdocs/luci-static/resources/view/fchomo/node.js:361 +#: htdocs/luci-static/resources/view/fchomo/node.js:372 msgid "Priv-key passphrase" msgstr "密钥密码" -#: htdocs/luci-static/resources/view/fchomo/node.js:731 -#: htdocs/luci-static/resources/view/fchomo/node.js:823 +#: htdocs/luci-static/resources/view/fchomo/node.js:742 +#: htdocs/luci-static/resources/view/fchomo/node.js:834 msgid "Private key" msgstr "私钥" @@ -2420,34 +2441,34 @@ msgid "Process matching mode" msgstr "进程匹配模式" #: htdocs/luci-static/resources/view/fchomo/global.js:708 -#: htdocs/luci-static/resources/view/fchomo/node.js:1463 +#: htdocs/luci-static/resources/view/fchomo/node.js:1474 msgid "Protocol" msgstr "协议" -#: htdocs/luci-static/resources/view/fchomo/node.js:718 +#: htdocs/luci-static/resources/view/fchomo/node.js:729 msgid "Protocol parameter. Enable length block encryption." msgstr "协议参数。启用长度块加密。" -#: htdocs/luci-static/resources/view/fchomo/node.js:712 +#: htdocs/luci-static/resources/view/fchomo/node.js:723 msgid "" "Protocol parameter. Will waste traffic randomly if enabled (enabled by " "default in v2ray and cannot be disabled)." msgstr "协议参数。 如启用会随机浪费流量(在 v2ray 中默认启用并且无法禁用)。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1096 -#: htdocs/luci-static/resources/view/fchomo/node.js:1575 -#: htdocs/luci-static/resources/view/fchomo/node.js:1584 -#: htdocs/luci-static/resources/view/fchomo/node.js:2061 +#: htdocs/luci-static/resources/view/fchomo/client.js:1100 +#: htdocs/luci-static/resources/view/fchomo/node.js:1586 +#: htdocs/luci-static/resources/view/fchomo/node.js:1595 +#: htdocs/luci-static/resources/view/fchomo/node.js:2072 msgid "Provider" msgstr "供应商" -#: htdocs/luci-static/resources/view/fchomo/node.js:1758 +#: htdocs/luci-static/resources/view/fchomo/node.js:1769 msgid "Provider URL" msgstr "供应商订阅 URL" -#: htdocs/luci-static/resources/view/fchomo/client.js:950 -#: htdocs/luci-static/resources/view/fchomo/client.js:968 -#: htdocs/luci-static/resources/view/fchomo/client.js:1485 +#: htdocs/luci-static/resources/view/fchomo/client.js:954 +#: htdocs/luci-static/resources/view/fchomo/client.js:972 +#: htdocs/luci-static/resources/view/fchomo/client.js:1489 msgid "Proxy Group" msgstr "代理组" @@ -2464,24 +2485,24 @@ msgid "Proxy MAC-s" msgstr "代理 MAC 地址" #: htdocs/luci-static/resources/view/fchomo/node.js:219 -#: htdocs/luci-static/resources/view/fchomo/node.js:2060 +#: htdocs/luci-static/resources/view/fchomo/node.js:2071 msgid "Proxy Node" msgstr "代理节点" -#: htdocs/luci-static/resources/view/fchomo/node.js:2036 -#: htdocs/luci-static/resources/view/fchomo/node.js:2045 +#: htdocs/luci-static/resources/view/fchomo/node.js:2047 +#: htdocs/luci-static/resources/view/fchomo/node.js:2056 msgid "Proxy chain" msgstr "代理链" -#: htdocs/luci-static/resources/fchomo/listeners.js:628 -#: htdocs/luci-static/resources/view/fchomo/client.js:797 -#: htdocs/luci-static/resources/view/fchomo/client.js:1627 -#: htdocs/luci-static/resources/view/fchomo/node.js:1776 +#: htdocs/luci-static/resources/fchomo/listeners.js:638 +#: htdocs/luci-static/resources/view/fchomo/client.js:801 +#: htdocs/luci-static/resources/view/fchomo/client.js:1631 +#: htdocs/luci-static/resources/view/fchomo/node.js:1787 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:403 msgid "Proxy group" msgstr "代理组" -#: htdocs/luci-static/resources/view/fchomo/client.js:903 +#: htdocs/luci-static/resources/view/fchomo/client.js:907 msgid "Proxy group override" msgstr "代理组覆盖" @@ -2493,54 +2514,56 @@ msgstr "代理模式" msgid "Proxy routerself" msgstr "代理路由器自身" -#: htdocs/luci-static/resources/view/fchomo/node.js:583 -#: htdocs/luci-static/resources/view/fchomo/node.js:803 +#: htdocs/luci-static/resources/view/fchomo/node.js:594 +#: htdocs/luci-static/resources/view/fchomo/node.js:814 msgid "QUIC" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:953 +#: htdocs/luci-static/resources/view/fchomo/client.js:957 #: htdocs/luci-static/resources/view/fchomo/server.js:44 msgid "Quick Reload" msgstr "快速重载" -#: htdocs/luci-static/resources/fchomo/listeners.js:1093 -#: htdocs/luci-static/resources/view/fchomo/node.js:1243 +#: htdocs/luci-static/resources/fchomo/listeners.js:1103 +#: htdocs/luci-static/resources/view/fchomo/node.js:1254 msgid "REALITY" msgstr "REALITY" -#: htdocs/luci-static/resources/view/fchomo/node.js:1258 +#: htdocs/luci-static/resources/view/fchomo/node.js:1269 msgid "REALITY X25519MLKEM768 PQC support" msgstr "REALITY X25519MLKEM768 后量子加密支持" -#: htdocs/luci-static/resources/fchomo/listeners.js:1130 +#: htdocs/luci-static/resources/fchomo/listeners.js:1140 msgid "REALITY certificate issued to" msgstr "REALITY 证书颁发给" -#: htdocs/luci-static/resources/fchomo/listeners.js:1098 +#: htdocs/luci-static/resources/fchomo/listeners.js:1108 msgid "REALITY handshake server" msgstr "REALITY 握手服务器" -#: htdocs/luci-static/resources/fchomo/listeners.js:1105 +#: htdocs/luci-static/resources/fchomo/listeners.js:1115 msgid "REALITY private key" msgstr "REALITY 私钥" -#: htdocs/luci-static/resources/fchomo/listeners.js:1120 -#: htdocs/luci-static/resources/view/fchomo/node.js:1248 +#: htdocs/luci-static/resources/fchomo/listeners.js:1130 +#: htdocs/luci-static/resources/view/fchomo/node.js:1259 msgid "REALITY public key" msgstr "REALITY 公钥" -#: htdocs/luci-static/resources/fchomo/listeners.js:1124 -#: htdocs/luci-static/resources/view/fchomo/node.js:1253 +#: htdocs/luci-static/resources/fchomo/listeners.js:1134 +#: htdocs/luci-static/resources/view/fchomo/node.js:1264 msgid "REALITY short ID" msgstr "REALITY 标识符" -#: htdocs/luci-static/resources/view/fchomo/node.js:267 +#: htdocs/luci-static/resources/view/fchomo/node.js:268 +#: htdocs/luci-static/resources/view/fchomo/node.js:274 +#: htdocs/luci-static/resources/view/fchomo/node.js:292 msgid "REMATCH-NAME marking" msgstr "REMATCH-NAME 打标" -#: htdocs/luci-static/resources/fchomo/listeners.js:730 -#: htdocs/luci-static/resources/fchomo/listeners.js:749 -#: htdocs/luci-static/resources/view/fchomo/node.js:1025 +#: htdocs/luci-static/resources/fchomo/listeners.js:740 +#: htdocs/luci-static/resources/fchomo/listeners.js:759 +#: htdocs/luci-static/resources/view/fchomo/node.js:1036 msgid "RTT" msgstr "" @@ -2556,13 +2579,13 @@ msgstr "留空将使用随机令牌。" msgid "Randomized traffic characteristics" msgstr "随机化流量特征" -#: htdocs/luci-static/resources/fchomo/listeners.js:886 -#: htdocs/luci-static/resources/view/fchomo/node.js:1059 +#: htdocs/luci-static/resources/fchomo/listeners.js:896 +#: htdocs/luci-static/resources/view/fchomo/node.js:1070 msgid "Realm" msgstr "Realm" -#: htdocs/luci-static/resources/fchomo/listeners.js:902 -#: htdocs/luci-static/resources/view/fchomo/node.js:1075 +#: htdocs/luci-static/resources/fchomo/listeners.js:912 +#: htdocs/luci-static/resources/view/fchomo/node.js:1086 msgid "Realm ID" msgstr "Realm ID" @@ -2590,8 +2613,8 @@ msgstr "Redirect TCP + Tun UDP" msgid "Refresh every %s seconds." msgstr "每 %s 秒刷新。" -#: htdocs/luci-static/resources/fchomo.js:1579 -#: htdocs/luci-static/resources/view/fchomo/client.js:954 +#: htdocs/luci-static/resources/fchomo.js:1567 +#: htdocs/luci-static/resources/view/fchomo/client.js:958 #: htdocs/luci-static/resources/view/fchomo/global.js:193 #: htdocs/luci-static/resources/view/fchomo/server.js:45 msgid "Reload" @@ -2609,38 +2632,38 @@ msgstr "再路由" msgid "Rematching routing rules" msgstr "重新匹配路由规则" -#: htdocs/luci-static/resources/view/fchomo/node.js:1703 +#: htdocs/luci-static/resources/view/fchomo/node.js:1714 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:287 msgid "Remote" msgstr "远程" -#: htdocs/luci-static/resources/view/fchomo/node.js:786 -#: htdocs/luci-static/resources/view/fchomo/node.js:869 +#: htdocs/luci-static/resources/view/fchomo/node.js:797 +#: htdocs/luci-static/resources/view/fchomo/node.js:880 msgid "Remote DNS resolve" msgstr "远程 DNS 解析" -#: htdocs/luci-static/resources/fchomo.js:1744 +#: htdocs/luci-static/resources/fchomo.js:1732 msgid "Remove" msgstr "移除" -#: htdocs/luci-static/resources/fchomo.js:1749 -#: htdocs/luci-static/resources/view/fchomo/node.js:1679 -#: htdocs/luci-static/resources/view/fchomo/node.js:1681 +#: htdocs/luci-static/resources/fchomo.js:1737 +#: htdocs/luci-static/resources/view/fchomo/node.js:1690 +#: htdocs/luci-static/resources/view/fchomo/node.js:1692 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:259 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:261 msgid "Remove idles" msgstr "移除闲置" -#: htdocs/luci-static/resources/fchomo/listeners.js:891 -#: htdocs/luci-static/resources/view/fchomo/node.js:1064 +#: htdocs/luci-static/resources/fchomo/listeners.js:901 +#: htdocs/luci-static/resources/view/fchomo/node.js:1075 msgid "Rendezvous server" msgstr "牵线服务器" -#: htdocs/luci-static/resources/view/fchomo/node.js:1875 +#: htdocs/luci-static/resources/view/fchomo/node.js:1886 msgid "Replace name" msgstr "名称替换" -#: htdocs/luci-static/resources/view/fchomo/node.js:1876 +#: htdocs/luci-static/resources/view/fchomo/node.js:1887 msgid "Replace node name." msgstr "替换节点名称" @@ -2648,13 +2671,13 @@ msgstr "替换节点名称" msgid "Request" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1178 -#: htdocs/luci-static/resources/view/fchomo/node.js:1331 -#: htdocs/luci-static/resources/view/fchomo/node.js:1338 +#: htdocs/luci-static/resources/fchomo/listeners.js:1188 +#: htdocs/luci-static/resources/view/fchomo/node.js:1342 +#: htdocs/luci-static/resources/view/fchomo/node.js:1349 msgid "Request path" msgstr "请求路径" -#: htdocs/luci-static/resources/view/fchomo/node.js:623 +#: htdocs/luci-static/resources/view/fchomo/node.js:634 msgid "Request timeout" msgstr "请求超时" @@ -2667,11 +2690,11 @@ msgid "Require any" msgstr "" #: htdocs/luci-static/resources/fchomo.js:404 -#: htdocs/luci-static/resources/view/fchomo/node.js:1259 +#: htdocs/luci-static/resources/view/fchomo/node.js:1270 msgid "Requires server support." msgstr "需要服务器支持。" -#: htdocs/luci-static/resources/view/fchomo/node.js:852 +#: htdocs/luci-static/resources/view/fchomo/node.js:863 msgid "Reserved field bytes" msgstr "保留字段字节" @@ -2679,26 +2702,27 @@ msgstr "保留字段字节" msgid "Resources management" msgstr "资源管理" -#: htdocs/luci-static/resources/view/fchomo/node.js:937 +#: htdocs/luci-static/resources/fchomo/listeners.js:615 +#: htdocs/luci-static/resources/view/fchomo/node.js:948 msgid "Restls script" msgstr "Restls 剧本" -#: htdocs/luci-static/resources/view/fchomo/client.js:1250 +#: htdocs/luci-static/resources/view/fchomo/client.js:1254 msgid "" "Returns hidden status in the API to hide the display of this proxy group." msgstr "在 API 返回 hidden 状态,以隐藏该代理组显示。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1256 +#: htdocs/luci-static/resources/view/fchomo/client.js:1260 msgid "" "Returns the string input for icon in the API to display in this proxy group." msgstr "在 API 返回 icon 所输入的字符串,以在该代理组显示。" -#: htdocs/luci-static/resources/view/fchomo/node.js:528 +#: htdocs/luci-static/resources/view/fchomo/node.js:539 msgid "Reuse HTTP connections to reduce RTT for each connection establishment." msgstr "重用 HTTP 连接以减少每次建立连接的 RTT。" -#: htdocs/luci-static/resources/view/fchomo/node.js:525 -#: htdocs/luci-static/resources/view/fchomo/node.js:529 +#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:540 msgid "Reusing a single tunnel to carry multiple target connections within it." msgstr "复用单条隧道使其内部承载多条目标连线。" @@ -2715,10 +2739,10 @@ msgstr "路由 DSCP" msgid "Routing GFW" msgstr "路由 GFW 流量" -#: htdocs/luci-static/resources/fchomo/listeners.js:613 +#: htdocs/luci-static/resources/fchomo/listeners.js:623 #: htdocs/luci-static/resources/view/fchomo/global.js:776 -#: htdocs/luci-static/resources/view/fchomo/node.js:1559 -#: htdocs/luci-static/resources/view/fchomo/node.js:1951 +#: htdocs/luci-static/resources/view/fchomo/node.js:1570 +#: htdocs/luci-static/resources/view/fchomo/node.js:1962 msgid "Routing mark (Fwmark)" msgstr "路由标记 (Fwmark)" @@ -2739,8 +2763,8 @@ msgstr "路由模式将处理域名。" msgid "Routing ports" msgstr "路由端口" -#: htdocs/luci-static/resources/view/fchomo/client.js:1262 -#: htdocs/luci-static/resources/view/fchomo/client.js:1271 +#: htdocs/luci-static/resources/view/fchomo/client.js:1266 +#: htdocs/luci-static/resources/view/fchomo/client.js:1275 msgid "Routing rule" msgstr "路由规则" @@ -2756,8 +2780,8 @@ msgstr "路由表 ID" msgid "Rule" msgstr "规则" -#: htdocs/luci-static/resources/view/fchomo/client.js:862 -#: htdocs/luci-static/resources/view/fchomo/client.js:875 +#: htdocs/luci-static/resources/view/fchomo/client.js:866 +#: htdocs/luci-static/resources/view/fchomo/client.js:879 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:147 msgid "Rule set" msgstr "规则集" @@ -2774,7 +2798,7 @@ msgstr "规则集" msgid "Ruleset-URI-Scheme" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1592 +#: htdocs/luci-static/resources/fchomo.js:1580 msgid "Running" msgstr "正在运行" @@ -2798,21 +2822,21 @@ msgstr "" msgid "STUN" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:908 -#: htdocs/luci-static/resources/view/fchomo/node.js:1081 +#: htdocs/luci-static/resources/fchomo/listeners.js:918 +#: htdocs/luci-static/resources/view/fchomo/node.js:1092 msgid "STUN servers" msgstr "STUN 服务器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1354 +#: htdocs/luci-static/resources/view/fchomo/client.js:1358 msgid "SUB-RULE" msgstr "SUB-RULE" -#: htdocs/luci-static/resources/view/fchomo/node.js:982 +#: htdocs/luci-static/resources/view/fchomo/node.js:993 msgid "SUoT version" msgstr "SUoT 版本" #: htdocs/luci-static/resources/fchomo/listeners.js:195 -#: htdocs/luci-static/resources/view/fchomo/node.js:333 +#: htdocs/luci-static/resources/view/fchomo/node.js:344 msgid "Salamander" msgstr "Salamander" @@ -2845,7 +2869,7 @@ msgstr "选择面板" msgid "Send padding randomly 0-3333 bytes with 50% probability." msgstr "以 50% 的概率发送随机 0-3333 字节的填充。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1924 +#: htdocs/luci-static/resources/view/fchomo/client.js:1929 msgid "Send queries to both the %s and the %s." msgstr "同时向%s%s发起查询。" @@ -2854,9 +2878,9 @@ msgstr "同时向%s%s发起查询。" msgid "Send random ticket of 300s-600s duration for client 0-RTT reuse." msgstr "发送 300-600 秒的随机票证,以供客户端 0-RTT 重用。" -#: htdocs/luci-static/resources/fchomo/listeners.js:730 -#: htdocs/luci-static/resources/fchomo/listeners.js:991 -#: htdocs/luci-static/resources/fchomo/listeners.js:1006 +#: htdocs/luci-static/resources/fchomo/listeners.js:740 +#: htdocs/luci-static/resources/fchomo/listeners.js:1001 +#: htdocs/luci-static/resources/fchomo/listeners.js:1016 #: htdocs/luci-static/resources/view/fchomo/server.js:58 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:62 msgid "Server" @@ -2866,9 +2890,9 @@ msgstr "服务端" msgid "Server address" msgstr "服务器地址" -#: htdocs/luci-static/resources/fchomo/listeners.js:1172 -#: htdocs/luci-static/resources/view/fchomo/node.js:1310 -#: htdocs/luci-static/resources/view/fchomo/node.js:1316 +#: htdocs/luci-static/resources/fchomo/listeners.js:1182 +#: htdocs/luci-static/resources/view/fchomo/node.js:1321 +#: htdocs/luci-static/resources/view/fchomo/node.js:1327 msgid "Server hostname" msgstr "服务器主机名称" @@ -2885,22 +2909,22 @@ msgstr "服务状态" msgid "Shadowsocks" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:503 -#: htdocs/luci-static/resources/view/fchomo/node.js:642 +#: htdocs/luci-static/resources/fchomo/listeners.js:506 +#: htdocs/luci-static/resources/view/fchomo/node.js:653 msgid "Shadowsocks chipher" msgstr "Shadowsocks 加密方法" -#: htdocs/luci-static/resources/fchomo/listeners.js:498 -#: htdocs/luci-static/resources/view/fchomo/node.js:637 +#: htdocs/luci-static/resources/fchomo/listeners.js:501 +#: htdocs/luci-static/resources/view/fchomo/node.js:648 msgid "Shadowsocks encrypt" msgstr "Shadowsocks 加密" -#: htdocs/luci-static/resources/fchomo/listeners.js:511 -#: htdocs/luci-static/resources/view/fchomo/node.js:650 +#: htdocs/luci-static/resources/fchomo/listeners.js:514 +#: htdocs/luci-static/resources/view/fchomo/node.js:661 msgid "Shadowsocks password" msgstr "Shadowsocks 密码" -#: htdocs/luci-static/resources/view/fchomo/node.js:1511 +#: htdocs/luci-static/resources/view/fchomo/node.js:1522 msgid "Show connections in the dashboard for breaking connections easier." msgstr "在面板中显示连接以便于打断连接。" @@ -2912,14 +2936,14 @@ msgstr "静音" msgid "Simple round-robin all nodes" msgstr "简单轮替所有节点" -#: htdocs/luci-static/resources/view/fchomo/node.js:1764 +#: htdocs/luci-static/resources/view/fchomo/node.js:1775 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:391 msgid "Size limit" msgstr "大小限制" -#: htdocs/luci-static/resources/view/fchomo/client.js:1663 -#: htdocs/luci-static/resources/view/fchomo/node.js:1180 -#: htdocs/luci-static/resources/view/fchomo/node.js:1926 +#: htdocs/luci-static/resources/view/fchomo/client.js:1667 +#: htdocs/luci-static/resources/view/fchomo/node.js:1191 +#: htdocs/luci-static/resources/view/fchomo/node.js:1937 msgid "Skip cert verify" msgstr "跳过证书验证" @@ -2979,18 +3003,18 @@ msgstr "" msgid "Steam P2P" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1222 -#: htdocs/luci-static/resources/view/fchomo/client.js:1224 +#: htdocs/luci-static/resources/view/fchomo/client.js:1226 +#: htdocs/luci-static/resources/view/fchomo/client.js:1228 msgid "Strategy" msgstr "策略" -#: htdocs/luci-static/resources/fchomo/listeners.js:617 -#: htdocs/luci-static/resources/view/fchomo/client.js:1384 -#: htdocs/luci-static/resources/view/fchomo/client.js:1393 +#: htdocs/luci-static/resources/fchomo/listeners.js:627 +#: htdocs/luci-static/resources/view/fchomo/client.js:1388 +#: htdocs/luci-static/resources/view/fchomo/client.js:1397 msgid "Sub rule" msgstr "子规则" -#: htdocs/luci-static/resources/view/fchomo/client.js:1439 +#: htdocs/luci-static/resources/view/fchomo/client.js:1443 msgid "Sub rule group" msgstr "子规则组" @@ -3003,7 +3027,7 @@ msgstr "已成功导入 %s 个%s (共 %s 个)。" msgid "Successfully updated." msgstr "更新成功。" -#: htdocs/luci-static/resources/fchomo.js:2094 +#: htdocs/luci-static/resources/fchomo.js:2082 msgid "Successfully uploaded." msgstr "已成功上传。" @@ -3043,9 +3067,9 @@ msgstr "系统 DNS" #: htdocs/luci-static/resources/fchomo.js:199 #: htdocs/luci-static/resources/fchomo.js:200 #: htdocs/luci-static/resources/fchomo.js:207 -#: htdocs/luci-static/resources/fchomo/listeners.js:661 -#: htdocs/luci-static/resources/view/fchomo/client.js:600 -#: htdocs/luci-static/resources/view/fchomo/client.js:690 +#: htdocs/luci-static/resources/fchomo/listeners.js:671 +#: htdocs/luci-static/resources/view/fchomo/client.js:606 +#: htdocs/luci-static/resources/view/fchomo/client.js:698 msgid "TCP" msgstr "TCP" @@ -3053,7 +3077,7 @@ msgstr "TCP" msgid "TCP concurrency" msgstr "TCP 并发" -#: htdocs/luci-static/resources/view/fchomo/node.js:1504 +#: htdocs/luci-static/resources/view/fchomo/node.js:1515 msgid "TCP only" msgstr "仅 TCP" @@ -3080,26 +3104,26 @@ msgstr "TCP-Keep-Alive 间隔" msgid "TCP/UDP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1535 -#: htdocs/luci-static/resources/view/fchomo/node.js:1893 +#: htdocs/luci-static/resources/view/fchomo/node.js:1546 +#: htdocs/luci-static/resources/view/fchomo/node.js:1904 msgid "TFO" msgstr "TCP 快速打开 (TFO)" -#: htdocs/luci-static/resources/fchomo/listeners.js:579 -#: htdocs/luci-static/resources/fchomo/listeners.js:918 +#: htdocs/luci-static/resources/fchomo/listeners.js:583 +#: htdocs/luci-static/resources/fchomo/listeners.js:928 #: htdocs/luci-static/resources/view/fchomo/global.js:550 -#: htdocs/luci-static/resources/view/fchomo/node.js:509 -#: htdocs/luci-static/resources/view/fchomo/node.js:906 -#: htdocs/luci-static/resources/view/fchomo/node.js:1091 +#: htdocs/luci-static/resources/view/fchomo/node.js:520 +#: htdocs/luci-static/resources/view/fchomo/node.js:917 +#: htdocs/luci-static/resources/view/fchomo/node.js:1102 msgid "TLS" msgstr "TLS" -#: htdocs/luci-static/resources/fchomo/listeners.js:985 -#: htdocs/luci-static/resources/view/fchomo/node.js:1122 +#: htdocs/luci-static/resources/fchomo/listeners.js:995 +#: htdocs/luci-static/resources/view/fchomo/node.js:1133 msgid "TLS ALPN" msgstr "TLS ALPN" -#: htdocs/luci-static/resources/view/fchomo/node.js:1116 +#: htdocs/luci-static/resources/view/fchomo/node.js:1127 msgid "TLS SNI" msgstr "" @@ -3117,7 +3141,7 @@ msgstr "" msgid "TURN" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:550 +#: htdocs/luci-static/resources/fchomo/listeners.js:553 msgid "Target address" msgstr "目标地址" @@ -3126,35 +3150,35 @@ msgid "" "Tell the client to use the BBR flow control algorithm instead of Hysteria CC." msgstr "让客户端使用 BBR 流控算法。" -#: htdocs/luci-static/resources/view/fchomo/node.js:747 -#: htdocs/luci-static/resources/view/fchomo/node.js:755 +#: htdocs/luci-static/resources/view/fchomo/node.js:758 +#: htdocs/luci-static/resources/view/fchomo/node.js:766 msgid "The %s address used by local machine in the Cloudflare WARP network." msgstr "Cloudflare WARP 网络中使用的本机 %s 地址。" -#: htdocs/luci-static/resources/view/fchomo/node.js:810 -#: htdocs/luci-static/resources/view/fchomo/node.js:818 +#: htdocs/luci-static/resources/view/fchomo/node.js:821 +#: htdocs/luci-static/resources/view/fchomo/node.js:829 msgid "The %s address used by local machine in the Wireguard network." msgstr "WireGuard 网络中使用的本机 %s 地址。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1006 -#: htdocs/luci-static/resources/view/fchomo/node.js:1203 +#: htdocs/luci-static/resources/fchomo/listeners.js:1016 +#: htdocs/luci-static/resources/view/fchomo/node.js:1214 msgid "The %s private key, in PEM format." msgstr "%s私钥,需要 PEM 格式。" -#: htdocs/luci-static/resources/fchomo/listeners.js:991 -#: htdocs/luci-static/resources/fchomo/listeners.js:1029 +#: htdocs/luci-static/resources/fchomo/listeners.js:1001 +#: htdocs/luci-static/resources/fchomo/listeners.js:1039 #: htdocs/luci-static/resources/view/fchomo/global.js:571 -#: htdocs/luci-static/resources/view/fchomo/node.js:1189 +#: htdocs/luci-static/resources/view/fchomo/node.js:1200 msgid "The %s public key, in PEM format." msgstr "%s公钥,需要 PEM 格式。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1223 +#: htdocs/luci-static/resources/view/fchomo/node.js:1234 msgid "" "The ECH parameter of the HTTPS record for the domain. Leave empty to resolve " "via DNS." msgstr "域名的 HTTPS 记录的 ECH 参数。留空则通过 DNS 解析。" -#: htdocs/luci-static/resources/view/fchomo/node.js:431 +#: htdocs/luci-static/resources/view/fchomo/node.js:442 msgid "The ED25519 available private key or UUID provided by Sudoku server." msgstr "Sudoku 服务器提供的 ED25519 可用私钥 或 UUID。" @@ -3166,48 +3190,48 @@ msgstr "Sudoku 生成的 ED25519 主公钥 或 UUID。" msgid "The default value is 2:00 every day." msgstr "默认值为每天 2:00。" -#: htdocs/luci-static/resources/view/fchomo/node.js:964 +#: htdocs/luci-static/resources/view/fchomo/node.js:975 msgid "" "The default value is %s, indicating that only the outer " "connection timeout is used." msgstr "默认值为%s,表示仅使用外层连接超时。" -#: htdocs/luci-static/resources/fchomo/listeners.js:762 -#: htdocs/luci-static/resources/view/fchomo/node.js:1038 +#: htdocs/luci-static/resources/fchomo/listeners.js:772 +#: htdocs/luci-static/resources/view/fchomo/node.js:1049 msgid "" "The first padding must have a probability of 100% and at least 35 bytes." msgstr "首个填充必须为 100% 的概率并且至少 35 字节。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1893 +#: htdocs/luci-static/resources/view/fchomo/client.js:1897 msgid "The matching %s will be deemed as not-poisoned." msgstr "匹配 %s 的将被视为未被投毒污染。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1902 #: htdocs/luci-static/resources/view/fchomo/client.js:1906 #: htdocs/luci-static/resources/view/fchomo/client.js:1911 +#: htdocs/luci-static/resources/view/fchomo/client.js:1916 msgid "The matching %s will be deemed as poisoned." msgstr "匹配 %s 的将被视为已被投毒污染。" -#: htdocs/luci-static/resources/fchomo/listeners.js:760 -#: htdocs/luci-static/resources/view/fchomo/node.js:1036 +#: htdocs/luci-static/resources/fchomo/listeners.js:770 +#: htdocs/luci-static/resources/view/fchomo/node.js:1047 msgid "The server and client can set different padding parameters." msgstr "服务器和客户端可以设置不同的填充参数。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1087 +#: htdocs/luci-static/resources/fchomo/listeners.js:1097 #: htdocs/luci-static/resources/view/fchomo/global.js:615 msgid "This ECH parameter needs to be added to the HTTPS record of the domain." msgstr "此 ECH 参数需要添加到域名的 HTTPS 记录中。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1666 -#: htdocs/luci-static/resources/view/fchomo/node.js:1183 -#: htdocs/luci-static/resources/view/fchomo/node.js:1929 +#: htdocs/luci-static/resources/view/fchomo/client.js:1670 +#: htdocs/luci-static/resources/view/fchomo/node.js:1194 +#: htdocs/luci-static/resources/view/fchomo/node.js:1940 msgid "" "This is DANGEROUS, your traffic is almost like " "PLAIN TEXT! Use at your own risk!" msgstr "" "这是危险行为,您的流量将几乎等同于明文!使用风险自负!" -#: htdocs/luci-static/resources/view/fchomo/node.js:588 +#: htdocs/luci-static/resources/view/fchomo/node.js:599 msgid "" "This is the TUIC port of the SUoT protocol, designed to provide a QUIC " "stream based UDP relay mode that TUIC does not provide." @@ -3240,22 +3264,22 @@ msgid "Tproxy port" msgstr "Tproxy 端口" #: htdocs/luci-static/resources/fchomo/listeners.js:285 -#: htdocs/luci-static/resources/view/fchomo/node.js:423 +#: htdocs/luci-static/resources/view/fchomo/node.js:434 msgid "Traffic pattern" msgstr "流量模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:2098 +#: htdocs/luci-static/resources/view/fchomo/node.js:2109 msgid "Transit proxy group" msgstr "中转代理组" -#: htdocs/luci-static/resources/view/fchomo/node.js:2109 +#: htdocs/luci-static/resources/view/fchomo/node.js:2120 msgid "Transit proxy node" msgstr "中转代理节点" #: htdocs/luci-static/resources/fchomo/listeners.js:273 -#: htdocs/luci-static/resources/fchomo/listeners.js:1138 -#: htdocs/luci-static/resources/view/fchomo/node.js:400 -#: htdocs/luci-static/resources/view/fchomo/node.js:1265 +#: htdocs/luci-static/resources/fchomo/listeners.js:1148 +#: htdocs/luci-static/resources/view/fchomo/node.js:411 +#: htdocs/luci-static/resources/view/fchomo/node.js:1276 msgid "Transport" msgstr "传输层" @@ -3264,12 +3288,12 @@ msgstr "传输层" msgid "Transport fields" msgstr "传输层字段" -#: htdocs/luci-static/resources/fchomo/listeners.js:1143 -#: htdocs/luci-static/resources/view/fchomo/node.js:1270 +#: htdocs/luci-static/resources/fchomo/listeners.js:1153 +#: htdocs/luci-static/resources/view/fchomo/node.js:1281 msgid "Transport type" msgstr "传输层类型" -#: htdocs/luci-static/resources/view/fchomo/client.js:819 +#: htdocs/luci-static/resources/view/fchomo/client.js:823 msgid "Treat the destination IP as the source IP." msgstr "将 目标 IP 视为 来源 IP。" @@ -3309,13 +3333,13 @@ msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:142 #: htdocs/luci-static/resources/view/fchomo/client.js:533 -#: htdocs/luci-static/resources/view/fchomo/client.js:654 -#: htdocs/luci-static/resources/view/fchomo/client.js:751 -#: htdocs/luci-static/resources/view/fchomo/client.js:859 -#: htdocs/luci-static/resources/view/fchomo/client.js:1057 +#: htdocs/luci-static/resources/view/fchomo/client.js:660 +#: htdocs/luci-static/resources/view/fchomo/client.js:755 +#: htdocs/luci-static/resources/view/fchomo/client.js:863 +#: htdocs/luci-static/resources/view/fchomo/client.js:1061 #: htdocs/luci-static/resources/view/fchomo/node.js:250 -#: htdocs/luci-static/resources/view/fchomo/node.js:1701 -#: htdocs/luci-static/resources/view/fchomo/node.js:2059 +#: htdocs/luci-static/resources/view/fchomo/node.js:1712 +#: htdocs/luci-static/resources/view/fchomo/node.js:2070 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:285 msgid "Type" msgstr "类型" @@ -3326,12 +3350,12 @@ msgstr "类型" #: htdocs/luci-static/resources/fchomo.js:203 #: htdocs/luci-static/resources/fchomo.js:204 #: htdocs/luci-static/resources/fchomo.js:206 -#: htdocs/luci-static/resources/fchomo/listeners.js:662 -#: htdocs/luci-static/resources/fchomo/listeners.js:667 -#: htdocs/luci-static/resources/view/fchomo/client.js:599 -#: htdocs/luci-static/resources/view/fchomo/client.js:689 -#: htdocs/luci-static/resources/view/fchomo/node.js:970 -#: htdocs/luci-static/resources/view/fchomo/node.js:1903 +#: htdocs/luci-static/resources/fchomo/listeners.js:672 +#: htdocs/luci-static/resources/fchomo/listeners.js:677 +#: htdocs/luci-static/resources/view/fchomo/client.js:605 +#: htdocs/luci-static/resources/view/fchomo/client.js:697 +#: htdocs/luci-static/resources/view/fchomo/node.js:981 +#: htdocs/luci-static/resources/view/fchomo/node.js:1914 msgid "UDP" msgstr "UDP" @@ -3339,26 +3363,26 @@ msgstr "UDP" msgid "UDP NAT expiration time" msgstr "UDP NAT 过期时间" -#: htdocs/luci-static/resources/view/fchomo/node.js:587 +#: htdocs/luci-static/resources/view/fchomo/node.js:598 msgid "UDP over stream" msgstr "UDP over stream" -#: htdocs/luci-static/resources/view/fchomo/node.js:593 +#: htdocs/luci-static/resources/view/fchomo/node.js:604 msgid "UDP over stream version" msgstr "UDP over stream 版本" -#: htdocs/luci-static/resources/view/fchomo/node.js:580 +#: htdocs/luci-static/resources/view/fchomo/node.js:591 msgid "UDP packet relay mode." msgstr "UDP 包中继模式。" -#: htdocs/luci-static/resources/view/fchomo/node.js:579 +#: htdocs/luci-static/resources/view/fchomo/node.js:590 msgid "UDP relay mode" msgstr "UDP 中继模式" #: htdocs/luci-static/resources/fchomo/listeners.js:373 #: htdocs/luci-static/resources/fchomo/listeners.js:374 -#: htdocs/luci-static/resources/view/fchomo/node.js:455 -#: htdocs/luci-static/resources/view/fchomo/node.js:456 +#: htdocs/luci-static/resources/view/fchomo/node.js:466 +#: htdocs/luci-static/resources/view/fchomo/node.js:467 msgid "UP: %s; DOWN: %s" msgstr "上传: %s; 下载: %s" @@ -3367,14 +3391,14 @@ msgid "URL test" msgstr "自动选择" #: htdocs/luci-static/resources/fchomo/listeners.js:294 -#: htdocs/luci-static/resources/fchomo/listeners.js:471 -#: htdocs/luci-static/resources/fchomo/listeners.js:526 -#: htdocs/luci-static/resources/view/fchomo/node.js:567 -#: htdocs/luci-static/resources/view/fchomo/node.js:681 +#: htdocs/luci-static/resources/fchomo/listeners.js:474 +#: htdocs/luci-static/resources/fchomo/listeners.js:529 +#: htdocs/luci-static/resources/view/fchomo/node.js:578 +#: htdocs/luci-static/resources/view/fchomo/node.js:692 msgid "UUID" msgstr "UUID" -#: htdocs/luci-static/resources/fchomo.js:1637 +#: htdocs/luci-static/resources/fchomo.js:1625 msgid "Unable to download unsupported type: %s" msgstr "无法下载不支持的类型: %s" @@ -3399,8 +3423,8 @@ msgstr "未知错误。" msgid "Unknown error: %s" msgstr "未知错误:%s" -#: htdocs/luci-static/resources/view/fchomo/node.js:976 -#: htdocs/luci-static/resources/view/fchomo/node.js:1908 +#: htdocs/luci-static/resources/view/fchomo/node.js:987 +#: htdocs/luci-static/resources/view/fchomo/node.js:1919 msgid "UoT" msgstr "UDP over TCP (UoT)" @@ -3408,22 +3432,24 @@ msgstr "UDP over TCP (UoT)" msgid "Update failed." msgstr "更新失败。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1770 +#: htdocs/luci-static/resources/view/fchomo/node.js:1781 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:397 msgid "Update interval" msgstr "更新间隔" -#: htdocs/luci-static/resources/view/fchomo/node.js:1522 +#: htdocs/luci-static/resources/fchomo/listeners.js:1248 +#: htdocs/luci-static/resources/view/fchomo/node.js:1533 msgid "Upload bandwidth" msgstr "上传带宽" -#: htdocs/luci-static/resources/view/fchomo/node.js:1523 +#: htdocs/luci-static/resources/fchomo/listeners.js:1249 +#: htdocs/luci-static/resources/view/fchomo/node.js:1534 msgid "Upload bandwidth in Mbps." msgstr "上传带宽(单位:Mbps)。" -#: htdocs/luci-static/resources/fchomo/listeners.js:997 -#: htdocs/luci-static/resources/fchomo/listeners.js:1037 -#: htdocs/luci-static/resources/view/fchomo/node.js:1194 +#: htdocs/luci-static/resources/fchomo/listeners.js:1007 +#: htdocs/luci-static/resources/fchomo/listeners.js:1047 +#: htdocs/luci-static/resources/view/fchomo/node.js:1205 msgid "Upload certificate" msgstr "上传证书" @@ -3431,45 +3457,47 @@ msgstr "上传证书" msgid "Upload initial package" msgstr "上传初始资源包" -#: htdocs/luci-static/resources/fchomo/listeners.js:1012 -#: htdocs/luci-static/resources/view/fchomo/node.js:1208 +#: htdocs/luci-static/resources/fchomo/listeners.js:1022 +#: htdocs/luci-static/resources/view/fchomo/node.js:1219 msgid "Upload key" msgstr "上传密钥" -#: htdocs/luci-static/resources/fchomo/listeners.js:1000 -#: htdocs/luci-static/resources/fchomo/listeners.js:1015 -#: htdocs/luci-static/resources/fchomo/listeners.js:1040 +#: htdocs/luci-static/resources/fchomo/listeners.js:1010 +#: htdocs/luci-static/resources/fchomo/listeners.js:1025 +#: htdocs/luci-static/resources/fchomo/listeners.js:1050 #: htdocs/luci-static/resources/view/fchomo/global.js:306 -#: htdocs/luci-static/resources/view/fchomo/node.js:1197 -#: htdocs/luci-static/resources/view/fchomo/node.js:1211 +#: htdocs/luci-static/resources/view/fchomo/node.js:1208 +#: htdocs/luci-static/resources/view/fchomo/node.js:1222 msgid "Upload..." msgstr "上传..." -#: htdocs/luci-static/resources/view/fchomo/node.js:278 +#: htdocs/luci-static/resources/view/fchomo/node.js:274 +#: htdocs/luci-static/resources/view/fchomo/node.js:281 +#: htdocs/luci-static/resources/view/fchomo/node.js:292 msgid "Use sub rule" msgstr "使用子规则" -#: htdocs/luci-static/resources/view/fchomo/client.js:1483 +#: htdocs/luci-static/resources/view/fchomo/client.js:1487 msgid "" "Used to resolve domains that can be directly connected. Can use domestic DNS " "servers or ECS." msgstr "用于解析可直连的域名。可以使用国内 DNS 服务器或 ECS。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1485 +#: htdocs/luci-static/resources/view/fchomo/client.js:1489 msgid "" "Used to resolve domains you want to proxy. Recommended to configure %s for " "DNS servers." msgstr "用于解析想要代理的域名。建议为 DNS 服务器配置%s。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1467 +#: htdocs/luci-static/resources/view/fchomo/client.js:1471 msgid "Used to resolve the domain of the DNS server. Must be IP." msgstr "用于解析 DNS 服务器的域名。必须是 IP。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1474 +#: htdocs/luci-static/resources/view/fchomo/client.js:1478 msgid "Used to resolve the domain of the Proxy node." msgstr "用于解析代理节点的域名。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1117 +#: htdocs/luci-static/resources/view/fchomo/node.js:1128 msgid "Used to verify the hostname on the returned certificates." msgstr "用于验证返回的证书上的主机名。" @@ -3482,7 +3510,7 @@ msgid "User-hint is mandatory" msgstr "User-hint 是必填项" #: htdocs/luci-static/resources/fchomo/listeners.js:161 -#: htdocs/luci-static/resources/view/fchomo/node.js:290 +#: htdocs/luci-static/resources/view/fchomo/node.js:301 msgid "Username" msgstr "用户名" @@ -3490,11 +3518,11 @@ msgstr "用户名" msgid "Users filter mode" msgstr "使用者过滤模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:1379 +#: htdocs/luci-static/resources/view/fchomo/node.js:1390 msgid "V2ray HTTPUpgrade" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1384 +#: htdocs/luci-static/resources/view/fchomo/node.js:1395 msgid "V2ray HTTPUpgrade fast open" msgstr "" @@ -3508,8 +3536,8 @@ msgstr "" msgid "VMess" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1707 -#: htdocs/luci-static/resources/view/fchomo/node.js:2065 +#: htdocs/luci-static/resources/view/fchomo/node.js:1718 +#: htdocs/luci-static/resources/view/fchomo/node.js:2076 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:328 msgid "Value" msgstr "可视化值" @@ -3519,13 +3547,13 @@ msgid "Verify if given" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:463 -#: htdocs/luci-static/resources/fchomo/listeners.js:603 -#: htdocs/luci-static/resources/view/fchomo/node.js:551 -#: htdocs/luci-static/resources/view/fchomo/node.js:923 +#: htdocs/luci-static/resources/fchomo/listeners.js:607 +#: htdocs/luci-static/resources/view/fchomo/node.js:562 +#: htdocs/luci-static/resources/view/fchomo/node.js:934 msgid "Version" msgstr "版本" -#: htdocs/luci-static/resources/view/fchomo/node.js:931 +#: htdocs/luci-static/resources/view/fchomo/node.js:942 msgid "Version hint" msgstr "" @@ -3543,15 +3571,15 @@ msgid "Warning" msgstr "警告" #: htdocs/luci-static/resources/fchomo/listeners.js:441 -#: htdocs/luci-static/resources/fchomo/listeners.js:1145 -#: htdocs/luci-static/resources/fchomo/listeners.js:1154 -#: htdocs/luci-static/resources/fchomo/listeners.js:1161 -#: htdocs/luci-static/resources/view/fchomo/node.js:505 -#: htdocs/luci-static/resources/view/fchomo/node.js:534 -#: htdocs/luci-static/resources/view/fchomo/node.js:1275 +#: htdocs/luci-static/resources/fchomo/listeners.js:1155 +#: htdocs/luci-static/resources/fchomo/listeners.js:1164 +#: htdocs/luci-static/resources/fchomo/listeners.js:1171 +#: htdocs/luci-static/resources/view/fchomo/node.js:516 +#: htdocs/luci-static/resources/view/fchomo/node.js:545 #: htdocs/luci-static/resources/view/fchomo/node.js:1286 -#: htdocs/luci-static/resources/view/fchomo/node.js:1293 -#: htdocs/luci-static/resources/view/fchomo/node.js:1299 +#: htdocs/luci-static/resources/view/fchomo/node.js:1297 +#: htdocs/luci-static/resources/view/fchomo/node.js:1304 +#: htdocs/luci-static/resources/view/fchomo/node.js:1310 msgid "WebSocket" msgstr "" @@ -3567,48 +3595,48 @@ msgstr "白名单" msgid "WireGuard" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:832 +#: htdocs/luci-static/resources/view/fchomo/node.js:843 msgid "WireGuard peer public key." msgstr "WireGuard 对端公钥。" -#: htdocs/luci-static/resources/view/fchomo/node.js:839 +#: htdocs/luci-static/resources/view/fchomo/node.js:850 msgid "WireGuard pre-shared key." msgstr "WireGuard 预共享密钥。" -#: htdocs/luci-static/resources/view/fchomo/node.js:824 +#: htdocs/luci-static/resources/view/fchomo/node.js:835 msgid "WireGuard requires base64-encoded private keys." msgstr "WireGuard 要求 base64 编码的私钥。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1146 -#: htdocs/luci-static/resources/fchomo/listeners.js:1155 -#: htdocs/luci-static/resources/view/fchomo/node.js:1276 -#: htdocs/luci-static/resources/view/fchomo/node.js:1294 +#: htdocs/luci-static/resources/fchomo/listeners.js:1156 +#: htdocs/luci-static/resources/fchomo/listeners.js:1165 +#: htdocs/luci-static/resources/view/fchomo/node.js:1287 +#: htdocs/luci-static/resources/view/fchomo/node.js:1305 msgid "XHTTP" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1191 -#: htdocs/luci-static/resources/view/fchomo/node.js:1389 +#: htdocs/luci-static/resources/fchomo/listeners.js:1201 +#: htdocs/luci-static/resources/view/fchomo/node.js:1400 msgid "XHTTP mode" msgstr "XHTTP 模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:1420 +#: htdocs/luci-static/resources/view/fchomo/node.js:1431 msgid "XMUX" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1425 -#: htdocs/luci-static/resources/view/fchomo/node.js:1430 -#: htdocs/luci-static/resources/view/fchomo/node.js:1435 -#: htdocs/luci-static/resources/view/fchomo/node.js:1440 -#: htdocs/luci-static/resources/view/fchomo/node.js:1445 -#: htdocs/luci-static/resources/view/fchomo/node.js:1450 +#: htdocs/luci-static/resources/view/fchomo/node.js:1436 +#: htdocs/luci-static/resources/view/fchomo/node.js:1441 +#: htdocs/luci-static/resources/view/fchomo/node.js:1446 +#: htdocs/luci-static/resources/view/fchomo/node.js:1451 +#: htdocs/luci-static/resources/view/fchomo/node.js:1456 +#: htdocs/luci-static/resources/view/fchomo/node.js:1461 msgid "XMUX:" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:721 +#: htdocs/luci-static/resources/fchomo/listeners.js:731 msgid "XOR mode" msgstr "XOR 模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:726 +#: htdocs/luci-static/resources/view/fchomo/node.js:737 msgid "Xudp (Xray-core)" msgstr "" @@ -3616,7 +3644,7 @@ msgstr "" msgid "Yaml text" msgstr "Yaml 格式文本" -#: htdocs/luci-static/resources/view/fchomo/node.js:1932 +#: htdocs/luci-static/resources/view/fchomo/node.js:1943 msgid "Yes" msgstr "" @@ -3624,14 +3652,14 @@ msgstr "" msgid "YouTube" msgstr "油管" -#: htdocs/luci-static/resources/fchomo.js:2076 +#: htdocs/luci-static/resources/fchomo.js:2064 msgid "Your %s was successfully uploaded. Size: %sB." msgstr "您的 %s 已成功上传。大小:%sB。" #: htdocs/luci-static/resources/fchomo.js:345 #: htdocs/luci-static/resources/fchomo.js:358 #: htdocs/luci-static/resources/fchomo.js:363 -#: htdocs/luci-static/resources/view/fchomo/node.js:706 +#: htdocs/luci-static/resources/view/fchomo/node.js:717 msgid "aes-128-gcm" msgstr "" @@ -3644,11 +3672,11 @@ msgstr "" msgid "aes-256-gcm" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1792 +#: htdocs/luci-static/resources/view/fchomo/node.js:1803 msgid "age private key" msgstr "age 私钥" -#: htdocs/luci-static/resources/view/fchomo/node.js:1853 +#: htdocs/luci-static/resources/view/fchomo/node.js:1864 msgid "age public key" msgstr "age 公钥" @@ -3660,7 +3688,7 @@ msgstr "" msgid "age-x25519" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:703 +#: htdocs/luci-static/resources/view/fchomo/node.js:714 msgid "auto" msgstr "自动" @@ -3668,9 +3696,9 @@ msgstr "自动" msgid "bbr" msgstr "bbr" -#: htdocs/luci-static/resources/fchomo/listeners.js:1002 -#: htdocs/luci-static/resources/fchomo/listeners.js:1042 -#: htdocs/luci-static/resources/view/fchomo/node.js:1199 +#: htdocs/luci-static/resources/fchomo/listeners.js:1012 +#: htdocs/luci-static/resources/fchomo/listeners.js:1052 +#: htdocs/luci-static/resources/view/fchomo/node.js:1210 msgid "certificate" msgstr "证书" @@ -3680,7 +3708,7 @@ msgstr "证书" msgid "chacha20-ietf-poly1305" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:707 +#: htdocs/luci-static/resources/view/fchomo/node.js:718 msgid "chacha20-poly1305" msgstr "" @@ -3688,8 +3716,8 @@ msgstr "" msgid "cubic" msgstr "cubic" -#: htdocs/luci-static/resources/fchomo/listeners.js:673 -#: htdocs/luci-static/resources/fchomo/listeners.js:704 +#: htdocs/luci-static/resources/fchomo/listeners.js:683 +#: htdocs/luci-static/resources/fchomo/listeners.js:714 msgid "decryption" msgstr "decryption" @@ -3697,41 +3725,41 @@ msgstr "decryption" msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)" msgstr "dnsmasq 自行选择上游服务器。 (可能影响 CDN 准确性)" -#: htdocs/luci-static/resources/view/fchomo/node.js:1920 +#: htdocs/luci-static/resources/view/fchomo/node.js:1931 msgid "down" msgstr "Hysteria 下载速率" -#: htdocs/luci-static/resources/fchomo/listeners.js:708 -#: htdocs/luci-static/resources/view/fchomo/node.js:990 -#: htdocs/luci-static/resources/view/fchomo/node.js:1013 +#: htdocs/luci-static/resources/fchomo/listeners.js:718 +#: htdocs/luci-static/resources/view/fchomo/node.js:1001 +#: htdocs/luci-static/resources/view/fchomo/node.js:1024 msgid "encryption" msgstr "encryption" #: htdocs/luci-static/resources/fchomo/listeners.js:425 -#: htdocs/luci-static/resources/view/fchomo/node.js:489 +#: htdocs/luci-static/resources/view/fchomo/node.js:500 msgid "false = bandwidth optimized downlink; true = pure Sudoku downlink." msgstr "false = 带宽优化下行 true = 纯 Sudoku 下行。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1144 -#: htdocs/luci-static/resources/fchomo/listeners.js:1153 -#: htdocs/luci-static/resources/fchomo/listeners.js:1160 -#: htdocs/luci-static/resources/view/fchomo/node.js:1274 +#: htdocs/luci-static/resources/fchomo/listeners.js:1154 +#: htdocs/luci-static/resources/fchomo/listeners.js:1163 +#: htdocs/luci-static/resources/fchomo/listeners.js:1170 #: htdocs/luci-static/resources/view/fchomo/node.js:1285 -#: htdocs/luci-static/resources/view/fchomo/node.js:1292 -#: htdocs/luci-static/resources/view/fchomo/node.js:1298 +#: htdocs/luci-static/resources/view/fchomo/node.js:1296 +#: htdocs/luci-static/resources/view/fchomo/node.js:1303 +#: htdocs/luci-static/resources/view/fchomo/node.js:1309 msgid "gRPC" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1355 +#: htdocs/luci-static/resources/view/fchomo/node.js:1366 msgid "gRPC User-Agent" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1360 +#: htdocs/luci-static/resources/view/fchomo/node.js:1371 msgid "gRPC ping interval" msgstr "gRPC ping 间隔" -#: htdocs/luci-static/resources/fchomo/listeners.js:1185 -#: htdocs/luci-static/resources/view/fchomo/node.js:1351 +#: htdocs/luci-static/resources/fchomo/listeners.js:1195 +#: htdocs/luci-static/resources/view/fchomo/node.js:1362 msgid "gRPC service name" msgstr "gRPC 服务名称" @@ -3739,23 +3767,23 @@ msgstr "gRPC 服务名称" msgid "gVisor" msgstr "gVisor" -#: htdocs/luci-static/resources/view/fchomo/node.js:770 +#: htdocs/luci-static/resources/view/fchomo/node.js:781 msgid "h2" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1467 +#: htdocs/luci-static/resources/view/fchomo/node.js:1478 msgid "h2mux" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:768 +#: htdocs/luci-static/resources/view/fchomo/node.js:779 msgid "h3" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:769 +#: htdocs/luci-static/resources/view/fchomo/node.js:780 msgid "h3-l4proxy" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:873 +#: htdocs/luci-static/resources/fchomo/listeners.js:883 msgid "least one keypair required" msgstr "至少需要一对密钥" @@ -3763,13 +3791,13 @@ msgstr "至少需要一对密钥" msgid "metacubexd" msgstr "metacubexd" -#: htdocs/luci-static/resources/view/fchomo/client.js:1030 -#: htdocs/luci-static/resources/view/fchomo/client.js:1327 -#: htdocs/luci-static/resources/view/fchomo/client.js:1422 -#: htdocs/luci-static/resources/view/fchomo/client.js:1564 -#: htdocs/luci-static/resources/view/fchomo/client.js:1798 -#: htdocs/luci-static/resources/view/fchomo/client.js:1854 -#: htdocs/luci-static/resources/view/fchomo/node.js:1673 +#: htdocs/luci-static/resources/view/fchomo/client.js:1034 +#: htdocs/luci-static/resources/view/fchomo/client.js:1331 +#: htdocs/luci-static/resources/view/fchomo/client.js:1426 +#: htdocs/luci-static/resources/view/fchomo/client.js:1568 +#: htdocs/luci-static/resources/view/fchomo/client.js:1802 +#: htdocs/luci-static/resources/view/fchomo/client.js:1858 +#: htdocs/luci-static/resources/view/fchomo/node.js:1684 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:247 msgid "mihomo config" msgstr "mihomo 配置" @@ -3778,8 +3806,8 @@ msgstr "mihomo 配置" msgid "mlkem768x25519plus" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1540 -#: htdocs/luci-static/resources/view/fchomo/node.js:1898 +#: htdocs/luci-static/resources/view/fchomo/node.js:1551 +#: htdocs/luci-static/resources/view/fchomo/node.js:1909 msgid "mpTCP" msgstr "多路径 TCP (mpTCP)" @@ -3787,24 +3815,24 @@ msgstr "多路径 TCP (mpTCP)" msgid "new_reno" msgstr "new_reno" -#: htdocs/luci-static/resources/view/fchomo/client.js:836 +#: htdocs/luci-static/resources/view/fchomo/client.js:840 msgid "no-resolve" msgstr "no-resolve" -#: htdocs/luci-static/resources/fchomo.js:1811 -#: htdocs/luci-static/resources/fchomo.js:1906 -#: htdocs/luci-static/resources/fchomo.js:1941 -#: htdocs/luci-static/resources/fchomo.js:1969 +#: htdocs/luci-static/resources/fchomo.js:1799 +#: htdocs/luci-static/resources/fchomo.js:1894 +#: htdocs/luci-static/resources/fchomo.js:1929 +#: htdocs/luci-static/resources/fchomo.js:1957 msgid "non-empty value" msgstr "非空值" #: htdocs/luci-static/resources/fchomo.js:343 #: htdocs/luci-static/resources/fchomo.js:357 #: htdocs/luci-static/resources/fchomo.js:369 -#: htdocs/luci-static/resources/fchomo/listeners.js:558 -#: htdocs/luci-static/resources/view/fchomo/node.js:704 -#: htdocs/luci-static/resources/view/fchomo/node.js:724 -#: htdocs/luci-static/resources/view/fchomo/node.js:882 +#: htdocs/luci-static/resources/fchomo/listeners.js:561 +#: htdocs/luci-static/resources/view/fchomo/node.js:715 +#: htdocs/luci-static/resources/view/fchomo/node.js:735 +#: htdocs/luci-static/resources/view/fchomo/node.js:893 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:324 msgid "none" msgstr "无" @@ -3813,51 +3841,51 @@ msgstr "无" msgid "not found" msgstr "未找到" -#: htdocs/luci-static/resources/view/fchomo/client.js:1047 +#: htdocs/luci-static/resources/view/fchomo/client.js:1051 msgid "not included \",\"" msgstr "不包含 \",\"" #: htdocs/luci-static/resources/fchomo.js:229 -#: htdocs/luci-static/resources/fchomo/listeners.js:619 -#: htdocs/luci-static/resources/fchomo/listeners.js:622 +#: htdocs/luci-static/resources/fchomo/listeners.js:629 +#: htdocs/luci-static/resources/fchomo/listeners.js:632 msgid "null" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:559 -#: htdocs/luci-static/resources/fchomo/listeners.js:567 -#: htdocs/luci-static/resources/view/fchomo/node.js:883 +#: htdocs/luci-static/resources/fchomo/listeners.js:562 +#: htdocs/luci-static/resources/fchomo/listeners.js:571 #: htdocs/luci-static/resources/view/fchomo/node.js:894 +#: htdocs/luci-static/resources/view/fchomo/node.js:905 msgid "obfs-simple" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:547 msgid "only applies when %s is %s." msgstr "仅当 %s 为 %s 时适用。" -#: htdocs/luci-static/resources/view/fchomo/node.js:534 +#: htdocs/luci-static/resources/view/fchomo/node.js:545 msgid "only applies when %s is not %s." msgstr "仅当 %s 不为 %s 时适用。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1878 +#: htdocs/luci-static/resources/view/fchomo/node.js:1889 msgid "override.proxy-name" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:725 +#: htdocs/luci-static/resources/view/fchomo/node.js:736 msgid "packet addr (v2ray-core v5+)" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1195 -#: htdocs/luci-static/resources/view/fchomo/node.js:1393 +#: htdocs/luci-static/resources/fchomo/listeners.js:1205 +#: htdocs/luci-static/resources/view/fchomo/node.js:1404 msgid "packet-up" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:439 -#: htdocs/luci-static/resources/view/fchomo/node.js:503 +#: htdocs/luci-static/resources/view/fchomo/node.js:514 msgid "poll" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1017 -#: htdocs/luci-static/resources/view/fchomo/node.js:1213 +#: htdocs/luci-static/resources/fchomo/listeners.js:1027 +#: htdocs/luci-static/resources/view/fchomo/node.js:1224 msgid "private key" msgstr "私钥" @@ -3865,12 +3893,13 @@ msgstr "私钥" msgid "razord-meta" msgstr "razord-meta" -#: htdocs/luci-static/resources/view/fchomo/client.js:1251 -#: htdocs/luci-static/resources/view/fchomo/client.js:1257 +#: htdocs/luci-static/resources/view/fchomo/client.js:1255 +#: htdocs/luci-static/resources/view/fchomo/client.js:1261 msgid "requires front-end adaptation using the API." msgstr "需要使用 API 的前端适配。" -#: htdocs/luci-static/resources/view/fchomo/node.js:887 +#: htdocs/luci-static/resources/fchomo/listeners.js:564 +#: htdocs/luci-static/resources/view/fchomo/node.js:898 msgid "restls" msgstr "" @@ -3878,41 +3907,41 @@ msgstr "" msgid "rule-set" msgstr "规则集" -#: htdocs/luci-static/resources/fchomo/listeners.js:560 -#: htdocs/luci-static/resources/fchomo/listeners.js:568 -#: htdocs/luci-static/resources/view/fchomo/node.js:886 -#: htdocs/luci-static/resources/view/fchomo/node.js:895 +#: htdocs/luci-static/resources/fchomo/listeners.js:563 +#: htdocs/luci-static/resources/fchomo/listeners.js:572 +#: htdocs/luci-static/resources/view/fchomo/node.js:897 +#: htdocs/luci-static/resources/view/fchomo/node.js:906 msgid "shadow-tls" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1465 +#: htdocs/luci-static/resources/view/fchomo/node.js:1476 msgid "smux" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:438 -#: htdocs/luci-static/resources/view/fchomo/node.js:502 +#: htdocs/luci-static/resources/view/fchomo/node.js:513 msgid "split-stream" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:818 +#: htdocs/luci-static/resources/view/fchomo/client.js:822 msgid "src" msgstr "src" -#: htdocs/luci-static/resources/fchomo/listeners.js:1193 -#: htdocs/luci-static/resources/view/fchomo/node.js:1391 +#: htdocs/luci-static/resources/fchomo/listeners.js:1203 +#: htdocs/luci-static/resources/view/fchomo/node.js:1402 msgid "stream-one" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1194 -#: htdocs/luci-static/resources/view/fchomo/node.js:1392 +#: htdocs/luci-static/resources/fchomo/listeners.js:1204 +#: htdocs/luci-static/resources/view/fchomo/node.js:1403 msgid "stream-up" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1210 +#: htdocs/luci-static/resources/fchomo/listeners.js:1220 msgid "stream-up server seconds" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:547 msgid "stream/poll/auto" msgstr "" @@ -3932,77 +3961,80 @@ msgstr "独立 UCI 标识" msgid "unique identifier" msgstr "独立标识" -#: htdocs/luci-static/resources/fchomo.js:1978 +#: htdocs/luci-static/resources/fchomo.js:1966 msgid "unique value" msgstr "独立值" -#: htdocs/luci-static/resources/view/fchomo/node.js:1914 +#: htdocs/luci-static/resources/view/fchomo/node.js:1925 msgid "up" msgstr "Hysteria 上传速率" -#: htdocs/luci-static/resources/fchomo/listeners.js:604 -#: htdocs/luci-static/resources/view/fchomo/node.js:552 -#: htdocs/luci-static/resources/view/fchomo/node.js:594 -#: htdocs/luci-static/resources/view/fchomo/node.js:924 -#: htdocs/luci-static/resources/view/fchomo/node.js:983 +#: htdocs/luci-static/resources/fchomo/listeners.js:464 +#: htdocs/luci-static/resources/fchomo/listeners.js:608 +#: htdocs/luci-static/resources/view/fchomo/node.js:563 +#: htdocs/luci-static/resources/view/fchomo/node.js:605 +#: htdocs/luci-static/resources/view/fchomo/node.js:935 +#: htdocs/luci-static/resources/view/fchomo/node.js:994 msgid "v1" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:605 -#: htdocs/luci-static/resources/view/fchomo/node.js:553 -#: htdocs/luci-static/resources/view/fchomo/node.js:925 -#: htdocs/luci-static/resources/view/fchomo/node.js:984 +#: htdocs/luci-static/resources/fchomo/listeners.js:465 +#: htdocs/luci-static/resources/fchomo/listeners.js:609 +#: htdocs/luci-static/resources/view/fchomo/node.js:564 +#: htdocs/luci-static/resources/view/fchomo/node.js:936 +#: htdocs/luci-static/resources/view/fchomo/node.js:995 msgid "v2" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:606 -#: htdocs/luci-static/resources/view/fchomo/node.js:554 -#: htdocs/luci-static/resources/view/fchomo/node.js:926 +#: htdocs/luci-static/resources/fchomo/listeners.js:466 +#: htdocs/luci-static/resources/fchomo/listeners.js:610 +#: htdocs/luci-static/resources/view/fchomo/node.js:565 +#: htdocs/luci-static/resources/view/fchomo/node.js:937 msgid "v3" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:464 -#: htdocs/luci-static/resources/view/fchomo/node.js:555 +#: htdocs/luci-static/resources/fchomo/listeners.js:467 +#: htdocs/luci-static/resources/view/fchomo/node.js:566 msgid "v4" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:465 -#: htdocs/luci-static/resources/view/fchomo/node.js:556 +#: htdocs/luci-static/resources/fchomo/listeners.js:468 +#: htdocs/luci-static/resources/view/fchomo/node.js:567 msgid "v5" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1858 -#: htdocs/luci-static/resources/fchomo.js:1861 +#: htdocs/luci-static/resources/fchomo.js:1846 +#: htdocs/luci-static/resources/fchomo.js:1849 msgid "valid JSON format" msgstr "有效的 JSON 格式" -#: htdocs/luci-static/resources/view/fchomo/node.js:1173 +#: htdocs/luci-static/resources/view/fchomo/node.js:1184 msgid "valid SHA256 string with %d characters" msgstr "包含 %d 个字符的有效 SHA256 字符串" -#: htdocs/luci-static/resources/fchomo.js:1883 -#: htdocs/luci-static/resources/fchomo.js:1886 +#: htdocs/luci-static/resources/fchomo.js:1871 +#: htdocs/luci-static/resources/fchomo.js:1874 msgid "valid URL" msgstr "有效网址" -#: htdocs/luci-static/resources/fchomo.js:1896 +#: htdocs/luci-static/resources/fchomo.js:1884 msgid "valid base64 key with %d characters" msgstr "包含 %d 个字符的有效 base64 密钥" -#: htdocs/luci-static/resources/fchomo.js:1956 -#: htdocs/luci-static/resources/fchomo.js:1962 +#: htdocs/luci-static/resources/fchomo.js:1944 +#: htdocs/luci-static/resources/fchomo.js:1950 msgid "valid format: 2x, 2p, 4v" msgstr "有效格式: 2x, 2p, 4v" -#: htdocs/luci-static/resources/fchomo.js:1943 +#: htdocs/luci-static/resources/fchomo.js:1931 msgid "valid key length with %d characters" msgstr "包含 %d 个字符的有效密钥" -#: htdocs/luci-static/resources/fchomo.js:1821 +#: htdocs/luci-static/resources/fchomo.js:1809 msgid "valid port value" msgstr "有效端口值" -#: htdocs/luci-static/resources/fchomo.js:1871 +#: htdocs/luci-static/resources/fchomo.js:1859 msgid "valid uuid" msgstr "有效 uuid" @@ -4022,7 +4054,7 @@ msgstr "" msgid "yacd-meta" msgstr "yacd-meta" -#: htdocs/luci-static/resources/view/fchomo/node.js:1466 +#: htdocs/luci-static/resources/view/fchomo/node.js:1477 msgid "yamux" msgstr "" @@ -4030,11 +4062,11 @@ msgstr "" msgid "zashboard" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:705 +#: htdocs/luci-static/resources/view/fchomo/node.js:716 msgid "zero" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1639 +#: htdocs/luci-static/resources/fchomo.js:1627 msgid "🡇" msgstr "" diff --git a/luci-app-fchomo/po/zh_Hant/fchomo.po b/luci-app-fchomo/po/zh_Hant/fchomo.po index 224c332a..97a4d829 100644 --- a/luci-app-fchomo/po/zh_Hant/fchomo.po +++ b/luci-app-fchomo/po/zh_Hant/fchomo.po @@ -27,49 +27,53 @@ msgstr "%s 連接埠" msgid "(Imported)" msgstr "(已導入)" -#: htdocs/luci-static/resources/fchomo/listeners.js:1020 -#: htdocs/luci-static/resources/fchomo/listeners.js:1028 -#: htdocs/luci-static/resources/fchomo/listeners.js:1037 +#: htdocs/luci-static/resources/fchomo/listeners.js:1030 +#: htdocs/luci-static/resources/fchomo/listeners.js:1038 +#: htdocs/luci-static/resources/fchomo/listeners.js:1047 #: htdocs/luci-static/resources/view/fchomo/global.js:564 #: htdocs/luci-static/resources/view/fchomo/global.js:570 -#: htdocs/luci-static/resources/view/fchomo/node.js:1188 -#: htdocs/luci-static/resources/view/fchomo/node.js:1194 -#: htdocs/luci-static/resources/view/fchomo/node.js:1202 -#: htdocs/luci-static/resources/view/fchomo/node.js:1208 +#: htdocs/luci-static/resources/view/fchomo/node.js:1199 +#: htdocs/luci-static/resources/view/fchomo/node.js:1205 +#: htdocs/luci-static/resources/view/fchomo/node.js:1213 +#: htdocs/luci-static/resources/view/fchomo/node.js:1219 msgid "(mTLS)" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:688 +#: htdocs/luci-static/resources/view/fchomo/client.js:696 msgid "-- NETWORK --" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1204 +#: htdocs/luci-static/resources/view/fchomo/client.js:1208 msgid "-- PROXY-GROUP --" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1139 -#: htdocs/luci-static/resources/view/fchomo/client.js:1206 +#: htdocs/luci-static/resources/view/fchomo/client.js:1143 +#: htdocs/luci-static/resources/view/fchomo/client.js:1210 msgid "-- PROXY-NODE --" msgstr "" #: htdocs/luci-static/resources/fchomo.js:832 -#: htdocs/luci-static/resources/view/fchomo/client.js:877 -#: htdocs/luci-static/resources/view/fchomo/client.js:880 -#: htdocs/luci-static/resources/view/fchomo/client.js:1077 +#: htdocs/luci-static/resources/view/fchomo/client.js:573 +#: htdocs/luci-static/resources/view/fchomo/client.js:881 +#: htdocs/luci-static/resources/view/fchomo/client.js:884 #: htdocs/luci-static/resources/view/fchomo/client.js:1081 -#: htdocs/luci-static/resources/view/fchomo/client.js:1097 +#: htdocs/luci-static/resources/view/fchomo/client.js:1085 #: htdocs/luci-static/resources/view/fchomo/client.js:1101 -#: htdocs/luci-static/resources/view/fchomo/client.js:1357 -#: htdocs/luci-static/resources/view/fchomo/node.js:270 -#: htdocs/luci-static/resources/view/fchomo/node.js:281 -#: htdocs/luci-static/resources/view/fchomo/node.js:2071 +#: htdocs/luci-static/resources/view/fchomo/client.js:1105 +#: htdocs/luci-static/resources/view/fchomo/client.js:1361 +#: htdocs/luci-static/resources/view/fchomo/node.js:284 #: htdocs/luci-static/resources/view/fchomo/node.js:2082 -#: htdocs/luci-static/resources/view/fchomo/node.js:2101 +#: htdocs/luci-static/resources/view/fchomo/node.js:2093 #: htdocs/luci-static/resources/view/fchomo/node.js:2112 +#: htdocs/luci-static/resources/view/fchomo/node.js:2123 msgid "-- Please choose --" msgstr "-- 請選擇 --" -#: htdocs/luci-static/resources/view/fchomo/client.js:691 +#: htdocs/luci-static/resources/view/fchomo/client.js:694 +msgid "-- REMATCH-NAME --" +msgstr "" + +#: htdocs/luci-static/resources/view/fchomo/client.js:699 msgid "-- RULE-SET --" msgstr "" @@ -102,20 +106,20 @@ msgstr "" msgid "2022-blake3-chacha20-poly1305" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:703 +#: htdocs/luci-static/resources/view/fchomo/client.js:707 msgid "0 or 1 only." msgstr "僅限 01。" -#: htdocs/luci-static/resources/fchomo/listeners.js:998 -#: htdocs/luci-static/resources/fchomo/listeners.js:1013 -#: htdocs/luci-static/resources/fchomo/listeners.js:1038 -#: htdocs/luci-static/resources/view/fchomo/node.js:1195 -#: htdocs/luci-static/resources/view/fchomo/node.js:1209 +#: htdocs/luci-static/resources/fchomo/listeners.js:1008 +#: htdocs/luci-static/resources/fchomo/listeners.js:1023 +#: htdocs/luci-static/resources/fchomo/listeners.js:1048 +#: htdocs/luci-static/resources/view/fchomo/node.js:1206 +#: htdocs/luci-static/resources/view/fchomo/node.js:1220 msgid "Save your configuration before uploading files!" msgstr "上傳文件前請先保存配置!" #: htdocs/luci-static/resources/fchomo/listeners.js:286 -#: htdocs/luci-static/resources/view/fchomo/node.js:424 +#: htdocs/luci-static/resources/view/fchomo/node.js:435 msgid "" "A base64 string is used to fine-tune network behavior.
Please refer to " "the document要從公共網站訪問私有網路上的 API,則必須啟用。" -#: htdocs/luci-static/resources/fchomo/listeners.js:979 +#: htdocs/luci-static/resources/fchomo/listeners.js:989 msgid "Allow insecure connections" msgstr "允許不安全的連線" -#: htdocs/luci-static/resources/view/fchomo/node.js:845 +#: htdocs/luci-static/resources/view/fchomo/node.js:856 msgid "Allowed IPs" msgstr "允許的 IP" @@ -299,8 +303,8 @@ msgstr "已是最新版本。" msgid "Already in updating." msgstr "已在更新中。" -#: htdocs/luci-static/resources/fchomo/listeners.js:540 -#: htdocs/luci-static/resources/view/fchomo/node.js:695 +#: htdocs/luci-static/resources/fchomo/listeners.js:543 +#: htdocs/luci-static/resources/view/fchomo/node.js:706 msgid "Alter ID" msgstr "額外 ID" @@ -322,20 +326,20 @@ msgstr "作為 dnsmasq 的最優先上游" msgid "As the TOP upstream of dnsmasq." msgstr "作為 dnsmasq 的最優先上游。" -#: htdocs/luci-static/resources/fchomo/listeners.js:490 +#: htdocs/luci-static/resources/fchomo/listeners.js:493 msgid "Auth timeout" msgstr "認證逾時" -#: htdocs/luci-static/resources/view/fchomo/node.js:717 +#: htdocs/luci-static/resources/view/fchomo/node.js:728 msgid "Authenticated length" msgstr "認證長度" #: htdocs/luci-static/resources/fchomo/listeners.js:440 -#: htdocs/luci-static/resources/fchomo/listeners.js:1192 +#: htdocs/luci-static/resources/fchomo/listeners.js:1202 #: htdocs/luci-static/resources/view/fchomo/global.js:423 -#: htdocs/luci-static/resources/view/fchomo/node.js:504 -#: htdocs/luci-static/resources/view/fchomo/node.js:528 -#: htdocs/luci-static/resources/view/fchomo/node.js:1390 +#: htdocs/luci-static/resources/view/fchomo/node.js:515 +#: htdocs/luci-static/resources/view/fchomo/node.js:539 +#: htdocs/luci-static/resources/view/fchomo/node.js:1401 msgid "Auto" msgstr "自動" @@ -351,8 +355,8 @@ msgstr "自動更新" msgid "Auto update resources." msgstr "自動更新資源文件。" -#: htdocs/luci-static/resources/fchomo/listeners.js:651 -#: htdocs/luci-static/resources/view/fchomo/node.js:953 +#: htdocs/luci-static/resources/fchomo/listeners.js:661 +#: htdocs/luci-static/resources/view/fchomo/node.js:964 msgid "BBR profile" msgstr "BBR 設定檔" @@ -360,11 +364,11 @@ msgstr "BBR 設定檔" msgid "Baidu" msgstr "百度" -#: htdocs/luci-static/resources/view/fchomo/node.js:732 +#: htdocs/luci-static/resources/view/fchomo/node.js:743 msgid "Base64 encoded ECDSA private key on the NIST P-256 curve." msgstr "基於 NIST P-256 曲線的 Base64 編碼 ECDSA 私鑰。" -#: htdocs/luci-static/resources/view/fchomo/node.js:740 +#: htdocs/luci-static/resources/view/fchomo/node.js:751 msgid "Base64 encoded ECDSA public key on the NIST P-256 curve." msgstr "基於 NIST P-256 曲線的 Base64 編碼 ECDSA 公鑰。" @@ -386,13 +390,13 @@ msgid "Binary mrs" msgstr "二進位 mrs" #: htdocs/luci-static/resources/view/fchomo/global.js:758 -#: htdocs/luci-static/resources/view/fchomo/node.js:1551 -#: htdocs/luci-static/resources/view/fchomo/node.js:1943 +#: htdocs/luci-static/resources/view/fchomo/node.js:1562 +#: htdocs/luci-static/resources/view/fchomo/node.js:1954 msgid "Bind interface" msgstr "綁定介面" -#: htdocs/luci-static/resources/view/fchomo/node.js:1552 -#: htdocs/luci-static/resources/view/fchomo/node.js:1944 +#: htdocs/luci-static/resources/view/fchomo/node.js:1563 +#: htdocs/luci-static/resources/view/fchomo/node.js:1955 msgid "Bind outbound interface.
" msgstr "綁定出站介面。
" @@ -409,16 +413,16 @@ msgstr "黑名單" msgid "Block DNS queries" msgstr "封鎖 DNS 請求" -#: htdocs/luci-static/resources/view/fchomo/client.js:1767 -#: htdocs/luci-static/resources/view/fchomo/client.js:1776 +#: htdocs/luci-static/resources/view/fchomo/client.js:1771 +#: htdocs/luci-static/resources/view/fchomo/client.js:1780 msgid "Bootstrap DNS policy (Node)" msgstr "引導 DNS 策略 (節點)" -#: htdocs/luci-static/resources/view/fchomo/client.js:1466 +#: htdocs/luci-static/resources/view/fchomo/client.js:1470 msgid "Bootstrap DNS server" msgstr "引導 DNS 伺服器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1473 +#: htdocs/luci-static/resources/view/fchomo/client.js:1477 msgid "Bootstrap DNS server (Node)" msgstr "引導 DNS 伺服器 (節點)" @@ -438,10 +442,10 @@ msgstr "繞過 DSCP" #: htdocs/luci-static/resources/fchomo/listeners.js:439 #: htdocs/luci-static/resources/fchomo/listeners.js:440 #: htdocs/luci-static/resources/fchomo/listeners.js:441 -#: htdocs/luci-static/resources/view/fchomo/node.js:502 -#: htdocs/luci-static/resources/view/fchomo/node.js:503 -#: htdocs/luci-static/resources/view/fchomo/node.js:504 -#: htdocs/luci-static/resources/view/fchomo/node.js:505 +#: htdocs/luci-static/resources/view/fchomo/node.js:513 +#: htdocs/luci-static/resources/view/fchomo/node.js:514 +#: htdocs/luci-static/resources/view/fchomo/node.js:515 +#: htdocs/luci-static/resources/view/fchomo/node.js:516 msgid "CDN support" msgstr "CDN 支援" @@ -461,17 +465,17 @@ msgstr "CORS 允許的來源,留空則使用 *。" msgid "Cancel" msgstr "取消" -#: htdocs/luci-static/resources/view/fchomo/node.js:1167 +#: htdocs/luci-static/resources/view/fchomo/node.js:1178 msgid "Cert fingerprint" msgstr "憑證指紋" -#: htdocs/luci-static/resources/view/fchomo/node.js:1168 +#: htdocs/luci-static/resources/view/fchomo/node.js:1179 msgid "" "Certificate fingerprint. Used to implement SSL Pinning and prevent MitM." msgstr "憑證指紋。用於實現 SSL憑證固定 並防止 MitM。" -#: htdocs/luci-static/resources/fchomo/listeners.js:990 -#: htdocs/luci-static/resources/view/fchomo/node.js:1188 +#: htdocs/luci-static/resources/fchomo/listeners.js:1000 +#: htdocs/luci-static/resources/view/fchomo/node.js:1199 msgid "Certificate path" msgstr "憑證路徑" @@ -484,7 +488,7 @@ msgstr "檢查" msgid "Check routerself NAT Behavior" msgstr "檢測路由器自身 NAT 行為" -#: htdocs/luci-static/resources/view/fchomo/client.js:1921 +#: htdocs/luci-static/resources/view/fchomo/client.js:1926 msgid "" "Check the response from the %s, only initiate query if the " "%s is satisfied." @@ -509,14 +513,14 @@ msgstr "大陸網域清單版本" #: htdocs/luci-static/resources/fchomo/listeners.js:255 #: htdocs/luci-static/resources/fchomo/listeners.js:354 -#: htdocs/luci-static/resources/view/fchomo/node.js:377 -#: htdocs/luci-static/resources/view/fchomo/node.js:436 -#: htdocs/luci-static/resources/view/fchomo/node.js:701 +#: htdocs/luci-static/resources/view/fchomo/node.js:388 +#: htdocs/luci-static/resources/view/fchomo/node.js:447 +#: htdocs/luci-static/resources/view/fchomo/node.js:712 msgid "Chipher" msgstr "加密方法" #: htdocs/luci-static/resources/fchomo/listeners.js:363 -#: htdocs/luci-static/resources/view/fchomo/node.js:445 +#: htdocs/luci-static/resources/view/fchomo/node.js:456 msgid "Chipher must be enabled if obfuscate downlink is disabled." msgstr "如果下行鏈路混淆功能已停用,則必須啟用加密。" @@ -532,25 +536,25 @@ msgstr "" "點擊
此處下載" "最新的初始包。" -#: htdocs/luci-static/resources/fchomo/listeners.js:749 -#: htdocs/luci-static/resources/fchomo/listeners.js:1029 +#: htdocs/luci-static/resources/fchomo/listeners.js:759 +#: htdocs/luci-static/resources/fchomo/listeners.js:1039 #: htdocs/luci-static/resources/view/fchomo/global.js:571 -#: htdocs/luci-static/resources/view/fchomo/node.js:1025 -#: htdocs/luci-static/resources/view/fchomo/node.js:1189 -#: htdocs/luci-static/resources/view/fchomo/node.js:1203 +#: htdocs/luci-static/resources/view/fchomo/node.js:1036 +#: htdocs/luci-static/resources/view/fchomo/node.js:1200 +#: htdocs/luci-static/resources/view/fchomo/node.js:1214 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:22 msgid "Client" msgstr "客戶端" -#: htdocs/luci-static/resources/fchomo/listeners.js:1028 +#: htdocs/luci-static/resources/fchomo/listeners.js:1038 msgid "Client Auth Certificate path" msgstr "客戶端認證憑證路徑" -#: htdocs/luci-static/resources/fchomo/listeners.js:1020 +#: htdocs/luci-static/resources/fchomo/listeners.js:1030 msgid "Client Auth type" msgstr "客戶端認證類型" -#: htdocs/luci-static/resources/view/fchomo/node.js:1234 +#: htdocs/luci-static/resources/view/fchomo/node.js:1245 msgid "Client fingerprint" msgstr "客戶端指紋" @@ -571,16 +575,16 @@ msgstr "收集資料中..." msgid "Common ports (bypass P2P traffic)" msgstr "常用連接埠(繞過 P2P 流量)" -#: htdocs/luci-static/resources/fchomo.js:1755 +#: htdocs/luci-static/resources/fchomo.js:1743 msgid "Complete" msgstr "完成" -#: htdocs/luci-static/resources/view/fchomo/node.js:1887 +#: htdocs/luci-static/resources/view/fchomo/node.js:1898 msgid "Configuration Items" msgstr "配置項" -#: htdocs/luci-static/resources/fchomo/listeners.js:643 -#: htdocs/luci-static/resources/view/fchomo/node.js:944 +#: htdocs/luci-static/resources/fchomo/listeners.js:653 +#: htdocs/luci-static/resources/view/fchomo/node.js:955 msgid "Congestion controller" msgstr "擁塞控制器" @@ -588,7 +592,7 @@ msgstr "擁塞控制器" msgid "Connection check" msgstr "連接檢查" -#: htdocs/luci-static/resources/view/fchomo/node.js:561 +#: htdocs/luci-static/resources/view/fchomo/node.js:572 msgid "Connection reuse" msgstr "連接重用" @@ -600,15 +604,15 @@ msgstr "保守" msgid "Content copied to clipboard!" msgstr "內容已複製到剪貼簿!" -#: htdocs/luci-static/resources/view/fchomo/client.js:681 -#: htdocs/luci-static/resources/view/fchomo/node.js:1727 -#: htdocs/luci-static/resources/view/fchomo/node.js:1753 +#: htdocs/luci-static/resources/view/fchomo/client.js:687 +#: htdocs/luci-static/resources/view/fchomo/node.js:1738 +#: htdocs/luci-static/resources/view/fchomo/node.js:1764 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:348 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:374 msgid "Content will not be verified, Please make sure you enter it correctly." msgstr "內容將不會被驗證,請確保輸入正確。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1726 +#: htdocs/luci-static/resources/view/fchomo/node.js:1737 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:347 msgid "Contents" msgstr "內容" @@ -633,7 +637,7 @@ msgstr "Cron 表達式" msgid "Custom Direct List" msgstr "自訂直連清單" -#: htdocs/luci-static/resources/view/fchomo/node.js:1858 +#: htdocs/luci-static/resources/view/fchomo/node.js:1869 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:420 msgid "Custom HTTP header." msgstr "自訂 HTTP header。" @@ -643,7 +647,7 @@ msgid "Custom Proxy List" msgstr "自訂代理清單" #: htdocs/luci-static/resources/fchomo/listeners.js:378 -#: htdocs/luci-static/resources/view/fchomo/node.js:460 +#: htdocs/luci-static/resources/view/fchomo/node.js:471 msgid "Custom byte layout" msgstr "自訂位元組佈局" @@ -656,8 +660,9 @@ msgstr "自訂內部 hosts。支援 yamljson 格 msgid "DIRECT" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1819 -#: htdocs/luci-static/resources/view/fchomo/client.js:1828 +#: htdocs/luci-static/resources/view/fchomo/client.js:1823 +#: htdocs/luci-static/resources/view/fchomo/client.js:1832 +#: htdocs/luci-static/resources/view/fchomo/client.js:1907 msgid "DNS policy" msgstr "DNS 策略" @@ -665,15 +670,15 @@ msgstr "DNS 策略" msgid "DNS port" msgstr " DNS 連接埠" -#: htdocs/luci-static/resources/view/fchomo/client.js:895 -#: htdocs/luci-static/resources/view/fchomo/client.js:1512 -#: htdocs/luci-static/resources/view/fchomo/client.js:1521 -#: htdocs/luci-static/resources/view/fchomo/node.js:792 -#: htdocs/luci-static/resources/view/fchomo/node.js:875 +#: htdocs/luci-static/resources/view/fchomo/client.js:899 +#: htdocs/luci-static/resources/view/fchomo/client.js:1516 +#: htdocs/luci-static/resources/view/fchomo/client.js:1525 +#: htdocs/luci-static/resources/view/fchomo/node.js:803 +#: htdocs/luci-static/resources/view/fchomo/node.js:886 msgid "DNS server" msgstr "DNS 伺服器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1449 +#: htdocs/luci-static/resources/view/fchomo/client.js:1453 msgid "DNS settings" msgstr "DNS 設定" @@ -693,13 +698,13 @@ msgstr "調試" msgid "Default DNS (issued by WAN)" msgstr "預設 DNS(由 WAN 下發)" -#: htdocs/luci-static/resources/view/fchomo/client.js:1487 -#: htdocs/luci-static/resources/view/fchomo/client.js:1922 -#: htdocs/luci-static/resources/view/fchomo/client.js:1925 +#: htdocs/luci-static/resources/view/fchomo/client.js:1491 +#: htdocs/luci-static/resources/view/fchomo/client.js:1927 +#: htdocs/luci-static/resources/view/fchomo/client.js:1930 msgid "Default DNS server" msgstr "預設 DNS 伺服器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1197 +#: htdocs/luci-static/resources/view/fchomo/client.js:1201 msgid "Default selected" msgstr "預設選中" @@ -707,15 +712,15 @@ msgstr "預設選中" msgid "Derive from priv-key" msgstr "從私鑰派生" -#: htdocs/luci-static/resources/view/fchomo/node.js:846 +#: htdocs/luci-static/resources/view/fchomo/node.js:857 msgid "Destination addresses allowed to be forwarded via Wireguard." msgstr "允許通過 WireGuard 轉發的目的位址" -#: htdocs/luci-static/resources/view/fchomo/node.js:2068 +#: htdocs/luci-static/resources/view/fchomo/node.js:2079 msgid "Destination provider" msgstr "落地供應商" -#: htdocs/luci-static/resources/view/fchomo/node.js:2079 +#: htdocs/luci-static/resources/view/fchomo/node.js:2090 msgid "Destination proxy node" msgstr "落地代理節點" @@ -723,8 +728,8 @@ msgstr "落地代理節點" msgid "Dial fields" msgstr "撥號欄位" -#: htdocs/luci-static/resources/view/fchomo/node.js:2091 -#: htdocs/luci-static/resources/view/fchomo/node.js:2121 +#: htdocs/luci-static/resources/view/fchomo/node.js:2102 +#: htdocs/luci-static/resources/view/fchomo/node.js:2132 msgid "Different chain head/tail" msgstr "不同的鏈頭/鏈尾" @@ -746,7 +751,7 @@ msgstr "直連 MAC 位址" #: htdocs/luci-static/resources/fchomo/listeners.js:194 #: htdocs/luci-static/resources/view/fchomo/global.js:424 -#: htdocs/luci-static/resources/view/fchomo/node.js:332 +#: htdocs/luci-static/resources/view/fchomo/node.js:343 msgid "Disable" msgstr "停用" @@ -762,11 +767,11 @@ msgstr "停用 quic-go 的 通用分段卸載(GSO)" msgid "Disable ICMP Forwarding" msgstr "禁用 ICMP 轉發" -#: htdocs/luci-static/resources/view/fchomo/node.js:1110 +#: htdocs/luci-static/resources/view/fchomo/node.js:1121 msgid "Disable SNI" msgstr "停用 SNI" -#: htdocs/luci-static/resources/view/fchomo/client.js:1146 +#: htdocs/luci-static/resources/view/fchomo/client.js:1150 msgid "Disable UDP" msgstr "停用 UDP" @@ -774,7 +779,7 @@ msgstr "停用 UDP" msgid "Disable safe path check" msgstr "禁用安全路徑檢查" -#: htdocs/luci-static/resources/view/fchomo/client.js:837 +#: htdocs/luci-static/resources/view/fchomo/client.js:841 msgid "" "Do not resolve the domain connection to IP for this match.
Only works " "for pure domain inbound connections without DNS resolution. e.g., socks5h" @@ -782,37 +787,39 @@ msgstr "" "不要將網域連線解析為 IP 以進行此次匹配。
僅對未經 DNS 解析的純網域入站連" "線有效。例如,socks5h" -#: htdocs/luci-static/resources/view/fchomo/client.js:860 -#: htdocs/luci-static/resources/view/fchomo/client.js:865 -#: htdocs/luci-static/resources/view/fchomo/client.js:1902 -#: htdocs/luci-static/resources/view/fchomo/client.js:1909 -#: htdocs/luci-static/resources/view/fchomo/client.js:1911 +#: htdocs/luci-static/resources/view/fchomo/client.js:864 +#: htdocs/luci-static/resources/view/fchomo/client.js:869 +#: htdocs/luci-static/resources/view/fchomo/client.js:1906 +#: htdocs/luci-static/resources/view/fchomo/client.js:1914 +#: htdocs/luci-static/resources/view/fchomo/client.js:1916 msgid "Domain" msgstr "網域" -#: htdocs/luci-static/resources/view/fchomo/node.js:1111 +#: htdocs/luci-static/resources/view/fchomo/node.js:1122 msgid "Donot send server name in ClientHello." msgstr "不要在 ClientHello 中傳送伺服器名稱。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1664 -#: htdocs/luci-static/resources/view/fchomo/node.js:1181 -#: htdocs/luci-static/resources/view/fchomo/node.js:1927 +#: htdocs/luci-static/resources/view/fchomo/client.js:1668 +#: htdocs/luci-static/resources/view/fchomo/node.js:1192 +#: htdocs/luci-static/resources/view/fchomo/node.js:1938 msgid "Donot verifying server certificate." msgstr "不驗證伺服器憑證。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1528 +#: htdocs/luci-static/resources/fchomo/listeners.js:1254 +#: htdocs/luci-static/resources/view/fchomo/node.js:1539 msgid "Download bandwidth" msgstr "下載頻寬" -#: htdocs/luci-static/resources/view/fchomo/node.js:1529 +#: htdocs/luci-static/resources/fchomo/listeners.js:1255 +#: htdocs/luci-static/resources/view/fchomo/node.js:1540 msgid "Download bandwidth in Mbps." msgstr "下載頻寬(單位:Mbps)。" -#: htdocs/luci-static/resources/fchomo.js:1634 +#: htdocs/luci-static/resources/fchomo.js:1622 msgid "Download failed: %s" msgstr "下載失敗: %s" -#: htdocs/luci-static/resources/fchomo.js:1632 +#: htdocs/luci-static/resources/fchomo.js:1620 msgid "Download successful." msgstr "下載成功。" @@ -820,24 +827,24 @@ msgstr "下載成功。" msgid "Dual stack" msgstr "雙棧" -#: htdocs/luci-static/resources/view/fchomo/node.js:1228 +#: htdocs/luci-static/resources/view/fchomo/node.js:1239 msgid "ECH HTTPS record query servername" msgstr "ECH HTTPS 記錄查詢網域" -#: htdocs/luci-static/resources/fchomo/listeners.js:1086 -#: htdocs/luci-static/resources/view/fchomo/node.js:1222 +#: htdocs/luci-static/resources/fchomo/listeners.js:1096 +#: htdocs/luci-static/resources/view/fchomo/node.js:1233 msgid "ECH config" msgstr "ECH 配置" -#: htdocs/luci-static/resources/fchomo/listeners.js:1045 +#: htdocs/luci-static/resources/fchomo/listeners.js:1055 msgid "ECH key" msgstr "ECH 密鑰" -#: htdocs/luci-static/resources/view/fchomo/client.js:1698 +#: htdocs/luci-static/resources/view/fchomo/client.js:1702 msgid "ECS override" msgstr "強制覆蓋 ECS" -#: htdocs/luci-static/resources/view/fchomo/client.js:1682 +#: htdocs/luci-static/resources/view/fchomo/client.js:1686 msgid "EDNS Client Subnet" msgstr "EDNS 客戶端子網" @@ -845,11 +852,11 @@ msgstr "EDNS 客戶端子網" msgid "ETag support" msgstr "ETag 支援" -#: htdocs/luci-static/resources/view/fchomo/node.js:1368 +#: htdocs/luci-static/resources/view/fchomo/node.js:1379 msgid "Early Data first packet length limit." msgstr "前置數據長度閾值" -#: htdocs/luci-static/resources/view/fchomo/node.js:1374 +#: htdocs/luci-static/resources/view/fchomo/node.js:1385 msgid "Early Data header name" msgstr "前置數據標頭" @@ -865,7 +872,7 @@ msgstr "編輯出站" msgid "Edit ruleset" msgstr "編輯規則集" -#: htdocs/luci-static/resources/view/fchomo/node.js:1724 +#: htdocs/luci-static/resources/view/fchomo/node.js:1735 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:345 msgid "Editer" msgstr "編輯器" @@ -874,30 +881,30 @@ msgstr "編輯器" msgid "Eliminate encryption header characteristics" msgstr "消除加密頭特徵" -#: htdocs/luci-static/resources/view/fchomo/client.js:1131 +#: htdocs/luci-static/resources/view/fchomo/client.js:1135 msgid "Empty fallback" msgstr "為空時回退" #: htdocs/luci-static/resources/fchomo/listeners.js:133 -#: htdocs/luci-static/resources/view/fchomo/client.js:958 -#: htdocs/luci-static/resources/view/fchomo/client.js:1053 -#: htdocs/luci-static/resources/view/fchomo/client.js:1340 -#: htdocs/luci-static/resources/view/fchomo/client.js:1435 -#: htdocs/luci-static/resources/view/fchomo/client.js:1577 -#: htdocs/luci-static/resources/view/fchomo/client.js:1811 -#: htdocs/luci-static/resources/view/fchomo/client.js:1867 +#: htdocs/luci-static/resources/view/fchomo/client.js:962 +#: htdocs/luci-static/resources/view/fchomo/client.js:1057 +#: htdocs/luci-static/resources/view/fchomo/client.js:1344 +#: htdocs/luci-static/resources/view/fchomo/client.js:1439 +#: htdocs/luci-static/resources/view/fchomo/client.js:1581 +#: htdocs/luci-static/resources/view/fchomo/client.js:1815 +#: htdocs/luci-static/resources/view/fchomo/client.js:1871 #: htdocs/luci-static/resources/view/fchomo/global.js:422 #: htdocs/luci-static/resources/view/fchomo/global.js:704 #: htdocs/luci-static/resources/view/fchomo/node.js:246 -#: htdocs/luci-static/resources/view/fchomo/node.js:1697 -#: htdocs/luci-static/resources/view/fchomo/node.js:1966 -#: htdocs/luci-static/resources/view/fchomo/node.js:2055 +#: htdocs/luci-static/resources/view/fchomo/node.js:1708 +#: htdocs/luci-static/resources/view/fchomo/node.js:1977 +#: htdocs/luci-static/resources/view/fchomo/node.js:2066 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:272 #: htdocs/luci-static/resources/view/fchomo/server.js:49 msgid "Enable" msgstr "啟用" -#: htdocs/luci-static/resources/view/fchomo/node.js:610 +#: htdocs/luci-static/resources/view/fchomo/node.js:621 msgid "" "Enable 0-RTT QUIC connection handshake on the client side. This is not " "impacting much on the performance, as the protocol is fully multiplexed.
強烈建議停用此功能,因為它容易受到重放攻擊。" -#: htdocs/luci-static/resources/view/fchomo/node.js:609 +#: htdocs/luci-static/resources/view/fchomo/node.js:620 msgid "Enable 0-RTT handshake" msgstr "啟用 0-RTT 握手" @@ -918,57 +925,60 @@ msgstr "" "為出站連線啟用 IP4P 轉換" -#: htdocs/luci-static/resources/view/fchomo/node.js:1216 +#: htdocs/luci-static/resources/view/fchomo/node.js:1227 msgid "Enable ECH" msgstr "啟用 ECH" -#: htdocs/luci-static/resources/view/fchomo/node.js:1516 +#: htdocs/luci-static/resources/fchomo/listeners.js:1242 +#: htdocs/luci-static/resources/view/fchomo/node.js:1527 msgid "Enable TCP Brutal" msgstr "啟用 TCP Brutal" -#: htdocs/luci-static/resources/view/fchomo/node.js:1517 +#: htdocs/luci-static/resources/fchomo/listeners.js:1243 +#: htdocs/luci-static/resources/view/fchomo/node.js:1528 msgid "Enable TCP Brutal congestion control algorithm" msgstr "啟用 TCP Brutal 擁塞控制演算法。" -#: htdocs/luci-static/resources/view/fchomo/node.js:604 +#: htdocs/luci-static/resources/view/fchomo/node.js:615 msgid "Enable fast open" msgstr "啟用 Fast open" -#: htdocs/luci-static/resources/view/fchomo/node.js:1505 +#: htdocs/luci-static/resources/view/fchomo/node.js:1516 msgid "Enable multiplexing only for TCP." msgstr "僅為 TCP 啟用多路復用。" #: htdocs/luci-static/resources/fchomo/listeners.js:424 -#: htdocs/luci-static/resources/view/fchomo/node.js:488 +#: htdocs/luci-static/resources/view/fchomo/node.js:499 msgid "Enable obfuscate for downlink" msgstr "啟用下行鏈路混淆" -#: htdocs/luci-static/resources/view/fchomo/node.js:1499 +#: htdocs/luci-static/resources/fchomo/listeners.js:1237 +#: htdocs/luci-static/resources/view/fchomo/node.js:1510 msgid "Enable padding" msgstr "啟用填充" -#: htdocs/luci-static/resources/view/fchomo/node.js:1510 +#: htdocs/luci-static/resources/view/fchomo/node.js:1521 msgid "Enable statistic" msgstr "啟用統計" -#: htdocs/luci-static/resources/view/fchomo/node.js:977 -#: htdocs/luci-static/resources/view/fchomo/node.js:1909 +#: htdocs/luci-static/resources/view/fchomo/node.js:988 +#: htdocs/luci-static/resources/view/fchomo/node.js:1920 msgid "" "Enable the SUoT protocol, requires server support. Conflict with Multiplex." msgstr "啟用 SUoT 協議,需要服務端支援。與多路復用衝突。" #: htdocs/luci-static/resources/fchomo/listeners.js:201 -#: htdocs/luci-static/resources/view/fchomo/node.js:339 +#: htdocs/luci-static/resources/view/fchomo/node.js:350 msgid "" "Enabling obfuscation will make the server incompatible with standard QUIC " "connections, losing the ability to masquerade with HTTP/3." msgstr "啟用混淆將使伺服器與標準的 QUIC 連線不相容,失去 HTTP/3 偽裝的能力。" -#: htdocs/luci-static/resources/fchomo/listeners.js:712 +#: htdocs/luci-static/resources/fchomo/listeners.js:722 msgid "Encryption method" msgstr "加密方法" -#: htdocs/luci-static/resources/view/fchomo/node.js:739 +#: htdocs/luci-static/resources/view/fchomo/node.js:750 msgid "Endpoint pubkic key" msgstr "端點公鑰" @@ -976,8 +986,8 @@ msgstr "端點公鑰" msgid "Endpoint-Independent NAT" msgstr "端點獨立 NAT" -#: htdocs/luci-static/resources/view/fchomo/client.js:736 -#: htdocs/luci-static/resources/view/fchomo/client.js:887 +#: htdocs/luci-static/resources/view/fchomo/client.js:740 +#: htdocs/luci-static/resources/view/fchomo/client.js:891 msgid "Entry" msgstr "條目" @@ -985,17 +995,17 @@ msgstr "條目" msgid "Error" msgstr "錯誤" -#: htdocs/luci-static/resources/view/fchomo/client.js:1190 +#: htdocs/luci-static/resources/view/fchomo/client.js:1194 msgid "" "Exceeding this triggers a forced health check. 5 will be used " "if empty." msgstr "超過此限制將會觸發強制健康檢查。留空則使用 5。" -#: htdocs/luci-static/resources/view/fchomo/node.js:2024 +#: htdocs/luci-static/resources/view/fchomo/node.js:2035 msgid "Exclude matched node types." msgstr "排除匹配的節點類型。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1244 +#: htdocs/luci-static/resources/view/fchomo/client.js:1248 msgid "" "Exclude matched node types. Available types see here." @@ -1003,8 +1013,8 @@ msgstr "" "排除匹配的節點類型。可用類型請參考此處。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1239 -#: htdocs/luci-static/resources/view/fchomo/node.js:2017 +#: htdocs/luci-static/resources/view/fchomo/client.js:1243 +#: htdocs/luci-static/resources/view/fchomo/node.js:2028 msgid "Exclude nodes that meet keywords or regexps." msgstr "排除匹配關鍵字或表達式的節點。" @@ -1012,69 +1022,74 @@ msgstr "排除匹配關鍵字或表達式的節點。" msgid "Expand/Collapse result" msgstr "展開/收起 結果" -#: htdocs/luci-static/resources/view/fchomo/client.js:1182 -#: htdocs/luci-static/resources/view/fchomo/node.js:2002 +#: htdocs/luci-static/resources/view/fchomo/client.js:1186 +#: htdocs/luci-static/resources/view/fchomo/node.js:2013 msgid "Expected HTTP code. 204 will be used if empty." msgstr "預期的 HTTP code。留空則使用 204。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1184 -#: htdocs/luci-static/resources/view/fchomo/node.js:2004 +#: htdocs/luci-static/resources/view/fchomo/client.js:1188 +#: htdocs/luci-static/resources/view/fchomo/node.js:2015 msgid "Expected status" msgstr "預期狀態" #: htdocs/luci-static/resources/fchomo.js:452 #: htdocs/luci-static/resources/fchomo.js:455 #: htdocs/luci-static/resources/fchomo.js:458 -#: htdocs/luci-static/resources/fchomo.js:1772 -#: htdocs/luci-static/resources/fchomo.js:1780 -#: htdocs/luci-static/resources/fchomo.js:1788 -#: htdocs/luci-static/resources/fchomo.js:1811 -#: htdocs/luci-static/resources/fchomo.js:1814 -#: htdocs/luci-static/resources/fchomo.js:1821 -#: htdocs/luci-static/resources/fchomo.js:1837 +#: htdocs/luci-static/resources/fchomo.js:1760 +#: htdocs/luci-static/resources/fchomo.js:1768 +#: htdocs/luci-static/resources/fchomo.js:1776 +#: htdocs/luci-static/resources/fchomo.js:1799 +#: htdocs/luci-static/resources/fchomo.js:1802 +#: htdocs/luci-static/resources/fchomo.js:1809 +#: htdocs/luci-static/resources/fchomo.js:1825 +#: htdocs/luci-static/resources/fchomo.js:1834 #: htdocs/luci-static/resources/fchomo.js:1846 -#: htdocs/luci-static/resources/fchomo.js:1858 -#: htdocs/luci-static/resources/fchomo.js:1861 +#: htdocs/luci-static/resources/fchomo.js:1849 +#: htdocs/luci-static/resources/fchomo.js:1859 #: htdocs/luci-static/resources/fchomo.js:1871 -#: htdocs/luci-static/resources/fchomo.js:1883 -#: htdocs/luci-static/resources/fchomo.js:1886 -#: htdocs/luci-static/resources/fchomo.js:1896 -#: htdocs/luci-static/resources/fchomo.js:1906 -#: htdocs/luci-static/resources/fchomo.js:1941 -#: htdocs/luci-static/resources/fchomo.js:1943 -#: htdocs/luci-static/resources/fchomo.js:1956 -#: htdocs/luci-static/resources/fchomo.js:1962 -#: htdocs/luci-static/resources/fchomo.js:1969 -#: htdocs/luci-static/resources/fchomo.js:1978 +#: htdocs/luci-static/resources/fchomo.js:1874 +#: htdocs/luci-static/resources/fchomo.js:1884 +#: htdocs/luci-static/resources/fchomo.js:1894 +#: htdocs/luci-static/resources/fchomo.js:1929 +#: htdocs/luci-static/resources/fchomo.js:1931 +#: htdocs/luci-static/resources/fchomo.js:1944 +#: htdocs/luci-static/resources/fchomo.js:1950 +#: htdocs/luci-static/resources/fchomo.js:1957 +#: htdocs/luci-static/resources/fchomo.js:1966 #: htdocs/luci-static/resources/fchomo/listeners.js:363 #: htdocs/luci-static/resources/fchomo/listeners.js:410 -#: htdocs/luci-static/resources/fchomo/listeners.js:741 -#: htdocs/luci-static/resources/fchomo/listeners.js:772 -#: htdocs/luci-static/resources/fchomo/listeners.js:873 +#: htdocs/luci-static/resources/fchomo/listeners.js:751 +#: htdocs/luci-static/resources/fchomo/listeners.js:782 +#: htdocs/luci-static/resources/fchomo/listeners.js:883 #: htdocs/luci-static/resources/view/fchomo/client.js:71 -#: htdocs/luci-static/resources/view/fchomo/client.js:1047 -#: htdocs/luci-static/resources/view/fchomo/client.js:1592 +#: htdocs/luci-static/resources/view/fchomo/client.js:1051 +#: htdocs/luci-static/resources/view/fchomo/client.js:1596 #: htdocs/luci-static/resources/view/fchomo/global.js:904 -#: htdocs/luci-static/resources/view/fchomo/node.js:445 -#: htdocs/luci-static/resources/view/fchomo/node.js:481 -#: htdocs/luci-static/resources/view/fchomo/node.js:534 -#: htdocs/luci-static/resources/view/fchomo/node.js:536 -#: htdocs/luci-static/resources/view/fchomo/node.js:1048 -#: htdocs/luci-static/resources/view/fchomo/node.js:1173 -#: htdocs/luci-static/resources/view/fchomo/node.js:2091 -#: htdocs/luci-static/resources/view/fchomo/node.js:2121 +#: htdocs/luci-static/resources/view/fchomo/node.js:456 +#: htdocs/luci-static/resources/view/fchomo/node.js:492 +#: htdocs/luci-static/resources/view/fchomo/node.js:545 +#: htdocs/luci-static/resources/view/fchomo/node.js:547 +#: htdocs/luci-static/resources/view/fchomo/node.js:1059 +#: htdocs/luci-static/resources/view/fchomo/node.js:1184 +#: htdocs/luci-static/resources/view/fchomo/node.js:2102 +#: htdocs/luci-static/resources/view/fchomo/node.js:2132 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:300 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:314 msgid "Expecting: %s" msgstr "請輸入:%s" -#: htdocs/luci-static/resources/fchomo/listeners.js:567 -#: htdocs/luci-static/resources/fchomo/listeners.js:1153 -#: htdocs/luci-static/resources/fchomo/listeners.js:1160 -#: htdocs/luci-static/resources/view/fchomo/node.js:894 -#: htdocs/luci-static/resources/view/fchomo/node.js:1283 -#: htdocs/luci-static/resources/view/fchomo/node.js:1290 -#: htdocs/luci-static/resources/view/fchomo/node.js:1298 +#: htdocs/luci-static/resources/view/fchomo/node.js:274 +#: htdocs/luci-static/resources/view/fchomo/node.js:292 +msgid "Expecting: Least one of %s or %s." +msgstr "請輸入:至少包含 %s 或 %s 中的一個。" + +#: htdocs/luci-static/resources/fchomo/listeners.js:571 +#: htdocs/luci-static/resources/fchomo/listeners.js:1163 +#: htdocs/luci-static/resources/fchomo/listeners.js:1170 +#: htdocs/luci-static/resources/view/fchomo/node.js:905 +#: htdocs/luci-static/resources/view/fchomo/node.js:1294 +#: htdocs/luci-static/resources/view/fchomo/node.js:1301 +#: htdocs/luci-static/resources/view/fchomo/node.js:1309 msgid "Expecting: only support %s." msgstr "請輸入:僅支援 %s。" @@ -1084,29 +1099,29 @@ msgstr "實驗性" #: htdocs/luci-static/resources/view/fchomo/client.js:553 #: htdocs/luci-static/resources/view/fchomo/client.js:566 -#: htdocs/luci-static/resources/view/fchomo/client.js:574 -#: htdocs/luci-static/resources/view/fchomo/client.js:581 -#: htdocs/luci-static/resources/view/fchomo/client.js:591 -#: htdocs/luci-static/resources/view/fchomo/client.js:598 -#: htdocs/luci-static/resources/view/fchomo/client.js:606 -#: htdocs/luci-static/resources/view/fchomo/client.js:613 -#: htdocs/luci-static/resources/view/fchomo/client.js:680 +#: htdocs/luci-static/resources/view/fchomo/client.js:580 +#: htdocs/luci-static/resources/view/fchomo/client.js:587 +#: htdocs/luci-static/resources/view/fchomo/client.js:597 +#: htdocs/luci-static/resources/view/fchomo/client.js:604 +#: htdocs/luci-static/resources/view/fchomo/client.js:612 +#: htdocs/luci-static/resources/view/fchomo/client.js:619 +#: htdocs/luci-static/resources/view/fchomo/client.js:686 msgid "Factor" msgstr "條件" -#: htdocs/luci-static/resources/fchomo.js:1713 +#: htdocs/luci-static/resources/fchomo.js:1701 msgid "Failed to execute \"/etc/init.d/fchomo %s %s\" reason: %s" msgstr "無法執行 \"/etc/init.d/fchomo %s %s\" 原因: %s" -#: htdocs/luci-static/resources/fchomo.js:1666 +#: htdocs/luci-static/resources/fchomo.js:1654 msgid "Failed to generate %s, error: %s." msgstr "生成 %s 失敗,錯誤:%s。" -#: htdocs/luci-static/resources/fchomo.js:2078 +#: htdocs/luci-static/resources/fchomo.js:2066 msgid "Failed to upload %s, error: %s." msgstr "上傳 %s 失敗,錯誤:%s。" -#: htdocs/luci-static/resources/fchomo.js:2097 +#: htdocs/luci-static/resources/fchomo.js:2085 msgid "Failed to upload, error: %s." msgstr "上傳失敗,錯誤:%s。" @@ -1115,40 +1130,40 @@ msgstr "上傳失敗,錯誤:%s。" msgid "Fallback" msgstr "自動回退" -#: htdocs/luci-static/resources/view/fchomo/client.js:1481 -#: htdocs/luci-static/resources/view/fchomo/client.js:1494 -#: htdocs/luci-static/resources/view/fchomo/client.js:1925 +#: htdocs/luci-static/resources/view/fchomo/client.js:1485 +#: htdocs/luci-static/resources/view/fchomo/client.js:1498 +#: htdocs/luci-static/resources/view/fchomo/client.js:1930 msgid "Fallback DNS server" msgstr "後備 DNS 伺服器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1881 -#: htdocs/luci-static/resources/view/fchomo/client.js:1922 +#: htdocs/luci-static/resources/view/fchomo/client.js:1885 +#: htdocs/luci-static/resources/view/fchomo/client.js:1927 msgid "Fallback filter" msgstr "後備過濾器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1234 -#: htdocs/luci-static/resources/view/fchomo/node.js:2011 +#: htdocs/luci-static/resources/view/fchomo/client.js:1238 +#: htdocs/luci-static/resources/view/fchomo/node.js:2022 msgid "Filter nodes that meet keywords or regexps." msgstr "過濾匹配關鍵字或表達式的節點。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1748 +#: htdocs/luci-static/resources/view/fchomo/client.js:1752 msgid "Filter record type:" msgstr "過濾記錄類型:" -#: htdocs/luci-static/resources/view/fchomo/client.js:1716 -#: htdocs/luci-static/resources/view/fchomo/client.js:1732 +#: htdocs/luci-static/resources/view/fchomo/client.js:1720 +#: htdocs/luci-static/resources/view/fchomo/client.js:1736 msgid "Filter record: %s" msgstr "過濾 %s 記錄" -#: htdocs/luci-static/resources/view/fchomo/client.js:1480 +#: htdocs/luci-static/resources/view/fchomo/client.js:1484 msgid "Final DNS server" msgstr "兜底 DNS 伺服器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1482 +#: htdocs/luci-static/resources/view/fchomo/client.js:1486 msgid "Final DNS server (For non-poisoned domains)" msgstr "兜底 DNS 伺服器 (用於未被投毒汙染的網域)" -#: htdocs/luci-static/resources/view/fchomo/client.js:1484 +#: htdocs/luci-static/resources/view/fchomo/client.js:1488 msgid "Final DNS server (For poisoned domains)" msgstr "兜底 DNS 伺服器 (用於已被投毒汙染的網域)" @@ -1156,12 +1171,12 @@ msgstr "兜底 DNS 伺服器 (用於已被投毒汙染的網域)" msgid "Firewall" msgstr "防火牆" -#: htdocs/luci-static/resources/fchomo/listeners.js:532 -#: htdocs/luci-static/resources/view/fchomo/node.js:687 +#: htdocs/luci-static/resources/fchomo/listeners.js:535 +#: htdocs/luci-static/resources/view/fchomo/node.js:698 msgid "Flow" msgstr "流控" -#: htdocs/luci-static/resources/view/fchomo/client.js:1223 +#: htdocs/luci-static/resources/view/fchomo/client.js:1227 msgid "" "For details, see %s." @@ -1169,9 +1184,9 @@ msgstr "" "實作細節請參閱 %s." -#: htdocs/luci-static/resources/view/fchomo/client.js:1183 -#: htdocs/luci-static/resources/view/fchomo/node.js:1877 -#: htdocs/luci-static/resources/view/fchomo/node.js:2003 +#: htdocs/luci-static/resources/view/fchomo/client.js:1187 +#: htdocs/luci-static/resources/view/fchomo/node.js:1888 +#: htdocs/luci-static/resources/view/fchomo/node.js:2014 msgid "" "For format see %s." @@ -1179,8 +1194,8 @@ msgstr "" "格式請參閱 %s." -#: htdocs/luci-static/resources/view/fchomo/node.js:787 -#: htdocs/luci-static/resources/view/fchomo/node.js:870 +#: htdocs/luci-static/resources/view/fchomo/node.js:798 +#: htdocs/luci-static/resources/view/fchomo/node.js:881 msgid "Force DNS remote resolution." msgstr "強制 DNS 遠端解析。" @@ -1199,7 +1214,7 @@ msgstr "格式" msgid "FullCombo Shark!" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1323 +#: htdocs/luci-static/resources/view/fchomo/node.js:1334 msgid "GET" msgstr "" @@ -1208,7 +1223,7 @@ msgid "GFW list version" msgstr "GFW 網域清單版本" #: htdocs/luci-static/resources/fchomo/listeners.js:196 -#: htdocs/luci-static/resources/view/fchomo/node.js:334 +#: htdocs/luci-static/resources/view/fchomo/node.js:345 msgid "Gecko" msgstr "" @@ -1217,9 +1232,9 @@ msgid "General" msgstr "常規" #: htdocs/luci-static/resources/fchomo/listeners.js:119 -#: htdocs/luci-static/resources/view/fchomo/client.js:1038 +#: htdocs/luci-static/resources/view/fchomo/client.js:1042 #: htdocs/luci-static/resources/view/fchomo/node.js:233 -#: htdocs/luci-static/resources/view/fchomo/node.js:1687 +#: htdocs/luci-static/resources/view/fchomo/node.js:1698 msgid "General fields" msgstr "常規欄位" @@ -1234,10 +1249,10 @@ msgstr "常規設定" #: htdocs/luci-static/resources/fchomo/listeners.js:341 #: htdocs/luci-static/resources/fchomo/listeners.js:385 #: htdocs/luci-static/resources/fchomo/listeners.js:387 -#: htdocs/luci-static/resources/fchomo/listeners.js:845 -#: htdocs/luci-static/resources/fchomo/listeners.js:1078 +#: htdocs/luci-static/resources/fchomo/listeners.js:855 +#: htdocs/luci-static/resources/fchomo/listeners.js:1088 #: htdocs/luci-static/resources/view/fchomo/global.js:608 -#: htdocs/luci-static/resources/view/fchomo/node.js:1845 +#: htdocs/luci-static/resources/view/fchomo/node.js:1856 msgid "Generate" msgstr "生成" @@ -1253,17 +1268,17 @@ msgstr "GeoIP 版本" msgid "GeoSite version" msgstr "GeoSite 版本" -#: htdocs/luci-static/resources/view/fchomo/client.js:1891 +#: htdocs/luci-static/resources/view/fchomo/client.js:1895 msgid "Geoip code" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1888 +#: htdocs/luci-static/resources/view/fchomo/client.js:1892 msgid "Geoip enable" msgstr "Geoip 啟用" -#: htdocs/luci-static/resources/view/fchomo/client.js:861 -#: htdocs/luci-static/resources/view/fchomo/client.js:870 -#: htdocs/luci-static/resources/view/fchomo/client.js:1900 +#: htdocs/luci-static/resources/view/fchomo/client.js:865 +#: htdocs/luci-static/resources/view/fchomo/client.js:874 +#: htdocs/luci-static/resources/view/fchomo/client.js:1904 msgid "Geosite" msgstr "" @@ -1284,7 +1299,7 @@ msgstr "全域" msgid "Global Authentication" msgstr "全域認證" -#: htdocs/luci-static/resources/view/fchomo/node.js:711 +#: htdocs/luci-static/resources/view/fchomo/node.js:722 msgid "Global padding" msgstr "全域填充" @@ -1300,58 +1315,58 @@ msgstr "" msgid "Grant access to fchomo configuration" msgstr "授予 fchomo 存取 UCI 配置的權限" -#: htdocs/luci-static/resources/view/fchomo/client.js:1063 +#: htdocs/luci-static/resources/view/fchomo/client.js:1067 msgid "Group" msgstr "組" #: htdocs/luci-static/resources/fchomo.js:154 #: htdocs/luci-static/resources/fchomo.js:190 -#: htdocs/luci-static/resources/fchomo/listeners.js:578 -#: htdocs/luci-static/resources/view/fchomo/node.js:905 -#: htdocs/luci-static/resources/view/fchomo/node.js:1272 +#: htdocs/luci-static/resources/fchomo/listeners.js:582 +#: htdocs/luci-static/resources/view/fchomo/node.js:916 #: htdocs/luci-static/resources/view/fchomo/node.js:1283 -#: htdocs/luci-static/resources/view/fchomo/node.js:1290 +#: htdocs/luci-static/resources/view/fchomo/node.js:1294 +#: htdocs/luci-static/resources/view/fchomo/node.js:1301 msgid "HTTP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:301 -#: htdocs/luci-static/resources/view/fchomo/node.js:1345 -#: htdocs/luci-static/resources/view/fchomo/node.js:1857 +#: htdocs/luci-static/resources/view/fchomo/node.js:312 +#: htdocs/luci-static/resources/view/fchomo/node.js:1356 +#: htdocs/luci-static/resources/view/fchomo/node.js:1868 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:419 msgid "HTTP header" msgstr "HTTP header" #: htdocs/luci-static/resources/fchomo/listeners.js:430 -#: htdocs/luci-static/resources/view/fchomo/node.js:494 +#: htdocs/luci-static/resources/view/fchomo/node.js:505 msgid "HTTP mask" msgstr "HTTP 偽裝" #: htdocs/luci-static/resources/fchomo/listeners.js:435 -#: htdocs/luci-static/resources/view/fchomo/node.js:499 -#: htdocs/luci-static/resources/view/fchomo/node.js:534 -#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:510 +#: htdocs/luci-static/resources/view/fchomo/node.js:545 +#: htdocs/luci-static/resources/view/fchomo/node.js:547 msgid "HTTP mask mode" msgstr "HTTP 偽裝模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:524 +#: htdocs/luci-static/resources/view/fchomo/node.js:535 msgid "HTTP mask multiplex" msgstr "HTTP 偽裝多路復用" -#: htdocs/luci-static/resources/view/fchomo/node.js:509 -#: htdocs/luci-static/resources/view/fchomo/node.js:514 +#: htdocs/luci-static/resources/view/fchomo/node.js:520 +#: htdocs/luci-static/resources/view/fchomo/node.js:525 msgid "HTTP mask: %s" msgstr "HTTP 偽裝: %s" -#: htdocs/luci-static/resources/view/fchomo/node.js:1322 +#: htdocs/luci-static/resources/view/fchomo/node.js:1333 msgid "HTTP request method" msgstr "HTTP 請求方法" #: htdocs/luci-static/resources/fchomo/listeners.js:445 -#: htdocs/luci-static/resources/view/fchomo/node.js:520 +#: htdocs/luci-static/resources/view/fchomo/node.js:531 msgid "HTTP root path" msgstr "HTTP 根路徑" -#: htdocs/luci-static/resources/view/fchomo/client.js:1647 +#: htdocs/luci-static/resources/view/fchomo/client.js:1651 msgid "HTTP/3" msgstr "" @@ -1361,9 +1376,9 @@ msgid "" "returned if empty." msgstr "身份驗證失敗時的 HTTP3 伺服器回應。預設回傳 404 頁面。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1273 #: htdocs/luci-static/resources/view/fchomo/node.js:1284 -#: htdocs/luci-static/resources/view/fchomo/node.js:1291 +#: htdocs/luci-static/resources/view/fchomo/node.js:1295 +#: htdocs/luci-static/resources/view/fchomo/node.js:1302 msgid "HTTPUpgrade" msgstr "" @@ -1371,16 +1386,16 @@ msgstr "" msgid "Handle domain" msgstr "處理網域" -#: htdocs/luci-static/resources/view/fchomo/node.js:416 +#: htdocs/luci-static/resources/view/fchomo/node.js:427 msgid "Handshake mode" msgstr "握手模式" -#: htdocs/luci-static/resources/fchomo/listeners.js:590 +#: htdocs/luci-static/resources/fchomo/listeners.js:594 msgid "Handshake target that supports TLS 1.3" msgstr "握手目標 (支援 TLS 1.3)" #: htdocs/luci-static/resources/fchomo/listeners.js:417 -#: htdocs/luci-static/resources/view/fchomo/node.js:962 +#: htdocs/luci-static/resources/view/fchomo/node.js:973 msgid "Handshake timeout" msgstr "握手逾時" @@ -1388,57 +1403,57 @@ msgstr "握手逾時" msgid "Header to read real client IP from (e.g. X-Forwarded-For)" msgstr "用於讀取客戶端真實 IP 的 Header(例如 X-Forwarded-For)" -#: htdocs/luci-static/resources/view/fchomo/node.js:798 +#: htdocs/luci-static/resources/view/fchomo/node.js:809 msgid "Health check" msgstr "健康檢查" -#: htdocs/luci-static/resources/view/fchomo/client.js:1152 -#: htdocs/luci-static/resources/view/fchomo/node.js:1971 +#: htdocs/luci-static/resources/view/fchomo/client.js:1156 +#: htdocs/luci-static/resources/view/fchomo/node.js:1982 msgid "Health check URL" msgstr "健康檢查 URL" -#: htdocs/luci-static/resources/view/fchomo/client.js:1181 -#: htdocs/luci-static/resources/view/fchomo/node.js:2001 +#: htdocs/luci-static/resources/view/fchomo/client.js:1185 +#: htdocs/luci-static/resources/view/fchomo/node.js:2012 msgid "Health check expected status" msgstr "健康檢查预期状态" -#: htdocs/luci-static/resources/view/fchomo/client.js:1161 -#: htdocs/luci-static/resources/view/fchomo/node.js:1981 +#: htdocs/luci-static/resources/view/fchomo/client.js:1165 +#: htdocs/luci-static/resources/view/fchomo/node.js:1992 msgid "Health check interval" msgstr "健康檢查間隔" -#: htdocs/luci-static/resources/view/fchomo/client.js:1168 -#: htdocs/luci-static/resources/view/fchomo/node.js:1988 +#: htdocs/luci-static/resources/view/fchomo/client.js:1172 +#: htdocs/luci-static/resources/view/fchomo/node.js:1999 msgid "Health check timeout" msgstr "健康檢查逾時" -#: htdocs/luci-static/resources/view/fchomo/client.js:1040 -#: htdocs/luci-static/resources/view/fchomo/node.js:1689 +#: htdocs/luci-static/resources/view/fchomo/client.js:1044 +#: htdocs/luci-static/resources/view/fchomo/node.js:1700 msgid "Health fields" msgstr "健康欄位" -#: htdocs/luci-static/resources/view/fchomo/node.js:616 +#: htdocs/luci-static/resources/view/fchomo/node.js:627 msgid "Heartbeat interval" msgstr "心跳間隔" -#: htdocs/luci-static/resources/view/fchomo/client.js:1249 +#: htdocs/luci-static/resources/view/fchomo/client.js:1253 msgid "Hidden" msgstr "隱藏" -#: htdocs/luci-static/resources/fchomo/listeners.js:583 -#: htdocs/luci-static/resources/view/fchomo/node.js:910 +#: htdocs/luci-static/resources/fchomo/listeners.js:587 +#: htdocs/luci-static/resources/view/fchomo/node.js:921 msgid "Host that supports TLS 1.3" msgstr "主機名稱 (支援 TLS 1.3)" -#: htdocs/luci-static/resources/view/fchomo/node.js:371 +#: htdocs/luci-static/resources/view/fchomo/node.js:382 msgid "Host-key" msgstr "主機金鑰" -#: htdocs/luci-static/resources/view/fchomo/node.js:366 +#: htdocs/luci-static/resources/view/fchomo/node.js:377 msgid "Host-key algorithms" msgstr "主機金鑰演算法" -#: htdocs/luci-static/resources/view/fchomo/node.js:514 +#: htdocs/luci-static/resources/view/fchomo/node.js:525 msgid "Host/SNI override" msgstr "主機/SNI 覆蓋" @@ -1461,21 +1476,21 @@ msgstr "Hysteria2 Realm" msgid "Hysteria2 Realm fields" msgstr "Hysteria2 Realm 欄位" -#: htdocs/luci-static/resources/view/fchomo/client.js:1893 -#: htdocs/luci-static/resources/view/fchomo/client.js:1906 +#: htdocs/luci-static/resources/view/fchomo/client.js:1897 +#: htdocs/luci-static/resources/view/fchomo/client.js:1911 msgid "IP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1904 +#: htdocs/luci-static/resources/view/fchomo/client.js:1909 msgid "IP CIDR" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:573 +#: htdocs/luci-static/resources/view/fchomo/node.js:584 msgid "IP override" msgstr "IP 覆寫" -#: htdocs/luci-static/resources/view/fchomo/node.js:1565 -#: htdocs/luci-static/resources/view/fchomo/node.js:1957 +#: htdocs/luci-static/resources/view/fchomo/node.js:1576 +#: htdocs/luci-static/resources/view/fchomo/node.js:1968 msgid "IP version" msgstr "IP 版本" @@ -1487,28 +1502,28 @@ msgstr "僅 IPv4" msgid "IPv6 only" msgstr "僅 IPv6" -#: htdocs/luci-static/resources/view/fchomo/client.js:1463 +#: htdocs/luci-static/resources/view/fchomo/client.js:1467 #: htdocs/luci-static/resources/view/fchomo/global.js:436 msgid "IPv6 support" msgstr "IPv6 支援" -#: htdocs/luci-static/resources/view/fchomo/client.js:1255 +#: htdocs/luci-static/resources/view/fchomo/client.js:1259 msgid "Icon" msgstr "圖標" -#: htdocs/luci-static/resources/view/fchomo/node.js:660 +#: htdocs/luci-static/resources/view/fchomo/node.js:671 msgid "Idle session check interval" msgstr "閒置會話檢查間隔" -#: htdocs/luci-static/resources/view/fchomo/node.js:667 +#: htdocs/luci-static/resources/view/fchomo/node.js:678 msgid "Idle session timeout" msgstr "閒置會話逾時" -#: htdocs/luci-static/resources/fchomo/listeners.js:483 +#: htdocs/luci-static/resources/fchomo/listeners.js:486 msgid "Idle timeout" msgstr "閒置逾時" -#: htdocs/luci-static/resources/fchomo.js:1814 +#: htdocs/luci-static/resources/fchomo.js:1802 msgid "If All ports is selected, uncheck others" msgstr "如果選擇了“所有連接埠”,則取消選取“其他”" @@ -1524,20 +1539,20 @@ msgstr "忽略客戶端頻寬" msgid "Import" msgstr "導入" -#: htdocs/luci-static/resources/view/fchomo/client.js:975 -#: htdocs/luci-static/resources/view/fchomo/client.js:1032 -#: htdocs/luci-static/resources/view/fchomo/client.js:1278 -#: htdocs/luci-static/resources/view/fchomo/client.js:1329 -#: htdocs/luci-static/resources/view/fchomo/client.js:1400 -#: htdocs/luci-static/resources/view/fchomo/client.js:1424 -#: htdocs/luci-static/resources/view/fchomo/client.js:1528 -#: htdocs/luci-static/resources/view/fchomo/client.js:1566 -#: htdocs/luci-static/resources/view/fchomo/client.js:1783 -#: htdocs/luci-static/resources/view/fchomo/client.js:1800 -#: htdocs/luci-static/resources/view/fchomo/client.js:1835 -#: htdocs/luci-static/resources/view/fchomo/client.js:1856 -#: htdocs/luci-static/resources/view/fchomo/node.js:1591 -#: htdocs/luci-static/resources/view/fchomo/node.js:1675 +#: htdocs/luci-static/resources/view/fchomo/client.js:979 +#: htdocs/luci-static/resources/view/fchomo/client.js:1036 +#: htdocs/luci-static/resources/view/fchomo/client.js:1282 +#: htdocs/luci-static/resources/view/fchomo/client.js:1333 +#: htdocs/luci-static/resources/view/fchomo/client.js:1404 +#: htdocs/luci-static/resources/view/fchomo/client.js:1428 +#: htdocs/luci-static/resources/view/fchomo/client.js:1532 +#: htdocs/luci-static/resources/view/fchomo/client.js:1570 +#: htdocs/luci-static/resources/view/fchomo/client.js:1787 +#: htdocs/luci-static/resources/view/fchomo/client.js:1804 +#: htdocs/luci-static/resources/view/fchomo/client.js:1839 +#: htdocs/luci-static/resources/view/fchomo/client.js:1860 +#: htdocs/luci-static/resources/view/fchomo/node.js:1602 +#: htdocs/luci-static/resources/view/fchomo/node.js:1686 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:154 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:249 msgid "Import mihomo config" @@ -1551,61 +1566,61 @@ msgstr "導入規則集連結" #: htdocs/luci-static/resources/fchomo/listeners.js:176 #: htdocs/luci-static/resources/fchomo/listeners.js:182 -#: htdocs/luci-static/resources/view/fchomo/node.js:320 -#: htdocs/luci-static/resources/view/fchomo/node.js:326 -#: htdocs/luci-static/resources/view/fchomo/node.js:1915 -#: htdocs/luci-static/resources/view/fchomo/node.js:1921 +#: htdocs/luci-static/resources/view/fchomo/node.js:331 +#: htdocs/luci-static/resources/view/fchomo/node.js:337 +#: htdocs/luci-static/resources/view/fchomo/node.js:1926 +#: htdocs/luci-static/resources/view/fchomo/node.js:1932 msgid "In Mbps." msgstr "單位為 Mbps。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1765 +#: htdocs/luci-static/resources/view/fchomo/node.js:1776 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:392 msgid "In bytes. %s will be used if empty." msgstr "單位為位元組。留空則使用 %s。" -#: htdocs/luci-static/resources/view/fchomo/node.js:617 -#: htdocs/luci-static/resources/view/fchomo/node.js:624 +#: htdocs/luci-static/resources/view/fchomo/node.js:628 +#: htdocs/luci-static/resources/view/fchomo/node.js:635 msgid "In millisecond." msgstr "單位為毫秒。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1169 -#: htdocs/luci-static/resources/view/fchomo/client.js:1215 -#: htdocs/luci-static/resources/view/fchomo/node.js:1989 +#: htdocs/luci-static/resources/view/fchomo/client.js:1173 +#: htdocs/luci-static/resources/view/fchomo/client.js:1219 +#: htdocs/luci-static/resources/view/fchomo/node.js:2000 msgid "In millisecond. %s will be used if empty." msgstr "單位為毫秒。留空則使用 %s。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1414 +#: htdocs/luci-static/resources/view/fchomo/node.js:1425 msgid "In milliseconds." msgstr "單位為毫秒。" #: htdocs/luci-static/resources/fchomo/listeners.js:418 -#: htdocs/luci-static/resources/fchomo/listeners.js:484 -#: htdocs/luci-static/resources/fchomo/listeners.js:491 -#: htdocs/luci-static/resources/view/fchomo/node.js:661 -#: htdocs/luci-static/resources/view/fchomo/node.js:668 -#: htdocs/luci-static/resources/view/fchomo/node.js:1361 +#: htdocs/luci-static/resources/fchomo/listeners.js:487 +#: htdocs/luci-static/resources/fchomo/listeners.js:494 +#: htdocs/luci-static/resources/view/fchomo/node.js:672 +#: htdocs/luci-static/resources/view/fchomo/node.js:679 +#: htdocs/luci-static/resources/view/fchomo/node.js:1372 msgid "In seconds." msgstr "單位為秒。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1162 +#: htdocs/luci-static/resources/view/fchomo/client.js:1166 #: htdocs/luci-static/resources/view/fchomo/global.js:446 #: htdocs/luci-static/resources/view/fchomo/global.js:451 #: htdocs/luci-static/resources/view/fchomo/global.js:536 -#: htdocs/luci-static/resources/view/fchomo/node.js:314 -#: htdocs/luci-static/resources/view/fchomo/node.js:1771 -#: htdocs/luci-static/resources/view/fchomo/node.js:1982 +#: htdocs/luci-static/resources/view/fchomo/node.js:325 +#: htdocs/luci-static/resources/view/fchomo/node.js:1782 +#: htdocs/luci-static/resources/view/fchomo/node.js:1993 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:398 msgid "In seconds. %s will be used if empty." msgstr "單位為秒。留空則使用 %s。" -#: htdocs/luci-static/resources/view/fchomo/node.js:963 +#: htdocs/luci-static/resources/view/fchomo/node.js:974 msgid "" "In seconds. After configuration, the handshake is not affected by the outer " "connection timeout." msgstr "單位為秒。配置後握手時不受外層連線逾時影響。" -#: htdocs/luci-static/resources/fchomo/listeners.js:761 -#: htdocs/luci-static/resources/view/fchomo/node.js:1037 +#: htdocs/luci-static/resources/fchomo/listeners.js:771 +#: htdocs/luci-static/resources/view/fchomo/node.js:1048 msgid "" "In the order of one Padding-Length and one Padding-" "Interval, infinite concatenation." @@ -1619,27 +1634,27 @@ msgstr "" msgid "Inbound" msgstr "入站" -#: htdocs/luci-static/resources/view/fchomo/client.js:1116 +#: htdocs/luci-static/resources/view/fchomo/client.js:1120 msgid "Include all" msgstr "引入所有" -#: htdocs/luci-static/resources/view/fchomo/client.js:1121 +#: htdocs/luci-static/resources/view/fchomo/client.js:1125 msgid "Include all node" msgstr "引入所有節點" -#: htdocs/luci-static/resources/view/fchomo/client.js:1126 +#: htdocs/luci-static/resources/view/fchomo/client.js:1130 msgid "Include all provider" msgstr "引入所有供應商" -#: htdocs/luci-static/resources/view/fchomo/client.js:1127 +#: htdocs/luci-static/resources/view/fchomo/client.js:1131 msgid "Includes all Provider." msgstr "引入所有供應商。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1117 +#: htdocs/luci-static/resources/view/fchomo/client.js:1121 msgid "Includes all Proxy Node and Provider." msgstr "引入所有代理節點及供應商。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1122 +#: htdocs/luci-static/resources/view/fchomo/client.js:1126 msgid "Includes all Proxy Node." msgstr "引入所有代理節點。" @@ -1647,7 +1662,7 @@ msgstr "引入所有代理節點。" msgid "Info" msgstr "訊息" -#: htdocs/luci-static/resources/view/fchomo/node.js:1704 +#: htdocs/luci-static/resources/view/fchomo/node.js:1715 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:288 msgid "Inline" msgstr "內嵌" @@ -1660,61 +1675,61 @@ msgstr "介面控制" #: htdocs/luci-static/resources/fchomo.js:60 #: htdocs/luci-static/resources/fchomo.js:173 #: htdocs/luci-static/resources/fchomo.js:377 -#: htdocs/luci-static/resources/view/fchomo/node.js:1931 +#: htdocs/luci-static/resources/view/fchomo/node.js:1942 msgid "Keep default" msgstr "保持預設" -#: htdocs/luci-static/resources/view/fchomo/node.js:1450 +#: htdocs/luci-static/resources/view/fchomo/node.js:1461 msgid "Keep-alive period" msgstr "Keep-alive 週期" #: htdocs/luci-static/resources/fchomo/listeners.js:296 -#: htdocs/luci-static/resources/view/fchomo/node.js:430 +#: htdocs/luci-static/resources/view/fchomo/node.js:441 msgid "Key" msgstr "密鑰" -#: htdocs/luci-static/resources/fchomo/listeners.js:1005 -#: htdocs/luci-static/resources/view/fchomo/node.js:1202 +#: htdocs/luci-static/resources/fchomo/listeners.js:1015 +#: htdocs/luci-static/resources/view/fchomo/node.js:1213 msgid "Key path" msgstr "憑證路徑" -#: htdocs/luci-static/resources/fchomo/listeners.js:780 +#: htdocs/luci-static/resources/fchomo/listeners.js:790 msgid "Keypairs" msgstr "密鑰對" #: htdocs/luci-static/resources/fchomo/listeners.js:128 -#: htdocs/luci-static/resources/view/fchomo/client.js:1043 -#: htdocs/luci-static/resources/view/fchomo/client.js:1335 -#: htdocs/luci-static/resources/view/fchomo/client.js:1430 -#: htdocs/luci-static/resources/view/fchomo/client.js:1572 -#: htdocs/luci-static/resources/view/fchomo/client.js:1806 -#: htdocs/luci-static/resources/view/fchomo/client.js:1862 +#: htdocs/luci-static/resources/view/fchomo/client.js:1047 +#: htdocs/luci-static/resources/view/fchomo/client.js:1339 +#: htdocs/luci-static/resources/view/fchomo/client.js:1434 +#: htdocs/luci-static/resources/view/fchomo/client.js:1576 +#: htdocs/luci-static/resources/view/fchomo/client.js:1810 +#: htdocs/luci-static/resources/view/fchomo/client.js:1866 #: htdocs/luci-static/resources/view/fchomo/node.js:241 -#: htdocs/luci-static/resources/view/fchomo/node.js:1692 -#: htdocs/luci-static/resources/view/fchomo/node.js:2050 +#: htdocs/luci-static/resources/view/fchomo/node.js:1703 +#: htdocs/luci-static/resources/view/fchomo/node.js:2061 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:267 msgid "Label" msgstr "標籤" -#: htdocs/luci-static/resources/view/fchomo/client.js:1175 -#: htdocs/luci-static/resources/view/fchomo/node.js:1995 +#: htdocs/luci-static/resources/view/fchomo/client.js:1179 +#: htdocs/luci-static/resources/view/fchomo/node.js:2006 msgid "Lazy" msgstr "怠惰狀態" -#: htdocs/luci-static/resources/view/fchomo/client.js:1913 +#: htdocs/luci-static/resources/view/fchomo/client.js:1918 msgid "Lazy query" msgstr "怠惰查詢" -#: htdocs/luci-static/resources/view/fchomo/client.js:1914 +#: htdocs/luci-static/resources/view/fchomo/client.js:1919 msgid "Lazy query." msgstr "怠惰查詢。" #: htdocs/luci-static/resources/fchomo/listeners.js:437 -#: htdocs/luci-static/resources/view/fchomo/node.js:501 +#: htdocs/luci-static/resources/view/fchomo/node.js:512 msgid "Legacy" msgstr "傳統" -#: htdocs/luci-static/resources/fchomo/listeners.js:541 +#: htdocs/luci-static/resources/fchomo/listeners.js:544 msgid "" "Legacy protocol support (VMess MD5 Authentication) is provided for " "compatibility purposes only, use of alterId > 1 is not recommended." @@ -1726,8 +1741,8 @@ msgstr "" msgid "Less compatibility and sometimes better performance." msgstr "有時效能較好。" -#: htdocs/luci-static/resources/fchomo/listeners.js:986 -#: htdocs/luci-static/resources/view/fchomo/node.js:1123 +#: htdocs/luci-static/resources/fchomo/listeners.js:996 +#: htdocs/luci-static/resources/view/fchomo/node.js:1134 msgid "List of supported application level protocols, in order of preference." msgstr "支援的應用層協議協商清單,依序排列。" @@ -1744,7 +1759,7 @@ msgid "Listen interfaces" msgstr "監聽介面" #: htdocs/luci-static/resources/fchomo/listeners.js:153 -#: htdocs/luci-static/resources/view/fchomo/client.js:1455 +#: htdocs/luci-static/resources/view/fchomo/client.js:1459 msgid "Listen port" msgstr "監聽埠" @@ -1752,7 +1767,7 @@ msgstr "監聽埠" msgid "Listen ports" msgstr "監聽埠" -#: htdocs/luci-static/resources/view/fchomo/client.js:1460 +#: htdocs/luci-static/resources/view/fchomo/client.js:1464 msgid "Listen routing mark (Fwmark)" msgstr "監聽路由標記 (Fwmark)" @@ -1760,18 +1775,18 @@ msgstr "監聽路由標記 (Fwmark)" msgid "Load balance" msgstr "負載均衡" -#: htdocs/luci-static/resources/view/fchomo/node.js:1702 +#: htdocs/luci-static/resources/view/fchomo/node.js:1713 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:286 msgid "Local" msgstr "本地" -#: htdocs/luci-static/resources/view/fchomo/node.js:754 -#: htdocs/luci-static/resources/view/fchomo/node.js:817 +#: htdocs/luci-static/resources/view/fchomo/node.js:765 +#: htdocs/luci-static/resources/view/fchomo/node.js:828 msgid "Local IPv6 address" msgstr "本地 IPv6 位址" -#: htdocs/luci-static/resources/view/fchomo/node.js:746 -#: htdocs/luci-static/resources/view/fchomo/node.js:809 +#: htdocs/luci-static/resources/view/fchomo/node.js:757 +#: htdocs/luci-static/resources/view/fchomo/node.js:820 msgid "Local address" msgstr "本地位址" @@ -1795,10 +1810,10 @@ msgstr "日誌等級" #: htdocs/luci-static/resources/fchomo/listeners.js:373 #: htdocs/luci-static/resources/fchomo/listeners.js:374 #: htdocs/luci-static/resources/fchomo/listeners.js:379 -#: htdocs/luci-static/resources/view/fchomo/node.js:454 -#: htdocs/luci-static/resources/view/fchomo/node.js:455 -#: htdocs/luci-static/resources/view/fchomo/node.js:456 -#: htdocs/luci-static/resources/view/fchomo/node.js:461 +#: htdocs/luci-static/resources/view/fchomo/node.js:465 +#: htdocs/luci-static/resources/view/fchomo/node.js:466 +#: htdocs/luci-static/resources/view/fchomo/node.js:467 +#: htdocs/luci-static/resources/view/fchomo/node.js:472 msgid "Low-entropy data stream" msgstr "低熵資料流" @@ -1807,8 +1822,8 @@ msgid "Lowercase only" msgstr "僅限小寫" #: htdocs/luci-static/resources/view/fchomo/global.js:523 -#: htdocs/luci-static/resources/view/fchomo/node.js:760 -#: htdocs/luci-static/resources/view/fchomo/node.js:863 +#: htdocs/luci-static/resources/view/fchomo/node.js:771 +#: htdocs/luci-static/resources/view/fchomo/node.js:874 msgid "MTU" msgstr "" @@ -1820,70 +1835,70 @@ msgstr "" msgid "Masquerade" msgstr "偽裝" -#: htdocs/luci-static/resources/view/fchomo/client.js:866 +#: htdocs/luci-static/resources/view/fchomo/client.js:870 msgid "Match domain. Support wildcards." msgstr "匹配網域。支援通配符。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1910 +#: htdocs/luci-static/resources/view/fchomo/client.js:1915 msgid "Match domain. Support wildcards.
" msgstr "匹配網域。支援通配符。
" -#: htdocs/luci-static/resources/view/fchomo/client.js:871 +#: htdocs/luci-static/resources/view/fchomo/client.js:875 msgid "Match geosite." msgstr "匹配 geosite。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1901 +#: htdocs/luci-static/resources/view/fchomo/client.js:1905 msgid "Match geosite.
" msgstr "匹配 geosite。
" -#: htdocs/luci-static/resources/view/fchomo/client.js:1892 +#: htdocs/luci-static/resources/view/fchomo/client.js:1896 msgid "Match response with geoip.
" msgstr "匹配回應通過 geoip。
" -#: htdocs/luci-static/resources/view/fchomo/client.js:1905 +#: htdocs/luci-static/resources/view/fchomo/client.js:1910 msgid "Match response with ipcidr.
" msgstr "匹配回應通過 ipcidr
" -#: htdocs/luci-static/resources/view/fchomo/client.js:876 +#: htdocs/luci-static/resources/view/fchomo/client.js:880 msgid "Match rule set." msgstr "匹配規則集。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1367 +#: htdocs/luci-static/resources/view/fchomo/node.js:1378 msgid "Max Early Data" msgstr "前置數據最大值" -#: htdocs/luci-static/resources/fchomo/listeners.js:477 -#: htdocs/luci-static/resources/view/fchomo/node.js:598 +#: htdocs/luci-static/resources/fchomo/listeners.js:480 +#: htdocs/luci-static/resources/view/fchomo/node.js:609 msgid "Max UDP relay packet size" msgstr "UDP 中繼數據包最大尺寸" -#: htdocs/luci-static/resources/fchomo/listeners.js:1204 +#: htdocs/luci-static/resources/fchomo/listeners.js:1214 msgid "Max buffered posts" msgstr "POST 最大緩衝" -#: htdocs/luci-static/resources/view/fchomo/node.js:1425 +#: htdocs/luci-static/resources/view/fchomo/node.js:1436 msgid "Max concurrency" msgstr "最大並發" -#: htdocs/luci-static/resources/view/fchomo/node.js:1430 +#: htdocs/luci-static/resources/view/fchomo/node.js:1441 msgid "Max connections" msgstr "最大連線數" -#: htdocs/luci-static/resources/view/fchomo/client.js:1189 +#: htdocs/luci-static/resources/view/fchomo/client.js:1193 msgid "Max count of failures" msgstr "最大失敗次數" #: htdocs/luci-static/resources/fchomo/listeners.js:181 -#: htdocs/luci-static/resources/view/fchomo/node.js:325 +#: htdocs/luci-static/resources/view/fchomo/node.js:336 msgid "Max download speed" msgstr "最大下載速度" -#: htdocs/luci-static/resources/fchomo/listeners.js:1215 -#: htdocs/luci-static/resources/view/fchomo/node.js:1407 +#: htdocs/luci-static/resources/fchomo/listeners.js:1225 +#: htdocs/luci-static/resources/view/fchomo/node.js:1418 msgid "Max each POST bytes" msgstr "POST 最大位元組數" -#: htdocs/luci-static/resources/view/fchomo/node.js:630 +#: htdocs/luci-static/resources/view/fchomo/node.js:641 msgid "Max open streams" msgstr "限制打開流的數量" @@ -1895,29 +1910,29 @@ msgstr "最大 Realms 數量" msgid "Max realms per client IP" msgstr "每客戶端 IP 最大 Realms 數量" -#: htdocs/luci-static/resources/view/fchomo/node.js:1440 +#: htdocs/luci-static/resources/view/fchomo/node.js:1451 msgid "Max request times" msgstr "最大請求次數" -#: htdocs/luci-static/resources/view/fchomo/node.js:1445 +#: htdocs/luci-static/resources/view/fchomo/node.js:1456 msgid "Max reusable seconds" msgstr "最大可重用秒數" -#: htdocs/luci-static/resources/view/fchomo/node.js:1435 +#: htdocs/luci-static/resources/view/fchomo/node.js:1446 msgid "Max reuse times" msgstr "最大重用次數" #: htdocs/luci-static/resources/fchomo/listeners.js:175 -#: htdocs/luci-static/resources/view/fchomo/node.js:319 +#: htdocs/luci-static/resources/view/fchomo/node.js:330 msgid "Max upload speed" msgstr "最大上傳速度" -#: htdocs/luci-static/resources/view/fchomo/node.js:1471 -#: htdocs/luci-static/resources/view/fchomo/node.js:1491 +#: htdocs/luci-static/resources/view/fchomo/node.js:1482 +#: htdocs/luci-static/resources/view/fchomo/node.js:1502 msgid "Maximum connections" msgstr "最大連線數" -#: htdocs/luci-static/resources/view/fchomo/node.js:1489 +#: htdocs/luci-static/resources/view/fchomo/node.js:1500 msgid "" "Maximum multiplexed streams in a connection before opening a new connection." "
Conflict with %s and %s." @@ -1926,18 +1941,18 @@ msgstr "" "%s 衝突。" #: htdocs/luci-static/resources/fchomo/listeners.js:402 -#: htdocs/luci-static/resources/view/fchomo/node.js:473 +#: htdocs/luci-static/resources/view/fchomo/node.js:484 msgid "Maximum padding rate" msgstr "最大填充率" #: htdocs/luci-static/resources/fchomo/listeners.js:410 -#: htdocs/luci-static/resources/view/fchomo/node.js:481 +#: htdocs/luci-static/resources/view/fchomo/node.js:492 msgid "" "Maximum padding rate must be greater than or equal to the minimum padding " "rate." msgstr "最大填充率必須大於等于最小填充率。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1488 +#: htdocs/luci-static/resources/view/fchomo/node.js:1499 msgid "Maximum streams" msgstr "最大流數量" @@ -1946,7 +1961,7 @@ msgstr "最大流數量" msgid "Mieru" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:930 +#: htdocs/luci-static/resources/view/fchomo/client.js:934 #: htdocs/luci-static/resources/view/fchomo/log.js:149 #: htdocs/luci-static/resources/view/fchomo/log.js:154 msgid "Mihomo client" @@ -1958,26 +1973,26 @@ msgstr "Mihomo 客戶端" msgid "Mihomo server" msgstr "Mihomo 服務端" -#: htdocs/luci-static/resources/view/fchomo/node.js:674 +#: htdocs/luci-static/resources/view/fchomo/node.js:685 msgid "Min of idle sessions to keep" msgstr "要保留的最少閒置會話數" -#: htdocs/luci-static/resources/view/fchomo/node.js:1413 +#: htdocs/luci-static/resources/view/fchomo/node.js:1424 msgid "Min posts interval" msgstr "POST 請求最小間隔時間" -#: htdocs/luci-static/resources/view/fchomo/node.js:1480 +#: htdocs/luci-static/resources/view/fchomo/node.js:1491 msgid "" "Minimum multiplexed streams in a connection before opening a new connection." msgstr "在開啟新連線之前,連線中的最小多路復用流數量。" #: htdocs/luci-static/resources/fchomo/listeners.js:395 -#: htdocs/luci-static/resources/view/fchomo/node.js:466 +#: htdocs/luci-static/resources/view/fchomo/node.js:477 msgid "Minimum padding rate" msgstr "最小填充率" -#: htdocs/luci-static/resources/view/fchomo/node.js:1479 -#: htdocs/luci-static/resources/view/fchomo/node.js:1491 +#: htdocs/luci-static/resources/view/fchomo/node.js:1490 +#: htdocs/luci-static/resources/view/fchomo/node.js:1502 msgid "Minimum streams" msgstr "最小流數量" @@ -1994,7 +2009,8 @@ msgstr "混合 系統 TCP 堆栈和 gVisor UDP 堆栈 msgid "Mixed port" msgstr "混合連接埠" -#: htdocs/luci-static/resources/view/fchomo/node.js:1457 +#: htdocs/luci-static/resources/fchomo/listeners.js:1232 +#: htdocs/luci-static/resources/view/fchomo/node.js:1468 msgid "Multiplex" msgstr "多路復用" @@ -2003,20 +2019,20 @@ msgstr "多路復用" msgid "Multiplex fields" msgstr "多路復用欄位" -#: htdocs/luci-static/resources/view/fchomo/node.js:407 +#: htdocs/luci-static/resources/view/fchomo/node.js:418 msgid "Multiplexing" msgstr "多路復用" -#: htdocs/luci-static/resources/view/fchomo/client.js:624 -#: htdocs/luci-static/resources/view/fchomo/client.js:702 +#: htdocs/luci-static/resources/view/fchomo/client.js:630 +#: htdocs/luci-static/resources/view/fchomo/client.js:706 msgid "NOT" msgstr "NOT" -#: htdocs/luci-static/resources/fchomo/listeners.js:629 +#: htdocs/luci-static/resources/fchomo/listeners.js:639 msgid "Name of the Proxy group as outbound." msgstr "出站代理組的名稱。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1777 +#: htdocs/luci-static/resources/view/fchomo/node.js:1788 msgid "Name of the Proxy group to download provider." msgstr "用於下載供應商訂閱的代理組名稱。" @@ -2024,11 +2040,11 @@ msgstr "用於下載供應商訂閱的代理組名稱。" msgid "Name of the Proxy group to download rule set." msgstr "用於下載規則集訂閱的代理組名稱。" -#: htdocs/luci-static/resources/fchomo/listeners.js:618 +#: htdocs/luci-static/resources/fchomo/listeners.js:628 msgid "Name of the Sub rule used for inbound matching." msgstr "用於入站匹配的子規則名稱。" -#: htdocs/luci-static/resources/view/fchomo/node.js:582 +#: htdocs/luci-static/resources/view/fchomo/node.js:593 msgid "Native UDP" msgstr "原生 UDP" @@ -2036,15 +2052,15 @@ msgstr "原生 UDP" msgid "Native appearance" msgstr "原生外觀" -#: htdocs/luci-static/resources/view/fchomo/node.js:766 +#: htdocs/luci-static/resources/view/fchomo/node.js:777 msgid "Network" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:660 +#: htdocs/luci-static/resources/fchomo/listeners.js:670 msgid "Network type" msgstr "網路類型" -#: htdocs/luci-static/resources/view/fchomo/node.js:1933 +#: htdocs/luci-static/resources/view/fchomo/node.js:1944 msgid "No" msgstr "" @@ -2052,20 +2068,20 @@ msgstr "" msgid "No Authentication IP ranges" msgstr "無需認證的 IP 範圍" -#: htdocs/luci-static/resources/fchomo/listeners.js:1199 +#: htdocs/luci-static/resources/fchomo/listeners.js:1209 msgid "No SSE header" msgstr "無 SSE header" -#: htdocs/luci-static/resources/view/fchomo/client.js:1592 +#: htdocs/luci-static/resources/view/fchomo/client.js:1596 msgid "No add'l params" msgstr "無附加參數" -#: htdocs/luci-static/resources/view/fchomo/node.js:1397 +#: htdocs/luci-static/resources/view/fchomo/node.js:1408 msgid "No gRPC header" msgstr "無 gRPC header" -#: htdocs/luci-static/resources/view/fchomo/client.js:1176 -#: htdocs/luci-static/resources/view/fchomo/node.js:1996 +#: htdocs/luci-static/resources/view/fchomo/client.js:1180 +#: htdocs/luci-static/resources/view/fchomo/node.js:2007 msgid "No testing is performed when this provider node is not in use." msgstr "當此供應商的節點未使用時,不執行任何測試。" @@ -2077,27 +2093,27 @@ msgstr "未找到有效的%s。" msgid "No valid rule-set link found." msgstr "未找到有效的規則集連結。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1076 +#: htdocs/luci-static/resources/view/fchomo/client.js:1080 #: htdocs/luci-static/resources/view/fchomo/node.js:228 msgid "Node" msgstr "節點" -#: htdocs/luci-static/resources/view/fchomo/client.js:1238 -#: htdocs/luci-static/resources/view/fchomo/node.js:2016 +#: htdocs/luci-static/resources/view/fchomo/client.js:1242 +#: htdocs/luci-static/resources/view/fchomo/node.js:2027 msgid "Node exclude filter" msgstr "排除節點" -#: htdocs/luci-static/resources/view/fchomo/client.js:1243 -#: htdocs/luci-static/resources/view/fchomo/node.js:2023 +#: htdocs/luci-static/resources/view/fchomo/client.js:1247 +#: htdocs/luci-static/resources/view/fchomo/node.js:2034 msgid "Node exclude type" msgstr "排除節點類型" -#: htdocs/luci-static/resources/view/fchomo/client.js:1233 -#: htdocs/luci-static/resources/view/fchomo/node.js:2010 +#: htdocs/luci-static/resources/view/fchomo/client.js:1237 +#: htdocs/luci-static/resources/view/fchomo/node.js:2021 msgid "Node filter" msgstr "過濾節點" -#: htdocs/luci-static/resources/view/fchomo/client.js:1214 +#: htdocs/luci-static/resources/view/fchomo/client.js:1218 msgid "Node switch tolerance" msgstr "節點切換容差" @@ -2109,49 +2125,49 @@ msgstr "無" msgid "Not Installed" msgstr "未安裝" -#: htdocs/luci-static/resources/fchomo.js:1592 +#: htdocs/luci-static/resources/fchomo.js:1580 msgid "Not Running" msgstr "未在運作" -#: htdocs/luci-static/resources/view/fchomo/node.js:527 +#: htdocs/luci-static/resources/view/fchomo/node.js:538 msgid "OFF" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:529 +#: htdocs/luci-static/resources/view/fchomo/node.js:540 msgid "ON" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:577 -#: htdocs/luci-static/resources/view/fchomo/node.js:904 +#: htdocs/luci-static/resources/fchomo/listeners.js:581 +#: htdocs/luci-static/resources/view/fchomo/node.js:915 msgid "Obfs Mode" msgstr "Obfs 模式" #: htdocs/luci-static/resources/fchomo/listeners.js:213 -#: htdocs/luci-static/resources/view/fchomo/node.js:351 +#: htdocs/luci-static/resources/view/fchomo/node.js:362 msgid "Obfuscate maximum packet size" msgstr "混淆最大資料包大小" #: htdocs/luci-static/resources/fchomo/listeners.js:208 -#: htdocs/luci-static/resources/view/fchomo/node.js:346 +#: htdocs/luci-static/resources/view/fchomo/node.js:357 msgid "Obfuscate minimum packet size" msgstr "混淆最小資料包大小" #: htdocs/luci-static/resources/fchomo/listeners.js:200 -#: htdocs/luci-static/resources/view/fchomo/node.js:338 +#: htdocs/luci-static/resources/view/fchomo/node.js:349 msgid "Obfuscate password" msgstr "混淆密碼" #: htdocs/luci-static/resources/fchomo/listeners.js:193 #: htdocs/luci-static/resources/fchomo/listeners.js:370 -#: htdocs/luci-static/resources/view/fchomo/node.js:331 -#: htdocs/luci-static/resources/view/fchomo/node.js:452 +#: htdocs/luci-static/resources/view/fchomo/node.js:342 +#: htdocs/luci-static/resources/view/fchomo/node.js:463 msgid "Obfuscate type" msgstr "混淆類型" #: htdocs/luci-static/resources/fchomo/listeners.js:371 #: htdocs/luci-static/resources/fchomo/listeners.js:372 -#: htdocs/luci-static/resources/view/fchomo/node.js:453 -#: htdocs/luci-static/resources/view/fchomo/node.js:454 +#: htdocs/luci-static/resources/view/fchomo/node.js:464 +#: htdocs/luci-static/resources/view/fchomo/node.js:465 msgid "Obfuscated as %s" msgstr "混淆為%s" @@ -2159,12 +2175,12 @@ msgstr "混淆為%s" msgid "One or more numbers in the range 0-63 separated by commas" msgstr "0-63 範圍內的一個或多個數字,以逗號分隔" -#: htdocs/luci-static/resources/fchomo/listeners.js:980 +#: htdocs/luci-static/resources/fchomo/listeners.js:990 msgid "Only applicable when %s are used as a frontend." msgstr "僅當 %s 用作前端時適用。" #: htdocs/luci-static/resources/fchomo/listeners.js:379 -#: htdocs/luci-static/resources/view/fchomo/node.js:461 +#: htdocs/luci-static/resources/view/fchomo/node.js:472 msgid "Only applies to the %s." msgstr "只對%s生效。" @@ -2172,7 +2188,7 @@ msgstr "只對%s生效。" msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "只處理來自指定介面的流量。留空表示全部。" -#: htdocs/luci-static/resources/fchomo.js:1586 +#: htdocs/luci-static/resources/fchomo.js:1574 msgid "Open Dashboard" msgstr "打開面板" @@ -2180,6 +2196,10 @@ msgstr "打開面板" msgid "Operation mode" msgstr "運作模式" +#: htdocs/luci-static/resources/view/fchomo/client.js:1907 +msgid "Option is deprecated. Please use %s instead." +msgstr "該選項已棄用,請使用%s作為代替。" + #: root/usr/share/luci/menu.d/luci-app-fchomo.json:46 msgid "Outbound" msgstr "出站" @@ -2189,16 +2209,16 @@ msgstr "出站" msgid "Override destination" msgstr "覆蓋目標位址" -#: htdocs/luci-static/resources/view/fchomo/client.js:1039 -#: htdocs/luci-static/resources/view/fchomo/node.js:1688 +#: htdocs/luci-static/resources/view/fchomo/client.js:1043 +#: htdocs/luci-static/resources/view/fchomo/node.js:1699 msgid "Override fields" msgstr "覆蓋欄位" -#: htdocs/luci-static/resources/view/fchomo/node.js:574 +#: htdocs/luci-static/resources/view/fchomo/node.js:585 msgid "Override the IP address of the server that DNS response." msgstr "覆蓋 DNS 回應的伺服器的 IP 位址。" -#: htdocs/luci-static/resources/view/fchomo/client.js:904 +#: htdocs/luci-static/resources/view/fchomo/client.js:908 msgid "Override the Proxy group of DNS server." msgstr "覆蓋 DNS 伺服器所使用的代理組。" @@ -2206,11 +2226,11 @@ msgstr "覆蓋 DNS 伺服器所使用的代理組。" msgid "Override the connection destination address with the sniffed domain." msgstr "使用嗅探到的網域覆寫連線目標。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1699 +#: htdocs/luci-static/resources/view/fchomo/client.js:1703 msgid "Override the existing ECS in original request." msgstr "覆蓋原始請求中已有的 ECS。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1229 +#: htdocs/luci-static/resources/view/fchomo/node.js:1240 msgid "Overrides the domain name used for HTTPS record queries." msgstr "覆蓋用於 HTTPS 記錄查詢的網域。" @@ -2218,37 +2238,37 @@ msgstr "覆蓋用於 HTTPS 記錄查詢的網域。" msgid "Overview" msgstr "概覽" -#: htdocs/luci-static/resources/view/fchomo/node.js:1324 +#: htdocs/luci-static/resources/view/fchomo/node.js:1335 msgid "POST" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1325 +#: htdocs/luci-static/resources/view/fchomo/node.js:1336 msgid "PUT" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:723 +#: htdocs/luci-static/resources/view/fchomo/node.js:734 msgid "Packet encoding" msgstr "數據包編碼" -#: htdocs/luci-static/resources/view/fchomo/node.js:1402 +#: htdocs/luci-static/resources/view/fchomo/node.js:1413 msgid "Padding bytes" msgstr "填充位元組" -#: htdocs/luci-static/resources/fchomo/listeners.js:521 +#: htdocs/luci-static/resources/fchomo/listeners.js:524 msgid "Padding scheme" msgstr "填充方案" -#: htdocs/luci-static/resources/fchomo/listeners.js:759 -#: htdocs/luci-static/resources/view/fchomo/node.js:1035 +#: htdocs/luci-static/resources/fchomo/listeners.js:769 +#: htdocs/luci-static/resources/view/fchomo/node.js:1046 msgid "Paddings" msgstr "填充 (Paddings)" #: htdocs/luci-static/resources/fchomo/listeners.js:166 #: htdocs/luci-static/resources/fchomo/listeners.js:263 -#: htdocs/luci-static/resources/fchomo/listeners.js:597 -#: htdocs/luci-static/resources/view/fchomo/node.js:295 -#: htdocs/luci-static/resources/view/fchomo/node.js:385 -#: htdocs/luci-static/resources/view/fchomo/node.js:917 +#: htdocs/luci-static/resources/fchomo/listeners.js:601 +#: htdocs/luci-static/resources/view/fchomo/node.js:306 +#: htdocs/luci-static/resources/view/fchomo/node.js:396 +#: htdocs/luci-static/resources/view/fchomo/node.js:928 msgid "Password" msgstr "密碼" @@ -2260,13 +2280,13 @@ msgstr "捆綁包路徑" msgid "Path in bundle: %s" msgstr "在捆綁包%s中的路徑" -#: htdocs/luci-static/resources/fchomo/listeners.js:699 -#: htdocs/luci-static/resources/view/fchomo/node.js:1752 +#: htdocs/luci-static/resources/fchomo/listeners.js:709 +#: htdocs/luci-static/resources/view/fchomo/node.js:1763 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:373 msgid "Payload" msgstr "Payload" -#: htdocs/luci-static/resources/view/fchomo/node.js:831 +#: htdocs/luci-static/resources/view/fchomo/node.js:842 msgid "Peer pubkic key" msgstr "對端公鑰" @@ -2276,11 +2296,11 @@ msgid "" "it is not needed." msgstr "效能可能會略有下降,建議僅在需要時開啟。" -#: htdocs/luci-static/resources/view/fchomo/node.js:858 +#: htdocs/luci-static/resources/view/fchomo/node.js:869 msgid "Periodically sends data packets to maintain connection persistence." msgstr "定期發送資料包以維持連線持久性。" -#: htdocs/luci-static/resources/view/fchomo/node.js:857 +#: htdocs/luci-static/resources/view/fchomo/node.js:868 msgid "Persistent keepalive" msgstr "持久連接" @@ -2303,8 +2323,8 @@ msgid "" "standards." msgstr "連結格式標準請參考
%s。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1725 -#: htdocs/luci-static/resources/view/fchomo/node.js:1751 +#: htdocs/luci-static/resources/view/fchomo/node.js:1736 +#: htdocs/luci-static/resources/view/fchomo/node.js:1762 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:346 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:372 msgid "" @@ -2313,33 +2333,34 @@ msgid "" msgstr "" "請輸入 %s。" -#: htdocs/luci-static/resources/view/fchomo/client.js:976 -#: htdocs/luci-static/resources/view/fchomo/client.js:1279 -#: htdocs/luci-static/resources/view/fchomo/client.js:1401 -#: htdocs/luci-static/resources/view/fchomo/client.js:1529 -#: htdocs/luci-static/resources/view/fchomo/client.js:1784 -#: htdocs/luci-static/resources/view/fchomo/client.js:1836 -#: htdocs/luci-static/resources/view/fchomo/node.js:1592 +#: htdocs/luci-static/resources/view/fchomo/client.js:980 +#: htdocs/luci-static/resources/view/fchomo/client.js:1283 +#: htdocs/luci-static/resources/view/fchomo/client.js:1405 +#: htdocs/luci-static/resources/view/fchomo/client.js:1533 +#: htdocs/luci-static/resources/view/fchomo/client.js:1788 +#: htdocs/luci-static/resources/view/fchomo/client.js:1840 +#: htdocs/luci-static/resources/view/fchomo/node.js:1603 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:155 msgid "Please type %s fields of mihomo config.
" msgstr "請輸入 mihomo 配置的 %s 欄位。
" -#: htdocs/luci-static/resources/fchomo/listeners.js:557 -#: htdocs/luci-static/resources/view/fchomo/node.js:881 +#: htdocs/luci-static/resources/fchomo/listeners.js:560 +#: htdocs/luci-static/resources/view/fchomo/node.js:892 msgid "Plugin" msgstr "插件" -#: htdocs/luci-static/resources/fchomo/listeners.js:577 -#: htdocs/luci-static/resources/fchomo/listeners.js:583 -#: htdocs/luci-static/resources/fchomo/listeners.js:590 -#: htdocs/luci-static/resources/fchomo/listeners.js:597 -#: htdocs/luci-static/resources/fchomo/listeners.js:603 -#: htdocs/luci-static/resources/view/fchomo/node.js:904 -#: htdocs/luci-static/resources/view/fchomo/node.js:910 -#: htdocs/luci-static/resources/view/fchomo/node.js:917 -#: htdocs/luci-static/resources/view/fchomo/node.js:923 -#: htdocs/luci-static/resources/view/fchomo/node.js:931 -#: htdocs/luci-static/resources/view/fchomo/node.js:937 +#: htdocs/luci-static/resources/fchomo/listeners.js:581 +#: htdocs/luci-static/resources/fchomo/listeners.js:587 +#: htdocs/luci-static/resources/fchomo/listeners.js:594 +#: htdocs/luci-static/resources/fchomo/listeners.js:601 +#: htdocs/luci-static/resources/fchomo/listeners.js:607 +#: htdocs/luci-static/resources/fchomo/listeners.js:615 +#: htdocs/luci-static/resources/view/fchomo/node.js:915 +#: htdocs/luci-static/resources/view/fchomo/node.js:921 +#: htdocs/luci-static/resources/view/fchomo/node.js:928 +#: htdocs/luci-static/resources/view/fchomo/node.js:934 +#: htdocs/luci-static/resources/view/fchomo/node.js:942 +#: htdocs/luci-static/resources/view/fchomo/node.js:948 msgid "Plugin:" msgstr "插件:" @@ -2347,15 +2368,15 @@ msgstr "插件:" msgid "Port" msgstr "連接埠" -#: htdocs/luci-static/resources/fchomo.js:1823 +#: htdocs/luci-static/resources/fchomo.js:1811 msgid "Port %s alrealy exists!" msgstr "連接埠 %s 已存在!" -#: htdocs/luci-static/resources/view/fchomo/node.js:313 +#: htdocs/luci-static/resources/view/fchomo/node.js:324 msgid "Port hop interval" msgstr "連接埠跳躍間隔" -#: htdocs/luci-static/resources/view/fchomo/node.js:395 +#: htdocs/luci-static/resources/view/fchomo/node.js:406 msgid "Port range" msgstr "連接埠範圍" @@ -2364,19 +2385,19 @@ msgid "Ports" msgstr "連接埠" #: htdocs/luci-static/resources/fchomo/listeners.js:153 -#: htdocs/luci-static/resources/view/fchomo/node.js:308 +#: htdocs/luci-static/resources/view/fchomo/node.js:319 msgid "Ports pool" msgstr "連接埠池" #: htdocs/luci-static/resources/fchomo/listeners.js:225 #: htdocs/luci-static/resources/fchomo/listeners.js:456 -#: htdocs/luci-static/resources/view/fchomo/node.js:544 -#: htdocs/luci-static/resources/view/fchomo/node.js:838 +#: htdocs/luci-static/resources/view/fchomo/node.js:555 +#: htdocs/luci-static/resources/view/fchomo/node.js:849 msgid "Pre-shared key" msgstr "預先共用金鑰" -#: htdocs/luci-static/resources/fchomo/listeners.js:897 -#: htdocs/luci-static/resources/view/fchomo/node.js:1070 +#: htdocs/luci-static/resources/fchomo/listeners.js:907 +#: htdocs/luci-static/resources/view/fchomo/node.js:1081 msgid "Pre-shared key of rendezvous server" msgstr "牽線伺服器的預先共用金鑰" @@ -2395,23 +2416,23 @@ msgstr "防止某些情況下的 ICMP 環回問題。 Ping 不會顯示實際延 #: htdocs/luci-static/resources/view/fchomo/global.js:760 #: htdocs/luci-static/resources/view/fchomo/global.js:777 -#: htdocs/luci-static/resources/view/fchomo/node.js:1553 -#: htdocs/luci-static/resources/view/fchomo/node.js:1560 -#: htdocs/luci-static/resources/view/fchomo/node.js:1945 -#: htdocs/luci-static/resources/view/fchomo/node.js:1952 +#: htdocs/luci-static/resources/view/fchomo/node.js:1564 +#: htdocs/luci-static/resources/view/fchomo/node.js:1571 +#: htdocs/luci-static/resources/view/fchomo/node.js:1956 +#: htdocs/luci-static/resources/view/fchomo/node.js:1963 msgid "Priority: Proxy Node > Global." msgstr "優先權: 代理節點 > 全域。" -#: htdocs/luci-static/resources/view/fchomo/node.js:357 +#: htdocs/luci-static/resources/view/fchomo/node.js:368 msgid "Priv-key" msgstr "金鑰" -#: htdocs/luci-static/resources/view/fchomo/node.js:361 +#: htdocs/luci-static/resources/view/fchomo/node.js:372 msgid "Priv-key passphrase" msgstr "金鑰密碼" -#: htdocs/luci-static/resources/view/fchomo/node.js:731 -#: htdocs/luci-static/resources/view/fchomo/node.js:823 +#: htdocs/luci-static/resources/view/fchomo/node.js:742 +#: htdocs/luci-static/resources/view/fchomo/node.js:834 msgid "Private key" msgstr "私鑰" @@ -2420,34 +2441,34 @@ msgid "Process matching mode" msgstr "進程匹配模式" #: htdocs/luci-static/resources/view/fchomo/global.js:708 -#: htdocs/luci-static/resources/view/fchomo/node.js:1463 +#: htdocs/luci-static/resources/view/fchomo/node.js:1474 msgid "Protocol" msgstr "協議" -#: htdocs/luci-static/resources/view/fchomo/node.js:718 +#: htdocs/luci-static/resources/view/fchomo/node.js:729 msgid "Protocol parameter. Enable length block encryption." msgstr "協議參數。啟用長度塊加密。" -#: htdocs/luci-static/resources/view/fchomo/node.js:712 +#: htdocs/luci-static/resources/view/fchomo/node.js:723 msgid "" "Protocol parameter. Will waste traffic randomly if enabled (enabled by " "default in v2ray and cannot be disabled)." msgstr "協議參數。 如啟用會隨機浪費流量(在 v2ray 中預設為啟用且無法停用)。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1096 -#: htdocs/luci-static/resources/view/fchomo/node.js:1575 -#: htdocs/luci-static/resources/view/fchomo/node.js:1584 -#: htdocs/luci-static/resources/view/fchomo/node.js:2061 +#: htdocs/luci-static/resources/view/fchomo/client.js:1100 +#: htdocs/luci-static/resources/view/fchomo/node.js:1586 +#: htdocs/luci-static/resources/view/fchomo/node.js:1595 +#: htdocs/luci-static/resources/view/fchomo/node.js:2072 msgid "Provider" msgstr "供應商" -#: htdocs/luci-static/resources/view/fchomo/node.js:1758 +#: htdocs/luci-static/resources/view/fchomo/node.js:1769 msgid "Provider URL" msgstr "供應商訂閱 URL" -#: htdocs/luci-static/resources/view/fchomo/client.js:950 -#: htdocs/luci-static/resources/view/fchomo/client.js:968 -#: htdocs/luci-static/resources/view/fchomo/client.js:1485 +#: htdocs/luci-static/resources/view/fchomo/client.js:954 +#: htdocs/luci-static/resources/view/fchomo/client.js:972 +#: htdocs/luci-static/resources/view/fchomo/client.js:1489 msgid "Proxy Group" msgstr "代理組" @@ -2464,24 +2485,24 @@ msgid "Proxy MAC-s" msgstr "代理 MAC 位址" #: htdocs/luci-static/resources/view/fchomo/node.js:219 -#: htdocs/luci-static/resources/view/fchomo/node.js:2060 +#: htdocs/luci-static/resources/view/fchomo/node.js:2071 msgid "Proxy Node" msgstr "代理節點" -#: htdocs/luci-static/resources/view/fchomo/node.js:2036 -#: htdocs/luci-static/resources/view/fchomo/node.js:2045 +#: htdocs/luci-static/resources/view/fchomo/node.js:2047 +#: htdocs/luci-static/resources/view/fchomo/node.js:2056 msgid "Proxy chain" msgstr "代理鏈" -#: htdocs/luci-static/resources/fchomo/listeners.js:628 -#: htdocs/luci-static/resources/view/fchomo/client.js:797 -#: htdocs/luci-static/resources/view/fchomo/client.js:1627 -#: htdocs/luci-static/resources/view/fchomo/node.js:1776 +#: htdocs/luci-static/resources/fchomo/listeners.js:638 +#: htdocs/luci-static/resources/view/fchomo/client.js:801 +#: htdocs/luci-static/resources/view/fchomo/client.js:1631 +#: htdocs/luci-static/resources/view/fchomo/node.js:1787 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:403 msgid "Proxy group" msgstr "代理組" -#: htdocs/luci-static/resources/view/fchomo/client.js:903 +#: htdocs/luci-static/resources/view/fchomo/client.js:907 msgid "Proxy group override" msgstr "代理組覆蓋" @@ -2493,54 +2514,56 @@ msgstr "代理模式" msgid "Proxy routerself" msgstr "代理路由器自身" -#: htdocs/luci-static/resources/view/fchomo/node.js:583 -#: htdocs/luci-static/resources/view/fchomo/node.js:803 +#: htdocs/luci-static/resources/view/fchomo/node.js:594 +#: htdocs/luci-static/resources/view/fchomo/node.js:814 msgid "QUIC" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:953 +#: htdocs/luci-static/resources/view/fchomo/client.js:957 #: htdocs/luci-static/resources/view/fchomo/server.js:44 msgid "Quick Reload" msgstr "快速重載" -#: htdocs/luci-static/resources/fchomo/listeners.js:1093 -#: htdocs/luci-static/resources/view/fchomo/node.js:1243 +#: htdocs/luci-static/resources/fchomo/listeners.js:1103 +#: htdocs/luci-static/resources/view/fchomo/node.js:1254 msgid "REALITY" msgstr "REALITY" -#: htdocs/luci-static/resources/view/fchomo/node.js:1258 +#: htdocs/luci-static/resources/view/fchomo/node.js:1269 msgid "REALITY X25519MLKEM768 PQC support" msgstr "REALITY X25519MLKEM768 後量子加密支援" -#: htdocs/luci-static/resources/fchomo/listeners.js:1130 +#: htdocs/luci-static/resources/fchomo/listeners.js:1140 msgid "REALITY certificate issued to" msgstr "REALITY 證書頒發給" -#: htdocs/luci-static/resources/fchomo/listeners.js:1098 +#: htdocs/luci-static/resources/fchomo/listeners.js:1108 msgid "REALITY handshake server" msgstr "REALITY 握手伺服器" -#: htdocs/luci-static/resources/fchomo/listeners.js:1105 +#: htdocs/luci-static/resources/fchomo/listeners.js:1115 msgid "REALITY private key" msgstr "REALITY 私鑰" -#: htdocs/luci-static/resources/fchomo/listeners.js:1120 -#: htdocs/luci-static/resources/view/fchomo/node.js:1248 +#: htdocs/luci-static/resources/fchomo/listeners.js:1130 +#: htdocs/luci-static/resources/view/fchomo/node.js:1259 msgid "REALITY public key" msgstr "REALITY 公鑰" -#: htdocs/luci-static/resources/fchomo/listeners.js:1124 -#: htdocs/luci-static/resources/view/fchomo/node.js:1253 +#: htdocs/luci-static/resources/fchomo/listeners.js:1134 +#: htdocs/luci-static/resources/view/fchomo/node.js:1264 msgid "REALITY short ID" msgstr "REALITY 標識符" -#: htdocs/luci-static/resources/view/fchomo/node.js:267 +#: htdocs/luci-static/resources/view/fchomo/node.js:268 +#: htdocs/luci-static/resources/view/fchomo/node.js:274 +#: htdocs/luci-static/resources/view/fchomo/node.js:292 msgid "REMATCH-NAME marking" msgstr "REMATCH-NAME 打標" -#: htdocs/luci-static/resources/fchomo/listeners.js:730 -#: htdocs/luci-static/resources/fchomo/listeners.js:749 -#: htdocs/luci-static/resources/view/fchomo/node.js:1025 +#: htdocs/luci-static/resources/fchomo/listeners.js:740 +#: htdocs/luci-static/resources/fchomo/listeners.js:759 +#: htdocs/luci-static/resources/view/fchomo/node.js:1036 msgid "RTT" msgstr "" @@ -2556,13 +2579,13 @@ msgstr "留空將使用隨機令牌。" msgid "Randomized traffic characteristics" msgstr "隨機化流量特徵" -#: htdocs/luci-static/resources/fchomo/listeners.js:886 -#: htdocs/luci-static/resources/view/fchomo/node.js:1059 +#: htdocs/luci-static/resources/fchomo/listeners.js:896 +#: htdocs/luci-static/resources/view/fchomo/node.js:1070 msgid "Realm" msgstr "Realm" -#: htdocs/luci-static/resources/fchomo/listeners.js:902 -#: htdocs/luci-static/resources/view/fchomo/node.js:1075 +#: htdocs/luci-static/resources/fchomo/listeners.js:912 +#: htdocs/luci-static/resources/view/fchomo/node.js:1086 msgid "Realm ID" msgstr "Realm ID" @@ -2590,8 +2613,8 @@ msgstr "Redirect TCP + Tun UDP" msgid "Refresh every %s seconds." msgstr "每 %s 秒刷新。" -#: htdocs/luci-static/resources/fchomo.js:1579 -#: htdocs/luci-static/resources/view/fchomo/client.js:954 +#: htdocs/luci-static/resources/fchomo.js:1567 +#: htdocs/luci-static/resources/view/fchomo/client.js:958 #: htdocs/luci-static/resources/view/fchomo/global.js:193 #: htdocs/luci-static/resources/view/fchomo/server.js:45 msgid "Reload" @@ -2609,38 +2632,38 @@ msgstr "再路由" msgid "Rematching routing rules" msgstr "重新匹配路由規則" -#: htdocs/luci-static/resources/view/fchomo/node.js:1703 +#: htdocs/luci-static/resources/view/fchomo/node.js:1714 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:287 msgid "Remote" msgstr "遠端" -#: htdocs/luci-static/resources/view/fchomo/node.js:786 -#: htdocs/luci-static/resources/view/fchomo/node.js:869 +#: htdocs/luci-static/resources/view/fchomo/node.js:797 +#: htdocs/luci-static/resources/view/fchomo/node.js:880 msgid "Remote DNS resolve" msgstr "遠端 DNS 解析" -#: htdocs/luci-static/resources/fchomo.js:1744 +#: htdocs/luci-static/resources/fchomo.js:1732 msgid "Remove" msgstr "移除" -#: htdocs/luci-static/resources/fchomo.js:1749 -#: htdocs/luci-static/resources/view/fchomo/node.js:1679 -#: htdocs/luci-static/resources/view/fchomo/node.js:1681 +#: htdocs/luci-static/resources/fchomo.js:1737 +#: htdocs/luci-static/resources/view/fchomo/node.js:1690 +#: htdocs/luci-static/resources/view/fchomo/node.js:1692 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:259 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:261 msgid "Remove idles" msgstr "移除閒置" -#: htdocs/luci-static/resources/fchomo/listeners.js:891 -#: htdocs/luci-static/resources/view/fchomo/node.js:1064 +#: htdocs/luci-static/resources/fchomo/listeners.js:901 +#: htdocs/luci-static/resources/view/fchomo/node.js:1075 msgid "Rendezvous server" msgstr "牽線伺服器" -#: htdocs/luci-static/resources/view/fchomo/node.js:1875 +#: htdocs/luci-static/resources/view/fchomo/node.js:1886 msgid "Replace name" msgstr "名稱替換" -#: htdocs/luci-static/resources/view/fchomo/node.js:1876 +#: htdocs/luci-static/resources/view/fchomo/node.js:1887 msgid "Replace node name." msgstr "替換節點名稱" @@ -2648,13 +2671,13 @@ msgstr "替換節點名稱" msgid "Request" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1178 -#: htdocs/luci-static/resources/view/fchomo/node.js:1331 -#: htdocs/luci-static/resources/view/fchomo/node.js:1338 +#: htdocs/luci-static/resources/fchomo/listeners.js:1188 +#: htdocs/luci-static/resources/view/fchomo/node.js:1342 +#: htdocs/luci-static/resources/view/fchomo/node.js:1349 msgid "Request path" msgstr "請求路徑" -#: htdocs/luci-static/resources/view/fchomo/node.js:623 +#: htdocs/luci-static/resources/view/fchomo/node.js:634 msgid "Request timeout" msgstr "請求逾時" @@ -2667,11 +2690,11 @@ msgid "Require any" msgstr "" #: htdocs/luci-static/resources/fchomo.js:404 -#: htdocs/luci-static/resources/view/fchomo/node.js:1259 +#: htdocs/luci-static/resources/view/fchomo/node.js:1270 msgid "Requires server support." msgstr "需要伺服器支援。" -#: htdocs/luci-static/resources/view/fchomo/node.js:852 +#: htdocs/luci-static/resources/view/fchomo/node.js:863 msgid "Reserved field bytes" msgstr "保留字段位元組" @@ -2679,26 +2702,27 @@ msgstr "保留字段位元組" msgid "Resources management" msgstr "資源管理" -#: htdocs/luci-static/resources/view/fchomo/node.js:937 +#: htdocs/luci-static/resources/fchomo/listeners.js:615 +#: htdocs/luci-static/resources/view/fchomo/node.js:948 msgid "Restls script" msgstr "Restls 劇本" -#: htdocs/luci-static/resources/view/fchomo/client.js:1250 +#: htdocs/luci-static/resources/view/fchomo/client.js:1254 msgid "" "Returns hidden status in the API to hide the display of this proxy group." msgstr "在 API 傳回 hidden 狀態,以隱藏該代理組顯示。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1256 +#: htdocs/luci-static/resources/view/fchomo/client.js:1260 msgid "" "Returns the string input for icon in the API to display in this proxy group." msgstr "在 API 傳回 icon 所輸入的字串,以在該代理組顯示。" -#: htdocs/luci-static/resources/view/fchomo/node.js:528 +#: htdocs/luci-static/resources/view/fchomo/node.js:539 msgid "Reuse HTTP connections to reduce RTT for each connection establishment." msgstr "重用 HTTP 連接以減少每次建立連接的 RTT。" -#: htdocs/luci-static/resources/view/fchomo/node.js:525 -#: htdocs/luci-static/resources/view/fchomo/node.js:529 +#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:540 msgid "Reusing a single tunnel to carry multiple target connections within it." msgstr "複用單條隧道使其內部承載多條目標連線。" @@ -2715,10 +2739,10 @@ msgstr "路由 DSCP" msgid "Routing GFW" msgstr "路由 GFW 流量" -#: htdocs/luci-static/resources/fchomo/listeners.js:613 +#: htdocs/luci-static/resources/fchomo/listeners.js:623 #: htdocs/luci-static/resources/view/fchomo/global.js:776 -#: htdocs/luci-static/resources/view/fchomo/node.js:1559 -#: htdocs/luci-static/resources/view/fchomo/node.js:1951 +#: htdocs/luci-static/resources/view/fchomo/node.js:1570 +#: htdocs/luci-static/resources/view/fchomo/node.js:1962 msgid "Routing mark (Fwmark)" msgstr "路由標記 (Fwmark)" @@ -2739,8 +2763,8 @@ msgstr "路由模式將處理網域。" msgid "Routing ports" msgstr "路由連接埠" -#: htdocs/luci-static/resources/view/fchomo/client.js:1262 -#: htdocs/luci-static/resources/view/fchomo/client.js:1271 +#: htdocs/luci-static/resources/view/fchomo/client.js:1266 +#: htdocs/luci-static/resources/view/fchomo/client.js:1275 msgid "Routing rule" msgstr "路由規則" @@ -2756,8 +2780,8 @@ msgstr "路由表 ID" msgid "Rule" msgstr "規則" -#: htdocs/luci-static/resources/view/fchomo/client.js:862 -#: htdocs/luci-static/resources/view/fchomo/client.js:875 +#: htdocs/luci-static/resources/view/fchomo/client.js:866 +#: htdocs/luci-static/resources/view/fchomo/client.js:879 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:147 msgid "Rule set" msgstr "規則集" @@ -2774,7 +2798,7 @@ msgstr "規則集" msgid "Ruleset-URI-Scheme" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1592 +#: htdocs/luci-static/resources/fchomo.js:1580 msgid "Running" msgstr "正在運作" @@ -2798,21 +2822,21 @@ msgstr "" msgid "STUN" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:908 -#: htdocs/luci-static/resources/view/fchomo/node.js:1081 +#: htdocs/luci-static/resources/fchomo/listeners.js:918 +#: htdocs/luci-static/resources/view/fchomo/node.js:1092 msgid "STUN servers" msgstr "STUN 伺服器" -#: htdocs/luci-static/resources/view/fchomo/client.js:1354 +#: htdocs/luci-static/resources/view/fchomo/client.js:1358 msgid "SUB-RULE" msgstr "SUB-RULE" -#: htdocs/luci-static/resources/view/fchomo/node.js:982 +#: htdocs/luci-static/resources/view/fchomo/node.js:993 msgid "SUoT version" msgstr "SUoT 版本" #: htdocs/luci-static/resources/fchomo/listeners.js:195 -#: htdocs/luci-static/resources/view/fchomo/node.js:333 +#: htdocs/luci-static/resources/view/fchomo/node.js:344 msgid "Salamander" msgstr "Salamander" @@ -2845,7 +2869,7 @@ msgstr "選擇面板" msgid "Send padding randomly 0-3333 bytes with 50% probability." msgstr "以 50% 的機率發送隨機 0 到 3333 位元組的填充。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1924 +#: htdocs/luci-static/resources/view/fchomo/client.js:1929 msgid "Send queries to both the %s and the %s." msgstr "同時向%s%s發起查詢。" @@ -2854,9 +2878,9 @@ msgstr "同時向%s%s發起查詢。" msgid "Send random ticket of 300s-600s duration for client 0-RTT reuse." msgstr "發送 300-600 秒的隨機票證,以供客戶端 0-RTT 重用。" -#: htdocs/luci-static/resources/fchomo/listeners.js:730 -#: htdocs/luci-static/resources/fchomo/listeners.js:991 -#: htdocs/luci-static/resources/fchomo/listeners.js:1006 +#: htdocs/luci-static/resources/fchomo/listeners.js:740 +#: htdocs/luci-static/resources/fchomo/listeners.js:1001 +#: htdocs/luci-static/resources/fchomo/listeners.js:1016 #: htdocs/luci-static/resources/view/fchomo/server.js:58 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:62 msgid "Server" @@ -2866,9 +2890,9 @@ msgstr "服務端" msgid "Server address" msgstr "伺服器位址" -#: htdocs/luci-static/resources/fchomo/listeners.js:1172 -#: htdocs/luci-static/resources/view/fchomo/node.js:1310 -#: htdocs/luci-static/resources/view/fchomo/node.js:1316 +#: htdocs/luci-static/resources/fchomo/listeners.js:1182 +#: htdocs/luci-static/resources/view/fchomo/node.js:1321 +#: htdocs/luci-static/resources/view/fchomo/node.js:1327 msgid "Server hostname" msgstr "伺服器主機名稱" @@ -2885,22 +2909,22 @@ msgstr "服務狀態" msgid "Shadowsocks" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:503 -#: htdocs/luci-static/resources/view/fchomo/node.js:642 +#: htdocs/luci-static/resources/fchomo/listeners.js:506 +#: htdocs/luci-static/resources/view/fchomo/node.js:653 msgid "Shadowsocks chipher" msgstr "Shadowsocks 加密方法" -#: htdocs/luci-static/resources/fchomo/listeners.js:498 -#: htdocs/luci-static/resources/view/fchomo/node.js:637 +#: htdocs/luci-static/resources/fchomo/listeners.js:501 +#: htdocs/luci-static/resources/view/fchomo/node.js:648 msgid "Shadowsocks encrypt" msgstr "Shadowsocks 加密" -#: htdocs/luci-static/resources/fchomo/listeners.js:511 -#: htdocs/luci-static/resources/view/fchomo/node.js:650 +#: htdocs/luci-static/resources/fchomo/listeners.js:514 +#: htdocs/luci-static/resources/view/fchomo/node.js:661 msgid "Shadowsocks password" msgstr "Shadowsocks 密碼" -#: htdocs/luci-static/resources/view/fchomo/node.js:1511 +#: htdocs/luci-static/resources/view/fchomo/node.js:1522 msgid "Show connections in the dashboard for breaking connections easier." msgstr "在面板中顯示連線以便於打斷連線。" @@ -2912,14 +2936,14 @@ msgstr "靜音" msgid "Simple round-robin all nodes" msgstr "簡單輪替所有節點" -#: htdocs/luci-static/resources/view/fchomo/node.js:1764 +#: htdocs/luci-static/resources/view/fchomo/node.js:1775 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:391 msgid "Size limit" msgstr "大小限制" -#: htdocs/luci-static/resources/view/fchomo/client.js:1663 -#: htdocs/luci-static/resources/view/fchomo/node.js:1180 -#: htdocs/luci-static/resources/view/fchomo/node.js:1926 +#: htdocs/luci-static/resources/view/fchomo/client.js:1667 +#: htdocs/luci-static/resources/view/fchomo/node.js:1191 +#: htdocs/luci-static/resources/view/fchomo/node.js:1937 msgid "Skip cert verify" msgstr "跳過憑證驗證" @@ -2979,18 +3003,18 @@ msgstr "Steam 客戶端" msgid "Steam P2P" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:1222 -#: htdocs/luci-static/resources/view/fchomo/client.js:1224 +#: htdocs/luci-static/resources/view/fchomo/client.js:1226 +#: htdocs/luci-static/resources/view/fchomo/client.js:1228 msgid "Strategy" msgstr "策略" -#: htdocs/luci-static/resources/fchomo/listeners.js:617 -#: htdocs/luci-static/resources/view/fchomo/client.js:1384 -#: htdocs/luci-static/resources/view/fchomo/client.js:1393 +#: htdocs/luci-static/resources/fchomo/listeners.js:627 +#: htdocs/luci-static/resources/view/fchomo/client.js:1388 +#: htdocs/luci-static/resources/view/fchomo/client.js:1397 msgid "Sub rule" msgstr "子規則" -#: htdocs/luci-static/resources/view/fchomo/client.js:1439 +#: htdocs/luci-static/resources/view/fchomo/client.js:1443 msgid "Sub rule group" msgstr "子規則組" @@ -3003,7 +3027,7 @@ msgstr "已成功匯入 %s 個%s (共 %s 個)。" msgid "Successfully updated." msgstr "更新成功。" -#: htdocs/luci-static/resources/fchomo.js:2094 +#: htdocs/luci-static/resources/fchomo.js:2082 msgid "Successfully uploaded." msgstr "已成功上傳。" @@ -3043,9 +3067,9 @@ msgstr "系統 DNS" #: htdocs/luci-static/resources/fchomo.js:199 #: htdocs/luci-static/resources/fchomo.js:200 #: htdocs/luci-static/resources/fchomo.js:207 -#: htdocs/luci-static/resources/fchomo/listeners.js:661 -#: htdocs/luci-static/resources/view/fchomo/client.js:600 -#: htdocs/luci-static/resources/view/fchomo/client.js:690 +#: htdocs/luci-static/resources/fchomo/listeners.js:671 +#: htdocs/luci-static/resources/view/fchomo/client.js:606 +#: htdocs/luci-static/resources/view/fchomo/client.js:698 msgid "TCP" msgstr "TCP" @@ -3053,7 +3077,7 @@ msgstr "TCP" msgid "TCP concurrency" msgstr "TCP 併發" -#: htdocs/luci-static/resources/view/fchomo/node.js:1504 +#: htdocs/luci-static/resources/view/fchomo/node.js:1515 msgid "TCP only" msgstr "僅 TCP" @@ -3080,26 +3104,26 @@ msgstr "TCP-Keep-Alive 間隔" msgid "TCP/UDP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1535 -#: htdocs/luci-static/resources/view/fchomo/node.js:1893 +#: htdocs/luci-static/resources/view/fchomo/node.js:1546 +#: htdocs/luci-static/resources/view/fchomo/node.js:1904 msgid "TFO" msgstr "TCP 快速開啟 (TFO)" -#: htdocs/luci-static/resources/fchomo/listeners.js:579 -#: htdocs/luci-static/resources/fchomo/listeners.js:918 +#: htdocs/luci-static/resources/fchomo/listeners.js:583 +#: htdocs/luci-static/resources/fchomo/listeners.js:928 #: htdocs/luci-static/resources/view/fchomo/global.js:550 -#: htdocs/luci-static/resources/view/fchomo/node.js:509 -#: htdocs/luci-static/resources/view/fchomo/node.js:906 -#: htdocs/luci-static/resources/view/fchomo/node.js:1091 +#: htdocs/luci-static/resources/view/fchomo/node.js:520 +#: htdocs/luci-static/resources/view/fchomo/node.js:917 +#: htdocs/luci-static/resources/view/fchomo/node.js:1102 msgid "TLS" msgstr "TLS" -#: htdocs/luci-static/resources/fchomo/listeners.js:985 -#: htdocs/luci-static/resources/view/fchomo/node.js:1122 +#: htdocs/luci-static/resources/fchomo/listeners.js:995 +#: htdocs/luci-static/resources/view/fchomo/node.js:1133 msgid "TLS ALPN" msgstr "TLS ALPN" -#: htdocs/luci-static/resources/view/fchomo/node.js:1116 +#: htdocs/luci-static/resources/view/fchomo/node.js:1127 msgid "TLS SNI" msgstr "" @@ -3117,7 +3141,7 @@ msgstr "" msgid "TURN" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:550 +#: htdocs/luci-static/resources/fchomo/listeners.js:553 msgid "Target address" msgstr "目標位址" @@ -3126,35 +3150,35 @@ msgid "" "Tell the client to use the BBR flow control algorithm instead of Hysteria CC." msgstr "讓客戶端使用 BBR 流控演算法。" -#: htdocs/luci-static/resources/view/fchomo/node.js:747 -#: htdocs/luci-static/resources/view/fchomo/node.js:755 +#: htdocs/luci-static/resources/view/fchomo/node.js:758 +#: htdocs/luci-static/resources/view/fchomo/node.js:766 msgid "The %s address used by local machine in the Cloudflare WARP network." msgstr "Cloudflare WARP 網路中使用的本機 %s 位址。" -#: htdocs/luci-static/resources/view/fchomo/node.js:810 -#: htdocs/luci-static/resources/view/fchomo/node.js:818 +#: htdocs/luci-static/resources/view/fchomo/node.js:821 +#: htdocs/luci-static/resources/view/fchomo/node.js:829 msgid "The %s address used by local machine in the Wireguard network." msgstr "WireGuard 網路中使用的本機 %s 位址。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1006 -#: htdocs/luci-static/resources/view/fchomo/node.js:1203 +#: htdocs/luci-static/resources/fchomo/listeners.js:1016 +#: htdocs/luci-static/resources/view/fchomo/node.js:1214 msgid "The %s private key, in PEM format." msgstr "%s私鑰,需要 PEM 格式。" -#: htdocs/luci-static/resources/fchomo/listeners.js:991 -#: htdocs/luci-static/resources/fchomo/listeners.js:1029 +#: htdocs/luci-static/resources/fchomo/listeners.js:1001 +#: htdocs/luci-static/resources/fchomo/listeners.js:1039 #: htdocs/luci-static/resources/view/fchomo/global.js:571 -#: htdocs/luci-static/resources/view/fchomo/node.js:1189 +#: htdocs/luci-static/resources/view/fchomo/node.js:1200 msgid "The %s public key, in PEM format." msgstr "%s公鑰,需要 PEM 格式。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1223 +#: htdocs/luci-static/resources/view/fchomo/node.js:1234 msgid "" "The ECH parameter of the HTTPS record for the domain. Leave empty to resolve " "via DNS." msgstr "網域的 HTTPS 記錄的 ECH 參數。留空則透過 DNS 解析。" -#: htdocs/luci-static/resources/view/fchomo/node.js:431 +#: htdocs/luci-static/resources/view/fchomo/node.js:442 msgid "The ED25519 available private key or UUID provided by Sudoku server." msgstr "Sudoku 伺服器提供的 ED25519 可用私鑰 或 UUID。" @@ -3166,48 +3190,48 @@ msgstr "Sudoku 產生的 ED25519 主公鑰 或 UUID。" msgid "The default value is 2:00 every day." msgstr "預設值為每天 2:00。" -#: htdocs/luci-static/resources/view/fchomo/node.js:964 +#: htdocs/luci-static/resources/view/fchomo/node.js:975 msgid "" "The default value is %s, indicating that only the outer " "connection timeout is used." msgstr "預設值為%s,表示僅使用外層連線逾時。" -#: htdocs/luci-static/resources/fchomo/listeners.js:762 -#: htdocs/luci-static/resources/view/fchomo/node.js:1038 +#: htdocs/luci-static/resources/fchomo/listeners.js:772 +#: htdocs/luci-static/resources/view/fchomo/node.js:1049 msgid "" "The first padding must have a probability of 100% and at least 35 bytes." msgstr "首個填充必須為 100% 的機率並且至少 35 位元組。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1893 +#: htdocs/luci-static/resources/view/fchomo/client.js:1897 msgid "The matching %s will be deemed as not-poisoned." msgstr "匹配 %s 的將被視為未被投毒汙染。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1902 #: htdocs/luci-static/resources/view/fchomo/client.js:1906 #: htdocs/luci-static/resources/view/fchomo/client.js:1911 +#: htdocs/luci-static/resources/view/fchomo/client.js:1916 msgid "The matching %s will be deemed as poisoned." msgstr "匹配 %s 的將被視為已被投毒汙染。" -#: htdocs/luci-static/resources/fchomo/listeners.js:760 -#: htdocs/luci-static/resources/view/fchomo/node.js:1036 +#: htdocs/luci-static/resources/fchomo/listeners.js:770 +#: htdocs/luci-static/resources/view/fchomo/node.js:1047 msgid "The server and client can set different padding parameters." msgstr "伺服器和客戶端可以設定不同的填充參數。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1087 +#: htdocs/luci-static/resources/fchomo/listeners.js:1097 #: htdocs/luci-static/resources/view/fchomo/global.js:615 msgid "This ECH parameter needs to be added to the HTTPS record of the domain." msgstr "此 ECH 參數需要加入到網域的 HTTPS 記錄中。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1666 -#: htdocs/luci-static/resources/view/fchomo/node.js:1183 -#: htdocs/luci-static/resources/view/fchomo/node.js:1929 +#: htdocs/luci-static/resources/view/fchomo/client.js:1670 +#: htdocs/luci-static/resources/view/fchomo/node.js:1194 +#: htdocs/luci-static/resources/view/fchomo/node.js:1940 msgid "" "This is DANGEROUS, your traffic is almost like " "PLAIN TEXT! Use at your own risk!" msgstr "" "這是危險行為,您的流量將幾乎等同於明文!使用風險自負!" -#: htdocs/luci-static/resources/view/fchomo/node.js:588 +#: htdocs/luci-static/resources/view/fchomo/node.js:599 msgid "" "This is the TUIC port of the SUoT protocol, designed to provide a QUIC " "stream based UDP relay mode that TUIC does not provide." @@ -3240,22 +3264,22 @@ msgid "Tproxy port" msgstr "Tproxy 連接埠" #: htdocs/luci-static/resources/fchomo/listeners.js:285 -#: htdocs/luci-static/resources/view/fchomo/node.js:423 +#: htdocs/luci-static/resources/view/fchomo/node.js:434 msgid "Traffic pattern" msgstr "流量模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:2098 +#: htdocs/luci-static/resources/view/fchomo/node.js:2109 msgid "Transit proxy group" msgstr "中轉代理組" -#: htdocs/luci-static/resources/view/fchomo/node.js:2109 +#: htdocs/luci-static/resources/view/fchomo/node.js:2120 msgid "Transit proxy node" msgstr "中轉代理節點" #: htdocs/luci-static/resources/fchomo/listeners.js:273 -#: htdocs/luci-static/resources/fchomo/listeners.js:1138 -#: htdocs/luci-static/resources/view/fchomo/node.js:400 -#: htdocs/luci-static/resources/view/fchomo/node.js:1265 +#: htdocs/luci-static/resources/fchomo/listeners.js:1148 +#: htdocs/luci-static/resources/view/fchomo/node.js:411 +#: htdocs/luci-static/resources/view/fchomo/node.js:1276 msgid "Transport" msgstr "傳輸層" @@ -3264,12 +3288,12 @@ msgstr "傳輸層" msgid "Transport fields" msgstr "傳輸層欄位" -#: htdocs/luci-static/resources/fchomo/listeners.js:1143 -#: htdocs/luci-static/resources/view/fchomo/node.js:1270 +#: htdocs/luci-static/resources/fchomo/listeners.js:1153 +#: htdocs/luci-static/resources/view/fchomo/node.js:1281 msgid "Transport type" msgstr "傳輸層類型" -#: htdocs/luci-static/resources/view/fchomo/client.js:819 +#: htdocs/luci-static/resources/view/fchomo/client.js:823 msgid "Treat the destination IP as the source IP." msgstr "將 目標 IP 視為 來源 IP。" @@ -3309,13 +3333,13 @@ msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:142 #: htdocs/luci-static/resources/view/fchomo/client.js:533 -#: htdocs/luci-static/resources/view/fchomo/client.js:654 -#: htdocs/luci-static/resources/view/fchomo/client.js:751 -#: htdocs/luci-static/resources/view/fchomo/client.js:859 -#: htdocs/luci-static/resources/view/fchomo/client.js:1057 +#: htdocs/luci-static/resources/view/fchomo/client.js:660 +#: htdocs/luci-static/resources/view/fchomo/client.js:755 +#: htdocs/luci-static/resources/view/fchomo/client.js:863 +#: htdocs/luci-static/resources/view/fchomo/client.js:1061 #: htdocs/luci-static/resources/view/fchomo/node.js:250 -#: htdocs/luci-static/resources/view/fchomo/node.js:1701 -#: htdocs/luci-static/resources/view/fchomo/node.js:2059 +#: htdocs/luci-static/resources/view/fchomo/node.js:1712 +#: htdocs/luci-static/resources/view/fchomo/node.js:2070 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:285 msgid "Type" msgstr "類型" @@ -3326,12 +3350,12 @@ msgstr "類型" #: htdocs/luci-static/resources/fchomo.js:203 #: htdocs/luci-static/resources/fchomo.js:204 #: htdocs/luci-static/resources/fchomo.js:206 -#: htdocs/luci-static/resources/fchomo/listeners.js:662 -#: htdocs/luci-static/resources/fchomo/listeners.js:667 -#: htdocs/luci-static/resources/view/fchomo/client.js:599 -#: htdocs/luci-static/resources/view/fchomo/client.js:689 -#: htdocs/luci-static/resources/view/fchomo/node.js:970 -#: htdocs/luci-static/resources/view/fchomo/node.js:1903 +#: htdocs/luci-static/resources/fchomo/listeners.js:672 +#: htdocs/luci-static/resources/fchomo/listeners.js:677 +#: htdocs/luci-static/resources/view/fchomo/client.js:605 +#: htdocs/luci-static/resources/view/fchomo/client.js:697 +#: htdocs/luci-static/resources/view/fchomo/node.js:981 +#: htdocs/luci-static/resources/view/fchomo/node.js:1914 msgid "UDP" msgstr "UDP" @@ -3339,26 +3363,26 @@ msgstr "UDP" msgid "UDP NAT expiration time" msgstr "UDP NAT 過期時間" -#: htdocs/luci-static/resources/view/fchomo/node.js:587 +#: htdocs/luci-static/resources/view/fchomo/node.js:598 msgid "UDP over stream" msgstr "UDP over stream" -#: htdocs/luci-static/resources/view/fchomo/node.js:593 +#: htdocs/luci-static/resources/view/fchomo/node.js:604 msgid "UDP over stream version" msgstr "UDP over stream 版本" -#: htdocs/luci-static/resources/view/fchomo/node.js:580 +#: htdocs/luci-static/resources/view/fchomo/node.js:591 msgid "UDP packet relay mode." msgstr "UDP 包中繼模式。" -#: htdocs/luci-static/resources/view/fchomo/node.js:579 +#: htdocs/luci-static/resources/view/fchomo/node.js:590 msgid "UDP relay mode" msgstr "UDP 中繼模式" #: htdocs/luci-static/resources/fchomo/listeners.js:373 #: htdocs/luci-static/resources/fchomo/listeners.js:374 -#: htdocs/luci-static/resources/view/fchomo/node.js:455 -#: htdocs/luci-static/resources/view/fchomo/node.js:456 +#: htdocs/luci-static/resources/view/fchomo/node.js:466 +#: htdocs/luci-static/resources/view/fchomo/node.js:467 msgid "UP: %s; DOWN: %s" msgstr "上傳: %s; 下載: %s" @@ -3367,14 +3391,14 @@ msgid "URL test" msgstr "自動選擇" #: htdocs/luci-static/resources/fchomo/listeners.js:294 -#: htdocs/luci-static/resources/fchomo/listeners.js:471 -#: htdocs/luci-static/resources/fchomo/listeners.js:526 -#: htdocs/luci-static/resources/view/fchomo/node.js:567 -#: htdocs/luci-static/resources/view/fchomo/node.js:681 +#: htdocs/luci-static/resources/fchomo/listeners.js:474 +#: htdocs/luci-static/resources/fchomo/listeners.js:529 +#: htdocs/luci-static/resources/view/fchomo/node.js:578 +#: htdocs/luci-static/resources/view/fchomo/node.js:692 msgid "UUID" msgstr "UUID" -#: htdocs/luci-static/resources/fchomo.js:1637 +#: htdocs/luci-static/resources/fchomo.js:1625 msgid "Unable to download unsupported type: %s" msgstr "無法下載不支援的類型: %s" @@ -3399,8 +3423,8 @@ msgstr "未知錯誤。" msgid "Unknown error: %s" msgstr "未知錯誤:%s" -#: htdocs/luci-static/resources/view/fchomo/node.js:976 -#: htdocs/luci-static/resources/view/fchomo/node.js:1908 +#: htdocs/luci-static/resources/view/fchomo/node.js:987 +#: htdocs/luci-static/resources/view/fchomo/node.js:1919 msgid "UoT" msgstr "UDP over TCP (UoT)" @@ -3408,22 +3432,24 @@ msgstr "UDP over TCP (UoT)" msgid "Update failed." msgstr "更新失敗。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1770 +#: htdocs/luci-static/resources/view/fchomo/node.js:1781 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:397 msgid "Update interval" msgstr "更新間隔" -#: htdocs/luci-static/resources/view/fchomo/node.js:1522 +#: htdocs/luci-static/resources/fchomo/listeners.js:1248 +#: htdocs/luci-static/resources/view/fchomo/node.js:1533 msgid "Upload bandwidth" msgstr "上傳頻寬" -#: htdocs/luci-static/resources/view/fchomo/node.js:1523 +#: htdocs/luci-static/resources/fchomo/listeners.js:1249 +#: htdocs/luci-static/resources/view/fchomo/node.js:1534 msgid "Upload bandwidth in Mbps." msgstr "上傳頻寬(單位:Mbps)。" -#: htdocs/luci-static/resources/fchomo/listeners.js:997 -#: htdocs/luci-static/resources/fchomo/listeners.js:1037 -#: htdocs/luci-static/resources/view/fchomo/node.js:1194 +#: htdocs/luci-static/resources/fchomo/listeners.js:1007 +#: htdocs/luci-static/resources/fchomo/listeners.js:1047 +#: htdocs/luci-static/resources/view/fchomo/node.js:1205 msgid "Upload certificate" msgstr "上傳憑證" @@ -3431,45 +3457,47 @@ msgstr "上傳憑證" msgid "Upload initial package" msgstr "上傳初始資源包" -#: htdocs/luci-static/resources/fchomo/listeners.js:1012 -#: htdocs/luci-static/resources/view/fchomo/node.js:1208 +#: htdocs/luci-static/resources/fchomo/listeners.js:1022 +#: htdocs/luci-static/resources/view/fchomo/node.js:1219 msgid "Upload key" msgstr "上傳金鑰" -#: htdocs/luci-static/resources/fchomo/listeners.js:1000 -#: htdocs/luci-static/resources/fchomo/listeners.js:1015 -#: htdocs/luci-static/resources/fchomo/listeners.js:1040 +#: htdocs/luci-static/resources/fchomo/listeners.js:1010 +#: htdocs/luci-static/resources/fchomo/listeners.js:1025 +#: htdocs/luci-static/resources/fchomo/listeners.js:1050 #: htdocs/luci-static/resources/view/fchomo/global.js:306 -#: htdocs/luci-static/resources/view/fchomo/node.js:1197 -#: htdocs/luci-static/resources/view/fchomo/node.js:1211 +#: htdocs/luci-static/resources/view/fchomo/node.js:1208 +#: htdocs/luci-static/resources/view/fchomo/node.js:1222 msgid "Upload..." msgstr "上傳..." -#: htdocs/luci-static/resources/view/fchomo/node.js:278 +#: htdocs/luci-static/resources/view/fchomo/node.js:274 +#: htdocs/luci-static/resources/view/fchomo/node.js:281 +#: htdocs/luci-static/resources/view/fchomo/node.js:292 msgid "Use sub rule" msgstr "使用子規則" -#: htdocs/luci-static/resources/view/fchomo/client.js:1483 +#: htdocs/luci-static/resources/view/fchomo/client.js:1487 msgid "" "Used to resolve domains that can be directly connected. Can use domestic DNS " "servers or ECS." msgstr "用於解析可直連的網域。可使用國內 DNS 伺服器或 ECS。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1485 +#: htdocs/luci-static/resources/view/fchomo/client.js:1489 msgid "" "Used to resolve domains you want to proxy. Recommended to configure %s for " "DNS servers." msgstr "用於解析想要代理的網域。建議為 DNS 伺服器配置%s。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1467 +#: htdocs/luci-static/resources/view/fchomo/client.js:1471 msgid "Used to resolve the domain of the DNS server. Must be IP." msgstr "用於解析 DNS 伺服器的網域。必須是 IP。" -#: htdocs/luci-static/resources/view/fchomo/client.js:1474 +#: htdocs/luci-static/resources/view/fchomo/client.js:1478 msgid "Used to resolve the domain of the Proxy node." msgstr "用於解析代理節點的網域。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1117 +#: htdocs/luci-static/resources/view/fchomo/node.js:1128 msgid "Used to verify the hostname on the returned certificates." msgstr "用於驗證傳回的憑證上的主機名稱。" @@ -3482,7 +3510,7 @@ msgid "User-hint is mandatory" msgstr "User-hint 是必填項" #: htdocs/luci-static/resources/fchomo/listeners.js:161 -#: htdocs/luci-static/resources/view/fchomo/node.js:290 +#: htdocs/luci-static/resources/view/fchomo/node.js:301 msgid "Username" msgstr "使用者名稱" @@ -3490,11 +3518,11 @@ msgstr "使用者名稱" msgid "Users filter mode" msgstr "使用者過濾模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:1379 +#: htdocs/luci-static/resources/view/fchomo/node.js:1390 msgid "V2ray HTTPUpgrade" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1384 +#: htdocs/luci-static/resources/view/fchomo/node.js:1395 msgid "V2ray HTTPUpgrade fast open" msgstr "" @@ -3508,8 +3536,8 @@ msgstr "" msgid "VMess" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1707 -#: htdocs/luci-static/resources/view/fchomo/node.js:2065 +#: htdocs/luci-static/resources/view/fchomo/node.js:1718 +#: htdocs/luci-static/resources/view/fchomo/node.js:2076 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:328 msgid "Value" msgstr "可視化值" @@ -3519,13 +3547,13 @@ msgid "Verify if given" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:463 -#: htdocs/luci-static/resources/fchomo/listeners.js:603 -#: htdocs/luci-static/resources/view/fchomo/node.js:551 -#: htdocs/luci-static/resources/view/fchomo/node.js:923 +#: htdocs/luci-static/resources/fchomo/listeners.js:607 +#: htdocs/luci-static/resources/view/fchomo/node.js:562 +#: htdocs/luci-static/resources/view/fchomo/node.js:934 msgid "Version" msgstr "版本" -#: htdocs/luci-static/resources/view/fchomo/node.js:931 +#: htdocs/luci-static/resources/view/fchomo/node.js:942 msgid "Version hint" msgstr "" @@ -3543,15 +3571,15 @@ msgid "Warning" msgstr "警告" #: htdocs/luci-static/resources/fchomo/listeners.js:441 -#: htdocs/luci-static/resources/fchomo/listeners.js:1145 -#: htdocs/luci-static/resources/fchomo/listeners.js:1154 -#: htdocs/luci-static/resources/fchomo/listeners.js:1161 -#: htdocs/luci-static/resources/view/fchomo/node.js:505 -#: htdocs/luci-static/resources/view/fchomo/node.js:534 -#: htdocs/luci-static/resources/view/fchomo/node.js:1275 +#: htdocs/luci-static/resources/fchomo/listeners.js:1155 +#: htdocs/luci-static/resources/fchomo/listeners.js:1164 +#: htdocs/luci-static/resources/fchomo/listeners.js:1171 +#: htdocs/luci-static/resources/view/fchomo/node.js:516 +#: htdocs/luci-static/resources/view/fchomo/node.js:545 #: htdocs/luci-static/resources/view/fchomo/node.js:1286 -#: htdocs/luci-static/resources/view/fchomo/node.js:1293 -#: htdocs/luci-static/resources/view/fchomo/node.js:1299 +#: htdocs/luci-static/resources/view/fchomo/node.js:1297 +#: htdocs/luci-static/resources/view/fchomo/node.js:1304 +#: htdocs/luci-static/resources/view/fchomo/node.js:1310 msgid "WebSocket" msgstr "" @@ -3567,48 +3595,48 @@ msgstr "白名單" msgid "WireGuard" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:832 +#: htdocs/luci-static/resources/view/fchomo/node.js:843 msgid "WireGuard peer public key." msgstr "WireGuard 對端公鑰。" -#: htdocs/luci-static/resources/view/fchomo/node.js:839 +#: htdocs/luci-static/resources/view/fchomo/node.js:850 msgid "WireGuard pre-shared key." msgstr "WireGuard 預先共用金鑰。" -#: htdocs/luci-static/resources/view/fchomo/node.js:824 +#: htdocs/luci-static/resources/view/fchomo/node.js:835 msgid "WireGuard requires base64-encoded private keys." msgstr "WireGuard 要求 base64 編碼的私鑰。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1146 -#: htdocs/luci-static/resources/fchomo/listeners.js:1155 -#: htdocs/luci-static/resources/view/fchomo/node.js:1276 -#: htdocs/luci-static/resources/view/fchomo/node.js:1294 +#: htdocs/luci-static/resources/fchomo/listeners.js:1156 +#: htdocs/luci-static/resources/fchomo/listeners.js:1165 +#: htdocs/luci-static/resources/view/fchomo/node.js:1287 +#: htdocs/luci-static/resources/view/fchomo/node.js:1305 msgid "XHTTP" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1191 -#: htdocs/luci-static/resources/view/fchomo/node.js:1389 +#: htdocs/luci-static/resources/fchomo/listeners.js:1201 +#: htdocs/luci-static/resources/view/fchomo/node.js:1400 msgid "XHTTP mode" msgstr "XHTTP 模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:1420 +#: htdocs/luci-static/resources/view/fchomo/node.js:1431 msgid "XMUX" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1425 -#: htdocs/luci-static/resources/view/fchomo/node.js:1430 -#: htdocs/luci-static/resources/view/fchomo/node.js:1435 -#: htdocs/luci-static/resources/view/fchomo/node.js:1440 -#: htdocs/luci-static/resources/view/fchomo/node.js:1445 -#: htdocs/luci-static/resources/view/fchomo/node.js:1450 +#: htdocs/luci-static/resources/view/fchomo/node.js:1436 +#: htdocs/luci-static/resources/view/fchomo/node.js:1441 +#: htdocs/luci-static/resources/view/fchomo/node.js:1446 +#: htdocs/luci-static/resources/view/fchomo/node.js:1451 +#: htdocs/luci-static/resources/view/fchomo/node.js:1456 +#: htdocs/luci-static/resources/view/fchomo/node.js:1461 msgid "XMUX:" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:721 +#: htdocs/luci-static/resources/fchomo/listeners.js:731 msgid "XOR mode" msgstr "XOR 模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:726 +#: htdocs/luci-static/resources/view/fchomo/node.js:737 msgid "Xudp (Xray-core)" msgstr "" @@ -3616,7 +3644,7 @@ msgstr "" msgid "Yaml text" msgstr "Yaml 格式文本" -#: htdocs/luci-static/resources/view/fchomo/node.js:1932 +#: htdocs/luci-static/resources/view/fchomo/node.js:1943 msgid "Yes" msgstr "" @@ -3624,14 +3652,14 @@ msgstr "" msgid "YouTube" msgstr "YouTube" -#: htdocs/luci-static/resources/fchomo.js:2076 +#: htdocs/luci-static/resources/fchomo.js:2064 msgid "Your %s was successfully uploaded. Size: %sB." msgstr "您的 %s 已成功上傳。大小:%sB。" #: htdocs/luci-static/resources/fchomo.js:345 #: htdocs/luci-static/resources/fchomo.js:358 #: htdocs/luci-static/resources/fchomo.js:363 -#: htdocs/luci-static/resources/view/fchomo/node.js:706 +#: htdocs/luci-static/resources/view/fchomo/node.js:717 msgid "aes-128-gcm" msgstr "" @@ -3644,11 +3672,11 @@ msgstr "" msgid "aes-256-gcm" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1792 +#: htdocs/luci-static/resources/view/fchomo/node.js:1803 msgid "age private key" msgstr "age 私鑰" -#: htdocs/luci-static/resources/view/fchomo/node.js:1853 +#: htdocs/luci-static/resources/view/fchomo/node.js:1864 msgid "age public key" msgstr "age 公鑰" @@ -3660,7 +3688,7 @@ msgstr "" msgid "age-x25519" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:703 +#: htdocs/luci-static/resources/view/fchomo/node.js:714 msgid "auto" msgstr "自動" @@ -3668,9 +3696,9 @@ msgstr "自動" msgid "bbr" msgstr "bbr" -#: htdocs/luci-static/resources/fchomo/listeners.js:1002 -#: htdocs/luci-static/resources/fchomo/listeners.js:1042 -#: htdocs/luci-static/resources/view/fchomo/node.js:1199 +#: htdocs/luci-static/resources/fchomo/listeners.js:1012 +#: htdocs/luci-static/resources/fchomo/listeners.js:1052 +#: htdocs/luci-static/resources/view/fchomo/node.js:1210 msgid "certificate" msgstr "憑證" @@ -3680,7 +3708,7 @@ msgstr "憑證" msgid "chacha20-ietf-poly1305" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:707 +#: htdocs/luci-static/resources/view/fchomo/node.js:718 msgid "chacha20-poly1305" msgstr "" @@ -3688,8 +3716,8 @@ msgstr "" msgid "cubic" msgstr "cubic" -#: htdocs/luci-static/resources/fchomo/listeners.js:673 -#: htdocs/luci-static/resources/fchomo/listeners.js:704 +#: htdocs/luci-static/resources/fchomo/listeners.js:683 +#: htdocs/luci-static/resources/fchomo/listeners.js:714 msgid "decryption" msgstr "decryption" @@ -3697,41 +3725,41 @@ msgstr "decryption" msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)" msgstr "dnsmasq 自行選擇上游服務器。 (可能影響 CDN 準確性)" -#: htdocs/luci-static/resources/view/fchomo/node.js:1920 +#: htdocs/luci-static/resources/view/fchomo/node.js:1931 msgid "down" msgstr "Hysteria 下載速率" -#: htdocs/luci-static/resources/fchomo/listeners.js:708 -#: htdocs/luci-static/resources/view/fchomo/node.js:990 -#: htdocs/luci-static/resources/view/fchomo/node.js:1013 +#: htdocs/luci-static/resources/fchomo/listeners.js:718 +#: htdocs/luci-static/resources/view/fchomo/node.js:1001 +#: htdocs/luci-static/resources/view/fchomo/node.js:1024 msgid "encryption" msgstr "encryption" #: htdocs/luci-static/resources/fchomo/listeners.js:425 -#: htdocs/luci-static/resources/view/fchomo/node.js:489 +#: htdocs/luci-static/resources/view/fchomo/node.js:500 msgid "false = bandwidth optimized downlink; true = pure Sudoku downlink." msgstr "false = 頻寬最佳化下行 true = 純 Sudoku 下行。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1144 -#: htdocs/luci-static/resources/fchomo/listeners.js:1153 -#: htdocs/luci-static/resources/fchomo/listeners.js:1160 -#: htdocs/luci-static/resources/view/fchomo/node.js:1274 +#: htdocs/luci-static/resources/fchomo/listeners.js:1154 +#: htdocs/luci-static/resources/fchomo/listeners.js:1163 +#: htdocs/luci-static/resources/fchomo/listeners.js:1170 #: htdocs/luci-static/resources/view/fchomo/node.js:1285 -#: htdocs/luci-static/resources/view/fchomo/node.js:1292 -#: htdocs/luci-static/resources/view/fchomo/node.js:1298 +#: htdocs/luci-static/resources/view/fchomo/node.js:1296 +#: htdocs/luci-static/resources/view/fchomo/node.js:1303 +#: htdocs/luci-static/resources/view/fchomo/node.js:1309 msgid "gRPC" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1355 +#: htdocs/luci-static/resources/view/fchomo/node.js:1366 msgid "gRPC User-Agent" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1360 +#: htdocs/luci-static/resources/view/fchomo/node.js:1371 msgid "gRPC ping interval" msgstr "gRPC ping 間隔" -#: htdocs/luci-static/resources/fchomo/listeners.js:1185 -#: htdocs/luci-static/resources/view/fchomo/node.js:1351 +#: htdocs/luci-static/resources/fchomo/listeners.js:1195 +#: htdocs/luci-static/resources/view/fchomo/node.js:1362 msgid "gRPC service name" msgstr "gRPC 服務名稱" @@ -3739,23 +3767,23 @@ msgstr "gRPC 服務名稱" msgid "gVisor" msgstr "gVisor" -#: htdocs/luci-static/resources/view/fchomo/node.js:770 +#: htdocs/luci-static/resources/view/fchomo/node.js:781 msgid "h2" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1467 +#: htdocs/luci-static/resources/view/fchomo/node.js:1478 msgid "h2mux" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:768 +#: htdocs/luci-static/resources/view/fchomo/node.js:779 msgid "h3" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:769 +#: htdocs/luci-static/resources/view/fchomo/node.js:780 msgid "h3-l4proxy" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:873 +#: htdocs/luci-static/resources/fchomo/listeners.js:883 msgid "least one keypair required" msgstr "至少需要一對密鑰" @@ -3763,13 +3791,13 @@ msgstr "至少需要一對密鑰" msgid "metacubexd" msgstr "metacubexd" -#: htdocs/luci-static/resources/view/fchomo/client.js:1030 -#: htdocs/luci-static/resources/view/fchomo/client.js:1327 -#: htdocs/luci-static/resources/view/fchomo/client.js:1422 -#: htdocs/luci-static/resources/view/fchomo/client.js:1564 -#: htdocs/luci-static/resources/view/fchomo/client.js:1798 -#: htdocs/luci-static/resources/view/fchomo/client.js:1854 -#: htdocs/luci-static/resources/view/fchomo/node.js:1673 +#: htdocs/luci-static/resources/view/fchomo/client.js:1034 +#: htdocs/luci-static/resources/view/fchomo/client.js:1331 +#: htdocs/luci-static/resources/view/fchomo/client.js:1426 +#: htdocs/luci-static/resources/view/fchomo/client.js:1568 +#: htdocs/luci-static/resources/view/fchomo/client.js:1802 +#: htdocs/luci-static/resources/view/fchomo/client.js:1858 +#: htdocs/luci-static/resources/view/fchomo/node.js:1684 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:247 msgid "mihomo config" msgstr "mihomo 配置" @@ -3778,8 +3806,8 @@ msgstr "mihomo 配置" msgid "mlkem768x25519plus" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1540 -#: htdocs/luci-static/resources/view/fchomo/node.js:1898 +#: htdocs/luci-static/resources/view/fchomo/node.js:1551 +#: htdocs/luci-static/resources/view/fchomo/node.js:1909 msgid "mpTCP" msgstr "多路徑 TCP (mpTCP)" @@ -3787,24 +3815,24 @@ msgstr "多路徑 TCP (mpTCP)" msgid "new_reno" msgstr "new_reno" -#: htdocs/luci-static/resources/view/fchomo/client.js:836 +#: htdocs/luci-static/resources/view/fchomo/client.js:840 msgid "no-resolve" msgstr "no-resolve" -#: htdocs/luci-static/resources/fchomo.js:1811 -#: htdocs/luci-static/resources/fchomo.js:1906 -#: htdocs/luci-static/resources/fchomo.js:1941 -#: htdocs/luci-static/resources/fchomo.js:1969 +#: htdocs/luci-static/resources/fchomo.js:1799 +#: htdocs/luci-static/resources/fchomo.js:1894 +#: htdocs/luci-static/resources/fchomo.js:1929 +#: htdocs/luci-static/resources/fchomo.js:1957 msgid "non-empty value" msgstr "非空值" #: htdocs/luci-static/resources/fchomo.js:343 #: htdocs/luci-static/resources/fchomo.js:357 #: htdocs/luci-static/resources/fchomo.js:369 -#: htdocs/luci-static/resources/fchomo/listeners.js:558 -#: htdocs/luci-static/resources/view/fchomo/node.js:704 -#: htdocs/luci-static/resources/view/fchomo/node.js:724 -#: htdocs/luci-static/resources/view/fchomo/node.js:882 +#: htdocs/luci-static/resources/fchomo/listeners.js:561 +#: htdocs/luci-static/resources/view/fchomo/node.js:715 +#: htdocs/luci-static/resources/view/fchomo/node.js:735 +#: htdocs/luci-static/resources/view/fchomo/node.js:893 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:324 msgid "none" msgstr "無" @@ -3813,51 +3841,51 @@ msgstr "無" msgid "not found" msgstr "未找到" -#: htdocs/luci-static/resources/view/fchomo/client.js:1047 +#: htdocs/luci-static/resources/view/fchomo/client.js:1051 msgid "not included \",\"" msgstr "不包含 \",\"" #: htdocs/luci-static/resources/fchomo.js:229 -#: htdocs/luci-static/resources/fchomo/listeners.js:619 -#: htdocs/luci-static/resources/fchomo/listeners.js:622 +#: htdocs/luci-static/resources/fchomo/listeners.js:629 +#: htdocs/luci-static/resources/fchomo/listeners.js:632 msgid "null" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:559 -#: htdocs/luci-static/resources/fchomo/listeners.js:567 -#: htdocs/luci-static/resources/view/fchomo/node.js:883 +#: htdocs/luci-static/resources/fchomo/listeners.js:562 +#: htdocs/luci-static/resources/fchomo/listeners.js:571 #: htdocs/luci-static/resources/view/fchomo/node.js:894 +#: htdocs/luci-static/resources/view/fchomo/node.js:905 msgid "obfs-simple" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:547 msgid "only applies when %s is %s." msgstr "僅當 %s 為 %s 時適用。" -#: htdocs/luci-static/resources/view/fchomo/node.js:534 +#: htdocs/luci-static/resources/view/fchomo/node.js:545 msgid "only applies when %s is not %s." msgstr "僅當 %s 不為 %s 時適用。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1878 +#: htdocs/luci-static/resources/view/fchomo/node.js:1889 msgid "override.proxy-name" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:725 +#: htdocs/luci-static/resources/view/fchomo/node.js:736 msgid "packet addr (v2ray-core v5+)" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1195 -#: htdocs/luci-static/resources/view/fchomo/node.js:1393 +#: htdocs/luci-static/resources/fchomo/listeners.js:1205 +#: htdocs/luci-static/resources/view/fchomo/node.js:1404 msgid "packet-up" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:439 -#: htdocs/luci-static/resources/view/fchomo/node.js:503 +#: htdocs/luci-static/resources/view/fchomo/node.js:514 msgid "poll" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1017 -#: htdocs/luci-static/resources/view/fchomo/node.js:1213 +#: htdocs/luci-static/resources/fchomo/listeners.js:1027 +#: htdocs/luci-static/resources/view/fchomo/node.js:1224 msgid "private key" msgstr "私鑰" @@ -3865,12 +3893,13 @@ msgstr "私鑰" msgid "razord-meta" msgstr "razord-meta" -#: htdocs/luci-static/resources/view/fchomo/client.js:1251 -#: htdocs/luci-static/resources/view/fchomo/client.js:1257 +#: htdocs/luci-static/resources/view/fchomo/client.js:1255 +#: htdocs/luci-static/resources/view/fchomo/client.js:1261 msgid "requires front-end adaptation using the API." msgstr "需要使用 API 的前端適配。" -#: htdocs/luci-static/resources/view/fchomo/node.js:887 +#: htdocs/luci-static/resources/fchomo/listeners.js:564 +#: htdocs/luci-static/resources/view/fchomo/node.js:898 msgid "restls" msgstr "" @@ -3878,41 +3907,41 @@ msgstr "" msgid "rule-set" msgstr "規則集" -#: htdocs/luci-static/resources/fchomo/listeners.js:560 -#: htdocs/luci-static/resources/fchomo/listeners.js:568 -#: htdocs/luci-static/resources/view/fchomo/node.js:886 -#: htdocs/luci-static/resources/view/fchomo/node.js:895 +#: htdocs/luci-static/resources/fchomo/listeners.js:563 +#: htdocs/luci-static/resources/fchomo/listeners.js:572 +#: htdocs/luci-static/resources/view/fchomo/node.js:897 +#: htdocs/luci-static/resources/view/fchomo/node.js:906 msgid "shadow-tls" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1465 +#: htdocs/luci-static/resources/view/fchomo/node.js:1476 msgid "smux" msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:438 -#: htdocs/luci-static/resources/view/fchomo/node.js:502 +#: htdocs/luci-static/resources/view/fchomo/node.js:513 msgid "split-stream" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/client.js:818 +#: htdocs/luci-static/resources/view/fchomo/client.js:822 msgid "src" msgstr "src" -#: htdocs/luci-static/resources/fchomo/listeners.js:1193 -#: htdocs/luci-static/resources/view/fchomo/node.js:1391 +#: htdocs/luci-static/resources/fchomo/listeners.js:1203 +#: htdocs/luci-static/resources/view/fchomo/node.js:1402 msgid "stream-one" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1194 -#: htdocs/luci-static/resources/view/fchomo/node.js:1392 +#: htdocs/luci-static/resources/fchomo/listeners.js:1204 +#: htdocs/luci-static/resources/view/fchomo/node.js:1403 msgid "stream-up" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1210 +#: htdocs/luci-static/resources/fchomo/listeners.js:1220 msgid "stream-up server seconds" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:547 msgid "stream/poll/auto" msgstr "" @@ -3932,77 +3961,80 @@ msgstr "獨立 UCI 識別" msgid "unique identifier" msgstr "獨立標識" -#: htdocs/luci-static/resources/fchomo.js:1978 +#: htdocs/luci-static/resources/fchomo.js:1966 msgid "unique value" msgstr "獨立值" -#: htdocs/luci-static/resources/view/fchomo/node.js:1914 +#: htdocs/luci-static/resources/view/fchomo/node.js:1925 msgid "up" msgstr "Hysteria 上傳速率" -#: htdocs/luci-static/resources/fchomo/listeners.js:604 -#: htdocs/luci-static/resources/view/fchomo/node.js:552 -#: htdocs/luci-static/resources/view/fchomo/node.js:594 -#: htdocs/luci-static/resources/view/fchomo/node.js:924 -#: htdocs/luci-static/resources/view/fchomo/node.js:983 +#: htdocs/luci-static/resources/fchomo/listeners.js:464 +#: htdocs/luci-static/resources/fchomo/listeners.js:608 +#: htdocs/luci-static/resources/view/fchomo/node.js:563 +#: htdocs/luci-static/resources/view/fchomo/node.js:605 +#: htdocs/luci-static/resources/view/fchomo/node.js:935 +#: htdocs/luci-static/resources/view/fchomo/node.js:994 msgid "v1" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:605 -#: htdocs/luci-static/resources/view/fchomo/node.js:553 -#: htdocs/luci-static/resources/view/fchomo/node.js:925 -#: htdocs/luci-static/resources/view/fchomo/node.js:984 +#: htdocs/luci-static/resources/fchomo/listeners.js:465 +#: htdocs/luci-static/resources/fchomo/listeners.js:609 +#: htdocs/luci-static/resources/view/fchomo/node.js:564 +#: htdocs/luci-static/resources/view/fchomo/node.js:936 +#: htdocs/luci-static/resources/view/fchomo/node.js:995 msgid "v2" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:606 -#: htdocs/luci-static/resources/view/fchomo/node.js:554 -#: htdocs/luci-static/resources/view/fchomo/node.js:926 +#: htdocs/luci-static/resources/fchomo/listeners.js:466 +#: htdocs/luci-static/resources/fchomo/listeners.js:610 +#: htdocs/luci-static/resources/view/fchomo/node.js:565 +#: htdocs/luci-static/resources/view/fchomo/node.js:937 msgid "v3" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:464 -#: htdocs/luci-static/resources/view/fchomo/node.js:555 +#: htdocs/luci-static/resources/fchomo/listeners.js:467 +#: htdocs/luci-static/resources/view/fchomo/node.js:566 msgid "v4" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:465 -#: htdocs/luci-static/resources/view/fchomo/node.js:556 +#: htdocs/luci-static/resources/fchomo/listeners.js:468 +#: htdocs/luci-static/resources/view/fchomo/node.js:567 msgid "v5" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1858 -#: htdocs/luci-static/resources/fchomo.js:1861 +#: htdocs/luci-static/resources/fchomo.js:1846 +#: htdocs/luci-static/resources/fchomo.js:1849 msgid "valid JSON format" msgstr "有效的 JSON 格式" -#: htdocs/luci-static/resources/view/fchomo/node.js:1173 +#: htdocs/luci-static/resources/view/fchomo/node.js:1184 msgid "valid SHA256 string with %d characters" msgstr "包含 %d 個字元的有效 SHA256 字串" -#: htdocs/luci-static/resources/fchomo.js:1883 -#: htdocs/luci-static/resources/fchomo.js:1886 +#: htdocs/luci-static/resources/fchomo.js:1871 +#: htdocs/luci-static/resources/fchomo.js:1874 msgid "valid URL" msgstr "有效網址" -#: htdocs/luci-static/resources/fchomo.js:1896 +#: htdocs/luci-static/resources/fchomo.js:1884 msgid "valid base64 key with %d characters" msgstr "包含 %d 個字元的有效 base64 金鑰" -#: htdocs/luci-static/resources/fchomo.js:1956 -#: htdocs/luci-static/resources/fchomo.js:1962 +#: htdocs/luci-static/resources/fchomo.js:1944 +#: htdocs/luci-static/resources/fchomo.js:1950 msgid "valid format: 2x, 2p, 4v" msgstr "有效格式: 2x, 2p, 4v" -#: htdocs/luci-static/resources/fchomo.js:1943 +#: htdocs/luci-static/resources/fchomo.js:1931 msgid "valid key length with %d characters" msgstr "包含 %d 個字元的有效金鑰" -#: htdocs/luci-static/resources/fchomo.js:1821 +#: htdocs/luci-static/resources/fchomo.js:1809 msgid "valid port value" msgstr "有效連接埠值" -#: htdocs/luci-static/resources/fchomo.js:1871 +#: htdocs/luci-static/resources/fchomo.js:1859 msgid "valid uuid" msgstr "有效 uuid" @@ -4022,7 +4054,7 @@ msgstr "" msgid "yacd-meta" msgstr "yacd-meta" -#: htdocs/luci-static/resources/view/fchomo/node.js:1466 +#: htdocs/luci-static/resources/view/fchomo/node.js:1477 msgid "yamux" msgstr "" @@ -4030,11 +4062,11 @@ msgstr "" msgid "zashboard" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:705 +#: htdocs/luci-static/resources/view/fchomo/node.js:716 msgid "zero" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1639 +#: htdocs/luci-static/resources/fchomo.js:1627 msgid "🡇" msgstr "" diff --git a/luci-app-fchomo/root/usr/share/ucode/fchomo.uc b/luci-app-fchomo/root/usr/share/ucode/fchomo.uc index b01edc2c..59422183 100644 --- a/luci-app-fchomo/root/usr/share/ucode/fchomo.uc +++ b/luci-app-fchomo/root/usr/share/ucode/fchomo.uc @@ -363,6 +363,16 @@ export function parseListener(cfg, isClient, label) { dest: cfg.plugin_opts_handshake_dest } } + } : cfg.plugin === 'restls' ? { + // restls + "res-tls": { + enable: true, + dest: cfg.plugin_opts_handshake_dest, + password: cfg.plugin_opts_thetlspassword, + "restls-script": cfg.plugin_opts_restls_script, + //"min-record-len": 0, + //proxy: "" + } } : {} ) : {}), @@ -405,7 +415,17 @@ export function parseListener(cfg, isClient, label) { "sc-max-each-post-bytes": strToInt(cfg.transport_xhttp_sc_max_each_post_bytes) || null, // @其他的配置 } : null - } : {}) + } : {}), + + /* Multiplex fields */ + "mux-option": cfg.smux_enabled === '1' ? { + padding: strToBool(cfg.smux_padding), + brutal: cfg.smux_brutal === '1' ? { + enabled: true, + up: strToInt(cfg.smux_brutal_up) || null, // Mbps + down: strToInt(cfg.smux_brutal_down) || null // Mbps + } : null + } : null } }; /* String universal end */ diff --git a/luci-app-openclaw/CHANGELOG.md b/luci-app-openclaw/CHANGELOG.md index da544206..0feaed78 100644 --- a/luci-app-openclaw/CHANGELOG.md +++ b/luci-app-openclaw/CHANGELOG.md @@ -4,15 +4,31 @@ 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/)。 +## [2.0.11] - 2026-07-10 + +### 修复微信扫码后 Gateway 丢失插件 + +- 微信安装、升级和登录前置检查改为使用官方 `plugins enable openclaw-weixin`、`plugins registry --refresh` 和 `plugins inspect` 完成闭环。 +- 只有官方 npm 安装记录、SQLite 注册表和微信 channel capability 全部验证通过后,LuCI 才返回安装成功。 +- 启动自愈不再删除 OpenClaw 官方生成的 `plugins.entries.openclaw-weixin`,并在 Gateway 启动前以 `openclaw` 用户刷新和验证注册表。 +- 修复扫码认证已保存,但 Gateway 重启后只加载 `memory-core` 并报 `invalid channels.start channel` 的问题。 + +### 验证 + +- 增加插件启用、SQLite 注册表刷新、加载能力校验和冷启动自愈的契约断言。 + +--- + ## [2.0.10] - 2026-07-08 ### 修复微信渠道配对 -- 启动 OpenClaw 时自动自愈微信 npm 插件注册,补齐 `plugins.installs.openclaw-weixin`、`plugins.allow` 和 `channels.openclaw-weixin.enabled`。 +- 适配 OpenClaw 2026.6.11 SQLite `installed_plugin_index`,微信安装与升级改用官方 `openclaw plugins install --pin` 写入插件索引。 +- 启动时检测旧 npm 直装目录并一次性迁移到官方插件索引,同时补齐 `plugins.allow` 和 `channels.openclaw-weixin.enabled`。 - 微信安装、升级和登录流程增加 `https://ilinkai.weixin.qq.com` 连通性检查,日志直接显示 HTTP、TLS 或 timeout 结果。 - 兼容没有 `su` / `runuser` 的 OpenWrt 固件,微信安装、升级、登录和下线改用 `start-stop-daemon` 兜底以 `openclaw` 用户执行。 - 微信安装网络探测优先使用 `curl`,避免低内存/精简 musl 固件上 Node `fetch` 触发 undici Wasm OOM。 -- 微信官方 CLI 安装触发 undici Wasm OOM 时,自动改用 npm 直装到 OpenClaw `npm/projects` 并继续注册插件配置。 +- 不再只用 npm 直装并写入已废弃的 `plugins.installs`,避免扫码成功后配置保存导致插件注册丢失。 - 微信插件安装/升级不再预先停止 Gateway,避免反复安装触发 procd crash-loop。 - LuCI 状态页和 `status_service` 增强 procd 状态识别,能区分真实启动中、stale pidfile 和 crash-loop 抑制,不再误显示“正在启动”。 - 微信登录前补充 Node、python3、插件目录、账号状态目录和配置写权限检查,并清理残留登录进程与旧二维码状态。 @@ -24,10 +40,14 @@ - 新增统一权限修复工具 `openclaw-permissions.sh`。 - 避免把整个 `OC_DATA` 或 `OC_STATE_DIR` 递归改成 `openclaw`。 -- `npm/projects` 保持 `openclaw` 可写,插件源码目录保持 `root:root 755`,避免 `EACCES` 和 `suspicious ownership` 互相打架。 -- retained npm generation 目录保持可清理,修复 Gateway 清理旧 generation 的权限报错。 +- `npm/projects` 及插件源码保持 `openclaw` 可写,匹配官方 managed npm generation 生命周期。 +- retained npm generation 目录保持可清理,修复 Gateway 清理旧 generation 时的 `EACCES`。 - legacy `extensions` / `archived-extensions` 保持 root-owned,降低 OpenClaw 插件安全检查误报风险。 +### 更新一万AI分享粉丝专享 API + +- `gpt-5.5` 默认上下文声明调整为 1,000,000 tokens,单次请求的实际可用上限仍以上游 API 为准。 + ### 修复检测升级 - “快捷操作 → 检测升级”改为语义版本比较,只在远端版本真正高于当前版本时提示升级。 diff --git a/luci-app-openclaw/Makefile b/luci-app-openclaw/Makefile index 9f298e61..00dabdc4 100644 --- a/luci-app-openclaw/Makefile +++ b/luci-app-openclaw/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-openclaw PKG_VERSION:=$(strip $(shell cat $(CURDIR)/VERSION 2>/dev/null || echo "1.0.0")) -PKG_RELEASE:=22 +PKG_RELEASE:=23 PKG_MAINTAINER:=10000ge10000 <10000ge10000@users.noreply.github.com> PKG_LICENSE:=GPL-3.0 diff --git a/luci-app-openclaw/VERSION b/luci-app-openclaw/VERSION index 0a692060..6cbacdc8 100644 --- a/luci-app-openclaw/VERSION +++ b/luci-app-openclaw/VERSION @@ -1 +1 @@ -2.0.10 +2.0.11 diff --git a/luci-app-openclaw/luasrc/controller/openclaw.lua b/luci-app-openclaw/luasrc/controller/openclaw.lua index e18583da..56896033 100644 --- a/luci-app-openclaw/luasrc/controller/openclaw.lua +++ b/luci-app-openclaw/luasrc/controller/openclaw.lua @@ -114,51 +114,13 @@ local function find_wechat_plugin_dir(install_path) return nil end -local function wechat_register_plugin_cmd(install_path, node_bin, log_file, exit_file) +local function wechat_enable_plugin_config_cmd(install_path, node_bin, log_file, exit_file) exit_file = exit_file or "/tmp/openclaw-wechat-install.exit" local oc_data = install_path .. "/data" local config_file = oc_data .. "/.openclaw/openclaw.json" - local npm_projects = oc_data .. "/.openclaw/npm/projects" - local legacy_ext_dir = oc_data .. "/.openclaw/extensions/openclaw-weixin" local register_js = [[ const fs = require('fs'); -const path = require('path'); const configPath = process.env.OC_CONFIG; -const npmProjects = process.env.OC_NPM_PROJECTS; -const legacyDir = process.env.OC_LEGACY_WECHAT_DIR; -const candidates = []; -function addPluginDir(dir) { - if (!dir) return; - const pluginJson = path.join(dir, 'openclaw.plugin.json'); - try { - const st = fs.statSync(pluginJson); - if (st.isFile()) candidates.push({ dir, mtime: st.mtimeMs }); - } catch (e) {} -} -function walk(dir) { - let entries = []; - try { - entries = fs.readdirSync(dir, { withFileTypes: true }); - } catch (e) { - return; - } - for (const entry of entries) { - if (!entry.isDirectory()) continue; - const full = path.join(dir, entry.name); - if (full.endsWith(path.join('node_modules', '@tencent-weixin', 'openclaw-weixin'))) { - addPluginDir(full); - continue; - } - walk(full); - } -} -addPluginDir(legacyDir); -walk(npmProjects); -candidates.sort((a, b) => b.mtime - a.mtime); -if (!candidates.length) { - console.error('openclaw-weixin plugin directory not found'); - process.exit(2); -} let d = {}; try { d = JSON.parse(fs.readFileSync(configPath, 'utf8')); @@ -166,13 +128,11 @@ try { d = {}; } if (!d.plugins || typeof d.plugins !== 'object') d.plugins = {}; -if (!d.plugins.installs || typeof d.plugins.installs !== 'object') d.plugins.installs = {}; if (!Array.isArray(d.plugins.allow)) d.plugins.allow = []; -d.plugins.installs['openclaw-weixin'] = { - kind: 'npm', - installPath: candidates[0].dir, - packageName: '@tencent-weixin/openclaw-weixin' -}; +// OpenClaw 2026.6.11 persists install records in its SQLite plugin index. +// Remove the deprecated authored config ledger so later config writes do not +// silently discard the only registration record again. +if (d.plugins.installs) delete d.plugins.installs['openclaw-weixin']; if (!d.plugins.allow.includes('openclaw-weixin')) d.plugins.allow.push('openclaw-weixin'); if (!d.channels || typeof d.channels !== 'object') d.channels = {}; if (!d.channels['openclaw-weixin'] || typeof d.channels['openclaw-weixin'] !== 'object') { @@ -185,16 +145,14 @@ fs.writeFileSync(configPath, JSON.stringify(d, null, 2) + '\n'); return "if [ $RC -eq 0 ]; then " .. "if [ -x " .. shellquote(node_bin) .. " ]; then " .. "OC_CONFIG=" .. shellquote(config_file) .. " " .. - "OC_NPM_PROJECTS=" .. shellquote(npm_projects) .. " " .. - "OC_LEGACY_WECHAT_DIR=" .. shellquote(legacy_ext_dir) .. " " .. shellquote(node_bin) .. " -e " .. shellquote(register_js) .. " >> " .. shellquote(log_file) .. " 2>&1; " .. "REG_RC=$?; " .. "if [ $REG_RC -eq 0 ]; then " .. "chown openclaw:openclaw " .. shellquote(config_file) .. " 2>/dev/null; " .. "[ -x /usr/libexec/openclaw-permissions.sh ] && /usr/libexec/openclaw-permissions.sh fix-state " .. shellquote(oc_data .. "/.openclaw") .. " >/dev/null 2>&1; " .. - "echo 'Registered openclaw-weixin npm plugin in OpenClaw config.' >> " .. shellquote(log_file) .. "; " .. - "else RC=$REG_RC; echo $RC > " .. shellquote(exit_file) .. "; echo 'Failed to register openclaw-weixin npm plugin in OpenClaw config.' >> " .. shellquote(log_file) .. "; fi; " .. - "else RC=127; echo $RC > " .. shellquote(exit_file) .. "; echo 'Node.js not found, cannot register openclaw-weixin plugin.' >> " .. shellquote(log_file) .. "; fi; " .. + "echo 'Enabled openclaw-weixin channel in OpenClaw config.' >> " .. shellquote(log_file) .. "; " .. + "else RC=$REG_RC; echo $RC > " .. shellquote(exit_file) .. "; echo 'Failed to enable openclaw-weixin channel in OpenClaw config.' >> " .. shellquote(log_file) .. "; fi; " .. + "else RC=127; echo $RC > " .. shellquote(exit_file) .. "; echo 'Node.js not found, cannot enable openclaw-weixin channel.' >> " .. shellquote(log_file) .. "; fi; " .. "fi; " end @@ -253,44 +211,49 @@ local function openclaw_user_runner_cmd() "}; " end -local function wechat_npm_fallback_install_cmd(install_path, log_file, exit_file) - local package_json = "{\n \"private\": true,\n \"dependencies\": {\n \"@tencent-weixin/openclaw-weixin\": \"latest\"\n }\n}\n" - return "if [ $RC -ne 0 ]; then " .. - "echo '⚠️ 官方微信 CLI 安装失败,尝试 npm 直装兜底...' >> " .. shellquote(log_file) .. "; " .. - "OC_WECHAT_NPM_PROJECT=\"$OC_WECHAT_DATA/.openclaw/npm/projects/tencent-weixin-openclaw-weixin-7783ac86ba\"; " .. - "mkdir -p \"$OC_WECHAT_NPM_PROJECT\" \"$OC_WECHAT_DATA/.npm\" \"$OC_WECHAT_DATA/.tmp\" \"$OC_WECHAT_DATA/.openclaw/npm/projects\"; " .. - "chown -R openclaw:openclaw \"$OC_WECHAT_NPM_PROJECT\" \"$OC_WECHAT_DATA/.npm\" \"$OC_WECHAT_DATA/.tmp\" \"$OC_WECHAT_DATA/.openclaw/npm/projects\" 2>/dev/null; " .. - "cat > \"$OC_WECHAT_NPM_PROJECT/package.json\" <<'OC_WECHAT_PACKAGE_JSON'\n" .. - package_json .. - "OC_WECHAT_PACKAGE_JSON\n" .. - "chown openclaw:openclaw \"$OC_WECHAT_NPM_PROJECT/package.json\" 2>/dev/null; " .. - "cd \"$OC_WECHAT_NPM_PROJECT\" && " .. - "_oc_as_openclaw 'HOME=$OC_WECHAT_DATA OPENCLAW_HOME=$OC_WECHAT_DATA OPENCLAW_STATE_DIR=$OC_WECHAT_DATA/.openclaw OPENCLAW_CONFIG_PATH=$OC_WECHAT_DATA/.openclaw/openclaw.json " .. - "NPM_CONFIG_CACHE=$OC_WECHAT_DATA/.npm npm_config_cache=$OC_WECHAT_DATA/.npm TMPDIR=$OC_WECHAT_DATA/.tmp " .. - "PATH=" .. install_path .. "/node/bin:" .. install_path .. "/global/bin:$PATH " .. - "npm install --omit=dev --omit=peer --legacy-peer-deps --no-audit --no-fund --loglevel=error' >> " .. shellquote(log_file) .. " 2>&1; " .. - "RC=$?; echo $RC > " .. shellquote(exit_file) .. "; " .. - "if [ $RC -eq 0 ]; then echo '✅ npm 直装兜底完成' >> " .. shellquote(log_file) .. "; else echo '❌ npm 直装兜底失败 (exit: '$RC')' >> " .. shellquote(log_file) .. "; fi; " .. - "fi; " -end - -local function wechat_npm_direct_install_cmd(install_path, log_file, exit_file) - local package_json = "{\n \"private\": true,\n \"dependencies\": {\n \"@tencent-weixin/openclaw-weixin\": \"latest\"\n }\n}\n" - return "echo '使用 npm 直装微信插件,避免官方安装器进入扫码等待...' >> " .. shellquote(log_file) .. "; " .. - "OC_WECHAT_NPM_PROJECT=\"$OC_WECHAT_DATA/.openclaw/npm/projects/tencent-weixin-openclaw-weixin-7783ac86ba\"; " .. - "mkdir -p \"$OC_WECHAT_NPM_PROJECT\" \"$OC_WECHAT_DATA/.npm\" \"$OC_WECHAT_DATA/.tmp\" \"$OC_WECHAT_DATA/.openclaw/npm/projects\"; " .. - "chown -R openclaw:openclaw \"$OC_WECHAT_NPM_PROJECT\" \"$OC_WECHAT_DATA/.npm\" \"$OC_WECHAT_DATA/.tmp\" \"$OC_WECHAT_DATA/.openclaw/npm/projects\" 2>/dev/null; " .. - "cat > \"$OC_WECHAT_NPM_PROJECT/package.json\" <<'OC_WECHAT_PACKAGE_JSON'\n" .. - package_json .. - "OC_WECHAT_PACKAGE_JSON\n" .. - "chown openclaw:openclaw \"$OC_WECHAT_NPM_PROJECT/package.json\" 2>/dev/null; " .. - "cd \"$OC_WECHAT_NPM_PROJECT\" && " .. +local function wechat_openclaw_plugin_install_cmd(install_path, oc_entry, log_file, exit_file) + return "OC_WECHAT_NODE=" .. shellquote(install_path .. "/node/bin/node") .. "; " .. + "OC_WECHAT_ENTRY=" .. shellquote(oc_entry) .. "; export OC_WECHAT_NODE OC_WECHAT_ENTRY; " .. + "echo '使用 OpenClaw 官方插件安装器写入 SQLite 插件索引...' >> " .. shellquote(log_file) .. "; " .. "_oc_as_openclaw 'HOME=$OC_WECHAT_DATA OPENCLAW_HOME=$OC_WECHAT_DATA OPENCLAW_STATE_DIR=$OC_WECHAT_DATA/.openclaw OPENCLAW_CONFIG_PATH=$OC_WECHAT_DATA/.openclaw/openclaw.json " .. "NODE_ICU_DATA=" .. install_path .. "/node/share/icu NPM_CONFIG_CACHE=$OC_WECHAT_DATA/.npm npm_config_cache=$OC_WECHAT_DATA/.npm TMPDIR=$OC_WECHAT_DATA/.tmp " .. "PATH=" .. install_path .. "/node/bin:" .. install_path .. "/global/bin:$PATH " .. - "npm install --omit=dev --omit=peer --legacy-peer-deps --no-audit --no-fund --loglevel=error' >> " .. shellquote(log_file) .. " 2>&1; " .. + "\"$OC_WECHAT_NODE\" \"$OC_WECHAT_ENTRY\" plugins install --force --pin @tencent-weixin/openclaw-weixin@2.4.6' >> " .. shellquote(log_file) .. " 2>&1; " .. "RC=$?; echo $RC > " .. shellquote(exit_file) .. "; " .. - "if [ $RC -eq 0 ]; then echo '✅ npm 直装微信插件完成' >> " .. shellquote(log_file) .. "; else echo '❌ npm 直装微信插件失败 (exit: '$RC')' >> " .. shellquote(log_file) .. "; fi; " + "if [ $RC -eq 0 ]; then echo '✅ OpenClaw 插件索引注册完成' >> " .. shellquote(log_file) .. "; else echo '❌ OpenClaw 插件安装失败 (exit: '$RC')' >> " .. shellquote(log_file) .. "; fi; " +end + +local function wechat_finalize_plugin_registry_cmd(install_path, oc_entry, log_file, exit_file) + exit_file = exit_file or "/tmp/openclaw-wechat-install.exit" + local oc_data = install_path .. "/data" + local node_bin = install_path .. "/node/bin/node" + local cli_env = "HOME=" .. oc_data .. " OPENCLAW_HOME=" .. oc_data .. + " OPENCLAW_STATE_DIR=" .. oc_data .. "/.openclaw" .. + " OPENCLAW_CONFIG_PATH=" .. oc_data .. "/.openclaw/openclaw.json" .. + " NODE_ICU_DATA=" .. install_path .. "/node/share/icu" .. + " NPM_CONFIG_CACHE=" .. oc_data .. "/.npm TMPDIR=" .. oc_data .. "/.tmp" .. + " PATH=" .. install_path .. "/node/bin:" .. install_path .. "/global/bin:$PATH " + local cli = cli_env .. node_bin .. " " .. oc_entry + + return "if [ $RC -eq 0 ]; then " .. + "echo '正在写入微信插件启用状态...' >> " .. shellquote(log_file) .. "; " .. + "_oc_as_openclaw '" .. cli .. " plugins enable openclaw-weixin' >> " .. shellquote(log_file) .. " 2>&1; " .. + "FINAL_RC=$?; " .. + "if [ $FINAL_RC -eq 0 ]; then " .. + "echo '正在刷新 SQLite 插件注册表...' >> " .. shellquote(log_file) .. "; " .. + "_oc_as_openclaw '" .. cli .. " plugins registry --refresh' >> " .. shellquote(log_file) .. " 2>&1; " .. + "FINAL_RC=$?; fi; " .. + "if [ $FINAL_RC -eq 0 ]; then " .. + "_OC_WECHAT_INSPECT=/tmp/openclaw-wechat-inspect-$$.log; " .. + "_oc_as_openclaw '" .. cli .. " plugins inspect openclaw-weixin' > \"$_OC_WECHAT_INSPECT\" 2>&1; " .. + "VERIFY_RC=$?; cat \"$_OC_WECHAT_INSPECT\" >> " .. shellquote(log_file) .. "; " .. + "if [ $VERIFY_RC -ne 0 ] || ! grep -q '^Status: loaded$' \"$_OC_WECHAT_INSPECT\" || ! grep -q '^channel: openclaw-weixin$' \"$_OC_WECHAT_INSPECT\"; then FINAL_RC=1; fi; " .. + "rm -f \"$_OC_WECHAT_INSPECT\"; fi; " .. + "if [ $FINAL_RC -eq 0 ]; then " .. + "echo '✅ 微信插件已启用,SQLite 注册表已刷新并通过加载验证' >> " .. shellquote(log_file) .. "; " .. + "else RC=$FINAL_RC; echo $RC > " .. shellquote(exit_file) .. "; " .. + "echo '❌ 微信插件启用或注册表验证失败' >> " .. shellquote(log_file) .. "; fi; " .. + "fi; " end local function wechat_tail_detail(text, max_lines) @@ -1556,16 +1519,29 @@ function action_wechat_install() local node_bin = install_path .. "/node/bin/node" local npx_bin = install_path .. "/node/bin/npx" local oc_data = install_path .. "/data" + local oc_entry = "" + for _, d in ipairs({ + install_path .. "/global/lib/node_modules/openclaw", + install_path .. "/global/node_modules/openclaw", + install_path .. "/node/lib/node_modules/openclaw", + }) do + if nixio.fs.stat(d .. "/openclaw.mjs", "type") then + oc_entry = d .. "/openclaw.mjs" + break + elseif nixio.fs.stat(d .. "/dist/cli.js", "type") then + oc_entry = d .. "/dist/cli.js" + break + end + end -- 清理旧日志和状态 sys.exec("rm -f /tmp/openclaw-wechat-install.log /tmp/openclaw-wechat-install.pid /tmp/openclaw-wechat-install.exit") - -- 校验: 确保 npx 存在 (运行环境已安装) - if not nixio.fs.stat(npx_bin, "type") then - -- npx 不存在,运行环境未安装或路径配置错误 + -- 官方插件安装器必须通过当前 OpenClaw CLI 写入 SQLite 安装索引。 + if not nixio.fs.stat(node_bin, "type") or oc_entry == "" then local log_content = "开始安装微信插件...\n" .. "安装路径: " .. install_path .. "\n" .. - "❌ 错误: npx 命令不存在 (" .. npx_bin .. ")\n" .. + "❌ 错误: Node.js 或 OpenClaw CLI 不存在。\n" .. "请先在「基本设置」页面安装运行环境。\n" .. "UCI install_path=" .. (uci:get("openclaw", "main", "install_path") or "未设置") local f = io.open("/tmp/openclaw-wechat-install.log", "w") @@ -1611,11 +1587,12 @@ function action_wechat_install() "else mkdir -p \"$OC_WECHAT_DATA/.npm\" \"$OC_WECHAT_DATA/.tmp\" \"$OC_WECHAT_DATA/.openclaw/extensions\"; chown -R openclaw:openclaw \"$OC_WECHAT_DATA/.npm\" \"$OC_WECHAT_DATA/.tmp\" 2>/dev/null; chown openclaw:openclaw \"$OC_WECHAT_DATA/.openclaw\" 2>/dev/null; fi; " .. "if [ ! -w %s/.npm ] || [ ! -w %s/.tmp ]; then echo '❌ npm cache/tmp 目录不可写' >> /tmp/openclaw-wechat-install.log; echo 1 > /tmp/openclaw-wechat-install.exit; exit 0; fi; " .. "_oc_as_openclaw 'test -w %s/.npm && test -w %s/.tmp && test -w %s/.openclaw' || { echo '❌ openclaw 用户无法写入 npm cache/tmp/data 目录' >> /tmp/openclaw-wechat-install.log; echo 1 > /tmp/openclaw-wechat-install.exit; exit 0; }; " .. - wechat_npm_direct_install_cmd(install_path, "/tmp/openclaw-wechat-install.log", "/tmp/openclaw-wechat-install.exit") .. - wechat_register_plugin_cmd(install_path, node_bin, "/tmp/openclaw-wechat-install.log") .. + wechat_openclaw_plugin_install_cmd(install_path, oc_entry, "/tmp/openclaw-wechat-install.log", "/tmp/openclaw-wechat-install.exit") .. + wechat_enable_plugin_config_cmd(install_path, node_bin, "/tmp/openclaw-wechat-install.log") .. + wechat_finalize_plugin_registry_cmd(install_path, oc_entry, "/tmp/openclaw-wechat-install.log", "/tmp/openclaw-wechat-install.exit") .. -- 关键修复: 安装完成后强制修复插件目录权限 (确保 Gateway 可读取插件) -- 原因: npx/npm 以 root 身份创建目录,默认权限 700 导致其他用户无法读取 - -- 注意: 保持 root:root 属主 (OpenClaw v2026.4.9+ 安全要求),仅修复权限模式 + -- 官方 npm generation 由 openclaw 用户维护,必须允许后续升级清理。 "[ -x /usr/libexec/openclaw-permissions.sh ] && /usr/libexec/openclaw-permissions.sh fix-state %s/.openclaw >/dev/null 2>&1; " .. "if [ $RC -eq 0 ]; then echo '✅ 微信插件安装成功!' >> /tmp/openclaw-wechat-install.log; " .. "else echo '❌ 安装失败 (exit: '$RC')' >> /tmp/openclaw-wechat-install.log; fi " .. @@ -1761,7 +1738,8 @@ function action_wechat_login() "chown openclaw:openclaw %s/.openclaw %s/.openclaw/openclaw.json 2>/dev/null; " .. "_oc_as_openclaw 'test -w %s/.npm && test -w %s/.tmp && test -w %s/.openclaw && test -w %s/.openclaw/openclaw-weixin && test -w %s/.openclaw/openclaw.json' || { echo '❌ openclaw 用户无法写入微信登录目录,请检查数据目录权限' >> /tmp/openclaw-wechat-qrcode.txt; echo 1 > /tmp/openclaw-wechat-login.exit; exit 0; }; " .. "RC=0; " .. - wechat_register_plugin_cmd(install_path, node_bin, "/tmp/openclaw-wechat-qrcode.txt", "/tmp/openclaw-wechat-login.exit") .. + wechat_enable_plugin_config_cmd(install_path, node_bin, "/tmp/openclaw-wechat-qrcode.txt", "/tmp/openclaw-wechat-login.exit") .. + wechat_finalize_plugin_registry_cmd(install_path, oc_entry, "/tmp/openclaw-wechat-qrcode.txt", "/tmp/openclaw-wechat-login.exit") .. "if [ $RC -ne 0 ]; then echo '❌ 微信插件注册失败,无法登录' >> /tmp/openclaw-wechat-qrcode.txt; exit 0; fi; " .. "cd %s && " .. "_oc_as_openclaw 'HOME=%s OPENCLAW_HOME=%s OPENCLAW_STATE_DIR=%s/.openclaw OPENCLAW_CONFIG_PATH=%s/.openclaw/openclaw.json " .. @@ -2026,15 +2004,29 @@ function action_wechat_upgrade_plugin() local node_bin = install_path .. "/node/bin/node" local npx_bin = install_path .. "/node/bin/npx" local oc_data = install_path .. "/data" + local oc_entry = "" + for _, d in ipairs({ + install_path .. "/global/lib/node_modules/openclaw", + install_path .. "/global/node_modules/openclaw", + install_path .. "/node/lib/node_modules/openclaw", + }) do + if nixio.fs.stat(d .. "/openclaw.mjs", "type") then + oc_entry = d .. "/openclaw.mjs" + break + elseif nixio.fs.stat(d .. "/dist/cli.js", "type") then + oc_entry = d .. "/dist/cli.js" + break + end + end -- 清理旧日志和状态 sys.exec("rm -f /tmp/openclaw-wechat-install.log /tmp/openclaw-wechat-install.pid /tmp/openclaw-wechat-install.exit") - -- 校验: 确保 npx 存在 (运行环境已安装) - if not nixio.fs.stat(npx_bin, "type") then + -- 升级也必须由官方 CLI 更新 SQLite 插件索引。 + if not nixio.fs.stat(node_bin, "type") or oc_entry == "" then local log_content = "正在升级微信插件...\n" .. "安装路径: " .. install_path .. "\n" .. - "❌ 错误: npx 命令不存在 (" .. npx_bin .. ")\n" .. + "❌ 错误: Node.js 或 OpenClaw CLI 不存在。\n" .. "请先检查运行环境是否正常安装。\n" .. "UCI install_path=" .. (uci:get("openclaw", "main", "install_path") or "未设置") local f = io.open("/tmp/openclaw-wechat-install.log", "w") @@ -2080,10 +2072,11 @@ function action_wechat_upgrade_plugin() "else mkdir -p \"$OC_WECHAT_DATA/.npm\" \"$OC_WECHAT_DATA/.tmp\" \"$OC_WECHAT_DATA/.openclaw/extensions\"; chown -R openclaw:openclaw \"$OC_WECHAT_DATA/.npm\" \"$OC_WECHAT_DATA/.tmp\" 2>/dev/null; chown openclaw:openclaw \"$OC_WECHAT_DATA/.openclaw\" 2>/dev/null; fi; " .. "if [ ! -w %s/.npm ] || [ ! -w %s/.tmp ]; then echo '❌ npm cache/tmp 目录不可写' >> /tmp/openclaw-wechat-install.log; echo 1 > /tmp/openclaw-wechat-install.exit; exit 0; fi; " .. "_oc_as_openclaw 'test -w %s/.npm && test -w %s/.tmp && test -w %s/.openclaw' || { echo '❌ openclaw 用户无法写入 npm cache/tmp/data 目录' >> /tmp/openclaw-wechat-install.log; echo 1 > /tmp/openclaw-wechat-install.exit; exit 0; }; " .. - wechat_npm_direct_install_cmd(install_path, "/tmp/openclaw-wechat-install.log", "/tmp/openclaw-wechat-install.exit") .. - wechat_register_plugin_cmd(install_path, node_bin, "/tmp/openclaw-wechat-install.log") .. + wechat_openclaw_plugin_install_cmd(install_path, oc_entry, "/tmp/openclaw-wechat-install.log", "/tmp/openclaw-wechat-install.exit") .. + wechat_enable_plugin_config_cmd(install_path, node_bin, "/tmp/openclaw-wechat-install.log") .. + wechat_finalize_plugin_registry_cmd(install_path, oc_entry, "/tmp/openclaw-wechat-install.log", "/tmp/openclaw-wechat-install.exit") .. -- 关键修复: 升级完成后强制修复插件目录权限 (确保 Gateway 可读取插件) - -- 注意: 保持 root:root 属主 (OpenClaw v2026.4.9+ 安全要求),仅修复权限模式 + -- 官方 npm generation 由 openclaw 用户维护,必须允许后续升级清理。 "[ -x /usr/libexec/openclaw-permissions.sh ] && /usr/libexec/openclaw-permissions.sh fix-state %s/.openclaw >/dev/null 2>&1; " .. "if [ $RC -eq 0 ]; then echo '✅ 微信插件升级成功!' >> /tmp/openclaw-wechat-install.log; " .. "else echo '❌ 升级失败 (exit: '$RC')' >> /tmp/openclaw-wechat-install.log; fi " .. diff --git a/luci-app-openclaw/root/etc/init.d/openclaw b/luci-app-openclaw/root/etc/init.d/openclaw index 895cdda3..f9d14b3f 100755 --- a/luci-app-openclaw/root/etc/init.d/openclaw +++ b/luci-app-openclaw/root/etc/init.d/openclaw @@ -61,6 +61,29 @@ _oc_fix_opt NODE_BIN="${NODE_BASE}/bin/node" CONFIG_FILE="${OC_DATA}/.openclaw/openclaw.json" +run_openclaw_cli_as_user() { + local oc_entry="$1" + shift + local pid_file="/tmp/openclaw-cli-$$.pid" + local rc + + [ -x "$NODE_BIN" ] || return 127 + id -u openclaw >/dev/null 2>&1 || return 127 + rm -f "$pid_file" + ulimit -v unlimited 2>/dev/null || true + ulimit -m unlimited 2>/dev/null || true + ulimit -d unlimited 2>/dev/null || true + HOME="$OC_DATA" OPENCLAW_HOME="$OC_DATA" OPENCLAW_STATE_DIR="${OC_DATA}/.openclaw" \ + OPENCLAW_CONFIG_PATH="$CONFIG_FILE" NODE_ICU_DATA="${NODE_BASE}/share/icu" \ + NPM_CONFIG_CACHE="${OC_DATA}/.npm" npm_config_cache="${OC_DATA}/.npm" TMPDIR="${OC_DATA}/.tmp" \ + PATH="${NODE_BASE}/bin:${OC_GLOBAL}/bin:$PATH" \ + start-stop-daemon -S -m -p "$pid_file" -c openclaw:openclaw -d "$OC_INSTALL_PATH" \ + -x "$NODE_BIN" -- "$oc_entry" "$@" + rc=$? + rm -f "$pid_file" + return "$rc" +} + get_oc_entry() { local search_dirs="${OC_GLOBAL}/lib/node_modules/openclaw ${OC_GLOBAL}/node_modules/openclaw @@ -333,9 +356,6 @@ if(Array.isArray(d.plugins.allow)){ delete d.plugins[ns].weixin; } }); -if(d.plugins.entries&&d.plugins.entries['openclaw-weixin']){ - delete d.plugins.entries['openclaw-weixin']; -} ['channel','channels'].forEach(ns=>{ if(d[ns]&&d[ns].weixin){ if(!d[ns]['openclaw-weixin'])d[ns]['openclaw-weixin']=d[ns].weixin; @@ -392,34 +412,67 @@ fi # 同步 UCI 到 JSON sync_uci_to_json - # 微信 npm 插件自愈注册: - # 有些环境里 npm projects 已安装 @tencent-weixin/openclaw-weixin, - # 但 openclaw.json 缺少 plugins.installs / plugins.allow / channels 配置, - # 会导致页面显示“已安装”而 Gateway 或登录流程无法稳定加载插件。 + # 微信 npm 插件自愈注册:OpenClaw 2026.6.11 已把安装记录从 + # openclaw.json 的 plugins.installs 迁移到 SQLite installed_plugin_index。 + # 所有官方 CLI 和 SQLite 注册表操作都以 openclaw 用户执行;完成配置写入后 + # 强制 refresh 并检查 channel capability,避免重启后只加载 memory-core。 self_heal_wechat_npm_plugin_config() { [ -x "$NODE_BIN" ] || return 0 [ -f "$CONFIG_FILE" ] || return 0 local npm_projects_dir="${OC_DATA}/.openclaw/npm/projects" [ -d "$npm_projects_dir" ] || return 0 - local wechat_plugin_json wechat_plugin_dir heal_out + local wechat_plugin_json heal_out index_ok inspect_ok config_ok inspect_file wechat_plugin_json=$(find "$npm_projects_dir" -path "*/node_modules/@tencent-weixin/openclaw-weixin/openclaw.plugin.json" -type f 2>/dev/null | head -n 1) [ -n "$wechat_plugin_json" ] || return 0 - wechat_plugin_dir="${wechat_plugin_json%/openclaw.plugin.json}" - heal_out=$(OC_CONFIG="$CONFIG_FILE" OC_WECHAT_PLUGIN_DIR="$wechat_plugin_dir" "$NODE_BIN" -e " + inspect_file="/tmp/openclaw-wechat-self-heal.inspect" + rm -f "$inspect_file" + : > /tmp/openclaw-wechat-self-heal.log + index_ok=0 + inspect_ok=0 + config_ok=0 + if run_openclaw_cli_as_user "$oc_entry" plugins inspect openclaw-weixin >"$inspect_file" 2>&1; then + grep -q '^Install:$' "$inspect_file" && grep -q '^Source: npm$' "$inspect_file" && index_ok=1 + grep -q '^Status: loaded$' "$inspect_file" && grep -q '^channel: openclaw-weixin$' "$inspect_file" && inspect_ok=1 + fi + OC_CONFIG="$CONFIG_FILE" "$NODE_BIN" -e " +try { + const d=JSON.parse(require('fs').readFileSync(process.env.OC_CONFIG,'utf8')); + const ok=d.plugins&&Array.isArray(d.plugins.allow)&&d.plugins.allow.includes('openclaw-weixin')&& + d.plugins.entries&&d.plugins.entries['openclaw-weixin']&&d.plugins.entries['openclaw-weixin'].enabled===true&& + d.channels&&d.channels['openclaw-weixin']&&d.channels['openclaw-weixin'].enabled===true&& + !(d.plugins.installs&&d.plugins.installs['openclaw-weixin']); + process.exit(ok?0:1); +} catch(e) { process.exit(1); } +" >/dev/null 2>&1 && config_ok=1 + if [ "$index_ok" = "1" ] && [ "$inspect_ok" = "1" ] && [ "$config_ok" = "1" ]; then + cat "$inspect_file" >> /tmp/openclaw-wechat-self-heal.log + logger -t openclaw "微信插件注册状态已有效,跳过重复刷新" + rm -f "$inspect_file" + return 0 + fi + if [ "$index_ok" != "1" ]; then + logger -t openclaw "检测到旧微信直装目录,正在迁移到 SQLite 插件索引" + mkdir -p "${OC_DATA}/.npm" "${OC_DATA}/.tmp" 2>/dev/null || true + if run_openclaw_cli_as_user "$oc_entry" plugins install --force --pin '@tencent-weixin/openclaw-weixin@2.4.6' \ + >>/tmp/openclaw-wechat-self-heal.log 2>&1; then + logger -t openclaw "微信插件已迁移到 SQLite installed_plugin_index" + else + logger -t openclaw "微信插件 SQLite 索引迁移失败,请查看 /tmp/openclaw-wechat-self-heal.log" + rm -f "$inspect_file" + return 0 + fi + fi + heal_out=$(OC_CONFIG="$CONFIG_FILE" "$NODE_BIN" -e " const fs=require('fs'); const p=process.env.OC_CONFIG; -const pluginDir=process.env.OC_WECHAT_PLUGIN_DIR; let d={}; try{d=JSON.parse(fs.readFileSync(p,'utf8'));}catch(e){} if(!d.plugins||typeof d.plugins!=='object')d.plugins={}; -if(!d.plugins.installs||typeof d.plugins.installs!=='object')d.plugins.installs={}; if(!Array.isArray(d.plugins.allow))d.plugins.allow=[]; if(!d.channels||typeof d.channels!=='object')d.channels={}; let changed=false; -const want={kind:'npm',installPath:pluginDir,packageName:'@tencent-weixin/openclaw-weixin'}; -const cur=d.plugins.installs['openclaw-weixin']; -if(!cur||cur.kind!==want.kind||cur.installPath!==want.installPath||cur.packageName!==want.packageName){ - d.plugins.installs['openclaw-weixin']=want; changed=true; +if(d.plugins.installs&&d.plugins.installs['openclaw-weixin']){ + delete d.plugins.installs['openclaw-weixin']; changed=true; } if(!d.plugins.allow.includes('openclaw-weixin')){ d.plugins.allow.push('openclaw-weixin'); changed=true; @@ -430,9 +483,6 @@ if(!d.channels['openclaw-weixin']||typeof d.channels['openclaw-weixin']!=='objec if(d.channels['openclaw-weixin'].enabled!==true){ d.channels['openclaw-weixin'].enabled=true; changed=true; } -if(d.plugins.entries&&d.plugins.entries['openclaw-weixin']){ - delete d.plugins.entries['openclaw-weixin']; changed=true; -} if(changed){ fs.writeFileSync(p,JSON.stringify(d,null,2)+'\n'); console.log('FIXED'); @@ -440,8 +490,29 @@ if(changed){ " 2>/dev/null) if echo "$heal_out" | grep -q "FIXED"; then chown openclaw:openclaw "$CONFIG_FILE" 2>/dev/null || true - logger -t openclaw "已自愈注册 openclaw-weixin npm plugin: $wechat_plugin_dir" + logger -t openclaw "已自愈启用 openclaw-weixin channel" fi + if ! run_openclaw_cli_as_user "$oc_entry" plugins enable openclaw-weixin \ + >>/tmp/openclaw-wechat-self-heal.log 2>&1; then + logger -t openclaw "微信插件启用失败,请查看 /tmp/openclaw-wechat-self-heal.log" + rm -f "$inspect_file" + return 0 + fi + if ! run_openclaw_cli_as_user "$oc_entry" plugins registry --refresh \ + >>/tmp/openclaw-wechat-self-heal.log 2>&1; then + logger -t openclaw "微信插件注册表刷新失败,请查看 /tmp/openclaw-wechat-self-heal.log" + rm -f "$inspect_file" + return 0 + fi + if run_openclaw_cli_as_user "$oc_entry" plugins inspect openclaw-weixin >"$inspect_file" 2>&1 && \ + grep -q '^Status: loaded$' "$inspect_file" && grep -q '^channel: openclaw-weixin$' "$inspect_file"; then + cat "$inspect_file" >> /tmp/openclaw-wechat-self-heal.log + logger -t openclaw "微信插件 SQLite 注册表已刷新并通过加载验证" + else + cat "$inspect_file" >> /tmp/openclaw-wechat-self-heal.log 2>/dev/null || true + logger -t openclaw "微信插件加载验证失败,请查看 /tmp/openclaw-wechat-self-heal.log" + fi + rm -f "$inspect_file" } self_heal_wechat_npm_plugin_config diff --git a/luci-app-openclaw/root/usr/libexec/openclaw-permissions.sh b/luci-app-openclaw/root/usr/libexec/openclaw-permissions.sh index 0fc04e45..312c5971 100755 --- a/luci-app-openclaw/root/usr/libexec/openclaw-permissions.sh +++ b/luci-app-openclaw/root/usr/libexec/openclaw-permissions.sh @@ -1,7 +1,8 @@ #!/bin/sh # OpenClaw state permission helper. -# Keep runtime state writable by the openclaw user, while keeping plugin source -# directories root-owned for OpenClaw's official ownership checks. +# Keep runtime state and managed npm plugin generations writable by the +# openclaw user. OpenClaw 2026.6.11 installs and retires these generations +# itself, so root-owned files under npm/projects break later cleanup. oc_perm_state_dir() { if [ -n "${1:-}" ]; then @@ -24,33 +25,16 @@ oc_perm_data_dir_from_state() { } oc_fix_npm_projects_permissions() { - local state_dir npm_projects plugin_json plugin_dir + local state_dir npm_projects state_dir="$(oc_perm_state_dir "${1:-}")" npm_projects="${state_dir}/npm/projects" [ -d "$npm_projects" ] || return 0 - # Gateway must be able to clean npm project generations. + # The official plugin installer runs as openclaw and the Gateway removes + # retired generations asynchronously. Keep the complete tree writable by + # that user, including plugin source files. chown -R openclaw:openclaw "$npm_projects" 2>/dev/null || true - chmod u+rwx,go+rx "$npm_projects" 2>/dev/null || true - - # Actual OpenClaw plugin roots must stay root-owned, otherwise OpenClaw refuses - # to load them with "suspicious ownership". - find "$npm_projects" -name openclaw.plugin.json -type f 2>/dev/null | while IFS= read -r plugin_json; do - plugin_dir="${plugin_json%/openclaw.plugin.json}" - case "$plugin_dir" in - *__openclaw-generation__*) - # Retained generation dirs are temporary and must remain removable by openclaw. - ;; - "$npm_projects"/*/node_modules/*) - chown -R root:root "$plugin_dir" 2>/dev/null || true - chmod -R 755 "$plugin_dir" 2>/dev/null || true - ;; - esac - done - - # Compatibility for the WeChat plugin path even if its manifest scan fails. - find "$npm_projects" -path '*/node_modules/@tencent-weixin/openclaw-weixin' -type d -prune \ - -exec chown -R root:root {} \; -exec chmod -R 755 {} \; 2>/dev/null || true + chmod -R u+rwX,go+rX "$npm_projects" 2>/dev/null || true } oc_fix_state_permissions() { @@ -106,8 +90,7 @@ oc_prepare_openclaw_workdirs() { chown openclaw:openclaw "$data_dir" "$state_dir" "${state_dir}/npm" "$npm_dir" 2>/dev/null || true chmod u+rwx,go+rx "${data_dir}/.npm" "${data_dir}/.tmp" "$state_dir" "${state_dir}/npm" "$npm_dir" 2>/dev/null || true - # During install/upgrade, allow openclaw to update npm generations. Call - # fix-state after the install to restore plugin roots to root:root. + # During install/upgrade, allow openclaw to update npm generations. [ -d "$npm_dir" ] && chown -R openclaw:openclaw "$npm_dir" 2>/dev/null || true } diff --git a/luci-app-openclaw/root/usr/share/openclaw/oc-config-interactive.js b/luci-app-openclaw/root/usr/share/openclaw/oc-config-interactive.js index d85e5d85..0a2b7a81 100644 --- a/luci-app-openclaw/root/usr/share/openclaw/oc-config-interactive.js +++ b/luci-app-openclaw/root/usr/share/openclaw/oc-config-interactive.js @@ -1277,7 +1277,7 @@ async function configureYiwanAIFanAPI() { if (!apiKey) { console.log(`${C.yellow}已取消${C.reset}`); return false; } authSetApikey(providerName, apiKey, `${providerName}:fan`); - registerCustomProvider(providerName, baseUrl, apiKey, modelName, modelName); + registerCustomProvider(providerName, baseUrl, apiKey, modelName, modelName, 1000000, 32000); const config = readConfig(); const provider = config.models?.providers?.[providerName]; if (provider?.models?.[0]) { diff --git a/luci-app-openclaw/root/usr/share/openclaw/oc-config.sh b/luci-app-openclaw/root/usr/share/openclaw/oc-config.sh index 420ac72f..974514e9 100755 --- a/luci-app-openclaw/root/usr/share/openclaw/oc-config.sh +++ b/luci-app-openclaw/root/usr/share/openclaw/oc-config.sh @@ -1448,7 +1448,7 @@ configure_model() { prompt_with_default "API Key" "" api_key if [ -n "$api_key" ]; then auth_set_apikey yiwanai "$api_key" "yiwanai:fan" - register_custom_provider yiwanai "https://api.910501.xyz/v1" "$api_key" "gpt-5.5" "gpt-5.5" + register_custom_provider yiwanai "https://api.910501.xyz/v1" "$api_key" "gpt-5.5" "gpt-5.5" 1000000 32000 _YW_PROV="yiwanai" "$NODE_BIN" -e " const fs=require('fs'); let d={}; diff --git a/luci-app-openclaw/scripts/build_ipk.sh b/luci-app-openclaw/scripts/build_ipk.sh index 8cc19b75..1a009cf5 100755 --- a/luci-app-openclaw/scripts/build_ipk.sh +++ b/luci-app-openclaw/scripts/build_ipk.sh @@ -189,9 +189,9 @@ cat > "$CTRL_DIR/postinst" << 'EOF' [ -e "$p" ] && chown -R root:root "$p" 2>/dev/null || true done - # 升级/重装后修复已存在的 OpenClaw 运行数据权限。尤其是 npm 外部插件: - # npm 安装阶段需要 openclaw 可写,运行阶段插件源码目录必须 root:root, - # 否则 OpenClaw 会因为 suspicious ownership 拒绝加载微信插件。 + # 升级/重装后修复已存在的 OpenClaw 运行数据权限。OpenClaw 2026.6.11 + # 会以 openclaw 用户安装和清理 managed npm generations,因此 npm/projects + # 内的插件源码也必须保持 openclaw 可写。 OPENCLAW_INSTALL_BASE="$(uci -q get openclaw.main.install_path 2>/dev/null || echo /opt)" if [ -r /usr/libexec/openclaw-paths.sh ]; then . /usr/libexec/openclaw-paths.sh diff --git a/luci-app-openclaw/tests/test_openclaw_contracts.sh b/luci-app-openclaw/tests/test_openclaw_contracts.sh index fb041fd0..b716c896 100755 --- a/luci-app-openclaw/tests/test_openclaw_contracts.sh +++ b/luci-app-openclaw/tests/test_openclaw_contracts.sh @@ -51,16 +51,22 @@ grep -q "openclaw 用户无法写入微信登录目录" luasrc/controller/opencl grep -q "node_modules/@tencent-weixin/openclaw-weixin" luasrc/controller/openclaw.lua || fail "wechat uninstall must remove npm project plugin" grep -q "dropChannel(d.plugins.installs)" luasrc/controller/openclaw.lua || fail "wechat uninstall must clean plugin installs" grep -q "openclaw-weixin" root/etc/init.d/openclaw || fail "weixin channel migration missing" -grep -q "delete d.plugins.entries\\['openclaw-weixin'\\]" root/etc/init.d/openclaw || fail "weixin duplicate entries cleanup missing" +if grep -q "delete d.plugins.entries\\['openclaw-weixin'\\]" root/etc/init.d/openclaw; then + fail "init must preserve the official plugins.entries enable record" +fi grep -q "npm/projects" root/etc/init.d/openclaw || fail "npm plugin project ownership fix missing" grep -q "! -path.*npm/projects" root/usr/libexec/openclaw-permissions.sh || fail "npm plugin projects should be excluded from generic ownership reset" grep -q "archived-extensions" root/etc/init.d/openclaw || fail "legacy weixin extension archive missing" grep -q "find_wechat_plugin_dir" luasrc/controller/openclaw.lua || fail "wechat npm plugin detection missing" -grep -q "wechat_register_plugin_cmd" luasrc/controller/openclaw.lua || fail "wechat install must register npm plugin config" -grep -q "plugins.installs\\['openclaw-weixin'\\]" luasrc/controller/openclaw.lua || fail "wechat plugin installPath registration missing" -grep -q "packageName: '@tencent-weixin/openclaw-weixin'" luasrc/controller/openclaw.lua || fail "wechat plugin packageName registration missing" +grep -q "wechat_openclaw_plugin_install_cmd" luasrc/controller/openclaw.lua || fail "wechat install must use OpenClaw plugin installer" +grep -q "delete d.plugins.installs\\['openclaw-weixin'\\]" luasrc/controller/openclaw.lua || fail "wechat config must remove deprecated authored install records" +grep -q "plugins install --force --pin @tencent-weixin/openclaw-weixin@2.4.6" luasrc/controller/openclaw.lua || fail "wechat install must write the official plugin index" grep -q "channels\\['openclaw-weixin'\\].enabled = true" luasrc/controller/openclaw.lua || fail "wechat channel enable registration missing" -grep -q "Registered openclaw-weixin npm plugin" luasrc/controller/openclaw.lua || fail "wechat install log must confirm config registration" +grep -q "OpenClaw 插件索引注册完成" luasrc/controller/openclaw.lua || fail "wechat install log must confirm index registration" +grep -q "plugins enable openclaw-weixin" luasrc/controller/openclaw.lua || fail "wechat lifecycle must persist the official plugin enable entry" +grep -q "plugins registry --refresh" luasrc/controller/openclaw.lua || fail "wechat lifecycle must refresh the SQLite plugin registry after config changes" +grep -q "plugins inspect openclaw-weixin" luasrc/controller/openclaw.lua || fail "wechat lifecycle must verify the loaded plugin capability" +grep -q "SQLite 注册表已刷新并通过加载验证" luasrc/controller/openclaw.lua || fail "wechat success log must require registry verification" grep -q "wechat_network_probe_cmd" luasrc/controller/openclaw.lua || fail "wechat network probe helper missing" grep -q "NODE_ICU_DATA=%s/node/share/icu" luasrc/controller/openclaw.lua || fail "wechat LuCI CLI commands must export NODE_ICU_DATA" grep -q "openclaw_user_runner_cmd" luasrc/controller/openclaw.lua || fail "wechat commands need user runner compatibility helper" @@ -68,16 +74,13 @@ grep -q "ulimit -v unlimited" luasrc/controller/openclaw.lua || fail "wechat com grep -q "start-stop-daemon -S -m -p" luasrc/controller/openclaw.lua || fail "wechat commands must support OpenWrt without su" grep -q "command -v curl" luasrc/controller/openclaw.lua || fail "wechat network probe should prefer curl" grep -q "%%{http_code}" luasrc/controller/openclaw.lua || fail "wechat curl probe percent must be escaped for string.format" -grep -q "wechat_npm_fallback_install_cmd" luasrc/controller/openclaw.lua || fail "wechat install needs npm fallback for OpenWrt Node undici OOM" if awk '/function action_wechat_install\(\)/,/function action_wechat_install_log\(\)/' luasrc/controller/openclaw.lua | grep -q "ensure_port_free"; then fail "wechat install must not stop gateway before plugin installation" fi if awk '/function action_wechat_upgrade_plugin\(\)/,/function action_wechat_uninstall_plugin\(\)/' luasrc/controller/openclaw.lua | grep -q "ensure_port_free"; then fail "wechat upgrade must not stop gateway before plugin upgrade" fi -grep -q "npm install --omit=dev --omit=peer" luasrc/controller/openclaw.lua || fail "wechat npm fallback install command missing" -grep -q "tencent-weixin-openclaw-weixin-7783ac86ba" luasrc/controller/openclaw.lua || fail "wechat npm fallback project dir missing" -grep -q "export OC_WECHAT_DATA" luasrc/controller/openclaw.lua || fail "wechat npm fallback must export data dir into openclaw user shell" +grep -q "export OC_WECHAT_DATA" luasrc/controller/openclaw.lua || fail "wechat installer must export data dir into openclaw user shell" grep -q "compare_versions" luasrc/controller/openclaw.lua || fail "semantic version compare helper missing" grep -q "is_newer_version(plugin_latest, plugin_current)" luasrc/controller/openclaw.lua || fail "plugin update check must not treat newer local versions as upgradeable" grep -q "is_newer_version(latest_version, current_version)" luasrc/controller/openclaw.lua || fail "wechat update check must use semantic version compare" @@ -88,8 +91,18 @@ grep -q "已将此 OpenClaw 连接到微信" luasrc/controller/openclaw.lua || f grep -q "Local login saved auth for openclaw%-weixin" luasrc/controller/openclaw.lua || fail "wechat login status must tolerate channels.start restart warning" grep -q "/etc/init.d/openclaw restart_gateway >/dev/null 2>&1 &" luasrc/controller/openclaw.lua || fail "wechat login success should use lightweight gateway restart" grep -q "self_heal_wechat_npm_plugin_config" root/etc/init.d/openclaw || fail "init.d wechat npm plugin self-heal missing" -grep -q "已自愈注册 openclaw-weixin npm plugin" root/etc/init.d/openclaw || fail "init.d wechat self-heal log missing" -grep -q "OC_WECHAT_PLUGIN_DIR" root/etc/init.d/openclaw || fail "init.d wechat self-heal plugin dir env missing" +grep -q "installed_plugin_index" root/etc/init.d/openclaw || fail "init.d wechat self-heal must support the SQLite plugin index" +grep -q "微信插件已迁移到 SQLite installed_plugin_index" root/etc/init.d/openclaw || fail "init.d wechat SQLite self-heal log missing" +grep -q "run_openclaw_cli_as_user" root/etc/init.d/openclaw || fail "init.d plugin registry operations must run as openclaw" +if grep -q "DatabaseSync" root/etc/init.d/openclaw; then + fail "init.d must not access the SQLite plugin index as root" +fi +grep -q "plugins enable openclaw-weixin" root/etc/init.d/openclaw || fail "init.d must restore the official plugin enable entry" +grep -q "plugins registry --refresh" root/etc/init.d/openclaw || fail "init.d must refresh the plugin registry before gateway start" +grep -q "plugins inspect openclaw-weixin" root/etc/init.d/openclaw || fail "init.d must verify the wechat plugin before gateway start" +grep -q "微信插件 SQLite 注册表已刷新并通过加载验证" root/etc/init.d/openclaw || fail "init.d registry verification success log missing" +grep -q "微信插件注册状态已有效,跳过重复刷新" root/etc/init.d/openclaw || fail "init.d must avoid repeated registry rebuilds after successful repair" +grep -q "d.plugins.entries\['openclaw-weixin'\].enabled===true" root/etc/init.d/openclaw || fail "init.d fast path must require the official enable entry" grep -q "openclaw-permissions.sh" root/etc/init.d/openclaw || fail "init.d must use permission helper" grep -q "fix_openclaw_state_permissions" root/etc/init.d/openclaw || fail "init.d final permission helper call missing" grep -q 'NODE_ICU_DATA="${NODE_BASE}/share/icu" PATH="${NODE_BASE}/bin:${OC_GLOBAL}/bin:$PATH"' root/etc/init.d/openclaw || fail "doctor migration must run with Node ICU data" @@ -111,11 +124,10 @@ grep -q 'NODE_COMPILE_CACHE="$node_compile_cache"' root/etc/init.d/openclaw || f grep -q "通常 20~40 秒" root/etc/init.d/openclaw luasrc/view/openclaw/status.htm luasrc/view/openclaw/console.htm || fail "startup hint must match measured OpenWrt timing" grep -q "restart_gateway >/dev/null 2>&1 &" luasrc/controller/openclaw.lua || fail "LuCI restart action should use lightweight gateway restart" grep -q "oc_fix_npm_projects_permissions" root/usr/libexec/openclaw-permissions.sh || fail "npm projects permission helper missing" -grep -q "openclaw.plugin.json" root/usr/libexec/openclaw-permissions.sh || fail "npm plugin root detection must use plugin manifest" -grep -q "node_modules/@tencent-weixin/openclaw-weixin" root/usr/libexec/openclaw-permissions.sh || fail "wechat npm plugin compatibility permission fix missing" -grep -q "__openclaw-generation__" root/usr/libexec/openclaw-permissions.sh || fail "retained npm generations must remain removable by openclaw" -grep -q 'chown -R root:root "$plugin_dir"' root/usr/libexec/openclaw-permissions.sh || fail "npm plugin roots must keep root ownership" grep -q 'chown -R openclaw:openclaw "$npm_projects"' root/usr/libexec/openclaw-permissions.sh || fail "npm projects generation must be writable by openclaw" +if grep -q 'chown -R root:root.*npm_projects' root/usr/libexec/openclaw-permissions.sh; then + fail "managed npm plugin generations must not be made root-owned" +fi if grep -q 'chown -R openclaw:openclaw "$OC_DATA"' root/etc/init.d/openclaw root/usr/share/openclaw/oc-config.sh root/usr/share/openclaw/web-pty.js; then fail "must not recursively chown the whole OC_DATA to openclaw" fi @@ -143,8 +155,8 @@ grep -q "gpt-5.5" root/usr/share/openclaw/oc-config-interactive.js || fail "inte grep -q "gpt-5.5" root/usr/share/openclaw/oc-config.sh || fail "shell Yiwan AI model missing" grep -q "authSetApikey(providerName, apiKey,.*fan" root/usr/share/openclaw/oc-config-interactive.js || fail "interactive Yiwan AI auth profile missing" grep -q 'auth_set_apikey yiwanai "$api_key" "yiwanai:fan"' root/usr/share/openclaw/oc-config.sh || fail "shell Yiwan AI auth profile missing" -grep -q "registerCustomProvider(providerName, baseUrl, apiKey, modelName, modelName)" root/usr/share/openclaw/oc-config-interactive.js || fail "interactive Yiwan AI custom provider registration missing" -grep -q 'register_custom_provider yiwanai "https://api.910501.xyz/v1" "$api_key" "gpt-5.5" "gpt-5.5"' root/usr/share/openclaw/oc-config.sh || fail "shell Yiwan AI custom provider registration missing" +grep -q "registerCustomProvider(providerName, baseUrl, apiKey, modelName, modelName, 1000000, 32000)" root/usr/share/openclaw/oc-config-interactive.js || fail "interactive Yiwan AI 1M context registration missing" +grep -q 'register_custom_provider yiwanai "https://api.910501.xyz/v1" "$api_key" "gpt-5.5" "gpt-5.5" 1000000 32000' root/usr/share/openclaw/oc-config.sh || fail "shell Yiwan AI 1M context registration missing" grep -q 'registerAndSetModel(`${providerName}/${modelName}`)' root/usr/share/openclaw/oc-config-interactive.js || fail "interactive Yiwan AI active model missing" grep -q "provider.models\[0\].reasoning = true" root/usr/share/openclaw/oc-config-interactive.js || fail "interactive Yiwan AI reasoning flag missing" grep -q "p.models\[0\].reasoning=true" root/usr/share/openclaw/oc-config.sh || fail "shell Yiwan AI reasoning flag missing" diff --git a/mihomo/Makefile b/mihomo/Makefile index 1b30d72c..8848814f 100644 --- a/mihomo/Makefile +++ b/mihomo/Makefile @@ -5,8 +5,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mihomo -PKG_VERSION:=1.19.27 -PKG_RELEASE:=29 +PKG_VERSION:=1.19.28 +PKG_RELEASE:=30 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/metacubex/mihomo/tar.gz/v$(PKG_VERSION)? diff --git a/natflow/Makefile b/natflow/Makefile index b8a5c493..53d4d997 100644 --- a/natflow/Makefile +++ b/natflow/Makefile @@ -10,12 +10,12 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=natflow PKG_VERSION:=20260531 -PKG_RELEASE:=39 +PKG_RELEASE:=40 PKG_SOURCE:=$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://github.com/ptpt52/natflow.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=5ba6726ce0a54bf198c470e4b7fc0c3387f85537 +PKG_SOURCE_VERSION:=43fce72a110d72386e65bc49c7c8574592267af3 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_MAINTAINER:=Chen Minqiang PKG_LICENSE:=GPL-2.0 diff --git a/openwrt-fastfetch/Makefile b/openwrt-fastfetch/Makefile index aea4b6cb..bd737262 100644 --- a/openwrt-fastfetch/Makefile +++ b/openwrt-fastfetch/Makefile @@ -5,8 +5,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fastfetch -PKG_VERSION:=2.65.2 -PKG_RELEASE:=11 +PKG_VERSION:=2.66.0 +PKG_RELEASE:=12 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/fastfetch-cli/fastfetch/tar.gz/$(PKG_VERSION)? diff --git a/opera-proxy/Makefile b/opera-proxy/Makefile index 7a37990d..a13a421c 100644 --- a/opera-proxy/Makefile +++ b/opera-proxy/Makefile @@ -1,8 +1,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=opera-proxy -PKG_VERSION:=1.26.0 -PKG_RELEASE:=7 +PKG_VERSION:=1.27.0 +PKG_RELEASE:=8 PKG_MAINTAINER:=Konstantine Shevlakov PKG_LICENSE:=MIT