From 09a1b41f450d13b568cf5aace9fb750e1e3ce4ed Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 14 Jul 2026 20:29:41 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=89=20Sync=202026-07-14=2020:29:41?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../htdocs/luci-static/resources/fchomo.js | 2 + .../luci-static/resources/fchomo/listeners.js | 278 ++- .../luci-static/resources/view/fchomo/node.js | 248 ++- luci-app-fchomo/po/templates/fchomo.pot | 1896 ++++++++-------- luci-app-fchomo/po/zh_Hans/fchomo.po | 1982 ++++++++-------- luci-app-fchomo/po/zh_Hant/fchomo.po | 1983 ++++++++--------- .../99_luci-app-fchomo-migration_inbound | 41 + .../99_luci-app-fchomo-migration_node | 16 + .../99_luci-app-fchomo-migration_server | 16 + .../root/usr/share/fchomo/generate_client.uc | 66 +- .../root/usr/share/fchomo/generate_server.uc | 2 +- .../root/usr/share/ucode/fchomo.uc | 73 +- luci-app-xray/Makefile | 2 +- .../root/usr/share/xray/firewall_include.ut | 1 + natflow/Makefile | 4 +- 15 files changed, 3478 insertions(+), 3132 deletions(-) create mode 100755 luci-app-fchomo/root/etc/uci-defaults/99_luci-app-fchomo-migration_inbound diff --git a/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js b/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js index 1638ce27..c73b3cb2 100644 --- a/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js +++ b/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js @@ -165,6 +165,7 @@ const inbound_type = [ ['tuic', _('TUIC') + ' - ' + _('UDP')], ['hysteria2', _('Hysteria2') + ' - ' + _('UDP')], ['hysteria2-realm', _('Hysteria2 Realm Server') + ' - ' + _('TCP/UDP')], + ['shadowquic', _('ShadowQUIC') + ' - ' + _('UDP')], ['trusttunnel', _('TrustTunnel') + ' - ' + _('TCP/UDP')], ['tunnel', _('Tunnel') + ' - ' + _('TCP/UDP')] ]; @@ -201,6 +202,7 @@ const outbound_type = [ ['tuic', _('TUIC') + ' - ' + _('UDP')], //['hysteria', _('Hysteria') + ' - ' + _('UDP')], ['hysteria2', _('Hysteria2') + ' - ' + _('UDP')], + ['shadowquic', _('ShadowQUIC') + ' - ' + _('UDP')], ['trusttunnel', _('TrustTunnel') + ' - ' + _('TCP/UDP')], ['wireguard', _('WireGuard') + ' - ' + _('UDP')], ['masque', _('Masque') + ' - ' + _('UDP')], // https://blog.cloudflare.com/post-quantum-warp/ 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 698b2587..4c2585db 100644 --- a/luci-app-fchomo/htdocs/luci-static/resources/fchomo/listeners.js +++ b/luci-app-fchomo/htdocs/luci-static/resources/fchomo/listeners.js @@ -117,6 +117,7 @@ function renderListeners(s, uciconfig, isClient) { let o; s.tab('field_general', _('General fields')); + s.tab('field_plugin', _('Plugin fields')); s.tab('field_vless_encryption', _('Vless Encryption fields')); s.tab('field_hysteria2_realm', _('Hysteria2 Realm fields')); s.tab('field_tls', _('TLS fields')); @@ -160,14 +161,14 @@ function renderListeners(s, uciconfig, isClient) { /* hm.validateAuth */ o = s.taboption('field_general', form.Value, 'username', _('Username')); o.validate = hm.validateAuthUsername; - o.depends({type: /^(http|socks|mixed|mieru|trojan|anytls|hysteria2|trusttunnel)$/}); + o.depends({type: /^(http|socks|mixed|mieru|trojan|anytls|hysteria2|shadowquic|trusttunnel)$/}); o.modalonly = true; o = s.taboption('field_general', hm.GenValue, 'password', _('Password')); o.password = true; o.validate = hm.validateAuthPassword; o.rmempty = false; - o.depends({type: /^(http|socks|mixed|mieru|trojan|anytls|hysteria2|trusttunnel)$/, username: /.+/}); + o.depends({type: /^(http|socks|mixed|mieru|trojan|anytls|hysteria2|shadowquic|trusttunnel)$/, username: /.+/}); o.depends({type: /^(tuic)$/, uuid: /.+/}); o.modalonly = true; @@ -453,13 +454,6 @@ function renderListeners(s, uciconfig, isClient) { o.depends('type', 'tuic'); o.modalonly = true; - o = s.taboption('field_general', form.Value, 'tuic_max_idle_time', _('Idle timeout'), - _('In seconds.')); - o.default = '15000'; - o.validate = hm.validateTimeDuration; - o.depends('type', 'tuic'); - o.modalonly = true; - o = s.taboption('field_general', form.Value, 'tuic_authentication_timeout', _('Auth timeout'), _('In seconds.')); o.default = '1000'; @@ -547,6 +541,19 @@ function renderListeners(s, uciconfig, isClient) { o.depends('type', 'hysteria2-realm'); o.modalonly = true; + /* ShadowQUIC fields */ + o = s.taboption('field_general', form.DynamicList, 'shadowquic_quic_versions', _('QUIC versions'), + _('Default version, Support %s.').format('v1/v2')); + o.default = 'v1'; + o.rmempty = false; + o.depends('type', 'shadowquic'); + o.modalonly = true; + + o = s.taboption('field_general', form.Flag, 'shadowquic_zero_rtt', _('QUIC based 0-RTT')); + o.default = o.disabled; + o.depends('type', 'shadowquic'); + o.modalonly = true; + /* TrustTunnel fields */ /* Tunnel fields */ @@ -556,68 +563,6 @@ function renderListeners(s, uciconfig, isClient) { o.depends('type', 'tunnel'); o.modalonly = true; - /* Plugin fields */ - o = s.taboption('field_general', form.ListValue, 'plugin', _('Plugin')); - 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); - - if (value) { - if (type === 'snell' && !['obfs', 'shadow-tls'].includes(value)) { - return _('Expecting: only support %s.').format(_('obfs-simple') + - ' / ' + _('shadow-tls')); - } - } - - return true; - } - o.depends({type: /^(shadowsocks|snell)$/}); - o.modalonly = true; - - o = s.taboption('field_general', form.ListValue, 'plugin_opts_obfsmode', _('Plugin: ') + _('Obfs Mode')); - o.value('http', _('HTTP')); - o.value('tls', _('TLS')); - o.depends('plugin', 'obfs'); - o.modalonly = true; - - o = s.taboption('field_general', form.Value, 'plugin_opts_host', _('Plugin: ') + _('Host that supports TLS 1.3')); - o.datatype = 'hostname'; - o.placeholder = 'cloud.tencent.com'; - o.rmempty = false; - o.depends({plugin: 'obfs', type: 'snell'}); - o.modalonly = true; - - o = s.taboption('field_general', form.Value, 'plugin_opts_handshake_dest', _('Plugin: ') + _('Handshake target that supports TLS 1.3')); - o.datatype = 'hostport'; - o.placeholder = 'cloud.tencent.com:443'; - o.rmempty = false; - 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|restls)$/}); - o.modalonly = true; - - o = s.taboption('field_general', form.ListValue, 'plugin_opts_shadowtls_version', _('Plugin: ') + _('Version')); - o.value('1', _('v1')); - o.value('2', _('v2')); - o.value('3', _('v3')); - o.default = '3'; - 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)')); @@ -658,7 +603,7 @@ function renderListeners(s, uciconfig, isClient) { hm.congestion_controller.forEach((res) => { o.value.apply(o, res); }) - o.depends({type: /^(tuic|trusttunnel)$/}); + o.depends({type: /^(tuic|shadowquic|trusttunnel)$/}); o.modalonly = true; o = s.taboption('field_general', form.ListValue, 'bbr_profile', _('BBR profile')); @@ -666,8 +611,15 @@ function renderListeners(s, uciconfig, isClient) { hm.bbr_profiles.forEach((res) => { o.value.apply(o, res); }) - o.depends({congestion_controller: 'bbr'}); - o.depends({type: 'hysteria2'}); + o.depends('congestion_controller', 'bbr'); + o.depends('type', 'hysteria2'); + o.modalonly = true; + + o = s.taboption('field_general', form.Value, 'max_idle_time', _('Idle timeout'), + _('In seconds.')); + o.placeholder = '15000'; + o.validate = hm.validateTimeDuration; + o.depends({type: /^(tuic|shadowquic)$/}); o.modalonly = true; o = s.taboption('field_general', form.MultiValue, 'network', _('Network type')); @@ -682,6 +634,111 @@ function renderListeners(s, uciconfig, isClient) { o.depends({type: /^(socks|mixed|shadowsocks|snell)$/}); o.modalonly = true; + /* Plugin fields */ + o = s.taboption('field_general', form.Flag, 'plugin', _('Plugin')); + o.default = o.disabled; + o.depends({type: /^(shadowsocks|snell)$/}); + o.modalonly = true; + + o = s.taboption('field_plugin', form.ListValue, 'plugin_type', _('Plugin type')); + o.value('obfs', _('obfs-simple')); + o.value('shadow-tls', _('ShadowTLS')); + o.value('restls', _('Restls')); + o.value('jls', _('JLS')); + //o.value('kcp-tun', _('kcp-tun')); + o.validate = function(section_id, value) { + const type = this.section.getOption('type').formvalue(section_id); + + if (value) { + if (type === 'snell' && !['obfs', 'shadow-tls'].includes(value)) { + return _('Expecting: only support %s.').format(_('obfs-simple') + + ' / ' + _('ShadowTLS')); + } + } + + return true; + } + o.depends('plugin', '1'); + o.modalonly = true; + + o = s.taboption('field_plugin', form.ListValue, 'plugin_opts_obfsmode', _('Obfs Mode')); + o.value('http', _('HTTP')); + o.value('tls', _('TLS')); + o.depends('plugin_type', 'obfs'); + o.modalonly = true; + + o = s.taboption('field_plugin', form.Value, 'plugin_opts_host', _('Host that supports TLS 1.3')); + o.datatype = 'hostname'; + o.placeholder = 'cloud.tencent.com'; + o.rmempty = false; + o.depends({plugin_type: 'obfs', type: 'snell'}); + o.modalonly = true; + + o = s.taboption('field_plugin', form.Value, 'plugin_opts_handshake_dest', _('Handshake target that supports TLS 1.3')); + o.datatype = 'hostport'; + o.placeholder = 'cloud.tencent.com:443'; + o.rmempty = false; + o.depends({plugin_type: /^(shadow-tls|restls|jls)$/}); + o.depends({type: 'shadowquic'}); + o.modalonly = true; + + o = s.taboption('field_plugin', form.Value, 'plugin_opts_thetlsusername', _('Username')); + o.validate = hm.validateAuthUsername; + o.rmempty = false; + o.depends({plugin_type: 'jls'}); + o.modalonly = true; + + o = s.taboption('field_plugin', hm.GenValue, 'plugin_opts_thetlspassword', _('Password')); + o.password = true; + o.rmempty = false; + o.depends({plugin_type: /^(shadow-tls|restls|jls)$/}); + o.modalonly = true; + + o = s.taboption('field_plugin', form.ListValue, 'plugin_opts_shadowtls_version', _('Version')); + o.value('1', _('v1')); + o.value('2', _('v2')); + o.value('3', _('v3')); + o.default = '3'; + o.depends({plugin_type: 'shadow-tls'}); + o.modalonly = true; + + o = s.taboption('field_plugin', form.Value, 'plugin_opts_restls_script', _('Restls script')); + o.default = '300?100<1,400~100,350~100,600~100,300~200,300~100'; + o.rmempty = false; + o.depends({plugin_type: 'restls'}); + o.modalonly = true; + + if (isClient) { + o = s.taboption('field_plugin', form.ListValue, 'plugin_opts_dest_proxy', _('Handshake target proxy'), + _('The proxy used to connect to the handshake target.')); + o.default = hm.preset_outbound.direct[0][0]; + hm.preset_outbound.direct.forEach((res) => { + o.value.apply(o, res); + }) + o.load = function(section_id) { + return hm.loadLabel.call(this, [ + ...hm.preset_outbound.direct, + ...hm.loadLabelValues(this.config, 'proxy_group') + ], section_id); + } + o.depends({plugin_type: /^(restls|jls)$/}); + o.depends({type: 'shadowquic'}); + o.modalonly = true; + } + + o = s.taboption('field_plugin', form.Value, 'plugin_opts_rate_limit', _('Forwarding rate limit'), + _('In bps. 0 means no speed limit.')); + o.datatype = 'uinteger'; + o.depends({plugin_type: 'jls'}); + o.depends({type: 'shadowquic'}); + o.modalonly = true; + + o = s.taboption('field_plugin', form.Flag, 'plugin_opts_quic_version_probe', _('QUIC version probe'), + _('Probe the QUIC version of the handshake target during the first connection.')); + o.default = o.disabled; + o.depends({type: 'shadowquic'}); + o.modalonly = true; + /* Vless Encryption fields */ o = s.taboption('field_general', form.Flag, 'vless_decryption', _('decryption')); o.default = o.disabled; @@ -925,7 +982,7 @@ function renderListeners(s, uciconfig, isClient) { o.depends('hysteria2_realm', '1'); o.modalonly = true; - // @ 下面支持填写针对server-url的TLS配置(sni, skip-cert-verify, fingerprint, certificate, private-key, alpn) + // @ 下面支持填写针对server-url的TLS配置(sni, skip-cert-verify, name-cert-verify, fingerprint, certificate, private-key, alpn) /* TLS fields */ o = s.taboption('field_general', form.Flag, 'tls', _('TLS')); @@ -934,24 +991,65 @@ function renderListeners(s, uciconfig, isClient) { const type = this.section.getOption('type').formvalue(section_id); let tls = this.section.getUIElement(section_id, 'tls').node.querySelector('input'); let allow_insecure = this.section.getUIElement(section_id, 'allow_insecure').node.querySelector('input'); - let tls_alpn = this.section.getUIElement(section_id, 'tls_alpn'); let tls_reality = this.section.getUIElement(section_id, 'tls_reality').node.querySelector('input'); // Force enabled - if (['trojan', 'anytls', 'tuic', 'hysteria2', 'trusttunnel'].includes(type)) { + if (['trojan', 'anytls', 'tuic', 'hysteria2', 'shadowquic', 'trusttunnel'].includes(type)) { tls.checked = true; tls.disabled = true; } else { tls.removeAttribute('disabled'); } + // Force disabled + if (!['vless', 'trojan', 'anytls'].includes(type)) { + allow_insecure.checked = false; + } else if (allow_insecure.checked) { + tls.checked = false; + tls.disabled = true; + } + if (!['vmess', 'vless', 'trojan'].includes(type)) { + tls_reality.checked = false; + tls_reality.disabled = true; + } else { + tls_reality.removeAttribute('disabled'); + } + + return true; + } + o.depends({type: /^(http|socks|mixed|vmess|vless|trojan|anytls|tuic|hysteria2|hysteria2-realm|shadowquic|trusttunnel)$/}); + o.modalonly = true; + + o = s.taboption('field_general', form.Flag, 'allow_insecure', _('Allow insecure connections'), + _('Only applicable when %s are used as a frontend.').format('nginx/caddy')); + o.default = o.disabled; + o.depends({type: /^(vless|trojan|anytls)$/}); + o.modalonly = true; + + o = s.taboption('field_tls', form.Value, 'tls_sni', _('TLS SNI'), + _('Hostname that the client attempts to connect to at the start of the TLS handshake process.')); + o.depends('plugin_type', 'jls'); + o.depends({tls: '1', type: 'shadowquic'}); + o.modalonly = true; + + o = s.taboption('field_tls', form.DynamicList, 'tls_alpn', _('TLS ALPN'), + _('List of supported application level protocols, in order of preference.')); + o.validate = function(section_id, value) { + const type = this.section.getOption('type').formvalue(section_id); + //const plugin_type = this.section.getOption('plugin_type').formvalue(section_id); + let tls_alpn = this.section.getUIElement(section_id, 'tls_alpn'); + // Default alpn if (!`${tls_alpn.getValue()}`) { let def_alpn; switch (type) { + case 'shadowsocks': + def_alpn = ['h2', 'http/1.1']; // when plugin_type in ['jls'] + break; case 'tuic': case 'hysteria2': + case 'shadowquic': def_alpn = ['h3']; break; case 'hysteria2-realm': @@ -965,45 +1063,23 @@ function renderListeners(s, uciconfig, isClient) { } // Force disabled - if (!['vless', 'trojan', 'anytls'].includes(type)) { - allow_insecure.checked = false; - } else if (allow_insecure.checked) { - tls.checked = false; - tls.disabled = true; - } if (['trusttunnel'].includes(type)) { tls_alpn.node.querySelector('input').disabled = true; tls_alpn.setValue(''); } else { tls_alpn.node.querySelector('input').removeAttribute('disabled'); } - if (!['vmess', 'vless', 'trojan'].includes(type)) { - tls_reality.checked = false; - tls_reality.disabled = true; - } else { - tls_reality.removeAttribute('disabled'); - } return true; } - o.depends({type: /^(http|socks|mixed|vmess|vless|trojan|anytls|tuic|hysteria2|hysteria2-realm|trusttunnel)$/}); - o.modalonly = true; - - o = s.taboption('field_general', form.Flag, 'allow_insecure', _('Allow insecure connections'), - _('Only applicable when %s are used as a frontend.').format('nginx/caddy')); - o.default = o.disabled; - o.depends({type: /^(vless|trojan|anytls)$/}); - o.modalonly = true; - - o = s.taboption('field_tls', form.DynamicList, 'tls_alpn', _('TLS ALPN'), - _('List of supported application level protocols, in order of preference.')); o.depends('tls', '1'); + o.depends({type: 'shadowsocks', plugin_type: 'jls'}); o.modalonly = true; o = s.taboption('field_tls', form.Value, 'tls_cert_path', _('Certificate path'), _('The %s public key, in PEM format.').format(_('Server'))); o.value('/etc/fchomo/certs/server_publickey.pem'); - o.depends({tls: '1', tls_reality: '0'}); + o.depends({tls: '1', tls_reality: '0', type: /^(http|socks|mixed|vmess|vless|trojan|anytls|tuic|hysteria2|hysteria2-realm|trusttunnel)$/}); o.rmempty = false; o.modalonly = true; 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 558403d1..60f510e6 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 @@ -104,7 +104,7 @@ const parseProviderYaml = hm.parseYaml.extend({ if (!cfg.type) return null; - // key mapping // 2026/06/06 + // key mapping // 2026/07/12 let config = hm.removeBlankAttrs({ id: this.id, label: this.label, @@ -130,6 +130,8 @@ const parseProviderYaml = hm.parseYaml.extend({ override_prefix: this.jq(cfg, "override.additional-prefix"), override_suffix: this.jq(cfg, "override.additional-suffix"), override_replace: (this.jq(cfg, "override.proxy-name") || []).map((obj) => JSON.stringify(obj)), // array.string: array.object + // Programmable replacement + override_expr: this.jq(cfg, "override.override-expr") || [], // array.string // Other configuration items override_tfo: this.bool2str(this.jq(cfg, "override.tfo")), // bool override_mptcp: this.bool2str(this.jq(cfg, "override.mptcp")), // bool @@ -137,6 +139,7 @@ const parseProviderYaml = hm.parseYaml.extend({ override_uot: this.bool2str(this.jq(cfg, "override.udp-over-tcp")), // bool override_up: this.jq(cfg, "override.up"), override_down: this.jq(cfg, "override.down"), + override_name_cert_verify: this.jq(cfg, "override.name-cert-verify"), override_skip_cert_verify: this.bool2str(this.jq(cfg, "override.skip-cert-verify")), // bool //override_dialer_proxy: this.jq(cfg, "override.dialer-proxy"), override_interface_name: this.jq(cfg, "override.interface-name"), @@ -231,6 +234,7 @@ return view.extend({ ss.hm_lowcase_only = true; ss.tab('field_general', _('General fields')); + ss.tab('field_plugin', _('Plugin fields')); ss.tab('field_vless_encryption', _('Vless Encryption fields')); ss.tab('field_hysteria2_realm', _('Hysteria2 Realm fields')); ss.tab('field_tls', _('TLS fields')); @@ -300,13 +304,13 @@ return view.extend({ /* hm.validateAuth */ so = ss.taboption('field_general', form.Value, 'username', _('Username')); so.validate = hm.validateAuthUsername; - so.depends({type: /^(http|socks5|mieru|trusttunnel|ssh)$/}); + so.depends({type: /^(http|socks5|mieru|shadowquic|trusttunnel|ssh)$/}); so.modalonly = true; so = ss.taboption('field_general', form.Value, 'password', _('Password')); so.password = true; so.validate = hm.validateAuthPassword; - so.depends({type: /^(http|socks5|mieru|trojan|anytls|tuic|hysteria2|trusttunnel|ssh)$/}); + so.depends({type: /^(http|socks5|mieru|trojan|anytls|tuic|hysteria2|shadowquic|trusttunnel|ssh)$/}); so.modalonly = true; so = ss.taboption('field_general', hm.TextValue, 'headers', _('HTTP header')); @@ -663,12 +667,6 @@ return view.extend({ so.depends('type', 'tuic'); so.modalonly = true; - so = ss.taboption('field_general', form.Value, 'tuic_max_open_streams', _('Max open streams')); - so.datatype = 'uinteger'; - so.placeholder = '100'; - so.depends('type', 'tuic'); - so.modalonly = true; - /* Hysteria / Hysteria2 fields */ so = ss.taboption('field_general', form.DynamicList, 'hysteria_ports', _('Ports pool')); so.datatype = 'or(port, portrange)'; @@ -729,6 +727,31 @@ return view.extend({ so.depends('type', 'trusttunnel'); so.modalonly = true; + /* ShadowQUIC fields */ + so = ss.taboption('field_general', form.DynamicList, 'shadowquic_quic_versions', _('QUIC versions'), + _('Support %s, default %s.').format('v1/v2', 'v1')); + so.default = 'v1'; + so.rmempty = false; + so.depends('type', 'shadowquic'); + so.modalonly = true; + + so = ss.taboption('field_general', form.Flag, 'shadowquic_udp_over_stream', _('UDP over stream')); + so.default = so.disabled; + so.depends('type', 'shadowquic'); + so.modalonly = true; + + so = ss.taboption('field_general', form.Flag, 'shadowquic_zero_rtt', _('QUIC based 0-RTT')); + so.default = so.disabled; + so.depends('type', 'shadowquic'); + so.modalonly = true; + + so = ss.taboption('field_general', form.Value, 'shadowquic_heartbeat', _('Heartbeat interval'), + _('In millisecond.')); + so.datatype = 'uinteger'; + so.placeholder = '10000'; + so.depends('type', 'shadowquic'); + so.modalonly = true; + /* WireGuard fields */ so = ss.taboption('field_general', form.Value, 'wireguard_ip', _('Local address'), _('The %s address used by local machine in the Wireguard network.').format('IPv4')); @@ -888,76 +911,13 @@ return view.extend({ so.depends({type: 'ssh', ssh_host_key_algorithms: /.+/}); so.modalonly = true; - /* Plugin fields */ - so = ss.taboption('field_general', form.ListValue, 'plugin', _('Plugin')); - so.value('', _('none')); - so.value('obfs', _('obfs-simple')); - //so.value('v2ray-plugin', _('v2ray-plugin')); - //so.value('gost-plugin', _('gost-plugin')); - so.value('shadow-tls', _('shadow-tls')); - so.value('restls', _('restls')); - //so.value('kcptun', _('kcptun')); - so.validate = function(section_id, value) { - const type = this.section.getOption('type').formvalue(section_id); - - if (value) { - if (type === 'snell' && !['obfs', 'shadow-tls'].includes(value)) { - return _('Expecting: only support %s.').format(_('obfs-simple') + - ' / ' + _('shadow-tls')); - } - } - - return true; - } - so.depends({type: /^(ss|snell)$/}); - so.modalonly = true; - - so = ss.taboption('field_general', form.ListValue, 'plugin_opts_obfsmode', _('Plugin: ') + _('Obfs Mode')); - so.value('http', _('HTTP')); - so.value('tls', _('TLS')); - so.depends('plugin', 'obfs'); - so.modalonly = true; - - so = ss.taboption('field_general', form.Value, 'plugin_opts_host', _('Plugin: ') + _('Host that supports TLS 1.3')); - so.datatype = 'hostname'; - so.placeholder = 'cloud.tencent.com'; - so.rmempty = false; - so.depends({plugin: /^(obfs|v2ray-plugin|shadow-tls|restls)$/}); - so.modalonly = true; - - so = ss.taboption('field_general', form.Value, 'plugin_opts_thetlspassword', _('Plugin: ') + _('Password')); - so.password = true; - so.rmempty = false; - so.depends({plugin: /^(shadow-tls|restls)$/}); - so.modalonly = true; - - so = ss.taboption('field_general', form.ListValue, 'plugin_opts_shadowtls_version', _('Plugin: ') + _('Version')); - so.value('1', _('v1')); - so.value('2', _('v2')); - so.value('3', _('v3')); - so.default = '2'; - so.depends({plugin: 'shadow-tls'}); - so.modalonly = true; - - so = ss.taboption('field_general', form.Value, 'plugin_opts_restls_versionhint', _('Plugin: ') + _('Version hint')); - so.default = 'tls13'; - so.rmempty = false; - so.depends({plugin: 'restls'}); - so.modalonly = true; - - so = ss.taboption('field_general', form.Value, 'plugin_opts_restls_script', _('Plugin: ') + _('Restls script')); - so.default = '300?100<1,400~100,350~100,600~100,300~200,300~100'; - so.rmempty = false; - so.depends({plugin: 'restls'}); - so.modalonly = true; - /* Extra fields */ so = ss.taboption('field_general', form.ListValue, 'congestion_controller', _('Congestion controller')); so.default = hm.congestion_controller[0][0]; hm.congestion_controller.forEach((res) => { so.value.apply(so, res); }) - so.depends({type: /^(tuic|trusttunnel)$/}); + so.depends({type: /^(tuic|shadowquic|trusttunnel)$/}); so.depends({type: 'masque', masque_network: /^(|h3-l4proxy)$/}); so.modalonly = true; @@ -966,8 +926,14 @@ return view.extend({ hm.bbr_profiles.forEach((res) => { so.value.apply(so, res); }) - so.depends({congestion_controller: 'bbr'}); - so.depends({type: 'hysteria2'}); + so.depends('congestion_controller', 'bbr'); + so.depends('type', 'hysteria2'); + so.modalonly = true; + + so = ss.taboption('field_general', form.Value, 'max_open_streams', _('Max open streams')); + so.datatype = 'uinteger'; + so.placeholder = '1024'; + so.depends({type: /^(tuic|shadowquic)$/}); so.modalonly = true; so = ss.taboption('field_general', form.Value, 'handshake_timeout', _('Handshake timeout'), @@ -997,6 +963,80 @@ return view.extend({ so.depends('uot', '1'); so.modalonly = true; + /* Plugin fields */ + so = ss.taboption('field_general', form.Flag, 'plugin', _('Plugin')); + so.default = so.disabled; + so.depends({type: /^(ss|snell)$/}); + so.modalonly = true; + + so = ss.taboption('field_plugin', form.ListValue, 'plugin_type', _('Plugin type')); + so.value('obfs', _('obfs-simple')); + //so.value('v2ray-plugin', _('v2ray-plugin')); + //so.value('gost-plugin', _('gost-plugin')); + so.value('shadow-tls', _('ShadowTLS')); + so.value('restls', _('Restls')); + so.value('jls', _('JLS')); + //so.value('kcptun', _('kcptun')); + so.validate = function(section_id, value) { + const type = this.section.getOption('type').formvalue(section_id); + + if (value) { + if (type === 'snell' && !['obfs', 'shadow-tls'].includes(value)) { + return _('Expecting: only support %s.').format(_('obfs-simple') + + ' / ' + _('ShadowTLS')); + } + } + + return true; + } + so.depends('plugin', '1'); + so.modalonly = true; + + so = ss.taboption('field_plugin', form.ListValue, 'plugin_opts_obfsmode', _('Obfs Mode')); + so.value('http', _('HTTP')); + so.value('tls', _('TLS')); + so.depends('plugin_type', 'obfs'); + so.modalonly = true; + + so = ss.taboption('field_plugin', form.Value, 'plugin_opts_host', _('Host that supports TLS 1.3')); + so.datatype = 'hostname'; + so.placeholder = 'cloud.tencent.com'; + so.rmempty = false; + so.depends({plugin_type: /^(obfs|v2ray-plugin|shadow-tls|restls|jls)$/}); + so.modalonly = true; + + so = ss.taboption('field_plugin', form.Value, 'plugin_opts_thetlsusername', _('Username')); + so.validate = hm.validateAuthUsername; + so.rmempty = false; + so.depends({plugin_type: 'jls'}); + so.modalonly = true; + + so = ss.taboption('field_plugin', form.Value, 'plugin_opts_thetlspassword', _('Password')); + so.password = true; + so.rmempty = false; + so.depends({plugin_type: /^(shadow-tls|restls|jls)$/}); + so.modalonly = true; + + so = ss.taboption('field_plugin', form.ListValue, 'plugin_opts_shadowtls_version', _('Version')); + so.value('1', _('v1')); + so.value('2', _('v2')); + so.value('3', _('v3')); + so.default = '2'; + so.depends({plugin_type: 'shadow-tls'}); + so.modalonly = true; + + so = ss.taboption('field_plugin', form.Value, 'plugin_opts_restls_versionhint', _('Version hint')); + so.default = 'tls13'; + so.rmempty = false; + so.depends({plugin_type: 'restls'}); + so.modalonly = true; + + so = ss.taboption('field_plugin', form.Value, 'plugin_opts_restls_script', _('Restls script')); + so.default = '300?100<1,400~100,350~100,600~100,300~200,300~100'; + so.rmempty = false; + so.depends({plugin_type: 'restls'}); + so.modalonly = true; + /* Vless Encryption fields */ so = ss.taboption('field_general', form.Flag, 'vless_encryption', _('encryption')); so.default = so.disabled; @@ -1096,7 +1136,7 @@ return view.extend({ so.depends('hysteria2_realm', '1'); so.modalonly = true; - // @ 下面支持填写针对server-url的TLS配置(sni, skip-cert-verify, fingerprint, certificate, private-key, alpn) + // @ 下面支持填写针对server-url的TLS配置(sni, skip-cert-verify, name-cert-verify, fingerprint, certificate, private-key, alpn) /* TLS fields */ so = ss.taboption('field_general', form.Flag, 'tls', _('TLS')); @@ -1106,7 +1146,7 @@ return view.extend({ let tls = this.section.getUIElement(section_id, 'tls').node.querySelector('input'); // Force enabled - if (['trojan', 'anytls', 'hysteria', 'hysteria2', 'tuic', 'trusttunnel', 'masque'].includes(type)) { + if (['trojan', 'anytls', 'tuic', 'hysteria', 'hysteria2', 'shadowquic', 'trusttunnel', 'masque'].includes(type)) { tls.checked = true; tls.disabled = true; } else { @@ -1115,7 +1155,7 @@ return view.extend({ return true; } - so.depends({type: /^(http|socks5|vmess|vless|trojan|anytls|tuic|hysteria|hysteria2|trusttunnel|masque)$/}); + so.depends({type: /^(http|socks5|vmess|vless|trojan|anytls|tuic|hysteria|hysteria2|shadowquic|trusttunnel|masque)$/}); so.modalonly = true; so = ss.taboption('field_tls', form.Flag, 'tls_disable_sni', _('Disable SNI'), @@ -1125,8 +1165,8 @@ return view.extend({ so.modalonly = true; 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|masque)$/}); + _('Hostname that the client attempts to connect to at the start of the TLS handshake process.')); + so.depends({tls: '1', type: /^(http|vmess|vless|trojan|anytls|hysteria|hysteria2|shadowquic|trusttunnel|masque)$/}); so.depends({tls: '1', type: /^(tuic)$/, tls_disable_sni: '0'}); so.modalonly = true; @@ -1134,7 +1174,7 @@ return view.extend({ _('List of supported application level protocols, in order of preference.')); so.validate = function(section_id, value) { const type = this.section.getOption('type').formvalue(section_id); - //const plugin = this.section.getOption('plugin').formvalue(section_id); + //const plugin_type = this.section.getOption('plugin_type').formvalue(section_id); let tls_alpn = this.section.getUIElement(section_id, 'tls_alpn'); // Default alpn @@ -1144,11 +1184,12 @@ return view.extend({ switch (type) { case 'ss': case 'snell': - def_alpn = ['h2', 'http/1.1']; // when plugin === 'shadow-tls' + def_alpn = ['h2', 'http/1.1']; // when plugin_type in ['shadow-tls', 'jls'] break; case 'tuic': case 'hysteria': case 'hysteria2': + case 'shadowquic': def_alpn = ['h3']; break; case 'vmess': @@ -1171,8 +1212,9 @@ return view.extend({ return true; } - so.depends({tls: '1', type: /^(vmess|vless|trojan|anytls|tuic|hysteria|hysteria2|trusttunnel)$/}); - so.depends({type: /^(ss|snell)$/, plugin: 'shadow-tls'}); + so.depends({tls: '1', type: /^(vmess|vless|trojan|anytls|tuic|hysteria|hysteria2|shadowquic|trusttunnel)$/}); + so.depends({type: /^(ss|snell)$/, plugin_type: 'shadow-tls'}); + so.depends({type: 'ss', plugin_type: 'jls'}); so.modalonly = true; so = ss.taboption('field_tls', form.Value, 'tls_fingerprint', _('Cert fingerprint'), @@ -1188,6 +1230,12 @@ return view.extend({ so.depends({tls: '1', type: /^(http|socks5|vmess|vless|trojan|hysteria|hysteria2)$/}); so.modalonly = true; + so = ss.taboption('field_tls', form.Value, 'tls_name_cert_verify', _('Override cert DNSName'), + _('Used to verify the hostname on the returned certificates.')); + so.datatype = 'hostname'; + so.depends({tls: '1', type: /^(http|socks5|vmess|vless|trojan|anytls|tuic|hysteria|hysteria2|trusttunnel)$/}); + so.modalonly = true; + so = ss.taboption('field_tls', form.Flag, 'tls_skip_cert_verify', _('Skip cert verify'), _('Donot verifying server certificate.') + '
' + @@ -1227,7 +1275,7 @@ return view.extend({ so = ss.taboption('field_tls', form.Flag, 'tls_ech', _('Enable ECH')); so.default = so.disabled; so.depends({tls: '1', type: /^(vmess|vless|trojan|anytls|tuic|hysteria|hysteria2)$/}); - so.depends({type: 'ss', plugin: /^(v2ray-plugin|gost-plugin)$/}); + so.depends({type: 'ss', plugin_type: /^(v2ray-plugin|gost-plugin)$/}); so.modalonly = true; so = ss.taboption('field_tls', form.Value, 'tls_ech_config', _('ECH config'), @@ -1248,7 +1296,8 @@ return view.extend({ so.value.apply(so, res); }) so.depends({tls: '1', type: /^(vmess|vless|trojan|anytls|trusttunnel)$/}); - so.depends({type: /^(ss|snell)$/, plugin: /^(shadow-tls|restls)$/}); + so.depends({type: /^(ss|snell)$/, plugin_type: /^(shadow-tls|restls)$/}); + so.depends({type: 'ss', plugin_type: 'jls'}); so.modalonly = true; so = ss.taboption('field_tls', form.Flag, 'tls_reality', _('REALITY')); @@ -1638,6 +1687,7 @@ return view.extend({ ' udp-over-tcp: false\n' + ' down: "50 Mbps"\n' + ' up: "10 Mbps"\n' + + ' name-cert-verify: example.com\n' + ' skip-cert-verify: true\n' + ' dialer-proxy: proxy\n' + ' interface-name: tailscale0\n' + @@ -1650,6 +1700,19 @@ return view.extend({ ' target: "TEST"\n' + ' - pattern: "IPLC-(.*?)倍"\n' + ' target: "iplc x $1"\n' + + ' override-expr:\n' + + " - '.name = \"[provider1] \" + .name' # 普通赋值\n" + + " - '.plugin-opts.mode = \"tls\"' # 自动创建缺失的 mapping\n" + + " - '.alpn[] |= upcase' # 更新数组中的每一项\n" + + " - 'del(.skip-cert-verify)' # 删除字段\n" + + " - '.name = (.name | trim | upcase)' # 赋值右侧的管道需加括号\n" + + " - '.name = \"[\\(.type)] \\(.name):\\(.port)\"' # 字符串插值\n" + + " - '(select(.port == 443) | .tls) = true' # 条件不匹配时不修改\n" + + " - '.tags |= (unique | sort)' # 去重后排序\n" + + " - '.names = [.servers[] | select(.enabled) | .name]' # 收集多个结果\n" + + " - '.servers |= map(select(.enabled))' # 筛选数组\n" + + " - '.options |= with_entries(.key |= upcase)' # 转换 mapping\n" + + " - '. | with_entries(.key |= upcase)' # 整体过滤结果仍须为 mapping\n" + ' filter: "(?i)港|hk|hongkong|hong kong"\n' + ' exclude-filter: "xxx"\n' + ' exclude-type: "ss|http"\n' + @@ -1896,6 +1959,13 @@ return view.extend({ so.depends({type: 'inline', '!reverse': true}); so.modalonly = true; + so = ss.taboption('field_override', form.DynamicList, 'override_expr', _('Programmable replacement'), + _('For format see %s.') + .format('https://wiki.metacubex.one/config/proxy-providers/#override_expr', _('override.override-expr'))); + so.placeholder = '.name = "[provider1] " + .name'; + so.depends({type: 'inline', '!reverse': true}); + so.modalonly = true; + so = ss.taboption('field_override', form.DummyValue, '_config_items', null); so.load = function() { return '%s' @@ -1938,6 +2008,12 @@ return view.extend({ so.depends({type: 'inline', '!reverse': true}); so.modalonly = true; + so = ss.taboption('field_override', form.Value, 'override_name_cert_verify', _('Override cert DNSName'), + _('Used to verify the hostname on the returned certificates.')); + so.datatype = 'hostname'; + so.depends({type: 'inline', '!reverse': true}); + so.modalonly = true; + so = ss.taboption('field_override', form.ListValue, 'override_skip_cert_verify', _('Skip cert verify'), _('Donot verifying server certificate.') + '
' + diff --git a/luci-app-fchomo/po/templates/fchomo.pot b/luci-app-fchomo/po/templates/fchomo.pot index 6a6f48e5..a6507c55 100644 --- a/luci-app-fchomo/po/templates/fchomo.pot +++ b/luci-app-fchomo/po/templates/fchomo.pot @@ -5,30 +5,30 @@ msgstr "Content-Type: text/plain; charset=UTF-8" msgid "%s log" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:251 -#: htdocs/luci-static/resources/fchomo.js:252 #: htdocs/luci-static/resources/fchomo.js:253 #: htdocs/luci-static/resources/fchomo.js:254 #: htdocs/luci-static/resources/fchomo.js:255 #: htdocs/luci-static/resources/fchomo.js:256 +#: htdocs/luci-static/resources/fchomo.js:257 +#: htdocs/luci-static/resources/fchomo.js:258 msgid "%s ports" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:642 -#: htdocs/luci-static/resources/fchomo.js:645 +#: htdocs/luci-static/resources/fchomo.js:644 +#: htdocs/luci-static/resources/fchomo.js:647 #: htdocs/luci-static/resources/view/fchomo/client.js:318 msgid "(Imported)" msgstr "" -#: 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/fchomo/listeners.js:1109 +#: htdocs/luci-static/resources/fchomo/listeners.js:1117 +#: htdocs/luci-static/resources/fchomo/listeners.js:1126 #: 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: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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1247 +#: htdocs/luci-static/resources/view/fchomo/node.js:1253 +#: htdocs/luci-static/resources/view/fchomo/node.js:1261 +#: htdocs/luci-static/resources/view/fchomo/node.js:1267 msgid "(mTLS)" msgstr "" @@ -45,7 +45,7 @@ msgstr "" msgid "-- PROXY-NODE --" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:832 +#: htdocs/luci-static/resources/fchomo.js:834 #: 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 @@ -54,11 +54,11 @@ msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1101 #: 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:2093 -#: htdocs/luci-static/resources/view/fchomo/node.js:2112 -#: htdocs/luci-static/resources/view/fchomo/node.js:2123 +#: htdocs/luci-static/resources/view/fchomo/node.js:288 +#: htdocs/luci-static/resources/view/fchomo/node.js:2161 +#: htdocs/luci-static/resources/view/fchomo/node.js:2172 +#: htdocs/luci-static/resources/view/fchomo/node.js:2191 +#: htdocs/luci-static/resources/view/fchomo/node.js:2202 msgid "-- Please choose --" msgstr "" @@ -70,16 +70,16 @@ msgstr "" msgid "-- RULE-SET --" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:833 +#: htdocs/luci-static/resources/fchomo.js:835 msgid "-- custom --" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:404 +#: htdocs/luci-static/resources/fchomo.js:406 msgid "0-RTT reuse." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:401 -#: htdocs/luci-static/resources/fchomo.js:405 +#: htdocs/luci-static/resources/fchomo.js:403 +#: htdocs/luci-static/resources/fchomo.js:407 msgid "1-RTT only." msgstr "" @@ -87,15 +87,15 @@ msgstr "" msgid "163Music" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:351 +#: htdocs/luci-static/resources/fchomo.js:353 msgid "2022-blake3-aes-128-gcm" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:352 +#: htdocs/luci-static/resources/fchomo.js:354 msgid "2022-blake3-aes-256-gcm" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:353 +#: htdocs/luci-static/resources/fchomo.js:355 msgid "2022-blake3-chacha20-poly1305" msgstr "" @@ -103,16 +103,16 @@ msgstr "" msgid "0 or 1 only." msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1087 +#: htdocs/luci-static/resources/fchomo/listeners.js:1102 +#: htdocs/luci-static/resources/fchomo/listeners.js:1127 +#: htdocs/luci-static/resources/view/fchomo/node.js:1254 +#: htdocs/luci-static/resources/view/fchomo/node.js:1268 msgid "Save your configuration before uploading files!" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:286 -#: htdocs/luci-static/resources/view/fchomo/node.js:435 +#: htdocs/luci-static/resources/fchomo/listeners.js:207 +#: htdocs/luci-static/resources/view/fchomo/node.js:370 msgid "" "A base64 string is used to fine-tune network behavior.
Please refer to " "the document" msgstr "" @@ -427,14 +427,14 @@ msgstr "" msgid "Bypass DSCP" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:438 -#: 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: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 +#: htdocs/luci-static/resources/fchomo/listeners.js:359 +#: htdocs/luci-static/resources/fchomo/listeners.js:360 +#: htdocs/luci-static/resources/fchomo/listeners.js:361 +#: htdocs/luci-static/resources/fchomo/listeners.js:362 +#: htdocs/luci-static/resources/view/fchomo/node.js:448 +#: htdocs/luci-static/resources/view/fchomo/node.js:449 +#: htdocs/luci-static/resources/view/fchomo/node.js:450 +#: htdocs/luci-static/resources/view/fchomo/node.js:451 msgid "CDN support" msgstr "" @@ -450,21 +450,21 @@ msgstr "" msgid "CORS allowed origins, * will be used if empty." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:758 +#: htdocs/luci-static/resources/fchomo.js:760 msgid "Cancel" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1178 +#: htdocs/luci-static/resources/view/fchomo/node.js:1220 msgid "Cert fingerprint" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1179 +#: htdocs/luci-static/resources/view/fchomo/node.js:1221 msgid "" "Certificate fingerprint. Used to implement SSL Pinning and prevent MitM." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1000 -#: htdocs/luci-static/resources/view/fchomo/node.js:1199 +#: htdocs/luci-static/resources/fchomo/listeners.js:1079 +#: htdocs/luci-static/resources/view/fchomo/node.js:1247 msgid "Certificate path" msgstr "" @@ -499,16 +499,16 @@ msgstr "" msgid "China list version" 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:388 -#: htdocs/luci-static/resources/view/fchomo/node.js:447 -#: htdocs/luci-static/resources/view/fchomo/node.js:712 +#: htdocs/luci-static/resources/fchomo/listeners.js:176 +#: htdocs/luci-static/resources/fchomo/listeners.js:275 +#: htdocs/luci-static/resources/view/fchomo/node.js:323 +#: htdocs/luci-static/resources/view/fchomo/node.js:382 +#: htdocs/luci-static/resources/view/fchomo/node.js:533 msgid "Chipher" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:363 -#: htdocs/luci-static/resources/view/fchomo/node.js:456 +#: htdocs/luci-static/resources/fchomo/listeners.js:284 +#: htdocs/luci-static/resources/view/fchomo/node.js:391 msgid "Chipher must be enabled if obfuscate downlink is disabled." msgstr "" @@ -522,29 +522,29 @@ msgid "" "to download the latest initial package." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:759 -#: htdocs/luci-static/resources/fchomo/listeners.js:1039 +#: htdocs/luci-static/resources/fchomo/listeners.js:819 +#: htdocs/luci-static/resources/fchomo/listeners.js:1118 #: htdocs/luci-static/resources/view/fchomo/global.js:571 -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1076 +#: htdocs/luci-static/resources/view/fchomo/node.js:1248 +#: htdocs/luci-static/resources/view/fchomo/node.js:1262 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:22 msgid "Client" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1038 +#: htdocs/luci-static/resources/fchomo/listeners.js:1117 msgid "Client Auth Certificate path" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1030 +#: htdocs/luci-static/resources/fchomo/listeners.js:1109 msgid "Client Auth type" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1245 +#: htdocs/luci-static/resources/view/fchomo/node.js:1293 msgid "Client fingerprint" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:350 +#: htdocs/luci-static/resources/fchomo/listeners.js:271 msgid "Client key" msgstr "" @@ -556,21 +556,17 @@ msgstr "" msgid "Collecting data..." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:249 -#: htdocs/luci-static/resources/fchomo.js:250 +#: htdocs/luci-static/resources/fchomo.js:251 +#: htdocs/luci-static/resources/fchomo.js:252 msgid "Common ports (bypass P2P traffic)" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1743 +#: htdocs/luci-static/resources/fchomo.js:1745 msgid "Complete" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1898 -msgid "Other configuration items" -msgstr "" - -#: htdocs/luci-static/resources/fchomo/listeners.js:653 -#: htdocs/luci-static/resources/view/fchomo/node.js:955 +#: htdocs/luci-static/resources/fchomo/listeners.js:601 +#: htdocs/luci-static/resources/view/fchomo/node.js:915 msgid "Congestion controller" msgstr "" @@ -578,7 +574,7 @@ msgstr "" msgid "Connection check" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:572 +#: htdocs/luci-static/resources/view/fchomo/node.js:507 msgid "Connection reuse" msgstr "" @@ -586,19 +582,19 @@ msgstr "" msgid "Conservative" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:627 +#: htdocs/luci-static/resources/fchomo.js:629 msgid "Content copied to clipboard!" msgstr "" #: 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/node.js:1804 +#: htdocs/luci-static/resources/view/fchomo/node.js:1830 #: 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:1737 +#: htdocs/luci-static/resources/view/fchomo/node.js:1803 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:347 msgid "Contents" msgstr "" @@ -607,7 +603,7 @@ msgstr "" msgid "Contents have been saved." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:629 +#: htdocs/luci-static/resources/fchomo.js:631 msgid "Copy" msgstr "" @@ -623,7 +619,7 @@ msgstr "" msgid "Custom Direct List" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1869 +#: htdocs/luci-static/resources/view/fchomo/node.js:1935 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:420 msgid "Custom HTTP header." msgstr "" @@ -632,8 +628,8 @@ msgstr "" msgid "Custom Proxy List" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:378 -#: htdocs/luci-static/resources/view/fchomo/node.js:471 +#: htdocs/luci-static/resources/fchomo/listeners.js:299 +#: htdocs/luci-static/resources/view/fchomo/node.js:406 msgid "Custom byte layout" msgstr "" @@ -642,7 +638,7 @@ msgid "" "Custom internal hosts. Support yaml or json format." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:189 +#: htdocs/luci-static/resources/fchomo.js:190 msgid "DIRECT" msgstr "" @@ -659,8 +655,8 @@ msgstr "" #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:822 +#: htdocs/luci-static/resources/view/fchomo/node.js:889 msgid "DNS server" msgstr "" @@ -694,28 +690,32 @@ msgstr "" msgid "Default selected" msgstr "" +#: htdocs/luci-static/resources/fchomo/listeners.js:546 +msgid "Default version, Support %s." +msgstr "" + #: htdocs/luci-static/resources/view/fchomo/node.js:22 msgid "Derive from priv-key" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:857 +#: htdocs/luci-static/resources/view/fchomo/node.js:793 msgid "Destination addresses allowed to be forwarded via Wireguard." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2079 +#: htdocs/luci-static/resources/view/fchomo/node.js:2158 msgid "Destination provider" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2090 +#: htdocs/luci-static/resources/view/fchomo/node.js:2169 msgid "Destination proxy node" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:239 +#: htdocs/luci-static/resources/view/fchomo/node.js:243 msgid "Dial fields" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2102 -#: htdocs/luci-static/resources/view/fchomo/node.js:2132 +#: htdocs/luci-static/resources/view/fchomo/node.js:2181 +#: htdocs/luci-static/resources/view/fchomo/node.js:2211 msgid "Different chain head/tail" msgstr "" @@ -735,9 +735,9 @@ msgstr "" msgid "Direct MAC-s" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:194 +#: htdocs/luci-static/resources/fchomo/listeners.js:484 #: htdocs/luci-static/resources/view/fchomo/global.js:424 -#: htdocs/luci-static/resources/view/fchomo/node.js:343 +#: htdocs/luci-static/resources/view/fchomo/node.js:695 msgid "Disable" msgstr "" @@ -753,7 +753,7 @@ msgstr "" msgid "Disable ICMP Forwarding" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1121 +#: htdocs/luci-static/resources/view/fchomo/node.js:1161 msgid "Disable SNI" msgstr "" @@ -779,48 +779,48 @@ msgstr "" msgid "Domain" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1122 +#: htdocs/luci-static/resources/view/fchomo/node.js:1162 msgid "Donot send server name in ClientHello." msgstr "" #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1240 +#: htdocs/luci-static/resources/view/fchomo/node.js:2017 msgid "Donot verifying server certificate." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1254 -#: htdocs/luci-static/resources/view/fchomo/node.js:1539 +#: htdocs/luci-static/resources/fchomo/listeners.js:1337 +#: htdocs/luci-static/resources/view/fchomo/node.js:1591 msgid "Download bandwidth" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1255 -#: htdocs/luci-static/resources/view/fchomo/node.js:1540 +#: htdocs/luci-static/resources/fchomo/listeners.js:1338 +#: htdocs/luci-static/resources/view/fchomo/node.js:1592 msgid "Download bandwidth in Mbps." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1622 +#: htdocs/luci-static/resources/fchomo.js:1624 msgid "Download failed: %s" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1620 +#: htdocs/luci-static/resources/fchomo.js:1622 msgid "Download successful." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:174 +#: htdocs/luci-static/resources/fchomo.js:175 msgid "Dual stack" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1239 +#: htdocs/luci-static/resources/view/fchomo/node.js:1287 msgid "ECH HTTPS record query servername" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1096 -#: htdocs/luci-static/resources/view/fchomo/node.js:1233 +#: htdocs/luci-static/resources/fchomo/listeners.js:1175 +#: htdocs/luci-static/resources/view/fchomo/node.js:1281 msgid "ECH config" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1055 +#: htdocs/luci-static/resources/fchomo/listeners.js:1134 msgid "ECH key" msgstr "" @@ -836,11 +836,11 @@ msgstr "" msgid "ETag support" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1379 +#: htdocs/luci-static/resources/view/fchomo/node.js:1431 msgid "Early Data first packet length limit." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1385 +#: htdocs/luci-static/resources/view/fchomo/node.js:1437 msgid "Early Data header name" msgstr "" @@ -848,7 +848,7 @@ msgstr "" msgid "Edit inbound" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:214 +#: htdocs/luci-static/resources/view/fchomo/node.js:217 msgid "Edit outbound" msgstr "" @@ -856,12 +856,12 @@ msgstr "" msgid "Edit ruleset" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1735 +#: htdocs/luci-static/resources/view/fchomo/node.js:1801 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:345 msgid "Editer" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:395 +#: htdocs/luci-static/resources/fchomo.js:397 msgid "Eliminate encryption header characteristics" msgstr "" @@ -869,7 +869,7 @@ msgstr "" msgid "Empty fallback" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:133 +#: htdocs/luci-static/resources/fchomo/listeners.js:134 #: 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 @@ -879,23 +879,23 @@ msgstr "" #: 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: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/node.js:250 +#: htdocs/luci-static/resources/view/fchomo/node.js:1774 +#: htdocs/luci-static/resources/view/fchomo/node.js:2056 +#: htdocs/luci-static/resources/view/fchomo/node.js:2145 #: 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:621 +#: htdocs/luci-static/resources/view/fchomo/node.js:650 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:620 +#: htdocs/luci-static/resources/view/fchomo/node.js:649 msgid "Enable 0-RTT handshake" msgstr "" @@ -905,60 +905,60 @@ msgid "" "conversion for outbound connections" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1227 +#: htdocs/luci-static/resources/view/fchomo/node.js:1275 msgid "Enable ECH" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1242 -#: htdocs/luci-static/resources/view/fchomo/node.js:1527 +#: htdocs/luci-static/resources/fchomo/listeners.js:1325 +#: htdocs/luci-static/resources/view/fchomo/node.js:1579 msgid "Enable TCP Brutal" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1243 -#: htdocs/luci-static/resources/view/fchomo/node.js:1528 +#: htdocs/luci-static/resources/fchomo/listeners.js:1326 +#: htdocs/luci-static/resources/view/fchomo/node.js:1580 msgid "Enable TCP Brutal congestion control algorithm" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:615 +#: htdocs/luci-static/resources/view/fchomo/node.js:644 msgid "Enable fast open" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1516 +#: htdocs/luci-static/resources/view/fchomo/node.js:1568 msgid "Enable multiplexing only for TCP." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:424 -#: htdocs/luci-static/resources/view/fchomo/node.js:499 +#: htdocs/luci-static/resources/fchomo/listeners.js:345 +#: htdocs/luci-static/resources/view/fchomo/node.js:434 msgid "Enable obfuscate for downlink" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1237 -#: htdocs/luci-static/resources/view/fchomo/node.js:1510 +#: htdocs/luci-static/resources/fchomo/listeners.js:1320 +#: htdocs/luci-static/resources/view/fchomo/node.js:1562 msgid "Enable padding" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1521 +#: htdocs/luci-static/resources/view/fchomo/node.js:1573 msgid "Enable statistic" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:988 -#: htdocs/luci-static/resources/view/fchomo/node.js:1920 +#: htdocs/luci-static/resources/view/fchomo/node.js:954 +#: htdocs/luci-static/resources/view/fchomo/node.js:1993 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:350 +#: htdocs/luci-static/resources/fchomo/listeners.js:491 +#: htdocs/luci-static/resources/view/fchomo/node.js:702 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:722 +#: htdocs/luci-static/resources/fchomo/listeners.js:782 msgid "Encryption method" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:750 +#: htdocs/luci-static/resources/view/fchomo/node.js:836 msgid "Endpoint pubkic key" msgstr "" @@ -981,7 +981,7 @@ msgid "" "if empty." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2035 +#: htdocs/luci-static/resources/view/fchomo/node.js:2114 msgid "Exclude matched node types." msgstr "" @@ -992,7 +992,7 @@ msgid "" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1243 -#: htdocs/luci-static/resources/view/fchomo/node.js:2028 +#: htdocs/luci-static/resources/view/fchomo/node.js:2107 msgid "Exclude nodes that meet keywords or regexps." msgstr "" @@ -1001,73 +1001,73 @@ msgid "Expand/Collapse result" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1186 -#: htdocs/luci-static/resources/view/fchomo/node.js:2013 +#: htdocs/luci-static/resources/view/fchomo/node.js:2092 msgid "Expected HTTP code. 204 will be used if empty." msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1188 -#: htdocs/luci-static/resources/view/fchomo/node.js:2015 +#: htdocs/luci-static/resources/view/fchomo/node.js:2094 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: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:1849 -#: htdocs/luci-static/resources/fchomo.js:1859 -#: htdocs/luci-static/resources/fchomo.js:1871 -#: 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:454 +#: htdocs/luci-static/resources/fchomo.js:457 +#: htdocs/luci-static/resources/fchomo.js:460 +#: htdocs/luci-static/resources/fchomo.js:1762 +#: htdocs/luci-static/resources/fchomo.js:1770 +#: htdocs/luci-static/resources/fchomo.js:1778 +#: htdocs/luci-static/resources/fchomo.js:1801 +#: htdocs/luci-static/resources/fchomo.js:1804 +#: htdocs/luci-static/resources/fchomo.js:1811 +#: htdocs/luci-static/resources/fchomo.js:1827 +#: htdocs/luci-static/resources/fchomo.js:1836 +#: htdocs/luci-static/resources/fchomo.js:1848 +#: htdocs/luci-static/resources/fchomo.js:1851 +#: htdocs/luci-static/resources/fchomo.js:1861 +#: htdocs/luci-static/resources/fchomo.js:1873 +#: htdocs/luci-static/resources/fchomo.js:1876 +#: htdocs/luci-static/resources/fchomo.js:1886 +#: htdocs/luci-static/resources/fchomo.js:1896 #: 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:751 -#: htdocs/luci-static/resources/fchomo/listeners.js:782 -#: htdocs/luci-static/resources/fchomo/listeners.js:883 +#: htdocs/luci-static/resources/fchomo.js:1933 +#: htdocs/luci-static/resources/fchomo.js:1946 +#: htdocs/luci-static/resources/fchomo.js:1952 +#: htdocs/luci-static/resources/fchomo.js:1959 +#: htdocs/luci-static/resources/fchomo.js:1968 +#: htdocs/luci-static/resources/fchomo/listeners.js:284 +#: htdocs/luci-static/resources/fchomo/listeners.js:331 +#: htdocs/luci-static/resources/fchomo/listeners.js:811 +#: htdocs/luci-static/resources/fchomo/listeners.js:842 +#: htdocs/luci-static/resources/fchomo/listeners.js:943 #: htdocs/luci-static/resources/view/fchomo/client.js:71 #: 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: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/node.js:391 +#: htdocs/luci-static/resources/view/fchomo/node.js:427 +#: htdocs/luci-static/resources/view/fchomo/node.js:480 +#: htdocs/luci-static/resources/view/fchomo/node.js:482 +#: htdocs/luci-static/resources/view/fchomo/node.js:1099 +#: htdocs/luci-static/resources/view/fchomo/node.js:1226 +#: htdocs/luci-static/resources/view/fchomo/node.js:2181 +#: htdocs/luci-static/resources/view/fchomo/node.js:2211 #: 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/view/fchomo/node.js:274 -#: htdocs/luci-static/resources/view/fchomo/node.js:292 +#: htdocs/luci-static/resources/view/fchomo/node.js:278 +#: htdocs/luci-static/resources/view/fchomo/node.js:296 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:654 +#: htdocs/luci-static/resources/fchomo/listeners.js:1246 +#: htdocs/luci-static/resources/fchomo/listeners.js:1253 +#: htdocs/luci-static/resources/view/fchomo/node.js:985 +#: htdocs/luci-static/resources/view/fchomo/node.js:1346 +#: htdocs/luci-static/resources/view/fchomo/node.js:1353 +#: htdocs/luci-static/resources/view/fchomo/node.js:1361 msgid "Expecting: only support %s." msgstr "" @@ -1087,24 +1087,24 @@ msgstr "" msgid "Factor" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1701 +#: htdocs/luci-static/resources/fchomo.js:1703 msgid "Failed to execute \"/etc/init.d/fchomo %s %s\" reason: %s" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1654 +#: htdocs/luci-static/resources/fchomo.js:1656 msgid "Failed to generate %s, error: %s." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:2066 +#: htdocs/luci-static/resources/fchomo.js:2068 msgid "Failed to upload %s, error: %s." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:2085 +#: htdocs/luci-static/resources/fchomo.js:2087 msgid "Failed to upload, error: %s." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:242 -#: htdocs/luci-static/resources/fchomo/listeners.js:449 +#: htdocs/luci-static/resources/fchomo.js:244 +#: htdocs/luci-static/resources/fchomo/listeners.js:370 msgid "Fallback" msgstr "" @@ -1120,7 +1120,7 @@ msgid "Fallback filter" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1238 -#: htdocs/luci-static/resources/view/fchomo/node.js:2022 +#: htdocs/luci-static/resources/view/fchomo/node.js:2101 msgid "Filter nodes that meet keywords or regexps." msgstr "" @@ -1145,12 +1145,12 @@ msgstr "" msgid "Final DNS server (For poisoned domains)" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:137 +#: htdocs/luci-static/resources/fchomo/listeners.js:138 msgid "Firewall" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:535 -#: htdocs/luci-static/resources/view/fchomo/node.js:698 +#: htdocs/luci-static/resources/fchomo/listeners.js:401 +#: htdocs/luci-static/resources/view/fchomo/node.js:519 msgid "Flow" msgstr "" @@ -1161,15 +1161,16 @@ msgid "" msgstr "" #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1954 +#: htdocs/luci-static/resources/view/fchomo/node.js:1962 +#: htdocs/luci-static/resources/view/fchomo/node.js:2093 msgid "" "For format see
%s." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:798 -#: htdocs/luci-static/resources/view/fchomo/node.js:881 +#: htdocs/luci-static/resources/view/fchomo/node.js:817 +#: htdocs/luci-static/resources/view/fchomo/node.js:884 msgid "Force DNS remote resolution." msgstr "" @@ -1181,6 +1182,10 @@ msgstr "" msgid "Format" msgstr "" +#: htdocs/luci-static/resources/fchomo/listeners.js:729 +msgid "Forwarding rate limit" +msgstr "" + #: htdocs/luci-static/resources/view/fchomo/global.js:138 #: htdocs/luci-static/resources/view/fchomo/log.js:140 #: htdocs/luci-static/resources/view/fchomo/log.js:145 @@ -1188,7 +1193,7 @@ msgstr "" msgid "FullCombo Shark!" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1334 +#: htdocs/luci-static/resources/view/fchomo/node.js:1386 msgid "GET" msgstr "" @@ -1196,8 +1201,8 @@ msgstr "" msgid "GFW list version" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:196 -#: htdocs/luci-static/resources/view/fchomo/node.js:345 +#: htdocs/luci-static/resources/fchomo/listeners.js:486 +#: htdocs/luci-static/resources/view/fchomo/node.js:697 msgid "Gecko" msgstr "" @@ -1207,8 +1212,8 @@ msgstr "" #: htdocs/luci-static/resources/fchomo/listeners.js:119 #: 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:1698 +#: htdocs/luci-static/resources/view/fchomo/node.js:236 +#: htdocs/luci-static/resources/view/fchomo/node.js:1764 msgid "General fields" msgstr "" @@ -1216,17 +1221,17 @@ msgstr "" msgid "General settings" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:578 #: htdocs/luci-static/resources/fchomo.js:580 -#: htdocs/luci-static/resources/fchomo.js:594 +#: htdocs/luci-static/resources/fchomo.js:582 #: htdocs/luci-static/resources/fchomo.js:596 -#: 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:855 -#: htdocs/luci-static/resources/fchomo/listeners.js:1088 +#: htdocs/luci-static/resources/fchomo.js:598 +#: htdocs/luci-static/resources/fchomo/listeners.js:262 +#: htdocs/luci-static/resources/fchomo/listeners.js:306 +#: htdocs/luci-static/resources/fchomo/listeners.js:308 +#: htdocs/luci-static/resources/fchomo/listeners.js:915 +#: htdocs/luci-static/resources/fchomo/listeners.js:1167 #: htdocs/luci-static/resources/view/fchomo/global.js:608 -#: htdocs/luci-static/resources/view/fchomo/node.js:1856 +#: htdocs/luci-static/resources/view/fchomo/node.js:1922 msgid "Generate" msgstr "" @@ -1273,7 +1278,7 @@ msgstr "" msgid "Global Authentication" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:722 +#: htdocs/luci-static/resources/view/fchomo/node.js:543 msgid "Global padding" msgstr "" @@ -1281,7 +1286,7 @@ msgstr "" msgid "Google" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:254 +#: htdocs/luci-static/resources/fchomo.js:256 msgid "Google FCM" msgstr "" @@ -1294,49 +1299,49 @@ msgid "Group" msgstr "" #: htdocs/luci-static/resources/fchomo.js:154 -#: htdocs/luci-static/resources/fchomo.js:190 -#: 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:1294 -#: htdocs/luci-static/resources/view/fchomo/node.js:1301 +#: htdocs/luci-static/resources/fchomo.js:191 +#: htdocs/luci-static/resources/fchomo/listeners.js:665 +#: htdocs/luci-static/resources/view/fchomo/node.js:996 +#: htdocs/luci-static/resources/view/fchomo/node.js:1333 +#: htdocs/luci-static/resources/view/fchomo/node.js:1346 +#: htdocs/luci-static/resources/view/fchomo/node.js:1353 msgid "HTTP" msgstr "" -#: 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/node.js:316 +#: htdocs/luci-static/resources/view/fchomo/node.js:1408 +#: htdocs/luci-static/resources/view/fchomo/node.js:1934 #: 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:505 +#: htdocs/luci-static/resources/fchomo/listeners.js:351 +#: htdocs/luci-static/resources/view/fchomo/node.js:440 msgid "HTTP mask" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:435 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:356 +#: htdocs/luci-static/resources/view/fchomo/node.js:445 +#: htdocs/luci-static/resources/view/fchomo/node.js:480 +#: htdocs/luci-static/resources/view/fchomo/node.js:482 msgid "HTTP mask mode" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:535 +#: htdocs/luci-static/resources/view/fchomo/node.js:470 msgid "HTTP mask multiplex" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:520 -#: htdocs/luci-static/resources/view/fchomo/node.js:525 +#: htdocs/luci-static/resources/view/fchomo/node.js:455 +#: htdocs/luci-static/resources/view/fchomo/node.js:460 msgid "HTTP mask: %s" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1333 +#: htdocs/luci-static/resources/view/fchomo/node.js:1385 msgid "HTTP request method" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:445 -#: htdocs/luci-static/resources/view/fchomo/node.js:531 +#: htdocs/luci-static/resources/fchomo/listeners.js:366 +#: htdocs/luci-static/resources/view/fchomo/node.js:466 msgid "HTTP root path" msgstr "" @@ -1344,15 +1349,15 @@ msgstr "" msgid "HTTP/3" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:219 +#: htdocs/luci-static/resources/fchomo/listeners.js:509 msgid "" "HTTP3 server behavior when authentication fails.
A 404 page will be " "returned if empty." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1284 -#: htdocs/luci-static/resources/view/fchomo/node.js:1295 -#: htdocs/luci-static/resources/view/fchomo/node.js:1302 +#: htdocs/luci-static/resources/view/fchomo/node.js:1334 +#: htdocs/luci-static/resources/view/fchomo/node.js:1347 +#: htdocs/luci-static/resources/view/fchomo/node.js:1354 msgid "HTTPUpgrade" msgstr "" @@ -1360,53 +1365,58 @@ msgstr "" msgid "Handle domain" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:427 +#: htdocs/luci-static/resources/view/fchomo/node.js:362 msgid "Handshake mode" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:594 +#: htdocs/luci-static/resources/fchomo/listeners.js:712 +msgid "Handshake target proxy" +msgstr "" + +#: htdocs/luci-static/resources/fchomo/listeners.js:677 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:973 +#: htdocs/luci-static/resources/fchomo/listeners.js:338 +#: htdocs/luci-static/resources/view/fchomo/node.js:939 msgid "Handshake timeout" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:244 +#: htdocs/luci-static/resources/fchomo/listeners.js:534 msgid "Header to read real client IP from (e.g. X-Forwarded-For)" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:809 +#: htdocs/luci-static/resources/view/fchomo/node.js:720 msgid "Health check" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1156 -#: htdocs/luci-static/resources/view/fchomo/node.js:1982 +#: htdocs/luci-static/resources/view/fchomo/node.js:2061 msgid "Health check URL" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1185 -#: htdocs/luci-static/resources/view/fchomo/node.js:2012 +#: htdocs/luci-static/resources/view/fchomo/node.js:2091 msgid "Health check expected status" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1165 -#: htdocs/luci-static/resources/view/fchomo/node.js:1992 +#: htdocs/luci-static/resources/view/fchomo/node.js:2071 msgid "Health check interval" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1172 -#: htdocs/luci-static/resources/view/fchomo/node.js:1999 +#: htdocs/luci-static/resources/view/fchomo/node.js:2078 msgid "Health check timeout" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1044 -#: htdocs/luci-static/resources/view/fchomo/node.js:1700 +#: htdocs/luci-static/resources/view/fchomo/node.js:1766 msgid "Health fields" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:627 +#: htdocs/luci-static/resources/view/fchomo/node.js:656 +#: htdocs/luci-static/resources/view/fchomo/node.js:748 msgid "Heartbeat interval" msgstr "" @@ -1414,30 +1424,37 @@ msgstr "" msgid "Hidden" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:587 -#: htdocs/luci-static/resources/view/fchomo/node.js:921 +#: htdocs/luci-static/resources/fchomo/listeners.js:670 +#: htdocs/luci-static/resources/view/fchomo/node.js:1001 msgid "Host that supports TLS 1.3" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:382 +#: htdocs/luci-static/resources/view/fchomo/node.js:909 msgid "Host-key" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:377 +#: htdocs/luci-static/resources/view/fchomo/node.js:904 msgid "Host-key algorithms" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:525 +#: htdocs/luci-static/resources/view/fchomo/node.js:460 msgid "Host/SNI override" msgstr "" +#: htdocs/luci-static/resources/fchomo/listeners.js:1030 +#: htdocs/luci-static/resources/view/fchomo/node.js:1168 +msgid "" +"Hostname that the client attempts to connect to at the start of the TLS " +"handshake process." +msgstr "" + #: htdocs/luci-static/resources/view/fchomo/hosts.js:27 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:30 msgid "Hosts" msgstr "" #: htdocs/luci-static/resources/fchomo.js:166 -#: htdocs/luci-static/resources/fchomo.js:202 +#: htdocs/luci-static/resources/fchomo.js:204 msgid "Hysteria2" msgstr "" @@ -1445,8 +1462,8 @@ msgstr "" msgid "Hysteria2 Realm Server" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:121 -#: htdocs/luci-static/resources/view/fchomo/node.js:235 +#: htdocs/luci-static/resources/fchomo/listeners.js:122 +#: htdocs/luci-static/resources/view/fchomo/node.js:239 msgid "Hysteria2 Realm fields" msgstr "" @@ -1459,20 +1476,20 @@ msgstr "" msgid "IP CIDR" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:584 +#: htdocs/luci-static/resources/view/fchomo/node.js:613 msgid "IP override" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1576 -#: htdocs/luci-static/resources/view/fchomo/node.js:1968 +#: htdocs/luci-static/resources/view/fchomo/node.js:1628 +#: htdocs/luci-static/resources/view/fchomo/node.js:2047 msgid "IP version" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:175 +#: htdocs/luci-static/resources/fchomo.js:176 msgid "IPv4 only" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:176 +#: htdocs/luci-static/resources/fchomo.js:177 msgid "IPv6 only" msgstr "" @@ -1485,19 +1502,19 @@ msgstr "" msgid "Icon" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:671 +#: htdocs/luci-static/resources/view/fchomo/node.js:586 msgid "Idle session check interval" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:678 +#: htdocs/luci-static/resources/view/fchomo/node.js:593 msgid "Idle session timeout" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:486 +#: htdocs/luci-static/resources/fchomo/listeners.js:618 msgid "Idle timeout" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1802 +#: htdocs/luci-static/resources/fchomo.js:1804 msgid "If All ports is selected, uncheck others" msgstr "" @@ -1505,11 +1522,11 @@ msgstr "" msgid "If Block is selected, uncheck others" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:187 +#: htdocs/luci-static/resources/fchomo/listeners.js:477 msgid "Ignore client bandwidth" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:763 +#: htdocs/luci-static/resources/fchomo.js:765 msgid "Import" msgstr "" @@ -1525,8 +1542,8 @@ msgstr "" #: 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/node.js:1654 +#: htdocs/luci-static/resources/view/fchomo/node.js:1752 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:154 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:249 msgid "Import mihomo config" @@ -1538,41 +1555,46 @@ msgstr "" msgid "Import rule-set links" 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: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 +#: htdocs/luci-static/resources/fchomo/listeners.js:466 +#: htdocs/luci-static/resources/fchomo/listeners.js:472 +#: htdocs/luci-static/resources/view/fchomo/node.js:683 +#: htdocs/luci-static/resources/view/fchomo/node.js:689 +#: htdocs/luci-static/resources/view/fchomo/node.js:1999 +#: htdocs/luci-static/resources/view/fchomo/node.js:2005 msgid "In Mbps." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1776 +#: htdocs/luci-static/resources/fchomo/listeners.js:730 +msgid "In bps. 0 means no speed limit." +msgstr "" + +#: htdocs/luci-static/resources/view/fchomo/node.js:1842 #: 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:628 -#: htdocs/luci-static/resources/view/fchomo/node.js:635 +#: htdocs/luci-static/resources/view/fchomo/node.js:657 +#: htdocs/luci-static/resources/view/fchomo/node.js:664 +#: htdocs/luci-static/resources/view/fchomo/node.js:749 msgid "In millisecond." msgstr "" #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:2079 msgid "In millisecond. %s will be used if empty." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1425 +#: htdocs/luci-static/resources/view/fchomo/node.js:1477 msgid "In milliseconds." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:418 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:339 +#: htdocs/luci-static/resources/fchomo/listeners.js:458 +#: htdocs/luci-static/resources/fchomo/listeners.js:619 +#: htdocs/luci-static/resources/view/fchomo/node.js:587 +#: htdocs/luci-static/resources/view/fchomo/node.js:594 +#: htdocs/luci-static/resources/view/fchomo/node.js:1424 msgid "In seconds." msgstr "" @@ -1580,21 +1602,21 @@ msgstr "" #: 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: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/node.js:677 +#: htdocs/luci-static/resources/view/fchomo/node.js:1848 +#: htdocs/luci-static/resources/view/fchomo/node.js:2072 #: 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:974 +#: htdocs/luci-static/resources/view/fchomo/node.js:940 msgid "" "In seconds. After configuration, the handshake is not affected by the outer " "connection timeout." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:771 -#: htdocs/luci-static/resources/view/fchomo/node.js:1048 +#: htdocs/luci-static/resources/fchomo/listeners.js:831 +#: htdocs/luci-static/resources/view/fchomo/node.js:1088 msgid "" "In the order of one Padding-Length and one Padding-" "Interval, infinite concatenation." @@ -1634,7 +1656,7 @@ msgstr "" msgid "Info" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1715 +#: htdocs/luci-static/resources/view/fchomo/node.js:1781 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:288 msgid "Inline" msgstr "" @@ -1645,46 +1667,46 @@ msgstr "" #: htdocs/luci-static/resources/fchomo.js:53 #: 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:1942 +#: htdocs/luci-static/resources/fchomo.js:174 +#: htdocs/luci-static/resources/fchomo.js:379 +#: htdocs/luci-static/resources/view/fchomo/node.js:2021 msgid "Keep default" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1461 +#: htdocs/luci-static/resources/view/fchomo/node.js:1513 msgid "Keep-alive period" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:296 -#: htdocs/luci-static/resources/view/fchomo/node.js:441 +#: htdocs/luci-static/resources/fchomo/listeners.js:217 +#: htdocs/luci-static/resources/view/fchomo/node.js:376 msgid "Key" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1015 -#: htdocs/luci-static/resources/view/fchomo/node.js:1213 +#: htdocs/luci-static/resources/fchomo/listeners.js:1094 +#: htdocs/luci-static/resources/view/fchomo/node.js:1261 msgid "Key path" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:790 +#: htdocs/luci-static/resources/fchomo/listeners.js:850 msgid "Keypairs" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:128 +#: htdocs/luci-static/resources/fchomo/listeners.js:129 #: 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:1703 -#: htdocs/luci-static/resources/view/fchomo/node.js:2061 +#: htdocs/luci-static/resources/view/fchomo/node.js:245 +#: htdocs/luci-static/resources/view/fchomo/node.js:1769 +#: htdocs/luci-static/resources/view/fchomo/node.js:2140 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:267 msgid "Label" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1179 -#: htdocs/luci-static/resources/view/fchomo/node.js:2006 +#: htdocs/luci-static/resources/view/fchomo/node.js:2085 msgid "Lazy" msgstr "" @@ -1696,12 +1718,12 @@ msgstr "" msgid "Lazy query." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:437 -#: htdocs/luci-static/resources/view/fchomo/node.js:512 +#: htdocs/luci-static/resources/fchomo/listeners.js:358 +#: htdocs/luci-static/resources/view/fchomo/node.js:447 msgid "Legacy" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:544 +#: htdocs/luci-static/resources/fchomo/listeners.js:410 msgid "" "Legacy protocol support (VMess MD5 Authentication) is provided for " "compatibility purposes only, use of alterId > 1 is not recommended." @@ -1711,16 +1733,16 @@ msgstr "" msgid "Less compatibility and sometimes better performance." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:996 -#: htdocs/luci-static/resources/view/fchomo/node.js:1134 +#: htdocs/luci-static/resources/fchomo/listeners.js:1036 +#: htdocs/luci-static/resources/view/fchomo/node.js:1174 msgid "List of supported application level protocols, in order of preference." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:148 +#: htdocs/luci-static/resources/fchomo/listeners.js:149 msgid "Listen address" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:125 +#: htdocs/luci-static/resources/fchomo/listeners.js:126 msgid "Listen fields" msgstr "" @@ -1728,7 +1750,7 @@ msgstr "" msgid "Listen interfaces" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:153 +#: htdocs/luci-static/resources/fchomo/listeners.js:154 #: htdocs/luci-static/resources/view/fchomo/client.js:1459 msgid "Listen port" msgstr "" @@ -1741,22 +1763,22 @@ msgstr "" msgid "Listen routing mark (Fwmark)" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:244 +#: htdocs/luci-static/resources/fchomo.js:246 msgid "Load balance" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1713 +#: htdocs/luci-static/resources/view/fchomo/node.js:1779 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:286 msgid "Local" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:765 -#: htdocs/luci-static/resources/view/fchomo/node.js:828 +#: htdocs/luci-static/resources/view/fchomo/node.js:764 +#: htdocs/luci-static/resources/view/fchomo/node.js:851 msgid "Local IPv6 address" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:757 -#: htdocs/luci-static/resources/view/fchomo/node.js:820 +#: htdocs/luci-static/resources/view/fchomo/node.js:756 +#: htdocs/luci-static/resources/view/fchomo/node.js:843 msgid "Local address" msgstr "" @@ -1776,32 +1798,32 @@ msgstr "" msgid "Log level" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:372 -#: 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: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 +#: htdocs/luci-static/resources/fchomo/listeners.js:293 +#: htdocs/luci-static/resources/fchomo/listeners.js:294 +#: htdocs/luci-static/resources/fchomo/listeners.js:295 +#: htdocs/luci-static/resources/fchomo/listeners.js:300 +#: htdocs/luci-static/resources/view/fchomo/node.js:400 +#: htdocs/luci-static/resources/view/fchomo/node.js:401 +#: htdocs/luci-static/resources/view/fchomo/node.js:402 +#: htdocs/luci-static/resources/view/fchomo/node.js:407 msgid "Low-entropy data stream" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:452 +#: htdocs/luci-static/resources/fchomo.js:454 msgid "Lowercase only" msgstr "" #: htdocs/luci-static/resources/view/fchomo/global.js:523 -#: htdocs/luci-static/resources/view/fchomo/node.js:771 -#: htdocs/luci-static/resources/view/fchomo/node.js:874 +#: htdocs/luci-static/resources/view/fchomo/node.js:810 +#: htdocs/luci-static/resources/view/fchomo/node.js:857 msgid "MTU" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:204 +#: htdocs/luci-static/resources/fchomo.js:208 msgid "Masque" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:218 +#: htdocs/luci-static/resources/fchomo/listeners.js:508 msgid "Masquerade" msgstr "" @@ -1833,24 +1855,24 @@ msgstr "" msgid "Match rule set." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1378 +#: htdocs/luci-static/resources/view/fchomo/node.js:1430 msgid "Max Early Data" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:480 -#: htdocs/luci-static/resources/view/fchomo/node.js:609 +#: htdocs/luci-static/resources/fchomo/listeners.js:451 +#: htdocs/luci-static/resources/view/fchomo/node.js:638 msgid "Max UDP relay packet size" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1214 +#: htdocs/luci-static/resources/fchomo/listeners.js:1297 msgid "Max buffered posts" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1436 +#: htdocs/luci-static/resources/view/fchomo/node.js:1488 msgid "Max concurrency" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1441 +#: htdocs/luci-static/resources/view/fchomo/node.js:1493 msgid "Max connections" msgstr "" @@ -1858,74 +1880,74 @@ msgstr "" msgid "Max count of failures" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:181 -#: htdocs/luci-static/resources/view/fchomo/node.js:336 +#: htdocs/luci-static/resources/fchomo/listeners.js:471 +#: htdocs/luci-static/resources/view/fchomo/node.js:688 msgid "Max download speed" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1225 -#: htdocs/luci-static/resources/view/fchomo/node.js:1418 +#: htdocs/luci-static/resources/fchomo/listeners.js:1308 +#: htdocs/luci-static/resources/view/fchomo/node.js:1470 msgid "Max each POST bytes" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:641 +#: htdocs/luci-static/resources/view/fchomo/node.js:933 msgid "Max open streams" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:231 +#: htdocs/luci-static/resources/fchomo/listeners.js:521 msgid "Max realms" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:237 +#: htdocs/luci-static/resources/fchomo/listeners.js:527 msgid "Max realms per client IP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1451 +#: htdocs/luci-static/resources/view/fchomo/node.js:1503 msgid "Max request times" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1456 +#: htdocs/luci-static/resources/view/fchomo/node.js:1508 msgid "Max reusable seconds" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1446 +#: htdocs/luci-static/resources/view/fchomo/node.js:1498 msgid "Max reuse times" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:175 -#: htdocs/luci-static/resources/view/fchomo/node.js:330 +#: htdocs/luci-static/resources/fchomo/listeners.js:465 +#: htdocs/luci-static/resources/view/fchomo/node.js:682 msgid "Max upload speed" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1482 -#: htdocs/luci-static/resources/view/fchomo/node.js:1502 +#: htdocs/luci-static/resources/view/fchomo/node.js:1534 +#: htdocs/luci-static/resources/view/fchomo/node.js:1554 msgid "Maximum connections" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1500 +#: htdocs/luci-static/resources/view/fchomo/node.js:1552 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:484 +#: htdocs/luci-static/resources/fchomo/listeners.js:323 +#: htdocs/luci-static/resources/view/fchomo/node.js:419 msgid "Maximum padding rate" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:410 -#: htdocs/luci-static/resources/view/fchomo/node.js:492 +#: htdocs/luci-static/resources/fchomo/listeners.js:331 +#: htdocs/luci-static/resources/view/fchomo/node.js:427 msgid "" "Maximum padding rate must be greater than or equal to the minimum padding " "rate." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1499 +#: htdocs/luci-static/resources/view/fchomo/node.js:1551 msgid "Maximum streams" msgstr "" #: htdocs/luci-static/resources/fchomo.js:158 -#: htdocs/luci-static/resources/fchomo.js:194 +#: htdocs/luci-static/resources/fchomo.js:195 msgid "Mieru" msgstr "" @@ -1941,26 +1963,26 @@ msgstr "" msgid "Mihomo server" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:685 +#: htdocs/luci-static/resources/view/fchomo/node.js:600 msgid "Min of idle sessions to keep" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1424 +#: htdocs/luci-static/resources/view/fchomo/node.js:1476 msgid "Min posts interval" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1491 +#: htdocs/luci-static/resources/view/fchomo/node.js:1543 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:477 +#: htdocs/luci-static/resources/fchomo/listeners.js:316 +#: htdocs/luci-static/resources/view/fchomo/node.js:412 msgid "Minimum padding rate" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1490 -#: htdocs/luci-static/resources/view/fchomo/node.js:1502 +#: htdocs/luci-static/resources/view/fchomo/node.js:1542 +#: htdocs/luci-static/resources/view/fchomo/node.js:1554 msgid "Minimum streams" msgstr "" @@ -1977,17 +1999,17 @@ msgstr "" msgid "Mixed port" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1232 -#: htdocs/luci-static/resources/view/fchomo/node.js:1468 +#: htdocs/luci-static/resources/fchomo/listeners.js:1315 +#: htdocs/luci-static/resources/view/fchomo/node.js:1520 msgid "Multiplex" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:124 -#: htdocs/luci-static/resources/view/fchomo/node.js:238 +#: htdocs/luci-static/resources/fchomo/listeners.js:125 +#: htdocs/luci-static/resources/view/fchomo/node.js:242 msgid "Multiplex fields" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:418 +#: htdocs/luci-static/resources/view/fchomo/node.js:353 msgid "Multiplexing" msgstr "" @@ -1996,11 +2018,11 @@ msgstr "" msgid "NOT" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:639 +#: htdocs/luci-static/resources/fchomo/listeners.js:586 msgid "Name of the Proxy group as outbound." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1788 +#: htdocs/luci-static/resources/view/fchomo/node.js:1854 msgid "Name of the Proxy group to download provider." msgstr "" @@ -2008,27 +2030,27 @@ msgstr "" msgid "Name of the Proxy group to download rule set." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:628 +#: htdocs/luci-static/resources/fchomo/listeners.js:574 msgid "Name of the Sub rule used for inbound matching." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:593 +#: htdocs/luci-static/resources/view/fchomo/node.js:622 msgid "Native UDP" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:394 +#: htdocs/luci-static/resources/fchomo.js:396 msgid "Native appearance" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:777 +#: htdocs/luci-static/resources/view/fchomo/node.js:863 msgid "Network" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:670 +#: htdocs/luci-static/resources/fchomo/listeners.js:625 msgid "Network type" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1944 +#: htdocs/luci-static/resources/view/fchomo/node.js:2023 msgid "No" msgstr "" @@ -2036,7 +2058,7 @@ msgstr "" msgid "No Authentication IP ranges" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1209 +#: htdocs/luci-static/resources/fchomo/listeners.js:1292 msgid "No SSE header" msgstr "" @@ -2044,16 +2066,16 @@ msgstr "" msgid "No add'l params" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1408 +#: htdocs/luci-static/resources/view/fchomo/node.js:1460 msgid "No gRPC header" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1180 -#: htdocs/luci-static/resources/view/fchomo/node.js:2007 +#: htdocs/luci-static/resources/view/fchomo/node.js:2086 msgid "No testing is performed when this provider node is not in use." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:724 +#: htdocs/luci-static/resources/fchomo.js:726 msgid "No valid %s found." msgstr "" @@ -2062,22 +2084,22 @@ msgid "No valid rule-set link found." msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1080 -#: htdocs/luci-static/resources/view/fchomo/node.js:228 +#: htdocs/luci-static/resources/view/fchomo/node.js:231 msgid "Node" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1242 -#: htdocs/luci-static/resources/view/fchomo/node.js:2027 +#: htdocs/luci-static/resources/view/fchomo/node.js:2106 msgid "Node exclude filter" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1247 -#: htdocs/luci-static/resources/view/fchomo/node.js:2034 +#: htdocs/luci-static/resources/view/fchomo/node.js:2113 msgid "Node exclude type" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1237 -#: htdocs/luci-static/resources/view/fchomo/node.js:2021 +#: htdocs/luci-static/resources/view/fchomo/node.js:2100 msgid "Node filter" msgstr "" @@ -2085,7 +2107,7 @@ msgstr "" msgid "Node switch tolerance" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:421 +#: htdocs/luci-static/resources/fchomo.js:423 msgid "None" msgstr "" @@ -2093,49 +2115,49 @@ msgstr "" msgid "Not Installed" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1580 +#: htdocs/luci-static/resources/fchomo.js:1582 msgid "Not Running" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:538 +#: htdocs/luci-static/resources/view/fchomo/node.js:473 msgid "OFF" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:540 +#: htdocs/luci-static/resources/view/fchomo/node.js:475 msgid "ON" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:581 -#: htdocs/luci-static/resources/view/fchomo/node.js:915 +#: htdocs/luci-static/resources/fchomo/listeners.js:664 +#: htdocs/luci-static/resources/view/fchomo/node.js:995 msgid "Obfs Mode" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:213 -#: htdocs/luci-static/resources/view/fchomo/node.js:362 +#: htdocs/luci-static/resources/fchomo/listeners.js:503 +#: htdocs/luci-static/resources/view/fchomo/node.js:714 msgid "Obfuscate maximum packet size" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:208 -#: htdocs/luci-static/resources/view/fchomo/node.js:357 +#: htdocs/luci-static/resources/fchomo/listeners.js:498 +#: htdocs/luci-static/resources/view/fchomo/node.js:709 msgid "Obfuscate minimum packet size" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:200 -#: htdocs/luci-static/resources/view/fchomo/node.js:349 +#: htdocs/luci-static/resources/fchomo/listeners.js:490 +#: htdocs/luci-static/resources/view/fchomo/node.js:701 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:342 -#: htdocs/luci-static/resources/view/fchomo/node.js:463 +#: htdocs/luci-static/resources/fchomo/listeners.js:291 +#: htdocs/luci-static/resources/fchomo/listeners.js:483 +#: htdocs/luci-static/resources/view/fchomo/node.js:398 +#: htdocs/luci-static/resources/view/fchomo/node.js:694 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:464 -#: htdocs/luci-static/resources/view/fchomo/node.js:465 +#: htdocs/luci-static/resources/fchomo/listeners.js:292 +#: htdocs/luci-static/resources/fchomo/listeners.js:293 +#: htdocs/luci-static/resources/view/fchomo/node.js:399 +#: htdocs/luci-static/resources/view/fchomo/node.js:400 msgid "Obfuscated as %s" msgstr "" @@ -2143,12 +2165,12 @@ msgstr "" msgid "One or more numbers in the range 0-63 separated by commas" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:990 +#: htdocs/luci-static/resources/fchomo/listeners.js:1024 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:472 +#: htdocs/luci-static/resources/fchomo/listeners.js:300 +#: htdocs/luci-static/resources/view/fchomo/node.js:407 msgid "Only applies to the %s." msgstr "" @@ -2156,7 +2178,7 @@ msgstr "" msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1574 +#: htdocs/luci-static/resources/fchomo.js:1576 msgid "Open Dashboard" msgstr "" @@ -2168,21 +2190,30 @@ msgstr "" msgid "Option is deprecated. Please use %s instead." msgstr "" +#: htdocs/luci-static/resources/view/fchomo/node.js:1971 +msgid "Other configuration items" +msgstr "" + #: root/usr/share/luci/menu.d/luci-app-fchomo.json:46 msgid "Outbound" msgstr "" +#: htdocs/luci-static/resources/view/fchomo/node.js:1233 +#: htdocs/luci-static/resources/view/fchomo/node.js:2010 +msgid "Override cert DNSName" +msgstr "" + #: htdocs/luci-static/resources/view/fchomo/global.js:679 #: htdocs/luci-static/resources/view/fchomo/global.js:717 msgid "Override destination" msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1043 -#: htdocs/luci-static/resources/view/fchomo/node.js:1699 +#: htdocs/luci-static/resources/view/fchomo/node.js:1765 msgid "Override fields" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:585 +#: htdocs/luci-static/resources/view/fchomo/node.js:614 msgid "Override the IP address of the server that DNS response." msgstr "" @@ -2198,7 +2229,7 @@ msgstr "" msgid "Override the existing ECS in original request." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1240 +#: htdocs/luci-static/resources/view/fchomo/node.js:1288 msgid "Overrides the domain name used for HTTPS record queries." msgstr "" @@ -2206,37 +2237,37 @@ msgstr "" msgid "Overview" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1335 +#: htdocs/luci-static/resources/view/fchomo/node.js:1387 msgid "POST" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1336 +#: htdocs/luci-static/resources/view/fchomo/node.js:1388 msgid "PUT" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:734 +#: htdocs/luci-static/resources/view/fchomo/node.js:555 msgid "Packet encoding" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1413 +#: htdocs/luci-static/resources/view/fchomo/node.js:1465 msgid "Padding bytes" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:524 +#: htdocs/luci-static/resources/fchomo/listeners.js:440 msgid "Padding scheme" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:769 -#: htdocs/luci-static/resources/view/fchomo/node.js:1046 +#: htdocs/luci-static/resources/fchomo/listeners.js:829 +#: htdocs/luci-static/resources/view/fchomo/node.js:1086 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: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 +#: htdocs/luci-static/resources/fchomo/listeners.js:167 +#: htdocs/luci-static/resources/fchomo/listeners.js:184 +#: htdocs/luci-static/resources/fchomo/listeners.js:691 +#: htdocs/luci-static/resources/view/fchomo/node.js:310 +#: htdocs/luci-static/resources/view/fchomo/node.js:331 +#: htdocs/luci-static/resources/view/fchomo/node.js:1014 msgid "Password" msgstr "" @@ -2248,13 +2279,13 @@ msgstr "" msgid "Path in bundle: %s" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:709 -#: htdocs/luci-static/resources/view/fchomo/node.js:1763 +#: htdocs/luci-static/resources/fchomo/listeners.js:769 +#: htdocs/luci-static/resources/view/fchomo/node.js:1829 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:373 msgid "Payload" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:842 +#: htdocs/luci-static/resources/view/fchomo/node.js:778 msgid "Peer pubkic key" msgstr "" @@ -2264,11 +2295,11 @@ msgid "" "it is not needed." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:869 +#: htdocs/luci-static/resources/view/fchomo/node.js:805 msgid "Periodically sends data packets to maintain connection persistence." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:868 +#: htdocs/luci-static/resources/view/fchomo/node.js:804 msgid "Persistent keepalive" msgstr "" @@ -2289,8 +2320,8 @@ msgid "" "standards." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1736 -#: htdocs/luci-static/resources/view/fchomo/node.js:1762 +#: htdocs/luci-static/resources/view/fchomo/node.js:1802 +#: htdocs/luci-static/resources/view/fchomo/node.js:1828 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:346 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:372 msgid "" @@ -2304,44 +2335,39 @@ msgstr "" #: 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/node.js:1655 #: 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:560 -#: htdocs/luci-static/resources/view/fchomo/node.js:892 +#: htdocs/luci-static/resources/fchomo/listeners.js:638 +#: htdocs/luci-static/resources/view/fchomo/node.js:967 msgid "Plugin" msgstr "" -#: 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:" +#: htdocs/luci-static/resources/fchomo/listeners.js:120 +#: htdocs/luci-static/resources/view/fchomo/node.js:237 +msgid "Plugin fields" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:261 +#: htdocs/luci-static/resources/fchomo/listeners.js:643 +#: htdocs/luci-static/resources/view/fchomo/node.js:972 +msgid "Plugin type" +msgstr "" + +#: htdocs/luci-static/resources/view/fchomo/node.js:265 msgid "Port" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1811 +#: htdocs/luci-static/resources/fchomo.js:1813 msgid "Port %s alrealy exists!" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:324 +#: htdocs/luci-static/resources/view/fchomo/node.js:676 msgid "Port hop interval" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:406 +#: htdocs/luci-static/resources/view/fchomo/node.js:341 msgid "Port range" msgstr "" @@ -2349,28 +2375,28 @@ msgstr "" msgid "Ports" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:153 -#: htdocs/luci-static/resources/view/fchomo/node.js:319 +#: htdocs/luci-static/resources/fchomo/listeners.js:154 +#: htdocs/luci-static/resources/view/fchomo/node.js:671 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:555 -#: htdocs/luci-static/resources/view/fchomo/node.js:849 +#: htdocs/luci-static/resources/fchomo/listeners.js:377 +#: htdocs/luci-static/resources/fchomo/listeners.js:515 +#: htdocs/luci-static/resources/view/fchomo/node.js:490 +#: htdocs/luci-static/resources/view/fchomo/node.js:785 msgid "Pre-shared key" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:907 -#: htdocs/luci-static/resources/view/fchomo/node.js:1081 +#: htdocs/luci-static/resources/fchomo/listeners.js:967 +#: htdocs/luci-static/resources/view/fchomo/node.js:1121 msgid "Pre-shared key of rendezvous server" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:177 +#: htdocs/luci-static/resources/fchomo.js:178 msgid "Prefer IPv4" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:178 +#: htdocs/luci-static/resources/fchomo.js:179 msgid "Prefer IPv6" msgstr "" @@ -2381,53 +2407,62 @@ 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: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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1616 +#: htdocs/luci-static/resources/view/fchomo/node.js:1623 +#: htdocs/luci-static/resources/view/fchomo/node.js:2035 +#: htdocs/luci-static/resources/view/fchomo/node.js:2042 msgid "Priority: Proxy Node > Global." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:368 +#: htdocs/luci-static/resources/view/fchomo/node.js:895 msgid "Priv-key" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:372 +#: htdocs/luci-static/resources/view/fchomo/node.js:899 msgid "Priv-key passphrase" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:742 -#: htdocs/luci-static/resources/view/fchomo/node.js:834 +#: htdocs/luci-static/resources/view/fchomo/node.js:770 +#: htdocs/luci-static/resources/view/fchomo/node.js:828 msgid "Private key" msgstr "" +#: htdocs/luci-static/resources/fchomo/listeners.js:737 +msgid "" +"Probe the QUIC version of the handshake target during the first connection." +msgstr "" + #: htdocs/luci-static/resources/view/fchomo/global.js:421 msgid "Process matching mode" msgstr "" +#: htdocs/luci-static/resources/view/fchomo/node.js:1961 +msgid "Programmable replacement" +msgstr "" + #: htdocs/luci-static/resources/view/fchomo/global.js:708 -#: htdocs/luci-static/resources/view/fchomo/node.js:1474 +#: htdocs/luci-static/resources/view/fchomo/node.js:1526 msgid "Protocol" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:729 +#: htdocs/luci-static/resources/view/fchomo/node.js:550 msgid "Protocol parameter. Enable length block encryption." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:723 +#: htdocs/luci-static/resources/view/fchomo/node.js:544 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: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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1638 +#: htdocs/luci-static/resources/view/fchomo/node.js:1647 +#: htdocs/luci-static/resources/view/fchomo/node.js:2151 msgid "Provider" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1769 +#: htdocs/luci-static/resources/view/fchomo/node.js:1835 msgid "Provider URL" msgstr "" @@ -2449,20 +2484,20 @@ msgstr "" msgid "Proxy MAC-s" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:219 -#: htdocs/luci-static/resources/view/fchomo/node.js:2071 +#: htdocs/luci-static/resources/view/fchomo/node.js:222 +#: htdocs/luci-static/resources/view/fchomo/node.js:2150 msgid "Proxy Node" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2047 -#: htdocs/luci-static/resources/view/fchomo/node.js:2056 +#: htdocs/luci-static/resources/view/fchomo/node.js:2126 +#: htdocs/luci-static/resources/view/fchomo/node.js:2135 msgid "Proxy chain" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:638 +#: htdocs/luci-static/resources/fchomo/listeners.js:585 #: 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/node.js:1853 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:403 msgid "Proxy group" msgstr "" @@ -2479,60 +2514,74 @@ msgstr "" msgid "Proxy routerself" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:594 -#: htdocs/luci-static/resources/view/fchomo/node.js:814 +#: htdocs/luci-static/resources/view/fchomo/node.js:623 +#: htdocs/luci-static/resources/view/fchomo/node.js:725 msgid "QUIC" msgstr "" +#: htdocs/luci-static/resources/fchomo/listeners.js:552 +#: htdocs/luci-static/resources/view/fchomo/node.js:743 +msgid "QUIC based 0-RTT" +msgstr "" + +#: htdocs/luci-static/resources/fchomo/listeners.js:736 +msgid "QUIC version probe" +msgstr "" + +#: htdocs/luci-static/resources/fchomo/listeners.js:545 +#: htdocs/luci-static/resources/view/fchomo/node.js:731 +msgid "QUIC versions" +msgstr "" + #: 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:1103 -#: htdocs/luci-static/resources/view/fchomo/node.js:1254 +#: htdocs/luci-static/resources/fchomo/listeners.js:1182 +#: htdocs/luci-static/resources/view/fchomo/node.js:1302 msgid "REALITY" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1269 +#: htdocs/luci-static/resources/view/fchomo/node.js:1317 msgid "REALITY X25519MLKEM768 PQC support" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1140 +#: htdocs/luci-static/resources/fchomo/listeners.js:1219 msgid "REALITY certificate issued to" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1108 +#: htdocs/luci-static/resources/fchomo/listeners.js:1187 msgid "REALITY handshake server" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1115 +#: htdocs/luci-static/resources/fchomo/listeners.js:1194 msgid "REALITY private key" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1130 -#: htdocs/luci-static/resources/view/fchomo/node.js:1259 +#: htdocs/luci-static/resources/fchomo/listeners.js:1209 +#: htdocs/luci-static/resources/view/fchomo/node.js:1307 msgid "REALITY public key" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1134 -#: htdocs/luci-static/resources/view/fchomo/node.js:1264 +#: htdocs/luci-static/resources/fchomo/listeners.js:1213 +#: htdocs/luci-static/resources/view/fchomo/node.js:1312 msgid "REALITY short ID" msgstr "" -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:272 +#: htdocs/luci-static/resources/view/fchomo/node.js:278 +#: htdocs/luci-static/resources/view/fchomo/node.js:296 msgid "REMATCH-NAME marking" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:800 +#: htdocs/luci-static/resources/fchomo/listeners.js:819 +#: htdocs/luci-static/resources/view/fchomo/node.js:1076 msgid "RTT" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:386 +#: htdocs/luci-static/resources/fchomo.js:388 msgid "Random" msgstr "" @@ -2540,21 +2589,21 @@ msgstr "" msgid "Random will be used if empty." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:396 +#: htdocs/luci-static/resources/fchomo.js:398 msgid "Randomized traffic characteristics" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:896 -#: htdocs/luci-static/resources/view/fchomo/node.js:1070 +#: htdocs/luci-static/resources/fchomo/listeners.js:956 +#: htdocs/luci-static/resources/view/fchomo/node.js:1110 msgid "Realm" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:912 -#: htdocs/luci-static/resources/view/fchomo/node.js:1086 +#: htdocs/luci-static/resources/fchomo/listeners.js:972 +#: htdocs/luci-static/resources/view/fchomo/node.js:1126 msgid "Realm ID" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:248 +#: htdocs/luci-static/resources/fchomo/listeners.js:538 msgid "Realm name pattern" msgstr "" @@ -2578,7 +2627,7 @@ msgstr "" msgid "Refresh every %s seconds." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1567 +#: htdocs/luci-static/resources/fchomo.js:1569 #: 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 @@ -2589,77 +2638,77 @@ msgstr "" msgid "Reload All" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:188 +#: htdocs/luci-static/resources/fchomo.js:189 msgid "Rematch" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:188 +#: htdocs/luci-static/resources/fchomo.js:189 msgid "Rematching routing rules" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1714 +#: htdocs/luci-static/resources/view/fchomo/node.js:1780 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:287 msgid "Remote" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:797 -#: htdocs/luci-static/resources/view/fchomo/node.js:880 +#: htdocs/luci-static/resources/view/fchomo/node.js:816 +#: htdocs/luci-static/resources/view/fchomo/node.js:883 msgid "Remote DNS resolve" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1732 +#: htdocs/luci-static/resources/fchomo.js:1734 msgid "Remove" msgstr "" -#: 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/fchomo.js:1739 +#: htdocs/luci-static/resources/view/fchomo/node.js:1756 +#: htdocs/luci-static/resources/view/fchomo/node.js:1758 #: 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:901 -#: htdocs/luci-static/resources/view/fchomo/node.js:1075 +#: htdocs/luci-static/resources/fchomo/listeners.js:961 +#: htdocs/luci-static/resources/view/fchomo/node.js:1115 msgid "Rendezvous server" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1886 +#: htdocs/luci-static/resources/view/fchomo/node.js:1952 msgid "Replace name" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1887 +#: htdocs/luci-static/resources/view/fchomo/node.js:1953 msgid "Replace node name." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:370 +#: htdocs/luci-static/resources/fchomo.js:372 msgid "Request" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1271 +#: htdocs/luci-static/resources/view/fchomo/node.js:1394 +#: htdocs/luci-static/resources/view/fchomo/node.js:1401 msgid "Request path" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:634 +#: htdocs/luci-static/resources/view/fchomo/node.js:663 msgid "Request timeout" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:373 +#: htdocs/luci-static/resources/fchomo.js:375 msgid "Require and verify" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:371 +#: htdocs/luci-static/resources/fchomo.js:373 msgid "Require any" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:404 -#: htdocs/luci-static/resources/view/fchomo/node.js:1270 +#: htdocs/luci-static/resources/fchomo.js:406 +#: htdocs/luci-static/resources/view/fchomo/node.js:1318 msgid "Requires server support." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:863 +#: htdocs/luci-static/resources/view/fchomo/node.js:799 msgid "Reserved field bytes" msgstr "" @@ -2667,8 +2716,8 @@ msgstr "" msgid "Resources management" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:615 -#: htdocs/luci-static/resources/view/fchomo/node.js:948 +#: htdocs/luci-static/resources/fchomo/listeners.js:705 +#: htdocs/luci-static/resources/view/fchomo/node.js:1034 msgid "Restls script" msgstr "" @@ -2682,12 +2731,12 @@ 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:539 +#: htdocs/luci-static/resources/view/fchomo/node.js:474 msgid "Reuse HTTP connections to reduce RTT for each connection establishment." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:536 -#: htdocs/luci-static/resources/view/fchomo/node.js:540 +#: htdocs/luci-static/resources/view/fchomo/node.js:471 +#: htdocs/luci-static/resources/view/fchomo/node.js:475 msgid "Reusing a single tunnel to carry multiple target connections within it." msgstr "" @@ -2704,10 +2753,10 @@ msgstr "" msgid "Routing GFW" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:623 +#: htdocs/luci-static/resources/fchomo/listeners.js:568 #: htdocs/luci-static/resources/view/fchomo/global.js:776 -#: htdocs/luci-static/resources/view/fchomo/node.js:1570 -#: htdocs/luci-static/resources/view/fchomo/node.js:1962 +#: htdocs/luci-static/resources/view/fchomo/node.js:1622 +#: htdocs/luci-static/resources/view/fchomo/node.js:2041 msgid "Routing mark (Fwmark)" msgstr "" @@ -2763,11 +2812,11 @@ msgstr "" msgid "Ruleset-URI-Scheme" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1580 +#: htdocs/luci-static/resources/fchomo.js:1582 msgid "Running" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:251 +#: htdocs/luci-static/resources/fchomo.js:253 msgid "SMTP" msgstr "" @@ -2775,20 +2824,20 @@ msgstr "" msgid "SOCKS" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:191 +#: htdocs/luci-static/resources/fchomo.js:192 msgid "SOCKS5" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:207 +#: htdocs/luci-static/resources/fchomo.js:209 msgid "SSH" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:252 +#: htdocs/luci-static/resources/fchomo.js:254 msgid "STUN" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:918 -#: htdocs/luci-static/resources/view/fchomo/node.js:1092 +#: htdocs/luci-static/resources/fchomo/listeners.js:978 +#: htdocs/luci-static/resources/view/fchomo/node.js:1132 msgid "STUN servers" msgstr "" @@ -2796,20 +2845,20 @@ msgstr "" msgid "SUB-RULE" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:993 +#: htdocs/luci-static/resources/view/fchomo/node.js:959 msgid "SUoT version" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:195 -#: htdocs/luci-static/resources/view/fchomo/node.js:344 +#: htdocs/luci-static/resources/fchomo/listeners.js:485 +#: htdocs/luci-static/resources/view/fchomo/node.js:696 msgid "Salamander" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:183 +#: htdocs/luci-static/resources/fchomo.js:184 msgid "Same dstaddr requests. Same node" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:184 +#: htdocs/luci-static/resources/fchomo.js:185 msgid "Same srcaddr and dstaddr requests. Same node" msgstr "" @@ -2822,7 +2871,7 @@ msgstr "" msgid "Segment maximum size" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:241 +#: htdocs/luci-static/resources/fchomo.js:243 msgid "Select" msgstr "" @@ -2830,7 +2879,7 @@ msgstr "" msgid "Select Dashboard" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:410 +#: htdocs/luci-static/resources/fchomo.js:412 msgid "Send padding randomly 0-3333 bytes with 50% probability." msgstr "" @@ -2838,26 +2887,26 @@ msgstr "" msgid "Send queries to both the %s and the %s." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:399 -#: htdocs/luci-static/resources/fchomo.js:400 +#: htdocs/luci-static/resources/fchomo.js:401 +#: htdocs/luci-static/resources/fchomo.js:402 msgid "Send random ticket of 300s-600s duration for client 0-RTT reuse." msgstr "" -#: 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/fchomo/listeners.js:800 +#: htdocs/luci-static/resources/fchomo/listeners.js:1080 +#: htdocs/luci-static/resources/fchomo/listeners.js:1095 #: htdocs/luci-static/resources/view/fchomo/server.js:58 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:62 msgid "Server" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:256 +#: htdocs/luci-static/resources/view/fchomo/node.js:260 msgid "Server address" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1265 +#: htdocs/luci-static/resources/view/fchomo/node.js:1373 +#: htdocs/luci-static/resources/view/fchomo/node.js:1379 msgid "Server hostname" msgstr "" @@ -2869,27 +2918,32 @@ msgstr "" msgid "Service status" msgstr "" +#: htdocs/luci-static/resources/fchomo.js:168 +#: htdocs/luci-static/resources/fchomo.js:205 +msgid "ShadowQUIC" +msgstr "" + #: htdocs/luci-static/resources/fchomo.js:157 -#: htdocs/luci-static/resources/fchomo.js:192 +#: htdocs/luci-static/resources/fchomo.js:193 msgid "Shadowsocks" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:506 -#: htdocs/luci-static/resources/view/fchomo/node.js:653 +#: htdocs/luci-static/resources/fchomo/listeners.js:422 +#: htdocs/luci-static/resources/view/fchomo/node.js:568 msgid "Shadowsocks chipher" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:501 -#: htdocs/luci-static/resources/view/fchomo/node.js:648 +#: htdocs/luci-static/resources/fchomo/listeners.js:417 +#: htdocs/luci-static/resources/view/fchomo/node.js:563 msgid "Shadowsocks encrypt" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:514 -#: htdocs/luci-static/resources/view/fchomo/node.js:661 +#: htdocs/luci-static/resources/fchomo/listeners.js:430 +#: htdocs/luci-static/resources/view/fchomo/node.js:576 msgid "Shadowsocks password" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1522 +#: htdocs/luci-static/resources/view/fchomo/node.js:1574 msgid "Show connections in the dashboard for breaking connections easier." msgstr "" @@ -2897,18 +2951,18 @@ msgstr "" msgid "Silent" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:182 +#: htdocs/luci-static/resources/fchomo.js:183 msgid "Simple round-robin all nodes" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1775 +#: htdocs/luci-static/resources/view/fchomo/node.js:1841 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:391 msgid "Size limit" msgstr "" #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1239 +#: htdocs/luci-static/resources/view/fchomo/node.js:2016 msgid "Skip cert verify" msgstr "" @@ -2925,7 +2979,7 @@ msgid "Skiped sniffing src address" msgstr "" #: htdocs/luci-static/resources/fchomo.js:160 -#: htdocs/luci-static/resources/fchomo.js:196 +#: htdocs/luci-static/resources/fchomo.js:197 msgid "Snell" msgstr "" @@ -2941,7 +2995,7 @@ msgstr "" msgid "Sniffer settings" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:442 +#: htdocs/luci-static/resources/fchomo.js:444 msgid "Specify a ID" msgstr "" @@ -2960,11 +3014,11 @@ msgstr "" msgid "Standard" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:255 +#: htdocs/luci-static/resources/fchomo.js:257 msgid "Steam Client" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:256 +#: htdocs/luci-static/resources/fchomo.js:258 msgid "Steam P2P" msgstr "" @@ -2973,7 +3027,7 @@ msgstr "" msgid "Strategy" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:627 +#: htdocs/luci-static/resources/fchomo/listeners.js:573 #: htdocs/luci-static/resources/view/fchomo/client.js:1388 #: htdocs/luci-static/resources/view/fchomo/client.js:1397 msgid "Sub rule" @@ -2983,7 +3037,7 @@ msgstr "" msgid "Sub rule group" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:727 +#: htdocs/luci-static/resources/fchomo.js:729 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:231 msgid "Successfully imported %s %s of total %s." msgstr "" @@ -2992,15 +3046,19 @@ msgstr "" msgid "Successfully updated." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:2082 +#: htdocs/luci-static/resources/fchomo.js:2084 msgid "Successfully uploaded." msgstr "" #: htdocs/luci-static/resources/fchomo.js:159 -#: htdocs/luci-static/resources/fchomo.js:195 +#: htdocs/luci-static/resources/fchomo.js:196 msgid "Sudoku" msgstr "" +#: htdocs/luci-static/resources/view/fchomo/node.js:732 +msgid "Support %s, default %s." +msgstr "" + #: htdocs/luci-static/resources/view/fchomo/ruleset.js:206 msgid "" "Supports rule-set links of type: %s and format: %s." @@ -3022,15 +3080,15 @@ msgstr "" #: htdocs/luci-static/resources/fchomo.js:162 #: htdocs/luci-static/resources/fchomo.js:163 #: htdocs/luci-static/resources/fchomo.js:164 -#: htdocs/luci-static/resources/fchomo.js:190 -#: htdocs/luci-static/resources/fchomo.js:195 +#: htdocs/luci-static/resources/fchomo.js:191 #: htdocs/luci-static/resources/fchomo.js:196 #: htdocs/luci-static/resources/fchomo.js:197 #: htdocs/luci-static/resources/fchomo.js:198 #: 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:671 +#: htdocs/luci-static/resources/fchomo.js:201 +#: htdocs/luci-static/resources/fchomo.js:209 +#: htdocs/luci-static/resources/fchomo/listeners.js:626 #: htdocs/luci-static/resources/view/fchomo/client.js:606 #: htdocs/luci-static/resources/view/fchomo/client.js:698 msgid "TCP" @@ -3040,7 +3098,7 @@ msgstr "" msgid "TCP concurrency" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1515 +#: htdocs/luci-static/resources/view/fchomo/node.js:1567 msgid "TCP only" msgstr "" @@ -3057,95 +3115,96 @@ msgstr "" #: htdocs/luci-static/resources/fchomo.js:157 #: htdocs/luci-static/resources/fchomo.js:158 #: htdocs/luci-static/resources/fchomo.js:167 -#: htdocs/luci-static/resources/fchomo.js:168 #: htdocs/luci-static/resources/fchomo.js:169 -#: htdocs/luci-static/resources/fchomo.js:189 -#: htdocs/luci-static/resources/fchomo.js:191 +#: htdocs/luci-static/resources/fchomo.js:170 +#: htdocs/luci-static/resources/fchomo.js:190 #: htdocs/luci-static/resources/fchomo.js:192 -#: htdocs/luci-static/resources/fchomo.js:194 -#: htdocs/luci-static/resources/fchomo.js:205 +#: htdocs/luci-static/resources/fchomo.js:193 +#: htdocs/luci-static/resources/fchomo.js:195 +#: htdocs/luci-static/resources/fchomo.js:206 msgid "TCP/UDP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1546 -#: htdocs/luci-static/resources/view/fchomo/node.js:1904 +#: htdocs/luci-static/resources/view/fchomo/node.js:1598 +#: htdocs/luci-static/resources/view/fchomo/node.js:1977 msgid "TFO" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:583 -#: htdocs/luci-static/resources/fchomo/listeners.js:928 +#: htdocs/luci-static/resources/fchomo/listeners.js:666 +#: htdocs/luci-static/resources/fchomo/listeners.js:988 #: htdocs/luci-static/resources/view/fchomo/global.js:550 -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:455 +#: htdocs/luci-static/resources/view/fchomo/node.js:997 +#: htdocs/luci-static/resources/view/fchomo/node.js:1142 msgid "TLS" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:995 -#: htdocs/luci-static/resources/view/fchomo/node.js:1133 +#: htdocs/luci-static/resources/fchomo/listeners.js:1035 +#: htdocs/luci-static/resources/view/fchomo/node.js:1173 msgid "TLS ALPN" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1127 +#: htdocs/luci-static/resources/fchomo/listeners.js:1029 +#: htdocs/luci-static/resources/view/fchomo/node.js:1167 msgid "TLS SNI" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:122 -#: htdocs/luci-static/resources/view/fchomo/node.js:236 +#: htdocs/luci-static/resources/fchomo/listeners.js:123 +#: htdocs/luci-static/resources/view/fchomo/node.js:240 msgid "TLS fields" msgstr "" #: htdocs/luci-static/resources/fchomo.js:165 -#: htdocs/luci-static/resources/fchomo.js:203 +#: htdocs/luci-static/resources/fchomo.js:202 msgid "TUIC" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:253 +#: htdocs/luci-static/resources/fchomo.js:255 msgid "TURN" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:553 +#: htdocs/luci-static/resources/fchomo/listeners.js:560 msgid "Target address" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:188 +#: htdocs/luci-static/resources/fchomo/listeners.js:478 msgid "" "Tell the client to use the BBR flow control algorithm instead of Hysteria CC." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:758 -#: htdocs/luci-static/resources/view/fchomo/node.js:766 +#: htdocs/luci-static/resources/view/fchomo/node.js:844 +#: htdocs/luci-static/resources/view/fchomo/node.js:852 msgid "The %s address used by local machine in the Cloudflare WARP network." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:821 -#: htdocs/luci-static/resources/view/fchomo/node.js:829 +#: htdocs/luci-static/resources/view/fchomo/node.js:757 +#: htdocs/luci-static/resources/view/fchomo/node.js:765 msgid "The %s address used by local machine in the Wireguard network." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1016 -#: htdocs/luci-static/resources/view/fchomo/node.js:1214 +#: htdocs/luci-static/resources/fchomo/listeners.js:1095 +#: htdocs/luci-static/resources/view/fchomo/node.js:1262 msgid "The %s private key, in PEM format." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1001 -#: htdocs/luci-static/resources/fchomo/listeners.js:1039 +#: htdocs/luci-static/resources/fchomo/listeners.js:1080 +#: htdocs/luci-static/resources/fchomo/listeners.js:1118 #: htdocs/luci-static/resources/view/fchomo/global.js:571 -#: htdocs/luci-static/resources/view/fchomo/node.js:1200 +#: htdocs/luci-static/resources/view/fchomo/node.js:1248 msgid "The %s public key, in PEM format." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1234 +#: htdocs/luci-static/resources/view/fchomo/node.js:1282 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:442 +#: htdocs/luci-static/resources/view/fchomo/node.js:377 msgid "The ED25519 available private key or UUID provided by Sudoku server." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:297 +#: htdocs/luci-static/resources/fchomo/listeners.js:218 msgid "The ED25519 master public key or UUID generated by Sudoku." msgstr "" @@ -3153,14 +3212,14 @@ msgstr "" msgid "The default value is 2:00 every day." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:975 +#: htdocs/luci-static/resources/view/fchomo/node.js:941 msgid "" "The default value is %s, indicating that only the outer " "connection timeout is used." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:772 -#: htdocs/luci-static/resources/view/fchomo/node.js:1049 +#: htdocs/luci-static/resources/fchomo/listeners.js:832 +#: htdocs/luci-static/resources/view/fchomo/node.js:1089 msgid "" "The first padding must have a probability of 100% and at least 35 bytes." msgstr "" @@ -3175,25 +3234,29 @@ msgstr "" msgid "The matching %s will be deemed as poisoned." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:770 -#: htdocs/luci-static/resources/view/fchomo/node.js:1047 +#: htdocs/luci-static/resources/fchomo/listeners.js:713 +msgid "The proxy used to connect to the handshake target." +msgstr "" + +#: htdocs/luci-static/resources/fchomo/listeners.js:830 +#: htdocs/luci-static/resources/view/fchomo/node.js:1087 msgid "The server and client can set different padding parameters." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1097 +#: htdocs/luci-static/resources/fchomo/listeners.js:1176 #: 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:1670 -#: htdocs/luci-static/resources/view/fchomo/node.js:1194 -#: htdocs/luci-static/resources/view/fchomo/node.js:1940 +#: htdocs/luci-static/resources/view/fchomo/node.js:1242 +#: htdocs/luci-static/resources/view/fchomo/node.js:2019 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:599 +#: htdocs/luci-static/resources/view/fchomo/node.js:628 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." @@ -3222,33 +3285,33 @@ msgstr "" msgid "Tproxy port" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:285 -#: htdocs/luci-static/resources/view/fchomo/node.js:434 +#: htdocs/luci-static/resources/fchomo/listeners.js:206 +#: htdocs/luci-static/resources/view/fchomo/node.js:369 msgid "Traffic pattern" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2109 +#: htdocs/luci-static/resources/view/fchomo/node.js:2188 msgid "Transit proxy group" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:2120 +#: htdocs/luci-static/resources/view/fchomo/node.js:2199 msgid "Transit proxy node" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:273 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:194 +#: htdocs/luci-static/resources/fchomo/listeners.js:1229 +#: htdocs/luci-static/resources/view/fchomo/node.js:346 +#: htdocs/luci-static/resources/view/fchomo/node.js:1326 msgid "Transport" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:123 -#: htdocs/luci-static/resources/view/fchomo/node.js:237 +#: htdocs/luci-static/resources/fchomo/listeners.js:124 +#: htdocs/luci-static/resources/view/fchomo/node.js:241 msgid "Transport fields" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1153 -#: htdocs/luci-static/resources/view/fchomo/node.js:1281 +#: htdocs/luci-static/resources/fchomo/listeners.js:1234 +#: htdocs/luci-static/resources/view/fchomo/node.js:1331 msgid "Transport type" msgstr "" @@ -3257,16 +3320,16 @@ msgid "Treat the destination IP as the source IP." msgstr "" #: htdocs/luci-static/resources/fchomo.js:163 -#: htdocs/luci-static/resources/fchomo.js:199 +#: htdocs/luci-static/resources/fchomo.js:200 msgid "Trojan" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:168 -#: htdocs/luci-static/resources/fchomo.js:205 +#: htdocs/luci-static/resources/fchomo.js:169 +#: htdocs/luci-static/resources/fchomo.js:206 msgid "TrustTunnel" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:243 +#: htdocs/luci-static/resources/fchomo/listeners.js:533 msgid "Trusted proxy header" msgstr "" @@ -3286,35 +3349,37 @@ msgstr "" msgid "Tun stack." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:169 +#: htdocs/luci-static/resources/fchomo.js:170 msgid "Tunnel" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:142 +#: htdocs/luci-static/resources/fchomo/listeners.js:143 #: htdocs/luci-static/resources/view/fchomo/client.js:533 #: 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:1712 -#: htdocs/luci-static/resources/view/fchomo/node.js:2070 +#: htdocs/luci-static/resources/view/fchomo/node.js:254 +#: htdocs/luci-static/resources/view/fchomo/node.js:1778 +#: htdocs/luci-static/resources/view/fchomo/node.js:2149 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:285 msgid "Type" msgstr "" #: htdocs/luci-static/resources/fchomo.js:165 #: htdocs/luci-static/resources/fchomo.js:166 +#: htdocs/luci-static/resources/fchomo.js:168 #: htdocs/luci-static/resources/fchomo.js:202 -#: 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:672 -#: htdocs/luci-static/resources/fchomo/listeners.js:677 +#: htdocs/luci-static/resources/fchomo.js:205 +#: htdocs/luci-static/resources/fchomo.js:207 +#: htdocs/luci-static/resources/fchomo.js:208 +#: htdocs/luci-static/resources/fchomo/listeners.js:627 +#: htdocs/luci-static/resources/fchomo/listeners.js:632 #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:947 +#: htdocs/luci-static/resources/view/fchomo/node.js:1987 msgid "UDP" msgstr "" @@ -3322,42 +3387,43 @@ msgstr "" msgid "UDP NAT expiration time" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:598 +#: htdocs/luci-static/resources/view/fchomo/node.js:627 +#: htdocs/luci-static/resources/view/fchomo/node.js:738 msgid "UDP over stream" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:604 +#: htdocs/luci-static/resources/view/fchomo/node.js:633 msgid "UDP over stream version" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:591 +#: htdocs/luci-static/resources/view/fchomo/node.js:620 msgid "UDP packet relay mode." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:590 +#: htdocs/luci-static/resources/view/fchomo/node.js:619 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:466 -#: htdocs/luci-static/resources/view/fchomo/node.js:467 +#: htdocs/luci-static/resources/fchomo/listeners.js:294 +#: htdocs/luci-static/resources/fchomo/listeners.js:295 +#: htdocs/luci-static/resources/view/fchomo/node.js:401 +#: htdocs/luci-static/resources/view/fchomo/node.js:402 msgid "UP: %s; DOWN: %s" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:243 +#: htdocs/luci-static/resources/fchomo.js:245 msgid "URL test" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:294 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:215 +#: htdocs/luci-static/resources/fchomo/listeners.js:395 +#: htdocs/luci-static/resources/fchomo/listeners.js:445 +#: htdocs/luci-static/resources/view/fchomo/node.js:513 +#: htdocs/luci-static/resources/view/fchomo/node.js:607 msgid "UUID" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1625 +#: htdocs/luci-static/resources/fchomo.js:1627 msgid "Unable to download unsupported type: %s" msgstr "" @@ -3382,8 +3448,8 @@ msgstr "" msgid "Unknown error: %s" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:987 -#: htdocs/luci-static/resources/view/fchomo/node.js:1919 +#: htdocs/luci-static/resources/view/fchomo/node.js:953 +#: htdocs/luci-static/resources/view/fchomo/node.js:1992 msgid "UoT" msgstr "" @@ -3391,24 +3457,24 @@ msgstr "" msgid "Update failed." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1781 +#: htdocs/luci-static/resources/view/fchomo/node.js:1847 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:397 msgid "Update interval" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1248 -#: htdocs/luci-static/resources/view/fchomo/node.js:1533 +#: htdocs/luci-static/resources/fchomo/listeners.js:1331 +#: htdocs/luci-static/resources/view/fchomo/node.js:1585 msgid "Upload bandwidth" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1249 -#: htdocs/luci-static/resources/view/fchomo/node.js:1534 +#: htdocs/luci-static/resources/fchomo/listeners.js:1332 +#: htdocs/luci-static/resources/view/fchomo/node.js:1586 msgid "Upload bandwidth in Mbps." msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1086 +#: htdocs/luci-static/resources/fchomo/listeners.js:1126 +#: htdocs/luci-static/resources/view/fchomo/node.js:1253 msgid "Upload certificate" msgstr "" @@ -3416,23 +3482,23 @@ msgstr "" msgid "Upload initial package" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1022 -#: htdocs/luci-static/resources/view/fchomo/node.js:1219 +#: htdocs/luci-static/resources/fchomo/listeners.js:1101 +#: htdocs/luci-static/resources/view/fchomo/node.js:1267 msgid "Upload key" msgstr "" -#: 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/fchomo/listeners.js:1089 +#: htdocs/luci-static/resources/fchomo/listeners.js:1104 +#: htdocs/luci-static/resources/fchomo/listeners.js:1129 #: htdocs/luci-static/resources/view/fchomo/global.js:306 -#: htdocs/luci-static/resources/view/fchomo/node.js:1208 -#: htdocs/luci-static/resources/view/fchomo/node.js:1222 +#: htdocs/luci-static/resources/view/fchomo/node.js:1256 +#: htdocs/luci-static/resources/view/fchomo/node.js:1270 msgid "Upload..." msgstr "" -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:278 +#: htdocs/luci-static/resources/view/fchomo/node.js:285 +#: htdocs/luci-static/resources/view/fchomo/node.js:296 msgid "Use sub rule" msgstr "" @@ -3456,7 +3522,8 @@ msgstr "" msgid "Used to resolve the domain of the Proxy node." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1128 +#: htdocs/luci-static/resources/view/fchomo/node.js:1234 +#: htdocs/luci-static/resources/view/fchomo/node.js:2011 msgid "Used to verify the hostname on the returned certificates." msgstr "" @@ -3464,12 +3531,14 @@ msgstr "" msgid "User Authentication" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:280 +#: htdocs/luci-static/resources/fchomo/listeners.js:201 msgid "User-hint is mandatory" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:161 -#: htdocs/luci-static/resources/view/fchomo/node.js:301 +#: htdocs/luci-static/resources/fchomo/listeners.js:162 +#: htdocs/luci-static/resources/fchomo/listeners.js:685 +#: htdocs/luci-static/resources/view/fchomo/node.js:305 +#: htdocs/luci-static/resources/view/fchomo/node.js:1008 msgid "Username" msgstr "" @@ -3477,51 +3546,51 @@ msgstr "" msgid "Users filter mode" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1390 +#: htdocs/luci-static/resources/view/fchomo/node.js:1442 msgid "V2ray HTTPUpgrade" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1395 +#: htdocs/luci-static/resources/view/fchomo/node.js:1447 msgid "V2ray HTTPUpgrade fast open" msgstr "" #: htdocs/luci-static/resources/fchomo.js:162 -#: htdocs/luci-static/resources/fchomo.js:198 +#: htdocs/luci-static/resources/fchomo.js:199 msgid "VLESS" msgstr "" #: htdocs/luci-static/resources/fchomo.js:161 -#: htdocs/luci-static/resources/fchomo.js:197 +#: htdocs/luci-static/resources/fchomo.js:198 msgid "VMess" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1718 -#: htdocs/luci-static/resources/view/fchomo/node.js:2076 +#: htdocs/luci-static/resources/view/fchomo/node.js:1784 +#: htdocs/luci-static/resources/view/fchomo/node.js:2155 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:328 msgid "Value" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:372 +#: htdocs/luci-static/resources/fchomo.js:374 msgid "Verify if given" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:463 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:384 +#: htdocs/luci-static/resources/fchomo/listeners.js:697 +#: htdocs/luci-static/resources/view/fchomo/node.js:497 +#: htdocs/luci-static/resources/view/fchomo/node.js:1020 msgid "Version" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:942 +#: htdocs/luci-static/resources/view/fchomo/node.js:1028 msgid "Version hint" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:120 -#: htdocs/luci-static/resources/view/fchomo/node.js:234 +#: htdocs/luci-static/resources/fchomo/listeners.js:121 +#: htdocs/luci-static/resources/view/fchomo/node.js:238 msgid "Vless Encryption fields" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:409 +#: htdocs/luci-static/resources/fchomo.js:411 msgid "Wait a random 0-111 milliseconds with 75% probability." msgstr "" @@ -3529,16 +3598,16 @@ msgstr "" msgid "Warning" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:441 -#: 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:1297 -#: htdocs/luci-static/resources/view/fchomo/node.js:1304 -#: htdocs/luci-static/resources/view/fchomo/node.js:1310 +#: htdocs/luci-static/resources/fchomo/listeners.js:362 +#: htdocs/luci-static/resources/fchomo/listeners.js:1236 +#: htdocs/luci-static/resources/fchomo/listeners.js:1247 +#: htdocs/luci-static/resources/fchomo/listeners.js:1254 +#: htdocs/luci-static/resources/view/fchomo/node.js:451 +#: htdocs/luci-static/resources/view/fchomo/node.js:480 +#: htdocs/luci-static/resources/view/fchomo/node.js:1336 +#: htdocs/luci-static/resources/view/fchomo/node.js:1349 +#: htdocs/luci-static/resources/view/fchomo/node.js:1356 +#: htdocs/luci-static/resources/view/fchomo/node.js:1362 msgid "WebSocket" msgstr "" @@ -3550,52 +3619,52 @@ msgstr "" msgid "White list" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:206 +#: htdocs/luci-static/resources/fchomo.js:207 msgid "WireGuard" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:843 +#: htdocs/luci-static/resources/view/fchomo/node.js:779 msgid "WireGuard peer public key." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:850 +#: htdocs/luci-static/resources/view/fchomo/node.js:786 msgid "WireGuard pre-shared key." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:835 +#: htdocs/luci-static/resources/view/fchomo/node.js:771 msgid "WireGuard requires base64-encoded private keys." msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1237 +#: htdocs/luci-static/resources/fchomo/listeners.js:1248 +#: htdocs/luci-static/resources/view/fchomo/node.js:1337 +#: htdocs/luci-static/resources/view/fchomo/node.js:1357 msgid "XHTTP" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1201 -#: htdocs/luci-static/resources/view/fchomo/node.js:1400 +#: htdocs/luci-static/resources/fchomo/listeners.js:1284 +#: htdocs/luci-static/resources/view/fchomo/node.js:1452 msgid "XHTTP mode" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1431 +#: htdocs/luci-static/resources/view/fchomo/node.js:1483 msgid "XMUX" msgstr "" -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1488 +#: htdocs/luci-static/resources/view/fchomo/node.js:1493 +#: htdocs/luci-static/resources/view/fchomo/node.js:1498 +#: htdocs/luci-static/resources/view/fchomo/node.js:1503 +#: htdocs/luci-static/resources/view/fchomo/node.js:1508 +#: htdocs/luci-static/resources/view/fchomo/node.js:1513 msgid "XMUX:" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:731 +#: htdocs/luci-static/resources/fchomo/listeners.js:791 msgid "XOR mode" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:737 +#: htdocs/luci-static/resources/view/fchomo/node.js:558 msgid "Xudp (Xray-core)" msgstr "" @@ -3603,7 +3672,7 @@ msgstr "" msgid "Yaml text" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1943 +#: htdocs/luci-static/resources/view/fchomo/node.js:2022 msgid "Yes" msgstr "" @@ -3611,31 +3680,31 @@ msgstr "" msgid "YouTube" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:2064 +#: htdocs/luci-static/resources/fchomo.js:2066 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:717 +#: htdocs/luci-static/resources/fchomo.js:347 +#: htdocs/luci-static/resources/fchomo.js:360 +#: htdocs/luci-static/resources/fchomo.js:365 +#: htdocs/luci-static/resources/view/fchomo/node.js:538 msgid "aes-128-gcm" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:346 +#: htdocs/luci-static/resources/fchomo.js:348 msgid "aes-192-gcm" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:347 -#: htdocs/luci-static/resources/fchomo.js:364 +#: htdocs/luci-static/resources/fchomo.js:349 +#: htdocs/luci-static/resources/fchomo.js:366 msgid "aes-256-gcm" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1803 +#: htdocs/luci-static/resources/view/fchomo/node.js:1869 msgid "age private key" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1864 +#: htdocs/luci-static/resources/view/fchomo/node.js:1930 msgid "age public key" msgstr "" @@ -3647,7 +3716,7 @@ msgstr "" msgid "age-x25519" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:714 +#: htdocs/luci-static/resources/view/fchomo/node.js:535 msgid "auto" msgstr "" @@ -3655,19 +3724,19 @@ msgstr "" msgid "bbr" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1091 +#: htdocs/luci-static/resources/fchomo/listeners.js:1131 +#: htdocs/luci-static/resources/view/fchomo/node.js:1258 msgid "certificate" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:348 -#: htdocs/luci-static/resources/fchomo.js:359 -#: htdocs/luci-static/resources/fchomo.js:365 +#: htdocs/luci-static/resources/fchomo.js:350 +#: htdocs/luci-static/resources/fchomo.js:361 +#: htdocs/luci-static/resources/fchomo.js:367 msgid "chacha20-ietf-poly1305" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:718 +#: htdocs/luci-static/resources/view/fchomo/node.js:539 msgid "chacha20-poly1305" msgstr "" @@ -3675,8 +3744,8 @@ msgstr "" msgid "cubic" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:683 -#: htdocs/luci-static/resources/fchomo/listeners.js:714 +#: htdocs/luci-static/resources/fchomo/listeners.js:743 +#: htdocs/luci-static/resources/fchomo/listeners.js:774 msgid "decryption" msgstr "" @@ -3684,41 +3753,41 @@ msgstr "" msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1931 +#: htdocs/luci-static/resources/view/fchomo/node.js:2004 msgid "down" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:778 +#: htdocs/luci-static/resources/view/fchomo/node.js:1041 +#: htdocs/luci-static/resources/view/fchomo/node.js:1064 msgid "encryption" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:425 -#: htdocs/luci-static/resources/view/fchomo/node.js:500 +#: htdocs/luci-static/resources/fchomo/listeners.js:346 +#: htdocs/luci-static/resources/view/fchomo/node.js:435 msgid "false = bandwidth optimized downlink; true = pure Sudoku downlink." msgstr "" -#: 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:1296 -#: htdocs/luci-static/resources/view/fchomo/node.js:1303 -#: htdocs/luci-static/resources/view/fchomo/node.js:1309 +#: htdocs/luci-static/resources/fchomo/listeners.js:1235 +#: htdocs/luci-static/resources/fchomo/listeners.js:1246 +#: htdocs/luci-static/resources/fchomo/listeners.js:1253 +#: htdocs/luci-static/resources/view/fchomo/node.js:1335 +#: htdocs/luci-static/resources/view/fchomo/node.js:1348 +#: htdocs/luci-static/resources/view/fchomo/node.js:1355 +#: htdocs/luci-static/resources/view/fchomo/node.js:1361 msgid "gRPC" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1366 +#: htdocs/luci-static/resources/view/fchomo/node.js:1418 msgid "gRPC User-Agent" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1371 +#: htdocs/luci-static/resources/view/fchomo/node.js:1423 msgid "gRPC ping interval" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1195 -#: htdocs/luci-static/resources/view/fchomo/node.js:1362 +#: htdocs/luci-static/resources/fchomo/listeners.js:1278 +#: htdocs/luci-static/resources/view/fchomo/node.js:1414 msgid "gRPC service name" msgstr "" @@ -3726,23 +3795,28 @@ msgstr "" msgid "gVisor" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:781 +#: htdocs/luci-static/resources/view/fchomo/node.js:867 msgid "h2" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1478 +#: htdocs/luci-static/resources/view/fchomo/node.js:1530 msgid "h2mux" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:779 +#: htdocs/luci-static/resources/view/fchomo/node.js:865 msgid "h3" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:780 +#: htdocs/luci-static/resources/view/fchomo/node.js:866 msgid "h3-l4proxy" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:883 +#: htdocs/luci-static/resources/fchomo/listeners.js:647 +#: htdocs/luci-static/resources/view/fchomo/node.js:978 +msgid "jls" +msgstr "" + +#: htdocs/luci-static/resources/fchomo/listeners.js:943 msgid "least one keypair required" msgstr "" @@ -3756,17 +3830,17 @@ msgstr "" #: 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/node.js:1750 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:247 msgid "mihomo config" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:391 +#: htdocs/luci-static/resources/fchomo.js:393 msgid "mlkem768x25519plus" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1551 -#: htdocs/luci-static/resources/view/fchomo/node.js:1909 +#: htdocs/luci-static/resources/view/fchomo/node.js:1603 +#: htdocs/luci-static/resources/view/fchomo/node.js:1982 msgid "mpTCP" msgstr "" @@ -3778,20 +3852,18 @@ msgstr "" msgid "no-resolve" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo.js:1801 +#: htdocs/luci-static/resources/fchomo.js:1896 +#: htdocs/luci-static/resources/fchomo.js:1931 +#: htdocs/luci-static/resources/fchomo.js:1959 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: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/fchomo.js:345 +#: htdocs/luci-static/resources/fchomo.js:359 +#: htdocs/luci-static/resources/fchomo.js:371 +#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:556 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:324 msgid "none" msgstr "" @@ -3804,47 +3876,51 @@ msgstr "" msgid "not included \",\"" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:229 -#: htdocs/luci-static/resources/fchomo/listeners.js:629 -#: htdocs/luci-static/resources/fchomo/listeners.js:632 +#: htdocs/luci-static/resources/fchomo.js:231 +#: htdocs/luci-static/resources/fchomo/listeners.js:575 +#: htdocs/luci-static/resources/fchomo/listeners.js:578 msgid "null" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:644 +#: htdocs/luci-static/resources/fchomo/listeners.js:654 +#: htdocs/luci-static/resources/view/fchomo/node.js:973 +#: htdocs/luci-static/resources/view/fchomo/node.js:985 msgid "obfs-simple" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:547 +#: htdocs/luci-static/resources/view/fchomo/node.js:482 msgid "only applies when %s is %s." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:545 +#: htdocs/luci-static/resources/view/fchomo/node.js:480 msgid "only applies when %s is not %s." msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1889 +#: htdocs/luci-static/resources/view/fchomo/node.js:1963 +msgid "override.override-expr" +msgstr "" + +#: htdocs/luci-static/resources/view/fchomo/node.js:1955 msgid "override.proxy-name" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:736 +#: htdocs/luci-static/resources/view/fchomo/node.js:557 msgid "packet addr (v2ray-core v5+)" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1205 -#: htdocs/luci-static/resources/view/fchomo/node.js:1404 +#: htdocs/luci-static/resources/fchomo/listeners.js:1288 +#: htdocs/luci-static/resources/view/fchomo/node.js:1456 msgid "packet-up" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:439 -#: htdocs/luci-static/resources/view/fchomo/node.js:514 +#: htdocs/luci-static/resources/fchomo/listeners.js:360 +#: htdocs/luci-static/resources/view/fchomo/node.js:449 msgid "poll" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1027 -#: htdocs/luci-static/resources/view/fchomo/node.js:1224 +#: htdocs/luci-static/resources/fchomo/listeners.js:1106 +#: htdocs/luci-static/resources/view/fchomo/node.js:1272 msgid "private key" msgstr "" @@ -3857,8 +3933,8 @@ msgstr "" msgid "requires front-end adaptation using the API." msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:564 -#: htdocs/luci-static/resources/view/fchomo/node.js:898 +#: htdocs/luci-static/resources/fchomo/listeners.js:646 +#: htdocs/luci-static/resources/view/fchomo/node.js:977 msgid "restls" msgstr "" @@ -3866,19 +3942,19 @@ msgstr "" msgid "rule-set" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:645 +#: htdocs/luci-static/resources/fchomo/listeners.js:655 +#: htdocs/luci-static/resources/view/fchomo/node.js:976 +#: htdocs/luci-static/resources/view/fchomo/node.js:986 msgid "shadow-tls" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1476 +#: htdocs/luci-static/resources/view/fchomo/node.js:1528 msgid "smux" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:438 -#: htdocs/luci-static/resources/view/fchomo/node.js:513 +#: htdocs/luci-static/resources/fchomo/listeners.js:359 +#: htdocs/luci-static/resources/view/fchomo/node.js:448 msgid "split-stream" msgstr "" @@ -3886,25 +3962,25 @@ msgstr "" msgid "src" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1203 -#: htdocs/luci-static/resources/view/fchomo/node.js:1402 +#: htdocs/luci-static/resources/fchomo/listeners.js:1286 +#: htdocs/luci-static/resources/view/fchomo/node.js:1454 msgid "stream-one" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1204 -#: htdocs/luci-static/resources/view/fchomo/node.js:1403 +#: htdocs/luci-static/resources/fchomo/listeners.js:1287 +#: htdocs/luci-static/resources/view/fchomo/node.js:1455 msgid "stream-up" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1220 +#: htdocs/luci-static/resources/fchomo/listeners.js:1303 msgid "stream-up server seconds" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:547 +#: htdocs/luci-static/resources/view/fchomo/node.js:482 msgid "stream/poll/auto" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:293 +#: htdocs/luci-static/resources/fchomo/listeners.js:214 msgid "sudoku-keypair" msgstr "" @@ -3912,100 +3988,100 @@ msgstr "" msgid "unchecked" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:455 +#: htdocs/luci-static/resources/fchomo.js:457 msgid "unique UCI identifier" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:458 +#: htdocs/luci-static/resources/fchomo.js:460 msgid "unique identifier" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1966 +#: htdocs/luci-static/resources/fchomo.js:1968 msgid "unique value" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1925 +#: htdocs/luci-static/resources/view/fchomo/node.js:1998 msgid "up" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:385 +#: htdocs/luci-static/resources/fchomo/listeners.js:698 +#: htdocs/luci-static/resources/view/fchomo/node.js:498 +#: htdocs/luci-static/resources/view/fchomo/node.js:634 +#: htdocs/luci-static/resources/view/fchomo/node.js:960 +#: htdocs/luci-static/resources/view/fchomo/node.js:1021 msgid "v1" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:386 +#: htdocs/luci-static/resources/fchomo/listeners.js:699 +#: htdocs/luci-static/resources/view/fchomo/node.js:499 +#: htdocs/luci-static/resources/view/fchomo/node.js:961 +#: htdocs/luci-static/resources/view/fchomo/node.js:1022 msgid "v2" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:387 +#: htdocs/luci-static/resources/fchomo/listeners.js:700 +#: htdocs/luci-static/resources/view/fchomo/node.js:500 +#: htdocs/luci-static/resources/view/fchomo/node.js:1023 msgid "v3" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:467 -#: htdocs/luci-static/resources/view/fchomo/node.js:566 +#: htdocs/luci-static/resources/fchomo/listeners.js:388 +#: htdocs/luci-static/resources/view/fchomo/node.js:501 msgid "v4" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:468 -#: htdocs/luci-static/resources/view/fchomo/node.js:567 +#: htdocs/luci-static/resources/fchomo/listeners.js:389 +#: htdocs/luci-static/resources/view/fchomo/node.js:502 msgid "v5" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1846 -#: htdocs/luci-static/resources/fchomo.js:1849 +#: htdocs/luci-static/resources/fchomo.js:1848 +#: htdocs/luci-static/resources/fchomo.js:1851 msgid "valid JSON format" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1184 +#: htdocs/luci-static/resources/view/fchomo/node.js:1226 msgid "valid SHA256 string with %d characters" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1871 -#: htdocs/luci-static/resources/fchomo.js:1874 +#: htdocs/luci-static/resources/fchomo.js:1873 +#: htdocs/luci-static/resources/fchomo.js:1876 msgid "valid URL" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1884 +#: htdocs/luci-static/resources/fchomo.js:1886 msgid "valid base64 key with %d characters" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1944 -#: htdocs/luci-static/resources/fchomo.js:1950 +#: htdocs/luci-static/resources/fchomo.js:1946 +#: htdocs/luci-static/resources/fchomo.js:1952 msgid "valid format: 2x, 2p, 4v" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1931 +#: htdocs/luci-static/resources/fchomo.js:1933 msgid "valid key length with %d characters" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1809 +#: htdocs/luci-static/resources/fchomo.js:1811 msgid "valid port value" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1859 +#: htdocs/luci-static/resources/fchomo.js:1861 msgid "valid uuid" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:415 +#: htdocs/luci-static/resources/fchomo.js:417 msgid "vless-mlkem768" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:414 +#: htdocs/luci-static/resources/fchomo.js:416 msgid "vless-x25519" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:349 +#: htdocs/luci-static/resources/fchomo.js:351 msgid "xchacha20-ietf-poly1305" msgstr "" @@ -4013,7 +4089,7 @@ msgstr "" msgid "yacd-meta" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1477 +#: htdocs/luci-static/resources/view/fchomo/node.js:1529 msgid "yamux" msgstr "" @@ -4021,10 +4097,10 @@ msgstr "" msgid "zashboard" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:716 +#: htdocs/luci-static/resources/view/fchomo/node.js:537 msgid "zero" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1627 +#: htdocs/luci-static/resources/fchomo.js:1629 msgid "🡇" msgstr "" diff --git a/luci-app-fchomo/po/zh_Hans/fchomo.po b/luci-app-fchomo/po/zh_Hans/fchomo.po index 5487edd8..5d0247eb 100644 --- a/luci-app-fchomo/po/zh_Hans/fchomo.po +++ b/luci-app-fchomo/po/zh_Hans/fchomo.po @@ -12,30 +12,30 @@ msgstr "" msgid "%s log" msgstr "%s 日志" -#: htdocs/luci-static/resources/fchomo.js:251 -#: htdocs/luci-static/resources/fchomo.js:252 #: htdocs/luci-static/resources/fchomo.js:253 #: htdocs/luci-static/resources/fchomo.js:254 #: htdocs/luci-static/resources/fchomo.js:255 #: htdocs/luci-static/resources/fchomo.js:256 +#: htdocs/luci-static/resources/fchomo.js:257 +#: htdocs/luci-static/resources/fchomo.js:258 msgid "%s ports" msgstr "%s 端口" -#: htdocs/luci-static/resources/fchomo.js:642 -#: htdocs/luci-static/resources/fchomo.js:645 +#: htdocs/luci-static/resources/fchomo.js:644 +#: htdocs/luci-static/resources/fchomo.js:647 #: htdocs/luci-static/resources/view/fchomo/client.js:318 msgid "(Imported)" msgstr "(已导入)" -#: 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/fchomo/listeners.js:1109 +#: htdocs/luci-static/resources/fchomo/listeners.js:1117 +#: htdocs/luci-static/resources/fchomo/listeners.js:1126 #: 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: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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1247 +#: htdocs/luci-static/resources/view/fchomo/node.js:1253 +#: htdocs/luci-static/resources/view/fchomo/node.js:1261 +#: htdocs/luci-static/resources/view/fchomo/node.js:1267 msgid "(mTLS)" msgstr "" @@ -52,7 +52,7 @@ msgstr "" msgid "-- PROXY-NODE --" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:832 +#: htdocs/luci-static/resources/fchomo.js:834 #: 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 @@ -61,11 +61,11 @@ msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1101 #: 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:2093 -#: htdocs/luci-static/resources/view/fchomo/node.js:2112 -#: htdocs/luci-static/resources/view/fchomo/node.js:2123 +#: htdocs/luci-static/resources/view/fchomo/node.js:288 +#: htdocs/luci-static/resources/view/fchomo/node.js:2161 +#: htdocs/luci-static/resources/view/fchomo/node.js:2172 +#: htdocs/luci-static/resources/view/fchomo/node.js:2191 +#: htdocs/luci-static/resources/view/fchomo/node.js:2202 msgid "-- Please choose --" msgstr "-- 请选择 --" @@ -77,16 +77,16 @@ msgstr "" msgid "-- RULE-SET --" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:833 +#: htdocs/luci-static/resources/fchomo.js:835 msgid "-- custom --" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:404 +#: htdocs/luci-static/resources/fchomo.js:406 msgid "0-RTT reuse." msgstr "0-RTT 重用。" -#: htdocs/luci-static/resources/fchomo.js:401 -#: htdocs/luci-static/resources/fchomo.js:405 +#: htdocs/luci-static/resources/fchomo.js:403 +#: htdocs/luci-static/resources/fchomo.js:407 msgid "1-RTT only." msgstr "仅限 1-RTT。" @@ -94,15 +94,15 @@ msgstr "仅限 1-RTT。" msgid "163Music" msgstr "网抑云" -#: htdocs/luci-static/resources/fchomo.js:351 +#: htdocs/luci-static/resources/fchomo.js:353 msgid "2022-blake3-aes-128-gcm" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:352 +#: htdocs/luci-static/resources/fchomo.js:354 msgid "2022-blake3-aes-256-gcm" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:353 +#: htdocs/luci-static/resources/fchomo.js:355 msgid "2022-blake3-chacha20-poly1305" msgstr "" @@ -110,16 +110,16 @@ msgstr "" msgid "0 or 1 only." msgstr "仅限 01。" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1087 +#: htdocs/luci-static/resources/fchomo/listeners.js:1102 +#: htdocs/luci-static/resources/fchomo/listeners.js:1127 +#: htdocs/luci-static/resources/view/fchomo/node.js:1254 +#: htdocs/luci-static/resources/view/fchomo/node.js:1268 msgid "Save your configuration before uploading files!" msgstr "上传文件前请先保存配置!" -#: htdocs/luci-static/resources/fchomo/listeners.js:286 -#: htdocs/luci-static/resources/view/fchomo/node.js:435 +#: htdocs/luci-static/resources/fchomo/listeners.js:207 +#: htdocs/luci-static/resources/view/fchomo/node.js:370 msgid "" "A base64 string is used to fine-tune network behavior.
Please refer to " "the document" msgid "All allowed" msgstr "允许所有" -#: htdocs/luci-static/resources/fchomo.js:248 +#: htdocs/luci-static/resources/fchomo.js:250 msgid "All ports" msgstr "所有端口" @@ -287,11 +287,11 @@ msgid "" msgstr "" "允许从私有网络访问。
要从公共网站访问私有网络上的 API,则必须启用。" -#: htdocs/luci-static/resources/fchomo/listeners.js:989 +#: htdocs/luci-static/resources/fchomo/listeners.js:1023 msgid "Allow insecure connections" msgstr "允许不安全的连接" -#: htdocs/luci-static/resources/view/fchomo/node.js:856 +#: htdocs/luci-static/resources/view/fchomo/node.js:792 msgid "Allowed IPs" msgstr "允许的 IP" @@ -303,13 +303,13 @@ msgstr "已是最新版本。" msgid "Already in updating." msgstr "已在更新中。" -#: htdocs/luci-static/resources/fchomo/listeners.js:543 -#: htdocs/luci-static/resources/view/fchomo/node.js:706 +#: htdocs/luci-static/resources/fchomo/listeners.js:409 +#: htdocs/luci-static/resources/view/fchomo/node.js:527 msgid "Alter ID" msgstr "额外 ID" #: htdocs/luci-static/resources/fchomo.js:164 -#: htdocs/luci-static/resources/fchomo.js:200 +#: htdocs/luci-static/resources/fchomo.js:201 msgid "AnyTLS" msgstr "" @@ -326,24 +326,24 @@ msgstr "作为 dnsmasq 的最优先上游" msgid "As the TOP upstream of dnsmasq." msgstr "作为 dnsmasq 的最优先上游。" -#: htdocs/luci-static/resources/fchomo/listeners.js:493 +#: htdocs/luci-static/resources/fchomo/listeners.js:457 msgid "Auth timeout" msgstr "认证超时" -#: htdocs/luci-static/resources/view/fchomo/node.js:728 +#: htdocs/luci-static/resources/view/fchomo/node.js:549 msgid "Authenticated length" msgstr "认证长度" -#: htdocs/luci-static/resources/fchomo/listeners.js:440 -#: htdocs/luci-static/resources/fchomo/listeners.js:1202 +#: htdocs/luci-static/resources/fchomo/listeners.js:361 +#: htdocs/luci-static/resources/fchomo/listeners.js:1285 #: htdocs/luci-static/resources/view/fchomo/global.js:423 -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:450 +#: htdocs/luci-static/resources/view/fchomo/node.js:474 +#: htdocs/luci-static/resources/view/fchomo/node.js:1453 msgid "Auto" msgstr "自动" -#: htdocs/luci-static/resources/fchomo/listeners.js:138 +#: htdocs/luci-static/resources/fchomo/listeners.js:139 msgid "Auto configure firewall" msgstr "自动配置防火墙" @@ -355,8 +355,8 @@ msgstr "自动更新" msgid "Auto update resources." msgstr "自动更新资源文件。" -#: htdocs/luci-static/resources/fchomo/listeners.js:661 -#: htdocs/luci-static/resources/view/fchomo/node.js:964 +#: htdocs/luci-static/resources/fchomo/listeners.js:609 +#: htdocs/luci-static/resources/view/fchomo/node.js:924 msgid "BBR profile" msgstr "BBR 配置文件" @@ -364,11 +364,11 @@ msgstr "BBR 配置文件" msgid "Baidu" msgstr "百度" -#: htdocs/luci-static/resources/view/fchomo/node.js:743 +#: htdocs/luci-static/resources/view/fchomo/node.js:829 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:751 +#: htdocs/luci-static/resources/view/fchomo/node.js:837 msgid "Base64 encoded ECDSA public key on the NIST P-256 curve." msgstr "基于 NIST P-256 曲线的 Base64 编码 ECDSA 公钥。" @@ -390,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:1562 -#: htdocs/luci-static/resources/view/fchomo/node.js:1954 +#: htdocs/luci-static/resources/view/fchomo/node.js:1614 +#: htdocs/luci-static/resources/view/fchomo/node.js:2033 msgid "Bind interface" msgstr "绑定接口" -#: htdocs/luci-static/resources/view/fchomo/node.js:1563 -#: htdocs/luci-static/resources/view/fchomo/node.js:1955 +#: htdocs/luci-static/resources/view/fchomo/node.js:1615 +#: htdocs/luci-static/resources/view/fchomo/node.js:2034 msgid "Bind outbound interface.
" msgstr "绑定出站接口。
" @@ -438,14 +438,14 @@ msgstr "绕过 CN 流量" msgid "Bypass DSCP" msgstr "绕过 DSCP" -#: htdocs/luci-static/resources/fchomo/listeners.js:438 -#: 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: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 +#: htdocs/luci-static/resources/fchomo/listeners.js:359 +#: htdocs/luci-static/resources/fchomo/listeners.js:360 +#: htdocs/luci-static/resources/fchomo/listeners.js:361 +#: htdocs/luci-static/resources/fchomo/listeners.js:362 +#: htdocs/luci-static/resources/view/fchomo/node.js:448 +#: htdocs/luci-static/resources/view/fchomo/node.js:449 +#: htdocs/luci-static/resources/view/fchomo/node.js:450 +#: htdocs/luci-static/resources/view/fchomo/node.js:451 msgid "CDN support" msgstr "CDN 支持" @@ -461,21 +461,21 @@ msgstr "CORS 允许私有网络" msgid "CORS allowed origins, * will be used if empty." msgstr "CORS 允许的来源,留空则使用 *。" -#: htdocs/luci-static/resources/fchomo.js:758 +#: htdocs/luci-static/resources/fchomo.js:760 msgid "Cancel" msgstr "取消" -#: htdocs/luci-static/resources/view/fchomo/node.js:1178 +#: htdocs/luci-static/resources/view/fchomo/node.js:1220 msgid "Cert fingerprint" msgstr "证书指纹" -#: htdocs/luci-static/resources/view/fchomo/node.js:1179 +#: htdocs/luci-static/resources/view/fchomo/node.js:1221 msgid "" "Certificate fingerprint. Used to implement SSL Pinning and prevent MitM." msgstr "证书指纹。用于实现 SSL证书固定 并防止 MitM。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1000 -#: htdocs/luci-static/resources/view/fchomo/node.js:1199 +#: htdocs/luci-static/resources/fchomo/listeners.js:1079 +#: htdocs/luci-static/resources/view/fchomo/node.js:1247 msgid "Certificate path" msgstr "证书路径" @@ -511,16 +511,16 @@ msgstr "大陆 IPv6 库版本" msgid "China list version" 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:388 -#: htdocs/luci-static/resources/view/fchomo/node.js:447 -#: htdocs/luci-static/resources/view/fchomo/node.js:712 +#: htdocs/luci-static/resources/fchomo/listeners.js:176 +#: htdocs/luci-static/resources/fchomo/listeners.js:275 +#: htdocs/luci-static/resources/view/fchomo/node.js:323 +#: htdocs/luci-static/resources/view/fchomo/node.js:382 +#: htdocs/luci-static/resources/view/fchomo/node.js:533 msgid "Chipher" msgstr "加密方法" -#: htdocs/luci-static/resources/fchomo/listeners.js:363 -#: htdocs/luci-static/resources/view/fchomo/node.js:456 +#: htdocs/luci-static/resources/fchomo/listeners.js:284 +#: htdocs/luci-static/resources/view/fchomo/node.js:391 msgid "Chipher must be enabled if obfuscate downlink is disabled." msgstr "如果下行链路混淆功能被禁用,则必须启用加密。" @@ -536,29 +536,29 @@ msgstr "" "点击
此处下载" "最新的初始包。" -#: htdocs/luci-static/resources/fchomo/listeners.js:759 -#: htdocs/luci-static/resources/fchomo/listeners.js:1039 +#: htdocs/luci-static/resources/fchomo/listeners.js:819 +#: htdocs/luci-static/resources/fchomo/listeners.js:1118 #: htdocs/luci-static/resources/view/fchomo/global.js:571 -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1076 +#: htdocs/luci-static/resources/view/fchomo/node.js:1248 +#: htdocs/luci-static/resources/view/fchomo/node.js:1262 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:22 msgid "Client" msgstr "客户端" -#: htdocs/luci-static/resources/fchomo/listeners.js:1038 +#: htdocs/luci-static/resources/fchomo/listeners.js:1117 msgid "Client Auth Certificate path" msgstr "客户端认证证书路径" -#: htdocs/luci-static/resources/fchomo/listeners.js:1030 +#: htdocs/luci-static/resources/fchomo/listeners.js:1109 msgid "Client Auth type" msgstr "客户端认证类型" -#: htdocs/luci-static/resources/view/fchomo/node.js:1245 +#: htdocs/luci-static/resources/view/fchomo/node.js:1293 msgid "Client fingerprint" msgstr "客户端指纹" -#: htdocs/luci-static/resources/fchomo/listeners.js:350 +#: htdocs/luci-static/resources/fchomo/listeners.js:271 msgid "Client key" msgstr "客户端密钥" @@ -570,21 +570,17 @@ msgstr "客户端状态" msgid "Collecting data..." msgstr "收集数据中..." -#: htdocs/luci-static/resources/fchomo.js:249 -#: htdocs/luci-static/resources/fchomo.js:250 +#: htdocs/luci-static/resources/fchomo.js:251 +#: htdocs/luci-static/resources/fchomo.js:252 msgid "Common ports (bypass P2P traffic)" msgstr "常用端口(绕过 P2P 流量)" -#: htdocs/luci-static/resources/fchomo.js:1743 +#: htdocs/luci-static/resources/fchomo.js:1745 msgid "Complete" msgstr "完成" -#: htdocs/luci-static/resources/view/fchomo/node.js:1898 -msgid "Other configuration items" -msgstr "其他配置项" - -#: htdocs/luci-static/resources/fchomo/listeners.js:653 -#: htdocs/luci-static/resources/view/fchomo/node.js:955 +#: htdocs/luci-static/resources/fchomo/listeners.js:601 +#: htdocs/luci-static/resources/view/fchomo/node.js:915 msgid "Congestion controller" msgstr "拥塞控制器" @@ -592,7 +588,7 @@ msgstr "拥塞控制器" msgid "Connection check" msgstr "连接检查" -#: htdocs/luci-static/resources/view/fchomo/node.js:572 +#: htdocs/luci-static/resources/view/fchomo/node.js:507 msgid "Connection reuse" msgstr "连接复用" @@ -600,19 +596,19 @@ msgstr "连接复用" msgid "Conservative" msgstr "保守" -#: htdocs/luci-static/resources/fchomo.js:627 +#: htdocs/luci-static/resources/fchomo.js:629 msgid "Content copied to clipboard!" msgstr "内容已复制到剪贴板!" #: 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/node.js:1804 +#: htdocs/luci-static/resources/view/fchomo/node.js:1830 #: 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:1737 +#: htdocs/luci-static/resources/view/fchomo/node.js:1803 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:347 msgid "Contents" msgstr "内容" @@ -621,7 +617,7 @@ msgstr "内容" msgid "Contents have been saved." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:629 +#: htdocs/luci-static/resources/fchomo.js:631 msgid "Copy" msgstr "复制" @@ -637,7 +633,7 @@ msgstr "Cron 表达式" msgid "Custom Direct List" msgstr "自定义直连列表" -#: htdocs/luci-static/resources/view/fchomo/node.js:1869 +#: htdocs/luci-static/resources/view/fchomo/node.js:1935 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:420 msgid "Custom HTTP header." msgstr "自定义 HTTP header。" @@ -646,8 +642,8 @@ msgstr "自定义 HTTP header。" msgid "Custom Proxy List" msgstr "自定义代理列表" -#: htdocs/luci-static/resources/fchomo/listeners.js:378 -#: htdocs/luci-static/resources/view/fchomo/node.js:471 +#: htdocs/luci-static/resources/fchomo/listeners.js:299 +#: htdocs/luci-static/resources/view/fchomo/node.js:406 msgid "Custom byte layout" msgstr "自定义字节布局" @@ -656,7 +652,7 @@ msgid "" "Custom internal hosts. Support yaml or json format." msgstr "自定义内部 hosts。支持 yamljson 格式。" -#: htdocs/luci-static/resources/fchomo.js:189 +#: htdocs/luci-static/resources/fchomo.js:190 msgid "DIRECT" msgstr "" @@ -673,8 +669,8 @@ msgstr " DNS 端口" #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:822 +#: htdocs/luci-static/resources/view/fchomo/node.js:889 msgid "DNS server" msgstr "DNS 服务器" @@ -708,28 +704,32 @@ msgstr "默认 DNS 服务器" msgid "Default selected" msgstr "默认选中" +#: htdocs/luci-static/resources/fchomo/listeners.js:546 +msgid "Default version, Support %s." +msgstr "默认版本,支持 %s。" + #: htdocs/luci-static/resources/view/fchomo/node.js:22 msgid "Derive from priv-key" msgstr "从私钥派生" -#: htdocs/luci-static/resources/view/fchomo/node.js:857 +#: htdocs/luci-static/resources/view/fchomo/node.js:793 msgid "Destination addresses allowed to be forwarded via Wireguard." msgstr "允许通过 WireGuard 转发的目的地址" -#: htdocs/luci-static/resources/view/fchomo/node.js:2079 +#: htdocs/luci-static/resources/view/fchomo/node.js:2158 msgid "Destination provider" msgstr "落地供应商" -#: htdocs/luci-static/resources/view/fchomo/node.js:2090 +#: htdocs/luci-static/resources/view/fchomo/node.js:2169 msgid "Destination proxy node" msgstr "落地代理节点" -#: htdocs/luci-static/resources/view/fchomo/node.js:239 +#: htdocs/luci-static/resources/view/fchomo/node.js:243 msgid "Dial fields" msgstr "拨号字段" -#: htdocs/luci-static/resources/view/fchomo/node.js:2102 -#: htdocs/luci-static/resources/view/fchomo/node.js:2132 +#: htdocs/luci-static/resources/view/fchomo/node.js:2181 +#: htdocs/luci-static/resources/view/fchomo/node.js:2211 msgid "Different chain head/tail" msgstr "不同的链头/链尾" @@ -749,9 +749,9 @@ msgstr "直连 IPv6 地址" msgid "Direct MAC-s" msgstr "直连 MAC 地址" -#: htdocs/luci-static/resources/fchomo/listeners.js:194 +#: htdocs/luci-static/resources/fchomo/listeners.js:484 #: htdocs/luci-static/resources/view/fchomo/global.js:424 -#: htdocs/luci-static/resources/view/fchomo/node.js:343 +#: htdocs/luci-static/resources/view/fchomo/node.js:695 msgid "Disable" msgstr "禁用" @@ -767,7 +767,7 @@ msgstr "禁用 quic-go 的 通用分段卸载(GSO)" msgid "Disable ICMP Forwarding" msgstr "禁用 ICMP 转发" -#: htdocs/luci-static/resources/view/fchomo/node.js:1121 +#: htdocs/luci-static/resources/view/fchomo/node.js:1161 msgid "Disable SNI" msgstr "禁用 SNI" @@ -795,48 +795,48 @@ msgstr "" msgid "Domain" msgstr "域名" -#: htdocs/luci-static/resources/view/fchomo/node.js:1122 +#: htdocs/luci-static/resources/view/fchomo/node.js:1162 msgid "Donot send server name in ClientHello." msgstr "不要在 ClientHello 中发送服务器名称。" #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1240 +#: htdocs/luci-static/resources/view/fchomo/node.js:2017 msgid "Donot verifying server certificate." msgstr "不验证服务器证书。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1254 -#: htdocs/luci-static/resources/view/fchomo/node.js:1539 +#: htdocs/luci-static/resources/fchomo/listeners.js:1337 +#: htdocs/luci-static/resources/view/fchomo/node.js:1591 msgid "Download bandwidth" msgstr "下载带宽" -#: htdocs/luci-static/resources/fchomo/listeners.js:1255 -#: htdocs/luci-static/resources/view/fchomo/node.js:1540 +#: htdocs/luci-static/resources/fchomo/listeners.js:1338 +#: htdocs/luci-static/resources/view/fchomo/node.js:1592 msgid "Download bandwidth in Mbps." msgstr "下载带宽(单位:Mbps)。" -#: htdocs/luci-static/resources/fchomo.js:1622 +#: htdocs/luci-static/resources/fchomo.js:1624 msgid "Download failed: %s" msgstr "下载失败: %s" -#: htdocs/luci-static/resources/fchomo.js:1620 +#: htdocs/luci-static/resources/fchomo.js:1622 msgid "Download successful." msgstr "下载成功。" -#: htdocs/luci-static/resources/fchomo.js:174 +#: htdocs/luci-static/resources/fchomo.js:175 msgid "Dual stack" msgstr "双栈" -#: htdocs/luci-static/resources/view/fchomo/node.js:1239 +#: htdocs/luci-static/resources/view/fchomo/node.js:1287 msgid "ECH HTTPS record query servername" msgstr "ECH HTTPS 记录查询域名" -#: htdocs/luci-static/resources/fchomo/listeners.js:1096 -#: htdocs/luci-static/resources/view/fchomo/node.js:1233 +#: htdocs/luci-static/resources/fchomo/listeners.js:1175 +#: htdocs/luci-static/resources/view/fchomo/node.js:1281 msgid "ECH config" msgstr "ECH 配置" -#: htdocs/luci-static/resources/fchomo/listeners.js:1055 +#: htdocs/luci-static/resources/fchomo/listeners.js:1134 msgid "ECH key" msgstr "ECH 密钥" @@ -852,11 +852,11 @@ msgstr "EDNS 客户端子网" msgid "ETag support" msgstr "ETag 支持" -#: htdocs/luci-static/resources/view/fchomo/node.js:1379 +#: htdocs/luci-static/resources/view/fchomo/node.js:1431 msgid "Early Data first packet length limit." msgstr "前置数据长度阈值" -#: htdocs/luci-static/resources/view/fchomo/node.js:1385 +#: htdocs/luci-static/resources/view/fchomo/node.js:1437 msgid "Early Data header name" msgstr "前置数据标头" @@ -864,7 +864,7 @@ msgstr "前置数据标头" msgid "Edit inbound" msgstr "编辑入站" -#: htdocs/luci-static/resources/view/fchomo/node.js:214 +#: htdocs/luci-static/resources/view/fchomo/node.js:217 msgid "Edit outbound" msgstr "编辑出站" @@ -872,12 +872,12 @@ msgstr "编辑出站" msgid "Edit ruleset" msgstr "编辑规则集" -#: htdocs/luci-static/resources/view/fchomo/node.js:1735 +#: htdocs/luci-static/resources/view/fchomo/node.js:1801 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:345 msgid "Editer" msgstr "编辑器" -#: htdocs/luci-static/resources/fchomo.js:395 +#: htdocs/luci-static/resources/fchomo.js:397 msgid "Eliminate encryption header characteristics" msgstr "消除加密头特征" @@ -885,7 +885,7 @@ msgstr "消除加密头特征" msgid "Empty fallback" msgstr "为空时回退" -#: htdocs/luci-static/resources/fchomo/listeners.js:133 +#: htdocs/luci-static/resources/fchomo/listeners.js:134 #: 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 @@ -895,16 +895,16 @@ msgstr "为空时回退" #: 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: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/node.js:250 +#: htdocs/luci-static/resources/view/fchomo/node.js:1774 +#: htdocs/luci-static/resources/view/fchomo/node.js:2056 +#: htdocs/luci-static/resources/view/fchomo/node.js:2145 #: 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:621 +#: htdocs/luci-static/resources/view/fchomo/node.js:650 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:620 +#: htdocs/luci-static/resources/view/fchomo/node.js:649 msgid "Enable 0-RTT handshake" msgstr "启用 0-RTT 握手" @@ -925,60 +925,60 @@ msgstr "" "为出站连接启用 IP4P 转换" -#: htdocs/luci-static/resources/view/fchomo/node.js:1227 +#: htdocs/luci-static/resources/view/fchomo/node.js:1275 msgid "Enable ECH" msgstr "启用 ECH" -#: htdocs/luci-static/resources/fchomo/listeners.js:1242 -#: htdocs/luci-static/resources/view/fchomo/node.js:1527 +#: htdocs/luci-static/resources/fchomo/listeners.js:1325 +#: htdocs/luci-static/resources/view/fchomo/node.js:1579 msgid "Enable TCP Brutal" msgstr "启用 TCP Brutal" -#: htdocs/luci-static/resources/fchomo/listeners.js:1243 -#: htdocs/luci-static/resources/view/fchomo/node.js:1528 +#: htdocs/luci-static/resources/fchomo/listeners.js:1326 +#: htdocs/luci-static/resources/view/fchomo/node.js:1580 msgid "Enable TCP Brutal congestion control algorithm" msgstr "启用 TCP Brutal 拥塞控制算法。" -#: htdocs/luci-static/resources/view/fchomo/node.js:615 +#: htdocs/luci-static/resources/view/fchomo/node.js:644 msgid "Enable fast open" msgstr "启用 Fast open" -#: htdocs/luci-static/resources/view/fchomo/node.js:1516 +#: htdocs/luci-static/resources/view/fchomo/node.js:1568 msgid "Enable multiplexing only for TCP." msgstr "仅为 TCP 启用多路复用。" -#: htdocs/luci-static/resources/fchomo/listeners.js:424 -#: htdocs/luci-static/resources/view/fchomo/node.js:499 +#: htdocs/luci-static/resources/fchomo/listeners.js:345 +#: htdocs/luci-static/resources/view/fchomo/node.js:434 msgid "Enable obfuscate for downlink" msgstr "启用下行链路混淆" -#: htdocs/luci-static/resources/fchomo/listeners.js:1237 -#: htdocs/luci-static/resources/view/fchomo/node.js:1510 +#: htdocs/luci-static/resources/fchomo/listeners.js:1320 +#: htdocs/luci-static/resources/view/fchomo/node.js:1562 msgid "Enable padding" msgstr "启用填充" -#: htdocs/luci-static/resources/view/fchomo/node.js:1521 +#: htdocs/luci-static/resources/view/fchomo/node.js:1573 msgid "Enable statistic" msgstr "启用统计" -#: htdocs/luci-static/resources/view/fchomo/node.js:988 -#: htdocs/luci-static/resources/view/fchomo/node.js:1920 +#: htdocs/luci-static/resources/view/fchomo/node.js:954 +#: htdocs/luci-static/resources/view/fchomo/node.js:1993 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:350 +#: htdocs/luci-static/resources/fchomo/listeners.js:491 +#: htdocs/luci-static/resources/view/fchomo/node.js:702 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:722 +#: htdocs/luci-static/resources/fchomo/listeners.js:782 msgid "Encryption method" msgstr "加密方法" -#: htdocs/luci-static/resources/view/fchomo/node.js:750 +#: htdocs/luci-static/resources/view/fchomo/node.js:836 msgid "Endpoint pubkic key" msgstr "端点公钥" @@ -1001,7 +1001,7 @@ msgid "" "if empty." msgstr "超过此限制将会触发强制健康检查。留空则使用 5。" -#: htdocs/luci-static/resources/view/fchomo/node.js:2035 +#: htdocs/luci-static/resources/view/fchomo/node.js:2114 msgid "Exclude matched node types." msgstr "排除匹配的节点类型。" @@ -1014,7 +1014,7 @@ msgstr "" "rel=\"noreferrer noopener\">此处。" #: htdocs/luci-static/resources/view/fchomo/client.js:1243 -#: htdocs/luci-static/resources/view/fchomo/node.js:2028 +#: htdocs/luci-static/resources/view/fchomo/node.js:2107 msgid "Exclude nodes that meet keywords or regexps." msgstr "排除匹配关键词或表达式的节点。" @@ -1023,73 +1023,73 @@ msgid "Expand/Collapse result" msgstr "展开/收起 结果" #: htdocs/luci-static/resources/view/fchomo/client.js:1186 -#: htdocs/luci-static/resources/view/fchomo/node.js:2013 +#: htdocs/luci-static/resources/view/fchomo/node.js:2092 msgid "Expected HTTP code. 204 will be used if empty." msgstr "预期的 HTTP code。留空则使用 204。" #: htdocs/luci-static/resources/view/fchomo/client.js:1188 -#: htdocs/luci-static/resources/view/fchomo/node.js:2015 +#: htdocs/luci-static/resources/view/fchomo/node.js:2094 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: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:1849 -#: htdocs/luci-static/resources/fchomo.js:1859 -#: htdocs/luci-static/resources/fchomo.js:1871 -#: 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:454 +#: htdocs/luci-static/resources/fchomo.js:457 +#: htdocs/luci-static/resources/fchomo.js:460 +#: htdocs/luci-static/resources/fchomo.js:1762 +#: htdocs/luci-static/resources/fchomo.js:1770 +#: htdocs/luci-static/resources/fchomo.js:1778 +#: htdocs/luci-static/resources/fchomo.js:1801 +#: htdocs/luci-static/resources/fchomo.js:1804 +#: htdocs/luci-static/resources/fchomo.js:1811 +#: htdocs/luci-static/resources/fchomo.js:1827 +#: htdocs/luci-static/resources/fchomo.js:1836 +#: htdocs/luci-static/resources/fchomo.js:1848 +#: htdocs/luci-static/resources/fchomo.js:1851 +#: htdocs/luci-static/resources/fchomo.js:1861 +#: htdocs/luci-static/resources/fchomo.js:1873 +#: htdocs/luci-static/resources/fchomo.js:1876 +#: htdocs/luci-static/resources/fchomo.js:1886 +#: htdocs/luci-static/resources/fchomo.js:1896 #: 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:751 -#: htdocs/luci-static/resources/fchomo/listeners.js:782 -#: htdocs/luci-static/resources/fchomo/listeners.js:883 +#: htdocs/luci-static/resources/fchomo.js:1933 +#: htdocs/luci-static/resources/fchomo.js:1946 +#: htdocs/luci-static/resources/fchomo.js:1952 +#: htdocs/luci-static/resources/fchomo.js:1959 +#: htdocs/luci-static/resources/fchomo.js:1968 +#: htdocs/luci-static/resources/fchomo/listeners.js:284 +#: htdocs/luci-static/resources/fchomo/listeners.js:331 +#: htdocs/luci-static/resources/fchomo/listeners.js:811 +#: htdocs/luci-static/resources/fchomo/listeners.js:842 +#: htdocs/luci-static/resources/fchomo/listeners.js:943 #: htdocs/luci-static/resources/view/fchomo/client.js:71 #: 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: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/node.js:391 +#: htdocs/luci-static/resources/view/fchomo/node.js:427 +#: htdocs/luci-static/resources/view/fchomo/node.js:480 +#: htdocs/luci-static/resources/view/fchomo/node.js:482 +#: htdocs/luci-static/resources/view/fchomo/node.js:1099 +#: htdocs/luci-static/resources/view/fchomo/node.js:1226 +#: htdocs/luci-static/resources/view/fchomo/node.js:2181 +#: htdocs/luci-static/resources/view/fchomo/node.js:2211 #: 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/view/fchomo/node.js:274 -#: htdocs/luci-static/resources/view/fchomo/node.js:292 +#: htdocs/luci-static/resources/view/fchomo/node.js:278 +#: htdocs/luci-static/resources/view/fchomo/node.js:296 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:654 +#: htdocs/luci-static/resources/fchomo/listeners.js:1246 +#: htdocs/luci-static/resources/fchomo/listeners.js:1253 +#: htdocs/luci-static/resources/view/fchomo/node.js:985 +#: htdocs/luci-static/resources/view/fchomo/node.js:1346 +#: htdocs/luci-static/resources/view/fchomo/node.js:1353 +#: htdocs/luci-static/resources/view/fchomo/node.js:1361 msgid "Expecting: only support %s." msgstr "请输入:仅支援 %s。" @@ -1109,24 +1109,24 @@ msgstr "实验性" msgid "Factor" msgstr "条件" -#: htdocs/luci-static/resources/fchomo.js:1701 +#: htdocs/luci-static/resources/fchomo.js:1703 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:1654 +#: htdocs/luci-static/resources/fchomo.js:1656 msgid "Failed to generate %s, error: %s." msgstr "生成 %s 失败,错误:%s。" -#: htdocs/luci-static/resources/fchomo.js:2066 +#: htdocs/luci-static/resources/fchomo.js:2068 msgid "Failed to upload %s, error: %s." msgstr "上传 %s 失败,错误:%s。" -#: htdocs/luci-static/resources/fchomo.js:2085 +#: htdocs/luci-static/resources/fchomo.js:2087 msgid "Failed to upload, error: %s." msgstr "上传失败,错误:%s。" -#: htdocs/luci-static/resources/fchomo.js:242 -#: htdocs/luci-static/resources/fchomo/listeners.js:449 +#: htdocs/luci-static/resources/fchomo.js:244 +#: htdocs/luci-static/resources/fchomo/listeners.js:370 msgid "Fallback" msgstr "自动回退" @@ -1142,7 +1142,7 @@ msgid "Fallback filter" msgstr "後備过滤器" #: htdocs/luci-static/resources/view/fchomo/client.js:1238 -#: htdocs/luci-static/resources/view/fchomo/node.js:2022 +#: htdocs/luci-static/resources/view/fchomo/node.js:2101 msgid "Filter nodes that meet keywords or regexps." msgstr "过滤匹配关键字或表达式的节点。" @@ -1167,12 +1167,12 @@ msgstr "兜底 DNS 服务器 (用于未被投毒污染的域名)" msgid "Final DNS server (For poisoned domains)" msgstr "兜底 DNS 服务器 (用于已被投毒污染的域名)" -#: htdocs/luci-static/resources/fchomo/listeners.js:137 +#: htdocs/luci-static/resources/fchomo/listeners.js:138 msgid "Firewall" msgstr "防火墙" -#: htdocs/luci-static/resources/fchomo/listeners.js:535 -#: htdocs/luci-static/resources/view/fchomo/node.js:698 +#: htdocs/luci-static/resources/fchomo/listeners.js:401 +#: htdocs/luci-static/resources/view/fchomo/node.js:519 msgid "Flow" msgstr "流控" @@ -1185,8 +1185,9 @@ msgstr "" "noopener\">%s." #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1954 +#: htdocs/luci-static/resources/view/fchomo/node.js:1962 +#: htdocs/luci-static/resources/view/fchomo/node.js:2093 msgid "" "For format see %s." @@ -1194,8 +1195,8 @@ msgstr "" "格式请参阅 %s." -#: htdocs/luci-static/resources/view/fchomo/node.js:798 -#: htdocs/luci-static/resources/view/fchomo/node.js:881 +#: htdocs/luci-static/resources/view/fchomo/node.js:817 +#: htdocs/luci-static/resources/view/fchomo/node.js:884 msgid "Force DNS remote resolution." msgstr "强制 DNS 远程解析。" @@ -1207,6 +1208,10 @@ msgstr "强制嗅探域名" msgid "Format" msgstr "格式" +#: htdocs/luci-static/resources/fchomo/listeners.js:729 +msgid "Forwarding rate limit" +msgstr "转发速率限制" + #: htdocs/luci-static/resources/view/fchomo/global.js:138 #: htdocs/luci-static/resources/view/fchomo/log.js:140 #: htdocs/luci-static/resources/view/fchomo/log.js:145 @@ -1214,7 +1219,7 @@ msgstr "格式" msgid "FullCombo Shark!" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1334 +#: htdocs/luci-static/resources/view/fchomo/node.js:1386 msgid "GET" msgstr "" @@ -1222,8 +1227,8 @@ msgstr "" msgid "GFW list version" msgstr "GFW 域名列表版本" -#: htdocs/luci-static/resources/fchomo/listeners.js:196 -#: htdocs/luci-static/resources/view/fchomo/node.js:345 +#: htdocs/luci-static/resources/fchomo/listeners.js:486 +#: htdocs/luci-static/resources/view/fchomo/node.js:697 msgid "Gecko" msgstr "" @@ -1233,8 +1238,8 @@ msgstr "常规" #: htdocs/luci-static/resources/fchomo/listeners.js:119 #: 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:1698 +#: htdocs/luci-static/resources/view/fchomo/node.js:236 +#: htdocs/luci-static/resources/view/fchomo/node.js:1764 msgid "General fields" msgstr "常规字段" @@ -1242,17 +1247,17 @@ msgstr "常规字段" msgid "General settings" msgstr "常规设置" -#: htdocs/luci-static/resources/fchomo.js:578 #: htdocs/luci-static/resources/fchomo.js:580 -#: htdocs/luci-static/resources/fchomo.js:594 +#: htdocs/luci-static/resources/fchomo.js:582 #: htdocs/luci-static/resources/fchomo.js:596 -#: 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:855 -#: htdocs/luci-static/resources/fchomo/listeners.js:1088 +#: htdocs/luci-static/resources/fchomo.js:598 +#: htdocs/luci-static/resources/fchomo/listeners.js:262 +#: htdocs/luci-static/resources/fchomo/listeners.js:306 +#: htdocs/luci-static/resources/fchomo/listeners.js:308 +#: htdocs/luci-static/resources/fchomo/listeners.js:915 +#: htdocs/luci-static/resources/fchomo/listeners.js:1167 #: htdocs/luci-static/resources/view/fchomo/global.js:608 -#: htdocs/luci-static/resources/view/fchomo/node.js:1856 +#: htdocs/luci-static/resources/view/fchomo/node.js:1922 msgid "Generate" msgstr "生成" @@ -1299,7 +1304,7 @@ msgstr "全局" msgid "Global Authentication" msgstr "全局认证" -#: htdocs/luci-static/resources/view/fchomo/node.js:722 +#: htdocs/luci-static/resources/view/fchomo/node.js:543 msgid "Global padding" msgstr "全局填充" @@ -1307,7 +1312,7 @@ msgstr "全局填充" msgid "Google" msgstr "谷歌" -#: htdocs/luci-static/resources/fchomo.js:254 +#: htdocs/luci-static/resources/fchomo.js:256 msgid "Google FCM" msgstr "谷歌 FCM" @@ -1320,49 +1325,49 @@ msgid "Group" msgstr "组" #: htdocs/luci-static/resources/fchomo.js:154 -#: htdocs/luci-static/resources/fchomo.js:190 -#: 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:1294 -#: htdocs/luci-static/resources/view/fchomo/node.js:1301 +#: htdocs/luci-static/resources/fchomo.js:191 +#: htdocs/luci-static/resources/fchomo/listeners.js:665 +#: htdocs/luci-static/resources/view/fchomo/node.js:996 +#: htdocs/luci-static/resources/view/fchomo/node.js:1333 +#: htdocs/luci-static/resources/view/fchomo/node.js:1346 +#: htdocs/luci-static/resources/view/fchomo/node.js:1353 msgid "HTTP" msgstr "" -#: 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/node.js:316 +#: htdocs/luci-static/resources/view/fchomo/node.js:1408 +#: htdocs/luci-static/resources/view/fchomo/node.js:1934 #: 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:505 +#: htdocs/luci-static/resources/fchomo/listeners.js:351 +#: htdocs/luci-static/resources/view/fchomo/node.js:440 msgid "HTTP mask" msgstr "HTTP 伪装" -#: htdocs/luci-static/resources/fchomo/listeners.js:435 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:356 +#: htdocs/luci-static/resources/view/fchomo/node.js:445 +#: htdocs/luci-static/resources/view/fchomo/node.js:480 +#: htdocs/luci-static/resources/view/fchomo/node.js:482 msgid "HTTP mask mode" msgstr "HTTP 伪装模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:535 +#: htdocs/luci-static/resources/view/fchomo/node.js:470 msgid "HTTP mask multiplex" msgstr "HTTP 伪装多路复用" -#: htdocs/luci-static/resources/view/fchomo/node.js:520 -#: htdocs/luci-static/resources/view/fchomo/node.js:525 +#: htdocs/luci-static/resources/view/fchomo/node.js:455 +#: htdocs/luci-static/resources/view/fchomo/node.js:460 msgid "HTTP mask: %s" msgstr "HTTP 伪装: %s" -#: htdocs/luci-static/resources/view/fchomo/node.js:1333 +#: htdocs/luci-static/resources/view/fchomo/node.js:1385 msgid "HTTP request method" msgstr "HTTP 请求方法" -#: htdocs/luci-static/resources/fchomo/listeners.js:445 -#: htdocs/luci-static/resources/view/fchomo/node.js:531 +#: htdocs/luci-static/resources/fchomo/listeners.js:366 +#: htdocs/luci-static/resources/view/fchomo/node.js:466 msgid "HTTP root path" msgstr "HTTP 根路径" @@ -1370,15 +1375,15 @@ msgstr "HTTP 根路径" msgid "HTTP/3" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:219 +#: htdocs/luci-static/resources/fchomo/listeners.js:509 msgid "" "HTTP3 server behavior when authentication fails.
A 404 page will be " "returned if empty." msgstr "身份验证失败时的 HTTP3 服务器响应。默认返回 404 页面。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1284 -#: htdocs/luci-static/resources/view/fchomo/node.js:1295 -#: htdocs/luci-static/resources/view/fchomo/node.js:1302 +#: htdocs/luci-static/resources/view/fchomo/node.js:1334 +#: htdocs/luci-static/resources/view/fchomo/node.js:1347 +#: htdocs/luci-static/resources/view/fchomo/node.js:1354 msgid "HTTPUpgrade" msgstr "" @@ -1386,53 +1391,58 @@ msgstr "" msgid "Handle domain" msgstr "处理域名" -#: htdocs/luci-static/resources/view/fchomo/node.js:427 +#: htdocs/luci-static/resources/view/fchomo/node.js:362 msgid "Handshake mode" msgstr "握手模式" -#: htdocs/luci-static/resources/fchomo/listeners.js:594 +#: htdocs/luci-static/resources/fchomo/listeners.js:712 +msgid "Handshake target proxy" +msgstr "握手目标代理" + +#: htdocs/luci-static/resources/fchomo/listeners.js:677 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:973 +#: htdocs/luci-static/resources/fchomo/listeners.js:338 +#: htdocs/luci-static/resources/view/fchomo/node.js:939 msgid "Handshake timeout" msgstr "握手超时" -#: htdocs/luci-static/resources/fchomo/listeners.js:244 +#: htdocs/luci-static/resources/fchomo/listeners.js:534 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:809 +#: htdocs/luci-static/resources/view/fchomo/node.js:720 msgid "Health check" msgstr "健康检查" #: htdocs/luci-static/resources/view/fchomo/client.js:1156 -#: htdocs/luci-static/resources/view/fchomo/node.js:1982 +#: htdocs/luci-static/resources/view/fchomo/node.js:2061 msgid "Health check URL" msgstr "健康检查 URL" #: htdocs/luci-static/resources/view/fchomo/client.js:1185 -#: htdocs/luci-static/resources/view/fchomo/node.js:2012 +#: htdocs/luci-static/resources/view/fchomo/node.js:2091 msgid "Health check expected status" msgstr "健康检查预期状态" #: htdocs/luci-static/resources/view/fchomo/client.js:1165 -#: htdocs/luci-static/resources/view/fchomo/node.js:1992 +#: htdocs/luci-static/resources/view/fchomo/node.js:2071 msgid "Health check interval" msgstr "健康检查间隔" #: htdocs/luci-static/resources/view/fchomo/client.js:1172 -#: htdocs/luci-static/resources/view/fchomo/node.js:1999 +#: htdocs/luci-static/resources/view/fchomo/node.js:2078 msgid "Health check timeout" msgstr "健康检查超时" #: htdocs/luci-static/resources/view/fchomo/client.js:1044 -#: htdocs/luci-static/resources/view/fchomo/node.js:1700 +#: htdocs/luci-static/resources/view/fchomo/node.js:1766 msgid "Health fields" msgstr "健康字段" -#: htdocs/luci-static/resources/view/fchomo/node.js:627 +#: htdocs/luci-static/resources/view/fchomo/node.js:656 +#: htdocs/luci-static/resources/view/fchomo/node.js:748 msgid "Heartbeat interval" msgstr "心跳间隔" @@ -1440,30 +1450,37 @@ msgstr "心跳间隔" msgid "Hidden" msgstr "隐藏" -#: htdocs/luci-static/resources/fchomo/listeners.js:587 -#: htdocs/luci-static/resources/view/fchomo/node.js:921 +#: htdocs/luci-static/resources/fchomo/listeners.js:670 +#: htdocs/luci-static/resources/view/fchomo/node.js:1001 msgid "Host that supports TLS 1.3" msgstr "主机名称 (支援 TLS 1.3)" -#: htdocs/luci-static/resources/view/fchomo/node.js:382 +#: htdocs/luci-static/resources/view/fchomo/node.js:909 msgid "Host-key" msgstr "主机密钥" -#: htdocs/luci-static/resources/view/fchomo/node.js:377 +#: htdocs/luci-static/resources/view/fchomo/node.js:904 msgid "Host-key algorithms" msgstr "主机密钥算法" -#: htdocs/luci-static/resources/view/fchomo/node.js:525 +#: htdocs/luci-static/resources/view/fchomo/node.js:460 msgid "Host/SNI override" msgstr "主机/SNI 覆盖" +#: htdocs/luci-static/resources/fchomo/listeners.js:1030 +#: htdocs/luci-static/resources/view/fchomo/node.js:1168 +msgid "" +"Hostname that the client attempts to connect to at the start of the TLS " +"handshake process." +msgstr "客户端在 TLS 握手过程开始时尝试连接的主机名称。" + #: htdocs/luci-static/resources/view/fchomo/hosts.js:27 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:30 msgid "Hosts" msgstr "" #: htdocs/luci-static/resources/fchomo.js:166 -#: htdocs/luci-static/resources/fchomo.js:202 +#: htdocs/luci-static/resources/fchomo.js:204 msgid "Hysteria2" msgstr "" @@ -1471,8 +1488,8 @@ msgstr "" msgid "Hysteria2 Realm Server" msgstr "Hysteria2 Realm 服务器" -#: htdocs/luci-static/resources/fchomo/listeners.js:121 -#: htdocs/luci-static/resources/view/fchomo/node.js:235 +#: htdocs/luci-static/resources/fchomo/listeners.js:122 +#: htdocs/luci-static/resources/view/fchomo/node.js:239 msgid "Hysteria2 Realm fields" msgstr "Hysteria2 Realm 字段" @@ -1485,20 +1502,20 @@ msgstr "" msgid "IP CIDR" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:584 +#: htdocs/luci-static/resources/view/fchomo/node.js:613 msgid "IP override" msgstr "IP 覆写" -#: htdocs/luci-static/resources/view/fchomo/node.js:1576 -#: htdocs/luci-static/resources/view/fchomo/node.js:1968 +#: htdocs/luci-static/resources/view/fchomo/node.js:1628 +#: htdocs/luci-static/resources/view/fchomo/node.js:2047 msgid "IP version" msgstr "IP 版本" -#: htdocs/luci-static/resources/fchomo.js:175 +#: htdocs/luci-static/resources/fchomo.js:176 msgid "IPv4 only" msgstr "仅 IPv4" -#: htdocs/luci-static/resources/fchomo.js:176 +#: htdocs/luci-static/resources/fchomo.js:177 msgid "IPv6 only" msgstr "仅 IPv6" @@ -1511,19 +1528,19 @@ msgstr "IPv6 支持" msgid "Icon" msgstr "图标" -#: htdocs/luci-static/resources/view/fchomo/node.js:671 +#: htdocs/luci-static/resources/view/fchomo/node.js:586 msgid "Idle session check interval" msgstr "闲置会话检查间隔" -#: htdocs/luci-static/resources/view/fchomo/node.js:678 +#: htdocs/luci-static/resources/view/fchomo/node.js:593 msgid "Idle session timeout" msgstr "闲置会话超时" -#: htdocs/luci-static/resources/fchomo/listeners.js:486 +#: htdocs/luci-static/resources/fchomo/listeners.js:618 msgid "Idle timeout" msgstr "闲置超时" -#: htdocs/luci-static/resources/fchomo.js:1802 +#: htdocs/luci-static/resources/fchomo.js:1804 msgid "If All ports is selected, uncheck others" msgstr "如果选择了“所有端口”,则取消选中“其他”" @@ -1531,11 +1548,11 @@ msgstr "如果选择了“所有端口”,则取消选中“其他”" msgid "If Block is selected, uncheck others" msgstr "如果选择了“阻止”,则取消选中“其他”" -#: htdocs/luci-static/resources/fchomo/listeners.js:187 +#: htdocs/luci-static/resources/fchomo/listeners.js:477 msgid "Ignore client bandwidth" msgstr "忽略客户端带宽" -#: htdocs/luci-static/resources/fchomo.js:763 +#: htdocs/luci-static/resources/fchomo.js:765 msgid "Import" msgstr "导入" @@ -1551,8 +1568,8 @@ msgstr "导入" #: 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/node.js:1654 +#: htdocs/luci-static/resources/view/fchomo/node.js:1752 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:154 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:249 msgid "Import mihomo config" @@ -1564,41 +1581,46 @@ msgstr "导入 mihomo 配置" msgid "Import rule-set links" 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: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 +#: htdocs/luci-static/resources/fchomo/listeners.js:466 +#: htdocs/luci-static/resources/fchomo/listeners.js:472 +#: htdocs/luci-static/resources/view/fchomo/node.js:683 +#: htdocs/luci-static/resources/view/fchomo/node.js:689 +#: htdocs/luci-static/resources/view/fchomo/node.js:1999 +#: htdocs/luci-static/resources/view/fchomo/node.js:2005 msgid "In Mbps." msgstr "单位为 Mbps。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1776 +#: htdocs/luci-static/resources/fchomo/listeners.js:730 +msgid "In bps. 0 means no speed limit." +msgstr "" + +#: htdocs/luci-static/resources/view/fchomo/node.js:1842 #: 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:628 -#: htdocs/luci-static/resources/view/fchomo/node.js:635 +#: htdocs/luci-static/resources/view/fchomo/node.js:657 +#: htdocs/luci-static/resources/view/fchomo/node.js:664 +#: htdocs/luci-static/resources/view/fchomo/node.js:749 msgid "In millisecond." msgstr "单位为毫秒。" #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:2079 msgid "In millisecond. %s will be used if empty." msgstr "单位为毫秒。留空则使用 %s。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1425 +#: htdocs/luci-static/resources/view/fchomo/node.js:1477 msgid "In milliseconds." msgstr "单位为毫秒。" -#: htdocs/luci-static/resources/fchomo/listeners.js:418 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:339 +#: htdocs/luci-static/resources/fchomo/listeners.js:458 +#: htdocs/luci-static/resources/fchomo/listeners.js:619 +#: htdocs/luci-static/resources/view/fchomo/node.js:587 +#: htdocs/luci-static/resources/view/fchomo/node.js:594 +#: htdocs/luci-static/resources/view/fchomo/node.js:1424 msgid "In seconds." msgstr "单位为秒。" @@ -1606,21 +1628,21 @@ msgstr "单位为秒。" #: 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: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/node.js:677 +#: htdocs/luci-static/resources/view/fchomo/node.js:1848 +#: htdocs/luci-static/resources/view/fchomo/node.js:2072 #: 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:974 +#: htdocs/luci-static/resources/view/fchomo/node.js:940 msgid "" "In seconds. After configuration, the handshake is not affected by the outer " "connection timeout." msgstr "单位为秒。配置后握手时不受外层连接超时影响。" -#: htdocs/luci-static/resources/fchomo/listeners.js:771 -#: htdocs/luci-static/resources/view/fchomo/node.js:1048 +#: htdocs/luci-static/resources/fchomo/listeners.js:831 +#: htdocs/luci-static/resources/view/fchomo/node.js:1088 msgid "" "In the order of one Padding-Length and one Padding-" "Interval, infinite concatenation." @@ -1662,7 +1684,7 @@ msgstr "引入所有代理节点。" msgid "Info" msgstr "信息" -#: htdocs/luci-static/resources/view/fchomo/node.js:1715 +#: htdocs/luci-static/resources/view/fchomo/node.js:1781 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:288 msgid "Inline" msgstr "内嵌" @@ -1673,46 +1695,46 @@ msgstr "接口控制" #: htdocs/luci-static/resources/fchomo.js:53 #: 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:1942 +#: htdocs/luci-static/resources/fchomo.js:174 +#: htdocs/luci-static/resources/fchomo.js:379 +#: htdocs/luci-static/resources/view/fchomo/node.js:2021 msgid "Keep default" msgstr "保持缺省" -#: htdocs/luci-static/resources/view/fchomo/node.js:1461 +#: htdocs/luci-static/resources/view/fchomo/node.js:1513 msgid "Keep-alive period" msgstr "Keep-alive 周期" -#: htdocs/luci-static/resources/fchomo/listeners.js:296 -#: htdocs/luci-static/resources/view/fchomo/node.js:441 +#: htdocs/luci-static/resources/fchomo/listeners.js:217 +#: htdocs/luci-static/resources/view/fchomo/node.js:376 msgid "Key" msgstr "密钥" -#: htdocs/luci-static/resources/fchomo/listeners.js:1015 -#: htdocs/luci-static/resources/view/fchomo/node.js:1213 +#: htdocs/luci-static/resources/fchomo/listeners.js:1094 +#: htdocs/luci-static/resources/view/fchomo/node.js:1261 msgid "Key path" msgstr "证书路径" -#: htdocs/luci-static/resources/fchomo/listeners.js:790 +#: htdocs/luci-static/resources/fchomo/listeners.js:850 msgid "Keypairs" msgstr "密钥对" -#: htdocs/luci-static/resources/fchomo/listeners.js:128 +#: htdocs/luci-static/resources/fchomo/listeners.js:129 #: 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:1703 -#: htdocs/luci-static/resources/view/fchomo/node.js:2061 +#: htdocs/luci-static/resources/view/fchomo/node.js:245 +#: htdocs/luci-static/resources/view/fchomo/node.js:1769 +#: htdocs/luci-static/resources/view/fchomo/node.js:2140 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:267 msgid "Label" msgstr "标签" #: htdocs/luci-static/resources/view/fchomo/client.js:1179 -#: htdocs/luci-static/resources/view/fchomo/node.js:2006 +#: htdocs/luci-static/resources/view/fchomo/node.js:2085 msgid "Lazy" msgstr "怠惰状态" @@ -1724,12 +1746,12 @@ msgstr "怠惰查询" msgid "Lazy query." msgstr "怠惰查询。" -#: htdocs/luci-static/resources/fchomo/listeners.js:437 -#: htdocs/luci-static/resources/view/fchomo/node.js:512 +#: htdocs/luci-static/resources/fchomo/listeners.js:358 +#: htdocs/luci-static/resources/view/fchomo/node.js:447 msgid "Legacy" msgstr "传统" -#: htdocs/luci-static/resources/fchomo/listeners.js:544 +#: htdocs/luci-static/resources/fchomo/listeners.js:410 msgid "" "Legacy protocol support (VMess MD5 Authentication) is provided for " "compatibility purposes only, use of alterId > 1 is not recommended." @@ -1741,16 +1763,16 @@ msgstr "" msgid "Less compatibility and sometimes better performance." msgstr "有时性能更好。" -#: htdocs/luci-static/resources/fchomo/listeners.js:996 -#: htdocs/luci-static/resources/view/fchomo/node.js:1134 +#: htdocs/luci-static/resources/fchomo/listeners.js:1036 +#: htdocs/luci-static/resources/view/fchomo/node.js:1174 msgid "List of supported application level protocols, in order of preference." msgstr "支持的应用层协议协商列表,按顺序排列。" -#: htdocs/luci-static/resources/fchomo/listeners.js:148 +#: htdocs/luci-static/resources/fchomo/listeners.js:149 msgid "Listen address" msgstr "监听地址" -#: htdocs/luci-static/resources/fchomo/listeners.js:125 +#: htdocs/luci-static/resources/fchomo/listeners.js:126 msgid "Listen fields" msgstr "监听字段" @@ -1758,7 +1780,7 @@ msgstr "监听字段" msgid "Listen interfaces" msgstr "监听接口" -#: htdocs/luci-static/resources/fchomo/listeners.js:153 +#: htdocs/luci-static/resources/fchomo/listeners.js:154 #: htdocs/luci-static/resources/view/fchomo/client.js:1459 msgid "Listen port" msgstr "监听端口" @@ -1771,22 +1793,22 @@ msgstr "监听端口" msgid "Listen routing mark (Fwmark)" msgstr "监听路由标记 (Fwmark)" -#: htdocs/luci-static/resources/fchomo.js:244 +#: htdocs/luci-static/resources/fchomo.js:246 msgid "Load balance" msgstr "负载均衡" -#: htdocs/luci-static/resources/view/fchomo/node.js:1713 +#: htdocs/luci-static/resources/view/fchomo/node.js:1779 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:286 msgid "Local" msgstr "本地" -#: htdocs/luci-static/resources/view/fchomo/node.js:765 -#: htdocs/luci-static/resources/view/fchomo/node.js:828 +#: htdocs/luci-static/resources/view/fchomo/node.js:764 +#: htdocs/luci-static/resources/view/fchomo/node.js:851 msgid "Local IPv6 address" msgstr "本地 IPv6 地址" -#: htdocs/luci-static/resources/view/fchomo/node.js:757 -#: htdocs/luci-static/resources/view/fchomo/node.js:820 +#: htdocs/luci-static/resources/view/fchomo/node.js:756 +#: htdocs/luci-static/resources/view/fchomo/node.js:843 msgid "Local address" msgstr "本地地址" @@ -1806,32 +1828,32 @@ msgstr "日志为空。" msgid "Log level" msgstr "日志等级" -#: htdocs/luci-static/resources/fchomo/listeners.js:372 -#: 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: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 +#: htdocs/luci-static/resources/fchomo/listeners.js:293 +#: htdocs/luci-static/resources/fchomo/listeners.js:294 +#: htdocs/luci-static/resources/fchomo/listeners.js:295 +#: htdocs/luci-static/resources/fchomo/listeners.js:300 +#: htdocs/luci-static/resources/view/fchomo/node.js:400 +#: htdocs/luci-static/resources/view/fchomo/node.js:401 +#: htdocs/luci-static/resources/view/fchomo/node.js:402 +#: htdocs/luci-static/resources/view/fchomo/node.js:407 msgid "Low-entropy data stream" msgstr "低熵数据流" -#: htdocs/luci-static/resources/fchomo.js:452 +#: htdocs/luci-static/resources/fchomo.js:454 msgid "Lowercase only" msgstr "仅限小写" #: htdocs/luci-static/resources/view/fchomo/global.js:523 -#: htdocs/luci-static/resources/view/fchomo/node.js:771 -#: htdocs/luci-static/resources/view/fchomo/node.js:874 +#: htdocs/luci-static/resources/view/fchomo/node.js:810 +#: htdocs/luci-static/resources/view/fchomo/node.js:857 msgid "MTU" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:204 +#: htdocs/luci-static/resources/fchomo.js:208 msgid "Masque" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:218 +#: htdocs/luci-static/resources/fchomo/listeners.js:508 msgid "Masquerade" msgstr "伪装" @@ -1863,24 +1885,24 @@ msgstr "匹配响应通过 ipcidr
" msgid "Match rule set." msgstr "匹配规则集。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1378 +#: htdocs/luci-static/resources/view/fchomo/node.js:1430 msgid "Max Early Data" msgstr "前置数据最大值" -#: htdocs/luci-static/resources/fchomo/listeners.js:480 -#: htdocs/luci-static/resources/view/fchomo/node.js:609 +#: htdocs/luci-static/resources/fchomo/listeners.js:451 +#: htdocs/luci-static/resources/view/fchomo/node.js:638 msgid "Max UDP relay packet size" msgstr "UDP 中继数据包最大尺寸" -#: htdocs/luci-static/resources/fchomo/listeners.js:1214 +#: htdocs/luci-static/resources/fchomo/listeners.js:1297 msgid "Max buffered posts" msgstr "POST 最大缓冲" -#: htdocs/luci-static/resources/view/fchomo/node.js:1436 +#: htdocs/luci-static/resources/view/fchomo/node.js:1488 msgid "Max concurrency" msgstr "最大并发" -#: htdocs/luci-static/resources/view/fchomo/node.js:1441 +#: htdocs/luci-static/resources/view/fchomo/node.js:1493 msgid "Max connections" msgstr "最大连接数" @@ -1888,51 +1910,51 @@ msgstr "最大连接数" msgid "Max count of failures" msgstr "最大失败次数" -#: htdocs/luci-static/resources/fchomo/listeners.js:181 -#: htdocs/luci-static/resources/view/fchomo/node.js:336 +#: htdocs/luci-static/resources/fchomo/listeners.js:471 +#: htdocs/luci-static/resources/view/fchomo/node.js:688 msgid "Max download speed" msgstr "最大下载速度" -#: htdocs/luci-static/resources/fchomo/listeners.js:1225 -#: htdocs/luci-static/resources/view/fchomo/node.js:1418 +#: htdocs/luci-static/resources/fchomo/listeners.js:1308 +#: htdocs/luci-static/resources/view/fchomo/node.js:1470 msgid "Max each POST bytes" msgstr "POST 最大字节数" -#: htdocs/luci-static/resources/view/fchomo/node.js:641 +#: htdocs/luci-static/resources/view/fchomo/node.js:933 msgid "Max open streams" msgstr "限制打开流的数量" -#: htdocs/luci-static/resources/fchomo/listeners.js:231 +#: htdocs/luci-static/resources/fchomo/listeners.js:521 msgid "Max realms" msgstr "最大 Realms 总数" -#: htdocs/luci-static/resources/fchomo/listeners.js:237 +#: htdocs/luci-static/resources/fchomo/listeners.js:527 msgid "Max realms per client IP" msgstr "每客户端 IP 最大 Realms 总数" -#: htdocs/luci-static/resources/view/fchomo/node.js:1451 +#: htdocs/luci-static/resources/view/fchomo/node.js:1503 msgid "Max request times" msgstr "最大请求次数" -#: htdocs/luci-static/resources/view/fchomo/node.js:1456 +#: htdocs/luci-static/resources/view/fchomo/node.js:1508 msgid "Max reusable seconds" msgstr "最大可复用秒数" -#: htdocs/luci-static/resources/view/fchomo/node.js:1446 +#: htdocs/luci-static/resources/view/fchomo/node.js:1498 msgid "Max reuse times" msgstr "最大复用次数" -#: htdocs/luci-static/resources/fchomo/listeners.js:175 -#: htdocs/luci-static/resources/view/fchomo/node.js:330 +#: htdocs/luci-static/resources/fchomo/listeners.js:465 +#: htdocs/luci-static/resources/view/fchomo/node.js:682 msgid "Max upload speed" msgstr "最大上传速度" -#: htdocs/luci-static/resources/view/fchomo/node.js:1482 -#: htdocs/luci-static/resources/view/fchomo/node.js:1502 +#: htdocs/luci-static/resources/view/fchomo/node.js:1534 +#: htdocs/luci-static/resources/view/fchomo/node.js:1554 msgid "Maximum connections" msgstr "最大连接数" -#: htdocs/luci-static/resources/view/fchomo/node.js:1500 +#: htdocs/luci-static/resources/view/fchomo/node.js:1552 msgid "" "Maximum multiplexed streams in a connection before opening a new connection." "
Conflict with %s and %s." @@ -1940,24 +1962,24 @@ msgstr "" "在打开新连接之前,连接中的最大多路复用流数量。
%s 和 " "%s 冲突。" -#: htdocs/luci-static/resources/fchomo/listeners.js:402 -#: htdocs/luci-static/resources/view/fchomo/node.js:484 +#: htdocs/luci-static/resources/fchomo/listeners.js:323 +#: htdocs/luci-static/resources/view/fchomo/node.js:419 msgid "Maximum padding rate" msgstr "最大填充率" -#: htdocs/luci-static/resources/fchomo/listeners.js:410 -#: htdocs/luci-static/resources/view/fchomo/node.js:492 +#: htdocs/luci-static/resources/fchomo/listeners.js:331 +#: htdocs/luci-static/resources/view/fchomo/node.js:427 msgid "" "Maximum padding rate must be greater than or equal to the minimum padding " "rate." msgstr "最大填充率必须大于等于最小填充率。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1499 +#: htdocs/luci-static/resources/view/fchomo/node.js:1551 msgid "Maximum streams" msgstr "最大流数量" #: htdocs/luci-static/resources/fchomo.js:158 -#: htdocs/luci-static/resources/fchomo.js:194 +#: htdocs/luci-static/resources/fchomo.js:195 msgid "Mieru" msgstr "" @@ -1973,26 +1995,26 @@ msgstr "Mihomo 客户端" msgid "Mihomo server" msgstr "Mihomo 服务端" -#: htdocs/luci-static/resources/view/fchomo/node.js:685 +#: htdocs/luci-static/resources/view/fchomo/node.js:600 msgid "Min of idle sessions to keep" msgstr "要保留的最少闲置会话数" -#: htdocs/luci-static/resources/view/fchomo/node.js:1424 +#: htdocs/luci-static/resources/view/fchomo/node.js:1476 msgid "Min posts interval" msgstr "POST 请求最小间隔时间" -#: htdocs/luci-static/resources/view/fchomo/node.js:1491 +#: htdocs/luci-static/resources/view/fchomo/node.js:1543 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:477 +#: htdocs/luci-static/resources/fchomo/listeners.js:316 +#: htdocs/luci-static/resources/view/fchomo/node.js:412 msgid "Minimum padding rate" msgstr "最小填充率" -#: htdocs/luci-static/resources/view/fchomo/node.js:1490 -#: htdocs/luci-static/resources/view/fchomo/node.js:1502 +#: htdocs/luci-static/resources/view/fchomo/node.js:1542 +#: htdocs/luci-static/resources/view/fchomo/node.js:1554 msgid "Minimum streams" msgstr "最小流数量" @@ -2009,17 +2031,17 @@ msgstr "混合 系统 TCP 栈和 gVisor UDP 栈。" msgid "Mixed port" msgstr "混合端口" -#: htdocs/luci-static/resources/fchomo/listeners.js:1232 -#: htdocs/luci-static/resources/view/fchomo/node.js:1468 +#: htdocs/luci-static/resources/fchomo/listeners.js:1315 +#: htdocs/luci-static/resources/view/fchomo/node.js:1520 msgid "Multiplex" msgstr "多路复用" -#: htdocs/luci-static/resources/fchomo/listeners.js:124 -#: htdocs/luci-static/resources/view/fchomo/node.js:238 +#: htdocs/luci-static/resources/fchomo/listeners.js:125 +#: htdocs/luci-static/resources/view/fchomo/node.js:242 msgid "Multiplex fields" msgstr "多路复用字段" -#: htdocs/luci-static/resources/view/fchomo/node.js:418 +#: htdocs/luci-static/resources/view/fchomo/node.js:353 msgid "Multiplexing" msgstr "多路复用" @@ -2028,11 +2050,11 @@ msgstr "多路复用" msgid "NOT" msgstr "NOT" -#: htdocs/luci-static/resources/fchomo/listeners.js:639 +#: htdocs/luci-static/resources/fchomo/listeners.js:586 msgid "Name of the Proxy group as outbound." msgstr "出站代理组的名称。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1788 +#: htdocs/luci-static/resources/view/fchomo/node.js:1854 msgid "Name of the Proxy group to download provider." msgstr "用于下载供应商订阅的代理组名称。" @@ -2040,27 +2062,27 @@ msgstr "用于下载供应商订阅的代理组名称。" msgid "Name of the Proxy group to download rule set." msgstr "用于下载规则集订阅的代理组名称。" -#: htdocs/luci-static/resources/fchomo/listeners.js:628 +#: htdocs/luci-static/resources/fchomo/listeners.js:574 msgid "Name of the Sub rule used for inbound matching." msgstr "用于入站匹配的子规则名称。" -#: htdocs/luci-static/resources/view/fchomo/node.js:593 +#: htdocs/luci-static/resources/view/fchomo/node.js:622 msgid "Native UDP" msgstr "原生 UDP" -#: htdocs/luci-static/resources/fchomo.js:394 +#: htdocs/luci-static/resources/fchomo.js:396 msgid "Native appearance" msgstr "原生外观" -#: htdocs/luci-static/resources/view/fchomo/node.js:777 +#: htdocs/luci-static/resources/view/fchomo/node.js:863 msgid "Network" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:670 +#: htdocs/luci-static/resources/fchomo/listeners.js:625 msgid "Network type" msgstr "网络类型" -#: htdocs/luci-static/resources/view/fchomo/node.js:1944 +#: htdocs/luci-static/resources/view/fchomo/node.js:2023 msgid "No" msgstr "" @@ -2068,7 +2090,7 @@ msgstr "" msgid "No Authentication IP ranges" msgstr "无需认证的 IP 范围" -#: htdocs/luci-static/resources/fchomo/listeners.js:1209 +#: htdocs/luci-static/resources/fchomo/listeners.js:1292 msgid "No SSE header" msgstr "无 SSE header" @@ -2076,16 +2098,16 @@ msgstr "无 SSE header" msgid "No add'l params" msgstr "无附加参数" -#: htdocs/luci-static/resources/view/fchomo/node.js:1408 +#: htdocs/luci-static/resources/view/fchomo/node.js:1460 msgid "No gRPC header" msgstr "无 gRPC header" #: htdocs/luci-static/resources/view/fchomo/client.js:1180 -#: htdocs/luci-static/resources/view/fchomo/node.js:2007 +#: htdocs/luci-static/resources/view/fchomo/node.js:2086 msgid "No testing is performed when this provider node is not in use." msgstr "当此供应商的节点未使用时,不执行任何测试。" -#: htdocs/luci-static/resources/fchomo.js:724 +#: htdocs/luci-static/resources/fchomo.js:726 msgid "No valid %s found." msgstr "未找到有效的%s。" @@ -2094,22 +2116,22 @@ msgid "No valid rule-set link found." msgstr "未找到有效的规则集链接。" #: htdocs/luci-static/resources/view/fchomo/client.js:1080 -#: htdocs/luci-static/resources/view/fchomo/node.js:228 +#: htdocs/luci-static/resources/view/fchomo/node.js:231 msgid "Node" msgstr "节点" #: htdocs/luci-static/resources/view/fchomo/client.js:1242 -#: htdocs/luci-static/resources/view/fchomo/node.js:2027 +#: htdocs/luci-static/resources/view/fchomo/node.js:2106 msgid "Node exclude filter" msgstr "排除节点" #: htdocs/luci-static/resources/view/fchomo/client.js:1247 -#: htdocs/luci-static/resources/view/fchomo/node.js:2034 +#: htdocs/luci-static/resources/view/fchomo/node.js:2113 msgid "Node exclude type" msgstr "排除节点类型" #: htdocs/luci-static/resources/view/fchomo/client.js:1237 -#: htdocs/luci-static/resources/view/fchomo/node.js:2021 +#: htdocs/luci-static/resources/view/fchomo/node.js:2100 msgid "Node filter" msgstr "过滤节点" @@ -2117,7 +2139,7 @@ msgstr "过滤节点" msgid "Node switch tolerance" msgstr "节点切换容差" -#: htdocs/luci-static/resources/fchomo.js:421 +#: htdocs/luci-static/resources/fchomo.js:423 msgid "None" msgstr "无" @@ -2125,49 +2147,49 @@ msgstr "无" msgid "Not Installed" msgstr "未安装" -#: htdocs/luci-static/resources/fchomo.js:1580 +#: htdocs/luci-static/resources/fchomo.js:1582 msgid "Not Running" msgstr "未在运行" -#: htdocs/luci-static/resources/view/fchomo/node.js:538 +#: htdocs/luci-static/resources/view/fchomo/node.js:473 msgid "OFF" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:540 +#: htdocs/luci-static/resources/view/fchomo/node.js:475 msgid "ON" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:581 -#: htdocs/luci-static/resources/view/fchomo/node.js:915 +#: htdocs/luci-static/resources/fchomo/listeners.js:664 +#: htdocs/luci-static/resources/view/fchomo/node.js:995 msgid "Obfs Mode" msgstr "Obfs 模式" -#: htdocs/luci-static/resources/fchomo/listeners.js:213 -#: htdocs/luci-static/resources/view/fchomo/node.js:362 +#: htdocs/luci-static/resources/fchomo/listeners.js:503 +#: htdocs/luci-static/resources/view/fchomo/node.js:714 msgid "Obfuscate maximum packet size" msgstr "混淆最大数据包大小" -#: htdocs/luci-static/resources/fchomo/listeners.js:208 -#: htdocs/luci-static/resources/view/fchomo/node.js:357 +#: htdocs/luci-static/resources/fchomo/listeners.js:498 +#: htdocs/luci-static/resources/view/fchomo/node.js:709 msgid "Obfuscate minimum packet size" msgstr "混淆最小数据包大小" -#: htdocs/luci-static/resources/fchomo/listeners.js:200 -#: htdocs/luci-static/resources/view/fchomo/node.js:349 +#: htdocs/luci-static/resources/fchomo/listeners.js:490 +#: htdocs/luci-static/resources/view/fchomo/node.js:701 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:342 -#: htdocs/luci-static/resources/view/fchomo/node.js:463 +#: htdocs/luci-static/resources/fchomo/listeners.js:291 +#: htdocs/luci-static/resources/fchomo/listeners.js:483 +#: htdocs/luci-static/resources/view/fchomo/node.js:398 +#: htdocs/luci-static/resources/view/fchomo/node.js:694 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:464 -#: htdocs/luci-static/resources/view/fchomo/node.js:465 +#: htdocs/luci-static/resources/fchomo/listeners.js:292 +#: htdocs/luci-static/resources/fchomo/listeners.js:293 +#: htdocs/luci-static/resources/view/fchomo/node.js:399 +#: htdocs/luci-static/resources/view/fchomo/node.js:400 msgid "Obfuscated as %s" msgstr "混淆为%s" @@ -2175,12 +2197,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:990 +#: htdocs/luci-static/resources/fchomo/listeners.js:1024 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:472 +#: htdocs/luci-static/resources/fchomo/listeners.js:300 +#: htdocs/luci-static/resources/view/fchomo/node.js:407 msgid "Only applies to the %s." msgstr "只对%s生效。" @@ -2188,7 +2210,7 @@ msgstr "只对%s生效。" msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "只处理来自指定接口的流量。留空表示全部。" -#: htdocs/luci-static/resources/fchomo.js:1574 +#: htdocs/luci-static/resources/fchomo.js:1576 msgid "Open Dashboard" msgstr "打开面板" @@ -2200,21 +2222,30 @@ msgstr "运行模式" msgid "Option is deprecated. Please use %s instead." msgstr "该选项已弃用,请使用%s作为代替。" +#: htdocs/luci-static/resources/view/fchomo/node.js:1971 +msgid "Other configuration items" +msgstr "其他配置项" + #: root/usr/share/luci/menu.d/luci-app-fchomo.json:46 msgid "Outbound" msgstr "出站" +#: htdocs/luci-static/resources/view/fchomo/node.js:1233 +#: htdocs/luci-static/resources/view/fchomo/node.js:2010 +msgid "Override cert DNSName" +msgstr "覆盖证书 DNSName" + #: htdocs/luci-static/resources/view/fchomo/global.js:679 #: htdocs/luci-static/resources/view/fchomo/global.js:717 msgid "Override destination" msgstr "覆盖目标地址" #: htdocs/luci-static/resources/view/fchomo/client.js:1043 -#: htdocs/luci-static/resources/view/fchomo/node.js:1699 +#: htdocs/luci-static/resources/view/fchomo/node.js:1765 msgid "Override fields" msgstr "覆盖字段" -#: htdocs/luci-static/resources/view/fchomo/node.js:585 +#: htdocs/luci-static/resources/view/fchomo/node.js:614 msgid "Override the IP address of the server that DNS response." msgstr "覆盖 DNS 回应的服务器的 IP 地址。" @@ -2230,7 +2261,7 @@ msgstr "使用嗅探到的域名覆盖连接目标。" msgid "Override the existing ECS in original request." msgstr "覆盖原始请求中已有的 ECS。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1240 +#: htdocs/luci-static/resources/view/fchomo/node.js:1288 msgid "Overrides the domain name used for HTTPS record queries." msgstr "覆盖用于 HTTPS 记录查询的域名。" @@ -2238,37 +2269,37 @@ msgstr "覆盖用于 HTTPS 记录查询的域名。" msgid "Overview" msgstr "概览" -#: htdocs/luci-static/resources/view/fchomo/node.js:1335 +#: htdocs/luci-static/resources/view/fchomo/node.js:1387 msgid "POST" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1336 +#: htdocs/luci-static/resources/view/fchomo/node.js:1388 msgid "PUT" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:734 +#: htdocs/luci-static/resources/view/fchomo/node.js:555 msgid "Packet encoding" msgstr "数据包编码" -#: htdocs/luci-static/resources/view/fchomo/node.js:1413 +#: htdocs/luci-static/resources/view/fchomo/node.js:1465 msgid "Padding bytes" msgstr "填充字节" -#: htdocs/luci-static/resources/fchomo/listeners.js:524 +#: htdocs/luci-static/resources/fchomo/listeners.js:440 msgid "Padding scheme" msgstr "填充方案" -#: htdocs/luci-static/resources/fchomo/listeners.js:769 -#: htdocs/luci-static/resources/view/fchomo/node.js:1046 +#: htdocs/luci-static/resources/fchomo/listeners.js:829 +#: htdocs/luci-static/resources/view/fchomo/node.js:1086 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: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 +#: htdocs/luci-static/resources/fchomo/listeners.js:167 +#: htdocs/luci-static/resources/fchomo/listeners.js:184 +#: htdocs/luci-static/resources/fchomo/listeners.js:691 +#: htdocs/luci-static/resources/view/fchomo/node.js:310 +#: htdocs/luci-static/resources/view/fchomo/node.js:331 +#: htdocs/luci-static/resources/view/fchomo/node.js:1014 msgid "Password" msgstr "密码" @@ -2280,13 +2311,13 @@ msgstr "捆绑包路径" msgid "Path in bundle: %s" msgstr "在捆绑包%s中的路径" -#: htdocs/luci-static/resources/fchomo/listeners.js:709 -#: htdocs/luci-static/resources/view/fchomo/node.js:1763 +#: htdocs/luci-static/resources/fchomo/listeners.js:769 +#: htdocs/luci-static/resources/view/fchomo/node.js:1829 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:373 msgid "Payload" msgstr "Payload" -#: htdocs/luci-static/resources/view/fchomo/node.js:842 +#: htdocs/luci-static/resources/view/fchomo/node.js:778 msgid "Peer pubkic key" msgstr "对端公钥" @@ -2296,11 +2327,11 @@ msgid "" "it is not needed." msgstr "性能可能会略有下降,建议仅在需要时开启。" -#: htdocs/luci-static/resources/view/fchomo/node.js:869 +#: htdocs/luci-static/resources/view/fchomo/node.js:805 msgid "Periodically sends data packets to maintain connection persistence." msgstr "定期发送数据包以维持连接持久性。" -#: htdocs/luci-static/resources/view/fchomo/node.js:868 +#: htdocs/luci-static/resources/view/fchomo/node.js:804 msgid "Persistent keepalive" msgstr "持久连接" @@ -2323,8 +2354,8 @@ msgid "" "standards." msgstr "链接格式标准请参考
%s。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1736 -#: htdocs/luci-static/resources/view/fchomo/node.js:1762 +#: htdocs/luci-static/resources/view/fchomo/node.js:1802 +#: htdocs/luci-static/resources/view/fchomo/node.js:1828 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:346 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:372 msgid "" @@ -2339,44 +2370,39 @@ msgstr "" #: 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/node.js:1655 #: 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:560 -#: htdocs/luci-static/resources/view/fchomo/node.js:892 +#: htdocs/luci-static/resources/fchomo/listeners.js:638 +#: htdocs/luci-static/resources/view/fchomo/node.js:967 msgid "Plugin" msgstr "插件" -#: 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 "插件:" +#: htdocs/luci-static/resources/fchomo/listeners.js:120 +#: htdocs/luci-static/resources/view/fchomo/node.js:237 +msgid "Plugin fields" +msgstr "插件字段" -#: htdocs/luci-static/resources/view/fchomo/node.js:261 +#: htdocs/luci-static/resources/fchomo/listeners.js:643 +#: htdocs/luci-static/resources/view/fchomo/node.js:972 +msgid "Plugin type" +msgstr "插件类型" + +#: htdocs/luci-static/resources/view/fchomo/node.js:265 msgid "Port" msgstr "端口" -#: htdocs/luci-static/resources/fchomo.js:1811 +#: htdocs/luci-static/resources/fchomo.js:1813 msgid "Port %s alrealy exists!" msgstr "端口 %s 已存在!" -#: htdocs/luci-static/resources/view/fchomo/node.js:324 +#: htdocs/luci-static/resources/view/fchomo/node.js:676 msgid "Port hop interval" msgstr "端口跳跃间隔" -#: htdocs/luci-static/resources/view/fchomo/node.js:406 +#: htdocs/luci-static/resources/view/fchomo/node.js:341 msgid "Port range" msgstr "端口范围" @@ -2384,28 +2410,28 @@ msgstr "端口范围" msgid "Ports" msgstr "端口" -#: htdocs/luci-static/resources/fchomo/listeners.js:153 -#: htdocs/luci-static/resources/view/fchomo/node.js:319 +#: htdocs/luci-static/resources/fchomo/listeners.js:154 +#: htdocs/luci-static/resources/view/fchomo/node.js:671 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:555 -#: htdocs/luci-static/resources/view/fchomo/node.js:849 +#: htdocs/luci-static/resources/fchomo/listeners.js:377 +#: htdocs/luci-static/resources/fchomo/listeners.js:515 +#: htdocs/luci-static/resources/view/fchomo/node.js:490 +#: htdocs/luci-static/resources/view/fchomo/node.js:785 msgid "Pre-shared key" msgstr "预共享密钥" -#: htdocs/luci-static/resources/fchomo/listeners.js:907 -#: htdocs/luci-static/resources/view/fchomo/node.js:1081 +#: htdocs/luci-static/resources/fchomo/listeners.js:967 +#: htdocs/luci-static/resources/view/fchomo/node.js:1121 msgid "Pre-shared key of rendezvous server" msgstr "牵线服务器的预共享密钥" -#: htdocs/luci-static/resources/fchomo.js:177 +#: htdocs/luci-static/resources/fchomo.js:178 msgid "Prefer IPv4" msgstr "优先 IPv4" -#: htdocs/luci-static/resources/fchomo.js:178 +#: htdocs/luci-static/resources/fchomo.js:179 msgid "Prefer IPv6" msgstr "优先 IPv6" @@ -2416,53 +2442,62 @@ 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: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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1616 +#: htdocs/luci-static/resources/view/fchomo/node.js:1623 +#: htdocs/luci-static/resources/view/fchomo/node.js:2035 +#: htdocs/luci-static/resources/view/fchomo/node.js:2042 msgid "Priority: Proxy Node > Global." msgstr "优先级: 代理节点 > 全局。" -#: htdocs/luci-static/resources/view/fchomo/node.js:368 +#: htdocs/luci-static/resources/view/fchomo/node.js:895 msgid "Priv-key" msgstr "密钥" -#: htdocs/luci-static/resources/view/fchomo/node.js:372 +#: htdocs/luci-static/resources/view/fchomo/node.js:899 msgid "Priv-key passphrase" msgstr "密钥密码" -#: htdocs/luci-static/resources/view/fchomo/node.js:742 -#: htdocs/luci-static/resources/view/fchomo/node.js:834 +#: htdocs/luci-static/resources/view/fchomo/node.js:770 +#: htdocs/luci-static/resources/view/fchomo/node.js:828 msgid "Private key" msgstr "私钥" +#: htdocs/luci-static/resources/fchomo/listeners.js:737 +msgid "" +"Probe the QUIC version of the handshake target during the first connection." +msgstr "在首次连接期间探测握手目标的 QUIC 版本。" + #: htdocs/luci-static/resources/view/fchomo/global.js:421 msgid "Process matching mode" msgstr "进程匹配模式" +#: htdocs/luci-static/resources/view/fchomo/node.js:1961 +msgid "Programmable replacement" +msgstr "可编程替换" + #: htdocs/luci-static/resources/view/fchomo/global.js:708 -#: htdocs/luci-static/resources/view/fchomo/node.js:1474 +#: htdocs/luci-static/resources/view/fchomo/node.js:1526 msgid "Protocol" msgstr "协议" -#: htdocs/luci-static/resources/view/fchomo/node.js:729 +#: htdocs/luci-static/resources/view/fchomo/node.js:550 msgid "Protocol parameter. Enable length block encryption." msgstr "协议参数。启用长度块加密。" -#: htdocs/luci-static/resources/view/fchomo/node.js:723 +#: htdocs/luci-static/resources/view/fchomo/node.js:544 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: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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1638 +#: htdocs/luci-static/resources/view/fchomo/node.js:1647 +#: htdocs/luci-static/resources/view/fchomo/node.js:2151 msgid "Provider" msgstr "供应商" -#: htdocs/luci-static/resources/view/fchomo/node.js:1769 +#: htdocs/luci-static/resources/view/fchomo/node.js:1835 msgid "Provider URL" msgstr "供应商订阅 URL" @@ -2484,20 +2519,20 @@ msgstr "代理 IPv6 地址" msgid "Proxy MAC-s" msgstr "代理 MAC 地址" -#: htdocs/luci-static/resources/view/fchomo/node.js:219 -#: htdocs/luci-static/resources/view/fchomo/node.js:2071 +#: htdocs/luci-static/resources/view/fchomo/node.js:222 +#: htdocs/luci-static/resources/view/fchomo/node.js:2150 msgid "Proxy Node" msgstr "代理节点" -#: htdocs/luci-static/resources/view/fchomo/node.js:2047 -#: htdocs/luci-static/resources/view/fchomo/node.js:2056 +#: htdocs/luci-static/resources/view/fchomo/node.js:2126 +#: htdocs/luci-static/resources/view/fchomo/node.js:2135 msgid "Proxy chain" msgstr "代理链" -#: htdocs/luci-static/resources/fchomo/listeners.js:638 +#: htdocs/luci-static/resources/fchomo/listeners.js:585 #: 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/node.js:1853 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:403 msgid "Proxy group" msgstr "代理组" @@ -2514,60 +2549,74 @@ msgstr "代理模式" msgid "Proxy routerself" msgstr "代理路由器自身" -#: htdocs/luci-static/resources/view/fchomo/node.js:594 -#: htdocs/luci-static/resources/view/fchomo/node.js:814 +#: htdocs/luci-static/resources/view/fchomo/node.js:623 +#: htdocs/luci-static/resources/view/fchomo/node.js:725 msgid "QUIC" msgstr "" +#: htdocs/luci-static/resources/fchomo/listeners.js:552 +#: htdocs/luci-static/resources/view/fchomo/node.js:743 +msgid "QUIC based 0-RTT" +msgstr "基于 QUIC 的 0-RTT" + +#: htdocs/luci-static/resources/fchomo/listeners.js:736 +msgid "QUIC version probe" +msgstr "QUIC 版本探测" + +#: htdocs/luci-static/resources/fchomo/listeners.js:545 +#: htdocs/luci-static/resources/view/fchomo/node.js:731 +msgid "QUIC versions" +msgstr "QUIC 版本" + #: 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:1103 -#: htdocs/luci-static/resources/view/fchomo/node.js:1254 +#: htdocs/luci-static/resources/fchomo/listeners.js:1182 +#: htdocs/luci-static/resources/view/fchomo/node.js:1302 msgid "REALITY" msgstr "REALITY" -#: htdocs/luci-static/resources/view/fchomo/node.js:1269 +#: htdocs/luci-static/resources/view/fchomo/node.js:1317 msgid "REALITY X25519MLKEM768 PQC support" msgstr "REALITY X25519MLKEM768 后量子加密支持" -#: htdocs/luci-static/resources/fchomo/listeners.js:1140 +#: htdocs/luci-static/resources/fchomo/listeners.js:1219 msgid "REALITY certificate issued to" msgstr "REALITY 证书颁发给" -#: htdocs/luci-static/resources/fchomo/listeners.js:1108 +#: htdocs/luci-static/resources/fchomo/listeners.js:1187 msgid "REALITY handshake server" msgstr "REALITY 握手服务器" -#: htdocs/luci-static/resources/fchomo/listeners.js:1115 +#: htdocs/luci-static/resources/fchomo/listeners.js:1194 msgid "REALITY private key" msgstr "REALITY 私钥" -#: htdocs/luci-static/resources/fchomo/listeners.js:1130 -#: htdocs/luci-static/resources/view/fchomo/node.js:1259 +#: htdocs/luci-static/resources/fchomo/listeners.js:1209 +#: htdocs/luci-static/resources/view/fchomo/node.js:1307 msgid "REALITY public key" msgstr "REALITY 公钥" -#: htdocs/luci-static/resources/fchomo/listeners.js:1134 -#: htdocs/luci-static/resources/view/fchomo/node.js:1264 +#: htdocs/luci-static/resources/fchomo/listeners.js:1213 +#: htdocs/luci-static/resources/view/fchomo/node.js:1312 msgid "REALITY short ID" msgstr "REALITY 标识符" -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:272 +#: htdocs/luci-static/resources/view/fchomo/node.js:278 +#: htdocs/luci-static/resources/view/fchomo/node.js:296 msgid "REMATCH-NAME marking" msgstr "REMATCH-NAME 打标" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:800 +#: htdocs/luci-static/resources/fchomo/listeners.js:819 +#: htdocs/luci-static/resources/view/fchomo/node.js:1076 msgid "RTT" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:386 +#: htdocs/luci-static/resources/fchomo.js:388 msgid "Random" msgstr "随机" @@ -2575,21 +2624,21 @@ msgstr "随机" msgid "Random will be used if empty." msgstr "留空将使用随机令牌。" -#: htdocs/luci-static/resources/fchomo.js:396 +#: htdocs/luci-static/resources/fchomo.js:398 msgid "Randomized traffic characteristics" msgstr "随机化流量特征" -#: htdocs/luci-static/resources/fchomo/listeners.js:896 -#: htdocs/luci-static/resources/view/fchomo/node.js:1070 +#: htdocs/luci-static/resources/fchomo/listeners.js:956 +#: htdocs/luci-static/resources/view/fchomo/node.js:1110 msgid "Realm" msgstr "Realm" -#: htdocs/luci-static/resources/fchomo/listeners.js:912 -#: htdocs/luci-static/resources/view/fchomo/node.js:1086 +#: htdocs/luci-static/resources/fchomo/listeners.js:972 +#: htdocs/luci-static/resources/view/fchomo/node.js:1126 msgid "Realm ID" msgstr "Realm ID" -#: htdocs/luci-static/resources/fchomo/listeners.js:248 +#: htdocs/luci-static/resources/fchomo/listeners.js:538 msgid "Realm name pattern" msgstr "Realm 名称模式" @@ -2613,7 +2662,7 @@ msgstr "Redirect TCP + Tun UDP" msgid "Refresh every %s seconds." msgstr "每 %s 秒刷新。" -#: htdocs/luci-static/resources/fchomo.js:1567 +#: htdocs/luci-static/resources/fchomo.js:1569 #: 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 @@ -2624,77 +2673,77 @@ msgstr "重载" msgid "Reload All" msgstr "重载所有" -#: htdocs/luci-static/resources/fchomo.js:188 +#: htdocs/luci-static/resources/fchomo.js:189 msgid "Rematch" msgstr "再路由" -#: htdocs/luci-static/resources/fchomo.js:188 +#: htdocs/luci-static/resources/fchomo.js:189 msgid "Rematching routing rules" msgstr "重新匹配路由规则" -#: htdocs/luci-static/resources/view/fchomo/node.js:1714 +#: htdocs/luci-static/resources/view/fchomo/node.js:1780 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:287 msgid "Remote" msgstr "远程" -#: htdocs/luci-static/resources/view/fchomo/node.js:797 -#: htdocs/luci-static/resources/view/fchomo/node.js:880 +#: htdocs/luci-static/resources/view/fchomo/node.js:816 +#: htdocs/luci-static/resources/view/fchomo/node.js:883 msgid "Remote DNS resolve" msgstr "远程 DNS 解析" -#: htdocs/luci-static/resources/fchomo.js:1732 +#: htdocs/luci-static/resources/fchomo.js:1734 msgid "Remove" msgstr "移除" -#: 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/fchomo.js:1739 +#: htdocs/luci-static/resources/view/fchomo/node.js:1756 +#: htdocs/luci-static/resources/view/fchomo/node.js:1758 #: 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:901 -#: htdocs/luci-static/resources/view/fchomo/node.js:1075 +#: htdocs/luci-static/resources/fchomo/listeners.js:961 +#: htdocs/luci-static/resources/view/fchomo/node.js:1115 msgid "Rendezvous server" msgstr "牵线服务器" -#: htdocs/luci-static/resources/view/fchomo/node.js:1886 +#: htdocs/luci-static/resources/view/fchomo/node.js:1952 msgid "Replace name" msgstr "名称替换" -#: htdocs/luci-static/resources/view/fchomo/node.js:1887 +#: htdocs/luci-static/resources/view/fchomo/node.js:1953 msgid "Replace node name." msgstr "替换节点名称" -#: htdocs/luci-static/resources/fchomo.js:370 +#: htdocs/luci-static/resources/fchomo.js:372 msgid "Request" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1271 +#: htdocs/luci-static/resources/view/fchomo/node.js:1394 +#: htdocs/luci-static/resources/view/fchomo/node.js:1401 msgid "Request path" msgstr "请求路径" -#: htdocs/luci-static/resources/view/fchomo/node.js:634 +#: htdocs/luci-static/resources/view/fchomo/node.js:663 msgid "Request timeout" msgstr "请求超时" -#: htdocs/luci-static/resources/fchomo.js:373 +#: htdocs/luci-static/resources/fchomo.js:375 msgid "Require and verify" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:371 +#: htdocs/luci-static/resources/fchomo.js:373 msgid "Require any" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:404 -#: htdocs/luci-static/resources/view/fchomo/node.js:1270 +#: htdocs/luci-static/resources/fchomo.js:406 +#: htdocs/luci-static/resources/view/fchomo/node.js:1318 msgid "Requires server support." msgstr "需要服务器支持。" -#: htdocs/luci-static/resources/view/fchomo/node.js:863 +#: htdocs/luci-static/resources/view/fchomo/node.js:799 msgid "Reserved field bytes" msgstr "保留字段字节" @@ -2702,8 +2751,8 @@ msgstr "保留字段字节" msgid "Resources management" msgstr "资源管理" -#: htdocs/luci-static/resources/fchomo/listeners.js:615 -#: htdocs/luci-static/resources/view/fchomo/node.js:948 +#: htdocs/luci-static/resources/fchomo/listeners.js:705 +#: htdocs/luci-static/resources/view/fchomo/node.js:1034 msgid "Restls script" msgstr "Restls 剧本" @@ -2717,12 +2766,12 @@ 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:539 +#: htdocs/luci-static/resources/view/fchomo/node.js:474 msgid "Reuse HTTP connections to reduce RTT for each connection establishment." msgstr "重用 HTTP 连接以减少每次建立连接的 RTT。" -#: htdocs/luci-static/resources/view/fchomo/node.js:536 -#: htdocs/luci-static/resources/view/fchomo/node.js:540 +#: htdocs/luci-static/resources/view/fchomo/node.js:471 +#: htdocs/luci-static/resources/view/fchomo/node.js:475 msgid "Reusing a single tunnel to carry multiple target connections within it." msgstr "复用单条隧道使其内部承载多条目标连线。" @@ -2739,10 +2788,10 @@ msgstr "路由 DSCP" msgid "Routing GFW" msgstr "路由 GFW 流量" -#: htdocs/luci-static/resources/fchomo/listeners.js:623 +#: htdocs/luci-static/resources/fchomo/listeners.js:568 #: htdocs/luci-static/resources/view/fchomo/global.js:776 -#: htdocs/luci-static/resources/view/fchomo/node.js:1570 -#: htdocs/luci-static/resources/view/fchomo/node.js:1962 +#: htdocs/luci-static/resources/view/fchomo/node.js:1622 +#: htdocs/luci-static/resources/view/fchomo/node.js:2041 msgid "Routing mark (Fwmark)" msgstr "路由标记 (Fwmark)" @@ -2798,11 +2847,11 @@ msgstr "规则集" msgid "Ruleset-URI-Scheme" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1580 +#: htdocs/luci-static/resources/fchomo.js:1582 msgid "Running" msgstr "正在运行" -#: htdocs/luci-static/resources/fchomo.js:251 +#: htdocs/luci-static/resources/fchomo.js:253 msgid "SMTP" msgstr "" @@ -2810,20 +2859,20 @@ msgstr "" msgid "SOCKS" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:191 +#: htdocs/luci-static/resources/fchomo.js:192 msgid "SOCKS5" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:207 +#: htdocs/luci-static/resources/fchomo.js:209 msgid "SSH" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:252 +#: htdocs/luci-static/resources/fchomo.js:254 msgid "STUN" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:918 -#: htdocs/luci-static/resources/view/fchomo/node.js:1092 +#: htdocs/luci-static/resources/fchomo/listeners.js:978 +#: htdocs/luci-static/resources/view/fchomo/node.js:1132 msgid "STUN servers" msgstr "STUN 服务器" @@ -2831,20 +2880,20 @@ msgstr "STUN 服务器" msgid "SUB-RULE" msgstr "SUB-RULE" -#: htdocs/luci-static/resources/view/fchomo/node.js:993 +#: htdocs/luci-static/resources/view/fchomo/node.js:959 msgid "SUoT version" msgstr "SUoT 版本" -#: htdocs/luci-static/resources/fchomo/listeners.js:195 -#: htdocs/luci-static/resources/view/fchomo/node.js:344 +#: htdocs/luci-static/resources/fchomo/listeners.js:485 +#: htdocs/luci-static/resources/view/fchomo/node.js:696 msgid "Salamander" msgstr "Salamander" -#: htdocs/luci-static/resources/fchomo.js:183 +#: htdocs/luci-static/resources/fchomo.js:184 msgid "Same dstaddr requests. Same node" msgstr "相同 目标地址 请求。相同节点" -#: htdocs/luci-static/resources/fchomo.js:184 +#: htdocs/luci-static/resources/fchomo.js:185 msgid "Same srcaddr and dstaddr requests. Same node" msgstr "相同 来源地址 和 目标地址 请求。相同节点" @@ -2857,7 +2906,7 @@ msgstr "" msgid "Segment maximum size" msgstr "分段最大尺寸" -#: htdocs/luci-static/resources/fchomo.js:241 +#: htdocs/luci-static/resources/fchomo.js:243 msgid "Select" msgstr "手动选择" @@ -2865,7 +2914,7 @@ msgstr "手动选择" msgid "Select Dashboard" msgstr "选择面板" -#: htdocs/luci-static/resources/fchomo.js:410 +#: htdocs/luci-static/resources/fchomo.js:412 msgid "Send padding randomly 0-3333 bytes with 50% probability." msgstr "以 50% 的概率发送随机 0-3333 字节的填充。" @@ -2873,26 +2922,26 @@ msgstr "以 50% 的概率发送随机 0-3333 字节的填充。" msgid "Send queries to both the %s and the %s." msgstr "同时向%s%s发起查询。" -#: htdocs/luci-static/resources/fchomo.js:399 -#: htdocs/luci-static/resources/fchomo.js:400 +#: htdocs/luci-static/resources/fchomo.js:401 +#: htdocs/luci-static/resources/fchomo.js:402 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:740 -#: htdocs/luci-static/resources/fchomo/listeners.js:1001 -#: htdocs/luci-static/resources/fchomo/listeners.js:1016 +#: htdocs/luci-static/resources/fchomo/listeners.js:800 +#: htdocs/luci-static/resources/fchomo/listeners.js:1080 +#: htdocs/luci-static/resources/fchomo/listeners.js:1095 #: htdocs/luci-static/resources/view/fchomo/server.js:58 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:62 msgid "Server" msgstr "服务端" -#: htdocs/luci-static/resources/view/fchomo/node.js:256 +#: htdocs/luci-static/resources/view/fchomo/node.js:260 msgid "Server address" msgstr "服务器地址" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1265 +#: htdocs/luci-static/resources/view/fchomo/node.js:1373 +#: htdocs/luci-static/resources/view/fchomo/node.js:1379 msgid "Server hostname" msgstr "服务器主机名称" @@ -2904,27 +2953,32 @@ msgstr "服务端状态" msgid "Service status" msgstr "服务状态" +#: htdocs/luci-static/resources/fchomo.js:168 +#: htdocs/luci-static/resources/fchomo.js:205 +msgid "ShadowQUIC" +msgstr "" + #: htdocs/luci-static/resources/fchomo.js:157 -#: htdocs/luci-static/resources/fchomo.js:192 +#: htdocs/luci-static/resources/fchomo.js:193 msgid "Shadowsocks" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:506 -#: htdocs/luci-static/resources/view/fchomo/node.js:653 +#: htdocs/luci-static/resources/fchomo/listeners.js:422 +#: htdocs/luci-static/resources/view/fchomo/node.js:568 msgid "Shadowsocks chipher" msgstr "Shadowsocks 加密方法" -#: htdocs/luci-static/resources/fchomo/listeners.js:501 -#: htdocs/luci-static/resources/view/fchomo/node.js:648 +#: htdocs/luci-static/resources/fchomo/listeners.js:417 +#: htdocs/luci-static/resources/view/fchomo/node.js:563 msgid "Shadowsocks encrypt" msgstr "Shadowsocks 加密" -#: htdocs/luci-static/resources/fchomo/listeners.js:514 -#: htdocs/luci-static/resources/view/fchomo/node.js:661 +#: htdocs/luci-static/resources/fchomo/listeners.js:430 +#: htdocs/luci-static/resources/view/fchomo/node.js:576 msgid "Shadowsocks password" msgstr "Shadowsocks 密码" -#: htdocs/luci-static/resources/view/fchomo/node.js:1522 +#: htdocs/luci-static/resources/view/fchomo/node.js:1574 msgid "Show connections in the dashboard for breaking connections easier." msgstr "在面板中显示连接以便于打断连接。" @@ -2932,18 +2986,18 @@ msgstr "在面板中显示连接以便于打断连接。" msgid "Silent" msgstr "静音" -#: htdocs/luci-static/resources/fchomo.js:182 +#: htdocs/luci-static/resources/fchomo.js:183 msgid "Simple round-robin all nodes" msgstr "简单轮替所有节点" -#: htdocs/luci-static/resources/view/fchomo/node.js:1775 +#: htdocs/luci-static/resources/view/fchomo/node.js:1841 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:391 msgid "Size limit" msgstr "大小限制" #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1239 +#: htdocs/luci-static/resources/view/fchomo/node.js:2016 msgid "Skip cert verify" msgstr "跳过证书验证" @@ -2960,7 +3014,7 @@ msgid "Skiped sniffing src address" msgstr "跳过嗅探来源地址" #: htdocs/luci-static/resources/fchomo.js:160 -#: htdocs/luci-static/resources/fchomo.js:196 +#: htdocs/luci-static/resources/fchomo.js:197 msgid "Snell" msgstr "" @@ -2976,7 +3030,7 @@ msgstr "嗅探器" msgid "Sniffer settings" msgstr "嗅探器设置" -#: htdocs/luci-static/resources/fchomo.js:442 +#: htdocs/luci-static/resources/fchomo.js:444 msgid "Specify a ID" msgstr "指定一个ID" @@ -2995,11 +3049,11 @@ msgstr "堆栈" msgid "Standard" msgstr "标准" -#: htdocs/luci-static/resources/fchomo.js:255 +#: htdocs/luci-static/resources/fchomo.js:257 msgid "Steam Client" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:256 +#: htdocs/luci-static/resources/fchomo.js:258 msgid "Steam P2P" msgstr "" @@ -3008,7 +3062,7 @@ msgstr "" msgid "Strategy" msgstr "策略" -#: htdocs/luci-static/resources/fchomo/listeners.js:627 +#: htdocs/luci-static/resources/fchomo/listeners.js:573 #: htdocs/luci-static/resources/view/fchomo/client.js:1388 #: htdocs/luci-static/resources/view/fchomo/client.js:1397 msgid "Sub rule" @@ -3018,7 +3072,7 @@ msgstr "子规则" msgid "Sub rule group" msgstr "子规则组" -#: htdocs/luci-static/resources/fchomo.js:727 +#: htdocs/luci-static/resources/fchomo.js:729 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:231 msgid "Successfully imported %s %s of total %s." msgstr "已成功导入 %s 个%s (共 %s 个)。" @@ -3027,15 +3081,19 @@ msgstr "已成功导入 %s 个%s (共 %s 个)。" msgid "Successfully updated." msgstr "更新成功。" -#: htdocs/luci-static/resources/fchomo.js:2082 +#: htdocs/luci-static/resources/fchomo.js:2084 msgid "Successfully uploaded." msgstr "已成功上传。" #: htdocs/luci-static/resources/fchomo.js:159 -#: htdocs/luci-static/resources/fchomo.js:195 +#: htdocs/luci-static/resources/fchomo.js:196 msgid "Sudoku" msgstr "" +#: htdocs/luci-static/resources/view/fchomo/node.js:732 +msgid "Support %s, default %s." +msgstr "支持 %s,默认 %s。" + #: htdocs/luci-static/resources/view/fchomo/ruleset.js:206 msgid "" "Supports rule-set links of type: %s and format: %s." @@ -3059,15 +3117,15 @@ msgstr "系统 DNS" #: htdocs/luci-static/resources/fchomo.js:162 #: htdocs/luci-static/resources/fchomo.js:163 #: htdocs/luci-static/resources/fchomo.js:164 -#: htdocs/luci-static/resources/fchomo.js:190 -#: htdocs/luci-static/resources/fchomo.js:195 +#: htdocs/luci-static/resources/fchomo.js:191 #: htdocs/luci-static/resources/fchomo.js:196 #: htdocs/luci-static/resources/fchomo.js:197 #: htdocs/luci-static/resources/fchomo.js:198 #: 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:671 +#: htdocs/luci-static/resources/fchomo.js:201 +#: htdocs/luci-static/resources/fchomo.js:209 +#: htdocs/luci-static/resources/fchomo/listeners.js:626 #: htdocs/luci-static/resources/view/fchomo/client.js:606 #: htdocs/luci-static/resources/view/fchomo/client.js:698 msgid "TCP" @@ -3077,7 +3135,7 @@ msgstr "TCP" msgid "TCP concurrency" msgstr "TCP 并发" -#: htdocs/luci-static/resources/view/fchomo/node.js:1515 +#: htdocs/luci-static/resources/view/fchomo/node.js:1567 msgid "TCP only" msgstr "仅 TCP" @@ -3094,95 +3152,96 @@ msgstr "TCP-Keep-Alive 间隔" #: htdocs/luci-static/resources/fchomo.js:157 #: htdocs/luci-static/resources/fchomo.js:158 #: htdocs/luci-static/resources/fchomo.js:167 -#: htdocs/luci-static/resources/fchomo.js:168 #: htdocs/luci-static/resources/fchomo.js:169 -#: htdocs/luci-static/resources/fchomo.js:189 -#: htdocs/luci-static/resources/fchomo.js:191 +#: htdocs/luci-static/resources/fchomo.js:170 +#: htdocs/luci-static/resources/fchomo.js:190 #: htdocs/luci-static/resources/fchomo.js:192 -#: htdocs/luci-static/resources/fchomo.js:194 -#: htdocs/luci-static/resources/fchomo.js:205 +#: htdocs/luci-static/resources/fchomo.js:193 +#: htdocs/luci-static/resources/fchomo.js:195 +#: htdocs/luci-static/resources/fchomo.js:206 msgid "TCP/UDP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1546 -#: htdocs/luci-static/resources/view/fchomo/node.js:1904 +#: htdocs/luci-static/resources/view/fchomo/node.js:1598 +#: htdocs/luci-static/resources/view/fchomo/node.js:1977 msgid "TFO" msgstr "TCP 快速打开 (TFO)" -#: htdocs/luci-static/resources/fchomo/listeners.js:583 -#: htdocs/luci-static/resources/fchomo/listeners.js:928 +#: htdocs/luci-static/resources/fchomo/listeners.js:666 +#: htdocs/luci-static/resources/fchomo/listeners.js:988 #: htdocs/luci-static/resources/view/fchomo/global.js:550 -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:455 +#: htdocs/luci-static/resources/view/fchomo/node.js:997 +#: htdocs/luci-static/resources/view/fchomo/node.js:1142 msgid "TLS" msgstr "TLS" -#: htdocs/luci-static/resources/fchomo/listeners.js:995 -#: htdocs/luci-static/resources/view/fchomo/node.js:1133 +#: htdocs/luci-static/resources/fchomo/listeners.js:1035 +#: htdocs/luci-static/resources/view/fchomo/node.js:1173 msgid "TLS ALPN" msgstr "TLS ALPN" -#: htdocs/luci-static/resources/view/fchomo/node.js:1127 +#: htdocs/luci-static/resources/fchomo/listeners.js:1029 +#: htdocs/luci-static/resources/view/fchomo/node.js:1167 msgid "TLS SNI" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:122 -#: htdocs/luci-static/resources/view/fchomo/node.js:236 +#: htdocs/luci-static/resources/fchomo/listeners.js:123 +#: htdocs/luci-static/resources/view/fchomo/node.js:240 msgid "TLS fields" msgstr "TLS字段" #: htdocs/luci-static/resources/fchomo.js:165 -#: htdocs/luci-static/resources/fchomo.js:203 +#: htdocs/luci-static/resources/fchomo.js:202 msgid "TUIC" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:253 +#: htdocs/luci-static/resources/fchomo.js:255 msgid "TURN" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:553 +#: htdocs/luci-static/resources/fchomo/listeners.js:560 msgid "Target address" msgstr "目标地址" -#: htdocs/luci-static/resources/fchomo/listeners.js:188 +#: htdocs/luci-static/resources/fchomo/listeners.js:478 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:758 -#: htdocs/luci-static/resources/view/fchomo/node.js:766 +#: htdocs/luci-static/resources/view/fchomo/node.js:844 +#: htdocs/luci-static/resources/view/fchomo/node.js:852 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:821 -#: htdocs/luci-static/resources/view/fchomo/node.js:829 +#: htdocs/luci-static/resources/view/fchomo/node.js:757 +#: htdocs/luci-static/resources/view/fchomo/node.js:765 msgid "The %s address used by local machine in the Wireguard network." msgstr "WireGuard 网络中使用的本机 %s 地址。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1016 -#: htdocs/luci-static/resources/view/fchomo/node.js:1214 +#: htdocs/luci-static/resources/fchomo/listeners.js:1095 +#: htdocs/luci-static/resources/view/fchomo/node.js:1262 msgid "The %s private key, in PEM format." msgstr "%s私钥,需要 PEM 格式。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1001 -#: htdocs/luci-static/resources/fchomo/listeners.js:1039 +#: htdocs/luci-static/resources/fchomo/listeners.js:1080 +#: htdocs/luci-static/resources/fchomo/listeners.js:1118 #: htdocs/luci-static/resources/view/fchomo/global.js:571 -#: htdocs/luci-static/resources/view/fchomo/node.js:1200 +#: htdocs/luci-static/resources/view/fchomo/node.js:1248 msgid "The %s public key, in PEM format." msgstr "%s公钥,需要 PEM 格式。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1234 +#: htdocs/luci-static/resources/view/fchomo/node.js:1282 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:442 +#: htdocs/luci-static/resources/view/fchomo/node.js:377 msgid "The ED25519 available private key or UUID provided by Sudoku server." msgstr "Sudoku 服务器提供的 ED25519 可用私钥 或 UUID。" -#: htdocs/luci-static/resources/fchomo/listeners.js:297 +#: htdocs/luci-static/resources/fchomo/listeners.js:218 msgid "The ED25519 master public key or UUID generated by Sudoku." msgstr "Sudoku 生成的 ED25519 主公钥 或 UUID。" @@ -3190,14 +3249,14 @@ msgstr "Sudoku 生成的 ED25519 主公钥 或 UUID。" msgid "The default value is 2:00 every day." msgstr "默认值为每天 2:00。" -#: htdocs/luci-static/resources/view/fchomo/node.js:975 +#: htdocs/luci-static/resources/view/fchomo/node.js:941 msgid "" "The default value is %s, indicating that only the outer " "connection timeout is used." msgstr "默认值为%s,表示仅使用外层连接超时。" -#: htdocs/luci-static/resources/fchomo/listeners.js:772 -#: htdocs/luci-static/resources/view/fchomo/node.js:1049 +#: htdocs/luci-static/resources/fchomo/listeners.js:832 +#: htdocs/luci-static/resources/view/fchomo/node.js:1089 msgid "" "The first padding must have a probability of 100% and at least 35 bytes." msgstr "首个填充必须为 100% 的概率并且至少 35 字节。" @@ -3212,26 +3271,30 @@ msgstr "匹配 %s 的将被视为未被投毒污染。" msgid "The matching %s will be deemed as poisoned." msgstr "匹配 %s 的将被视为已被投毒污染。" -#: htdocs/luci-static/resources/fchomo/listeners.js:770 -#: htdocs/luci-static/resources/view/fchomo/node.js:1047 +#: htdocs/luci-static/resources/fchomo/listeners.js:713 +msgid "The proxy used to connect to the handshake target." +msgstr "用于连接握手目标的代理。" + +#: htdocs/luci-static/resources/fchomo/listeners.js:830 +#: htdocs/luci-static/resources/view/fchomo/node.js:1087 msgid "The server and client can set different padding parameters." msgstr "服务器和客户端可以设置不同的填充参数。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1097 +#: htdocs/luci-static/resources/fchomo/listeners.js:1176 #: 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:1670 -#: htdocs/luci-static/resources/view/fchomo/node.js:1194 -#: htdocs/luci-static/resources/view/fchomo/node.js:1940 +#: htdocs/luci-static/resources/view/fchomo/node.js:1242 +#: htdocs/luci-static/resources/view/fchomo/node.js:2019 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:599 +#: htdocs/luci-static/resources/view/fchomo/node.js:628 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." @@ -3263,33 +3326,33 @@ msgstr "Tproxy Fwmark/fwmask" msgid "Tproxy port" msgstr "Tproxy 端口" -#: htdocs/luci-static/resources/fchomo/listeners.js:285 -#: htdocs/luci-static/resources/view/fchomo/node.js:434 +#: htdocs/luci-static/resources/fchomo/listeners.js:206 +#: htdocs/luci-static/resources/view/fchomo/node.js:369 msgid "Traffic pattern" msgstr "流量模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:2109 +#: htdocs/luci-static/resources/view/fchomo/node.js:2188 msgid "Transit proxy group" msgstr "中转代理组" -#: htdocs/luci-static/resources/view/fchomo/node.js:2120 +#: htdocs/luci-static/resources/view/fchomo/node.js:2199 msgid "Transit proxy node" msgstr "中转代理节点" -#: htdocs/luci-static/resources/fchomo/listeners.js:273 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:194 +#: htdocs/luci-static/resources/fchomo/listeners.js:1229 +#: htdocs/luci-static/resources/view/fchomo/node.js:346 +#: htdocs/luci-static/resources/view/fchomo/node.js:1326 msgid "Transport" msgstr "传输层" -#: htdocs/luci-static/resources/fchomo/listeners.js:123 -#: htdocs/luci-static/resources/view/fchomo/node.js:237 +#: htdocs/luci-static/resources/fchomo/listeners.js:124 +#: htdocs/luci-static/resources/view/fchomo/node.js:241 msgid "Transport fields" msgstr "传输层字段" -#: htdocs/luci-static/resources/fchomo/listeners.js:1153 -#: htdocs/luci-static/resources/view/fchomo/node.js:1281 +#: htdocs/luci-static/resources/fchomo/listeners.js:1234 +#: htdocs/luci-static/resources/view/fchomo/node.js:1331 msgid "Transport type" msgstr "传输层类型" @@ -3298,16 +3361,16 @@ msgid "Treat the destination IP as the source IP." msgstr "将 目标 IP 视为 来源 IP。" #: htdocs/luci-static/resources/fchomo.js:163 -#: htdocs/luci-static/resources/fchomo.js:199 +#: htdocs/luci-static/resources/fchomo.js:200 msgid "Trojan" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:168 -#: htdocs/luci-static/resources/fchomo.js:205 +#: htdocs/luci-static/resources/fchomo.js:169 +#: htdocs/luci-static/resources/fchomo.js:206 msgid "TrustTunnel" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:243 +#: htdocs/luci-static/resources/fchomo/listeners.js:533 msgid "Trusted proxy header" msgstr "可信代理 Header" @@ -3327,35 +3390,37 @@ msgstr "Tun 设置" msgid "Tun stack." msgstr "Tun 堆栈" -#: htdocs/luci-static/resources/fchomo.js:169 +#: htdocs/luci-static/resources/fchomo.js:170 msgid "Tunnel" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:142 +#: htdocs/luci-static/resources/fchomo/listeners.js:143 #: htdocs/luci-static/resources/view/fchomo/client.js:533 #: 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:1712 -#: htdocs/luci-static/resources/view/fchomo/node.js:2070 +#: htdocs/luci-static/resources/view/fchomo/node.js:254 +#: htdocs/luci-static/resources/view/fchomo/node.js:1778 +#: htdocs/luci-static/resources/view/fchomo/node.js:2149 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:285 msgid "Type" msgstr "类型" #: htdocs/luci-static/resources/fchomo.js:165 #: htdocs/luci-static/resources/fchomo.js:166 +#: htdocs/luci-static/resources/fchomo.js:168 #: htdocs/luci-static/resources/fchomo.js:202 -#: 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:672 -#: htdocs/luci-static/resources/fchomo/listeners.js:677 +#: htdocs/luci-static/resources/fchomo.js:205 +#: htdocs/luci-static/resources/fchomo.js:207 +#: htdocs/luci-static/resources/fchomo.js:208 +#: htdocs/luci-static/resources/fchomo/listeners.js:627 +#: htdocs/luci-static/resources/fchomo/listeners.js:632 #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:947 +#: htdocs/luci-static/resources/view/fchomo/node.js:1987 msgid "UDP" msgstr "UDP" @@ -3363,42 +3428,43 @@ msgstr "UDP" msgid "UDP NAT expiration time" msgstr "UDP NAT 过期时间" -#: htdocs/luci-static/resources/view/fchomo/node.js:598 +#: htdocs/luci-static/resources/view/fchomo/node.js:627 +#: htdocs/luci-static/resources/view/fchomo/node.js:738 msgid "UDP over stream" msgstr "UDP over stream" -#: htdocs/luci-static/resources/view/fchomo/node.js:604 +#: htdocs/luci-static/resources/view/fchomo/node.js:633 msgid "UDP over stream version" msgstr "UDP over stream 版本" -#: htdocs/luci-static/resources/view/fchomo/node.js:591 +#: htdocs/luci-static/resources/view/fchomo/node.js:620 msgid "UDP packet relay mode." msgstr "UDP 包中继模式。" -#: htdocs/luci-static/resources/view/fchomo/node.js:590 +#: htdocs/luci-static/resources/view/fchomo/node.js:619 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:466 -#: htdocs/luci-static/resources/view/fchomo/node.js:467 +#: htdocs/luci-static/resources/fchomo/listeners.js:294 +#: htdocs/luci-static/resources/fchomo/listeners.js:295 +#: htdocs/luci-static/resources/view/fchomo/node.js:401 +#: htdocs/luci-static/resources/view/fchomo/node.js:402 msgid "UP: %s; DOWN: %s" msgstr "上传: %s; 下载: %s" -#: htdocs/luci-static/resources/fchomo.js:243 +#: htdocs/luci-static/resources/fchomo.js:245 msgid "URL test" msgstr "自动选择" -#: htdocs/luci-static/resources/fchomo/listeners.js:294 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:215 +#: htdocs/luci-static/resources/fchomo/listeners.js:395 +#: htdocs/luci-static/resources/fchomo/listeners.js:445 +#: htdocs/luci-static/resources/view/fchomo/node.js:513 +#: htdocs/luci-static/resources/view/fchomo/node.js:607 msgid "UUID" msgstr "UUID" -#: htdocs/luci-static/resources/fchomo.js:1625 +#: htdocs/luci-static/resources/fchomo.js:1627 msgid "Unable to download unsupported type: %s" msgstr "无法下载不支持的类型: %s" @@ -3423,8 +3489,8 @@ msgstr "未知错误。" msgid "Unknown error: %s" msgstr "未知错误:%s" -#: htdocs/luci-static/resources/view/fchomo/node.js:987 -#: htdocs/luci-static/resources/view/fchomo/node.js:1919 +#: htdocs/luci-static/resources/view/fchomo/node.js:953 +#: htdocs/luci-static/resources/view/fchomo/node.js:1992 msgid "UoT" msgstr "UDP over TCP (UoT)" @@ -3432,24 +3498,24 @@ msgstr "UDP over TCP (UoT)" msgid "Update failed." msgstr "更新失败。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1781 +#: htdocs/luci-static/resources/view/fchomo/node.js:1847 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:397 msgid "Update interval" msgstr "更新间隔" -#: htdocs/luci-static/resources/fchomo/listeners.js:1248 -#: htdocs/luci-static/resources/view/fchomo/node.js:1533 +#: htdocs/luci-static/resources/fchomo/listeners.js:1331 +#: htdocs/luci-static/resources/view/fchomo/node.js:1585 msgid "Upload bandwidth" msgstr "上传带宽" -#: htdocs/luci-static/resources/fchomo/listeners.js:1249 -#: htdocs/luci-static/resources/view/fchomo/node.js:1534 +#: htdocs/luci-static/resources/fchomo/listeners.js:1332 +#: htdocs/luci-static/resources/view/fchomo/node.js:1586 msgid "Upload bandwidth in Mbps." msgstr "上传带宽(单位:Mbps)。" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1086 +#: htdocs/luci-static/resources/fchomo/listeners.js:1126 +#: htdocs/luci-static/resources/view/fchomo/node.js:1253 msgid "Upload certificate" msgstr "上传证书" @@ -3457,23 +3523,23 @@ msgstr "上传证书" msgid "Upload initial package" msgstr "上传初始资源包" -#: htdocs/luci-static/resources/fchomo/listeners.js:1022 -#: htdocs/luci-static/resources/view/fchomo/node.js:1219 +#: htdocs/luci-static/resources/fchomo/listeners.js:1101 +#: htdocs/luci-static/resources/view/fchomo/node.js:1267 msgid "Upload key" msgstr "上传密钥" -#: 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/fchomo/listeners.js:1089 +#: htdocs/luci-static/resources/fchomo/listeners.js:1104 +#: htdocs/luci-static/resources/fchomo/listeners.js:1129 #: htdocs/luci-static/resources/view/fchomo/global.js:306 -#: htdocs/luci-static/resources/view/fchomo/node.js:1208 -#: htdocs/luci-static/resources/view/fchomo/node.js:1222 +#: htdocs/luci-static/resources/view/fchomo/node.js:1256 +#: htdocs/luci-static/resources/view/fchomo/node.js:1270 msgid "Upload..." msgstr "上传..." -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:278 +#: htdocs/luci-static/resources/view/fchomo/node.js:285 +#: htdocs/luci-static/resources/view/fchomo/node.js:296 msgid "Use sub rule" msgstr "使用子规则" @@ -3497,7 +3563,8 @@ msgstr "用于解析 DNS 服务器的域名。必须是 IP。" msgid "Used to resolve the domain of the Proxy node." msgstr "用于解析代理节点的域名。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1128 +#: htdocs/luci-static/resources/view/fchomo/node.js:1234 +#: htdocs/luci-static/resources/view/fchomo/node.js:2011 msgid "Used to verify the hostname on the returned certificates." msgstr "用于验证返回的证书上的主机名。" @@ -3505,12 +3572,14 @@ msgstr "用于验证返回的证书上的主机名。" msgid "User Authentication" msgstr "用户认证" -#: htdocs/luci-static/resources/fchomo/listeners.js:280 +#: htdocs/luci-static/resources/fchomo/listeners.js:201 msgid "User-hint is mandatory" msgstr "User-hint 是必填项" -#: htdocs/luci-static/resources/fchomo/listeners.js:161 -#: htdocs/luci-static/resources/view/fchomo/node.js:301 +#: htdocs/luci-static/resources/fchomo/listeners.js:162 +#: htdocs/luci-static/resources/fchomo/listeners.js:685 +#: htdocs/luci-static/resources/view/fchomo/node.js:305 +#: htdocs/luci-static/resources/view/fchomo/node.js:1008 msgid "Username" msgstr "用户名" @@ -3518,51 +3587,51 @@ msgstr "用户名" msgid "Users filter mode" msgstr "使用者过滤模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:1390 +#: htdocs/luci-static/resources/view/fchomo/node.js:1442 msgid "V2ray HTTPUpgrade" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1395 +#: htdocs/luci-static/resources/view/fchomo/node.js:1447 msgid "V2ray HTTPUpgrade fast open" msgstr "" #: htdocs/luci-static/resources/fchomo.js:162 -#: htdocs/luci-static/resources/fchomo.js:198 +#: htdocs/luci-static/resources/fchomo.js:199 msgid "VLESS" msgstr "" #: htdocs/luci-static/resources/fchomo.js:161 -#: htdocs/luci-static/resources/fchomo.js:197 +#: htdocs/luci-static/resources/fchomo.js:198 msgid "VMess" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1718 -#: htdocs/luci-static/resources/view/fchomo/node.js:2076 +#: htdocs/luci-static/resources/view/fchomo/node.js:1784 +#: htdocs/luci-static/resources/view/fchomo/node.js:2155 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:328 msgid "Value" msgstr "可视化值" -#: htdocs/luci-static/resources/fchomo.js:372 +#: htdocs/luci-static/resources/fchomo.js:374 msgid "Verify if given" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:463 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:384 +#: htdocs/luci-static/resources/fchomo/listeners.js:697 +#: htdocs/luci-static/resources/view/fchomo/node.js:497 +#: htdocs/luci-static/resources/view/fchomo/node.js:1020 msgid "Version" msgstr "版本" -#: htdocs/luci-static/resources/view/fchomo/node.js:942 +#: htdocs/luci-static/resources/view/fchomo/node.js:1028 msgid "Version hint" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:120 -#: htdocs/luci-static/resources/view/fchomo/node.js:234 +#: htdocs/luci-static/resources/fchomo/listeners.js:121 +#: htdocs/luci-static/resources/view/fchomo/node.js:238 msgid "Vless Encryption fields" msgstr "Vless Encryption 字段" -#: htdocs/luci-static/resources/fchomo.js:409 +#: htdocs/luci-static/resources/fchomo.js:411 msgid "Wait a random 0-111 milliseconds with 75% probability." msgstr "以 75% 的概率等待随机 0-111 毫秒。" @@ -3570,16 +3639,16 @@ msgstr "以 75% 的概率等待随机 0-111 毫秒。" msgid "Warning" msgstr "警告" -#: htdocs/luci-static/resources/fchomo/listeners.js:441 -#: 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:1297 -#: htdocs/luci-static/resources/view/fchomo/node.js:1304 -#: htdocs/luci-static/resources/view/fchomo/node.js:1310 +#: htdocs/luci-static/resources/fchomo/listeners.js:362 +#: htdocs/luci-static/resources/fchomo/listeners.js:1236 +#: htdocs/luci-static/resources/fchomo/listeners.js:1247 +#: htdocs/luci-static/resources/fchomo/listeners.js:1254 +#: htdocs/luci-static/resources/view/fchomo/node.js:451 +#: htdocs/luci-static/resources/view/fchomo/node.js:480 +#: htdocs/luci-static/resources/view/fchomo/node.js:1336 +#: htdocs/luci-static/resources/view/fchomo/node.js:1349 +#: htdocs/luci-static/resources/view/fchomo/node.js:1356 +#: htdocs/luci-static/resources/view/fchomo/node.js:1362 msgid "WebSocket" msgstr "" @@ -3591,52 +3660,52 @@ msgstr "用作服务端时,HomeProxy 是更好的选择。" msgid "White list" msgstr "白名单" -#: htdocs/luci-static/resources/fchomo.js:206 +#: htdocs/luci-static/resources/fchomo.js:207 msgid "WireGuard" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:843 +#: htdocs/luci-static/resources/view/fchomo/node.js:779 msgid "WireGuard peer public key." msgstr "WireGuard 对端公钥。" -#: htdocs/luci-static/resources/view/fchomo/node.js:850 +#: htdocs/luci-static/resources/view/fchomo/node.js:786 msgid "WireGuard pre-shared key." msgstr "WireGuard 预共享密钥。" -#: htdocs/luci-static/resources/view/fchomo/node.js:835 +#: htdocs/luci-static/resources/view/fchomo/node.js:771 msgid "WireGuard requires base64-encoded private keys." msgstr "WireGuard 要求 base64 编码的私钥。" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1237 +#: htdocs/luci-static/resources/fchomo/listeners.js:1248 +#: htdocs/luci-static/resources/view/fchomo/node.js:1337 +#: htdocs/luci-static/resources/view/fchomo/node.js:1357 msgid "XHTTP" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1201 -#: htdocs/luci-static/resources/view/fchomo/node.js:1400 +#: htdocs/luci-static/resources/fchomo/listeners.js:1284 +#: htdocs/luci-static/resources/view/fchomo/node.js:1452 msgid "XHTTP mode" msgstr "XHTTP 模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:1431 +#: htdocs/luci-static/resources/view/fchomo/node.js:1483 msgid "XMUX" msgstr "" -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1488 +#: htdocs/luci-static/resources/view/fchomo/node.js:1493 +#: htdocs/luci-static/resources/view/fchomo/node.js:1498 +#: htdocs/luci-static/resources/view/fchomo/node.js:1503 +#: htdocs/luci-static/resources/view/fchomo/node.js:1508 +#: htdocs/luci-static/resources/view/fchomo/node.js:1513 msgid "XMUX:" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:731 +#: htdocs/luci-static/resources/fchomo/listeners.js:791 msgid "XOR mode" msgstr "XOR 模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:737 +#: htdocs/luci-static/resources/view/fchomo/node.js:558 msgid "Xudp (Xray-core)" msgstr "" @@ -3644,7 +3713,7 @@ msgstr "" msgid "Yaml text" msgstr "Yaml 格式文本" -#: htdocs/luci-static/resources/view/fchomo/node.js:1943 +#: htdocs/luci-static/resources/view/fchomo/node.js:2022 msgid "Yes" msgstr "" @@ -3652,31 +3721,31 @@ msgstr "" msgid "YouTube" msgstr "油管" -#: htdocs/luci-static/resources/fchomo.js:2064 +#: htdocs/luci-static/resources/fchomo.js:2066 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:717 +#: htdocs/luci-static/resources/fchomo.js:347 +#: htdocs/luci-static/resources/fchomo.js:360 +#: htdocs/luci-static/resources/fchomo.js:365 +#: htdocs/luci-static/resources/view/fchomo/node.js:538 msgid "aes-128-gcm" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:346 +#: htdocs/luci-static/resources/fchomo.js:348 msgid "aes-192-gcm" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:347 -#: htdocs/luci-static/resources/fchomo.js:364 +#: htdocs/luci-static/resources/fchomo.js:349 +#: htdocs/luci-static/resources/fchomo.js:366 msgid "aes-256-gcm" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1803 +#: htdocs/luci-static/resources/view/fchomo/node.js:1869 msgid "age private key" msgstr "age 私钥" -#: htdocs/luci-static/resources/view/fchomo/node.js:1864 +#: htdocs/luci-static/resources/view/fchomo/node.js:1930 msgid "age public key" msgstr "age 公钥" @@ -3688,7 +3757,7 @@ msgstr "" msgid "age-x25519" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:714 +#: htdocs/luci-static/resources/view/fchomo/node.js:535 msgid "auto" msgstr "自动" @@ -3696,19 +3765,19 @@ msgstr "自动" msgid "bbr" msgstr "bbr" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1091 +#: htdocs/luci-static/resources/fchomo/listeners.js:1131 +#: htdocs/luci-static/resources/view/fchomo/node.js:1258 msgid "certificate" msgstr "证书" -#: htdocs/luci-static/resources/fchomo.js:348 -#: htdocs/luci-static/resources/fchomo.js:359 -#: htdocs/luci-static/resources/fchomo.js:365 +#: htdocs/luci-static/resources/fchomo.js:350 +#: htdocs/luci-static/resources/fchomo.js:361 +#: htdocs/luci-static/resources/fchomo.js:367 msgid "chacha20-ietf-poly1305" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:718 +#: htdocs/luci-static/resources/view/fchomo/node.js:539 msgid "chacha20-poly1305" msgstr "" @@ -3716,8 +3785,8 @@ msgstr "" msgid "cubic" msgstr "cubic" -#: htdocs/luci-static/resources/fchomo/listeners.js:683 -#: htdocs/luci-static/resources/fchomo/listeners.js:714 +#: htdocs/luci-static/resources/fchomo/listeners.js:743 +#: htdocs/luci-static/resources/fchomo/listeners.js:774 msgid "decryption" msgstr "decryption" @@ -3725,41 +3794,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:1931 +#: htdocs/luci-static/resources/view/fchomo/node.js:2004 msgid "down" msgstr "Hysteria 下载速率" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:778 +#: htdocs/luci-static/resources/view/fchomo/node.js:1041 +#: htdocs/luci-static/resources/view/fchomo/node.js:1064 msgid "encryption" msgstr "encryption" -#: htdocs/luci-static/resources/fchomo/listeners.js:425 -#: htdocs/luci-static/resources/view/fchomo/node.js:500 +#: htdocs/luci-static/resources/fchomo/listeners.js:346 +#: htdocs/luci-static/resources/view/fchomo/node.js:435 msgid "false = bandwidth optimized downlink; true = pure Sudoku downlink." msgstr "false = 带宽优化下行 true = 纯 Sudoku 下行。" -#: 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:1296 -#: htdocs/luci-static/resources/view/fchomo/node.js:1303 -#: htdocs/luci-static/resources/view/fchomo/node.js:1309 +#: htdocs/luci-static/resources/fchomo/listeners.js:1235 +#: htdocs/luci-static/resources/fchomo/listeners.js:1246 +#: htdocs/luci-static/resources/fchomo/listeners.js:1253 +#: htdocs/luci-static/resources/view/fchomo/node.js:1335 +#: htdocs/luci-static/resources/view/fchomo/node.js:1348 +#: htdocs/luci-static/resources/view/fchomo/node.js:1355 +#: htdocs/luci-static/resources/view/fchomo/node.js:1361 msgid "gRPC" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1366 +#: htdocs/luci-static/resources/view/fchomo/node.js:1418 msgid "gRPC User-Agent" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1371 +#: htdocs/luci-static/resources/view/fchomo/node.js:1423 msgid "gRPC ping interval" msgstr "gRPC ping 间隔" -#: htdocs/luci-static/resources/fchomo/listeners.js:1195 -#: htdocs/luci-static/resources/view/fchomo/node.js:1362 +#: htdocs/luci-static/resources/fchomo/listeners.js:1278 +#: htdocs/luci-static/resources/view/fchomo/node.js:1414 msgid "gRPC service name" msgstr "gRPC 服务名称" @@ -3767,23 +3836,28 @@ msgstr "gRPC 服务名称" msgid "gVisor" msgstr "gVisor" -#: htdocs/luci-static/resources/view/fchomo/node.js:781 +#: htdocs/luci-static/resources/view/fchomo/node.js:867 msgid "h2" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1478 +#: htdocs/luci-static/resources/view/fchomo/node.js:1530 msgid "h2mux" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:779 +#: htdocs/luci-static/resources/view/fchomo/node.js:865 msgid "h3" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:780 +#: htdocs/luci-static/resources/view/fchomo/node.js:866 msgid "h3-l4proxy" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:883 +#: htdocs/luci-static/resources/fchomo/listeners.js:647 +#: htdocs/luci-static/resources/view/fchomo/node.js:978 +msgid "jls" +msgstr "" + +#: htdocs/luci-static/resources/fchomo/listeners.js:943 msgid "least one keypair required" msgstr "至少需要一对密钥" @@ -3797,17 +3871,17 @@ msgstr "metacubexd" #: 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/node.js:1750 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:247 msgid "mihomo config" msgstr "mihomo 配置" -#: htdocs/luci-static/resources/fchomo.js:391 +#: htdocs/luci-static/resources/fchomo.js:393 msgid "mlkem768x25519plus" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1551 -#: htdocs/luci-static/resources/view/fchomo/node.js:1909 +#: htdocs/luci-static/resources/view/fchomo/node.js:1603 +#: htdocs/luci-static/resources/view/fchomo/node.js:1982 msgid "mpTCP" msgstr "多路径 TCP (mpTCP)" @@ -3819,20 +3893,18 @@ msgstr "new_reno" msgid "no-resolve" msgstr "no-resolve" -#: 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 +#: htdocs/luci-static/resources/fchomo.js:1801 +#: htdocs/luci-static/resources/fchomo.js:1896 +#: htdocs/luci-static/resources/fchomo.js:1931 +#: htdocs/luci-static/resources/fchomo.js:1959 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: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/fchomo.js:345 +#: htdocs/luci-static/resources/fchomo.js:359 +#: htdocs/luci-static/resources/fchomo.js:371 +#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:556 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:324 msgid "none" msgstr "无" @@ -3845,47 +3917,51 @@ msgstr "未找到" msgid "not included \",\"" msgstr "不包含 \",\"" -#: htdocs/luci-static/resources/fchomo.js:229 -#: htdocs/luci-static/resources/fchomo/listeners.js:629 -#: htdocs/luci-static/resources/fchomo/listeners.js:632 +#: htdocs/luci-static/resources/fchomo.js:231 +#: htdocs/luci-static/resources/fchomo/listeners.js:575 +#: htdocs/luci-static/resources/fchomo/listeners.js:578 msgid "null" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:644 +#: htdocs/luci-static/resources/fchomo/listeners.js:654 +#: htdocs/luci-static/resources/view/fchomo/node.js:973 +#: htdocs/luci-static/resources/view/fchomo/node.js:985 msgid "obfs-simple" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:547 +#: htdocs/luci-static/resources/view/fchomo/node.js:482 msgid "only applies when %s is %s." msgstr "仅当 %s 为 %s 时适用。" -#: htdocs/luci-static/resources/view/fchomo/node.js:545 +#: htdocs/luci-static/resources/view/fchomo/node.js:480 msgid "only applies when %s is not %s." msgstr "仅当 %s 不为 %s 时适用。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1889 +#: htdocs/luci-static/resources/view/fchomo/node.js:1963 +msgid "override.override-expr" +msgstr "" + +#: htdocs/luci-static/resources/view/fchomo/node.js:1955 msgid "override.proxy-name" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:736 +#: htdocs/luci-static/resources/view/fchomo/node.js:557 msgid "packet addr (v2ray-core v5+)" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1205 -#: htdocs/luci-static/resources/view/fchomo/node.js:1404 +#: htdocs/luci-static/resources/fchomo/listeners.js:1288 +#: htdocs/luci-static/resources/view/fchomo/node.js:1456 msgid "packet-up" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:439 -#: htdocs/luci-static/resources/view/fchomo/node.js:514 +#: htdocs/luci-static/resources/fchomo/listeners.js:360 +#: htdocs/luci-static/resources/view/fchomo/node.js:449 msgid "poll" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1027 -#: htdocs/luci-static/resources/view/fchomo/node.js:1224 +#: htdocs/luci-static/resources/fchomo/listeners.js:1106 +#: htdocs/luci-static/resources/view/fchomo/node.js:1272 msgid "private key" msgstr "私钥" @@ -3898,8 +3974,8 @@ msgstr "razord-meta" msgid "requires front-end adaptation using the API." msgstr "需要使用 API 的前端适配。" -#: htdocs/luci-static/resources/fchomo/listeners.js:564 -#: htdocs/luci-static/resources/view/fchomo/node.js:898 +#: htdocs/luci-static/resources/fchomo/listeners.js:646 +#: htdocs/luci-static/resources/view/fchomo/node.js:977 msgid "restls" msgstr "" @@ -3907,19 +3983,19 @@ msgstr "" msgid "rule-set" msgstr "规则集" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:645 +#: htdocs/luci-static/resources/fchomo/listeners.js:655 +#: htdocs/luci-static/resources/view/fchomo/node.js:976 +#: htdocs/luci-static/resources/view/fchomo/node.js:986 msgid "shadow-tls" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1476 +#: htdocs/luci-static/resources/view/fchomo/node.js:1528 msgid "smux" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:438 -#: htdocs/luci-static/resources/view/fchomo/node.js:513 +#: htdocs/luci-static/resources/fchomo/listeners.js:359 +#: htdocs/luci-static/resources/view/fchomo/node.js:448 msgid "split-stream" msgstr "" @@ -3927,25 +4003,25 @@ msgstr "" msgid "src" msgstr "src" -#: htdocs/luci-static/resources/fchomo/listeners.js:1203 -#: htdocs/luci-static/resources/view/fchomo/node.js:1402 +#: htdocs/luci-static/resources/fchomo/listeners.js:1286 +#: htdocs/luci-static/resources/view/fchomo/node.js:1454 msgid "stream-one" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1204 -#: htdocs/luci-static/resources/view/fchomo/node.js:1403 +#: htdocs/luci-static/resources/fchomo/listeners.js:1287 +#: htdocs/luci-static/resources/view/fchomo/node.js:1455 msgid "stream-up" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1220 +#: htdocs/luci-static/resources/fchomo/listeners.js:1303 msgid "stream-up server seconds" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:547 +#: htdocs/luci-static/resources/view/fchomo/node.js:482 msgid "stream/poll/auto" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:293 +#: htdocs/luci-static/resources/fchomo/listeners.js:214 msgid "sudoku-keypair" msgstr "" @@ -3953,100 +4029,100 @@ msgstr "" msgid "unchecked" msgstr "未检查" -#: htdocs/luci-static/resources/fchomo.js:455 +#: htdocs/luci-static/resources/fchomo.js:457 msgid "unique UCI identifier" msgstr "独立 UCI 标识" -#: htdocs/luci-static/resources/fchomo.js:458 +#: htdocs/luci-static/resources/fchomo.js:460 msgid "unique identifier" msgstr "独立标识" -#: htdocs/luci-static/resources/fchomo.js:1966 +#: htdocs/luci-static/resources/fchomo.js:1968 msgid "unique value" msgstr "独立值" -#: htdocs/luci-static/resources/view/fchomo/node.js:1925 +#: htdocs/luci-static/resources/view/fchomo/node.js:1998 msgid "up" msgstr "Hysteria 上传速率" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:385 +#: htdocs/luci-static/resources/fchomo/listeners.js:698 +#: htdocs/luci-static/resources/view/fchomo/node.js:498 +#: htdocs/luci-static/resources/view/fchomo/node.js:634 +#: htdocs/luci-static/resources/view/fchomo/node.js:960 +#: htdocs/luci-static/resources/view/fchomo/node.js:1021 msgid "v1" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:386 +#: htdocs/luci-static/resources/fchomo/listeners.js:699 +#: htdocs/luci-static/resources/view/fchomo/node.js:499 +#: htdocs/luci-static/resources/view/fchomo/node.js:961 +#: htdocs/luci-static/resources/view/fchomo/node.js:1022 msgid "v2" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:387 +#: htdocs/luci-static/resources/fchomo/listeners.js:700 +#: htdocs/luci-static/resources/view/fchomo/node.js:500 +#: htdocs/luci-static/resources/view/fchomo/node.js:1023 msgid "v3" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:467 -#: htdocs/luci-static/resources/view/fchomo/node.js:566 +#: htdocs/luci-static/resources/fchomo/listeners.js:388 +#: htdocs/luci-static/resources/view/fchomo/node.js:501 msgid "v4" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:468 -#: htdocs/luci-static/resources/view/fchomo/node.js:567 +#: htdocs/luci-static/resources/fchomo/listeners.js:389 +#: htdocs/luci-static/resources/view/fchomo/node.js:502 msgid "v5" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1846 -#: htdocs/luci-static/resources/fchomo.js:1849 +#: htdocs/luci-static/resources/fchomo.js:1848 +#: htdocs/luci-static/resources/fchomo.js:1851 msgid "valid JSON format" msgstr "有效的 JSON 格式" -#: htdocs/luci-static/resources/view/fchomo/node.js:1184 +#: htdocs/luci-static/resources/view/fchomo/node.js:1226 msgid "valid SHA256 string with %d characters" msgstr "包含 %d 个字符的有效 SHA256 字符串" -#: htdocs/luci-static/resources/fchomo.js:1871 -#: htdocs/luci-static/resources/fchomo.js:1874 +#: htdocs/luci-static/resources/fchomo.js:1873 +#: htdocs/luci-static/resources/fchomo.js:1876 msgid "valid URL" msgstr "有效网址" -#: htdocs/luci-static/resources/fchomo.js:1884 +#: htdocs/luci-static/resources/fchomo.js:1886 msgid "valid base64 key with %d characters" msgstr "包含 %d 个字符的有效 base64 密钥" -#: htdocs/luci-static/resources/fchomo.js:1944 -#: htdocs/luci-static/resources/fchomo.js:1950 +#: htdocs/luci-static/resources/fchomo.js:1946 +#: htdocs/luci-static/resources/fchomo.js:1952 msgid "valid format: 2x, 2p, 4v" msgstr "有效格式: 2x, 2p, 4v" -#: htdocs/luci-static/resources/fchomo.js:1931 +#: htdocs/luci-static/resources/fchomo.js:1933 msgid "valid key length with %d characters" msgstr "包含 %d 个字符的有效密钥" -#: htdocs/luci-static/resources/fchomo.js:1809 +#: htdocs/luci-static/resources/fchomo.js:1811 msgid "valid port value" msgstr "有效端口值" -#: htdocs/luci-static/resources/fchomo.js:1859 +#: htdocs/luci-static/resources/fchomo.js:1861 msgid "valid uuid" msgstr "有效 uuid" -#: htdocs/luci-static/resources/fchomo.js:415 +#: htdocs/luci-static/resources/fchomo.js:417 msgid "vless-mlkem768" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:414 +#: htdocs/luci-static/resources/fchomo.js:416 msgid "vless-x25519" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:349 +#: htdocs/luci-static/resources/fchomo.js:351 msgid "xchacha20-ietf-poly1305" msgstr "" @@ -4054,7 +4130,7 @@ msgstr "" msgid "yacd-meta" msgstr "yacd-meta" -#: htdocs/luci-static/resources/view/fchomo/node.js:1477 +#: htdocs/luci-static/resources/view/fchomo/node.js:1529 msgid "yamux" msgstr "" @@ -4062,94 +4138,10 @@ msgstr "" msgid "zashboard" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:716 +#: htdocs/luci-static/resources/view/fchomo/node.js:537 msgid "zero" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1627 +#: htdocs/luci-static/resources/fchomo.js:1629 msgid "🡇" msgstr "" - -#~ msgid "API routing mark (SO_MARK)" -#~ msgstr "API 路由标记 (SO_MARK)" - -#~ msgid "Listen routing mark (SO_MARK)" -#~ msgstr "监听路由标记 (SO_MARK)" - -#~ msgid "Routing mark (SO_MARK)" -#~ msgstr "路由标记 (SO_MARK)" - -#~ msgid "Edit node" -#~ msgstr "编辑节点" - -#~ msgid "Routing mark" -#~ msgstr "路由标记" - -#~ msgid "Obfuscated as ASCII data stream" -#~ msgstr "混淆为 ASCII 数据流" - -#~ msgid "Obfuscated as low-entropy data stream" -#~ msgstr "混淆为低熵数据流" - -#~ msgid "QUIC congestion controller." -#~ msgstr "QUIC 拥塞控制器。" - -#~ msgid "" -#~ "Uplink keeps the Sudoku protocol, and downlink characteristics are " -#~ "consistent with uplink characteristics." -#~ msgstr "上行链路保持数独协议,下行链路特性与上行链路特性一致。" - -#~ msgid "" -#~ "When disabled, downlink ciphertext is split into 6-bit segments, reusing " -#~ "the original padding pool and obfuscate type to reduce downlink overhead." -#~ msgstr "" -#~ "禁用后,下行密文将分成 6 位片段,重用原始填充池和混淆类型,以减少下行开" -#~ "销。" - -#~ msgid "Global client fingerprint" -#~ msgstr "全局客户端指纹" - -#~ msgid "Google FCM ports" -#~ msgstr "谷歌 FCM 端口" - -#~ msgid "SMTP ports" -#~ msgstr "SMTP 端口" - -#~ msgid "STUN ports" -#~ msgstr "STUN 端口" - -#~ msgid "Steam Client ports" -#~ msgstr "Steam 客户端" - -#~ msgid "Steam P2P ports" -#~ msgstr "Steam P2P 端口" - -#~ msgid "TURN ports" -#~ msgstr "TURN 端口" - -#~ msgid "Chain head" -#~ msgstr "链头" - -#~ msgid "Chain tail" -#~ msgstr "链尾" - -#~ msgid "Keep consistent with the %s." -#~ msgstr "与%s保持一致" - -#~ msgid "Recommended to use UoT node.
such as %s." -#~ msgstr "建议使用 UoT 节点。
例如%s。" - -#~ msgid "Seed" -#~ msgstr "种子" - -#~ msgid "Default" -#~ msgstr "默认" - -#~ msgid "%s Provider of type '%s' need to be filled in manually." -#~ msgstr "%s 个类型为 “%s” 的供应商需要手动填写内容。" - -#~ msgid "%s rule-set of type '%s' need to be filled in manually." -#~ msgstr "%s 个类型为 “%s” 的规则集需要手动填写内容。" - -#~ msgid "Option is deprecated, please use the same option in proxy node." -#~ msgstr "该选项已弃用,请在代理节点中使用相同的选项。" diff --git a/luci-app-fchomo/po/zh_Hant/fchomo.po b/luci-app-fchomo/po/zh_Hant/fchomo.po index 0ba11e5b..2d7858cd 100644 --- a/luci-app-fchomo/po/zh_Hant/fchomo.po +++ b/luci-app-fchomo/po/zh_Hant/fchomo.po @@ -12,30 +12,30 @@ msgstr "" msgid "%s log" msgstr "%s 日誌" -#: htdocs/luci-static/resources/fchomo.js:251 -#: htdocs/luci-static/resources/fchomo.js:252 #: htdocs/luci-static/resources/fchomo.js:253 #: htdocs/luci-static/resources/fchomo.js:254 #: htdocs/luci-static/resources/fchomo.js:255 #: htdocs/luci-static/resources/fchomo.js:256 +#: htdocs/luci-static/resources/fchomo.js:257 +#: htdocs/luci-static/resources/fchomo.js:258 msgid "%s ports" msgstr "%s 連接埠" -#: htdocs/luci-static/resources/fchomo.js:642 -#: htdocs/luci-static/resources/fchomo.js:645 +#: htdocs/luci-static/resources/fchomo.js:644 +#: htdocs/luci-static/resources/fchomo.js:647 #: htdocs/luci-static/resources/view/fchomo/client.js:318 msgid "(Imported)" msgstr "(已導入)" -#: 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/fchomo/listeners.js:1109 +#: htdocs/luci-static/resources/fchomo/listeners.js:1117 +#: htdocs/luci-static/resources/fchomo/listeners.js:1126 #: 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: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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1247 +#: htdocs/luci-static/resources/view/fchomo/node.js:1253 +#: htdocs/luci-static/resources/view/fchomo/node.js:1261 +#: htdocs/luci-static/resources/view/fchomo/node.js:1267 msgid "(mTLS)" msgstr "" @@ -52,7 +52,7 @@ msgstr "" msgid "-- PROXY-NODE --" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:832 +#: htdocs/luci-static/resources/fchomo.js:834 #: 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 @@ -61,11 +61,11 @@ msgstr "" #: htdocs/luci-static/resources/view/fchomo/client.js:1101 #: 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:2093 -#: htdocs/luci-static/resources/view/fchomo/node.js:2112 -#: htdocs/luci-static/resources/view/fchomo/node.js:2123 +#: htdocs/luci-static/resources/view/fchomo/node.js:288 +#: htdocs/luci-static/resources/view/fchomo/node.js:2161 +#: htdocs/luci-static/resources/view/fchomo/node.js:2172 +#: htdocs/luci-static/resources/view/fchomo/node.js:2191 +#: htdocs/luci-static/resources/view/fchomo/node.js:2202 msgid "-- Please choose --" msgstr "-- 請選擇 --" @@ -77,16 +77,16 @@ msgstr "" msgid "-- RULE-SET --" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:833 +#: htdocs/luci-static/resources/fchomo.js:835 msgid "-- custom --" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:404 +#: htdocs/luci-static/resources/fchomo.js:406 msgid "0-RTT reuse." msgstr "0-RTT 重用。" -#: htdocs/luci-static/resources/fchomo.js:401 -#: htdocs/luci-static/resources/fchomo.js:405 +#: htdocs/luci-static/resources/fchomo.js:403 +#: htdocs/luci-static/resources/fchomo.js:407 msgid "1-RTT only." msgstr "僅限 1-RTT。" @@ -94,15 +94,15 @@ msgstr "僅限 1-RTT。" msgid "163Music" msgstr "網易雲音樂" -#: htdocs/luci-static/resources/fchomo.js:351 +#: htdocs/luci-static/resources/fchomo.js:353 msgid "2022-blake3-aes-128-gcm" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:352 +#: htdocs/luci-static/resources/fchomo.js:354 msgid "2022-blake3-aes-256-gcm" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:353 +#: htdocs/luci-static/resources/fchomo.js:355 msgid "2022-blake3-chacha20-poly1305" msgstr "" @@ -110,16 +110,16 @@ msgstr "" msgid "0 or 1 only." msgstr "僅限 01。" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1087 +#: htdocs/luci-static/resources/fchomo/listeners.js:1102 +#: htdocs/luci-static/resources/fchomo/listeners.js:1127 +#: htdocs/luci-static/resources/view/fchomo/node.js:1254 +#: htdocs/luci-static/resources/view/fchomo/node.js:1268 msgid "Save your configuration before uploading files!" msgstr "上傳文件前請先保存配置!" -#: htdocs/luci-static/resources/fchomo/listeners.js:286 -#: htdocs/luci-static/resources/view/fchomo/node.js:435 +#: htdocs/luci-static/resources/fchomo/listeners.js:207 +#: htdocs/luci-static/resources/view/fchomo/node.js:370 msgid "" "A base64 string is used to fine-tune network behavior.
Please refer to " "the document" msgid "All allowed" msgstr "允許所有" -#: htdocs/luci-static/resources/fchomo.js:248 +#: htdocs/luci-static/resources/fchomo.js:250 msgid "All ports" msgstr "所有連接埠" @@ -287,11 +287,11 @@ msgid "" msgstr "" "允許從私有網路訪問。
要從公共網站訪問私有網路上的 API,則必須啟用。" -#: htdocs/luci-static/resources/fchomo/listeners.js:989 +#: htdocs/luci-static/resources/fchomo/listeners.js:1023 msgid "Allow insecure connections" msgstr "允許不安全的連線" -#: htdocs/luci-static/resources/view/fchomo/node.js:856 +#: htdocs/luci-static/resources/view/fchomo/node.js:792 msgid "Allowed IPs" msgstr "允許的 IP" @@ -303,13 +303,13 @@ msgstr "已是最新版本。" msgid "Already in updating." msgstr "已在更新中。" -#: htdocs/luci-static/resources/fchomo/listeners.js:543 -#: htdocs/luci-static/resources/view/fchomo/node.js:706 +#: htdocs/luci-static/resources/fchomo/listeners.js:409 +#: htdocs/luci-static/resources/view/fchomo/node.js:527 msgid "Alter ID" msgstr "額外 ID" #: htdocs/luci-static/resources/fchomo.js:164 -#: htdocs/luci-static/resources/fchomo.js:200 +#: htdocs/luci-static/resources/fchomo.js:201 msgid "AnyTLS" msgstr "" @@ -326,24 +326,24 @@ msgstr "作為 dnsmasq 的最優先上游" msgid "As the TOP upstream of dnsmasq." msgstr "作為 dnsmasq 的最優先上游。" -#: htdocs/luci-static/resources/fchomo/listeners.js:493 +#: htdocs/luci-static/resources/fchomo/listeners.js:457 msgid "Auth timeout" msgstr "認證逾時" -#: htdocs/luci-static/resources/view/fchomo/node.js:728 +#: htdocs/luci-static/resources/view/fchomo/node.js:549 msgid "Authenticated length" msgstr "認證長度" -#: htdocs/luci-static/resources/fchomo/listeners.js:440 -#: htdocs/luci-static/resources/fchomo/listeners.js:1202 +#: htdocs/luci-static/resources/fchomo/listeners.js:361 +#: htdocs/luci-static/resources/fchomo/listeners.js:1285 #: htdocs/luci-static/resources/view/fchomo/global.js:423 -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:450 +#: htdocs/luci-static/resources/view/fchomo/node.js:474 +#: htdocs/luci-static/resources/view/fchomo/node.js:1453 msgid "Auto" msgstr "自動" -#: htdocs/luci-static/resources/fchomo/listeners.js:138 +#: htdocs/luci-static/resources/fchomo/listeners.js:139 msgid "Auto configure firewall" msgstr "自動配置防火牆" @@ -355,8 +355,8 @@ msgstr "自動更新" msgid "Auto update resources." msgstr "自動更新資源文件。" -#: htdocs/luci-static/resources/fchomo/listeners.js:661 -#: htdocs/luci-static/resources/view/fchomo/node.js:964 +#: htdocs/luci-static/resources/fchomo/listeners.js:609 +#: htdocs/luci-static/resources/view/fchomo/node.js:924 msgid "BBR profile" msgstr "BBR 設定檔" @@ -364,11 +364,11 @@ msgstr "BBR 設定檔" msgid "Baidu" msgstr "百度" -#: htdocs/luci-static/resources/view/fchomo/node.js:743 +#: htdocs/luci-static/resources/view/fchomo/node.js:829 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:751 +#: htdocs/luci-static/resources/view/fchomo/node.js:837 msgid "Base64 encoded ECDSA public key on the NIST P-256 curve." msgstr "基於 NIST P-256 曲線的 Base64 編碼 ECDSA 公鑰。" @@ -390,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:1562 -#: htdocs/luci-static/resources/view/fchomo/node.js:1954 +#: htdocs/luci-static/resources/view/fchomo/node.js:1614 +#: htdocs/luci-static/resources/view/fchomo/node.js:2033 msgid "Bind interface" msgstr "綁定介面" -#: htdocs/luci-static/resources/view/fchomo/node.js:1563 -#: htdocs/luci-static/resources/view/fchomo/node.js:1955 +#: htdocs/luci-static/resources/view/fchomo/node.js:1615 +#: htdocs/luci-static/resources/view/fchomo/node.js:2034 msgid "Bind outbound interface.
" msgstr "綁定出站介面。
" @@ -438,14 +438,14 @@ msgstr "繞過 CN 流量" msgid "Bypass DSCP" msgstr "繞過 DSCP" -#: htdocs/luci-static/resources/fchomo/listeners.js:438 -#: 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: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 +#: htdocs/luci-static/resources/fchomo/listeners.js:359 +#: htdocs/luci-static/resources/fchomo/listeners.js:360 +#: htdocs/luci-static/resources/fchomo/listeners.js:361 +#: htdocs/luci-static/resources/fchomo/listeners.js:362 +#: htdocs/luci-static/resources/view/fchomo/node.js:448 +#: htdocs/luci-static/resources/view/fchomo/node.js:449 +#: htdocs/luci-static/resources/view/fchomo/node.js:450 +#: htdocs/luci-static/resources/view/fchomo/node.js:451 msgid "CDN support" msgstr "CDN 支援" @@ -461,21 +461,21 @@ msgstr "CORS 允許私有網路" msgid "CORS allowed origins, * will be used if empty." msgstr "CORS 允許的來源,留空則使用 *。" -#: htdocs/luci-static/resources/fchomo.js:758 +#: htdocs/luci-static/resources/fchomo.js:760 msgid "Cancel" msgstr "取消" -#: htdocs/luci-static/resources/view/fchomo/node.js:1178 +#: htdocs/luci-static/resources/view/fchomo/node.js:1220 msgid "Cert fingerprint" msgstr "憑證指紋" -#: htdocs/luci-static/resources/view/fchomo/node.js:1179 +#: htdocs/luci-static/resources/view/fchomo/node.js:1221 msgid "" "Certificate fingerprint. Used to implement SSL Pinning and prevent MitM." msgstr "憑證指紋。用於實現 SSL憑證固定 並防止 MitM。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1000 -#: htdocs/luci-static/resources/view/fchomo/node.js:1199 +#: htdocs/luci-static/resources/fchomo/listeners.js:1079 +#: htdocs/luci-static/resources/view/fchomo/node.js:1247 msgid "Certificate path" msgstr "憑證路徑" @@ -511,16 +511,16 @@ msgstr "大陸 IPv6 庫版本" msgid "China list version" 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:388 -#: htdocs/luci-static/resources/view/fchomo/node.js:447 -#: htdocs/luci-static/resources/view/fchomo/node.js:712 +#: htdocs/luci-static/resources/fchomo/listeners.js:176 +#: htdocs/luci-static/resources/fchomo/listeners.js:275 +#: htdocs/luci-static/resources/view/fchomo/node.js:323 +#: htdocs/luci-static/resources/view/fchomo/node.js:382 +#: htdocs/luci-static/resources/view/fchomo/node.js:533 msgid "Chipher" msgstr "加密方法" -#: htdocs/luci-static/resources/fchomo/listeners.js:363 -#: htdocs/luci-static/resources/view/fchomo/node.js:456 +#: htdocs/luci-static/resources/fchomo/listeners.js:284 +#: htdocs/luci-static/resources/view/fchomo/node.js:391 msgid "Chipher must be enabled if obfuscate downlink is disabled." msgstr "如果下行鏈路混淆功能已停用,則必須啟用加密。" @@ -536,29 +536,29 @@ msgstr "" "點擊
此處下載" "最新的初始包。" -#: htdocs/luci-static/resources/fchomo/listeners.js:759 -#: htdocs/luci-static/resources/fchomo/listeners.js:1039 +#: htdocs/luci-static/resources/fchomo/listeners.js:819 +#: htdocs/luci-static/resources/fchomo/listeners.js:1118 #: htdocs/luci-static/resources/view/fchomo/global.js:571 -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1076 +#: htdocs/luci-static/resources/view/fchomo/node.js:1248 +#: htdocs/luci-static/resources/view/fchomo/node.js:1262 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:22 msgid "Client" msgstr "客戶端" -#: htdocs/luci-static/resources/fchomo/listeners.js:1038 +#: htdocs/luci-static/resources/fchomo/listeners.js:1117 msgid "Client Auth Certificate path" msgstr "客戶端認證憑證路徑" -#: htdocs/luci-static/resources/fchomo/listeners.js:1030 +#: htdocs/luci-static/resources/fchomo/listeners.js:1109 msgid "Client Auth type" msgstr "客戶端認證類型" -#: htdocs/luci-static/resources/view/fchomo/node.js:1245 +#: htdocs/luci-static/resources/view/fchomo/node.js:1293 msgid "Client fingerprint" msgstr "客戶端指紋" -#: htdocs/luci-static/resources/fchomo/listeners.js:350 +#: htdocs/luci-static/resources/fchomo/listeners.js:271 msgid "Client key" msgstr "客戶端密鑰" @@ -570,21 +570,17 @@ msgstr "客戶端狀態" msgid "Collecting data..." msgstr "收集資料中..." -#: htdocs/luci-static/resources/fchomo.js:249 -#: htdocs/luci-static/resources/fchomo.js:250 +#: htdocs/luci-static/resources/fchomo.js:251 +#: htdocs/luci-static/resources/fchomo.js:252 msgid "Common ports (bypass P2P traffic)" msgstr "常用連接埠(繞過 P2P 流量)" -#: htdocs/luci-static/resources/fchomo.js:1743 +#: htdocs/luci-static/resources/fchomo.js:1745 msgid "Complete" msgstr "完成" -#: htdocs/luci-static/resources/view/fchomo/node.js:1898 -msgid "Other configuration items" -msgstr "其他配置項" - -#: htdocs/luci-static/resources/fchomo/listeners.js:653 -#: htdocs/luci-static/resources/view/fchomo/node.js:955 +#: htdocs/luci-static/resources/fchomo/listeners.js:601 +#: htdocs/luci-static/resources/view/fchomo/node.js:915 msgid "Congestion controller" msgstr "擁塞控制器" @@ -592,7 +588,7 @@ msgstr "擁塞控制器" msgid "Connection check" msgstr "連接檢查" -#: htdocs/luci-static/resources/view/fchomo/node.js:572 +#: htdocs/luci-static/resources/view/fchomo/node.js:507 msgid "Connection reuse" msgstr "連接重用" @@ -600,19 +596,19 @@ msgstr "連接重用" msgid "Conservative" msgstr "保守" -#: htdocs/luci-static/resources/fchomo.js:627 +#: htdocs/luci-static/resources/fchomo.js:629 msgid "Content copied to clipboard!" msgstr "內容已複製到剪貼簿!" #: 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/node.js:1804 +#: htdocs/luci-static/resources/view/fchomo/node.js:1830 #: 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:1737 +#: htdocs/luci-static/resources/view/fchomo/node.js:1803 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:347 msgid "Contents" msgstr "內容" @@ -621,7 +617,7 @@ msgstr "內容" msgid "Contents have been saved." msgstr "" -#: htdocs/luci-static/resources/fchomo.js:629 +#: htdocs/luci-static/resources/fchomo.js:631 msgid "Copy" msgstr "複製" @@ -637,7 +633,7 @@ msgstr "Cron 表達式" msgid "Custom Direct List" msgstr "自訂直連清單" -#: htdocs/luci-static/resources/view/fchomo/node.js:1869 +#: htdocs/luci-static/resources/view/fchomo/node.js:1935 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:420 msgid "Custom HTTP header." msgstr "自訂 HTTP header。" @@ -646,8 +642,8 @@ msgstr "自訂 HTTP header。" msgid "Custom Proxy List" msgstr "自訂代理清單" -#: htdocs/luci-static/resources/fchomo/listeners.js:378 -#: htdocs/luci-static/resources/view/fchomo/node.js:471 +#: htdocs/luci-static/resources/fchomo/listeners.js:299 +#: htdocs/luci-static/resources/view/fchomo/node.js:406 msgid "Custom byte layout" msgstr "自訂位元組佈局" @@ -656,7 +652,7 @@ msgid "" "Custom internal hosts. Support yaml or json format." msgstr "自訂內部 hosts。支援 yamljson 格式。" -#: htdocs/luci-static/resources/fchomo.js:189 +#: htdocs/luci-static/resources/fchomo.js:190 msgid "DIRECT" msgstr "" @@ -673,8 +669,8 @@ msgstr " DNS 連接埠" #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:822 +#: htdocs/luci-static/resources/view/fchomo/node.js:889 msgid "DNS server" msgstr "DNS 伺服器" @@ -708,28 +704,32 @@ msgstr "預設 DNS 伺服器" msgid "Default selected" msgstr "預設選中" +#: htdocs/luci-static/resources/fchomo/listeners.js:546 +msgid "Default version, Support %s." +msgstr "預設版本,支援 %s。" + #: htdocs/luci-static/resources/view/fchomo/node.js:22 msgid "Derive from priv-key" msgstr "從私鑰派生" -#: htdocs/luci-static/resources/view/fchomo/node.js:857 +#: htdocs/luci-static/resources/view/fchomo/node.js:793 msgid "Destination addresses allowed to be forwarded via Wireguard." msgstr "允許通過 WireGuard 轉發的目的位址" -#: htdocs/luci-static/resources/view/fchomo/node.js:2079 +#: htdocs/luci-static/resources/view/fchomo/node.js:2158 msgid "Destination provider" msgstr "落地供應商" -#: htdocs/luci-static/resources/view/fchomo/node.js:2090 +#: htdocs/luci-static/resources/view/fchomo/node.js:2169 msgid "Destination proxy node" msgstr "落地代理節點" -#: htdocs/luci-static/resources/view/fchomo/node.js:239 +#: htdocs/luci-static/resources/view/fchomo/node.js:243 msgid "Dial fields" msgstr "撥號欄位" -#: htdocs/luci-static/resources/view/fchomo/node.js:2102 -#: htdocs/luci-static/resources/view/fchomo/node.js:2132 +#: htdocs/luci-static/resources/view/fchomo/node.js:2181 +#: htdocs/luci-static/resources/view/fchomo/node.js:2211 msgid "Different chain head/tail" msgstr "不同的鏈頭/鏈尾" @@ -749,9 +749,9 @@ msgstr "直連 IPv6 位址" msgid "Direct MAC-s" msgstr "直連 MAC 位址" -#: htdocs/luci-static/resources/fchomo/listeners.js:194 +#: htdocs/luci-static/resources/fchomo/listeners.js:484 #: htdocs/luci-static/resources/view/fchomo/global.js:424 -#: htdocs/luci-static/resources/view/fchomo/node.js:343 +#: htdocs/luci-static/resources/view/fchomo/node.js:695 msgid "Disable" msgstr "停用" @@ -767,7 +767,7 @@ msgstr "停用 quic-go 的 通用分段卸載(GSO)" msgid "Disable ICMP Forwarding" msgstr "禁用 ICMP 轉發" -#: htdocs/luci-static/resources/view/fchomo/node.js:1121 +#: htdocs/luci-static/resources/view/fchomo/node.js:1161 msgid "Disable SNI" msgstr "停用 SNI" @@ -795,48 +795,48 @@ msgstr "" msgid "Domain" msgstr "網域" -#: htdocs/luci-static/resources/view/fchomo/node.js:1122 +#: htdocs/luci-static/resources/view/fchomo/node.js:1162 msgid "Donot send server name in ClientHello." msgstr "不要在 ClientHello 中傳送伺服器名稱。" #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1240 +#: htdocs/luci-static/resources/view/fchomo/node.js:2017 msgid "Donot verifying server certificate." msgstr "不驗證伺服器憑證。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1254 -#: htdocs/luci-static/resources/view/fchomo/node.js:1539 +#: htdocs/luci-static/resources/fchomo/listeners.js:1337 +#: htdocs/luci-static/resources/view/fchomo/node.js:1591 msgid "Download bandwidth" msgstr "下載頻寬" -#: htdocs/luci-static/resources/fchomo/listeners.js:1255 -#: htdocs/luci-static/resources/view/fchomo/node.js:1540 +#: htdocs/luci-static/resources/fchomo/listeners.js:1338 +#: htdocs/luci-static/resources/view/fchomo/node.js:1592 msgid "Download bandwidth in Mbps." msgstr "下載頻寬(單位:Mbps)。" -#: htdocs/luci-static/resources/fchomo.js:1622 +#: htdocs/luci-static/resources/fchomo.js:1624 msgid "Download failed: %s" msgstr "下載失敗: %s" -#: htdocs/luci-static/resources/fchomo.js:1620 +#: htdocs/luci-static/resources/fchomo.js:1622 msgid "Download successful." msgstr "下載成功。" -#: htdocs/luci-static/resources/fchomo.js:174 +#: htdocs/luci-static/resources/fchomo.js:175 msgid "Dual stack" msgstr "雙棧" -#: htdocs/luci-static/resources/view/fchomo/node.js:1239 +#: htdocs/luci-static/resources/view/fchomo/node.js:1287 msgid "ECH HTTPS record query servername" msgstr "ECH HTTPS 記錄查詢網域" -#: htdocs/luci-static/resources/fchomo/listeners.js:1096 -#: htdocs/luci-static/resources/view/fchomo/node.js:1233 +#: htdocs/luci-static/resources/fchomo/listeners.js:1175 +#: htdocs/luci-static/resources/view/fchomo/node.js:1281 msgid "ECH config" msgstr "ECH 配置" -#: htdocs/luci-static/resources/fchomo/listeners.js:1055 +#: htdocs/luci-static/resources/fchomo/listeners.js:1134 msgid "ECH key" msgstr "ECH 密鑰" @@ -852,11 +852,11 @@ msgstr "EDNS 客戶端子網" msgid "ETag support" msgstr "ETag 支援" -#: htdocs/luci-static/resources/view/fchomo/node.js:1379 +#: htdocs/luci-static/resources/view/fchomo/node.js:1431 msgid "Early Data first packet length limit." msgstr "前置數據長度閾值" -#: htdocs/luci-static/resources/view/fchomo/node.js:1385 +#: htdocs/luci-static/resources/view/fchomo/node.js:1437 msgid "Early Data header name" msgstr "前置數據標頭" @@ -864,7 +864,7 @@ msgstr "前置數據標頭" msgid "Edit inbound" msgstr "編輯入站" -#: htdocs/luci-static/resources/view/fchomo/node.js:214 +#: htdocs/luci-static/resources/view/fchomo/node.js:217 msgid "Edit outbound" msgstr "編輯出站" @@ -872,12 +872,12 @@ msgstr "編輯出站" msgid "Edit ruleset" msgstr "編輯規則集" -#: htdocs/luci-static/resources/view/fchomo/node.js:1735 +#: htdocs/luci-static/resources/view/fchomo/node.js:1801 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:345 msgid "Editer" msgstr "編輯器" -#: htdocs/luci-static/resources/fchomo.js:395 +#: htdocs/luci-static/resources/fchomo.js:397 msgid "Eliminate encryption header characteristics" msgstr "消除加密頭特徵" @@ -885,7 +885,7 @@ msgstr "消除加密頭特徵" msgid "Empty fallback" msgstr "為空時回退" -#: htdocs/luci-static/resources/fchomo/listeners.js:133 +#: htdocs/luci-static/resources/fchomo/listeners.js:134 #: 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 @@ -895,16 +895,16 @@ msgstr "為空時回退" #: 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: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/node.js:250 +#: htdocs/luci-static/resources/view/fchomo/node.js:1774 +#: htdocs/luci-static/resources/view/fchomo/node.js:2056 +#: htdocs/luci-static/resources/view/fchomo/node.js:2145 #: 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:621 +#: htdocs/luci-static/resources/view/fchomo/node.js:650 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:620 +#: htdocs/luci-static/resources/view/fchomo/node.js:649 msgid "Enable 0-RTT handshake" msgstr "啟用 0-RTT 握手" @@ -925,60 +925,60 @@ msgstr "" "為出站連線啟用 IP4P 轉換" -#: htdocs/luci-static/resources/view/fchomo/node.js:1227 +#: htdocs/luci-static/resources/view/fchomo/node.js:1275 msgid "Enable ECH" msgstr "啟用 ECH" -#: htdocs/luci-static/resources/fchomo/listeners.js:1242 -#: htdocs/luci-static/resources/view/fchomo/node.js:1527 +#: htdocs/luci-static/resources/fchomo/listeners.js:1325 +#: htdocs/luci-static/resources/view/fchomo/node.js:1579 msgid "Enable TCP Brutal" msgstr "啟用 TCP Brutal" -#: htdocs/luci-static/resources/fchomo/listeners.js:1243 -#: htdocs/luci-static/resources/view/fchomo/node.js:1528 +#: htdocs/luci-static/resources/fchomo/listeners.js:1326 +#: htdocs/luci-static/resources/view/fchomo/node.js:1580 msgid "Enable TCP Brutal congestion control algorithm" msgstr "啟用 TCP Brutal 擁塞控制演算法。" -#: htdocs/luci-static/resources/view/fchomo/node.js:615 +#: htdocs/luci-static/resources/view/fchomo/node.js:644 msgid "Enable fast open" msgstr "啟用 Fast open" -#: htdocs/luci-static/resources/view/fchomo/node.js:1516 +#: htdocs/luci-static/resources/view/fchomo/node.js:1568 msgid "Enable multiplexing only for TCP." msgstr "僅為 TCP 啟用多路復用。" -#: htdocs/luci-static/resources/fchomo/listeners.js:424 -#: htdocs/luci-static/resources/view/fchomo/node.js:499 +#: htdocs/luci-static/resources/fchomo/listeners.js:345 +#: htdocs/luci-static/resources/view/fchomo/node.js:434 msgid "Enable obfuscate for downlink" msgstr "啟用下行鏈路混淆" -#: htdocs/luci-static/resources/fchomo/listeners.js:1237 -#: htdocs/luci-static/resources/view/fchomo/node.js:1510 +#: htdocs/luci-static/resources/fchomo/listeners.js:1320 +#: htdocs/luci-static/resources/view/fchomo/node.js:1562 msgid "Enable padding" msgstr "啟用填充" -#: htdocs/luci-static/resources/view/fchomo/node.js:1521 +#: htdocs/luci-static/resources/view/fchomo/node.js:1573 msgid "Enable statistic" msgstr "啟用統計" -#: htdocs/luci-static/resources/view/fchomo/node.js:988 -#: htdocs/luci-static/resources/view/fchomo/node.js:1920 +#: htdocs/luci-static/resources/view/fchomo/node.js:954 +#: htdocs/luci-static/resources/view/fchomo/node.js:1993 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:350 +#: htdocs/luci-static/resources/fchomo/listeners.js:491 +#: htdocs/luci-static/resources/view/fchomo/node.js:702 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:722 +#: htdocs/luci-static/resources/fchomo/listeners.js:782 msgid "Encryption method" msgstr "加密方法" -#: htdocs/luci-static/resources/view/fchomo/node.js:750 +#: htdocs/luci-static/resources/view/fchomo/node.js:836 msgid "Endpoint pubkic key" msgstr "端點公鑰" @@ -1001,7 +1001,7 @@ msgid "" "if empty." msgstr "超過此限制將會觸發強制健康檢查。留空則使用 5。" -#: htdocs/luci-static/resources/view/fchomo/node.js:2035 +#: htdocs/luci-static/resources/view/fchomo/node.js:2114 msgid "Exclude matched node types." msgstr "排除匹配的節點類型。" @@ -1014,7 +1014,7 @@ msgstr "" "rel=\"noreferrer noopener\">此處。" #: htdocs/luci-static/resources/view/fchomo/client.js:1243 -#: htdocs/luci-static/resources/view/fchomo/node.js:2028 +#: htdocs/luci-static/resources/view/fchomo/node.js:2107 msgid "Exclude nodes that meet keywords or regexps." msgstr "排除匹配關鍵字或表達式的節點。" @@ -1023,73 +1023,73 @@ msgid "Expand/Collapse result" msgstr "展開/收起 結果" #: htdocs/luci-static/resources/view/fchomo/client.js:1186 -#: htdocs/luci-static/resources/view/fchomo/node.js:2013 +#: htdocs/luci-static/resources/view/fchomo/node.js:2092 msgid "Expected HTTP code. 204 will be used if empty." msgstr "預期的 HTTP code。留空則使用 204。" #: htdocs/luci-static/resources/view/fchomo/client.js:1188 -#: htdocs/luci-static/resources/view/fchomo/node.js:2015 +#: htdocs/luci-static/resources/view/fchomo/node.js:2094 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: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:1849 -#: htdocs/luci-static/resources/fchomo.js:1859 -#: htdocs/luci-static/resources/fchomo.js:1871 -#: 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:454 +#: htdocs/luci-static/resources/fchomo.js:457 +#: htdocs/luci-static/resources/fchomo.js:460 +#: htdocs/luci-static/resources/fchomo.js:1762 +#: htdocs/luci-static/resources/fchomo.js:1770 +#: htdocs/luci-static/resources/fchomo.js:1778 +#: htdocs/luci-static/resources/fchomo.js:1801 +#: htdocs/luci-static/resources/fchomo.js:1804 +#: htdocs/luci-static/resources/fchomo.js:1811 +#: htdocs/luci-static/resources/fchomo.js:1827 +#: htdocs/luci-static/resources/fchomo.js:1836 +#: htdocs/luci-static/resources/fchomo.js:1848 +#: htdocs/luci-static/resources/fchomo.js:1851 +#: htdocs/luci-static/resources/fchomo.js:1861 +#: htdocs/luci-static/resources/fchomo.js:1873 +#: htdocs/luci-static/resources/fchomo.js:1876 +#: htdocs/luci-static/resources/fchomo.js:1886 +#: htdocs/luci-static/resources/fchomo.js:1896 #: 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:751 -#: htdocs/luci-static/resources/fchomo/listeners.js:782 -#: htdocs/luci-static/resources/fchomo/listeners.js:883 +#: htdocs/luci-static/resources/fchomo.js:1933 +#: htdocs/luci-static/resources/fchomo.js:1946 +#: htdocs/luci-static/resources/fchomo.js:1952 +#: htdocs/luci-static/resources/fchomo.js:1959 +#: htdocs/luci-static/resources/fchomo.js:1968 +#: htdocs/luci-static/resources/fchomo/listeners.js:284 +#: htdocs/luci-static/resources/fchomo/listeners.js:331 +#: htdocs/luci-static/resources/fchomo/listeners.js:811 +#: htdocs/luci-static/resources/fchomo/listeners.js:842 +#: htdocs/luci-static/resources/fchomo/listeners.js:943 #: htdocs/luci-static/resources/view/fchomo/client.js:71 #: 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: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/node.js:391 +#: htdocs/luci-static/resources/view/fchomo/node.js:427 +#: htdocs/luci-static/resources/view/fchomo/node.js:480 +#: htdocs/luci-static/resources/view/fchomo/node.js:482 +#: htdocs/luci-static/resources/view/fchomo/node.js:1099 +#: htdocs/luci-static/resources/view/fchomo/node.js:1226 +#: htdocs/luci-static/resources/view/fchomo/node.js:2181 +#: htdocs/luci-static/resources/view/fchomo/node.js:2211 #: 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/view/fchomo/node.js:274 -#: htdocs/luci-static/resources/view/fchomo/node.js:292 +#: htdocs/luci-static/resources/view/fchomo/node.js:278 +#: htdocs/luci-static/resources/view/fchomo/node.js:296 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:654 +#: htdocs/luci-static/resources/fchomo/listeners.js:1246 +#: htdocs/luci-static/resources/fchomo/listeners.js:1253 +#: htdocs/luci-static/resources/view/fchomo/node.js:985 +#: htdocs/luci-static/resources/view/fchomo/node.js:1346 +#: htdocs/luci-static/resources/view/fchomo/node.js:1353 +#: htdocs/luci-static/resources/view/fchomo/node.js:1361 msgid "Expecting: only support %s." msgstr "請輸入:僅支援 %s。" @@ -1109,24 +1109,24 @@ msgstr "實驗性" msgid "Factor" msgstr "條件" -#: htdocs/luci-static/resources/fchomo.js:1701 +#: htdocs/luci-static/resources/fchomo.js:1703 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:1654 +#: htdocs/luci-static/resources/fchomo.js:1656 msgid "Failed to generate %s, error: %s." msgstr "生成 %s 失敗,錯誤:%s。" -#: htdocs/luci-static/resources/fchomo.js:2066 +#: htdocs/luci-static/resources/fchomo.js:2068 msgid "Failed to upload %s, error: %s." msgstr "上傳 %s 失敗,錯誤:%s。" -#: htdocs/luci-static/resources/fchomo.js:2085 +#: htdocs/luci-static/resources/fchomo.js:2087 msgid "Failed to upload, error: %s." msgstr "上傳失敗,錯誤:%s。" -#: htdocs/luci-static/resources/fchomo.js:242 -#: htdocs/luci-static/resources/fchomo/listeners.js:449 +#: htdocs/luci-static/resources/fchomo.js:244 +#: htdocs/luci-static/resources/fchomo/listeners.js:370 msgid "Fallback" msgstr "自動回退" @@ -1142,7 +1142,7 @@ msgid "Fallback filter" msgstr "後備過濾器" #: htdocs/luci-static/resources/view/fchomo/client.js:1238 -#: htdocs/luci-static/resources/view/fchomo/node.js:2022 +#: htdocs/luci-static/resources/view/fchomo/node.js:2101 msgid "Filter nodes that meet keywords or regexps." msgstr "過濾匹配關鍵字或表達式的節點。" @@ -1167,12 +1167,12 @@ msgstr "兜底 DNS 伺服器 (用於未被投毒汙染的網域)" msgid "Final DNS server (For poisoned domains)" msgstr "兜底 DNS 伺服器 (用於已被投毒汙染的網域)" -#: htdocs/luci-static/resources/fchomo/listeners.js:137 +#: htdocs/luci-static/resources/fchomo/listeners.js:138 msgid "Firewall" msgstr "防火牆" -#: htdocs/luci-static/resources/fchomo/listeners.js:535 -#: htdocs/luci-static/resources/view/fchomo/node.js:698 +#: htdocs/luci-static/resources/fchomo/listeners.js:401 +#: htdocs/luci-static/resources/view/fchomo/node.js:519 msgid "Flow" msgstr "流控" @@ -1185,8 +1185,9 @@ msgstr "" "noopener\">%s." #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1954 +#: htdocs/luci-static/resources/view/fchomo/node.js:1962 +#: htdocs/luci-static/resources/view/fchomo/node.js:2093 msgid "" "For format see %s." @@ -1194,8 +1195,8 @@ msgstr "" "格式請參閱 %s." -#: htdocs/luci-static/resources/view/fchomo/node.js:798 -#: htdocs/luci-static/resources/view/fchomo/node.js:881 +#: htdocs/luci-static/resources/view/fchomo/node.js:817 +#: htdocs/luci-static/resources/view/fchomo/node.js:884 msgid "Force DNS remote resolution." msgstr "強制 DNS 遠端解析。" @@ -1207,6 +1208,10 @@ msgstr "強制嗅探網域" msgid "Format" msgstr "格式" +#: htdocs/luci-static/resources/fchomo/listeners.js:729 +msgid "Forwarding rate limit" +msgstr "轉發速率限制" + #: htdocs/luci-static/resources/view/fchomo/global.js:138 #: htdocs/luci-static/resources/view/fchomo/log.js:140 #: htdocs/luci-static/resources/view/fchomo/log.js:145 @@ -1214,7 +1219,7 @@ msgstr "格式" msgid "FullCombo Shark!" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1334 +#: htdocs/luci-static/resources/view/fchomo/node.js:1386 msgid "GET" msgstr "" @@ -1222,8 +1227,8 @@ msgstr "" msgid "GFW list version" msgstr "GFW 網域清單版本" -#: htdocs/luci-static/resources/fchomo/listeners.js:196 -#: htdocs/luci-static/resources/view/fchomo/node.js:345 +#: htdocs/luci-static/resources/fchomo/listeners.js:486 +#: htdocs/luci-static/resources/view/fchomo/node.js:697 msgid "Gecko" msgstr "" @@ -1233,8 +1238,8 @@ msgstr "常規" #: htdocs/luci-static/resources/fchomo/listeners.js:119 #: 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:1698 +#: htdocs/luci-static/resources/view/fchomo/node.js:236 +#: htdocs/luci-static/resources/view/fchomo/node.js:1764 msgid "General fields" msgstr "常規欄位" @@ -1242,17 +1247,17 @@ msgstr "常規欄位" msgid "General settings" msgstr "常規設定" -#: htdocs/luci-static/resources/fchomo.js:578 #: htdocs/luci-static/resources/fchomo.js:580 -#: htdocs/luci-static/resources/fchomo.js:594 +#: htdocs/luci-static/resources/fchomo.js:582 #: htdocs/luci-static/resources/fchomo.js:596 -#: 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:855 -#: htdocs/luci-static/resources/fchomo/listeners.js:1088 +#: htdocs/luci-static/resources/fchomo.js:598 +#: htdocs/luci-static/resources/fchomo/listeners.js:262 +#: htdocs/luci-static/resources/fchomo/listeners.js:306 +#: htdocs/luci-static/resources/fchomo/listeners.js:308 +#: htdocs/luci-static/resources/fchomo/listeners.js:915 +#: htdocs/luci-static/resources/fchomo/listeners.js:1167 #: htdocs/luci-static/resources/view/fchomo/global.js:608 -#: htdocs/luci-static/resources/view/fchomo/node.js:1856 +#: htdocs/luci-static/resources/view/fchomo/node.js:1922 msgid "Generate" msgstr "生成" @@ -1299,7 +1304,7 @@ msgstr "全域" msgid "Global Authentication" msgstr "全域認證" -#: htdocs/luci-static/resources/view/fchomo/node.js:722 +#: htdocs/luci-static/resources/view/fchomo/node.js:543 msgid "Global padding" msgstr "全域填充" @@ -1307,7 +1312,7 @@ msgstr "全域填充" msgid "Google" msgstr "Google" -#: htdocs/luci-static/resources/fchomo.js:254 +#: htdocs/luci-static/resources/fchomo.js:256 msgid "Google FCM" msgstr "" @@ -1320,49 +1325,49 @@ msgid "Group" msgstr "組" #: htdocs/luci-static/resources/fchomo.js:154 -#: htdocs/luci-static/resources/fchomo.js:190 -#: 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:1294 -#: htdocs/luci-static/resources/view/fchomo/node.js:1301 +#: htdocs/luci-static/resources/fchomo.js:191 +#: htdocs/luci-static/resources/fchomo/listeners.js:665 +#: htdocs/luci-static/resources/view/fchomo/node.js:996 +#: htdocs/luci-static/resources/view/fchomo/node.js:1333 +#: htdocs/luci-static/resources/view/fchomo/node.js:1346 +#: htdocs/luci-static/resources/view/fchomo/node.js:1353 msgid "HTTP" msgstr "" -#: 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/node.js:316 +#: htdocs/luci-static/resources/view/fchomo/node.js:1408 +#: htdocs/luci-static/resources/view/fchomo/node.js:1934 #: 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:505 +#: htdocs/luci-static/resources/fchomo/listeners.js:351 +#: htdocs/luci-static/resources/view/fchomo/node.js:440 msgid "HTTP mask" msgstr "HTTP 偽裝" -#: htdocs/luci-static/resources/fchomo/listeners.js:435 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:356 +#: htdocs/luci-static/resources/view/fchomo/node.js:445 +#: htdocs/luci-static/resources/view/fchomo/node.js:480 +#: htdocs/luci-static/resources/view/fchomo/node.js:482 msgid "HTTP mask mode" msgstr "HTTP 偽裝模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:535 +#: htdocs/luci-static/resources/view/fchomo/node.js:470 msgid "HTTP mask multiplex" msgstr "HTTP 偽裝多路復用" -#: htdocs/luci-static/resources/view/fchomo/node.js:520 -#: htdocs/luci-static/resources/view/fchomo/node.js:525 +#: htdocs/luci-static/resources/view/fchomo/node.js:455 +#: htdocs/luci-static/resources/view/fchomo/node.js:460 msgid "HTTP mask: %s" msgstr "HTTP 偽裝: %s" -#: htdocs/luci-static/resources/view/fchomo/node.js:1333 +#: htdocs/luci-static/resources/view/fchomo/node.js:1385 msgid "HTTP request method" msgstr "HTTP 請求方法" -#: htdocs/luci-static/resources/fchomo/listeners.js:445 -#: htdocs/luci-static/resources/view/fchomo/node.js:531 +#: htdocs/luci-static/resources/fchomo/listeners.js:366 +#: htdocs/luci-static/resources/view/fchomo/node.js:466 msgid "HTTP root path" msgstr "HTTP 根路徑" @@ -1370,15 +1375,15 @@ msgstr "HTTP 根路徑" msgid "HTTP/3" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:219 +#: htdocs/luci-static/resources/fchomo/listeners.js:509 msgid "" "HTTP3 server behavior when authentication fails.
A 404 page will be " "returned if empty." msgstr "身份驗證失敗時的 HTTP3 伺服器回應。預設回傳 404 頁面。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1284 -#: htdocs/luci-static/resources/view/fchomo/node.js:1295 -#: htdocs/luci-static/resources/view/fchomo/node.js:1302 +#: htdocs/luci-static/resources/view/fchomo/node.js:1334 +#: htdocs/luci-static/resources/view/fchomo/node.js:1347 +#: htdocs/luci-static/resources/view/fchomo/node.js:1354 msgid "HTTPUpgrade" msgstr "" @@ -1386,53 +1391,58 @@ msgstr "" msgid "Handle domain" msgstr "處理網域" -#: htdocs/luci-static/resources/view/fchomo/node.js:427 +#: htdocs/luci-static/resources/view/fchomo/node.js:362 msgid "Handshake mode" msgstr "握手模式" -#: htdocs/luci-static/resources/fchomo/listeners.js:594 +#: htdocs/luci-static/resources/fchomo/listeners.js:712 +msgid "Handshake target proxy" +msgstr "握手目標代理" + +#: htdocs/luci-static/resources/fchomo/listeners.js:677 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:973 +#: htdocs/luci-static/resources/fchomo/listeners.js:338 +#: htdocs/luci-static/resources/view/fchomo/node.js:939 msgid "Handshake timeout" msgstr "握手逾時" -#: htdocs/luci-static/resources/fchomo/listeners.js:244 +#: htdocs/luci-static/resources/fchomo/listeners.js:534 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:809 +#: htdocs/luci-static/resources/view/fchomo/node.js:720 msgid "Health check" msgstr "健康檢查" #: htdocs/luci-static/resources/view/fchomo/client.js:1156 -#: htdocs/luci-static/resources/view/fchomo/node.js:1982 +#: htdocs/luci-static/resources/view/fchomo/node.js:2061 msgid "Health check URL" msgstr "健康檢查 URL" #: htdocs/luci-static/resources/view/fchomo/client.js:1185 -#: htdocs/luci-static/resources/view/fchomo/node.js:2012 +#: htdocs/luci-static/resources/view/fchomo/node.js:2091 msgid "Health check expected status" msgstr "健康檢查预期状态" #: htdocs/luci-static/resources/view/fchomo/client.js:1165 -#: htdocs/luci-static/resources/view/fchomo/node.js:1992 +#: htdocs/luci-static/resources/view/fchomo/node.js:2071 msgid "Health check interval" msgstr "健康檢查間隔" #: htdocs/luci-static/resources/view/fchomo/client.js:1172 -#: htdocs/luci-static/resources/view/fchomo/node.js:1999 +#: htdocs/luci-static/resources/view/fchomo/node.js:2078 msgid "Health check timeout" msgstr "健康檢查逾時" #: htdocs/luci-static/resources/view/fchomo/client.js:1044 -#: htdocs/luci-static/resources/view/fchomo/node.js:1700 +#: htdocs/luci-static/resources/view/fchomo/node.js:1766 msgid "Health fields" msgstr "健康欄位" -#: htdocs/luci-static/resources/view/fchomo/node.js:627 +#: htdocs/luci-static/resources/view/fchomo/node.js:656 +#: htdocs/luci-static/resources/view/fchomo/node.js:748 msgid "Heartbeat interval" msgstr "心跳間隔" @@ -1440,30 +1450,37 @@ msgstr "心跳間隔" msgid "Hidden" msgstr "隱藏" -#: htdocs/luci-static/resources/fchomo/listeners.js:587 -#: htdocs/luci-static/resources/view/fchomo/node.js:921 +#: htdocs/luci-static/resources/fchomo/listeners.js:670 +#: htdocs/luci-static/resources/view/fchomo/node.js:1001 msgid "Host that supports TLS 1.3" msgstr "主機名稱 (支援 TLS 1.3)" -#: htdocs/luci-static/resources/view/fchomo/node.js:382 +#: htdocs/luci-static/resources/view/fchomo/node.js:909 msgid "Host-key" msgstr "主機金鑰" -#: htdocs/luci-static/resources/view/fchomo/node.js:377 +#: htdocs/luci-static/resources/view/fchomo/node.js:904 msgid "Host-key algorithms" msgstr "主機金鑰演算法" -#: htdocs/luci-static/resources/view/fchomo/node.js:525 +#: htdocs/luci-static/resources/view/fchomo/node.js:460 msgid "Host/SNI override" msgstr "主機/SNI 覆蓋" +#: htdocs/luci-static/resources/fchomo/listeners.js:1030 +#: htdocs/luci-static/resources/view/fchomo/node.js:1168 +msgid "" +"Hostname that the client attempts to connect to at the start of the TLS " +"handshake process." +msgstr "用戶端在 TLS 握手過程開始時嘗試連線的主機名稱。" + #: htdocs/luci-static/resources/view/fchomo/hosts.js:27 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:30 msgid "Hosts" msgstr "" #: htdocs/luci-static/resources/fchomo.js:166 -#: htdocs/luci-static/resources/fchomo.js:202 +#: htdocs/luci-static/resources/fchomo.js:204 msgid "Hysteria2" msgstr "" @@ -1471,8 +1488,8 @@ msgstr "" msgid "Hysteria2 Realm Server" msgstr "Hysteria2 Realm 伺服器" -#: htdocs/luci-static/resources/fchomo/listeners.js:121 -#: htdocs/luci-static/resources/view/fchomo/node.js:235 +#: htdocs/luci-static/resources/fchomo/listeners.js:122 +#: htdocs/luci-static/resources/view/fchomo/node.js:239 msgid "Hysteria2 Realm fields" msgstr "Hysteria2 Realm 欄位" @@ -1485,20 +1502,20 @@ msgstr "" msgid "IP CIDR" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:584 +#: htdocs/luci-static/resources/view/fchomo/node.js:613 msgid "IP override" msgstr "IP 覆寫" -#: htdocs/luci-static/resources/view/fchomo/node.js:1576 -#: htdocs/luci-static/resources/view/fchomo/node.js:1968 +#: htdocs/luci-static/resources/view/fchomo/node.js:1628 +#: htdocs/luci-static/resources/view/fchomo/node.js:2047 msgid "IP version" msgstr "IP 版本" -#: htdocs/luci-static/resources/fchomo.js:175 +#: htdocs/luci-static/resources/fchomo.js:176 msgid "IPv4 only" msgstr "僅 IPv4" -#: htdocs/luci-static/resources/fchomo.js:176 +#: htdocs/luci-static/resources/fchomo.js:177 msgid "IPv6 only" msgstr "僅 IPv6" @@ -1511,19 +1528,19 @@ msgstr "IPv6 支援" msgid "Icon" msgstr "圖標" -#: htdocs/luci-static/resources/view/fchomo/node.js:671 +#: htdocs/luci-static/resources/view/fchomo/node.js:586 msgid "Idle session check interval" msgstr "閒置會話檢查間隔" -#: htdocs/luci-static/resources/view/fchomo/node.js:678 +#: htdocs/luci-static/resources/view/fchomo/node.js:593 msgid "Idle session timeout" msgstr "閒置會話逾時" -#: htdocs/luci-static/resources/fchomo/listeners.js:486 +#: htdocs/luci-static/resources/fchomo/listeners.js:618 msgid "Idle timeout" msgstr "閒置逾時" -#: htdocs/luci-static/resources/fchomo.js:1802 +#: htdocs/luci-static/resources/fchomo.js:1804 msgid "If All ports is selected, uncheck others" msgstr "如果選擇了“所有連接埠”,則取消選取“其他”" @@ -1531,11 +1548,11 @@ msgstr "如果選擇了“所有連接埠”,則取消選取“其他”" msgid "If Block is selected, uncheck others" msgstr "如果選擇了“封鎖”,則取消選取“其他”" -#: htdocs/luci-static/resources/fchomo/listeners.js:187 +#: htdocs/luci-static/resources/fchomo/listeners.js:477 msgid "Ignore client bandwidth" msgstr "忽略客戶端頻寬" -#: htdocs/luci-static/resources/fchomo.js:763 +#: htdocs/luci-static/resources/fchomo.js:765 msgid "Import" msgstr "導入" @@ -1551,8 +1568,8 @@ msgstr "導入" #: 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/node.js:1654 +#: htdocs/luci-static/resources/view/fchomo/node.js:1752 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:154 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:249 msgid "Import mihomo config" @@ -1564,41 +1581,46 @@ msgstr "導入 mihomo 配置" msgid "Import rule-set links" 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: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 +#: htdocs/luci-static/resources/fchomo/listeners.js:466 +#: htdocs/luci-static/resources/fchomo/listeners.js:472 +#: htdocs/luci-static/resources/view/fchomo/node.js:683 +#: htdocs/luci-static/resources/view/fchomo/node.js:689 +#: htdocs/luci-static/resources/view/fchomo/node.js:1999 +#: htdocs/luci-static/resources/view/fchomo/node.js:2005 msgid "In Mbps." msgstr "單位為 Mbps。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1776 +#: htdocs/luci-static/resources/fchomo/listeners.js:730 +msgid "In bps. 0 means no speed limit." +msgstr "" + +#: htdocs/luci-static/resources/view/fchomo/node.js:1842 #: 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:628 -#: htdocs/luci-static/resources/view/fchomo/node.js:635 +#: htdocs/luci-static/resources/view/fchomo/node.js:657 +#: htdocs/luci-static/resources/view/fchomo/node.js:664 +#: htdocs/luci-static/resources/view/fchomo/node.js:749 msgid "In millisecond." msgstr "單位為毫秒。" #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:2079 msgid "In millisecond. %s will be used if empty." msgstr "單位為毫秒。留空則使用 %s。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1425 +#: htdocs/luci-static/resources/view/fchomo/node.js:1477 msgid "In milliseconds." msgstr "單位為毫秒。" -#: htdocs/luci-static/resources/fchomo/listeners.js:418 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:339 +#: htdocs/luci-static/resources/fchomo/listeners.js:458 +#: htdocs/luci-static/resources/fchomo/listeners.js:619 +#: htdocs/luci-static/resources/view/fchomo/node.js:587 +#: htdocs/luci-static/resources/view/fchomo/node.js:594 +#: htdocs/luci-static/resources/view/fchomo/node.js:1424 msgid "In seconds." msgstr "單位為秒。" @@ -1606,21 +1628,21 @@ msgstr "單位為秒。" #: 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: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/node.js:677 +#: htdocs/luci-static/resources/view/fchomo/node.js:1848 +#: htdocs/luci-static/resources/view/fchomo/node.js:2072 #: 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:974 +#: htdocs/luci-static/resources/view/fchomo/node.js:940 msgid "" "In seconds. After configuration, the handshake is not affected by the outer " "connection timeout." msgstr "單位為秒。配置後握手時不受外層連線逾時影響。" -#: htdocs/luci-static/resources/fchomo/listeners.js:771 -#: htdocs/luci-static/resources/view/fchomo/node.js:1048 +#: htdocs/luci-static/resources/fchomo/listeners.js:831 +#: htdocs/luci-static/resources/view/fchomo/node.js:1088 msgid "" "In the order of one Padding-Length and one Padding-" "Interval, infinite concatenation." @@ -1662,7 +1684,7 @@ msgstr "引入所有代理節點。" msgid "Info" msgstr "訊息" -#: htdocs/luci-static/resources/view/fchomo/node.js:1715 +#: htdocs/luci-static/resources/view/fchomo/node.js:1781 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:288 msgid "Inline" msgstr "內嵌" @@ -1673,46 +1695,46 @@ msgstr "介面控制" #: htdocs/luci-static/resources/fchomo.js:53 #: 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:1942 +#: htdocs/luci-static/resources/fchomo.js:174 +#: htdocs/luci-static/resources/fchomo.js:379 +#: htdocs/luci-static/resources/view/fchomo/node.js:2021 msgid "Keep default" msgstr "保持預設" -#: htdocs/luci-static/resources/view/fchomo/node.js:1461 +#: htdocs/luci-static/resources/view/fchomo/node.js:1513 msgid "Keep-alive period" msgstr "Keep-alive 週期" -#: htdocs/luci-static/resources/fchomo/listeners.js:296 -#: htdocs/luci-static/resources/view/fchomo/node.js:441 +#: htdocs/luci-static/resources/fchomo/listeners.js:217 +#: htdocs/luci-static/resources/view/fchomo/node.js:376 msgid "Key" msgstr "密鑰" -#: htdocs/luci-static/resources/fchomo/listeners.js:1015 -#: htdocs/luci-static/resources/view/fchomo/node.js:1213 +#: htdocs/luci-static/resources/fchomo/listeners.js:1094 +#: htdocs/luci-static/resources/view/fchomo/node.js:1261 msgid "Key path" msgstr "憑證路徑" -#: htdocs/luci-static/resources/fchomo/listeners.js:790 +#: htdocs/luci-static/resources/fchomo/listeners.js:850 msgid "Keypairs" msgstr "密鑰對" -#: htdocs/luci-static/resources/fchomo/listeners.js:128 +#: htdocs/luci-static/resources/fchomo/listeners.js:129 #: 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:1703 -#: htdocs/luci-static/resources/view/fchomo/node.js:2061 +#: htdocs/luci-static/resources/view/fchomo/node.js:245 +#: htdocs/luci-static/resources/view/fchomo/node.js:1769 +#: htdocs/luci-static/resources/view/fchomo/node.js:2140 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:267 msgid "Label" msgstr "標籤" #: htdocs/luci-static/resources/view/fchomo/client.js:1179 -#: htdocs/luci-static/resources/view/fchomo/node.js:2006 +#: htdocs/luci-static/resources/view/fchomo/node.js:2085 msgid "Lazy" msgstr "怠惰狀態" @@ -1724,12 +1746,12 @@ msgstr "怠惰查詢" msgid "Lazy query." msgstr "怠惰查詢。" -#: htdocs/luci-static/resources/fchomo/listeners.js:437 -#: htdocs/luci-static/resources/view/fchomo/node.js:512 +#: htdocs/luci-static/resources/fchomo/listeners.js:358 +#: htdocs/luci-static/resources/view/fchomo/node.js:447 msgid "Legacy" msgstr "傳統" -#: htdocs/luci-static/resources/fchomo/listeners.js:544 +#: htdocs/luci-static/resources/fchomo/listeners.js:410 msgid "" "Legacy protocol support (VMess MD5 Authentication) is provided for " "compatibility purposes only, use of alterId > 1 is not recommended." @@ -1741,16 +1763,16 @@ msgstr "" msgid "Less compatibility and sometimes better performance." msgstr "有時效能較好。" -#: htdocs/luci-static/resources/fchomo/listeners.js:996 -#: htdocs/luci-static/resources/view/fchomo/node.js:1134 +#: htdocs/luci-static/resources/fchomo/listeners.js:1036 +#: htdocs/luci-static/resources/view/fchomo/node.js:1174 msgid "List of supported application level protocols, in order of preference." msgstr "支援的應用層協議協商清單,依序排列。" -#: htdocs/luci-static/resources/fchomo/listeners.js:148 +#: htdocs/luci-static/resources/fchomo/listeners.js:149 msgid "Listen address" msgstr "監聽位址" -#: htdocs/luci-static/resources/fchomo/listeners.js:125 +#: htdocs/luci-static/resources/fchomo/listeners.js:126 msgid "Listen fields" msgstr "監聽欄位" @@ -1758,7 +1780,7 @@ msgstr "監聽欄位" msgid "Listen interfaces" msgstr "監聽介面" -#: htdocs/luci-static/resources/fchomo/listeners.js:153 +#: htdocs/luci-static/resources/fchomo/listeners.js:154 #: htdocs/luci-static/resources/view/fchomo/client.js:1459 msgid "Listen port" msgstr "監聽埠" @@ -1771,22 +1793,22 @@ msgstr "監聽埠" msgid "Listen routing mark (Fwmark)" msgstr "監聽路由標記 (Fwmark)" -#: htdocs/luci-static/resources/fchomo.js:244 +#: htdocs/luci-static/resources/fchomo.js:246 msgid "Load balance" msgstr "負載均衡" -#: htdocs/luci-static/resources/view/fchomo/node.js:1713 +#: htdocs/luci-static/resources/view/fchomo/node.js:1779 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:286 msgid "Local" msgstr "本地" -#: htdocs/luci-static/resources/view/fchomo/node.js:765 -#: htdocs/luci-static/resources/view/fchomo/node.js:828 +#: htdocs/luci-static/resources/view/fchomo/node.js:764 +#: htdocs/luci-static/resources/view/fchomo/node.js:851 msgid "Local IPv6 address" msgstr "本地 IPv6 位址" -#: htdocs/luci-static/resources/view/fchomo/node.js:757 -#: htdocs/luci-static/resources/view/fchomo/node.js:820 +#: htdocs/luci-static/resources/view/fchomo/node.js:756 +#: htdocs/luci-static/resources/view/fchomo/node.js:843 msgid "Local address" msgstr "本地位址" @@ -1806,32 +1828,32 @@ msgstr "日誌為空。" msgid "Log level" msgstr "日誌等級" -#: htdocs/luci-static/resources/fchomo/listeners.js:372 -#: 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: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 +#: htdocs/luci-static/resources/fchomo/listeners.js:293 +#: htdocs/luci-static/resources/fchomo/listeners.js:294 +#: htdocs/luci-static/resources/fchomo/listeners.js:295 +#: htdocs/luci-static/resources/fchomo/listeners.js:300 +#: htdocs/luci-static/resources/view/fchomo/node.js:400 +#: htdocs/luci-static/resources/view/fchomo/node.js:401 +#: htdocs/luci-static/resources/view/fchomo/node.js:402 +#: htdocs/luci-static/resources/view/fchomo/node.js:407 msgid "Low-entropy data stream" msgstr "低熵資料流" -#: htdocs/luci-static/resources/fchomo.js:452 +#: htdocs/luci-static/resources/fchomo.js:454 msgid "Lowercase only" msgstr "僅限小寫" #: htdocs/luci-static/resources/view/fchomo/global.js:523 -#: htdocs/luci-static/resources/view/fchomo/node.js:771 -#: htdocs/luci-static/resources/view/fchomo/node.js:874 +#: htdocs/luci-static/resources/view/fchomo/node.js:810 +#: htdocs/luci-static/resources/view/fchomo/node.js:857 msgid "MTU" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:204 +#: htdocs/luci-static/resources/fchomo.js:208 msgid "Masque" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:218 +#: htdocs/luci-static/resources/fchomo/listeners.js:508 msgid "Masquerade" msgstr "偽裝" @@ -1863,24 +1885,24 @@ msgstr "匹配回應通過 ipcidr
" msgid "Match rule set." msgstr "匹配規則集。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1378 +#: htdocs/luci-static/resources/view/fchomo/node.js:1430 msgid "Max Early Data" msgstr "前置數據最大值" -#: htdocs/luci-static/resources/fchomo/listeners.js:480 -#: htdocs/luci-static/resources/view/fchomo/node.js:609 +#: htdocs/luci-static/resources/fchomo/listeners.js:451 +#: htdocs/luci-static/resources/view/fchomo/node.js:638 msgid "Max UDP relay packet size" msgstr "UDP 中繼數據包最大尺寸" -#: htdocs/luci-static/resources/fchomo/listeners.js:1214 +#: htdocs/luci-static/resources/fchomo/listeners.js:1297 msgid "Max buffered posts" msgstr "POST 最大緩衝" -#: htdocs/luci-static/resources/view/fchomo/node.js:1436 +#: htdocs/luci-static/resources/view/fchomo/node.js:1488 msgid "Max concurrency" msgstr "最大並發" -#: htdocs/luci-static/resources/view/fchomo/node.js:1441 +#: htdocs/luci-static/resources/view/fchomo/node.js:1493 msgid "Max connections" msgstr "最大連線數" @@ -1888,51 +1910,51 @@ msgstr "最大連線數" msgid "Max count of failures" msgstr "最大失敗次數" -#: htdocs/luci-static/resources/fchomo/listeners.js:181 -#: htdocs/luci-static/resources/view/fchomo/node.js:336 +#: htdocs/luci-static/resources/fchomo/listeners.js:471 +#: htdocs/luci-static/resources/view/fchomo/node.js:688 msgid "Max download speed" msgstr "最大下載速度" -#: htdocs/luci-static/resources/fchomo/listeners.js:1225 -#: htdocs/luci-static/resources/view/fchomo/node.js:1418 +#: htdocs/luci-static/resources/fchomo/listeners.js:1308 +#: htdocs/luci-static/resources/view/fchomo/node.js:1470 msgid "Max each POST bytes" msgstr "POST 最大位元組數" -#: htdocs/luci-static/resources/view/fchomo/node.js:641 +#: htdocs/luci-static/resources/view/fchomo/node.js:933 msgid "Max open streams" msgstr "限制打開流的數量" -#: htdocs/luci-static/resources/fchomo/listeners.js:231 +#: htdocs/luci-static/resources/fchomo/listeners.js:521 msgid "Max realms" msgstr "最大 Realms 數量" -#: htdocs/luci-static/resources/fchomo/listeners.js:237 +#: htdocs/luci-static/resources/fchomo/listeners.js:527 msgid "Max realms per client IP" msgstr "每客戶端 IP 最大 Realms 數量" -#: htdocs/luci-static/resources/view/fchomo/node.js:1451 +#: htdocs/luci-static/resources/view/fchomo/node.js:1503 msgid "Max request times" msgstr "最大請求次數" -#: htdocs/luci-static/resources/view/fchomo/node.js:1456 +#: htdocs/luci-static/resources/view/fchomo/node.js:1508 msgid "Max reusable seconds" msgstr "最大可重用秒數" -#: htdocs/luci-static/resources/view/fchomo/node.js:1446 +#: htdocs/luci-static/resources/view/fchomo/node.js:1498 msgid "Max reuse times" msgstr "最大重用次數" -#: htdocs/luci-static/resources/fchomo/listeners.js:175 -#: htdocs/luci-static/resources/view/fchomo/node.js:330 +#: htdocs/luci-static/resources/fchomo/listeners.js:465 +#: htdocs/luci-static/resources/view/fchomo/node.js:682 msgid "Max upload speed" msgstr "最大上傳速度" -#: htdocs/luci-static/resources/view/fchomo/node.js:1482 -#: htdocs/luci-static/resources/view/fchomo/node.js:1502 +#: htdocs/luci-static/resources/view/fchomo/node.js:1534 +#: htdocs/luci-static/resources/view/fchomo/node.js:1554 msgid "Maximum connections" msgstr "最大連線數" -#: htdocs/luci-static/resources/view/fchomo/node.js:1500 +#: htdocs/luci-static/resources/view/fchomo/node.js:1552 msgid "" "Maximum multiplexed streams in a connection before opening a new connection." "
Conflict with %s and %s." @@ -1940,24 +1962,24 @@ msgstr "" "在開啟新連線之前,連線中的最大多路復用流數量。
%s 和 " "%s 衝突。" -#: htdocs/luci-static/resources/fchomo/listeners.js:402 -#: htdocs/luci-static/resources/view/fchomo/node.js:484 +#: htdocs/luci-static/resources/fchomo/listeners.js:323 +#: htdocs/luci-static/resources/view/fchomo/node.js:419 msgid "Maximum padding rate" msgstr "最大填充率" -#: htdocs/luci-static/resources/fchomo/listeners.js:410 -#: htdocs/luci-static/resources/view/fchomo/node.js:492 +#: htdocs/luci-static/resources/fchomo/listeners.js:331 +#: htdocs/luci-static/resources/view/fchomo/node.js:427 msgid "" "Maximum padding rate must be greater than or equal to the minimum padding " "rate." msgstr "最大填充率必須大於等于最小填充率。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1499 +#: htdocs/luci-static/resources/view/fchomo/node.js:1551 msgid "Maximum streams" msgstr "最大流數量" #: htdocs/luci-static/resources/fchomo.js:158 -#: htdocs/luci-static/resources/fchomo.js:194 +#: htdocs/luci-static/resources/fchomo.js:195 msgid "Mieru" msgstr "" @@ -1973,26 +1995,26 @@ msgstr "Mihomo 客戶端" msgid "Mihomo server" msgstr "Mihomo 服務端" -#: htdocs/luci-static/resources/view/fchomo/node.js:685 +#: htdocs/luci-static/resources/view/fchomo/node.js:600 msgid "Min of idle sessions to keep" msgstr "要保留的最少閒置會話數" -#: htdocs/luci-static/resources/view/fchomo/node.js:1424 +#: htdocs/luci-static/resources/view/fchomo/node.js:1476 msgid "Min posts interval" msgstr "POST 請求最小間隔時間" -#: htdocs/luci-static/resources/view/fchomo/node.js:1491 +#: htdocs/luci-static/resources/view/fchomo/node.js:1543 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:477 +#: htdocs/luci-static/resources/fchomo/listeners.js:316 +#: htdocs/luci-static/resources/view/fchomo/node.js:412 msgid "Minimum padding rate" msgstr "最小填充率" -#: htdocs/luci-static/resources/view/fchomo/node.js:1490 -#: htdocs/luci-static/resources/view/fchomo/node.js:1502 +#: htdocs/luci-static/resources/view/fchomo/node.js:1542 +#: htdocs/luci-static/resources/view/fchomo/node.js:1554 msgid "Minimum streams" msgstr "最小流數量" @@ -2009,17 +2031,17 @@ msgstr "混合 系統 TCP 堆栈和 gVisor UDP 堆栈 msgid "Mixed port" msgstr "混合連接埠" -#: htdocs/luci-static/resources/fchomo/listeners.js:1232 -#: htdocs/luci-static/resources/view/fchomo/node.js:1468 +#: htdocs/luci-static/resources/fchomo/listeners.js:1315 +#: htdocs/luci-static/resources/view/fchomo/node.js:1520 msgid "Multiplex" msgstr "多路復用" -#: htdocs/luci-static/resources/fchomo/listeners.js:124 -#: htdocs/luci-static/resources/view/fchomo/node.js:238 +#: htdocs/luci-static/resources/fchomo/listeners.js:125 +#: htdocs/luci-static/resources/view/fchomo/node.js:242 msgid "Multiplex fields" msgstr "多路復用欄位" -#: htdocs/luci-static/resources/view/fchomo/node.js:418 +#: htdocs/luci-static/resources/view/fchomo/node.js:353 msgid "Multiplexing" msgstr "多路復用" @@ -2028,11 +2050,11 @@ msgstr "多路復用" msgid "NOT" msgstr "NOT" -#: htdocs/luci-static/resources/fchomo/listeners.js:639 +#: htdocs/luci-static/resources/fchomo/listeners.js:586 msgid "Name of the Proxy group as outbound." msgstr "出站代理組的名稱。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1788 +#: htdocs/luci-static/resources/view/fchomo/node.js:1854 msgid "Name of the Proxy group to download provider." msgstr "用於下載供應商訂閱的代理組名稱。" @@ -2040,27 +2062,27 @@ msgstr "用於下載供應商訂閱的代理組名稱。" msgid "Name of the Proxy group to download rule set." msgstr "用於下載規則集訂閱的代理組名稱。" -#: htdocs/luci-static/resources/fchomo/listeners.js:628 +#: htdocs/luci-static/resources/fchomo/listeners.js:574 msgid "Name of the Sub rule used for inbound matching." msgstr "用於入站匹配的子規則名稱。" -#: htdocs/luci-static/resources/view/fchomo/node.js:593 +#: htdocs/luci-static/resources/view/fchomo/node.js:622 msgid "Native UDP" msgstr "原生 UDP" -#: htdocs/luci-static/resources/fchomo.js:394 +#: htdocs/luci-static/resources/fchomo.js:396 msgid "Native appearance" msgstr "原生外觀" -#: htdocs/luci-static/resources/view/fchomo/node.js:777 +#: htdocs/luci-static/resources/view/fchomo/node.js:863 msgid "Network" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:670 +#: htdocs/luci-static/resources/fchomo/listeners.js:625 msgid "Network type" msgstr "網路類型" -#: htdocs/luci-static/resources/view/fchomo/node.js:1944 +#: htdocs/luci-static/resources/view/fchomo/node.js:2023 msgid "No" msgstr "" @@ -2068,7 +2090,7 @@ msgstr "" msgid "No Authentication IP ranges" msgstr "無需認證的 IP 範圍" -#: htdocs/luci-static/resources/fchomo/listeners.js:1209 +#: htdocs/luci-static/resources/fchomo/listeners.js:1292 msgid "No SSE header" msgstr "無 SSE header" @@ -2076,16 +2098,16 @@ msgstr "無 SSE header" msgid "No add'l params" msgstr "無附加參數" -#: htdocs/luci-static/resources/view/fchomo/node.js:1408 +#: htdocs/luci-static/resources/view/fchomo/node.js:1460 msgid "No gRPC header" msgstr "無 gRPC header" #: htdocs/luci-static/resources/view/fchomo/client.js:1180 -#: htdocs/luci-static/resources/view/fchomo/node.js:2007 +#: htdocs/luci-static/resources/view/fchomo/node.js:2086 msgid "No testing is performed when this provider node is not in use." msgstr "當此供應商的節點未使用時,不執行任何測試。" -#: htdocs/luci-static/resources/fchomo.js:724 +#: htdocs/luci-static/resources/fchomo.js:726 msgid "No valid %s found." msgstr "未找到有效的%s。" @@ -2094,22 +2116,22 @@ msgid "No valid rule-set link found." msgstr "未找到有效的規則集連結。" #: htdocs/luci-static/resources/view/fchomo/client.js:1080 -#: htdocs/luci-static/resources/view/fchomo/node.js:228 +#: htdocs/luci-static/resources/view/fchomo/node.js:231 msgid "Node" msgstr "節點" #: htdocs/luci-static/resources/view/fchomo/client.js:1242 -#: htdocs/luci-static/resources/view/fchomo/node.js:2027 +#: htdocs/luci-static/resources/view/fchomo/node.js:2106 msgid "Node exclude filter" msgstr "排除節點" #: htdocs/luci-static/resources/view/fchomo/client.js:1247 -#: htdocs/luci-static/resources/view/fchomo/node.js:2034 +#: htdocs/luci-static/resources/view/fchomo/node.js:2113 msgid "Node exclude type" msgstr "排除節點類型" #: htdocs/luci-static/resources/view/fchomo/client.js:1237 -#: htdocs/luci-static/resources/view/fchomo/node.js:2021 +#: htdocs/luci-static/resources/view/fchomo/node.js:2100 msgid "Node filter" msgstr "過濾節點" @@ -2117,7 +2139,7 @@ msgstr "過濾節點" msgid "Node switch tolerance" msgstr "節點切換容差" -#: htdocs/luci-static/resources/fchomo.js:421 +#: htdocs/luci-static/resources/fchomo.js:423 msgid "None" msgstr "無" @@ -2125,49 +2147,49 @@ msgstr "無" msgid "Not Installed" msgstr "未安裝" -#: htdocs/luci-static/resources/fchomo.js:1580 +#: htdocs/luci-static/resources/fchomo.js:1582 msgid "Not Running" msgstr "未在運作" -#: htdocs/luci-static/resources/view/fchomo/node.js:538 +#: htdocs/luci-static/resources/view/fchomo/node.js:473 msgid "OFF" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:540 +#: htdocs/luci-static/resources/view/fchomo/node.js:475 msgid "ON" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:581 -#: htdocs/luci-static/resources/view/fchomo/node.js:915 +#: htdocs/luci-static/resources/fchomo/listeners.js:664 +#: htdocs/luci-static/resources/view/fchomo/node.js:995 msgid "Obfs Mode" msgstr "Obfs 模式" -#: htdocs/luci-static/resources/fchomo/listeners.js:213 -#: htdocs/luci-static/resources/view/fchomo/node.js:362 +#: htdocs/luci-static/resources/fchomo/listeners.js:503 +#: htdocs/luci-static/resources/view/fchomo/node.js:714 msgid "Obfuscate maximum packet size" msgstr "混淆最大資料包大小" -#: htdocs/luci-static/resources/fchomo/listeners.js:208 -#: htdocs/luci-static/resources/view/fchomo/node.js:357 +#: htdocs/luci-static/resources/fchomo/listeners.js:498 +#: htdocs/luci-static/resources/view/fchomo/node.js:709 msgid "Obfuscate minimum packet size" msgstr "混淆最小資料包大小" -#: htdocs/luci-static/resources/fchomo/listeners.js:200 -#: htdocs/luci-static/resources/view/fchomo/node.js:349 +#: htdocs/luci-static/resources/fchomo/listeners.js:490 +#: htdocs/luci-static/resources/view/fchomo/node.js:701 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:342 -#: htdocs/luci-static/resources/view/fchomo/node.js:463 +#: htdocs/luci-static/resources/fchomo/listeners.js:291 +#: htdocs/luci-static/resources/fchomo/listeners.js:483 +#: htdocs/luci-static/resources/view/fchomo/node.js:398 +#: htdocs/luci-static/resources/view/fchomo/node.js:694 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:464 -#: htdocs/luci-static/resources/view/fchomo/node.js:465 +#: htdocs/luci-static/resources/fchomo/listeners.js:292 +#: htdocs/luci-static/resources/fchomo/listeners.js:293 +#: htdocs/luci-static/resources/view/fchomo/node.js:399 +#: htdocs/luci-static/resources/view/fchomo/node.js:400 msgid "Obfuscated as %s" msgstr "混淆為%s" @@ -2175,12 +2197,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:990 +#: htdocs/luci-static/resources/fchomo/listeners.js:1024 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:472 +#: htdocs/luci-static/resources/fchomo/listeners.js:300 +#: htdocs/luci-static/resources/view/fchomo/node.js:407 msgid "Only applies to the %s." msgstr "只對%s生效。" @@ -2188,7 +2210,7 @@ msgstr "只對%s生效。" msgid "Only process traffic from specific interfaces. Leave empty for all." msgstr "只處理來自指定介面的流量。留空表示全部。" -#: htdocs/luci-static/resources/fchomo.js:1574 +#: htdocs/luci-static/resources/fchomo.js:1576 msgid "Open Dashboard" msgstr "打開面板" @@ -2200,21 +2222,30 @@ msgstr "運作模式" msgid "Option is deprecated. Please use %s instead." msgstr "該選項已棄用,請使用%s作為代替。" +#: htdocs/luci-static/resources/view/fchomo/node.js:1971 +msgid "Other configuration items" +msgstr "其他配置項" + #: root/usr/share/luci/menu.d/luci-app-fchomo.json:46 msgid "Outbound" msgstr "出站" +#: htdocs/luci-static/resources/view/fchomo/node.js:1233 +#: htdocs/luci-static/resources/view/fchomo/node.js:2010 +msgid "Override cert DNSName" +msgstr "覆蓋憑證 DNSName" + #: htdocs/luci-static/resources/view/fchomo/global.js:679 #: htdocs/luci-static/resources/view/fchomo/global.js:717 msgid "Override destination" msgstr "覆蓋目標位址" #: htdocs/luci-static/resources/view/fchomo/client.js:1043 -#: htdocs/luci-static/resources/view/fchomo/node.js:1699 +#: htdocs/luci-static/resources/view/fchomo/node.js:1765 msgid "Override fields" msgstr "覆蓋欄位" -#: htdocs/luci-static/resources/view/fchomo/node.js:585 +#: htdocs/luci-static/resources/view/fchomo/node.js:614 msgid "Override the IP address of the server that DNS response." msgstr "覆蓋 DNS 回應的伺服器的 IP 位址。" @@ -2230,7 +2261,7 @@ msgstr "使用嗅探到的網域覆寫連線目標。" msgid "Override the existing ECS in original request." msgstr "覆蓋原始請求中已有的 ECS。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1240 +#: htdocs/luci-static/resources/view/fchomo/node.js:1288 msgid "Overrides the domain name used for HTTPS record queries." msgstr "覆蓋用於 HTTPS 記錄查詢的網域。" @@ -2238,37 +2269,37 @@ msgstr "覆蓋用於 HTTPS 記錄查詢的網域。" msgid "Overview" msgstr "概覽" -#: htdocs/luci-static/resources/view/fchomo/node.js:1335 +#: htdocs/luci-static/resources/view/fchomo/node.js:1387 msgid "POST" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1336 +#: htdocs/luci-static/resources/view/fchomo/node.js:1388 msgid "PUT" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:734 +#: htdocs/luci-static/resources/view/fchomo/node.js:555 msgid "Packet encoding" msgstr "數據包編碼" -#: htdocs/luci-static/resources/view/fchomo/node.js:1413 +#: htdocs/luci-static/resources/view/fchomo/node.js:1465 msgid "Padding bytes" msgstr "填充位元組" -#: htdocs/luci-static/resources/fchomo/listeners.js:524 +#: htdocs/luci-static/resources/fchomo/listeners.js:440 msgid "Padding scheme" msgstr "填充方案" -#: htdocs/luci-static/resources/fchomo/listeners.js:769 -#: htdocs/luci-static/resources/view/fchomo/node.js:1046 +#: htdocs/luci-static/resources/fchomo/listeners.js:829 +#: htdocs/luci-static/resources/view/fchomo/node.js:1086 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: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 +#: htdocs/luci-static/resources/fchomo/listeners.js:167 +#: htdocs/luci-static/resources/fchomo/listeners.js:184 +#: htdocs/luci-static/resources/fchomo/listeners.js:691 +#: htdocs/luci-static/resources/view/fchomo/node.js:310 +#: htdocs/luci-static/resources/view/fchomo/node.js:331 +#: htdocs/luci-static/resources/view/fchomo/node.js:1014 msgid "Password" msgstr "密碼" @@ -2280,13 +2311,13 @@ msgstr "捆綁包路徑" msgid "Path in bundle: %s" msgstr "在捆綁包%s中的路徑" -#: htdocs/luci-static/resources/fchomo/listeners.js:709 -#: htdocs/luci-static/resources/view/fchomo/node.js:1763 +#: htdocs/luci-static/resources/fchomo/listeners.js:769 +#: htdocs/luci-static/resources/view/fchomo/node.js:1829 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:373 msgid "Payload" msgstr "Payload" -#: htdocs/luci-static/resources/view/fchomo/node.js:842 +#: htdocs/luci-static/resources/view/fchomo/node.js:778 msgid "Peer pubkic key" msgstr "對端公鑰" @@ -2296,11 +2327,11 @@ msgid "" "it is not needed." msgstr "效能可能會略有下降,建議僅在需要時開啟。" -#: htdocs/luci-static/resources/view/fchomo/node.js:869 +#: htdocs/luci-static/resources/view/fchomo/node.js:805 msgid "Periodically sends data packets to maintain connection persistence." msgstr "定期發送資料包以維持連線持久性。" -#: htdocs/luci-static/resources/view/fchomo/node.js:868 +#: htdocs/luci-static/resources/view/fchomo/node.js:804 msgid "Persistent keepalive" msgstr "持久連接" @@ -2323,8 +2354,8 @@ msgid "" "standards." msgstr "連結格式標準請參考
%s。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1736 -#: htdocs/luci-static/resources/view/fchomo/node.js:1762 +#: htdocs/luci-static/resources/view/fchomo/node.js:1802 +#: htdocs/luci-static/resources/view/fchomo/node.js:1828 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:346 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:372 msgid "" @@ -2339,44 +2370,39 @@ msgstr "" #: 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/node.js:1655 #: 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:560 -#: htdocs/luci-static/resources/view/fchomo/node.js:892 +#: htdocs/luci-static/resources/fchomo/listeners.js:638 +#: htdocs/luci-static/resources/view/fchomo/node.js:967 msgid "Plugin" -msgstr "插件" +msgstr "外掛" -#: 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 "插件:" +#: htdocs/luci-static/resources/fchomo/listeners.js:120 +#: htdocs/luci-static/resources/view/fchomo/node.js:237 +msgid "Plugin fields" +msgstr "外掛欄位" -#: htdocs/luci-static/resources/view/fchomo/node.js:261 +#: htdocs/luci-static/resources/fchomo/listeners.js:643 +#: htdocs/luci-static/resources/view/fchomo/node.js:972 +msgid "Plugin type" +msgstr "外掛類型" + +#: htdocs/luci-static/resources/view/fchomo/node.js:265 msgid "Port" msgstr "連接埠" -#: htdocs/luci-static/resources/fchomo.js:1811 +#: htdocs/luci-static/resources/fchomo.js:1813 msgid "Port %s alrealy exists!" msgstr "連接埠 %s 已存在!" -#: htdocs/luci-static/resources/view/fchomo/node.js:324 +#: htdocs/luci-static/resources/view/fchomo/node.js:676 msgid "Port hop interval" msgstr "連接埠跳躍間隔" -#: htdocs/luci-static/resources/view/fchomo/node.js:406 +#: htdocs/luci-static/resources/view/fchomo/node.js:341 msgid "Port range" msgstr "連接埠範圍" @@ -2384,28 +2410,28 @@ msgstr "連接埠範圍" msgid "Ports" msgstr "連接埠" -#: htdocs/luci-static/resources/fchomo/listeners.js:153 -#: htdocs/luci-static/resources/view/fchomo/node.js:319 +#: htdocs/luci-static/resources/fchomo/listeners.js:154 +#: htdocs/luci-static/resources/view/fchomo/node.js:671 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:555 -#: htdocs/luci-static/resources/view/fchomo/node.js:849 +#: htdocs/luci-static/resources/fchomo/listeners.js:377 +#: htdocs/luci-static/resources/fchomo/listeners.js:515 +#: htdocs/luci-static/resources/view/fchomo/node.js:490 +#: htdocs/luci-static/resources/view/fchomo/node.js:785 msgid "Pre-shared key" msgstr "預先共用金鑰" -#: htdocs/luci-static/resources/fchomo/listeners.js:907 -#: htdocs/luci-static/resources/view/fchomo/node.js:1081 +#: htdocs/luci-static/resources/fchomo/listeners.js:967 +#: htdocs/luci-static/resources/view/fchomo/node.js:1121 msgid "Pre-shared key of rendezvous server" msgstr "牽線伺服器的預先共用金鑰" -#: htdocs/luci-static/resources/fchomo.js:177 +#: htdocs/luci-static/resources/fchomo.js:178 msgid "Prefer IPv4" msgstr "優先 IPv4" -#: htdocs/luci-static/resources/fchomo.js:178 +#: htdocs/luci-static/resources/fchomo.js:179 msgid "Prefer IPv6" msgstr "優先 IPv6" @@ -2416,53 +2442,62 @@ 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: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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1616 +#: htdocs/luci-static/resources/view/fchomo/node.js:1623 +#: htdocs/luci-static/resources/view/fchomo/node.js:2035 +#: htdocs/luci-static/resources/view/fchomo/node.js:2042 msgid "Priority: Proxy Node > Global." msgstr "優先權: 代理節點 > 全域。" -#: htdocs/luci-static/resources/view/fchomo/node.js:368 +#: htdocs/luci-static/resources/view/fchomo/node.js:895 msgid "Priv-key" msgstr "金鑰" -#: htdocs/luci-static/resources/view/fchomo/node.js:372 +#: htdocs/luci-static/resources/view/fchomo/node.js:899 msgid "Priv-key passphrase" msgstr "金鑰密碼" -#: htdocs/luci-static/resources/view/fchomo/node.js:742 -#: htdocs/luci-static/resources/view/fchomo/node.js:834 +#: htdocs/luci-static/resources/view/fchomo/node.js:770 +#: htdocs/luci-static/resources/view/fchomo/node.js:828 msgid "Private key" msgstr "私鑰" +#: htdocs/luci-static/resources/fchomo/listeners.js:737 +msgid "" +"Probe the QUIC version of the handshake target during the first connection." +msgstr "在首次連線期間探測握手目標的 QUIC 版本。" + #: htdocs/luci-static/resources/view/fchomo/global.js:421 msgid "Process matching mode" msgstr "進程匹配模式" +#: htdocs/luci-static/resources/view/fchomo/node.js:1961 +msgid "Programmable replacement" +msgstr "可編程替換" + #: htdocs/luci-static/resources/view/fchomo/global.js:708 -#: htdocs/luci-static/resources/view/fchomo/node.js:1474 +#: htdocs/luci-static/resources/view/fchomo/node.js:1526 msgid "Protocol" msgstr "協議" -#: htdocs/luci-static/resources/view/fchomo/node.js:729 +#: htdocs/luci-static/resources/view/fchomo/node.js:550 msgid "Protocol parameter. Enable length block encryption." msgstr "協議參數。啟用長度塊加密。" -#: htdocs/luci-static/resources/view/fchomo/node.js:723 +#: htdocs/luci-static/resources/view/fchomo/node.js:544 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: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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1638 +#: htdocs/luci-static/resources/view/fchomo/node.js:1647 +#: htdocs/luci-static/resources/view/fchomo/node.js:2151 msgid "Provider" msgstr "供應商" -#: htdocs/luci-static/resources/view/fchomo/node.js:1769 +#: htdocs/luci-static/resources/view/fchomo/node.js:1835 msgid "Provider URL" msgstr "供應商訂閱 URL" @@ -2484,20 +2519,20 @@ msgstr "代理 IPv6 位址" msgid "Proxy MAC-s" msgstr "代理 MAC 位址" -#: htdocs/luci-static/resources/view/fchomo/node.js:219 -#: htdocs/luci-static/resources/view/fchomo/node.js:2071 +#: htdocs/luci-static/resources/view/fchomo/node.js:222 +#: htdocs/luci-static/resources/view/fchomo/node.js:2150 msgid "Proxy Node" msgstr "代理節點" -#: htdocs/luci-static/resources/view/fchomo/node.js:2047 -#: htdocs/luci-static/resources/view/fchomo/node.js:2056 +#: htdocs/luci-static/resources/view/fchomo/node.js:2126 +#: htdocs/luci-static/resources/view/fchomo/node.js:2135 msgid "Proxy chain" msgstr "代理鏈" -#: htdocs/luci-static/resources/fchomo/listeners.js:638 +#: htdocs/luci-static/resources/fchomo/listeners.js:585 #: 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/node.js:1853 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:403 msgid "Proxy group" msgstr "代理組" @@ -2514,60 +2549,74 @@ msgstr "代理模式" msgid "Proxy routerself" msgstr "代理路由器自身" -#: htdocs/luci-static/resources/view/fchomo/node.js:594 -#: htdocs/luci-static/resources/view/fchomo/node.js:814 +#: htdocs/luci-static/resources/view/fchomo/node.js:623 +#: htdocs/luci-static/resources/view/fchomo/node.js:725 msgid "QUIC" msgstr "" +#: htdocs/luci-static/resources/fchomo/listeners.js:552 +#: htdocs/luci-static/resources/view/fchomo/node.js:743 +msgid "QUIC based 0-RTT" +msgstr "基於 QUIC 的 0-RTT" + +#: htdocs/luci-static/resources/fchomo/listeners.js:736 +msgid "QUIC version probe" +msgstr "QUIC 版本探測" + +#: htdocs/luci-static/resources/fchomo/listeners.js:545 +#: htdocs/luci-static/resources/view/fchomo/node.js:731 +msgid "QUIC versions" +msgstr "QUIC 版本" + #: 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:1103 -#: htdocs/luci-static/resources/view/fchomo/node.js:1254 +#: htdocs/luci-static/resources/fchomo/listeners.js:1182 +#: htdocs/luci-static/resources/view/fchomo/node.js:1302 msgid "REALITY" msgstr "REALITY" -#: htdocs/luci-static/resources/view/fchomo/node.js:1269 +#: htdocs/luci-static/resources/view/fchomo/node.js:1317 msgid "REALITY X25519MLKEM768 PQC support" msgstr "REALITY X25519MLKEM768 後量子加密支援" -#: htdocs/luci-static/resources/fchomo/listeners.js:1140 +#: htdocs/luci-static/resources/fchomo/listeners.js:1219 msgid "REALITY certificate issued to" -msgstr "REALITY 證書頒發給" +msgstr "REALITY 憑證頒發給" -#: htdocs/luci-static/resources/fchomo/listeners.js:1108 +#: htdocs/luci-static/resources/fchomo/listeners.js:1187 msgid "REALITY handshake server" msgstr "REALITY 握手伺服器" -#: htdocs/luci-static/resources/fchomo/listeners.js:1115 +#: htdocs/luci-static/resources/fchomo/listeners.js:1194 msgid "REALITY private key" msgstr "REALITY 私鑰" -#: htdocs/luci-static/resources/fchomo/listeners.js:1130 -#: htdocs/luci-static/resources/view/fchomo/node.js:1259 +#: htdocs/luci-static/resources/fchomo/listeners.js:1209 +#: htdocs/luci-static/resources/view/fchomo/node.js:1307 msgid "REALITY public key" msgstr "REALITY 公鑰" -#: htdocs/luci-static/resources/fchomo/listeners.js:1134 -#: htdocs/luci-static/resources/view/fchomo/node.js:1264 +#: htdocs/luci-static/resources/fchomo/listeners.js:1213 +#: htdocs/luci-static/resources/view/fchomo/node.js:1312 msgid "REALITY short ID" msgstr "REALITY 標識符" -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:272 +#: htdocs/luci-static/resources/view/fchomo/node.js:278 +#: htdocs/luci-static/resources/view/fchomo/node.js:296 msgid "REMATCH-NAME marking" msgstr "REMATCH-NAME 打標" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:800 +#: htdocs/luci-static/resources/fchomo/listeners.js:819 +#: htdocs/luci-static/resources/view/fchomo/node.js:1076 msgid "RTT" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:386 +#: htdocs/luci-static/resources/fchomo.js:388 msgid "Random" msgstr "隨機" @@ -2575,21 +2624,21 @@ msgstr "隨機" msgid "Random will be used if empty." msgstr "留空將使用隨機令牌。" -#: htdocs/luci-static/resources/fchomo.js:396 +#: htdocs/luci-static/resources/fchomo.js:398 msgid "Randomized traffic characteristics" msgstr "隨機化流量特徵" -#: htdocs/luci-static/resources/fchomo/listeners.js:896 -#: htdocs/luci-static/resources/view/fchomo/node.js:1070 +#: htdocs/luci-static/resources/fchomo/listeners.js:956 +#: htdocs/luci-static/resources/view/fchomo/node.js:1110 msgid "Realm" msgstr "Realm" -#: htdocs/luci-static/resources/fchomo/listeners.js:912 -#: htdocs/luci-static/resources/view/fchomo/node.js:1086 +#: htdocs/luci-static/resources/fchomo/listeners.js:972 +#: htdocs/luci-static/resources/view/fchomo/node.js:1126 msgid "Realm ID" msgstr "Realm ID" -#: htdocs/luci-static/resources/fchomo/listeners.js:248 +#: htdocs/luci-static/resources/fchomo/listeners.js:538 msgid "Realm name pattern" msgstr "Realm 名稱模式" @@ -2613,7 +2662,7 @@ msgstr "Redirect TCP + Tun UDP" msgid "Refresh every %s seconds." msgstr "每 %s 秒刷新。" -#: htdocs/luci-static/resources/fchomo.js:1567 +#: htdocs/luci-static/resources/fchomo.js:1569 #: 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 @@ -2624,77 +2673,77 @@ msgstr "重載" msgid "Reload All" msgstr "重載所有" -#: htdocs/luci-static/resources/fchomo.js:188 +#: htdocs/luci-static/resources/fchomo.js:189 msgid "Rematch" msgstr "再路由" -#: htdocs/luci-static/resources/fchomo.js:188 +#: htdocs/luci-static/resources/fchomo.js:189 msgid "Rematching routing rules" msgstr "重新匹配路由規則" -#: htdocs/luci-static/resources/view/fchomo/node.js:1714 +#: htdocs/luci-static/resources/view/fchomo/node.js:1780 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:287 msgid "Remote" msgstr "遠端" -#: htdocs/luci-static/resources/view/fchomo/node.js:797 -#: htdocs/luci-static/resources/view/fchomo/node.js:880 +#: htdocs/luci-static/resources/view/fchomo/node.js:816 +#: htdocs/luci-static/resources/view/fchomo/node.js:883 msgid "Remote DNS resolve" msgstr "遠端 DNS 解析" -#: htdocs/luci-static/resources/fchomo.js:1732 +#: htdocs/luci-static/resources/fchomo.js:1734 msgid "Remove" msgstr "移除" -#: 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/fchomo.js:1739 +#: htdocs/luci-static/resources/view/fchomo/node.js:1756 +#: htdocs/luci-static/resources/view/fchomo/node.js:1758 #: 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:901 -#: htdocs/luci-static/resources/view/fchomo/node.js:1075 +#: htdocs/luci-static/resources/fchomo/listeners.js:961 +#: htdocs/luci-static/resources/view/fchomo/node.js:1115 msgid "Rendezvous server" msgstr "牽線伺服器" -#: htdocs/luci-static/resources/view/fchomo/node.js:1886 +#: htdocs/luci-static/resources/view/fchomo/node.js:1952 msgid "Replace name" msgstr "名稱替換" -#: htdocs/luci-static/resources/view/fchomo/node.js:1887 +#: htdocs/luci-static/resources/view/fchomo/node.js:1953 msgid "Replace node name." msgstr "替換節點名稱" -#: htdocs/luci-static/resources/fchomo.js:370 +#: htdocs/luci-static/resources/fchomo.js:372 msgid "Request" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1271 +#: htdocs/luci-static/resources/view/fchomo/node.js:1394 +#: htdocs/luci-static/resources/view/fchomo/node.js:1401 msgid "Request path" msgstr "請求路徑" -#: htdocs/luci-static/resources/view/fchomo/node.js:634 +#: htdocs/luci-static/resources/view/fchomo/node.js:663 msgid "Request timeout" msgstr "請求逾時" -#: htdocs/luci-static/resources/fchomo.js:373 +#: htdocs/luci-static/resources/fchomo.js:375 msgid "Require and verify" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:371 +#: htdocs/luci-static/resources/fchomo.js:373 msgid "Require any" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:404 -#: htdocs/luci-static/resources/view/fchomo/node.js:1270 +#: htdocs/luci-static/resources/fchomo.js:406 +#: htdocs/luci-static/resources/view/fchomo/node.js:1318 msgid "Requires server support." msgstr "需要伺服器支援。" -#: htdocs/luci-static/resources/view/fchomo/node.js:863 +#: htdocs/luci-static/resources/view/fchomo/node.js:799 msgid "Reserved field bytes" msgstr "保留字段位元組" @@ -2702,8 +2751,8 @@ msgstr "保留字段位元組" msgid "Resources management" msgstr "資源管理" -#: htdocs/luci-static/resources/fchomo/listeners.js:615 -#: htdocs/luci-static/resources/view/fchomo/node.js:948 +#: htdocs/luci-static/resources/fchomo/listeners.js:705 +#: htdocs/luci-static/resources/view/fchomo/node.js:1034 msgid "Restls script" msgstr "Restls 劇本" @@ -2717,12 +2766,12 @@ 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:539 +#: htdocs/luci-static/resources/view/fchomo/node.js:474 msgid "Reuse HTTP connections to reduce RTT for each connection establishment." msgstr "重用 HTTP 連接以減少每次建立連接的 RTT。" -#: htdocs/luci-static/resources/view/fchomo/node.js:536 -#: htdocs/luci-static/resources/view/fchomo/node.js:540 +#: htdocs/luci-static/resources/view/fchomo/node.js:471 +#: htdocs/luci-static/resources/view/fchomo/node.js:475 msgid "Reusing a single tunnel to carry multiple target connections within it." msgstr "複用單條隧道使其內部承載多條目標連線。" @@ -2739,10 +2788,10 @@ msgstr "路由 DSCP" msgid "Routing GFW" msgstr "路由 GFW 流量" -#: htdocs/luci-static/resources/fchomo/listeners.js:623 +#: htdocs/luci-static/resources/fchomo/listeners.js:568 #: htdocs/luci-static/resources/view/fchomo/global.js:776 -#: htdocs/luci-static/resources/view/fchomo/node.js:1570 -#: htdocs/luci-static/resources/view/fchomo/node.js:1962 +#: htdocs/luci-static/resources/view/fchomo/node.js:1622 +#: htdocs/luci-static/resources/view/fchomo/node.js:2041 msgid "Routing mark (Fwmark)" msgstr "路由標記 (Fwmark)" @@ -2798,11 +2847,11 @@ msgstr "規則集" msgid "Ruleset-URI-Scheme" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1580 +#: htdocs/luci-static/resources/fchomo.js:1582 msgid "Running" msgstr "正在運作" -#: htdocs/luci-static/resources/fchomo.js:251 +#: htdocs/luci-static/resources/fchomo.js:253 msgid "SMTP" msgstr "" @@ -2810,20 +2859,20 @@ msgstr "" msgid "SOCKS" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:191 +#: htdocs/luci-static/resources/fchomo.js:192 msgid "SOCKS5" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:207 +#: htdocs/luci-static/resources/fchomo.js:209 msgid "SSH" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:252 +#: htdocs/luci-static/resources/fchomo.js:254 msgid "STUN" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:918 -#: htdocs/luci-static/resources/view/fchomo/node.js:1092 +#: htdocs/luci-static/resources/fchomo/listeners.js:978 +#: htdocs/luci-static/resources/view/fchomo/node.js:1132 msgid "STUN servers" msgstr "STUN 伺服器" @@ -2831,20 +2880,20 @@ msgstr "STUN 伺服器" msgid "SUB-RULE" msgstr "SUB-RULE" -#: htdocs/luci-static/resources/view/fchomo/node.js:993 +#: htdocs/luci-static/resources/view/fchomo/node.js:959 msgid "SUoT version" msgstr "SUoT 版本" -#: htdocs/luci-static/resources/fchomo/listeners.js:195 -#: htdocs/luci-static/resources/view/fchomo/node.js:344 +#: htdocs/luci-static/resources/fchomo/listeners.js:485 +#: htdocs/luci-static/resources/view/fchomo/node.js:696 msgid "Salamander" msgstr "Salamander" -#: htdocs/luci-static/resources/fchomo.js:183 +#: htdocs/luci-static/resources/fchomo.js:184 msgid "Same dstaddr requests. Same node" msgstr "相同 目標位址 請求。相同節點" -#: htdocs/luci-static/resources/fchomo.js:184 +#: htdocs/luci-static/resources/fchomo.js:185 msgid "Same srcaddr and dstaddr requests. Same node" msgstr "相同 來源位址 和 目標位址 請求。相同節點" @@ -2857,7 +2906,7 @@ msgstr "" msgid "Segment maximum size" msgstr "分段最大尺寸" -#: htdocs/luci-static/resources/fchomo.js:241 +#: htdocs/luci-static/resources/fchomo.js:243 msgid "Select" msgstr "手動選擇" @@ -2865,7 +2914,7 @@ msgstr "手動選擇" msgid "Select Dashboard" msgstr "選擇面板" -#: htdocs/luci-static/resources/fchomo.js:410 +#: htdocs/luci-static/resources/fchomo.js:412 msgid "Send padding randomly 0-3333 bytes with 50% probability." msgstr "以 50% 的機率發送隨機 0 到 3333 位元組的填充。" @@ -2873,26 +2922,26 @@ msgstr "以 50% 的機率發送隨機 0 到 3333 位元組的填充。" msgid "Send queries to both the %s and the %s." msgstr "同時向%s%s發起查詢。" -#: htdocs/luci-static/resources/fchomo.js:399 -#: htdocs/luci-static/resources/fchomo.js:400 +#: htdocs/luci-static/resources/fchomo.js:401 +#: htdocs/luci-static/resources/fchomo.js:402 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:740 -#: htdocs/luci-static/resources/fchomo/listeners.js:1001 -#: htdocs/luci-static/resources/fchomo/listeners.js:1016 +#: htdocs/luci-static/resources/fchomo/listeners.js:800 +#: htdocs/luci-static/resources/fchomo/listeners.js:1080 +#: htdocs/luci-static/resources/fchomo/listeners.js:1095 #: htdocs/luci-static/resources/view/fchomo/server.js:58 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:62 msgid "Server" msgstr "服務端" -#: htdocs/luci-static/resources/view/fchomo/node.js:256 +#: htdocs/luci-static/resources/view/fchomo/node.js:260 msgid "Server address" msgstr "伺服器位址" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1265 +#: htdocs/luci-static/resources/view/fchomo/node.js:1373 +#: htdocs/luci-static/resources/view/fchomo/node.js:1379 msgid "Server hostname" msgstr "伺服器主機名稱" @@ -2904,27 +2953,32 @@ msgstr "服務端狀態" msgid "Service status" msgstr "服務狀態" +#: htdocs/luci-static/resources/fchomo.js:168 +#: htdocs/luci-static/resources/fchomo.js:205 +msgid "ShadowQUIC" +msgstr "" + #: htdocs/luci-static/resources/fchomo.js:157 -#: htdocs/luci-static/resources/fchomo.js:192 +#: htdocs/luci-static/resources/fchomo.js:193 msgid "Shadowsocks" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:506 -#: htdocs/luci-static/resources/view/fchomo/node.js:653 +#: htdocs/luci-static/resources/fchomo/listeners.js:422 +#: htdocs/luci-static/resources/view/fchomo/node.js:568 msgid "Shadowsocks chipher" msgstr "Shadowsocks 加密方法" -#: htdocs/luci-static/resources/fchomo/listeners.js:501 -#: htdocs/luci-static/resources/view/fchomo/node.js:648 +#: htdocs/luci-static/resources/fchomo/listeners.js:417 +#: htdocs/luci-static/resources/view/fchomo/node.js:563 msgid "Shadowsocks encrypt" msgstr "Shadowsocks 加密" -#: htdocs/luci-static/resources/fchomo/listeners.js:514 -#: htdocs/luci-static/resources/view/fchomo/node.js:661 +#: htdocs/luci-static/resources/fchomo/listeners.js:430 +#: htdocs/luci-static/resources/view/fchomo/node.js:576 msgid "Shadowsocks password" msgstr "Shadowsocks 密碼" -#: htdocs/luci-static/resources/view/fchomo/node.js:1522 +#: htdocs/luci-static/resources/view/fchomo/node.js:1574 msgid "Show connections in the dashboard for breaking connections easier." msgstr "在面板中顯示連線以便於打斷連線。" @@ -2932,18 +2986,18 @@ msgstr "在面板中顯示連線以便於打斷連線。" msgid "Silent" msgstr "靜音" -#: htdocs/luci-static/resources/fchomo.js:182 +#: htdocs/luci-static/resources/fchomo.js:183 msgid "Simple round-robin all nodes" msgstr "簡單輪替所有節點" -#: htdocs/luci-static/resources/view/fchomo/node.js:1775 +#: htdocs/luci-static/resources/view/fchomo/node.js:1841 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:391 msgid "Size limit" msgstr "大小限制" #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1239 +#: htdocs/luci-static/resources/view/fchomo/node.js:2016 msgid "Skip cert verify" msgstr "跳過憑證驗證" @@ -2960,7 +3014,7 @@ msgid "Skiped sniffing src address" msgstr "跳過嗅探來源位址" #: htdocs/luci-static/resources/fchomo.js:160 -#: htdocs/luci-static/resources/fchomo.js:196 +#: htdocs/luci-static/resources/fchomo.js:197 msgid "Snell" msgstr "" @@ -2976,7 +3030,7 @@ msgstr "嗅探器" msgid "Sniffer settings" msgstr "嗅探器設定" -#: htdocs/luci-static/resources/fchomo.js:442 +#: htdocs/luci-static/resources/fchomo.js:444 msgid "Specify a ID" msgstr "指定一個ID" @@ -2995,11 +3049,11 @@ msgstr "堆栈" msgid "Standard" msgstr "標準" -#: htdocs/luci-static/resources/fchomo.js:255 +#: htdocs/luci-static/resources/fchomo.js:257 msgid "Steam Client" msgstr "Steam 客戶端" -#: htdocs/luci-static/resources/fchomo.js:256 +#: htdocs/luci-static/resources/fchomo.js:258 msgid "Steam P2P" msgstr "" @@ -3008,7 +3062,7 @@ msgstr "" msgid "Strategy" msgstr "策略" -#: htdocs/luci-static/resources/fchomo/listeners.js:627 +#: htdocs/luci-static/resources/fchomo/listeners.js:573 #: htdocs/luci-static/resources/view/fchomo/client.js:1388 #: htdocs/luci-static/resources/view/fchomo/client.js:1397 msgid "Sub rule" @@ -3018,7 +3072,7 @@ msgstr "子規則" msgid "Sub rule group" msgstr "子規則組" -#: htdocs/luci-static/resources/fchomo.js:727 +#: htdocs/luci-static/resources/fchomo.js:729 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:231 msgid "Successfully imported %s %s of total %s." msgstr "已成功匯入 %s 個%s (共 %s 個)。" @@ -3027,15 +3081,19 @@ msgstr "已成功匯入 %s 個%s (共 %s 個)。" msgid "Successfully updated." msgstr "更新成功。" -#: htdocs/luci-static/resources/fchomo.js:2082 +#: htdocs/luci-static/resources/fchomo.js:2084 msgid "Successfully uploaded." msgstr "已成功上傳。" #: htdocs/luci-static/resources/fchomo.js:159 -#: htdocs/luci-static/resources/fchomo.js:195 +#: htdocs/luci-static/resources/fchomo.js:196 msgid "Sudoku" msgstr "" +#: htdocs/luci-static/resources/view/fchomo/node.js:732 +msgid "Support %s, default %s." +msgstr "支援 %s,預設 %s。" + #: htdocs/luci-static/resources/view/fchomo/ruleset.js:206 msgid "" "Supports rule-set links of type: %s and format: %s." @@ -3059,15 +3117,15 @@ msgstr "系統 DNS" #: htdocs/luci-static/resources/fchomo.js:162 #: htdocs/luci-static/resources/fchomo.js:163 #: htdocs/luci-static/resources/fchomo.js:164 -#: htdocs/luci-static/resources/fchomo.js:190 -#: htdocs/luci-static/resources/fchomo.js:195 +#: htdocs/luci-static/resources/fchomo.js:191 #: htdocs/luci-static/resources/fchomo.js:196 #: htdocs/luci-static/resources/fchomo.js:197 #: htdocs/luci-static/resources/fchomo.js:198 #: 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:671 +#: htdocs/luci-static/resources/fchomo.js:201 +#: htdocs/luci-static/resources/fchomo.js:209 +#: htdocs/luci-static/resources/fchomo/listeners.js:626 #: htdocs/luci-static/resources/view/fchomo/client.js:606 #: htdocs/luci-static/resources/view/fchomo/client.js:698 msgid "TCP" @@ -3077,7 +3135,7 @@ msgstr "TCP" msgid "TCP concurrency" msgstr "TCP 併發" -#: htdocs/luci-static/resources/view/fchomo/node.js:1515 +#: htdocs/luci-static/resources/view/fchomo/node.js:1567 msgid "TCP only" msgstr "僅 TCP" @@ -3094,95 +3152,96 @@ msgstr "TCP-Keep-Alive 間隔" #: htdocs/luci-static/resources/fchomo.js:157 #: htdocs/luci-static/resources/fchomo.js:158 #: htdocs/luci-static/resources/fchomo.js:167 -#: htdocs/luci-static/resources/fchomo.js:168 #: htdocs/luci-static/resources/fchomo.js:169 -#: htdocs/luci-static/resources/fchomo.js:189 -#: htdocs/luci-static/resources/fchomo.js:191 +#: htdocs/luci-static/resources/fchomo.js:170 +#: htdocs/luci-static/resources/fchomo.js:190 #: htdocs/luci-static/resources/fchomo.js:192 -#: htdocs/luci-static/resources/fchomo.js:194 -#: htdocs/luci-static/resources/fchomo.js:205 +#: htdocs/luci-static/resources/fchomo.js:193 +#: htdocs/luci-static/resources/fchomo.js:195 +#: htdocs/luci-static/resources/fchomo.js:206 msgid "TCP/UDP" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1546 -#: htdocs/luci-static/resources/view/fchomo/node.js:1904 +#: htdocs/luci-static/resources/view/fchomo/node.js:1598 +#: htdocs/luci-static/resources/view/fchomo/node.js:1977 msgid "TFO" msgstr "TCP 快速開啟 (TFO)" -#: htdocs/luci-static/resources/fchomo/listeners.js:583 -#: htdocs/luci-static/resources/fchomo/listeners.js:928 +#: htdocs/luci-static/resources/fchomo/listeners.js:666 +#: htdocs/luci-static/resources/fchomo/listeners.js:988 #: htdocs/luci-static/resources/view/fchomo/global.js:550 -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:455 +#: htdocs/luci-static/resources/view/fchomo/node.js:997 +#: htdocs/luci-static/resources/view/fchomo/node.js:1142 msgid "TLS" msgstr "TLS" -#: htdocs/luci-static/resources/fchomo/listeners.js:995 -#: htdocs/luci-static/resources/view/fchomo/node.js:1133 +#: htdocs/luci-static/resources/fchomo/listeners.js:1035 +#: htdocs/luci-static/resources/view/fchomo/node.js:1173 msgid "TLS ALPN" msgstr "TLS ALPN" -#: htdocs/luci-static/resources/view/fchomo/node.js:1127 +#: htdocs/luci-static/resources/fchomo/listeners.js:1029 +#: htdocs/luci-static/resources/view/fchomo/node.js:1167 msgid "TLS SNI" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:122 -#: htdocs/luci-static/resources/view/fchomo/node.js:236 +#: htdocs/luci-static/resources/fchomo/listeners.js:123 +#: htdocs/luci-static/resources/view/fchomo/node.js:240 msgid "TLS fields" msgstr "TLS欄位" #: htdocs/luci-static/resources/fchomo.js:165 -#: htdocs/luci-static/resources/fchomo.js:203 +#: htdocs/luci-static/resources/fchomo.js:202 msgid "TUIC" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:253 +#: htdocs/luci-static/resources/fchomo.js:255 msgid "TURN" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:553 +#: htdocs/luci-static/resources/fchomo/listeners.js:560 msgid "Target address" msgstr "目標位址" -#: htdocs/luci-static/resources/fchomo/listeners.js:188 +#: htdocs/luci-static/resources/fchomo/listeners.js:478 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:758 -#: htdocs/luci-static/resources/view/fchomo/node.js:766 +#: htdocs/luci-static/resources/view/fchomo/node.js:844 +#: htdocs/luci-static/resources/view/fchomo/node.js:852 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:821 -#: htdocs/luci-static/resources/view/fchomo/node.js:829 +#: htdocs/luci-static/resources/view/fchomo/node.js:757 +#: htdocs/luci-static/resources/view/fchomo/node.js:765 msgid "The %s address used by local machine in the Wireguard network." msgstr "WireGuard 網路中使用的本機 %s 位址。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1016 -#: htdocs/luci-static/resources/view/fchomo/node.js:1214 +#: htdocs/luci-static/resources/fchomo/listeners.js:1095 +#: htdocs/luci-static/resources/view/fchomo/node.js:1262 msgid "The %s private key, in PEM format." msgstr "%s私鑰,需要 PEM 格式。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1001 -#: htdocs/luci-static/resources/fchomo/listeners.js:1039 +#: htdocs/luci-static/resources/fchomo/listeners.js:1080 +#: htdocs/luci-static/resources/fchomo/listeners.js:1118 #: htdocs/luci-static/resources/view/fchomo/global.js:571 -#: htdocs/luci-static/resources/view/fchomo/node.js:1200 +#: htdocs/luci-static/resources/view/fchomo/node.js:1248 msgid "The %s public key, in PEM format." msgstr "%s公鑰,需要 PEM 格式。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1234 +#: htdocs/luci-static/resources/view/fchomo/node.js:1282 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:442 +#: htdocs/luci-static/resources/view/fchomo/node.js:377 msgid "The ED25519 available private key or UUID provided by Sudoku server." msgstr "Sudoku 伺服器提供的 ED25519 可用私鑰 或 UUID。" -#: htdocs/luci-static/resources/fchomo/listeners.js:297 +#: htdocs/luci-static/resources/fchomo/listeners.js:218 msgid "The ED25519 master public key or UUID generated by Sudoku." msgstr "Sudoku 產生的 ED25519 主公鑰 或 UUID。" @@ -3190,14 +3249,14 @@ msgstr "Sudoku 產生的 ED25519 主公鑰 或 UUID。" msgid "The default value is 2:00 every day." msgstr "預設值為每天 2:00。" -#: htdocs/luci-static/resources/view/fchomo/node.js:975 +#: htdocs/luci-static/resources/view/fchomo/node.js:941 msgid "" "The default value is %s, indicating that only the outer " "connection timeout is used." msgstr "預設值為%s,表示僅使用外層連線逾時。" -#: htdocs/luci-static/resources/fchomo/listeners.js:772 -#: htdocs/luci-static/resources/view/fchomo/node.js:1049 +#: htdocs/luci-static/resources/fchomo/listeners.js:832 +#: htdocs/luci-static/resources/view/fchomo/node.js:1089 msgid "" "The first padding must have a probability of 100% and at least 35 bytes." msgstr "首個填充必須為 100% 的機率並且至少 35 位元組。" @@ -3212,26 +3271,30 @@ msgstr "匹配 %s 的將被視為未被投毒汙染。" msgid "The matching %s will be deemed as poisoned." msgstr "匹配 %s 的將被視為已被投毒汙染。" -#: htdocs/luci-static/resources/fchomo/listeners.js:770 -#: htdocs/luci-static/resources/view/fchomo/node.js:1047 +#: htdocs/luci-static/resources/fchomo/listeners.js:713 +msgid "The proxy used to connect to the handshake target." +msgstr "用於連接握手目標的代理。" + +#: htdocs/luci-static/resources/fchomo/listeners.js:830 +#: htdocs/luci-static/resources/view/fchomo/node.js:1087 msgid "The server and client can set different padding parameters." msgstr "伺服器和客戶端可以設定不同的填充參數。" -#: htdocs/luci-static/resources/fchomo/listeners.js:1097 +#: htdocs/luci-static/resources/fchomo/listeners.js:1176 #: 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:1670 -#: htdocs/luci-static/resources/view/fchomo/node.js:1194 -#: htdocs/luci-static/resources/view/fchomo/node.js:1940 +#: htdocs/luci-static/resources/view/fchomo/node.js:1242 +#: htdocs/luci-static/resources/view/fchomo/node.js:2019 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:599 +#: htdocs/luci-static/resources/view/fchomo/node.js:628 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." @@ -3263,33 +3326,33 @@ msgstr "Tproxy Fwmark/fwmask" msgid "Tproxy port" msgstr "Tproxy 連接埠" -#: htdocs/luci-static/resources/fchomo/listeners.js:285 -#: htdocs/luci-static/resources/view/fchomo/node.js:434 +#: htdocs/luci-static/resources/fchomo/listeners.js:206 +#: htdocs/luci-static/resources/view/fchomo/node.js:369 msgid "Traffic pattern" msgstr "流量模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:2109 +#: htdocs/luci-static/resources/view/fchomo/node.js:2188 msgid "Transit proxy group" msgstr "中轉代理組" -#: htdocs/luci-static/resources/view/fchomo/node.js:2120 +#: htdocs/luci-static/resources/view/fchomo/node.js:2199 msgid "Transit proxy node" msgstr "中轉代理節點" -#: htdocs/luci-static/resources/fchomo/listeners.js:273 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:194 +#: htdocs/luci-static/resources/fchomo/listeners.js:1229 +#: htdocs/luci-static/resources/view/fchomo/node.js:346 +#: htdocs/luci-static/resources/view/fchomo/node.js:1326 msgid "Transport" msgstr "傳輸層" -#: htdocs/luci-static/resources/fchomo/listeners.js:123 -#: htdocs/luci-static/resources/view/fchomo/node.js:237 +#: htdocs/luci-static/resources/fchomo/listeners.js:124 +#: htdocs/luci-static/resources/view/fchomo/node.js:241 msgid "Transport fields" msgstr "傳輸層欄位" -#: htdocs/luci-static/resources/fchomo/listeners.js:1153 -#: htdocs/luci-static/resources/view/fchomo/node.js:1281 +#: htdocs/luci-static/resources/fchomo/listeners.js:1234 +#: htdocs/luci-static/resources/view/fchomo/node.js:1331 msgid "Transport type" msgstr "傳輸層類型" @@ -3298,16 +3361,16 @@ msgid "Treat the destination IP as the source IP." msgstr "將 目標 IP 視為 來源 IP。" #: htdocs/luci-static/resources/fchomo.js:163 -#: htdocs/luci-static/resources/fchomo.js:199 +#: htdocs/luci-static/resources/fchomo.js:200 msgid "Trojan" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:168 -#: htdocs/luci-static/resources/fchomo.js:205 +#: htdocs/luci-static/resources/fchomo.js:169 +#: htdocs/luci-static/resources/fchomo.js:206 msgid "TrustTunnel" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:243 +#: htdocs/luci-static/resources/fchomo/listeners.js:533 msgid "Trusted proxy header" msgstr "可信代理 Header" @@ -3327,35 +3390,37 @@ msgstr "Tun 設定" msgid "Tun stack." msgstr "Tun 堆栈" -#: htdocs/luci-static/resources/fchomo.js:169 +#: htdocs/luci-static/resources/fchomo.js:170 msgid "Tunnel" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:142 +#: htdocs/luci-static/resources/fchomo/listeners.js:143 #: htdocs/luci-static/resources/view/fchomo/client.js:533 #: 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:1712 -#: htdocs/luci-static/resources/view/fchomo/node.js:2070 +#: htdocs/luci-static/resources/view/fchomo/node.js:254 +#: htdocs/luci-static/resources/view/fchomo/node.js:1778 +#: htdocs/luci-static/resources/view/fchomo/node.js:2149 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:285 msgid "Type" msgstr "類型" #: htdocs/luci-static/resources/fchomo.js:165 #: htdocs/luci-static/resources/fchomo.js:166 +#: htdocs/luci-static/resources/fchomo.js:168 #: htdocs/luci-static/resources/fchomo.js:202 -#: 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:672 -#: htdocs/luci-static/resources/fchomo/listeners.js:677 +#: htdocs/luci-static/resources/fchomo.js:205 +#: htdocs/luci-static/resources/fchomo.js:207 +#: htdocs/luci-static/resources/fchomo.js:208 +#: htdocs/luci-static/resources/fchomo/listeners.js:627 +#: htdocs/luci-static/resources/fchomo/listeners.js:632 #: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:947 +#: htdocs/luci-static/resources/view/fchomo/node.js:1987 msgid "UDP" msgstr "UDP" @@ -3363,42 +3428,43 @@ msgstr "UDP" msgid "UDP NAT expiration time" msgstr "UDP NAT 過期時間" -#: htdocs/luci-static/resources/view/fchomo/node.js:598 +#: htdocs/luci-static/resources/view/fchomo/node.js:627 +#: htdocs/luci-static/resources/view/fchomo/node.js:738 msgid "UDP over stream" msgstr "UDP over stream" -#: htdocs/luci-static/resources/view/fchomo/node.js:604 +#: htdocs/luci-static/resources/view/fchomo/node.js:633 msgid "UDP over stream version" msgstr "UDP over stream 版本" -#: htdocs/luci-static/resources/view/fchomo/node.js:591 +#: htdocs/luci-static/resources/view/fchomo/node.js:620 msgid "UDP packet relay mode." msgstr "UDP 包中繼模式。" -#: htdocs/luci-static/resources/view/fchomo/node.js:590 +#: htdocs/luci-static/resources/view/fchomo/node.js:619 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:466 -#: htdocs/luci-static/resources/view/fchomo/node.js:467 +#: htdocs/luci-static/resources/fchomo/listeners.js:294 +#: htdocs/luci-static/resources/fchomo/listeners.js:295 +#: htdocs/luci-static/resources/view/fchomo/node.js:401 +#: htdocs/luci-static/resources/view/fchomo/node.js:402 msgid "UP: %s; DOWN: %s" msgstr "上傳: %s; 下載: %s" -#: htdocs/luci-static/resources/fchomo.js:243 +#: htdocs/luci-static/resources/fchomo.js:245 msgid "URL test" msgstr "自動選擇" -#: htdocs/luci-static/resources/fchomo/listeners.js:294 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:215 +#: htdocs/luci-static/resources/fchomo/listeners.js:395 +#: htdocs/luci-static/resources/fchomo/listeners.js:445 +#: htdocs/luci-static/resources/view/fchomo/node.js:513 +#: htdocs/luci-static/resources/view/fchomo/node.js:607 msgid "UUID" msgstr "UUID" -#: htdocs/luci-static/resources/fchomo.js:1625 +#: htdocs/luci-static/resources/fchomo.js:1627 msgid "Unable to download unsupported type: %s" msgstr "無法下載不支援的類型: %s" @@ -3423,8 +3489,8 @@ msgstr "未知錯誤。" msgid "Unknown error: %s" msgstr "未知錯誤:%s" -#: htdocs/luci-static/resources/view/fchomo/node.js:987 -#: htdocs/luci-static/resources/view/fchomo/node.js:1919 +#: htdocs/luci-static/resources/view/fchomo/node.js:953 +#: htdocs/luci-static/resources/view/fchomo/node.js:1992 msgid "UoT" msgstr "UDP over TCP (UoT)" @@ -3432,24 +3498,24 @@ msgstr "UDP over TCP (UoT)" msgid "Update failed." msgstr "更新失敗。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1781 +#: htdocs/luci-static/resources/view/fchomo/node.js:1847 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:397 msgid "Update interval" msgstr "更新間隔" -#: htdocs/luci-static/resources/fchomo/listeners.js:1248 -#: htdocs/luci-static/resources/view/fchomo/node.js:1533 +#: htdocs/luci-static/resources/fchomo/listeners.js:1331 +#: htdocs/luci-static/resources/view/fchomo/node.js:1585 msgid "Upload bandwidth" msgstr "上傳頻寬" -#: htdocs/luci-static/resources/fchomo/listeners.js:1249 -#: htdocs/luci-static/resources/view/fchomo/node.js:1534 +#: htdocs/luci-static/resources/fchomo/listeners.js:1332 +#: htdocs/luci-static/resources/view/fchomo/node.js:1586 msgid "Upload bandwidth in Mbps." msgstr "上傳頻寬(單位:Mbps)。" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1086 +#: htdocs/luci-static/resources/fchomo/listeners.js:1126 +#: htdocs/luci-static/resources/view/fchomo/node.js:1253 msgid "Upload certificate" msgstr "上傳憑證" @@ -3457,23 +3523,23 @@ msgstr "上傳憑證" msgid "Upload initial package" msgstr "上傳初始資源包" -#: htdocs/luci-static/resources/fchomo/listeners.js:1022 -#: htdocs/luci-static/resources/view/fchomo/node.js:1219 +#: htdocs/luci-static/resources/fchomo/listeners.js:1101 +#: htdocs/luci-static/resources/view/fchomo/node.js:1267 msgid "Upload key" msgstr "上傳金鑰" -#: 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/fchomo/listeners.js:1089 +#: htdocs/luci-static/resources/fchomo/listeners.js:1104 +#: htdocs/luci-static/resources/fchomo/listeners.js:1129 #: htdocs/luci-static/resources/view/fchomo/global.js:306 -#: htdocs/luci-static/resources/view/fchomo/node.js:1208 -#: htdocs/luci-static/resources/view/fchomo/node.js:1222 +#: htdocs/luci-static/resources/view/fchomo/node.js:1256 +#: htdocs/luci-static/resources/view/fchomo/node.js:1270 msgid "Upload..." msgstr "上傳..." -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:278 +#: htdocs/luci-static/resources/view/fchomo/node.js:285 +#: htdocs/luci-static/resources/view/fchomo/node.js:296 msgid "Use sub rule" msgstr "使用子規則" @@ -3497,7 +3563,8 @@ msgstr "用於解析 DNS 伺服器的網域。必須是 IP。" msgid "Used to resolve the domain of the Proxy node." msgstr "用於解析代理節點的網域。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1128 +#: htdocs/luci-static/resources/view/fchomo/node.js:1234 +#: htdocs/luci-static/resources/view/fchomo/node.js:2011 msgid "Used to verify the hostname on the returned certificates." msgstr "用於驗證傳回的憑證上的主機名稱。" @@ -3505,12 +3572,14 @@ msgstr "用於驗證傳回的憑證上的主機名稱。" msgid "User Authentication" msgstr "使用者認證" -#: htdocs/luci-static/resources/fchomo/listeners.js:280 +#: htdocs/luci-static/resources/fchomo/listeners.js:201 msgid "User-hint is mandatory" msgstr "User-hint 是必填項" -#: htdocs/luci-static/resources/fchomo/listeners.js:161 -#: htdocs/luci-static/resources/view/fchomo/node.js:301 +#: htdocs/luci-static/resources/fchomo/listeners.js:162 +#: htdocs/luci-static/resources/fchomo/listeners.js:685 +#: htdocs/luci-static/resources/view/fchomo/node.js:305 +#: htdocs/luci-static/resources/view/fchomo/node.js:1008 msgid "Username" msgstr "使用者名稱" @@ -3518,51 +3587,51 @@ msgstr "使用者名稱" msgid "Users filter mode" msgstr "使用者過濾模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:1390 +#: htdocs/luci-static/resources/view/fchomo/node.js:1442 msgid "V2ray HTTPUpgrade" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1395 +#: htdocs/luci-static/resources/view/fchomo/node.js:1447 msgid "V2ray HTTPUpgrade fast open" msgstr "" #: htdocs/luci-static/resources/fchomo.js:162 -#: htdocs/luci-static/resources/fchomo.js:198 +#: htdocs/luci-static/resources/fchomo.js:199 msgid "VLESS" msgstr "" #: htdocs/luci-static/resources/fchomo.js:161 -#: htdocs/luci-static/resources/fchomo.js:197 +#: htdocs/luci-static/resources/fchomo.js:198 msgid "VMess" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1718 -#: htdocs/luci-static/resources/view/fchomo/node.js:2076 +#: htdocs/luci-static/resources/view/fchomo/node.js:1784 +#: htdocs/luci-static/resources/view/fchomo/node.js:2155 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:328 msgid "Value" msgstr "可視化值" -#: htdocs/luci-static/resources/fchomo.js:372 +#: htdocs/luci-static/resources/fchomo.js:374 msgid "Verify if given" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:463 -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:384 +#: htdocs/luci-static/resources/fchomo/listeners.js:697 +#: htdocs/luci-static/resources/view/fchomo/node.js:497 +#: htdocs/luci-static/resources/view/fchomo/node.js:1020 msgid "Version" msgstr "版本" -#: htdocs/luci-static/resources/view/fchomo/node.js:942 +#: htdocs/luci-static/resources/view/fchomo/node.js:1028 msgid "Version hint" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:120 -#: htdocs/luci-static/resources/view/fchomo/node.js:234 +#: htdocs/luci-static/resources/fchomo/listeners.js:121 +#: htdocs/luci-static/resources/view/fchomo/node.js:238 msgid "Vless Encryption fields" msgstr "Vless Encryption 欄位" -#: htdocs/luci-static/resources/fchomo.js:409 +#: htdocs/luci-static/resources/fchomo.js:411 msgid "Wait a random 0-111 milliseconds with 75% probability." msgstr "以 75% 的機率等待隨機 0-111 毫秒。" @@ -3570,16 +3639,16 @@ msgstr "以 75% 的機率等待隨機 0-111 毫秒。" msgid "Warning" msgstr "警告" -#: htdocs/luci-static/resources/fchomo/listeners.js:441 -#: 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:1297 -#: htdocs/luci-static/resources/view/fchomo/node.js:1304 -#: htdocs/luci-static/resources/view/fchomo/node.js:1310 +#: htdocs/luci-static/resources/fchomo/listeners.js:362 +#: htdocs/luci-static/resources/fchomo/listeners.js:1236 +#: htdocs/luci-static/resources/fchomo/listeners.js:1247 +#: htdocs/luci-static/resources/fchomo/listeners.js:1254 +#: htdocs/luci-static/resources/view/fchomo/node.js:451 +#: htdocs/luci-static/resources/view/fchomo/node.js:480 +#: htdocs/luci-static/resources/view/fchomo/node.js:1336 +#: htdocs/luci-static/resources/view/fchomo/node.js:1349 +#: htdocs/luci-static/resources/view/fchomo/node.js:1356 +#: htdocs/luci-static/resources/view/fchomo/node.js:1362 msgid "WebSocket" msgstr "" @@ -3591,52 +3660,52 @@ msgstr "用作服務端時,HomeProxy 是更好的選擇。" msgid "White list" msgstr "白名單" -#: htdocs/luci-static/resources/fchomo.js:206 +#: htdocs/luci-static/resources/fchomo.js:207 msgid "WireGuard" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:843 +#: htdocs/luci-static/resources/view/fchomo/node.js:779 msgid "WireGuard peer public key." msgstr "WireGuard 對端公鑰。" -#: htdocs/luci-static/resources/view/fchomo/node.js:850 +#: htdocs/luci-static/resources/view/fchomo/node.js:786 msgid "WireGuard pre-shared key." msgstr "WireGuard 預先共用金鑰。" -#: htdocs/luci-static/resources/view/fchomo/node.js:835 +#: htdocs/luci-static/resources/view/fchomo/node.js:771 msgid "WireGuard requires base64-encoded private keys." msgstr "WireGuard 要求 base64 編碼的私鑰。" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1237 +#: htdocs/luci-static/resources/fchomo/listeners.js:1248 +#: htdocs/luci-static/resources/view/fchomo/node.js:1337 +#: htdocs/luci-static/resources/view/fchomo/node.js:1357 msgid "XHTTP" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1201 -#: htdocs/luci-static/resources/view/fchomo/node.js:1400 +#: htdocs/luci-static/resources/fchomo/listeners.js:1284 +#: htdocs/luci-static/resources/view/fchomo/node.js:1452 msgid "XHTTP mode" msgstr "XHTTP 模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:1431 +#: htdocs/luci-static/resources/view/fchomo/node.js:1483 msgid "XMUX" msgstr "" -#: 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 +#: htdocs/luci-static/resources/view/fchomo/node.js:1488 +#: htdocs/luci-static/resources/view/fchomo/node.js:1493 +#: htdocs/luci-static/resources/view/fchomo/node.js:1498 +#: htdocs/luci-static/resources/view/fchomo/node.js:1503 +#: htdocs/luci-static/resources/view/fchomo/node.js:1508 +#: htdocs/luci-static/resources/view/fchomo/node.js:1513 msgid "XMUX:" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:731 +#: htdocs/luci-static/resources/fchomo/listeners.js:791 msgid "XOR mode" msgstr "XOR 模式" -#: htdocs/luci-static/resources/view/fchomo/node.js:737 +#: htdocs/luci-static/resources/view/fchomo/node.js:558 msgid "Xudp (Xray-core)" msgstr "" @@ -3644,7 +3713,7 @@ msgstr "" msgid "Yaml text" msgstr "Yaml 格式文本" -#: htdocs/luci-static/resources/view/fchomo/node.js:1943 +#: htdocs/luci-static/resources/view/fchomo/node.js:2022 msgid "Yes" msgstr "" @@ -3652,31 +3721,31 @@ msgstr "" msgid "YouTube" msgstr "YouTube" -#: htdocs/luci-static/resources/fchomo.js:2064 +#: htdocs/luci-static/resources/fchomo.js:2066 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:717 +#: htdocs/luci-static/resources/fchomo.js:347 +#: htdocs/luci-static/resources/fchomo.js:360 +#: htdocs/luci-static/resources/fchomo.js:365 +#: htdocs/luci-static/resources/view/fchomo/node.js:538 msgid "aes-128-gcm" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:346 +#: htdocs/luci-static/resources/fchomo.js:348 msgid "aes-192-gcm" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:347 -#: htdocs/luci-static/resources/fchomo.js:364 +#: htdocs/luci-static/resources/fchomo.js:349 +#: htdocs/luci-static/resources/fchomo.js:366 msgid "aes-256-gcm" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1803 +#: htdocs/luci-static/resources/view/fchomo/node.js:1869 msgid "age private key" msgstr "age 私鑰" -#: htdocs/luci-static/resources/view/fchomo/node.js:1864 +#: htdocs/luci-static/resources/view/fchomo/node.js:1930 msgid "age public key" msgstr "age 公鑰" @@ -3688,7 +3757,7 @@ msgstr "" msgid "age-x25519" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:714 +#: htdocs/luci-static/resources/view/fchomo/node.js:535 msgid "auto" msgstr "自動" @@ -3696,19 +3765,19 @@ msgstr "自動" msgid "bbr" msgstr "bbr" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:1091 +#: htdocs/luci-static/resources/fchomo/listeners.js:1131 +#: htdocs/luci-static/resources/view/fchomo/node.js:1258 msgid "certificate" msgstr "憑證" -#: htdocs/luci-static/resources/fchomo.js:348 -#: htdocs/luci-static/resources/fchomo.js:359 -#: htdocs/luci-static/resources/fchomo.js:365 +#: htdocs/luci-static/resources/fchomo.js:350 +#: htdocs/luci-static/resources/fchomo.js:361 +#: htdocs/luci-static/resources/fchomo.js:367 msgid "chacha20-ietf-poly1305" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:718 +#: htdocs/luci-static/resources/view/fchomo/node.js:539 msgid "chacha20-poly1305" msgstr "" @@ -3716,8 +3785,8 @@ msgstr "" msgid "cubic" msgstr "cubic" -#: htdocs/luci-static/resources/fchomo/listeners.js:683 -#: htdocs/luci-static/resources/fchomo/listeners.js:714 +#: htdocs/luci-static/resources/fchomo/listeners.js:743 +#: htdocs/luci-static/resources/fchomo/listeners.js:774 msgid "decryption" msgstr "decryption" @@ -3725,41 +3794,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:1931 +#: htdocs/luci-static/resources/view/fchomo/node.js:2004 msgid "down" msgstr "Hysteria 下載速率" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:778 +#: htdocs/luci-static/resources/view/fchomo/node.js:1041 +#: htdocs/luci-static/resources/view/fchomo/node.js:1064 msgid "encryption" msgstr "encryption" -#: htdocs/luci-static/resources/fchomo/listeners.js:425 -#: htdocs/luci-static/resources/view/fchomo/node.js:500 +#: htdocs/luci-static/resources/fchomo/listeners.js:346 +#: htdocs/luci-static/resources/view/fchomo/node.js:435 msgid "false = bandwidth optimized downlink; true = pure Sudoku downlink." msgstr "false = 頻寬最佳化下行 true = 純 Sudoku 下行。" -#: 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:1296 -#: htdocs/luci-static/resources/view/fchomo/node.js:1303 -#: htdocs/luci-static/resources/view/fchomo/node.js:1309 +#: htdocs/luci-static/resources/fchomo/listeners.js:1235 +#: htdocs/luci-static/resources/fchomo/listeners.js:1246 +#: htdocs/luci-static/resources/fchomo/listeners.js:1253 +#: htdocs/luci-static/resources/view/fchomo/node.js:1335 +#: htdocs/luci-static/resources/view/fchomo/node.js:1348 +#: htdocs/luci-static/resources/view/fchomo/node.js:1355 +#: htdocs/luci-static/resources/view/fchomo/node.js:1361 msgid "gRPC" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1366 +#: htdocs/luci-static/resources/view/fchomo/node.js:1418 msgid "gRPC User-Agent" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1371 +#: htdocs/luci-static/resources/view/fchomo/node.js:1423 msgid "gRPC ping interval" msgstr "gRPC ping 間隔" -#: htdocs/luci-static/resources/fchomo/listeners.js:1195 -#: htdocs/luci-static/resources/view/fchomo/node.js:1362 +#: htdocs/luci-static/resources/fchomo/listeners.js:1278 +#: htdocs/luci-static/resources/view/fchomo/node.js:1414 msgid "gRPC service name" msgstr "gRPC 服務名稱" @@ -3767,23 +3836,28 @@ msgstr "gRPC 服務名稱" msgid "gVisor" msgstr "gVisor" -#: htdocs/luci-static/resources/view/fchomo/node.js:781 +#: htdocs/luci-static/resources/view/fchomo/node.js:867 msgid "h2" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1478 +#: htdocs/luci-static/resources/view/fchomo/node.js:1530 msgid "h2mux" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:779 +#: htdocs/luci-static/resources/view/fchomo/node.js:865 msgid "h3" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:780 +#: htdocs/luci-static/resources/view/fchomo/node.js:866 msgid "h3-l4proxy" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:883 +#: htdocs/luci-static/resources/fchomo/listeners.js:647 +#: htdocs/luci-static/resources/view/fchomo/node.js:978 +msgid "jls" +msgstr "" + +#: htdocs/luci-static/resources/fchomo/listeners.js:943 msgid "least one keypair required" msgstr "至少需要一對密鑰" @@ -3797,17 +3871,17 @@ msgstr "metacubexd" #: 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/node.js:1750 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:247 msgid "mihomo config" msgstr "mihomo 配置" -#: htdocs/luci-static/resources/fchomo.js:391 +#: htdocs/luci-static/resources/fchomo.js:393 msgid "mlkem768x25519plus" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1551 -#: htdocs/luci-static/resources/view/fchomo/node.js:1909 +#: htdocs/luci-static/resources/view/fchomo/node.js:1603 +#: htdocs/luci-static/resources/view/fchomo/node.js:1982 msgid "mpTCP" msgstr "多路徑 TCP (mpTCP)" @@ -3819,20 +3893,18 @@ msgstr "new_reno" msgid "no-resolve" msgstr "no-resolve" -#: 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 +#: htdocs/luci-static/resources/fchomo.js:1801 +#: htdocs/luci-static/resources/fchomo.js:1896 +#: htdocs/luci-static/resources/fchomo.js:1931 +#: htdocs/luci-static/resources/fchomo.js:1959 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: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/fchomo.js:345 +#: htdocs/luci-static/resources/fchomo.js:359 +#: htdocs/luci-static/resources/fchomo.js:371 +#: htdocs/luci-static/resources/view/fchomo/node.js:536 +#: htdocs/luci-static/resources/view/fchomo/node.js:556 #: htdocs/luci-static/resources/view/fchomo/ruleset.js:324 msgid "none" msgstr "無" @@ -3845,47 +3917,51 @@ msgstr "未找到" msgid "not included \",\"" msgstr "不包含 \",\"" -#: htdocs/luci-static/resources/fchomo.js:229 -#: htdocs/luci-static/resources/fchomo/listeners.js:629 -#: htdocs/luci-static/resources/fchomo/listeners.js:632 +#: htdocs/luci-static/resources/fchomo.js:231 +#: htdocs/luci-static/resources/fchomo/listeners.js:575 +#: htdocs/luci-static/resources/fchomo/listeners.js:578 msgid "null" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:644 +#: htdocs/luci-static/resources/fchomo/listeners.js:654 +#: htdocs/luci-static/resources/view/fchomo/node.js:973 +#: htdocs/luci-static/resources/view/fchomo/node.js:985 msgid "obfs-simple" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:547 +#: htdocs/luci-static/resources/view/fchomo/node.js:482 msgid "only applies when %s is %s." msgstr "僅當 %s 為 %s 時適用。" -#: htdocs/luci-static/resources/view/fchomo/node.js:545 +#: htdocs/luci-static/resources/view/fchomo/node.js:480 msgid "only applies when %s is not %s." msgstr "僅當 %s 不為 %s 時適用。" -#: htdocs/luci-static/resources/view/fchomo/node.js:1889 +#: htdocs/luci-static/resources/view/fchomo/node.js:1963 +msgid "override.override-expr" +msgstr "" + +#: htdocs/luci-static/resources/view/fchomo/node.js:1955 msgid "override.proxy-name" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:736 +#: htdocs/luci-static/resources/view/fchomo/node.js:557 msgid "packet addr (v2ray-core v5+)" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1205 -#: htdocs/luci-static/resources/view/fchomo/node.js:1404 +#: htdocs/luci-static/resources/fchomo/listeners.js:1288 +#: htdocs/luci-static/resources/view/fchomo/node.js:1456 msgid "packet-up" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:439 -#: htdocs/luci-static/resources/view/fchomo/node.js:514 +#: htdocs/luci-static/resources/fchomo/listeners.js:360 +#: htdocs/luci-static/resources/view/fchomo/node.js:449 msgid "poll" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1027 -#: htdocs/luci-static/resources/view/fchomo/node.js:1224 +#: htdocs/luci-static/resources/fchomo/listeners.js:1106 +#: htdocs/luci-static/resources/view/fchomo/node.js:1272 msgid "private key" msgstr "私鑰" @@ -3898,8 +3974,8 @@ msgstr "razord-meta" msgid "requires front-end adaptation using the API." msgstr "需要使用 API 的前端適配。" -#: htdocs/luci-static/resources/fchomo/listeners.js:564 -#: htdocs/luci-static/resources/view/fchomo/node.js:898 +#: htdocs/luci-static/resources/fchomo/listeners.js:646 +#: htdocs/luci-static/resources/view/fchomo/node.js:977 msgid "restls" msgstr "" @@ -3907,19 +3983,19 @@ msgstr "" msgid "rule-set" msgstr "規則集" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:645 +#: htdocs/luci-static/resources/fchomo/listeners.js:655 +#: htdocs/luci-static/resources/view/fchomo/node.js:976 +#: htdocs/luci-static/resources/view/fchomo/node.js:986 msgid "shadow-tls" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:1476 +#: htdocs/luci-static/resources/view/fchomo/node.js:1528 msgid "smux" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:438 -#: htdocs/luci-static/resources/view/fchomo/node.js:513 +#: htdocs/luci-static/resources/fchomo/listeners.js:359 +#: htdocs/luci-static/resources/view/fchomo/node.js:448 msgid "split-stream" msgstr "" @@ -3927,25 +4003,25 @@ msgstr "" msgid "src" msgstr "src" -#: htdocs/luci-static/resources/fchomo/listeners.js:1203 -#: htdocs/luci-static/resources/view/fchomo/node.js:1402 +#: htdocs/luci-static/resources/fchomo/listeners.js:1286 +#: htdocs/luci-static/resources/view/fchomo/node.js:1454 msgid "stream-one" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1204 -#: htdocs/luci-static/resources/view/fchomo/node.js:1403 +#: htdocs/luci-static/resources/fchomo/listeners.js:1287 +#: htdocs/luci-static/resources/view/fchomo/node.js:1455 msgid "stream-up" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:1220 +#: htdocs/luci-static/resources/fchomo/listeners.js:1303 msgid "stream-up server seconds" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:547 +#: htdocs/luci-static/resources/view/fchomo/node.js:482 msgid "stream/poll/auto" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:293 +#: htdocs/luci-static/resources/fchomo/listeners.js:214 msgid "sudoku-keypair" msgstr "" @@ -3953,100 +4029,100 @@ msgstr "" msgid "unchecked" msgstr "未檢查" -#: htdocs/luci-static/resources/fchomo.js:455 +#: htdocs/luci-static/resources/fchomo.js:457 msgid "unique UCI identifier" msgstr "獨立 UCI 識別" -#: htdocs/luci-static/resources/fchomo.js:458 +#: htdocs/luci-static/resources/fchomo.js:460 msgid "unique identifier" msgstr "獨立標識" -#: htdocs/luci-static/resources/fchomo.js:1966 +#: htdocs/luci-static/resources/fchomo.js:1968 msgid "unique value" msgstr "獨立值" -#: htdocs/luci-static/resources/view/fchomo/node.js:1925 +#: htdocs/luci-static/resources/view/fchomo/node.js:1998 msgid "up" msgstr "Hysteria 上傳速率" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:385 +#: htdocs/luci-static/resources/fchomo/listeners.js:698 +#: htdocs/luci-static/resources/view/fchomo/node.js:498 +#: htdocs/luci-static/resources/view/fchomo/node.js:634 +#: htdocs/luci-static/resources/view/fchomo/node.js:960 +#: htdocs/luci-static/resources/view/fchomo/node.js:1021 msgid "v1" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:386 +#: htdocs/luci-static/resources/fchomo/listeners.js:699 +#: htdocs/luci-static/resources/view/fchomo/node.js:499 +#: htdocs/luci-static/resources/view/fchomo/node.js:961 +#: htdocs/luci-static/resources/view/fchomo/node.js:1022 msgid "v2" msgstr "" -#: 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 +#: htdocs/luci-static/resources/fchomo/listeners.js:387 +#: htdocs/luci-static/resources/fchomo/listeners.js:700 +#: htdocs/luci-static/resources/view/fchomo/node.js:500 +#: htdocs/luci-static/resources/view/fchomo/node.js:1023 msgid "v3" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:467 -#: htdocs/luci-static/resources/view/fchomo/node.js:566 +#: htdocs/luci-static/resources/fchomo/listeners.js:388 +#: htdocs/luci-static/resources/view/fchomo/node.js:501 msgid "v4" msgstr "" -#: htdocs/luci-static/resources/fchomo/listeners.js:468 -#: htdocs/luci-static/resources/view/fchomo/node.js:567 +#: htdocs/luci-static/resources/fchomo/listeners.js:389 +#: htdocs/luci-static/resources/view/fchomo/node.js:502 msgid "v5" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1846 -#: htdocs/luci-static/resources/fchomo.js:1849 +#: htdocs/luci-static/resources/fchomo.js:1848 +#: htdocs/luci-static/resources/fchomo.js:1851 msgid "valid JSON format" msgstr "有效的 JSON 格式" -#: htdocs/luci-static/resources/view/fchomo/node.js:1184 +#: htdocs/luci-static/resources/view/fchomo/node.js:1226 msgid "valid SHA256 string with %d characters" msgstr "包含 %d 個字元的有效 SHA256 字串" -#: htdocs/luci-static/resources/fchomo.js:1871 -#: htdocs/luci-static/resources/fchomo.js:1874 +#: htdocs/luci-static/resources/fchomo.js:1873 +#: htdocs/luci-static/resources/fchomo.js:1876 msgid "valid URL" msgstr "有效網址" -#: htdocs/luci-static/resources/fchomo.js:1884 +#: htdocs/luci-static/resources/fchomo.js:1886 msgid "valid base64 key with %d characters" msgstr "包含 %d 個字元的有效 base64 金鑰" -#: htdocs/luci-static/resources/fchomo.js:1944 -#: htdocs/luci-static/resources/fchomo.js:1950 +#: htdocs/luci-static/resources/fchomo.js:1946 +#: htdocs/luci-static/resources/fchomo.js:1952 msgid "valid format: 2x, 2p, 4v" msgstr "有效格式: 2x, 2p, 4v" -#: htdocs/luci-static/resources/fchomo.js:1931 +#: htdocs/luci-static/resources/fchomo.js:1933 msgid "valid key length with %d characters" msgstr "包含 %d 個字元的有效金鑰" -#: htdocs/luci-static/resources/fchomo.js:1809 +#: htdocs/luci-static/resources/fchomo.js:1811 msgid "valid port value" msgstr "有效連接埠值" -#: htdocs/luci-static/resources/fchomo.js:1859 +#: htdocs/luci-static/resources/fchomo.js:1861 msgid "valid uuid" msgstr "有效 uuid" -#: htdocs/luci-static/resources/fchomo.js:415 +#: htdocs/luci-static/resources/fchomo.js:417 msgid "vless-mlkem768" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:414 +#: htdocs/luci-static/resources/fchomo.js:416 msgid "vless-x25519" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:349 +#: htdocs/luci-static/resources/fchomo.js:351 msgid "xchacha20-ietf-poly1305" msgstr "" @@ -4054,7 +4130,7 @@ msgstr "" msgid "yacd-meta" msgstr "yacd-meta" -#: htdocs/luci-static/resources/view/fchomo/node.js:1477 +#: htdocs/luci-static/resources/view/fchomo/node.js:1529 msgid "yamux" msgstr "" @@ -4062,91 +4138,10 @@ msgstr "" msgid "zashboard" msgstr "" -#: htdocs/luci-static/resources/view/fchomo/node.js:716 +#: htdocs/luci-static/resources/view/fchomo/node.js:537 msgid "zero" msgstr "" -#: htdocs/luci-static/resources/fchomo.js:1627 +#: htdocs/luci-static/resources/fchomo.js:1629 msgid "🡇" msgstr "" - -#~ msgid "API routing mark (SO_MARK)" -#~ msgstr "API 路由標記 (SO_MARK)" - -#~ msgid "Listen routing mark (SO_MARK)" -#~ msgstr "監聽路由標記 (SO_MARK)" - -#~ msgid "Routing mark (SO_MARK)" -#~ msgstr "路由標記 (SO_MARK)" - -#~ msgid "Edit node" -#~ msgstr "編輯節點" - -#~ msgid "Routing mark" -#~ msgstr "路由標記" - -#~ msgid "Obfuscated as ASCII data stream" -#~ msgstr "混淆為 ASCII 資料流" - -#~ msgid "Obfuscated as low-entropy data stream" -#~ msgstr "混淆為低熵資料流" - -#~ msgid "QUIC congestion controller." -#~ msgstr "QUIC 壅塞控制器。" - -#~ msgid "" -#~ "Uplink keeps the Sudoku protocol, and downlink characteristics are " -#~ "consistent with uplink characteristics." -#~ msgstr "上行鏈路保持數獨協議,下行鏈路特性與上行鏈路特性一致。" - -#~ msgid "" -#~ "When disabled, downlink ciphertext is split into 6-bit segments, reusing " -#~ "the original padding pool and obfuscate type to reduce downlink overhead." -#~ msgstr "" -#~ "停用後,下行密文將分成 6 位元片段,重複使用原始填充池和混淆類型,以減少下" -#~ "行開銷。" - -#~ msgid "Global client fingerprint" -#~ msgstr "全域客戶端指紋" - -#~ msgid "Google FCM ports" -#~ msgstr "Google FCM 連接埠" - -#~ msgid "SMTP ports" -#~ msgstr "SMTP 連接埠" - -#~ msgid "STUN ports" -#~ msgstr "STUN 連接埠" - -#~ msgid "Steam P2P ports" -#~ msgstr "Steam P2P 連接埠" - -#~ msgid "TURN ports" -#~ msgstr "TURN 連接埠" - -#~ msgid "Chain head" -#~ msgstr "鏈頭" - -#~ msgid "Chain tail" -#~ msgstr "鏈尾" - -#~ msgid "Keep consistent with the %s." -#~ msgstr "與%s保持一致" - -#~ msgid "Recommended to use UoT node.
such as %s." -#~ msgstr "建議使用 UoT 節點。
例如%s。" - -#~ msgid "Seed" -#~ msgstr "種子" - -#~ msgid "Default" -#~ msgstr "預設" - -#~ msgid "%s Provider of type '%s' need to be filled in manually." -#~ msgstr "%s 個類型為「%s」的供應商需要手動填寫內容。" - -#~ msgid "%s rule-set of type '%s' need to be filled in manually." -#~ msgstr "%s 個類型為「%s」的規則集需要手動填寫內容。" - -#~ msgid "Option is deprecated, please use the same option in proxy node." -#~ msgstr "該選項已棄用,請在代理節點中使用相同的選項。" diff --git a/luci-app-fchomo/root/etc/uci-defaults/99_luci-app-fchomo-migration_inbound b/luci-app-fchomo/root/etc/uci-defaults/99_luci-app-fchomo-migration_inbound new file mode 100755 index 00000000..2c4557a7 --- /dev/null +++ b/luci-app-fchomo/root/etc/uci-defaults/99_luci-app-fchomo-migration_inbound @@ -0,0 +1,41 @@ +#!/bin/sh +# Migration script for fchomo inbound +# Used to migrate LuCI application inbound option. + +. /lib/functions.sh +. /usr/share/libubox/jshn.sh + +CONF=fchomo + +config_load "$CONF" + +# isDefined