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"
@@ -167,12 +167,12 @@ msgstr ""
msgid "API secret"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:371
-#: htdocs/luci-static/resources/fchomo/listeners.js:373
-#: htdocs/luci-static/resources/fchomo/listeners.js:374
-#: htdocs/luci-static/resources/view/fchomo/node.js:464
-#: 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:292
+#: htdocs/luci-static/resources/fchomo/listeners.js:294
+#: htdocs/luci-static/resources/fchomo/listeners.js:295
+#: htdocs/luci-static/resources/view/fchomo/node.js:399
+#: htdocs/luci-static/resources/view/fchomo/node.js:401
+#: htdocs/luci-static/resources/view/fchomo/node.js:402
msgid "ASCII data stream"
msgstr ""
@@ -197,7 +197,7 @@ msgstr ""
msgid "Add a DNS server"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:228
+#: htdocs/luci-static/resources/view/fchomo/node.js:231
msgid "Add a Node"
msgstr ""
@@ -205,11 +205,11 @@ msgstr ""
msgid "Add a inbound"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1595
+#: htdocs/luci-static/resources/view/fchomo/node.js:1647
msgid "Add a provider"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2056
+#: htdocs/luci-static/resources/view/fchomo/node.js:2135
msgid "Add a proxy chain"
msgstr ""
@@ -233,11 +233,11 @@ msgstr ""
msgid "Add a sub rule"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1878
+#: htdocs/luci-static/resources/view/fchomo/node.js:1944
msgid "Add prefix"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1882
+#: htdocs/luci-static/resources/view/fchomo/node.js:1948
msgid "Add suffix"
msgstr ""
@@ -246,7 +246,7 @@ msgstr ""
msgid "Address"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:408
+#: htdocs/luci-static/resources/fchomo.js:410
msgid ""
"After the 1-RTT client/server hello, padding randomly 111-1111 bytes with "
"100% probability."
@@ -266,7 +266,7 @@ msgstr ""
msgid "All allowed"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:248
+#: htdocs/luci-static/resources/fchomo.js:250
msgid "All ports"
msgstr ""
@@ -276,11 +276,11 @@ msgid ""
"network from a public website, it must be enabled."
msgstr ""
-#: 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 ""
@@ -292,13 +292,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 ""
#: htdocs/luci-static/resources/fchomo.js:164
-#: htdocs/luci-static/resources/fchomo.js:200
+#: htdocs/luci-static/resources/fchomo.js:201
msgid "AnyTLS"
msgstr ""
@@ -315,24 +315,24 @@ msgstr ""
msgid "As the TOP upstream of dnsmasq."
msgstr ""
-#: 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 ""
@@ -344,8 +344,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 ""
@@ -353,11 +353,11 @@ msgstr ""
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 ""
-#: 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 ""
@@ -379,13 +379,13 @@ msgid "Binary mrs"
msgstr ""
#: 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 ""
@@ -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 "仅限 0 或 1。"
-#: 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"
@@ -176,12 +176,12 @@ msgstr "API 路由标记 (Fwmark)"
msgid "API secret"
msgstr "API 令牌"
-#: htdocs/luci-static/resources/fchomo/listeners.js:371
-#: htdocs/luci-static/resources/fchomo/listeners.js:373
-#: htdocs/luci-static/resources/fchomo/listeners.js:374
-#: htdocs/luci-static/resources/view/fchomo/node.js:464
-#: 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:292
+#: htdocs/luci-static/resources/fchomo/listeners.js:294
+#: htdocs/luci-static/resources/fchomo/listeners.js:295
+#: htdocs/luci-static/resources/view/fchomo/node.js:399
+#: htdocs/luci-static/resources/view/fchomo/node.js:401
+#: htdocs/luci-static/resources/view/fchomo/node.js:402
msgid "ASCII data stream"
msgstr "ASCII 数据流"
@@ -206,7 +206,7 @@ msgstr "新增 DNS 策略"
msgid "Add a DNS server"
msgstr "新增 DNS 服务器"
-#: htdocs/luci-static/resources/view/fchomo/node.js:228
+#: htdocs/luci-static/resources/view/fchomo/node.js:231
msgid "Add a Node"
msgstr "新增 节点"
@@ -214,11 +214,11 @@ msgstr "新增 节点"
msgid "Add a inbound"
msgstr "新增 入站"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1595
+#: htdocs/luci-static/resources/view/fchomo/node.js:1647
msgid "Add a provider"
msgstr "新增 供应商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2056
+#: htdocs/luci-static/resources/view/fchomo/node.js:2135
msgid "Add a proxy chain"
msgstr "新增 代理链"
@@ -242,11 +242,11 @@ msgstr "新增 服务器"
msgid "Add a sub rule"
msgstr "新增 子规则"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1878
+#: htdocs/luci-static/resources/view/fchomo/node.js:1944
msgid "Add prefix"
msgstr "添加前缀"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1882
+#: htdocs/luci-static/resources/view/fchomo/node.js:1948
msgid "Add suffix"
msgstr "添加后缀"
@@ -255,7 +255,7 @@ msgstr "添加后缀"
msgid "Address"
msgstr "地址"
-#: htdocs/luci-static/resources/fchomo.js:408
+#: htdocs/luci-static/resources/fchomo.js:410
msgid ""
"After the 1-RTT client/server hello, padding randomly 111-1111 bytes with "
"100% probability."
@@ -276,7 +276,7 @@ msgstr "客户端维护的 NAT 映射 的老化时间。"
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。支持 yaml 或 json 格式。"
-#: 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"
"a>."
-#: 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 "僅限 0 或 1。"
-#: 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"
@@ -176,12 +176,12 @@ msgstr "API 路由標記 (Fwmark)"
msgid "API secret"
msgstr "API 令牌"
-#: htdocs/luci-static/resources/fchomo/listeners.js:371
-#: htdocs/luci-static/resources/fchomo/listeners.js:373
-#: htdocs/luci-static/resources/fchomo/listeners.js:374
-#: htdocs/luci-static/resources/view/fchomo/node.js:464
-#: 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:292
+#: htdocs/luci-static/resources/fchomo/listeners.js:294
+#: htdocs/luci-static/resources/fchomo/listeners.js:295
+#: htdocs/luci-static/resources/view/fchomo/node.js:399
+#: htdocs/luci-static/resources/view/fchomo/node.js:401
+#: htdocs/luci-static/resources/view/fchomo/node.js:402
msgid "ASCII data stream"
msgstr "ASCII 資料流"
@@ -206,7 +206,7 @@ msgstr "新增 DNS 策略"
msgid "Add a DNS server"
msgstr "新增 DNS 伺服器"
-#: htdocs/luci-static/resources/view/fchomo/node.js:228
+#: htdocs/luci-static/resources/view/fchomo/node.js:231
msgid "Add a Node"
msgstr "新增 節點"
@@ -214,11 +214,11 @@ msgstr "新增 節點"
msgid "Add a inbound"
msgstr "新增 入站"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1595
+#: htdocs/luci-static/resources/view/fchomo/node.js:1647
msgid "Add a provider"
msgstr "新增 供應商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2056
+#: htdocs/luci-static/resources/view/fchomo/node.js:2135
msgid "Add a proxy chain"
msgstr "新增 代理鏈"
@@ -242,11 +242,11 @@ msgstr "新增 伺服器"
msgid "Add a sub rule"
msgstr "新增 子規則"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1878
+#: htdocs/luci-static/resources/view/fchomo/node.js:1944
msgid "Add prefix"
msgstr "添加前綴"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1882
+#: htdocs/luci-static/resources/view/fchomo/node.js:1948
msgid "Add suffix"
msgstr "添加後綴"
@@ -255,7 +255,7 @@ msgstr "添加後綴"
msgid "Address"
msgstr "位址"
-#: htdocs/luci-static/resources/fchomo.js:408
+#: htdocs/luci-static/resources/fchomo.js:410
msgid ""
"After the 1-RTT client/server hello, padding randomly 111-1111 bytes with "
"100% probability."
@@ -276,7 +276,7 @@ msgstr "客戶端維護的 NAT 映射 的老化時間。"
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。支援 yaml 或 json 格式。"
-#: 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"
"a>."
-#: 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