diff --git a/airconnect/Makefile b/airconnect/Makefile
index 2b7cbdc4..15bb9ce6 100644
--- a/airconnect/Makefile
+++ b/airconnect/Makefile
@@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=airconnect
-PKG_VERSION:=1.10.1
+PKG_VERSION:=1.11.1
PKG_RELEASE=1
PKG_SOURCE:=AirConnect-$(PKG_VERSION).zip
diff --git a/daed/Makefile b/daed/Makefile
index c3fe926e..8b94e6ae 100644
--- a/daed/Makefile
+++ b/daed/Makefile
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=daed
PKG_VERSION:=2026.08.03
-PKG_RELEASE:=40
+PKG_RELEASE:=41
PKG_SOURCE:=daed-src-2026.08.03-5f7939adc12a.tar.gz
PKG_SOURCE_URL:=https://github.com/kenzok8/openwrt-daede/releases/download/daed-src
diff --git a/daed/patches/0007-bound-scheduled-subscription-update.patch b/daed/patches/0007-bound-scheduled-subscription-update.patch
new file mode 100644
index 00000000..1dc2c38a
--- /dev/null
+++ b/daed/patches/0007-bound-scheduled-subscription-update.patch
@@ -0,0 +1,24 @@
+diff --git a/graphql/service/subscription/mutation_utils.go b/graphql/service/subscription/mutation_utils.go
+index e01a342..c6bc3e1 100644
+--- a/graphql/service/subscription/mutation_utils.go
++++ b/graphql/service/subscription/mutation_utils.go
+@@ -171,6 +171,8 @@ func AutoUpdateVersionByIds(d *gorm.DB, ids []uint) (err error) {
+ return nil
+ }
+
++const scheduledUpdateTimeout = 3 * time.Minute
++
+ var (
+ schedulerCache = make(map[uint]*gocron.Scheduler)
+ schedulerMu sync.RWMutex
+@@ -224,7 +226,9 @@ func AddUpdateScheduler(ctx context.Context, id uint) {
+ }
+ logrus.Info("Subscription " + tag + " update task enabled, with exp " + sub.CronExp)
+ _, err := s.Cron(sub.CronExp).Do(func() {
+- if _, err := UpdateById(context.Background(), sub.ID); err != nil {
++ ctx, cancel := context.WithTimeout(context.Background(), scheduledUpdateTimeout)
++ defer cancel()
++ if _, err := UpdateById(ctx, sub.ID); err != nil {
+ logrus.Error(err)
+ }
+ })
diff --git a/luci-app-arcadia/Makefile b/luci-app-arcadia/Makefile
index 3e4bc1ad..24b7704f 100644
--- a/luci-app-arcadia/Makefile
+++ b/luci-app-arcadia/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.0-r20250610
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.0-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for arcadia
LUCI_PKGARCH:=all
diff --git a/luci-app-arcadia/luasrc/model/cbi/arcadia.lua b/luci-app-arcadia/luasrc/model/cbi/arcadia.lua
index 6595a767..3acdc165 100644
--- a/luci-app-arcadia/luasrc/model/cbi/arcadia.lua
+++ b/luci-app-arcadia/luasrc/model/cbi/arcadia.lua
@@ -24,7 +24,7 @@ s = m:section(TypedSection, "arcadia", translate("Setup"),
s.addremove=false
s.anonymous=true
-o = s:option(Value, "image", translate("Image"))
+o = s:option(Value, "image", translate("Docker Image"))
o.datatype = "string"
o:value("", translate("Default"))
o:value("supermanito/arcadia:beta", "supermanito/arcadia:beta")
diff --git a/luci-app-arcadia/po/zh-cn/arcadia.po b/luci-app-arcadia/po/zh-cn/arcadia.po
index d2ce07ad..bc840a9d 100644
--- a/luci-app-arcadia/po/zh-cn/arcadia.po
+++ b/luci-app-arcadia/po/zh-cn/arcadia.po
@@ -16,7 +16,7 @@ msgstr "项目基于 TypeScript 全栈开发,采用了众多前沿技术,前
msgid "The initial username and password are 'useradmin' and 'passwd' respectively."
msgstr "初始的用户名和密码分别是'useradmin'和'passwd'。"
-msgid "Image"
+msgid "Docker Image"
msgstr "镜像"
msgid "Default"
diff --git a/luci-app-chinesesubfinder/Makefile b/luci-app-chinesesubfinder/Makefile
index 00c2b5b9..9e992bae 100644
--- a/luci-app-chinesesubfinder/Makefile
+++ b/luci-app-chinesesubfinder/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.3-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.3-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for ChineseSubFinder
LUCI_PKGARCH:=all
diff --git a/luci-app-chinesesubfinder/luasrc/model/cbi/chinesesubfinder.lua b/luci-app-chinesesubfinder/luasrc/model/cbi/chinesesubfinder.lua
index 48ae2ba5..d28010c4 100644
--- a/luci-app-chinesesubfinder/luasrc/model/cbi/chinesesubfinder.lua
+++ b/luci-app-chinesesubfinder/luasrc/model/cbi/chinesesubfinder.lua
@@ -28,7 +28,7 @@ o.rmempty = false
o.default = "19037"
o.datatype = "string"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("allanpk716/chinesesubfinder:latest-lite", "allanpk716/chinesesubfinder:latest-lite")
diff --git a/luci-app-chinesesubfinder/po/zh-cn/chinesesubfinder.po b/luci-app-chinesesubfinder/po/zh-cn/chinesesubfinder.po
index a51b41b1..67cd0a8a 100644
--- a/luci-app-chinesesubfinder/po/zh-cn/chinesesubfinder.po
+++ b/luci-app-chinesesubfinder/po/zh-cn/chinesesubfinder.po
@@ -10,6 +10,9 @@ msgstr "ChineseSubFinder是一个自动化中文字幕下载工具。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "HTTP Port"
msgstr "HTTP 端口"
diff --git a/luci-app-codeserver/Makefile b/luci-app-codeserver/Makefile
index 6cd3ddea..ed03b842 100644
--- a/luci-app-codeserver/Makefile
+++ b/luci-app-codeserver/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.2-r20251011
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.2-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for CodeServer
LUCI_PKGARCH:=all
diff --git a/luci-app-codeserver/luasrc/model/cbi/codeserver/config.lua b/luci-app-codeserver/luasrc/model/cbi/codeserver/config.lua
index 7aa882ac..25abef36 100644
--- a/luci-app-codeserver/luasrc/model/cbi/codeserver/config.lua
+++ b/luci-app-codeserver/luasrc/model/cbi/codeserver/config.lua
@@ -22,7 +22,7 @@ o = s:option(Value, "http_port", translate("HTTP Port").."*")
o.default = "8085"
o.datatype = "string"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("lscr.io/linuxserver/code-server:latest", "lscr.io/linuxserver/code-server:latest")
diff --git a/luci-app-codeserver/po/zh-cn/codeserver.po b/luci-app-codeserver/po/zh-cn/codeserver.po
index e0ae9a15..b20b8453 100644
--- a/luci-app-codeserver/po/zh-cn/codeserver.po
+++ b/luci-app-codeserver/po/zh-cn/codeserver.po
@@ -10,6 +10,9 @@ msgstr "CodeServer 就一个在线版本的 VSCode,可以在线开发。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "HTTP Port"
msgstr "HTTP 端口"
diff --git a/luci-app-control-timewol/Makefile b/luci-app-control-timewol/Makefile
index 24959d18..0dfff2a4 100644
--- a/luci-app-control-timewol/Makefile
+++ b/luci-app-control-timewol/Makefile
@@ -9,7 +9,7 @@ LUCI_TITLE:=LuCI support for Timewol
LUCI_DEPENDS:=+etherwake
LUCI_PKGARCH:=all
PKG_VERSION:=1.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
include $(TOPDIR)/feeds/luci/luci.mk
diff --git a/luci-app-control-timewol/root/etc/uci-defaults/luci-app-control-timewol b/luci-app-control-timewol/root/etc/uci-defaults/luci-app-control-timewol
deleted file mode 100644
index 026b112d..00000000
--- a/luci-app-control-timewol/root/etc/uci-defaults/luci-app-control-timewol
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-[ ! -f "/usr/share/ucitrack/luci-app-luci_app_control_timewol.json" ] && {
- cat > /usr/share/ucitrack/luci-app-luci_app_control_timewol.json << EEOF
-{
- "config": "luci_app_control_timewol",
- "init": "luci_app_control_timewol"
-}
-EEOF
-}
-
-uci -q batch <<-EOF >/dev/null
- delete ucitrack.@luci_app_control_timewol[-1]
- add ucitrack luci_app_control_timewol
- set ucitrack.@luci_app_control_timewol[-1].init=luci-app-control-timewol
- commit ucitrack
-EOF
-
-rm -rf /tmp/luci-*cache
-exit 0
diff --git a/luci-app-control-webrestriction/Makefile b/luci-app-control-webrestriction/Makefile
index 7fa9a05a..c8756701 100644
--- a/luci-app-control-webrestriction/Makefile
+++ b/luci-app-control-webrestriction/Makefile
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI support for Webrestriction
LUCI_PKGARCH:=all
PKG_VERSION:=1.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
include $(TOPDIR)/feeds/luci/luci.mk
diff --git a/luci-app-control-webrestriction/root/etc/uci-defaults/luci-app-control-webrestriction b/luci-app-control-webrestriction/root/etc/uci-defaults/luci-app-control-webrestriction
deleted file mode 100644
index d8df1ee7..00000000
--- a/luci-app-control-webrestriction/root/etc/uci-defaults/luci-app-control-webrestriction
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-[ ! -f "/usr/share/ucitrack/luci-app-luci_app_control_webrestriction.json" ] && {
- cat > /usr/share/ucitrack/luci-app-luci_app_control_webrestriction.json << EEOF
-{
- "config": "luci_app_control_webrestriction",
- "init": "luci_app_control_webrestriction"
-}
-EEOF
-}
-
-uci -q batch <<-EOF >/dev/null
- delete ucitrack.@luci_app_control_webrestriction[-1]
- add ucitrack luci_app_control_webrestriction
- set ucitrack.@luci_app_control_webrestriction[-1].init=luci-app-control-webrestriction
- commit ucitrack
-EOF
-
-rm -rf /tmp/luci-*cache
-exit 0
diff --git a/luci-app-control-weburl/Makefile b/luci-app-control-weburl/Makefile
index f488f858..99bb93d5 100644
--- a/luci-app-control-weburl/Makefile
+++ b/luci-app-control-weburl/Makefile
@@ -9,7 +9,7 @@ LUCI_TITLE:=LuCI support for Weburl
LUCI_DEPENDS:=+iptables-mod-filter +kmod-ipt-filter
LUCI_PKGARCH:=all
PKG_VERSION:=1.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
include $(TOPDIR)/feeds/luci/luci.mk
diff --git a/luci-app-control-weburl/root/etc/uci-defaults/luci-app-control-weburl b/luci-app-control-weburl/root/etc/uci-defaults/luci-app-control-weburl
deleted file mode 100644
index 21343c87..00000000
--- a/luci-app-control-weburl/root/etc/uci-defaults/luci-app-control-weburl
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-[ ! -f "/usr/share/ucitrack/luci-app-luci_app_control_weburl.json" ] && {
- cat > /usr/share/ucitrack/luci-app-luci_app_control_weburl.json << EEOF
-{
- "config": "luci_app_control_weburl",
- "init": "luci_app_control_weburl"
-}
-EEOF
-}
-
-uci -q batch <<-EOF >/dev/null
- delete ucitrack.@luci_app_control_weburl[-1]
- add ucitrack luci_app_control_weburl
- set ucitrack.@luci_app_control_weburl[-1].init=luci-app-control-weburl
- commit ucitrack
-EOF
-
-rm -rf /tmp/luci-*cache
-exit 0
diff --git a/luci-app-demon/Makefile b/luci-app-demon/Makefile
index 6508edc9..c2a0ef42 100644
--- a/luci-app-demon/Makefile
+++ b/luci-app-demon/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.2.0-r20250625
-PKG_RELEASE:=4
+PKG_VERSION:=1.2.0-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for demon
LUCI_PKGARCH:=all
diff --git a/luci-app-demon/luasrc/model/cbi/demon.lua b/luci-app-demon/luasrc/model/cbi/demon.lua
index 6fda6a3d..5c80f1da 100644
--- a/luci-app-demon/luasrc/model/cbi/demon.lua
+++ b/luci-app-demon/luasrc/model/cbi/demon.lua
@@ -21,7 +21,7 @@ o = s:option(Value, "port", translate("Port").."*")
o.default = "18888"
o.datatype = "port"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("images-cluster.xycloud.com/wxedge/amd64-wxedge:3.5.1-CTWXKS1748570956", "images-cluster.xycloud.com/wxedge/amd64-wxedge:3.5.1-CTWXKS1748570956")
diff --git a/luci-app-demon/po/zh-cn/demon.po b/luci-app-demon/po/zh-cn/demon.po
index 6bce0bbd..b9512de7 100644
--- a/luci-app-demon/po/zh-cn/demon.po
+++ b/luci-app-demon/po/zh-cn/demon.po
@@ -7,6 +7,9 @@ msgstr "容器魔王"
msgid "Cache path"
msgstr "缓存文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Service Status"
msgstr "服务状态"
diff --git a/luci-app-dpanel/Makefile b/luci-app-dpanel/Makefile
index cac0e48a..8a761aa7 100644
--- a/luci-app-dpanel/Makefile
+++ b/luci-app-dpanel/Makefile
@@ -2,9 +2,8 @@
include $(TOPDIR)/rules.mk
-# Updated: 2025-10-09
-PKG_VERSION:=1.0.0-r20251009
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.0-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for DPanel
LUCI_PKGARCH:=all
diff --git a/luci-app-dpanel/luasrc/model/cbi/dpanel.lua b/luci-app-dpanel/luasrc/model/cbi/dpanel.lua
index 014a1881..135d09ce 100644
--- a/luci-app-dpanel/luasrc/model/cbi/dpanel.lua
+++ b/luci-app-dpanel/luasrc/model/cbi/dpanel.lua
@@ -35,7 +35,7 @@ o = s:option(Value, "port", translate("Port").."*")
o.default = "8807"
o.datatype = "port"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("dpanel/dpanel:lite", "dpanel/dpanel:lite")
diff --git a/luci-app-dpanel/po/zh-cn/dpanel.po b/luci-app-dpanel/po/zh-cn/dpanel.po
index 87adc2d0..eabb153f 100644
--- a/luci-app-dpanel/po/zh-cn/dpanel.po
+++ b/luci-app-dpanel/po/zh-cn/dpanel.po
@@ -10,7 +10,7 @@ msgstr "DPanel — 轻量级仪表盘服务。"
msgid "DPanel"
msgstr "DPanel"
-msgid "Image"
+msgid "Docker Image"
msgstr "镜像"
msgid "Config path"
diff --git a/luci-app-emby/Makefile b/luci-app-emby/Makefile
index c8c0144f..a963ade9 100644
--- a/luci-app-emby/Makefile
+++ b/luci-app-emby/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.3-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.3-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for Emby
LUCI_PKGARCH:=all
diff --git a/luci-app-emby/luasrc/model/cbi/emby.lua b/luci-app-emby/luasrc/model/cbi/emby.lua
index 5d6c0713..88662fd3 100644
--- a/luci-app-emby/luasrc/model/cbi/emby.lua
+++ b/luci-app-emby/luasrc/model/cbi/emby.lua
@@ -27,7 +27,7 @@ o.default = "8097"
o.datatype = "port"
o:depends("hostnet", 0)
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("emby/embyserver", "emby/embyserver")
diff --git a/luci-app-emby/po/zh-cn/emby.po b/luci-app-emby/po/zh-cn/emby.po
index c277ceb4..13d39ad2 100644
--- a/luci-app-emby/po/zh-cn/emby.po
+++ b/luci-app-emby/po/zh-cn/emby.po
@@ -10,6 +10,9 @@ msgstr "Emby 是一个多媒体串流平台。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "HTTP Port"
msgstr "HTTP 端口"
diff --git a/luci-app-excalidraw/Makefile b/luci-app-excalidraw/Makefile
index 8d3ef963..7306455f 100644
--- a/luci-app-excalidraw/Makefile
+++ b/luci-app-excalidraw/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.0-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.0-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for Excalidraw
LUCI_PKGARCH:=all
diff --git a/luci-app-excalidraw/luasrc/model/cbi/excalidraw.lua b/luci-app-excalidraw/luasrc/model/cbi/excalidraw.lua
index ae627551..46c1474b 100644
--- a/luci-app-excalidraw/luasrc/model/cbi/excalidraw.lua
+++ b/luci-app-excalidraw/luasrc/model/cbi/excalidraw.lua
@@ -35,7 +35,7 @@ o = s:option(Value, "port", translate("Port").."*")
o.default = "8090"
o.datatype = "port"
-o = s:option(Value, "image_ver", translate("Image").."*")
+o = s:option(Value, "image_ver", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o.default = "v0.13.0"
diff --git a/luci-app-excalidraw/po/zh-cn/excalidraw.po b/luci-app-excalidraw/po/zh-cn/excalidraw.po
index c53acb83..e1ccb0cc 100644
--- a/luci-app-excalidraw/po/zh-cn/excalidraw.po
+++ b/luci-app-excalidraw/po/zh-cn/excalidraw.po
@@ -13,6 +13,9 @@ msgstr "Excalidraw 是支持多人协同的私有化在线画板工具。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Port"
msgstr "端口"
diff --git a/luci-app-fchomo/Makefile b/luci-app-fchomo/Makefile
index 0f8a828d..b68e3cc9 100644
--- a/luci-app-fchomo/Makefile
+++ b/luci-app-fchomo/Makefile
@@ -20,6 +20,7 @@ PKG_NAME:=luci-app-fchomo
define Package/luci-app-fchomo/conffiles
/etc/config/fchomo
/etc/fchomo/certs/
+/etc/fchomo/node/
/etc/fchomo/provider/
/etc/fchomo/ruleset/
/etc/fchomo/resources/
diff --git a/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js b/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js
index 62ccaed8..7eb45277 100644
--- a/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js
+++ b/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js
@@ -204,7 +204,9 @@ const outbound_type = [
['hysteria2', _('Hysteria2') + ' - ' + _('UDP')],
['shadowquic', _('ShadowQUIC') + ' - ' + _('UDP')],
['trusttunnel', _('TrustTunnel') + ' - ' + _('TCP/UDP')],
+ ['zerotier', _('ZeroTier') + ' - ' + _('UDP') + ' - ' + _('L2')], // Endpoint
['wireguard', _('WireGuard') + ' - ' + _('UDP')], // Endpoint
+ ['tailscale', _('Tailscale') + ' - ' + _('UDP')], // Endpoint
['masque', _('Masque') + ' - ' + _('UDP')], // Endpoint // https://blog.cloudflare.com/post-quantum-warp/
['ssh', _('SSH') + ' - ' + _('TCP')]
];
@@ -1879,6 +1881,18 @@ function validateUrl(section_id, value) {
return true;
}
+function validateHexstr(length, section_id, value) {
+ if (!value)
+ return true;
+
+ length /= 4; // Convert bits to hex characters
+ const regexp = new RegExp(`^[0-9a-fA-F]{${length}}$`);
+ if (!value.match(regexp))
+ return _('Expecting: %s').format(_('valid hex string with %d characters').format(length));
+
+ return true;
+}
+
function validateBase64Key(length, section_id, value) {
/* Thanks to luci-proto-wireguard */
if (value)
@@ -1986,15 +2000,15 @@ function lsDir(type) {
});
}
-function readFile(type, filename) {
+function readFile(type, filename, isbinary) {
const callReadFile = rpc.declare({
object: 'luci.fchomo',
method: 'file_read',
- params: ['type', 'filename'],
+ params: ['type', 'filename', 'isbinary'],
expect: { '': {} }
});
- return L.resolveDefault(callReadFile(type, filename), {}).then((res) => {
+ return L.resolveDefault(callReadFile(type, filename, isbinary), {}).then((res) => {
if (res.content ?? true) {
return res.content;
} else
@@ -2002,15 +2016,15 @@ function readFile(type, filename) {
});
}
-function writeFile(type, filename, content) {
+function writeFile(type, filename, content, isbinary) {
const callWriteFile = rpc.declare({
object: 'luci.fchomo',
method: 'file_write',
- params: ['type', 'filename', 'content'],
+ params: ['type', 'filename', 'content', 'isbinary'],
expect: { '': {} }
});
- return L.resolveDefault(callWriteFile(type, filename, content), {}).then((res) => {
+ return L.resolveDefault(callWriteFile(type, filename, content, isbinary), {}).then((res) => {
if (res.result) {
return res.result;
} else
@@ -2182,6 +2196,7 @@ return baseclass.extend({
validateUUID,
validateUrl,
// validate with bind this
+ validateHexstr,
validateBase64Key,
validateMTLSClientAuth,
validatePresetIDs,
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 c1d71718..430fbb6e 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
@@ -232,6 +232,19 @@ return view.extend({
ss.hm_prefmt = hm.glossary[ss.sectiontype].prefmt;
ss.hm_field = hm.glossary[ss.sectiontype].field;
ss.hm_lowcase_only = true;
+ /* Remove idle files start */
+ ss.renderSectionAdd = function(/* ... */) {
+ let el = hm.GridSection.prototype.renderSectionAdd.apply(this, arguments);
+
+ el.appendChild(E('button', {
+ 'class': 'cbi-button cbi-button-add',
+ 'title': _('Remove idles'),
+ 'click': ui.createHandlerFn(this, hm.handleRemoveIdles)
+ }, [ _('Remove idles') ]));
+
+ return el;
+ }
+ /* Remove idle files end */
ss.tab('field_general', _('General fields'));
ss.tab('field_plugin', _('Plugin fields'));
@@ -261,12 +274,12 @@ return view.extend({
so = ss.taboption('field_general', form.Value, 'server', _('Server address'));
so.datatype = 'host';
so.rmempty = false;
- so.depends({type: /^(rematch|direct)$/, '!reverse': true});
+ so.depends({type: /^(rematch|direct|zerotier|tailscale)$/, '!reverse': true});
so = ss.taboption('field_general', form.Value, 'port', _('Port'));
so.datatype = 'port';
so.rmempty = false;
- so.depends({type: /^(rematch|direct|mieru)$/, '!reverse': true});
+ so.depends({type: /^(rematch|direct|mieru|zerotier|tailscale)$/, '!reverse': true});
/* Rematch fields */
// https://github.com/MetaCubeX/mihomo/pull/2862
@@ -782,15 +795,131 @@ return view.extend({
so.depends('type', 'trusttunnel');
so.modalonly = true;
+ /* ZeroTier fields */
+ so = ss.taboption('field_general', form.Value, 'zerotier_network_id', 'Network ID');
+ so.placeholder = '0123456789abcdef';
+ so.validate = L.bind(hm.validateHexstr, so, 64);
+ so.rmempty = false;
+ so.depends('type', 'zerotier');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.Value, 'zerotier_trace_target', _('Remote trace target'),
+ _('%s of the %s used to receiving remote debugging log.').format('Node ID', 'Node'));
+ so.placeholder = '0123456789';
+ so.validate = L.bind(hm.validateHexstr, so, 40);
+ so.depends('type', 'zerotier');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.ListValue, 'zerotier_trace_level', _('Remote trace level'));
+ so.value('0', _('Normal'));
+ so.value('10', _('Verbose'));
+ so.value('15', _('Rules'));
+ so.value('20', _('Debug'));
+ so.value('30', _('Insane'));
+ so.depends({zerotier_trace_target: /.+/});
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.Value, 'zerotier_physical_mtu', _('Physical MTU'),
+ _('ZeroTier UDP payload MTU.'));
+ so.datatype = 'range(510, 10324)';
+ so.placeholder = '1432';
+ so.depends('type', 'zerotier');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.Flag, 'zerotier_low_bandwidth', _('Low Bandwidth Mode'),
+ _('Reduces background traffic and network configuration refresh frequency.'));
+ so.default = so.disabled;
+ so.depends('type', 'zerotier');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.Flag, 'zerotier_encrypted_hello', _('Encrypted Hello'),
+ _('Use protocol-13 extended encryption for outgoing HELLO packets.'));
+ so.default = so.disabled;
+ so.depends('type', 'zerotier');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.RichListValue, 'zerotier_fallback_mode', _('Fallback mode'));
+ so.value('auto', _('Auto'), _('Uses relay after UDP direct failure.'));
+ so.value('force', _('Force'), _('Uses TCP relay only.'));
+ so.value('disable', _('Disable'), _('Turns TCP relay off.'));
+ so.depends('type', 'zerotier');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.Value, 'zerotier_fallback_relay', _('Fallback relay'));
+ so.datatype = 'hostport';
+ so.placeholder = '204.80.128.1:443';
+ so.depends('type', 'zerotier');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.TextValue, 'zerotier_planet_file', 'Planet file',
+ _('Used to replace the built-in official %s.').format('Earth Planet file'));
+ so.placeholder = _('Add the base64 text of the planet file here.');
+ so.load = function(section_id) {
+ const vaule = form.TextValue.prototype.load.apply(this, arguments);
+
+ if (vaule)
+ return L.resolveDefault(hm.readFile(this.section.sectiontype, section_id + '/planet', '1'), '');
+ else
+ return vaule;
+ }
+ so.write = function(section_id, formvalue) {
+ form.TextValue.prototype.write.call(this, section_id, '1');
+
+ return hm.writeFile.call(this, this.section.sectiontype, section_id + '/planet', formvalue, '1');
+ }
+ so.remove = function(section_id) {
+ form.TextValue.prototype.remove.apply(this, arguments);
+
+ return hm.removeFile.call(this, this.section.sectiontype, section_id + '/planet');
+ }
+ so.depends('type', 'zerotier');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.DynamicList, 'zerotier_orbit', 'Orbit',
+ _('Join %s. Format: %s').format('Moons', '000000<10-digit Moon World ID>:<10-digit Node ID of one Moon Root server>...'));
+ so.placeholder = '000000deadbeef00:deadbeef00:deadbeef11';
+ so.validate = function(section_id, value) {
+ if (!value)
+ return true;
+
+ if (!/^[0-9a-fA-F]{16}(:[0-9a-fA-F]{10})+$/.test(value))
+ return _('Expecting: %s').format(_('Valid 16-digit Moon World ID and 10-digit Node ID of Moon Root server.'));
+
+ return true;
+ }
+ so.depends('type', 'zerotier');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.ListValue, 'zerotier_ipstack', _('IP stack'));
+ so.value('', _('Keep default'));
+ so.value('auto', _('Auto'));
+ so.value('gvisor', _('gVisor'));
+ so.value('mips', _('mihomo IP stack (MIPS)'));
+ so.depends('type', 'zerotier');
+ so.modalonly = true;
+
/* WireGuard fields */
- so = ss.taboption('field_general', form.Value, 'wireguard_private_key', _('Private key'),
+ so = ss.taboption('field_general', hm.GenValue, 'wireguard_private_key', _('Private key'),
_('WireGuard requires base64-encoded private keys.'));
+ so.hm_options = {
+ type: 'wg-keypair',
+ callback: function(result) {
+ return [
+ [this.option, result.private_key],
+ ['wireguard_public_key', result.public_key]
+ ]
+ }
+ }
so.password = true;
so.validate = L.bind(hm.validateBase64Key, so, 44);
so.rmempty = false;
so.depends('type', 'wireguard');
so.modalonly = true;
+ so = ss.taboption('field_general', hm.CopyValue, 'wireguard_public_key', _('Public key'));
+ so.depends('type', 'wireguard');
+ so.modalonly = true;
+
so = ss.taboption('field_general', form.Value, 'wireguard_peer_public_key', _('Peer public key'),
_('WireGuard peer public key.'));
so.validate = L.bind(hm.validateBase64Key, so, 44);
@@ -823,6 +952,45 @@ return view.extend({
so.depends('type', 'wireguard');
so.modalonly = true;
+ /* Tailscale fields */
+ so = ss.taboption('field_general', form.Value, 'tailscale_hostname', _('%s Hostname').format(_('Tailscale')));
+ so.datatype = 'hostname';
+ so.depends('type', 'tailscale');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.Value, 'tailscale_control_url', _('Control server'),
+ _('Custom %s control server.').format(_('Headscale/Tailscale')));
+ so.validate = hm.validateUrl;
+ so.depends('type', 'tailscale');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.Value, 'tailscale_auth_key', _('Authentication key'));
+ so.password = true;
+ so.depends('type', 'tailscale');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.Flag, 'tailscale_ephemeral', _('As ephemeral node'));
+ so.default = so.disabled;
+ so.depends('type', 'tailscale');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.Flag, 'tailscale_accept_routes', _('Accept routes'),
+ _('Whether to accept routes advertised by other nodes.'));
+ so.default = so.disabled;
+ so.depends('type', 'tailscale');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.Value, 'tailscale_exit_node', _('Exit node'));
+ so.datatype = "or(ipaddr(1), 'auto:any')";
+ so.depends('type', 'tailscale');
+ so.modalonly = true;
+
+ so = ss.taboption('field_general', form.Flag, 'tailscale_exit_node_allow_lan_access', _('Allow LAN access'),
+ _('Allow access to the local LAN via the exit node.'));
+ so.default = so.disabled;
+ so.depends({tailscale_exit_node: /.+/});
+ so.modalonly = true;
+
/* Masque fields */
so = ss.taboption('field_general', form.Value, 'masque_private_key', _('Private key'),
_('Base64 encoded ECDSA private key on the NIST P-256 curve.'));
@@ -832,7 +1000,7 @@ return view.extend({
so.depends('type', 'masque');
so.modalonly = true;
- so = ss.taboption('field_general', form.Value, 'masque_endpoint_public_key', _('Endpoint public key'),
+ so = ss.taboption('field_general', form.Value, 'masque_endpoint_public_key', _('Server public key'),
_('Base64 encoded ECDSA public key on the NIST P-256 curve.'));
so.validate = L.bind(hm.validateBase64Key, so, 124);
so.rmempty = false;
@@ -887,6 +1055,7 @@ return view.extend({
})
so.depends({type: /^(tuic|shadowquic|trusttunnel)$/});
so.depends({type: 'masque', masque_network: /^(|h3-l4proxy)$/});
+ so.depends({type: 'zerotier', zerotier_ipstack: /^(auto|mips)$/}); // not empty not gvisor
so.modalonly = true;
so = ss.taboption('field_general', form.ListValue, 'bbr_profile', _('BBR profile'));
@@ -914,7 +1083,7 @@ return view.extend({
so = ss.taboption('field_general', form.Flag, 'udp', _('UDP'));
so.default = so.disabled;
- so.depends({type: /^(rematch|direct|socks5|ss|mieru|vmess|vless|trojan|anytls|trusttunnel|wireguard|masque)$/});
+ so.depends({type: /^(rematch|direct|socks5|ss|mieru|vmess|vless|trojan|anytls|trusttunnel|zerotier|wireguard|tailscale|masque)$/});
so.depends({type: 'snell', snell_version: /^(3|4|5)$/});
so.modalonly = true;
@@ -1124,7 +1293,7 @@ return view.extend({
so.default = so.disabled;
so.validate = function(section_id, value) {
const type = this.section.getOption('type').formvalue(section_id);
- let tls = this.section.getUIElement(section_id, 'tls').node.querySelector('input');
+ const tls = this.getUIElement(section_id).node.querySelector('input');
// Force enabled
if (['trojan', 'anytls', 'tuic', 'hysteria', 'hysteria2', 'shadowquic', 'trusttunnel', 'masque'].includes(type)) {
@@ -1315,6 +1484,87 @@ return view.extend({
// @VMess-TLSmirror fields
/* VPN fields */
+ so = ss.taboption('field_vpn', form.Flag, 'auto_firewall', _('Firewall'),
+ _('Auto configure firewall'));
+ so.default = so.enabled;
+ so.validate = function(section_id, value) {
+ const primary_port = this.section.getOption('zerotier_primary_port').formvalue(section_id);
+ const secondary_port = this.section.getOption('zerotier_secondary_port').formvalue(section_id);
+ const auto_firewall = this.getUIElement(section_id).node.querySelector('input');
+
+ // Force disabled
+ if ((!primary_port || primary_port <= 0) && (!secondary_port || secondary_port <= 0)) {
+ auto_firewall.checked = false;
+ auto_firewall.disabled = true;
+ } else
+ auto_firewall.removeAttribute('disabled');
+
+ return true;
+ }
+ so.depends('type', 'zerotier');
+ so.modalonly = true;
+
+ so = ss.taboption('field_vpn', form.Value, 'zerotier_primary_port', _('Listen port') + ' (%s)'.format(_('Primary')),
+ _('%s UDP port. 0 selects an available port.').format(_('Primary')));
+ so.datatype = 'port';
+ so.placeholder = '9993';
+ so.load = function(section_id) {
+ const listen_port = this.map.data.get(this.section.config, section_id, 'zerotier_listen_port');
+ const value = [
+ this.map.data.get(this.section.config, section_id, 'zerotier_primary_port'),
+ this.map.data.get(this.section.config, section_id, 'zerotier_secondary_port')
+ ].filter(Boolean).join(',');
+
+ if (listen_port !== value) {
+ uci.set(this.section.config, section_id, 'zerotier_listen_port', value);
+ uci.save();
+ }
+
+ return form.Value.prototype.load.apply(this, arguments);
+ }
+ so.write = function(section_id, formvalue) {
+ uci.set(this.section.config, section_id, 'zerotier_listen_port', [
+ this.section.getOption('zerotier_primary_port').formvalue(section_id),
+ this.section.getOption('zerotier_secondary_port').formvalue(section_id)
+ ].filter(Boolean).join(','));
+
+ return form.Value.prototype[formvalue ? 'write' : 'remove'].apply(this, arguments);
+ }
+ so.remove = so.write;
+ so.depends('type', 'zerotier');
+ so.modalonly = true;
+
+ so = ss.taboption('field_vpn', form.Value, 'zerotier_secondary_port', _('Listen port') + ' (%s)'.format(_('Secondary')),
+ _('%s UDP port. 0 selects an available port.').format(_('Secondary')) + '' +
+ _('-1 disables it.'));
+ so.datatype = 'or(port, -1)';
+ so.placeholder = '0';
+ so.load = function(section_id) {
+ const listen_port = this.map.data.get(this.section.config, section_id, 'zerotier_listen_port');
+ const value = [
+ this.map.data.get(this.section.config, section_id, 'zerotier_primary_port'),
+ this.map.data.get(this.section.config, section_id, 'zerotier_secondary_port')
+ ].filter(Boolean).join(',');
+
+ if (listen_port !== value) {
+ uci.set(this.section.config, section_id, 'zerotier_listen_port', value);
+ uci.save();
+ }
+
+ return form.Value.prototype.load.apply(this, arguments);
+ }
+ so.write = function(section_id, formvalue) {
+ uci.set(this.section.config, section_id, 'zerotier_listen_port', [
+ this.section.getOption('zerotier_primary_port').formvalue(section_id),
+ this.section.getOption('zerotier_secondary_port').formvalue(section_id)
+ ].filter(Boolean).join(','));
+
+ return form.Value.prototype[formvalue ? 'write' : 'remove'].apply(this, arguments);
+ }
+ so.remove = so.write;
+ so.depends('type', 'zerotier');
+ so.modalonly = true;
+
so = ss.taboption('field_vpn', form.Value, 'endpoint_ip', _('Virtual address'),
_('The %s address used by local machine in the %s network.').format(_('IPv4'), _('VPN')));
so.datatype = 'or(ip4addr(1), cidr4)';
@@ -1374,6 +1624,9 @@ return view.extend({
let def_mtu;
switch (type) {
+ case 'zerotier':
+ def_mtu = '1400';
+ break;
case 'wireguard':
def_mtu = '1408';
break;
@@ -1385,14 +1638,14 @@ return view.extend({
return true;
}
- so.depends('type', 'wireguard');
+ so.depends({type: /^(zerotier|wireguard)$/});
so.depends({type: 'masque', masque_network: /^(|h2)$/});
so.modalonly = true;
so = ss.taboption('field_vpn', form.Flag, 'endpoint_remote_dns_resolve', _('Remote DNS resolve'),
_('Force DNS remote resolution.'));
so.default = so.disabled;
- so.depends({type: /^(wireguard|masque)$/});
+ so.depends({type: /^(zerotier|wireguard|masque)$/});
so.modalonly = true;
so = ss.taboption('field_vpn', form.DynamicList, 'endpoint_dns', _('DNS server'));
diff --git a/luci-app-fchomo/po/templates/fchomo.pot b/luci-app-fchomo/po/templates/fchomo.pot
index f0dd66fe..6d0b528c 100644
--- a/luci-app-fchomo/po/templates/fchomo.pot
+++ b/luci-app-fchomo/po/templates/fchomo.pot
@@ -1,85 +1,98 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
+#: htdocs/luci-static/resources/view/fchomo/node.js:956
+msgid "%s Hostname"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1508
+#: htdocs/luci-static/resources/view/fchomo/node.js:1538
+msgid "%s UDP port. 0 selects an available port."
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/log.js:111
msgid "%s log"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:253
-#: htdocs/luci-static/resources/fchomo.js:254
+#: htdocs/luci-static/resources/view/fchomo/node.js:807
+msgid "%s of the %s used to receiving remote debugging log."
+msgstr ""
+
#: 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
+#: htdocs/luci-static/resources/fchomo.js:259
+#: htdocs/luci-static/resources/fchomo.js:260
msgid "%s ports"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:644
-#: htdocs/luci-static/resources/fchomo.js:647
+#: htdocs/luci-static/resources/fchomo.js:646
+#: htdocs/luci-static/resources/fchomo.js:649
#: htdocs/luci-static/resources/view/fchomo/client.js:318
msgid "(Imported)"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1166
-#: htdocs/luci-static/resources/fchomo/listeners.js:1174
-#: htdocs/luci-static/resources/fchomo/listeners.js:1183
+#: htdocs/luci-static/resources/fchomo/listeners.js:1156
+#: htdocs/luci-static/resources/fchomo/listeners.js:1164
+#: htdocs/luci-static/resources/fchomo/listeners.js:1173
#: 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:1287
-#: htdocs/luci-static/resources/view/fchomo/node.js:1293
-#: htdocs/luci-static/resources/view/fchomo/node.js:1301
-#: htdocs/luci-static/resources/view/fchomo/node.js:1307
+#: htdocs/luci-static/resources/view/fchomo/node.js:1397
+#: htdocs/luci-static/resources/view/fchomo/node.js:1403
+#: htdocs/luci-static/resources/view/fchomo/node.js:1411
+#: htdocs/luci-static/resources/view/fchomo/node.js:1417
msgid "(mTLS)"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:696
+#: htdocs/luci-static/resources/view/fchomo/client.js:708
msgid "-- NETWORK --"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1208
+#: htdocs/luci-static/resources/view/fchomo/client.js:1220
msgid "-- PROXY-GROUP --"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1143
-#: htdocs/luci-static/resources/view/fchomo/client.js:1210
+#: htdocs/luci-static/resources/view/fchomo/client.js:1155
+#: htdocs/luci-static/resources/view/fchomo/client.js:1222
msgid "-- PROXY-NODE --"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:834
+#: htdocs/luci-static/resources/fchomo.js:836
#: htdocs/luci-static/resources/view/fchomo/client.js:573
-#: htdocs/luci-static/resources/view/fchomo/client.js:881
-#: htdocs/luci-static/resources/view/fchomo/client.js:884
-#: htdocs/luci-static/resources/view/fchomo/client.js:1081
-#: htdocs/luci-static/resources/view/fchomo/client.js:1085
-#: 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:288
-#: htdocs/luci-static/resources/view/fchomo/node.js:2212
-#: htdocs/luci-static/resources/view/fchomo/node.js:2223
-#: htdocs/luci-static/resources/view/fchomo/node.js:2242
-#: htdocs/luci-static/resources/view/fchomo/node.js:2253
+#: htdocs/luci-static/resources/view/fchomo/client.js:893
+#: htdocs/luci-static/resources/view/fchomo/client.js:896
+#: htdocs/luci-static/resources/view/fchomo/client.js:1093
+#: htdocs/luci-static/resources/view/fchomo/client.js:1097
+#: htdocs/luci-static/resources/view/fchomo/client.js:1113
+#: htdocs/luci-static/resources/view/fchomo/client.js:1117
+#: htdocs/luci-static/resources/view/fchomo/client.js:1373
+#: htdocs/luci-static/resources/view/fchomo/node.js:302
+#: htdocs/luci-static/resources/view/fchomo/node.js:2492
+#: htdocs/luci-static/resources/view/fchomo/node.js:2503
+#: htdocs/luci-static/resources/view/fchomo/node.js:2522
+#: htdocs/luci-static/resources/view/fchomo/node.js:2533
msgid "-- Please choose --"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:694
+#: htdocs/luci-static/resources/view/fchomo/client.js:706
msgid "-- REMATCH-NAME --"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:699
+#: htdocs/luci-static/resources/view/fchomo/client.js:711
msgid "-- RULE-SET --"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:835
+#: htdocs/luci-static/resources/fchomo.js:837
msgid "-- custom --"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:406
+#: htdocs/luci-static/resources/fchomo.js:408
msgid "0-RTT reuse."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:403
-#: htdocs/luci-static/resources/fchomo.js:407
+#: htdocs/luci-static/resources/fchomo.js:405
+#: htdocs/luci-static/resources/fchomo.js:409
msgid "1-RTT only."
msgstr ""
@@ -87,32 +100,36 @@ msgstr ""
msgid "163Music"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:353
+#: htdocs/luci-static/resources/fchomo.js:355
msgid "2022-blake3-aes-128-gcm"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:354
+#: htdocs/luci-static/resources/fchomo.js:356
msgid "2022-blake3-aes-256-gcm"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:355
+#: htdocs/luci-static/resources/fchomo.js:357
msgid "2022-blake3-chacha20-poly1305"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:707
+#: htdocs/luci-static/resources/view/fchomo/node.js:1539
+msgid "-1 disables it."
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:719
msgid "0 or 1 only."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1144
-#: htdocs/luci-static/resources/fchomo/listeners.js:1159
-#: htdocs/luci-static/resources/fchomo/listeners.js:1184
-#: htdocs/luci-static/resources/view/fchomo/node.js:1294
-#: htdocs/luci-static/resources/view/fchomo/node.js:1308
+#: htdocs/luci-static/resources/fchomo/listeners.js:1134
+#: htdocs/luci-static/resources/fchomo/listeners.js:1149
+#: htdocs/luci-static/resources/fchomo/listeners.js:1174
+#: htdocs/luci-static/resources/view/fchomo/node.js:1404
+#: htdocs/luci-static/resources/view/fchomo/node.js:1418
msgid "Save your configuration before uploading files!"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:207
-#: htdocs/luci-static/resources/view/fchomo/node.js:370
+#: htdocs/luci-static/resources/view/fchomo/node.js:384
msgid ""
"A base64 string is used to fine-tune network behavior.
Please refer to "
"the document"
@@ -170,9 +187,9 @@ msgstr ""
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:413
+#: htdocs/luci-static/resources/view/fchomo/node.js:415
+#: htdocs/luci-static/resources/view/fchomo/node.js:416
msgid "ASCII data stream"
msgstr ""
@@ -180,20 +197,24 @@ msgstr ""
msgid "ASN version"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:977
+msgid "Accept routes"
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/global.js:744
#: htdocs/luci-static/resources/view/fchomo/global.js:794
msgid "Access Control"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1780
+#: htdocs/luci-static/resources/view/fchomo/client.js:1792
msgid "Add a Bootstrap DNS policy (Node)"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1832
+#: htdocs/luci-static/resources/view/fchomo/client.js:1844
msgid "Add a DNS policy"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1525
+#: htdocs/luci-static/resources/view/fchomo/client.js:1537
msgid "Add a DNS server"
msgstr ""
@@ -205,19 +226,19 @@ msgstr ""
msgid "Add a inbound"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1698
+#: htdocs/luci-static/resources/view/fchomo/node.js:1978
msgid "Add a provider"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2186
+#: htdocs/luci-static/resources/view/fchomo/node.js:2466
msgid "Add a proxy chain"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:972
+#: htdocs/luci-static/resources/view/fchomo/client.js:984
msgid "Add a proxy group"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1275
+#: htdocs/luci-static/resources/view/fchomo/client.js:1287
msgid "Add a routing rule"
msgstr ""
@@ -229,24 +250,28 @@ msgstr ""
msgid "Add a server"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1397
+#: htdocs/luci-static/resources/view/fchomo/client.js:1409
msgid "Add a sub rule"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1995
+#: htdocs/luci-static/resources/view/fchomo/node.js:2275
msgid "Add prefix"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1999
+#: htdocs/luci-static/resources/view/fchomo/node.js:2279
msgid "Add suffix"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1585
-#: htdocs/luci-static/resources/view/fchomo/client.js:1590
+#: htdocs/luci-static/resources/view/fchomo/node.js:856
+msgid "Add the base64 text of the planet file here."
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:1597
+#: htdocs/luci-static/resources/view/fchomo/client.js:1602
msgid "Address"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:410
+#: htdocs/luci-static/resources/fchomo.js:412
msgid ""
"After the 1-RTT client/server hello, padding randomly 111-1111 bytes with "
"100% probability."
@@ -266,21 +291,29 @@ msgstr ""
msgid "All allowed"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:250
+#: htdocs/luci-static/resources/fchomo.js:252
msgid "All ports"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:988
+msgid "Allow LAN access"
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/global.js:647
msgid ""
"Allow access from private network.To access the API on a private "
"network from a public website, it must be enabled."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1061
+#: htdocs/luci-static/resources/view/fchomo/node.js:989
+msgid "Allow access to the local LAN via the exit node."
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo/listeners.js:1057
msgid "Allow insecure connections"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:822
+#: htdocs/luci-static/resources/view/fchomo/node.js:937
msgid "Allowed IPs"
msgstr ""
@@ -293,7 +326,7 @@ msgid "Already in updating."
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:409
-#: htdocs/luci-static/resources/view/fchomo/node.js:527
+#: htdocs/luci-static/resources/view/fchomo/node.js:541
msgid "Alter ID"
msgstr ""
@@ -306,6 +339,10 @@ msgstr ""
msgid "Application version"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:972
+msgid "As ephemeral node"
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/global.js:822
msgid "As the TOP upstream of dnsmasq"
msgstr ""
@@ -319,20 +356,27 @@ msgstr ""
msgid "Auth timeout"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:549
+#: htdocs/luci-static/resources/view/fchomo/node.js:563
msgid "Authenticated length"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:967
+msgid "Authentication key"
+msgstr ""
+
#: htdocs/luci-static/resources/fchomo/listeners.js:361
-#: htdocs/luci-static/resources/fchomo/listeners.js:1353
+#: htdocs/luci-static/resources/fchomo/listeners.js:1343
#: htdocs/luci-static/resources/view/fchomo/global.js:423
-#: 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:1504
+#: htdocs/luci-static/resources/view/fchomo/node.js:464
+#: htdocs/luci-static/resources/view/fchomo/node.js:488
+#: htdocs/luci-static/resources/view/fchomo/node.js:842
+#: htdocs/luci-static/resources/view/fchomo/node.js:895
+#: htdocs/luci-static/resources/view/fchomo/node.js:1784
msgid "Auto"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:139
+#: htdocs/luci-static/resources/view/fchomo/node.js:1488
msgid "Auto configure firewall"
msgstr ""
@@ -344,8 +388,8 @@ msgstr ""
msgid "Auto update resources."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:639
-#: htdocs/luci-static/resources/view/fchomo/node.js:954
+#: htdocs/luci-static/resources/fchomo/listeners.js:638
+#: htdocs/luci-static/resources/view/fchomo/node.js:1061
msgid "BBR profile"
msgstr ""
@@ -353,11 +397,11 @@ msgstr ""
msgid "Baidu"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:859
+#: htdocs/luci-static/resources/view/fchomo/node.js:996
msgid "Base64 encoded ECDSA private key on the NIST P-256 curve."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:867
+#: htdocs/luci-static/resources/view/fchomo/node.js:1004
msgid "Base64 encoded ECDSA public key on the NIST P-256 curve."
msgstr ""
@@ -379,13 +423,13 @@ msgid "Binary mrs"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:758
-#: htdocs/luci-static/resources/view/fchomo/node.js:1665
-#: htdocs/luci-static/resources/view/fchomo/node.js:2084
+#: htdocs/luci-static/resources/view/fchomo/node.js:1945
+#: htdocs/luci-static/resources/view/fchomo/node.js:2364
msgid "Bind interface"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1666
-#: htdocs/luci-static/resources/view/fchomo/node.js:2085
+#: htdocs/luci-static/resources/view/fchomo/node.js:1946
+#: htdocs/luci-static/resources/view/fchomo/node.js:2365
msgid "Bind outbound interface."
msgstr ""
@@ -402,16 +446,16 @@ msgstr ""
msgid "Block DNS queries"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1771
-#: htdocs/luci-static/resources/view/fchomo/client.js:1780
+#: htdocs/luci-static/resources/view/fchomo/client.js:1783
+#: htdocs/luci-static/resources/view/fchomo/client.js:1792
msgid "Bootstrap DNS policy (Node)"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1470
+#: htdocs/luci-static/resources/view/fchomo/client.js:1482
msgid "Bootstrap DNS server"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1477
+#: htdocs/luci-static/resources/view/fchomo/client.js:1489
msgid "Bootstrap DNS server (Node)"
msgstr ""
@@ -431,10 +475,10 @@ msgstr ""
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:462
+#: htdocs/luci-static/resources/view/fchomo/node.js:463
+#: htdocs/luci-static/resources/view/fchomo/node.js:464
+#: htdocs/luci-static/resources/view/fchomo/node.js:465
msgid "CDN support"
msgstr ""
@@ -450,21 +494,21 @@ msgstr ""
msgid "CORS allowed origins, * will be used if empty."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:760
+#: htdocs/luci-static/resources/fchomo.js:762
msgid "Cancel"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1260
+#: htdocs/luci-static/resources/view/fchomo/node.js:1370
msgid "Cert fingerprint"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1261
+#: htdocs/luci-static/resources/view/fchomo/node.js:1371
msgid ""
"Certificate fingerprint. Used to implement SSL Pinning and prevent MitM."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1121
-#: htdocs/luci-static/resources/view/fchomo/node.js:1287
+#: htdocs/luci-static/resources/fchomo/listeners.js:1111
+#: htdocs/luci-static/resources/view/fchomo/node.js:1397
msgid "Certificate path"
msgstr ""
@@ -477,7 +521,7 @@ msgstr ""
msgid "Check routerself NAT Behavior"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1926
+#: htdocs/luci-static/resources/view/fchomo/client.js:1938
msgid ""
"Check the response from the %s, only initiate query if the "
"%s is satisfied."
@@ -501,14 +545,14 @@ msgstr ""
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:337
+#: htdocs/luci-static/resources/view/fchomo/node.js:396
+#: htdocs/luci-static/resources/view/fchomo/node.js:547
msgid "Chipher"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:284
-#: htdocs/luci-static/resources/view/fchomo/node.js:391
+#: htdocs/luci-static/resources/view/fchomo/node.js:405
msgid "Chipher must be enabled if obfuscate downlink is disabled."
msgstr ""
@@ -522,25 +566,25 @@ msgid ""
"to download the latest initial package."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:857
-#: htdocs/luci-static/resources/fchomo/listeners.js:1175
+#: htdocs/luci-static/resources/fchomo/listeners.js:853
+#: htdocs/luci-static/resources/fchomo/listeners.js:1165
#: htdocs/luci-static/resources/view/fchomo/global.js:571
-#: htdocs/luci-static/resources/view/fchomo/node.js:1116
-#: htdocs/luci-static/resources/view/fchomo/node.js:1288
-#: htdocs/luci-static/resources/view/fchomo/node.js:1302
+#: htdocs/luci-static/resources/view/fchomo/node.js:1226
+#: htdocs/luci-static/resources/view/fchomo/node.js:1398
+#: htdocs/luci-static/resources/view/fchomo/node.js:1412
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:22
msgid "Client"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1174
+#: htdocs/luci-static/resources/fchomo/listeners.js:1164
msgid "Client Auth Certificate path"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1166
+#: htdocs/luci-static/resources/fchomo/listeners.js:1156
msgid "Client Auth type"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1333
+#: htdocs/luci-static/resources/view/fchomo/node.js:1443
msgid "Client fingerprint"
msgstr ""
@@ -552,21 +596,26 @@ msgstr ""
msgid "Client status"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:1583
+#: htdocs/luci-static/resources/view/fchomo/node.js:1608
+msgid "Cloudflare WARP"
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/log.js:82
msgid "Collecting data..."
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
msgid "Common ports (bypass P2P traffic)"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1745
+#: htdocs/luci-static/resources/fchomo.js:1747
msgid "Complete"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:631
-#: htdocs/luci-static/resources/view/fchomo/node.js:945
+#: htdocs/luci-static/resources/fchomo/listeners.js:630
+#: htdocs/luci-static/resources/view/fchomo/node.js:1051
msgid "Congestion controller"
msgstr ""
@@ -574,12 +623,12 @@ msgstr ""
msgid "Connection check"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:507
+#: htdocs/luci-static/resources/view/fchomo/node.js:521
msgid "Connection reuse"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:576
-#: htdocs/luci-static/resources/view/fchomo/node.js:763
+#: htdocs/luci-static/resources/fchomo/listeners.js:575
+#: htdocs/luci-static/resources/view/fchomo/node.js:776
msgid "Connection-level receive window size"
msgstr ""
@@ -587,19 +636,19 @@ msgstr ""
msgid "Conservative"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:629
+#: htdocs/luci-static/resources/fchomo.js:631
msgid "Content copied to clipboard!"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:687
-#: htdocs/luci-static/resources/view/fchomo/node.js:1855
-#: htdocs/luci-static/resources/view/fchomo/node.js:1881
+#: htdocs/luci-static/resources/view/fchomo/client.js:699
+#: htdocs/luci-static/resources/view/fchomo/node.js:2135
+#: htdocs/luci-static/resources/view/fchomo/node.js:2161
#: 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:1854
+#: htdocs/luci-static/resources/view/fchomo/node.js:2134
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:347
msgid "Contents"
msgstr ""
@@ -608,7 +657,11 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:631
+#: htdocs/luci-static/resources/view/fchomo/node.js:961
+msgid "Control server"
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo.js:633
msgid "Copy"
msgstr ""
@@ -620,11 +673,15 @@ msgstr ""
msgid "Cron expression"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:962
+msgid "Custom %s control server."
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/global.js:913
msgid "Custom Direct List"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1986
+#: htdocs/luci-static/resources/view/fchomo/node.js:2266
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:420
msgid "Custom HTTP header."
msgstr ""
@@ -634,7 +691,7 @@ msgid "Custom Proxy List"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:299
-#: htdocs/luci-static/resources/view/fchomo/node.js:406
+#: htdocs/luci-static/resources/view/fchomo/node.js:420
msgid "Custom byte layout"
msgstr ""
@@ -647,9 +704,9 @@ msgstr ""
msgid "DIRECT"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1823
-#: htdocs/luci-static/resources/view/fchomo/client.js:1832
-#: htdocs/luci-static/resources/view/fchomo/client.js:1907
+#: htdocs/luci-static/resources/view/fchomo/client.js:1835
+#: htdocs/luci-static/resources/view/fchomo/client.js:1844
+#: htdocs/luci-static/resources/view/fchomo/client.js:1919
msgid "DNS policy"
msgstr ""
@@ -657,15 +714,14 @@ msgstr ""
msgid "DNS port"
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:852
-#: htdocs/luci-static/resources/view/fchomo/node.js:919
+#: htdocs/luci-static/resources/view/fchomo/client.js:911
+#: htdocs/luci-static/resources/view/fchomo/client.js:1528
+#: htdocs/luci-static/resources/view/fchomo/client.js:1537
+#: htdocs/luci-static/resources/view/fchomo/node.js:1651
msgid "DNS server"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1453
+#: htdocs/luci-static/resources/view/fchomo/client.js:1465
msgid "DNS settings"
msgstr ""
@@ -678,6 +734,7 @@ msgid "Dashboard version"
msgstr ""
#: htdocs/luci-static/resources/fchomo.js:94
+#: htdocs/luci-static/resources/view/fchomo/node.js:817
msgid "Debug"
msgstr ""
@@ -685,13 +742,13 @@ msgstr ""
msgid "Default DNS (issued by WAN)"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1491
-#: htdocs/luci-static/resources/view/fchomo/client.js:1927
-#: htdocs/luci-static/resources/view/fchomo/client.js:1930
+#: htdocs/luci-static/resources/view/fchomo/client.js:1503
+#: htdocs/luci-static/resources/view/fchomo/client.js:1939
+#: htdocs/luci-static/resources/view/fchomo/client.js:1942
msgid "Default DNS server"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1201
+#: htdocs/luci-static/resources/view/fchomo/client.js:1213
msgid "Default selected"
msgstr ""
@@ -703,24 +760,24 @@ msgstr ""
msgid "Derive from priv-key"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:823
+#: htdocs/luci-static/resources/view/fchomo/node.js:938
msgid "Destination addresses allowed to be forwarded via Wireguard."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2209
+#: htdocs/luci-static/resources/view/fchomo/node.js:2489
msgid "Destination provider"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2220
+#: htdocs/luci-static/resources/view/fchomo/node.js:2500
msgid "Destination proxy node"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:243
+#: htdocs/luci-static/resources/view/fchomo/node.js:257
msgid "Dial fields"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2232
-#: htdocs/luci-static/resources/view/fchomo/node.js:2262
+#: htdocs/luci-static/resources/view/fchomo/node.js:2512
+#: htdocs/luci-static/resources/view/fchomo/node.js:2542
msgid "Different chain head/tail"
msgstr ""
@@ -742,7 +799,8 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:485
#: htdocs/luci-static/resources/view/fchomo/global.js:424
-#: htdocs/luci-static/resources/view/fchomo/node.js:696
+#: htdocs/luci-static/resources/view/fchomo/node.js:710
+#: htdocs/luci-static/resources/view/fchomo/node.js:844
msgid "Disable"
msgstr ""
@@ -758,11 +816,11 @@ msgstr ""
msgid "Disable ICMP Forwarding"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1201
+#: htdocs/luci-static/resources/view/fchomo/node.js:1311
msgid "Disable SNI"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1150
+#: htdocs/luci-static/resources/view/fchomo/client.js:1162
msgid "Disable UDP"
msgstr ""
@@ -770,45 +828,45 @@ msgstr ""
msgid "Disable safe path check"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:841
+#: htdocs/luci-static/resources/view/fchomo/client.js:853
msgid ""
"Do not resolve the domain connection to IP for this match.Only works "
"for pure domain inbound connections without DNS resolution. e.g., socks5h"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:864
-#: htdocs/luci-static/resources/view/fchomo/client.js:869
-#: htdocs/luci-static/resources/view/fchomo/client.js:1906
-#: htdocs/luci-static/resources/view/fchomo/client.js:1914
-#: htdocs/luci-static/resources/view/fchomo/client.js:1916
+#: htdocs/luci-static/resources/view/fchomo/client.js:876
+#: htdocs/luci-static/resources/view/fchomo/client.js:881
+#: htdocs/luci-static/resources/view/fchomo/client.js:1918
+#: htdocs/luci-static/resources/view/fchomo/client.js:1926
+#: htdocs/luci-static/resources/view/fchomo/client.js:1928
msgid "Domain"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1202
+#: htdocs/luci-static/resources/view/fchomo/node.js:1312
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:1280
-#: htdocs/luci-static/resources/view/fchomo/node.js:2068
+#: htdocs/luci-static/resources/view/fchomo/client.js:1680
+#: htdocs/luci-static/resources/view/fchomo/node.js:1390
+#: htdocs/luci-static/resources/view/fchomo/node.js:2348
msgid "Donot verifying server certificate."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1405
-#: htdocs/luci-static/resources/view/fchomo/node.js:1642
+#: htdocs/luci-static/resources/fchomo/listeners.js:1395
+#: htdocs/luci-static/resources/view/fchomo/node.js:1922
msgid "Download bandwidth"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1406
-#: htdocs/luci-static/resources/view/fchomo/node.js:1643
+#: htdocs/luci-static/resources/fchomo/listeners.js:1396
+#: htdocs/luci-static/resources/view/fchomo/node.js:1923
msgid "Download bandwidth in Mbps."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1624
+#: htdocs/luci-static/resources/fchomo.js:1626
msgid "Download failed: %s"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1622
+#: htdocs/luci-static/resources/fchomo.js:1624
msgid "Download successful."
msgstr ""
@@ -816,24 +874,24 @@ msgstr ""
msgid "Dual stack"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1327
+#: htdocs/luci-static/resources/view/fchomo/node.js:1437
msgid "ECH HTTPS record query servername"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1232
-#: htdocs/luci-static/resources/view/fchomo/node.js:1321
+#: htdocs/luci-static/resources/fchomo/listeners.js:1222
+#: htdocs/luci-static/resources/view/fchomo/node.js:1431
msgid "ECH config"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1191
+#: htdocs/luci-static/resources/fchomo/listeners.js:1181
msgid "ECH key"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1702
+#: htdocs/luci-static/resources/view/fchomo/client.js:1714
msgid "ECS override"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1686
+#: htdocs/luci-static/resources/view/fchomo/client.js:1698
msgid "EDNS Client Subnet"
msgstr ""
@@ -841,11 +899,11 @@ msgstr ""
msgid "ETag support"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1482
+#: htdocs/luci-static/resources/view/fchomo/node.js:1762
msgid "Early Data first packet length limit."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1488
+#: htdocs/luci-static/resources/view/fchomo/node.js:1768
msgid "Early Data header name"
msgstr ""
@@ -861,46 +919,46 @@ msgstr ""
msgid "Edit ruleset"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1852
+#: htdocs/luci-static/resources/view/fchomo/node.js:2132
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:345
msgid "Editer"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:397
+#: htdocs/luci-static/resources/fchomo.js:399
msgid "Eliminate encryption header characteristics"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1135
+#: htdocs/luci-static/resources/view/fchomo/client.js:1147
msgid "Empty fallback"
msgstr ""
#: 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
-#: htdocs/luci-static/resources/view/fchomo/client.js:1439
-#: htdocs/luci-static/resources/view/fchomo/client.js:1581
-#: htdocs/luci-static/resources/view/fchomo/client.js:1815
-#: htdocs/luci-static/resources/view/fchomo/client.js:1871
+#: htdocs/luci-static/resources/view/fchomo/client.js:974
+#: htdocs/luci-static/resources/view/fchomo/client.js:1069
+#: htdocs/luci-static/resources/view/fchomo/client.js:1356
+#: htdocs/luci-static/resources/view/fchomo/client.js:1451
+#: htdocs/luci-static/resources/view/fchomo/client.js:1593
+#: htdocs/luci-static/resources/view/fchomo/client.js:1827
+#: htdocs/luci-static/resources/view/fchomo/client.js:1883
#: 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:250
-#: htdocs/luci-static/resources/view/fchomo/node.js:1825
-#: htdocs/luci-static/resources/view/fchomo/node.js:2107
-#: htdocs/luci-static/resources/view/fchomo/node.js:2196
+#: htdocs/luci-static/resources/view/fchomo/node.js:264
+#: htdocs/luci-static/resources/view/fchomo/node.js:2105
+#: htdocs/luci-static/resources/view/fchomo/node.js:2387
+#: htdocs/luci-static/resources/view/fchomo/node.js:2476
#: 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:650
+#: htdocs/luci-static/resources/view/fchomo/node.js:664
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:649
+#: htdocs/luci-static/resources/view/fchomo/node.js:663
msgid "Enable 0-RTT handshake"
msgstr ""
@@ -910,69 +968,73 @@ msgid ""
"conversion for outbound connections"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1315
+#: htdocs/luci-static/resources/view/fchomo/node.js:1425
msgid "Enable ECH"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1393
-#: htdocs/luci-static/resources/view/fchomo/node.js:1630
+#: htdocs/luci-static/resources/fchomo/listeners.js:1383
+#: htdocs/luci-static/resources/view/fchomo/node.js:1910
msgid "Enable TCP Brutal"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1394
-#: htdocs/luci-static/resources/view/fchomo/node.js:1631
+#: htdocs/luci-static/resources/fchomo/listeners.js:1384
+#: htdocs/luci-static/resources/view/fchomo/node.js:1911
msgid "Enable TCP Brutal congestion control algorithm"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:644
+#: htdocs/luci-static/resources/view/fchomo/node.js:658
msgid "Enable fast open"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1619
+#: htdocs/luci-static/resources/view/fchomo/node.js:1899
msgid "Enable multiplexing only for TCP."
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:345
-#: htdocs/luci-static/resources/view/fchomo/node.js:434
+#: htdocs/luci-static/resources/view/fchomo/node.js:448
msgid "Enable obfuscate for downlink"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1388
-#: htdocs/luci-static/resources/view/fchomo/node.js:1613
+#: htdocs/luci-static/resources/fchomo/listeners.js:1378
+#: htdocs/luci-static/resources/view/fchomo/node.js:1893
msgid "Enable padding"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1624
+#: htdocs/luci-static/resources/view/fchomo/node.js:1904
msgid "Enable statistic"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:984
-#: htdocs/luci-static/resources/view/fchomo/node.js:2044
+#: htdocs/luci-static/resources/view/fchomo/node.js:1091
+#: htdocs/luci-static/resources/view/fchomo/node.js:2324
msgid ""
"Enable the SUoT protocol, requires server support. Conflict with Multiplex."
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:492
-#: htdocs/luci-static/resources/view/fchomo/node.js:703
+#: htdocs/luci-static/resources/view/fchomo/node.js:717
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:820
+#: htdocs/luci-static/resources/view/fchomo/node.js:835
+msgid "Encrypted Hello"
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo/listeners.js:816
msgid "Encryption method"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:866
-msgid "Endpoint public key"
+#: htdocs/luci-static/resources/view/fchomo/node.js:1003
+msgid "Server public key"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:540
msgid "Endpoint-Independent NAT"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:740
-#: htdocs/luci-static/resources/view/fchomo/client.js:891
+#: htdocs/luci-static/resources/view/fchomo/client.js:752
+#: htdocs/luci-static/resources/view/fchomo/client.js:903
msgid "Entry"
msgstr ""
@@ -980,114 +1042,120 @@ msgstr ""
msgid "Error"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1194
+#: htdocs/luci-static/resources/view/fchomo/client.js:1206
msgid ""
"Exceeding this triggers a forced health check. 5 will be used "
"if empty."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2165
+#: htdocs/luci-static/resources/view/fchomo/node.js:2445
msgid "Exclude matched node types."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1248
+#: htdocs/luci-static/resources/view/fchomo/client.js:1260
msgid ""
"Exclude matched node types. Available types see here."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1243
-#: htdocs/luci-static/resources/view/fchomo/node.js:2158
+#: htdocs/luci-static/resources/view/fchomo/client.js:1255
+#: htdocs/luci-static/resources/view/fchomo/node.js:2438
msgid "Exclude nodes that meet keywords or regexps."
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:983
+msgid "Exit node"
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/global.js:265
msgid "Expand/Collapse result"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1186
-#: htdocs/luci-static/resources/view/fchomo/node.js:2143
+#: htdocs/luci-static/resources/view/fchomo/client.js:1198
+#: htdocs/luci-static/resources/view/fchomo/node.js:2423
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:2145
+#: htdocs/luci-static/resources/view/fchomo/client.js:1200
+#: htdocs/luci-static/resources/view/fchomo/node.js:2425
msgid "Expected status"
msgstr ""
-#: 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: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.js:456
+#: htdocs/luci-static/resources/fchomo.js:459
+#: htdocs/luci-static/resources/fchomo.js:462
+#: htdocs/luci-static/resources/fchomo.js:1764
+#: htdocs/luci-static/resources/fchomo.js:1772
+#: htdocs/luci-static/resources/fchomo.js:1780
+#: htdocs/luci-static/resources/fchomo.js:1803
+#: htdocs/luci-static/resources/fchomo.js:1806
+#: htdocs/luci-static/resources/fchomo.js:1813
+#: htdocs/luci-static/resources/fchomo.js:1829
+#: htdocs/luci-static/resources/fchomo.js:1838
+#: htdocs/luci-static/resources/fchomo.js:1850
+#: htdocs/luci-static/resources/fchomo.js:1853
+#: htdocs/luci-static/resources/fchomo.js:1863
+#: htdocs/luci-static/resources/fchomo.js:1875
+#: htdocs/luci-static/resources/fchomo.js:1878
+#: htdocs/luci-static/resources/fchomo.js:1891
+#: htdocs/luci-static/resources/fchomo.js:1900
+#: htdocs/luci-static/resources/fchomo.js:1910
+#: htdocs/luci-static/resources/fchomo.js:1945
+#: htdocs/luci-static/resources/fchomo.js:1947
+#: htdocs/luci-static/resources/fchomo.js:1960
+#: htdocs/luci-static/resources/fchomo.js:1966
+#: htdocs/luci-static/resources/fchomo.js:1973
+#: htdocs/luci-static/resources/fchomo.js:1982
#: htdocs/luci-static/resources/fchomo/listeners.js:284
#: htdocs/luci-static/resources/fchomo/listeners.js:331
-#: htdocs/luci-static/resources/fchomo/listeners.js:849
-#: htdocs/luci-static/resources/fchomo/listeners.js:880
-#: htdocs/luci-static/resources/fchomo/listeners.js:981
+#: htdocs/luci-static/resources/fchomo/listeners.js:845
+#: htdocs/luci-static/resources/fchomo/listeners.js:876
+#: htdocs/luci-static/resources/fchomo/listeners.js:977
#: 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/client.js:1063
+#: htdocs/luci-static/resources/view/fchomo/client.js:1608
#: htdocs/luci-static/resources/view/fchomo/global.js:904
-#: 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:1139
-#: htdocs/luci-static/resources/view/fchomo/node.js:1266
-#: htdocs/luci-static/resources/view/fchomo/node.js:2232
-#: htdocs/luci-static/resources/view/fchomo/node.js:2262
+#: htdocs/luci-static/resources/view/fchomo/node.js:405
+#: htdocs/luci-static/resources/view/fchomo/node.js:441
+#: htdocs/luci-static/resources/view/fchomo/node.js:494
+#: htdocs/luci-static/resources/view/fchomo/node.js:496
+#: htdocs/luci-static/resources/view/fchomo/node.js:886
+#: htdocs/luci-static/resources/view/fchomo/node.js:1249
+#: htdocs/luci-static/resources/view/fchomo/node.js:1376
+#: htdocs/luci-static/resources/view/fchomo/node.js:2512
+#: htdocs/luci-static/resources/view/fchomo/node.js:2542
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:300
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:314
msgid "Expecting: %s"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1135
+#: htdocs/luci-static/resources/fchomo/listeners.js:1125
msgid "Expecting: Cannot be empty."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1246
-#: htdocs/luci-static/resources/view/fchomo/node.js:1349
+#: htdocs/luci-static/resources/fchomo/listeners.js:1236
+#: htdocs/luci-static/resources/view/fchomo/node.js:1459
msgid "Expecting: Cannot be enabled when %s is enabled."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1130
+#: htdocs/luci-static/resources/fchomo/listeners.js:1120
msgid "Expecting: Keep empty when %s is enabled."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:278
-#: htdocs/luci-static/resources/view/fchomo/node.js:296
+#: htdocs/luci-static/resources/view/fchomo/node.js:292
+#: htdocs/luci-static/resources/view/fchomo/node.js:310
msgid "Expecting: Least one of %s or %s."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:685
-#: htdocs/luci-static/resources/fchomo/listeners.js:691
-#: htdocs/luci-static/resources/fchomo/listeners.js:1314
-#: htdocs/luci-static/resources/fchomo/listeners.js:1321
-#: htdocs/luci-static/resources/view/fchomo/node.js:1016
-#: htdocs/luci-static/resources/view/fchomo/node.js:1022
-#: htdocs/luci-static/resources/view/fchomo/node.js:1397
-#: htdocs/luci-static/resources/view/fchomo/node.js:1404
-#: htdocs/luci-static/resources/view/fchomo/node.js:1412
+#: htdocs/luci-static/resources/fchomo/listeners.js:684
+#: htdocs/luci-static/resources/fchomo/listeners.js:690
+#: htdocs/luci-static/resources/fchomo/listeners.js:1304
+#: htdocs/luci-static/resources/fchomo/listeners.js:1311
+#: htdocs/luci-static/resources/view/fchomo/node.js:1123
+#: htdocs/luci-static/resources/view/fchomo/node.js:1129
+#: htdocs/luci-static/resources/view/fchomo/node.js:1677
+#: htdocs/luci-static/resources/view/fchomo/node.js:1684
+#: htdocs/luci-static/resources/view/fchomo/node.js:1692
msgid "Expecting: Only support %s."
msgstr ""
@@ -1100,97 +1168,109 @@ msgstr ""
#: htdocs/luci-static/resources/view/fchomo/client.js:580
#: htdocs/luci-static/resources/view/fchomo/client.js:587
#: htdocs/luci-static/resources/view/fchomo/client.js:597
-#: htdocs/luci-static/resources/view/fchomo/client.js:604
-#: htdocs/luci-static/resources/view/fchomo/client.js:612
-#: htdocs/luci-static/resources/view/fchomo/client.js:619
-#: htdocs/luci-static/resources/view/fchomo/client.js:686
+#: htdocs/luci-static/resources/view/fchomo/client.js:616
+#: htdocs/luci-static/resources/view/fchomo/client.js:624
+#: htdocs/luci-static/resources/view/fchomo/client.js:631
+#: htdocs/luci-static/resources/view/fchomo/client.js:698
msgid "Factor"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1703
+#: htdocs/luci-static/resources/fchomo.js:1705
msgid "Failed to execute \"/etc/init.d/fchomo %s %s\" reason: %s"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1656
+#: htdocs/luci-static/resources/fchomo.js:1658
msgid "Failed to generate %s, error: %s."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:2068
+#: htdocs/luci-static/resources/fchomo.js:2082
msgid "Failed to upload %s, error: %s."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:2087
+#: htdocs/luci-static/resources/fchomo.js:2101
msgid "Failed to upload, error: %s."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:244
+#: htdocs/luci-static/resources/fchomo.js:246
#: htdocs/luci-static/resources/fchomo/listeners.js:370
msgid "Fallback"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1485
-#: htdocs/luci-static/resources/view/fchomo/client.js:1498
-#: htdocs/luci-static/resources/view/fchomo/client.js:1930
+#: htdocs/luci-static/resources/view/fchomo/client.js:1497
+#: htdocs/luci-static/resources/view/fchomo/client.js:1510
+#: htdocs/luci-static/resources/view/fchomo/client.js:1942
msgid "Fallback DNS server"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1885
-#: htdocs/luci-static/resources/view/fchomo/client.js:1927
+#: htdocs/luci-static/resources/view/fchomo/client.js:1897
+#: htdocs/luci-static/resources/view/fchomo/client.js:1939
msgid "Fallback filter"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1238
-#: htdocs/luci-static/resources/view/fchomo/node.js:2152
+#: htdocs/luci-static/resources/view/fchomo/node.js:841
+msgid "Fallback mode"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:848
+msgid "Fallback relay"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:1250
+#: htdocs/luci-static/resources/view/fchomo/node.js:2432
msgid "Filter nodes that meet keywords or regexps."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1752
+#: htdocs/luci-static/resources/view/fchomo/client.js:1764
msgid "Filter record type:"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1720
-#: htdocs/luci-static/resources/view/fchomo/client.js:1736
+#: htdocs/luci-static/resources/view/fchomo/client.js:1732
+#: htdocs/luci-static/resources/view/fchomo/client.js:1748
msgid "Filter record: %s"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1484
+#: htdocs/luci-static/resources/view/fchomo/client.js:1496
msgid "Final DNS server"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1486
+#: htdocs/luci-static/resources/view/fchomo/client.js:1498
msgid "Final DNS server (For non-poisoned domains)"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1488
+#: htdocs/luci-static/resources/view/fchomo/client.js:1500
msgid "Final DNS server (For poisoned domains)"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:138
+#: htdocs/luci-static/resources/view/fchomo/node.js:1487
msgid "Firewall"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:401
-#: htdocs/luci-static/resources/view/fchomo/node.js:519
+#: htdocs/luci-static/resources/view/fchomo/node.js:533
msgid "Flow"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1227
+#: htdocs/luci-static/resources/view/fchomo/client.js:1239
msgid ""
"For details, see %s."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1187
-#: htdocs/luci-static/resources/view/fchomo/node.js:2005
-#: htdocs/luci-static/resources/view/fchomo/node.js:2013
-#: htdocs/luci-static/resources/view/fchomo/node.js:2144
+#: htdocs/luci-static/resources/view/fchomo/client.js:1199
+#: htdocs/luci-static/resources/view/fchomo/node.js:2285
+#: htdocs/luci-static/resources/view/fchomo/node.js:2293
+#: htdocs/luci-static/resources/view/fchomo/node.js:2424
msgid ""
"For format see %s."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:847
-#: htdocs/luci-static/resources/view/fchomo/node.js:914
+#: htdocs/luci-static/resources/view/fchomo/node.js:843
+msgid "Force"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1646
msgid "Force DNS remote resolution."
msgstr ""
@@ -1202,7 +1282,7 @@ msgstr ""
msgid "Format"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:767
+#: htdocs/luci-static/resources/fchomo/listeners.js:769
msgid "Forwarding rate limit"
msgstr ""
@@ -1213,7 +1293,7 @@ msgstr ""
msgid "FullCombo Shark!"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1437
+#: htdocs/luci-static/resources/view/fchomo/node.js:1717
msgid "GET"
msgstr ""
@@ -1222,7 +1302,7 @@ msgid "GFW list version"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:487
-#: htdocs/luci-static/resources/view/fchomo/node.js:698
+#: htdocs/luci-static/resources/view/fchomo/node.js:712
msgid "Gecko"
msgstr ""
@@ -1231,9 +1311,9 @@ msgid "General"
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:236
-#: htdocs/luci-static/resources/view/fchomo/node.js:1815
+#: htdocs/luci-static/resources/view/fchomo/client.js:1054
+#: htdocs/luci-static/resources/view/fchomo/node.js:249
+#: htdocs/luci-static/resources/view/fchomo/node.js:2095
msgid "General fields"
msgstr ""
@@ -1241,17 +1321,17 @@ msgstr ""
msgid "General settings"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:580
#: htdocs/luci-static/resources/fchomo.js:582
-#: htdocs/luci-static/resources/fchomo.js:596
+#: htdocs/luci-static/resources/fchomo.js:584
#: htdocs/luci-static/resources/fchomo.js:598
+#: htdocs/luci-static/resources/fchomo.js:600
#: 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:953
-#: htdocs/luci-static/resources/fchomo/listeners.js:1224
+#: htdocs/luci-static/resources/fchomo/listeners.js:949
+#: htdocs/luci-static/resources/fchomo/listeners.js:1214
#: htdocs/luci-static/resources/view/fchomo/global.js:608
-#: htdocs/luci-static/resources/view/fchomo/node.js:1973
+#: htdocs/luci-static/resources/view/fchomo/node.js:2253
msgid "Generate"
msgstr ""
@@ -1267,17 +1347,17 @@ msgstr ""
msgid "GeoSite version"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1895
+#: htdocs/luci-static/resources/view/fchomo/client.js:1907
msgid "Geoip code"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1892
+#: htdocs/luci-static/resources/view/fchomo/client.js:1904
msgid "Geoip enable"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:865
-#: htdocs/luci-static/resources/view/fchomo/client.js:874
-#: htdocs/luci-static/resources/view/fchomo/client.js:1904
+#: htdocs/luci-static/resources/view/fchomo/client.js:877
+#: htdocs/luci-static/resources/view/fchomo/client.js:886
+#: htdocs/luci-static/resources/view/fchomo/client.js:1916
msgid "Geosite"
msgstr ""
@@ -1298,7 +1378,7 @@ msgstr ""
msgid "Global Authentication"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:543
+#: htdocs/luci-static/resources/view/fchomo/node.js:557
msgid "Global padding"
msgstr ""
@@ -1306,7 +1386,7 @@ msgstr ""
msgid "Google"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:256
+#: htdocs/luci-static/resources/fchomo.js:258
msgid "Google FCM"
msgstr ""
@@ -1314,58 +1394,58 @@ msgstr ""
msgid "Grant access to fchomo configuration"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1067
+#: htdocs/luci-static/resources/view/fchomo/client.js:1079
msgid "Group"
msgstr ""
#: htdocs/luci-static/resources/fchomo.js:154
#: htdocs/luci-static/resources/fchomo.js:191
-#: htdocs/luci-static/resources/fchomo/listeners.js:703
-#: htdocs/luci-static/resources/view/fchomo/node.js:1034
-#: htdocs/luci-static/resources/view/fchomo/node.js:1384
-#: htdocs/luci-static/resources/view/fchomo/node.js:1397
-#: htdocs/luci-static/resources/view/fchomo/node.js:1404
+#: htdocs/luci-static/resources/fchomo/listeners.js:702
+#: htdocs/luci-static/resources/view/fchomo/node.js:1141
+#: htdocs/luci-static/resources/view/fchomo/node.js:1664
+#: htdocs/luci-static/resources/view/fchomo/node.js:1677
+#: htdocs/luci-static/resources/view/fchomo/node.js:1684
msgid "HTTP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:316
-#: htdocs/luci-static/resources/view/fchomo/node.js:1459
-#: htdocs/luci-static/resources/view/fchomo/node.js:1985
+#: htdocs/luci-static/resources/view/fchomo/node.js:330
+#: htdocs/luci-static/resources/view/fchomo/node.js:1739
+#: htdocs/luci-static/resources/view/fchomo/node.js:2265
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:419
msgid "HTTP header"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:351
-#: htdocs/luci-static/resources/view/fchomo/node.js:440
+#: htdocs/luci-static/resources/view/fchomo/node.js:454
msgid "HTTP mask"
msgstr ""
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:459
+#: htdocs/luci-static/resources/view/fchomo/node.js:494
+#: htdocs/luci-static/resources/view/fchomo/node.js:496
msgid "HTTP mask mode"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:470
+#: htdocs/luci-static/resources/view/fchomo/node.js:484
msgid "HTTP mask multiplex"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:455
-#: htdocs/luci-static/resources/view/fchomo/node.js:460
+#: htdocs/luci-static/resources/view/fchomo/node.js:469
+#: htdocs/luci-static/resources/view/fchomo/node.js:474
msgid "HTTP mask: %s"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1436
+#: htdocs/luci-static/resources/view/fchomo/node.js:1716
msgid "HTTP request method"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:366
-#: htdocs/luci-static/resources/view/fchomo/node.js:466
+#: htdocs/luci-static/resources/view/fchomo/node.js:480
msgid "HTTP root path"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1651
+#: htdocs/luci-static/resources/view/fchomo/client.js:1663
msgid "HTTP/3"
msgstr ""
@@ -1375,9 +1455,9 @@ msgid ""
"returned if empty."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1385
-#: htdocs/luci-static/resources/view/fchomo/node.js:1398
-#: htdocs/luci-static/resources/view/fchomo/node.js:1405
+#: htdocs/luci-static/resources/view/fchomo/node.js:1665
+#: htdocs/luci-static/resources/view/fchomo/node.js:1678
+#: htdocs/luci-static/resources/view/fchomo/node.js:1685
msgid "HTTPUpgrade"
msgstr ""
@@ -1385,20 +1465,20 @@ msgstr ""
msgid "Handle domain"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:362
+#: htdocs/luci-static/resources/view/fchomo/node.js:376
msgid "Handshake mode"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:750
+#: htdocs/luci-static/resources/fchomo/listeners.js:752
msgid "Handshake target proxy"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:715
+#: htdocs/luci-static/resources/fchomo/listeners.js:707
msgid "Handshake target that supports TLS 1.3"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:338
-#: htdocs/luci-static/resources/view/fchomo/node.js:969
+#: htdocs/luci-static/resources/view/fchomo/node.js:1076
msgid "Handshake timeout"
msgstr ""
@@ -1406,63 +1486,66 @@ msgstr ""
msgid "Header to read real client IP from (e.g. X-Forwarded-For)"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:775
+#: htdocs/luci-static/resources/view/fchomo/node.js:962
+msgid "Headscale/Tailscale"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:788
msgid "Health check"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1156
-#: htdocs/luci-static/resources/view/fchomo/node.js:2112
+#: htdocs/luci-static/resources/view/fchomo/client.js:1168
+#: htdocs/luci-static/resources/view/fchomo/node.js:2392
msgid "Health check URL"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1185
-#: htdocs/luci-static/resources/view/fchomo/node.js:2142
+#: htdocs/luci-static/resources/view/fchomo/client.js:1197
+#: htdocs/luci-static/resources/view/fchomo/node.js:2422
msgid "Health check expected status"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1165
-#: htdocs/luci-static/resources/view/fchomo/node.js:2122
+#: htdocs/luci-static/resources/view/fchomo/client.js:1177
+#: htdocs/luci-static/resources/view/fchomo/node.js:2402
msgid "Health check interval"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1172
-#: htdocs/luci-static/resources/view/fchomo/node.js:2129
+#: htdocs/luci-static/resources/view/fchomo/client.js:1184
+#: htdocs/luci-static/resources/view/fchomo/node.js:2409
msgid "Health check timeout"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1044
-#: htdocs/luci-static/resources/view/fchomo/node.js:1817
+#: htdocs/luci-static/resources/view/fchomo/client.js:1056
+#: htdocs/luci-static/resources/view/fchomo/node.js:2097
msgid "Health fields"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:656
-#: htdocs/luci-static/resources/view/fchomo/node.js:738
+#: htdocs/luci-static/resources/view/fchomo/node.js:670
+#: htdocs/luci-static/resources/view/fchomo/node.js:751
msgid "Heartbeat interval"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1253
+#: htdocs/luci-static/resources/view/fchomo/client.js:1265
msgid "Hidden"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:708
-#: htdocs/luci-static/resources/view/fchomo/node.js:1039
+#: htdocs/luci-static/resources/fchomo/listeners.js:715
+#: htdocs/luci-static/resources/view/fchomo/node.js:1146
msgid "Host that supports TLS 1.3"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:939
+#: htdocs/luci-static/resources/view/fchomo/node.js:1045
msgid "Host-key"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:934
+#: htdocs/luci-static/resources/view/fchomo/node.js:1040
msgid "Host-key algorithms"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:460
+#: htdocs/luci-static/resources/view/fchomo/node.js:474
msgid "Host/SNI override"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1068
-#: htdocs/luci-static/resources/view/fchomo/node.js:1208
+#: htdocs/luci-static/resources/view/fchomo/node.js:1318
msgid ""
"Hostname that the client attempts to connect to at the start of the TLS "
"handshake process."
@@ -1483,58 +1566,74 @@ msgid "Hysteria2 Realm Server"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:122
-#: htdocs/luci-static/resources/view/fchomo/node.js:239
+#: htdocs/luci-static/resources/view/fchomo/node.js:252
msgid "Hysteria2 Realm fields"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1897
-#: htdocs/luci-static/resources/view/fchomo/client.js:1911
+#: htdocs/luci-static/resources/view/fchomo/client.js:1909
+#: htdocs/luci-static/resources/view/fchomo/client.js:1923
msgid "IP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1909
+#: htdocs/luci-static/resources/view/fchomo/client.js:1921
msgid "IP CIDR"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:613
+#: htdocs/luci-static/resources/view/fchomo/node.js:627
msgid "IP override"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1679
-#: htdocs/luci-static/resources/view/fchomo/node.js:2098
+#: htdocs/luci-static/resources/view/fchomo/node.js:893
+msgid "IP stack"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1959
+#: htdocs/luci-static/resources/view/fchomo/node.js:2378
msgid "IP version"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:1569
+#: htdocs/luci-static/resources/view/fchomo/node.js:1579
+#: htdocs/luci-static/resources/view/fchomo/node.js:1583
+msgid "IPv4"
+msgstr ""
+
#: htdocs/luci-static/resources/fchomo.js:176
msgid "IPv4 only"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:1595
+#: htdocs/luci-static/resources/view/fchomo/node.js:1604
+#: htdocs/luci-static/resources/view/fchomo/node.js:1608
+msgid "IPv6"
+msgstr ""
+
#: htdocs/luci-static/resources/fchomo.js:177
msgid "IPv6 only"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1467
+#: htdocs/luci-static/resources/view/fchomo/client.js:1479
#: htdocs/luci-static/resources/view/fchomo/global.js:436
msgid "IPv6 support"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1259
+#: htdocs/luci-static/resources/view/fchomo/client.js:1271
msgid "Icon"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:586
+#: htdocs/luci-static/resources/view/fchomo/node.js:600
msgid "Idle session check interval"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:593
+#: htdocs/luci-static/resources/view/fchomo/node.js:607
msgid "Idle session timeout"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:648
+#: htdocs/luci-static/resources/fchomo/listeners.js:647
msgid "Idle timeout"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1804
+#: htdocs/luci-static/resources/fchomo.js:1806
msgid "If All ports is selected, uncheck others"
msgstr ""
@@ -1546,24 +1645,24 @@ msgstr ""
msgid "Ignore client bandwidth"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:765
+#: htdocs/luci-static/resources/fchomo.js:767
msgid "Import"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:979
-#: htdocs/luci-static/resources/view/fchomo/client.js:1036
-#: htdocs/luci-static/resources/view/fchomo/client.js:1282
-#: htdocs/luci-static/resources/view/fchomo/client.js:1333
-#: htdocs/luci-static/resources/view/fchomo/client.js:1404
-#: htdocs/luci-static/resources/view/fchomo/client.js:1428
-#: htdocs/luci-static/resources/view/fchomo/client.js:1532
-#: htdocs/luci-static/resources/view/fchomo/client.js:1570
-#: htdocs/luci-static/resources/view/fchomo/client.js:1787
-#: htdocs/luci-static/resources/view/fchomo/client.js:1804
-#: htdocs/luci-static/resources/view/fchomo/client.js:1839
-#: htdocs/luci-static/resources/view/fchomo/client.js:1860
-#: htdocs/luci-static/resources/view/fchomo/node.js:1705
-#: htdocs/luci-static/resources/view/fchomo/node.js:1803
+#: htdocs/luci-static/resources/view/fchomo/client.js:991
+#: htdocs/luci-static/resources/view/fchomo/client.js:1048
+#: htdocs/luci-static/resources/view/fchomo/client.js:1294
+#: htdocs/luci-static/resources/view/fchomo/client.js:1345
+#: htdocs/luci-static/resources/view/fchomo/client.js:1416
+#: htdocs/luci-static/resources/view/fchomo/client.js:1440
+#: htdocs/luci-static/resources/view/fchomo/client.js:1544
+#: htdocs/luci-static/resources/view/fchomo/client.js:1582
+#: htdocs/luci-static/resources/view/fchomo/client.js:1799
+#: htdocs/luci-static/resources/view/fchomo/client.js:1816
+#: htdocs/luci-static/resources/view/fchomo/client.js:1851
+#: htdocs/luci-static/resources/view/fchomo/client.js:1872
+#: htdocs/luci-static/resources/view/fchomo/node.js:1985
+#: htdocs/luci-static/resources/view/fchomo/node.js:2083
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:154
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:249
msgid "Import mihomo config"
@@ -1577,66 +1676,66 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:466
#: htdocs/luci-static/resources/fchomo/listeners.js:472
-#: htdocs/luci-static/resources/view/fchomo/node.js:672
-#: htdocs/luci-static/resources/view/fchomo/node.js:678
-#: htdocs/luci-static/resources/view/fchomo/node.js:2050
-#: htdocs/luci-static/resources/view/fchomo/node.js:2056
+#: htdocs/luci-static/resources/view/fchomo/node.js:686
+#: htdocs/luci-static/resources/view/fchomo/node.js:692
+#: htdocs/luci-static/resources/view/fchomo/node.js:2330
+#: htdocs/luci-static/resources/view/fchomo/node.js:2336
msgid "In Mbps."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:768
+#: htdocs/luci-static/resources/fchomo/listeners.js:770
msgid "In bps. 0 means no speed limit."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1893
+#: htdocs/luci-static/resources/view/fchomo/node.js:2173
#: 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:657
-#: htdocs/luci-static/resources/view/fchomo/node.js:664
-#: htdocs/luci-static/resources/view/fchomo/node.js:739
+#: htdocs/luci-static/resources/view/fchomo/node.js:671
+#: htdocs/luci-static/resources/view/fchomo/node.js:678
+#: htdocs/luci-static/resources/view/fchomo/node.js:752
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:2130
+#: htdocs/luci-static/resources/view/fchomo/client.js:1185
+#: htdocs/luci-static/resources/view/fchomo/client.js:1231
+#: htdocs/luci-static/resources/view/fchomo/node.js:2410
msgid "In millisecond. %s will be used if empty."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1528
+#: htdocs/luci-static/resources/view/fchomo/node.js:1808
msgid "In milliseconds."
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:339
#: htdocs/luci-static/resources/fchomo/listeners.js:458
-#: htdocs/luci-static/resources/fchomo/listeners.js:649
-#: 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:1475
+#: htdocs/luci-static/resources/fchomo/listeners.js:648
+#: htdocs/luci-static/resources/view/fchomo/node.js:601
+#: htdocs/luci-static/resources/view/fchomo/node.js:608
+#: htdocs/luci-static/resources/view/fchomo/node.js:1755
msgid "In seconds."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1166
+#: htdocs/luci-static/resources/view/fchomo/client.js:1178
#: 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:690
-#: htdocs/luci-static/resources/view/fchomo/node.js:1899
-#: htdocs/luci-static/resources/view/fchomo/node.js:2123
+#: htdocs/luci-static/resources/view/fchomo/node.js:704
+#: htdocs/luci-static/resources/view/fchomo/node.js:2179
+#: htdocs/luci-static/resources/view/fchomo/node.js:2403
#: 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:970
+#: htdocs/luci-static/resources/view/fchomo/node.js:1077
msgid ""
"In seconds. After configuration, the handshake is not affected by the outer "
"connection timeout."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:869
-#: htdocs/luci-static/resources/view/fchomo/node.js:1128
+#: htdocs/luci-static/resources/fchomo/listeners.js:865
+#: htdocs/luci-static/resources/view/fchomo/node.js:1238
msgid ""
"In the order of one Padding-Length and one Padding-"
"Interval, infinite concatenation."
@@ -1648,27 +1747,27 @@ msgstr ""
msgid "Inbound"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1120
+#: htdocs/luci-static/resources/view/fchomo/client.js:1132
msgid "Include all"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1125
+#: htdocs/luci-static/resources/view/fchomo/client.js:1137
msgid "Include all node"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1130
+#: htdocs/luci-static/resources/view/fchomo/client.js:1142
msgid "Include all provider"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1131
+#: htdocs/luci-static/resources/view/fchomo/client.js:1143
msgid "Includes all Provider."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1121
+#: htdocs/luci-static/resources/view/fchomo/client.js:1133
msgid "Includes all Proxy Node and Provider."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1126
+#: htdocs/luci-static/resources/view/fchomo/client.js:1138
msgid "Includes all Proxy Node."
msgstr ""
@@ -1676,87 +1775,100 @@ msgstr ""
msgid "Info"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:558
-#: htdocs/luci-static/resources/view/fchomo/node.js:745
+#: htdocs/luci-static/resources/fchomo/listeners.js:557
+#: htdocs/luci-static/resources/view/fchomo/node.js:758
msgid "Initial congestion window size"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1832
+#: htdocs/luci-static/resources/view/fchomo/node.js:2112
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:288
msgid "Inline"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:818
+msgid "Insane"
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/global.js:751
msgid "Interface Control"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:678
-#: htdocs/luci-static/resources/fchomo/listeners.js:688
-#: htdocs/luci-static/resources/fchomo/listeners.js:693
-#: htdocs/luci-static/resources/fchomo/listeners.js:1132
-#: htdocs/luci-static/resources/fchomo/listeners.js:1248
-#: htdocs/luci-static/resources/view/fchomo/node.js:1009
-#: htdocs/luci-static/resources/view/fchomo/node.js:1019
-#: htdocs/luci-static/resources/view/fchomo/node.js:1024
-#: htdocs/luci-static/resources/view/fchomo/node.js:1351
+#: htdocs/luci-static/resources/fchomo/listeners.js:677
+#: htdocs/luci-static/resources/fchomo/listeners.js:687
+#: htdocs/luci-static/resources/fchomo/listeners.js:692
+#: htdocs/luci-static/resources/fchomo/listeners.js:1122
+#: htdocs/luci-static/resources/fchomo/listeners.js:1238
+#: htdocs/luci-static/resources/view/fchomo/node.js:1116
+#: htdocs/luci-static/resources/view/fchomo/node.js:1126
+#: htdocs/luci-static/resources/view/fchomo/node.js:1131
+#: htdocs/luci-static/resources/view/fchomo/node.js:1461
msgid "JLS"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:879
+msgid "Join %s. Format: %s"
+msgstr ""
+
#: htdocs/luci-static/resources/fchomo.js:53
#: htdocs/luci-static/resources/fchomo.js:60
#: htdocs/luci-static/resources/fchomo.js:174
-#: htdocs/luci-static/resources/fchomo.js:379
-#: htdocs/luci-static/resources/view/fchomo/node.js:2072
+#: htdocs/luci-static/resources/fchomo.js:381
+#: htdocs/luci-static/resources/view/fchomo/node.js:894
+#: htdocs/luci-static/resources/view/fchomo/node.js:2352
msgid "Keep default"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1564
+#: htdocs/luci-static/resources/view/fchomo/node.js:1844
msgid "Keep-alive period"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:217
-#: htdocs/luci-static/resources/view/fchomo/node.js:376
+#: htdocs/luci-static/resources/view/fchomo/node.js:390
msgid "Key"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1151
-#: htdocs/luci-static/resources/view/fchomo/node.js:1301
+#: htdocs/luci-static/resources/fchomo/listeners.js:1141
+#: htdocs/luci-static/resources/view/fchomo/node.js:1411
msgid "Key path"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:888
+#: htdocs/luci-static/resources/fchomo/listeners.js:884
msgid "Keypairs"
msgstr ""
+#: htdocs/luci-static/resources/fchomo.js:207
+msgid "L2"
+msgstr ""
+
#: 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:245
-#: htdocs/luci-static/resources/view/fchomo/node.js:1820
-#: htdocs/luci-static/resources/view/fchomo/node.js:2191
+#: htdocs/luci-static/resources/view/fchomo/client.js:1059
+#: htdocs/luci-static/resources/view/fchomo/client.js:1351
+#: htdocs/luci-static/resources/view/fchomo/client.js:1446
+#: htdocs/luci-static/resources/view/fchomo/client.js:1588
+#: htdocs/luci-static/resources/view/fchomo/client.js:1822
+#: htdocs/luci-static/resources/view/fchomo/client.js:1878
+#: htdocs/luci-static/resources/view/fchomo/node.js:259
+#: htdocs/luci-static/resources/view/fchomo/node.js:2100
+#: htdocs/luci-static/resources/view/fchomo/node.js:2471
#: 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:2136
+#: htdocs/luci-static/resources/view/fchomo/client.js:1191
+#: htdocs/luci-static/resources/view/fchomo/node.js:2416
msgid "Lazy"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1918
+#: htdocs/luci-static/resources/view/fchomo/client.js:1930
msgid "Lazy query"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1919
+#: htdocs/luci-static/resources/view/fchomo/client.js:1931
msgid "Lazy query."
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:358
-#: htdocs/luci-static/resources/view/fchomo/node.js:447
+#: htdocs/luci-static/resources/view/fchomo/node.js:461
msgid "Legacy"
msgstr ""
@@ -1770,8 +1882,8 @@ msgstr ""
msgid "Less compatibility and sometimes better performance."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1074
-#: htdocs/luci-static/resources/view/fchomo/node.js:1214
+#: htdocs/luci-static/resources/fchomo/listeners.js:1064
+#: htdocs/luci-static/resources/view/fchomo/node.js:1324
msgid "List of supported application level protocols, in order of preference."
msgstr ""
@@ -1788,7 +1900,9 @@ msgid "Listen interfaces"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:154
-#: htdocs/luci-static/resources/view/fchomo/client.js:1459
+#: htdocs/luci-static/resources/view/fchomo/client.js:1471
+#: htdocs/luci-static/resources/view/fchomo/node.js:1507
+#: htdocs/luci-static/resources/view/fchomo/node.js:1537
msgid "Listen port"
msgstr ""
@@ -1796,29 +1910,19 @@ msgstr ""
msgid "Listen ports"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1464
+#: htdocs/luci-static/resources/view/fchomo/client.js:1476
msgid "Listen routing mark (Fwmark)"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:246
+#: htdocs/luci-static/resources/fchomo.js:248
msgid "Load balance"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1830
+#: htdocs/luci-static/resources/view/fchomo/node.js:2110
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:286
msgid "Local"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:794
-#: htdocs/luci-static/resources/view/fchomo/node.js:881
-msgid "Virtual IPv6 address"
-msgstr ""
-
-#: htdocs/luci-static/resources/view/fchomo/node.js:786
-#: htdocs/luci-static/resources/view/fchomo/node.js:873
-msgid "Virtual address"
-msgstr ""
-
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:70
msgid "Log"
msgstr ""
@@ -1835,28 +1939,31 @@ msgstr ""
msgid "Log level"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:829
+msgid "Low Bandwidth Mode"
+msgstr ""
+
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:414
+#: htdocs/luci-static/resources/view/fchomo/node.js:415
+#: htdocs/luci-static/resources/view/fchomo/node.js:416
+#: htdocs/luci-static/resources/view/fchomo/node.js:421
msgid "Low-entropy data stream"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:454
+#: htdocs/luci-static/resources/fchomo.js:456
msgid "Lowercase only"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:523
-#: htdocs/luci-static/resources/view/fchomo/node.js:840
-#: htdocs/luci-static/resources/view/fchomo/node.js:887
+#: htdocs/luci-static/resources/view/fchomo/node.js:1618
msgid "MTU"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:208
+#: htdocs/luci-static/resources/fchomo.js:210
msgid "Masque"
msgstr ""
@@ -1864,75 +1971,75 @@ msgstr ""
msgid "Masquerade"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:870
+#: htdocs/luci-static/resources/view/fchomo/client.js:882
msgid "Match domain. Support wildcards."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1915
+#: htdocs/luci-static/resources/view/fchomo/client.js:1927
msgid "Match domain. Support wildcards."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:875
+#: htdocs/luci-static/resources/view/fchomo/client.js:887
msgid "Match geosite."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1905
+#: htdocs/luci-static/resources/view/fchomo/client.js:1917
msgid "Match geosite."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1896
+#: htdocs/luci-static/resources/view/fchomo/client.js:1908
msgid "Match response with geoip."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1910
+#: htdocs/luci-static/resources/view/fchomo/client.js:1922
msgid "Match response with ipcidr."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:880
+#: htdocs/luci-static/resources/view/fchomo/client.js:892
msgid "Match rule set."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1481
+#: htdocs/luci-static/resources/view/fchomo/node.js:1761
msgid "Max Early Data"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:451
-#: htdocs/luci-static/resources/view/fchomo/node.js:638
+#: htdocs/luci-static/resources/view/fchomo/node.js:652
msgid "Max UDP relay packet size"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1365
+#: htdocs/luci-static/resources/fchomo/listeners.js:1355
msgid "Max buffered posts"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1539
+#: htdocs/luci-static/resources/view/fchomo/node.js:1819
msgid "Max concurrency"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1544
+#: htdocs/luci-static/resources/view/fchomo/node.js:1824
msgid "Max connections"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1193
+#: htdocs/luci-static/resources/view/fchomo/client.js:1205
msgid "Max count of failures"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:564
-#: htdocs/luci-static/resources/view/fchomo/node.js:751
+#: htdocs/luci-static/resources/fchomo/listeners.js:563
+#: htdocs/luci-static/resources/view/fchomo/node.js:764
msgid "Max datagram frame size"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:471
-#: htdocs/luci-static/resources/view/fchomo/node.js:677
+#: htdocs/luci-static/resources/view/fchomo/node.js:691
msgid "Max download speed"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1376
-#: htdocs/luci-static/resources/view/fchomo/node.js:1521
+#: htdocs/luci-static/resources/fchomo/listeners.js:1366
+#: htdocs/luci-static/resources/view/fchomo/node.js:1801
msgid "Max each POST bytes"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:963
+#: htdocs/luci-static/resources/view/fchomo/node.js:1070
msgid "Max open streams"
msgstr ""
@@ -1944,47 +2051,47 @@ msgstr ""
msgid "Max realms per client IP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1554
+#: htdocs/luci-static/resources/view/fchomo/node.js:1834
msgid "Max request times"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1559
+#: htdocs/luci-static/resources/view/fchomo/node.js:1839
msgid "Max reusable seconds"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1549
+#: htdocs/luci-static/resources/view/fchomo/node.js:1829
msgid "Max reuse times"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:465
-#: htdocs/luci-static/resources/view/fchomo/node.js:671
+#: htdocs/luci-static/resources/view/fchomo/node.js:685
msgid "Max upload speed"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1585
-#: htdocs/luci-static/resources/view/fchomo/node.js:1605
+#: htdocs/luci-static/resources/view/fchomo/node.js:1865
+#: htdocs/luci-static/resources/view/fchomo/node.js:1885
msgid "Maximum connections"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1603
+#: htdocs/luci-static/resources/view/fchomo/node.js:1883
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:323
-#: htdocs/luci-static/resources/view/fchomo/node.js:419
+#: htdocs/luci-static/resources/view/fchomo/node.js:433
msgid "Maximum padding rate"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:331
-#: htdocs/luci-static/resources/view/fchomo/node.js:427
+#: htdocs/luci-static/resources/view/fchomo/node.js:441
msgid ""
"Maximum padding rate must be greater than or equal to the minimum padding "
"rate."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1602
+#: htdocs/luci-static/resources/view/fchomo/node.js:1882
msgid "Maximum streams"
msgstr ""
@@ -1993,7 +2100,7 @@ msgstr ""
msgid "Mieru"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:934
+#: htdocs/luci-static/resources/view/fchomo/client.js:946
#: htdocs/luci-static/resources/view/fchomo/log.js:149
#: htdocs/luci-static/resources/view/fchomo/log.js:154
msgid "Mihomo client"
@@ -2005,26 +2112,26 @@ msgstr ""
msgid "Mihomo server"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:600
+#: htdocs/luci-static/resources/view/fchomo/node.js:614
msgid "Min of idle sessions to keep"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1527
+#: htdocs/luci-static/resources/view/fchomo/node.js:1807
msgid "Min posts interval"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1594
+#: htdocs/luci-static/resources/view/fchomo/node.js:1874
msgid ""
"Minimum multiplexed streams in a connection before opening a new connection."
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:316
-#: htdocs/luci-static/resources/view/fchomo/node.js:412
+#: htdocs/luci-static/resources/view/fchomo/node.js:426
msgid "Minimum padding rate"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1593
-#: htdocs/luci-static/resources/view/fchomo/node.js:1605
+#: htdocs/luci-static/resources/view/fchomo/node.js:1873
+#: htdocs/luci-static/resources/view/fchomo/node.js:1885
msgid "Minimum streams"
msgstr ""
@@ -2041,30 +2148,30 @@ msgstr ""
msgid "Mixed port"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1383
-#: htdocs/luci-static/resources/view/fchomo/node.js:1571
+#: htdocs/luci-static/resources/fchomo/listeners.js:1373
+#: htdocs/luci-static/resources/view/fchomo/node.js:1851
msgid "Multiplex"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:125
-#: htdocs/luci-static/resources/view/fchomo/node.js:242
+#: htdocs/luci-static/resources/view/fchomo/node.js:256
msgid "Multiplex fields"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:353
+#: htdocs/luci-static/resources/view/fchomo/node.js:367
msgid "Multiplexing"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:630
-#: htdocs/luci-static/resources/view/fchomo/client.js:706
+#: htdocs/luci-static/resources/view/fchomo/client.js:642
+#: htdocs/luci-static/resources/view/fchomo/client.js:718
msgid "NOT"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:616
+#: htdocs/luci-static/resources/fchomo/listeners.js:615
msgid "Name of the Proxy group as outbound."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1905
+#: htdocs/luci-static/resources/view/fchomo/node.js:2185
msgid "Name of the Proxy group to download provider."
msgstr ""
@@ -2072,27 +2179,27 @@ msgstr ""
msgid "Name of the Proxy group to download rule set."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:604
+#: htdocs/luci-static/resources/fchomo/listeners.js:603
msgid "Name of the Sub rule used for inbound matching."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:622
+#: htdocs/luci-static/resources/view/fchomo/node.js:636
msgid "Native UDP"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:396
+#: htdocs/luci-static/resources/fchomo.js:398
msgid "Native appearance"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:893
+#: htdocs/luci-static/resources/view/fchomo/node.js:1010
msgid "Network"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:655
+#: htdocs/luci-static/resources/fchomo/listeners.js:654
msgid "Network type"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2074
+#: htdocs/luci-static/resources/view/fchomo/node.js:2354
msgid "No"
msgstr ""
@@ -2100,24 +2207,24 @@ msgstr ""
msgid "No Authentication IP ranges"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1360
+#: htdocs/luci-static/resources/fchomo/listeners.js:1350
msgid "No SSE header"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1596
+#: htdocs/luci-static/resources/view/fchomo/client.js:1608
msgid "No add'l params"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1511
+#: htdocs/luci-static/resources/view/fchomo/node.js:1791
msgid "No gRPC header"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1180
-#: htdocs/luci-static/resources/view/fchomo/node.js:2137
+#: htdocs/luci-static/resources/view/fchomo/client.js:1192
+#: htdocs/luci-static/resources/view/fchomo/node.js:2417
msgid "No testing is performed when this provider node is not in use."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:726
+#: htdocs/luci-static/resources/fchomo.js:728
msgid "No valid %s found."
msgstr ""
@@ -2125,81 +2232,85 @@ msgstr ""
msgid "No valid rule-set link found."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1080
+#: htdocs/luci-static/resources/view/fchomo/client.js:1092
#: 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:2157
+#: htdocs/luci-static/resources/view/fchomo/client.js:1254
+#: htdocs/luci-static/resources/view/fchomo/node.js:2437
msgid "Node exclude filter"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1247
-#: htdocs/luci-static/resources/view/fchomo/node.js:2164
+#: htdocs/luci-static/resources/view/fchomo/client.js:1259
+#: htdocs/luci-static/resources/view/fchomo/node.js:2444
msgid "Node exclude type"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1237
-#: htdocs/luci-static/resources/view/fchomo/node.js:2151
+#: htdocs/luci-static/resources/view/fchomo/client.js:1249
+#: htdocs/luci-static/resources/view/fchomo/node.js:2431
msgid "Node filter"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1218
+#: htdocs/luci-static/resources/view/fchomo/client.js:1230
msgid "Node switch tolerance"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:423
+#: htdocs/luci-static/resources/fchomo.js:425
msgid "None"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:814
+msgid "Normal"
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/global.js:634
msgid "Not Installed"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1582
+#: htdocs/luci-static/resources/fchomo.js:1584
msgid "Not Running"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:473
+#: htdocs/luci-static/resources/view/fchomo/node.js:487
msgid "OFF"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:475
+#: htdocs/luci-static/resources/view/fchomo/node.js:489
msgid "ON"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:702
-#: htdocs/luci-static/resources/view/fchomo/node.js:1033
+#: htdocs/luci-static/resources/fchomo/listeners.js:701
+#: htdocs/luci-static/resources/view/fchomo/node.js:1140
msgid "Obfs Mode"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:504
-#: htdocs/luci-static/resources/view/fchomo/node.js:715
+#: htdocs/luci-static/resources/view/fchomo/node.js:729
msgid "Obfuscate maximum packet size"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:499
-#: htdocs/luci-static/resources/view/fchomo/node.js:710
+#: htdocs/luci-static/resources/view/fchomo/node.js:724
msgid "Obfuscate minimum packet size"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:491
-#: htdocs/luci-static/resources/view/fchomo/node.js:702
+#: htdocs/luci-static/resources/view/fchomo/node.js:716
msgid "Obfuscate password"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:291
#: htdocs/luci-static/resources/fchomo/listeners.js:484
-#: htdocs/luci-static/resources/view/fchomo/node.js:398
-#: htdocs/luci-static/resources/view/fchomo/node.js:695
+#: htdocs/luci-static/resources/view/fchomo/node.js:412
+#: htdocs/luci-static/resources/view/fchomo/node.js:709
msgid "Obfuscate type"
msgstr ""
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:413
+#: htdocs/luci-static/resources/view/fchomo/node.js:414
msgid "Obfuscated as %s"
msgstr ""
@@ -2207,12 +2318,12 @@ msgstr ""
msgid "One or more numbers in the range 0-63 separated by commas"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1062
+#: htdocs/luci-static/resources/fchomo/listeners.js:1058
msgid "Only applicable when %s are used as a frontend."
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:300
-#: htdocs/luci-static/resources/view/fchomo/node.js:407
+#: htdocs/luci-static/resources/view/fchomo/node.js:421
msgid "Only applies to the %s."
msgstr ""
@@ -2220,7 +2331,7 @@ msgstr ""
msgid "Only process traffic from specific interfaces. Leave empty for all."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1576
+#: htdocs/luci-static/resources/fchomo.js:1578
msgid "Open Dashboard"
msgstr ""
@@ -2228,11 +2339,11 @@ msgstr ""
msgid "Operation mode"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1907
+#: htdocs/luci-static/resources/view/fchomo/client.js:1919
msgid "Option is deprecated. Please use %s instead."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2022
+#: htdocs/luci-static/resources/view/fchomo/node.js:2302
msgid "Other configuration items"
msgstr ""
@@ -2240,8 +2351,8 @@ msgstr ""
msgid "Outbound"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1273
-#: htdocs/luci-static/resources/view/fchomo/node.js:2061
+#: htdocs/luci-static/resources/view/fchomo/node.js:1383
+#: htdocs/luci-static/resources/view/fchomo/node.js:2341
msgid "Override cert DNSName"
msgstr ""
@@ -2250,16 +2361,16 @@ msgstr ""
msgid "Override destination"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1043
-#: htdocs/luci-static/resources/view/fchomo/node.js:1816
+#: htdocs/luci-static/resources/view/fchomo/client.js:1055
+#: htdocs/luci-static/resources/view/fchomo/node.js:2096
msgid "Override fields"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:614
+#: htdocs/luci-static/resources/view/fchomo/node.js:628
msgid "Override the IP address of the server that DNS response."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:908
+#: htdocs/luci-static/resources/view/fchomo/client.js:920
msgid "Override the Proxy group of DNS server."
msgstr ""
@@ -2267,11 +2378,11 @@ msgstr ""
msgid "Override the connection destination address with the sniffed domain."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1703
+#: htdocs/luci-static/resources/view/fchomo/client.js:1715
msgid "Override the existing ECS in original request."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1328
+#: htdocs/luci-static/resources/view/fchomo/node.js:1438
msgid "Overrides the domain name used for HTTPS record queries."
msgstr ""
@@ -2279,19 +2390,19 @@ msgstr ""
msgid "Overview"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1438
+#: htdocs/luci-static/resources/view/fchomo/node.js:1718
msgid "POST"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1439
+#: htdocs/luci-static/resources/view/fchomo/node.js:1719
msgid "PUT"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:555
+#: htdocs/luci-static/resources/view/fchomo/node.js:569
msgid "Packet encoding"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1516
+#: htdocs/luci-static/resources/view/fchomo/node.js:1796
msgid "Padding bytes"
msgstr ""
@@ -2299,22 +2410,22 @@ msgstr ""
msgid "Padding scheme"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:867
-#: htdocs/luci-static/resources/view/fchomo/node.js:1126
+#: htdocs/luci-static/resources/fchomo/listeners.js:863
+#: htdocs/luci-static/resources/view/fchomo/node.js:1236
msgid "Paddings"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:167
#: htdocs/luci-static/resources/fchomo/listeners.js:184
-#: htdocs/luci-static/resources/fchomo/listeners.js:729
-#: 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:1052
+#: htdocs/luci-static/resources/fchomo/listeners.js:730
+#: htdocs/luci-static/resources/view/fchomo/node.js:324
+#: htdocs/luci-static/resources/view/fchomo/node.js:345
+#: htdocs/luci-static/resources/view/fchomo/node.js:1161
msgid "Password"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:582
-#: htdocs/luci-static/resources/view/fchomo/node.js:769
+#: htdocs/luci-static/resources/fchomo/listeners.js:581
+#: htdocs/luci-static/resources/view/fchomo/node.js:782
msgid "Path MTU Discovery"
msgstr ""
@@ -2326,13 +2437,13 @@ msgstr ""
msgid "Path in bundle: %s"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:807
-#: htdocs/luci-static/resources/view/fchomo/node.js:1880
+#: htdocs/luci-static/resources/fchomo/listeners.js:803
+#: htdocs/luci-static/resources/view/fchomo/node.js:2160
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:373
msgid "Payload"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:808
+#: htdocs/luci-static/resources/view/fchomo/node.js:923
msgid "Peer public key"
msgstr ""
@@ -2342,14 +2453,18 @@ msgid ""
"it is not needed."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:835
+#: htdocs/luci-static/resources/view/fchomo/node.js:950
msgid "Periodically sends data packets to maintain connection persistence."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:834
+#: htdocs/luci-static/resources/view/fchomo/node.js:949
msgid "Persistent keepalive"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:822
+msgid "Physical MTU"
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:306
msgid "Plain text"
msgstr ""
@@ -2367,8 +2482,8 @@ msgid ""
"standards."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1853
-#: htdocs/luci-static/resources/view/fchomo/node.js:1879
+#: htdocs/luci-static/resources/view/fchomo/node.js:2133
+#: htdocs/luci-static/resources/view/fchomo/node.js:2159
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:346
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:372
msgid ""
@@ -2376,45 +2491,45 @@ msgid ""
"a>."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:980
-#: htdocs/luci-static/resources/view/fchomo/client.js:1283
-#: htdocs/luci-static/resources/view/fchomo/client.js:1405
-#: htdocs/luci-static/resources/view/fchomo/client.js:1533
-#: htdocs/luci-static/resources/view/fchomo/client.js:1788
-#: htdocs/luci-static/resources/view/fchomo/client.js:1840
-#: htdocs/luci-static/resources/view/fchomo/node.js:1706
+#: htdocs/luci-static/resources/view/fchomo/client.js:992
+#: htdocs/luci-static/resources/view/fchomo/client.js:1295
+#: htdocs/luci-static/resources/view/fchomo/client.js:1417
+#: htdocs/luci-static/resources/view/fchomo/client.js:1545
+#: htdocs/luci-static/resources/view/fchomo/client.js:1800
+#: htdocs/luci-static/resources/view/fchomo/client.js:1852
+#: htdocs/luci-static/resources/view/fchomo/node.js:1986
#: 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:668
-#: htdocs/luci-static/resources/view/fchomo/node.js:997
+#: htdocs/luci-static/resources/fchomo/listeners.js:667
+#: htdocs/luci-static/resources/view/fchomo/node.js:1104
msgid "Plugin"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:120
-#: htdocs/luci-static/resources/view/fchomo/node.js:237
+#: htdocs/luci-static/resources/view/fchomo/node.js:250
msgid "Plugin fields"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:674
-#: htdocs/luci-static/resources/view/fchomo/node.js:1003
+#: htdocs/luci-static/resources/fchomo/listeners.js:673
+#: htdocs/luci-static/resources/view/fchomo/node.js:1110
msgid "Plugin type"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:265
+#: htdocs/luci-static/resources/view/fchomo/node.js:279
msgid "Port"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1813
+#: htdocs/luci-static/resources/fchomo.js:1815
msgid "Port %s alrealy exists!"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:689
+#: htdocs/luci-static/resources/view/fchomo/node.js:703
msgid "Port hop interval"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:341
+#: htdocs/luci-static/resources/view/fchomo/node.js:355
msgid "Port range"
msgstr ""
@@ -2423,19 +2538,19 @@ msgid "Ports"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:154
-#: htdocs/luci-static/resources/view/fchomo/node.js:684
+#: htdocs/luci-static/resources/view/fchomo/node.js:698
msgid "Ports pool"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:377
#: htdocs/luci-static/resources/fchomo/listeners.js:516
-#: htdocs/luci-static/resources/view/fchomo/node.js:490
-#: htdocs/luci-static/resources/view/fchomo/node.js:815
+#: htdocs/luci-static/resources/view/fchomo/node.js:504
+#: htdocs/luci-static/resources/view/fchomo/node.js:930
msgid "Pre-shared key"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1005
-#: htdocs/luci-static/resources/view/fchomo/node.js:1161
+#: htdocs/luci-static/resources/fchomo/listeners.js:1001
+#: htdocs/luci-static/resources/view/fchomo/node.js:1271
msgid "Pre-shared key of rendezvous server"
msgstr ""
@@ -2452,70 +2567,70 @@ msgid ""
"Prevent ICMP loopback issues in some cases. Ping will not show real delay."
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:1507
+#: htdocs/luci-static/resources/view/fchomo/node.js:1508
+msgid "Primary"
+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:1667
-#: htdocs/luci-static/resources/view/fchomo/node.js:1674
-#: htdocs/luci-static/resources/view/fchomo/node.js:2086
-#: htdocs/luci-static/resources/view/fchomo/node.js:2093
+#: htdocs/luci-static/resources/view/fchomo/node.js:1947
+#: htdocs/luci-static/resources/view/fchomo/node.js:1954
+#: htdocs/luci-static/resources/view/fchomo/node.js:2366
+#: htdocs/luci-static/resources/view/fchomo/node.js:2373
msgid "Priority: Proxy Node > Global."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:925
+#: htdocs/luci-static/resources/view/fchomo/node.js:1031
msgid "Priv-key"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:929
+#: htdocs/luci-static/resources/view/fchomo/node.js:1035
msgid "Priv-key passphrase"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:800
-#: htdocs/luci-static/resources/view/fchomo/node.js:858
+#: htdocs/luci-static/resources/view/fchomo/node.js:902
+#: htdocs/luci-static/resources/view/fchomo/node.js:995
msgid "Private key"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:775
-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:2012
+#: htdocs/luci-static/resources/view/fchomo/node.js:2292
msgid "Programmable replacement"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:708
-#: htdocs/luci-static/resources/view/fchomo/node.js:1577
+#: htdocs/luci-static/resources/view/fchomo/node.js:1857
msgid "Protocol"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:550
+#: htdocs/luci-static/resources/view/fchomo/node.js:564
msgid "Protocol parameter. Enable length block encryption."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:544
+#: htdocs/luci-static/resources/view/fchomo/node.js:558
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:1689
-#: htdocs/luci-static/resources/view/fchomo/node.js:1698
-#: htdocs/luci-static/resources/view/fchomo/node.js:2202
+#: htdocs/luci-static/resources/view/fchomo/client.js:1112
+#: htdocs/luci-static/resources/view/fchomo/node.js:1969
+#: htdocs/luci-static/resources/view/fchomo/node.js:1978
+#: htdocs/luci-static/resources/view/fchomo/node.js:2482
msgid "Provider"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1886
+#: htdocs/luci-static/resources/view/fchomo/node.js:2166
msgid "Provider URL"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:954
-#: htdocs/luci-static/resources/view/fchomo/client.js:972
-#: htdocs/luci-static/resources/view/fchomo/client.js:1489
+#: htdocs/luci-static/resources/view/fchomo/client.js:966
+#: htdocs/luci-static/resources/view/fchomo/client.js:984
+#: htdocs/luci-static/resources/view/fchomo/client.js:1501
msgid "Proxy Group"
msgstr ""
@@ -2532,24 +2647,24 @@ msgid "Proxy MAC-s"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/node.js:222
-#: htdocs/luci-static/resources/view/fchomo/node.js:2201
+#: htdocs/luci-static/resources/view/fchomo/node.js:2481
msgid "Proxy Node"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2177
-#: htdocs/luci-static/resources/view/fchomo/node.js:2186
+#: htdocs/luci-static/resources/view/fchomo/node.js:2457
+#: htdocs/luci-static/resources/view/fchomo/node.js:2466
msgid "Proxy chain"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:615
-#: 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:1904
+#: htdocs/luci-static/resources/fchomo/listeners.js:614
+#: htdocs/luci-static/resources/view/fchomo/client.js:813
+#: htdocs/luci-static/resources/view/fchomo/client.js:1643
+#: htdocs/luci-static/resources/view/fchomo/node.js:2184
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:403
msgid "Proxy group"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:907
+#: htdocs/luci-static/resources/view/fchomo/client.js:919
msgid "Proxy group override"
msgstr ""
@@ -2561,75 +2676,75 @@ msgstr ""
msgid "Proxy routerself"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:623
-#: htdocs/luci-static/resources/view/fchomo/node.js:780
+#: htdocs/luci-static/resources/view/fchomo/node.js:919
+msgid "Public key"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:637
+#: htdocs/luci-static/resources/view/fchomo/node.js:793
msgid "QUIC"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:553
-#: htdocs/luci-static/resources/view/fchomo/node.js:733
+#: htdocs/luci-static/resources/fchomo/listeners.js:552
+#: htdocs/luci-static/resources/view/fchomo/node.js:746
msgid "QUIC based 0-RTT"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:774
-msgid "QUIC version probe"
-msgstr ""
-
#: htdocs/luci-static/resources/fchomo/listeners.js:546
-#: htdocs/luci-static/resources/view/fchomo/node.js:721
+#: htdocs/luci-static/resources/view/fchomo/node.js:735
msgid "QUIC versions"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:957
+#: htdocs/luci-static/resources/view/fchomo/client.js:969
#: htdocs/luci-static/resources/view/fchomo/server.js:44
msgid "Quick Reload"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1133
-#: htdocs/luci-static/resources/fchomo/listeners.js:1239
-#: htdocs/luci-static/resources/view/fchomo/node.js:1342
+#: htdocs/luci-static/resources/fchomo/listeners.js:1123
+#: htdocs/luci-static/resources/fchomo/listeners.js:1229
+#: htdocs/luci-static/resources/view/fchomo/node.js:1452
msgid "REALITY"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1368
+#: htdocs/luci-static/resources/view/fchomo/node.js:1478
msgid "REALITY X25519MLKEM768 PQC support"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1287
+#: htdocs/luci-static/resources/fchomo/listeners.js:1277
msgid "REALITY certificate issued to"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1255
+#: htdocs/luci-static/resources/fchomo/listeners.js:1245
msgid "REALITY handshake server"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1262
+#: htdocs/luci-static/resources/fchomo/listeners.js:1252
msgid "REALITY private key"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1277
-#: htdocs/luci-static/resources/view/fchomo/node.js:1358
+#: htdocs/luci-static/resources/fchomo/listeners.js:1267
+#: htdocs/luci-static/resources/view/fchomo/node.js:1468
msgid "REALITY public key"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1281
-#: htdocs/luci-static/resources/view/fchomo/node.js:1363
+#: htdocs/luci-static/resources/fchomo/listeners.js:1271
+#: htdocs/luci-static/resources/view/fchomo/node.js:1473
msgid "REALITY short ID"
msgstr ""
-#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:286
+#: htdocs/luci-static/resources/view/fchomo/node.js:292
+#: htdocs/luci-static/resources/view/fchomo/node.js:310
msgid "REMATCH-NAME marking"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:838
-#: htdocs/luci-static/resources/fchomo/listeners.js:857
-#: htdocs/luci-static/resources/view/fchomo/node.js:1116
+#: htdocs/luci-static/resources/fchomo/listeners.js:834
+#: htdocs/luci-static/resources/fchomo/listeners.js:853
+#: htdocs/luci-static/resources/view/fchomo/node.js:1226
msgid "RTT"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:388
+#: htdocs/luci-static/resources/fchomo.js:390
msgid "Random"
msgstr ""
@@ -2637,17 +2752,17 @@ msgstr ""
msgid "Random will be used if empty."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:398
+#: htdocs/luci-static/resources/fchomo.js:400
msgid "Randomized traffic characteristics"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:994
-#: htdocs/luci-static/resources/view/fchomo/node.js:1150
+#: htdocs/luci-static/resources/fchomo/listeners.js:990
+#: htdocs/luci-static/resources/view/fchomo/node.js:1260
msgid "Realm"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1010
-#: htdocs/luci-static/resources/view/fchomo/node.js:1166
+#: htdocs/luci-static/resources/fchomo/listeners.js:1006
+#: htdocs/luci-static/resources/view/fchomo/node.js:1276
msgid "Realm ID"
msgstr ""
@@ -2671,12 +2786,16 @@ msgstr ""
msgid "Redirect TCP + Tun UDP"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:830
+msgid "Reduces background traffic and network configuration refresh frequency."
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/log.js:124
msgid "Refresh every %s seconds."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1569
-#: htdocs/luci-static/resources/view/fchomo/client.js:958
+#: htdocs/luci-static/resources/fchomo.js:1571
+#: htdocs/luci-static/resources/view/fchomo/client.js:970
#: htdocs/luci-static/resources/view/fchomo/global.js:193
#: htdocs/luci-static/resources/view/fchomo/server.js:45
msgid "Reload"
@@ -2694,69 +2813,78 @@ msgstr ""
msgid "Rematching routing rules"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1831
+#: htdocs/luci-static/resources/view/fchomo/node.js:2111
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:287
msgid "Remote"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:846
-#: htdocs/luci-static/resources/view/fchomo/node.js:913
+#: htdocs/luci-static/resources/view/fchomo/node.js:1645
msgid "Remote DNS resolve"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1734
+#: htdocs/luci-static/resources/view/fchomo/node.js:813
+msgid "Remote trace level"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:806
+msgid "Remote trace target"
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo.js:1736
msgid "Remove"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1739
-#: htdocs/luci-static/resources/view/fchomo/node.js:1807
-#: htdocs/luci-static/resources/view/fchomo/node.js:1809
+#: htdocs/luci-static/resources/fchomo.js:1741
+#: htdocs/luci-static/resources/view/fchomo/node.js:241
+#: htdocs/luci-static/resources/view/fchomo/node.js:243
+#: htdocs/luci-static/resources/view/fchomo/node.js:2087
+#: htdocs/luci-static/resources/view/fchomo/node.js:2089
#: 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:999
-#: htdocs/luci-static/resources/view/fchomo/node.js:1155
+#: htdocs/luci-static/resources/fchomo/listeners.js:995
+#: htdocs/luci-static/resources/view/fchomo/node.js:1265
msgid "Rendezvous server"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2003
+#: htdocs/luci-static/resources/view/fchomo/node.js:2283
msgid "Replace name"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2004
+#: htdocs/luci-static/resources/view/fchomo/node.js:2284
msgid "Replace node name."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:372
+#: htdocs/luci-static/resources/fchomo.js:374
msgid "Request"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1339
-#: htdocs/luci-static/resources/view/fchomo/node.js:1445
-#: htdocs/luci-static/resources/view/fchomo/node.js:1452
+#: htdocs/luci-static/resources/fchomo/listeners.js:1329
+#: htdocs/luci-static/resources/view/fchomo/node.js:1725
+#: htdocs/luci-static/resources/view/fchomo/node.js:1732
msgid "Request path"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:663
+#: htdocs/luci-static/resources/view/fchomo/node.js:677
msgid "Request timeout"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:375
+#: htdocs/luci-static/resources/fchomo.js:377
msgid "Require and verify"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:373
+#: htdocs/luci-static/resources/fchomo.js:375
msgid "Require any"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:406
-#: htdocs/luci-static/resources/view/fchomo/node.js:1369
+#: htdocs/luci-static/resources/fchomo.js:408
+#: htdocs/luci-static/resources/view/fchomo/node.js:1479
msgid "Requires server support."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:829
+#: htdocs/luci-static/resources/view/fchomo/node.js:944
msgid "Reserved field bytes"
msgstr ""
@@ -2764,39 +2892,39 @@ msgstr ""
msgid "Resources management"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:677
-#: htdocs/luci-static/resources/fchomo/listeners.js:687
-#: htdocs/luci-static/resources/fchomo/listeners.js:692
-#: htdocs/luci-static/resources/fchomo/listeners.js:1131
-#: htdocs/luci-static/resources/fchomo/listeners.js:1247
-#: htdocs/luci-static/resources/view/fchomo/node.js:1008
-#: htdocs/luci-static/resources/view/fchomo/node.js:1018
-#: htdocs/luci-static/resources/view/fchomo/node.js:1023
-#: htdocs/luci-static/resources/view/fchomo/node.js:1350
+#: htdocs/luci-static/resources/fchomo/listeners.js:676
+#: htdocs/luci-static/resources/fchomo/listeners.js:686
+#: htdocs/luci-static/resources/fchomo/listeners.js:691
+#: htdocs/luci-static/resources/fchomo/listeners.js:1121
+#: htdocs/luci-static/resources/fchomo/listeners.js:1237
+#: htdocs/luci-static/resources/view/fchomo/node.js:1115
+#: htdocs/luci-static/resources/view/fchomo/node.js:1125
+#: htdocs/luci-static/resources/view/fchomo/node.js:1130
+#: htdocs/luci-static/resources/view/fchomo/node.js:1460
msgid "Restls"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:743
-#: htdocs/luci-static/resources/view/fchomo/node.js:1074
+#: htdocs/luci-static/resources/fchomo/listeners.js:745
+#: htdocs/luci-static/resources/view/fchomo/node.js:1184
msgid "Restls script"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1254
+#: htdocs/luci-static/resources/view/fchomo/client.js:1266
msgid ""
"Returns hidden status in the API to hide the display of this proxy group."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1260
+#: htdocs/luci-static/resources/view/fchomo/client.js:1272
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:474
+#: htdocs/luci-static/resources/view/fchomo/node.js:488
msgid "Reuse HTTP connections to reduce RTT for each connection establishment."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:471
-#: htdocs/luci-static/resources/view/fchomo/node.js:475
+#: htdocs/luci-static/resources/view/fchomo/node.js:485
+#: htdocs/luci-static/resources/view/fchomo/node.js:489
msgid "Reusing a single tunnel to carry multiple target connections within it."
msgstr ""
@@ -2813,10 +2941,10 @@ msgstr ""
msgid "Routing GFW"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:598
+#: htdocs/luci-static/resources/fchomo/listeners.js:597
#: htdocs/luci-static/resources/view/fchomo/global.js:776
-#: htdocs/luci-static/resources/view/fchomo/node.js:1673
-#: htdocs/luci-static/resources/view/fchomo/node.js:2092
+#: htdocs/luci-static/resources/view/fchomo/node.js:1953
+#: htdocs/luci-static/resources/view/fchomo/node.js:2372
msgid "Routing mark (Fwmark)"
msgstr ""
@@ -2837,8 +2965,8 @@ msgstr ""
msgid "Routing ports"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1266
-#: htdocs/luci-static/resources/view/fchomo/client.js:1275
+#: htdocs/luci-static/resources/view/fchomo/client.js:1278
+#: htdocs/luci-static/resources/view/fchomo/client.js:1287
msgid "Routing rule"
msgstr ""
@@ -2854,8 +2982,8 @@ msgstr ""
msgid "Rule"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:866
-#: htdocs/luci-static/resources/view/fchomo/client.js:879
+#: htdocs/luci-static/resources/view/fchomo/client.js:878
+#: htdocs/luci-static/resources/view/fchomo/client.js:891
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:147
msgid "Rule set"
msgstr ""
@@ -2864,6 +2992,10 @@ msgstr ""
msgid "Rule set URL"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:816
+msgid "Rules"
+msgstr ""
+
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:54
msgid "Ruleset"
msgstr ""
@@ -2872,11 +3004,11 @@ msgstr ""
msgid "Ruleset-URI-Scheme"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1582
+#: htdocs/luci-static/resources/fchomo.js:1584
msgid "Running"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:253
+#: htdocs/luci-static/resources/fchomo.js:255
msgid "SMTP"
msgstr ""
@@ -2888,29 +3020,29 @@ msgstr ""
msgid "SOCKS5"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:209
+#: htdocs/luci-static/resources/fchomo.js:211
msgid "SSH"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:254
+#: htdocs/luci-static/resources/fchomo.js:256
msgid "STUN"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1016
-#: htdocs/luci-static/resources/view/fchomo/node.js:1172
+#: htdocs/luci-static/resources/fchomo/listeners.js:1012
+#: htdocs/luci-static/resources/view/fchomo/node.js:1282
msgid "STUN servers"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1358
+#: htdocs/luci-static/resources/view/fchomo/client.js:1370
msgid "SUB-RULE"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:989
+#: htdocs/luci-static/resources/view/fchomo/node.js:1096
msgid "SUoT version"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:486
-#: htdocs/luci-static/resources/view/fchomo/node.js:697
+#: htdocs/luci-static/resources/view/fchomo/node.js:711
msgid "Salamander"
msgstr ""
@@ -2927,11 +3059,16 @@ msgstr ""
msgid "Save"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:1537
+#: htdocs/luci-static/resources/view/fchomo/node.js:1538
+msgid "Secondary"
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/global.js:530
msgid "Segment maximum size"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:243
+#: htdocs/luci-static/resources/fchomo.js:245
msgid "Select"
msgstr ""
@@ -2939,34 +3076,34 @@ msgstr ""
msgid "Select Dashboard"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:412
+#: htdocs/luci-static/resources/fchomo.js:414
msgid "Send padding randomly 0-3333 bytes with 50% probability."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1929
+#: htdocs/luci-static/resources/view/fchomo/client.js:1941
msgid "Send queries to both the %s and the %s."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:401
-#: htdocs/luci-static/resources/fchomo.js:402
+#: htdocs/luci-static/resources/fchomo.js:403
+#: htdocs/luci-static/resources/fchomo.js:404
msgid "Send random ticket of 300s-600s duration for client 0-RTT reuse."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:838
-#: htdocs/luci-static/resources/fchomo/listeners.js:1122
-#: htdocs/luci-static/resources/fchomo/listeners.js:1152
+#: htdocs/luci-static/resources/fchomo/listeners.js:834
+#: htdocs/luci-static/resources/fchomo/listeners.js:1112
+#: htdocs/luci-static/resources/fchomo/listeners.js:1142
#: 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:260
+#: htdocs/luci-static/resources/view/fchomo/node.js:274
msgid "Server address"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1333
-#: htdocs/luci-static/resources/view/fchomo/node.js:1424
-#: htdocs/luci-static/resources/view/fchomo/node.js:1430
+#: htdocs/luci-static/resources/fchomo/listeners.js:1323
+#: htdocs/luci-static/resources/view/fchomo/node.js:1704
+#: htdocs/luci-static/resources/view/fchomo/node.js:1710
msgid "Server hostname"
msgstr ""
@@ -2983,15 +3120,15 @@ msgstr ""
msgid "ShadowQUIC"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:676
-#: htdocs/luci-static/resources/fchomo/listeners.js:686
-#: htdocs/luci-static/resources/fchomo/listeners.js:691
-#: htdocs/luci-static/resources/fchomo/listeners.js:1130
-#: htdocs/luci-static/resources/fchomo/listeners.js:1246
-#: htdocs/luci-static/resources/view/fchomo/node.js:1007
-#: htdocs/luci-static/resources/view/fchomo/node.js:1017
-#: htdocs/luci-static/resources/view/fchomo/node.js:1022
-#: htdocs/luci-static/resources/view/fchomo/node.js:1349
+#: htdocs/luci-static/resources/fchomo/listeners.js:675
+#: htdocs/luci-static/resources/fchomo/listeners.js:685
+#: htdocs/luci-static/resources/fchomo/listeners.js:690
+#: htdocs/luci-static/resources/fchomo/listeners.js:1120
+#: htdocs/luci-static/resources/fchomo/listeners.js:1236
+#: htdocs/luci-static/resources/view/fchomo/node.js:1114
+#: htdocs/luci-static/resources/view/fchomo/node.js:1124
+#: htdocs/luci-static/resources/view/fchomo/node.js:1129
+#: htdocs/luci-static/resources/view/fchomo/node.js:1459
msgid "ShadowTLS"
msgstr ""
@@ -3001,21 +3138,21 @@ msgid "Shadowsocks"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:422
-#: htdocs/luci-static/resources/view/fchomo/node.js:568
+#: htdocs/luci-static/resources/view/fchomo/node.js:582
msgid "Shadowsocks chipher"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:417
-#: htdocs/luci-static/resources/view/fchomo/node.js:563
+#: htdocs/luci-static/resources/view/fchomo/node.js:577
msgid "Shadowsocks encrypt"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:430
-#: htdocs/luci-static/resources/view/fchomo/node.js:576
+#: htdocs/luci-static/resources/view/fchomo/node.js:590
msgid "Shadowsocks password"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1625
+#: htdocs/luci-static/resources/view/fchomo/node.js:1905
msgid "Show connections in the dashboard for breaking connections easier."
msgstr ""
@@ -3027,14 +3164,14 @@ msgstr ""
msgid "Simple round-robin all nodes"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1892
+#: htdocs/luci-static/resources/view/fchomo/node.js:2172
#: 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:1279
-#: htdocs/luci-static/resources/view/fchomo/node.js:2067
+#: htdocs/luci-static/resources/view/fchomo/client.js:1679
+#: htdocs/luci-static/resources/view/fchomo/node.js:1389
+#: htdocs/luci-static/resources/view/fchomo/node.js:2347
msgid "Skip cert verify"
msgstr ""
@@ -3067,7 +3204,7 @@ msgstr ""
msgid "Sniffer settings"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:444
+#: htdocs/luci-static/resources/fchomo.js:446
msgid "Specify a ID"
msgstr ""
@@ -3086,35 +3223,35 @@ msgstr ""
msgid "Standard"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:257
+#: htdocs/luci-static/resources/fchomo.js:259
msgid "Steam Client"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:258
+#: htdocs/luci-static/resources/fchomo.js:260
msgid "Steam P2P"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1226
-#: htdocs/luci-static/resources/view/fchomo/client.js:1228
+#: htdocs/luci-static/resources/view/fchomo/client.js:1238
+#: htdocs/luci-static/resources/view/fchomo/client.js:1240
msgid "Strategy"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:570
-#: htdocs/luci-static/resources/view/fchomo/node.js:757
+#: htdocs/luci-static/resources/fchomo/listeners.js:569
+#: htdocs/luci-static/resources/view/fchomo/node.js:770
msgid "Stream-level receive window size"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:603
-#: htdocs/luci-static/resources/view/fchomo/client.js:1388
-#: htdocs/luci-static/resources/view/fchomo/client.js:1397
+#: htdocs/luci-static/resources/fchomo/listeners.js:602
+#: htdocs/luci-static/resources/view/fchomo/client.js:1400
+#: htdocs/luci-static/resources/view/fchomo/client.js:1409
msgid "Sub rule"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1443
+#: htdocs/luci-static/resources/view/fchomo/client.js:1455
msgid "Sub rule group"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:729
+#: htdocs/luci-static/resources/fchomo.js:731
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:231
msgid "Successfully imported %s %s of total %s."
msgstr ""
@@ -3123,7 +3260,7 @@ msgstr ""
msgid "Successfully updated."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:2084
+#: htdocs/luci-static/resources/fchomo.js:2098
msgid "Successfully uploaded."
msgstr ""
@@ -3132,7 +3269,7 @@ msgstr ""
msgid "Sudoku"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:722
+#: htdocs/luci-static/resources/view/fchomo/node.js:736
msgid "Support %s, default %s."
msgstr ""
@@ -3164,10 +3301,10 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo.js:199
#: htdocs/luci-static/resources/fchomo.js:200
#: htdocs/luci-static/resources/fchomo.js:201
-#: htdocs/luci-static/resources/fchomo.js:209
-#: htdocs/luci-static/resources/fchomo/listeners.js:656
-#: htdocs/luci-static/resources/view/fchomo/client.js:606
-#: htdocs/luci-static/resources/view/fchomo/client.js:698
+#: htdocs/luci-static/resources/fchomo.js:211
+#: htdocs/luci-static/resources/fchomo/listeners.js:655
+#: htdocs/luci-static/resources/view/fchomo/client.js:618
+#: htdocs/luci-static/resources/view/fchomo/client.js:710
msgid "TCP"
msgstr ""
@@ -3175,7 +3312,7 @@ msgstr ""
msgid "TCP concurrency"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1618
+#: htdocs/luci-static/resources/view/fchomo/node.js:1898
msgid "TCP only"
msgstr ""
@@ -3202,32 +3339,31 @@ msgstr ""
msgid "TCP/UDP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1649
-#: htdocs/luci-static/resources/view/fchomo/node.js:2028
+#: htdocs/luci-static/resources/view/fchomo/node.js:1929
+#: htdocs/luci-static/resources/view/fchomo/node.js:2308
msgid "TFO"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:704
-#: htdocs/luci-static/resources/fchomo/listeners.js:1026
+#: htdocs/luci-static/resources/fchomo/listeners.js:703
+#: htdocs/luci-static/resources/fchomo/listeners.js:1022
#: htdocs/luci-static/resources/view/fchomo/global.js:550
-#: htdocs/luci-static/resources/view/fchomo/node.js:455
-#: htdocs/luci-static/resources/view/fchomo/node.js:1035
-#: htdocs/luci-static/resources/view/fchomo/node.js:1182
+#: htdocs/luci-static/resources/view/fchomo/node.js:469
+#: htdocs/luci-static/resources/view/fchomo/node.js:1142
+#: htdocs/luci-static/resources/view/fchomo/node.js:1292
msgid "TLS"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1073
-#: htdocs/luci-static/resources/view/fchomo/node.js:1213
+#: htdocs/luci-static/resources/fchomo/listeners.js:1063
+#: htdocs/luci-static/resources/view/fchomo/node.js:1323
msgid "TLS ALPN"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1067
-#: htdocs/luci-static/resources/view/fchomo/node.js:1207
+#: htdocs/luci-static/resources/view/fchomo/node.js:1317
msgid "TLS SNI"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:123
-#: htdocs/luci-static/resources/view/fchomo/node.js:240
+#: htdocs/luci-static/resources/view/fchomo/node.js:253
msgid "TLS fields"
msgstr ""
@@ -3236,11 +3372,16 @@ msgstr ""
msgid "TUIC"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:255
+#: htdocs/luci-static/resources/fchomo.js:257
msgid "TURN"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:590
+#: htdocs/luci-static/resources/fchomo.js:209
+#: htdocs/luci-static/resources/view/fchomo/node.js:956
+msgid "Tailscale"
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo/listeners.js:589
msgid "Target address"
msgstr ""
@@ -3249,35 +3390,34 @@ msgid ""
"Tell the client to use the BBR flow control algorithm instead of Hysteria CC."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:874
-#: htdocs/luci-static/resources/view/fchomo/node.js:882
-msgid "The %s address used by local machine in the Cloudflare WARP network."
-msgstr ""
-
-#: htdocs/luci-static/resources/view/fchomo/node.js:787
-#: htdocs/luci-static/resources/view/fchomo/node.js:795
+#: htdocs/luci-static/resources/view/fchomo/node.js:1569
+#: htdocs/luci-static/resources/view/fchomo/node.js:1578
+#: htdocs/luci-static/resources/view/fchomo/node.js:1582
+#: htdocs/luci-static/resources/view/fchomo/node.js:1595
+#: htdocs/luci-static/resources/view/fchomo/node.js:1603
+#: htdocs/luci-static/resources/view/fchomo/node.js:1607
msgid "The %s address used by local machine in the %s network."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1152
-#: htdocs/luci-static/resources/view/fchomo/node.js:1302
+#: htdocs/luci-static/resources/fchomo/listeners.js:1142
+#: htdocs/luci-static/resources/view/fchomo/node.js:1412
msgid "The %s private key, in PEM format."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1122
-#: htdocs/luci-static/resources/fchomo/listeners.js:1175
+#: htdocs/luci-static/resources/fchomo/listeners.js:1112
+#: htdocs/luci-static/resources/fchomo/listeners.js:1165
#: htdocs/luci-static/resources/view/fchomo/global.js:571
-#: htdocs/luci-static/resources/view/fchomo/node.js:1288
+#: htdocs/luci-static/resources/view/fchomo/node.js:1398
msgid "The %s public key, in PEM format."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1322
+#: htdocs/luci-static/resources/view/fchomo/node.js:1432
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:377
+#: htdocs/luci-static/resources/view/fchomo/node.js:391
msgid "The ED25519 available private key or UUID provided by Sudoku server."
msgstr ""
@@ -3289,51 +3429,51 @@ msgstr ""
msgid "The default value is 2:00 every day."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:971
+#: htdocs/luci-static/resources/view/fchomo/node.js:1078
msgid ""
"The default value is %s, indicating that only the outer "
"connection timeout is used."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:870
-#: htdocs/luci-static/resources/view/fchomo/node.js:1129
+#: htdocs/luci-static/resources/fchomo/listeners.js:866
+#: htdocs/luci-static/resources/view/fchomo/node.js:1239
msgid ""
"The first padding must have a probability of 100% and at least 35 bytes."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1897
+#: htdocs/luci-static/resources/view/fchomo/client.js:1909
msgid "The matching %s will be deemed as not-poisoned."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1906
-#: htdocs/luci-static/resources/view/fchomo/client.js:1911
-#: htdocs/luci-static/resources/view/fchomo/client.js:1916
+#: htdocs/luci-static/resources/view/fchomo/client.js:1918
+#: htdocs/luci-static/resources/view/fchomo/client.js:1923
+#: htdocs/luci-static/resources/view/fchomo/client.js:1928
msgid "The matching %s will be deemed as poisoned."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:751
+#: htdocs/luci-static/resources/fchomo/listeners.js:753
msgid "The proxy used to connect to the handshake target."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:868
-#: htdocs/luci-static/resources/view/fchomo/node.js:1127
+#: htdocs/luci-static/resources/fchomo/listeners.js:864
+#: htdocs/luci-static/resources/view/fchomo/node.js:1237
msgid "The server and client can set different padding parameters."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1233
+#: htdocs/luci-static/resources/fchomo/listeners.js:1223
#: 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:1282
-#: htdocs/luci-static/resources/view/fchomo/node.js:2070
+#: htdocs/luci-static/resources/view/fchomo/client.js:1682
+#: htdocs/luci-static/resources/view/fchomo/node.js:1392
+#: htdocs/luci-static/resources/view/fchomo/node.js:2350
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:628
+#: htdocs/luci-static/resources/view/fchomo/node.js:642
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."
@@ -3363,36 +3503,36 @@ msgid "Tproxy port"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:206
-#: htdocs/luci-static/resources/view/fchomo/node.js:369
+#: htdocs/luci-static/resources/view/fchomo/node.js:383
msgid "Traffic pattern"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2239
+#: htdocs/luci-static/resources/view/fchomo/node.js:2519
msgid "Transit proxy group"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2250
+#: htdocs/luci-static/resources/view/fchomo/node.js:2530
msgid "Transit proxy node"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:194
-#: htdocs/luci-static/resources/fchomo/listeners.js:1297
-#: htdocs/luci-static/resources/view/fchomo/node.js:346
-#: htdocs/luci-static/resources/view/fchomo/node.js:1377
+#: htdocs/luci-static/resources/fchomo/listeners.js:1287
+#: htdocs/luci-static/resources/view/fchomo/node.js:360
+#: htdocs/luci-static/resources/view/fchomo/node.js:1657
msgid "Transport"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:124
-#: htdocs/luci-static/resources/view/fchomo/node.js:241
+#: htdocs/luci-static/resources/view/fchomo/node.js:255
msgid "Transport fields"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1302
-#: htdocs/luci-static/resources/view/fchomo/node.js:1382
+#: htdocs/luci-static/resources/fchomo/listeners.js:1292
+#: htdocs/luci-static/resources/view/fchomo/node.js:1662
msgid "Transport type"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:823
+#: htdocs/luci-static/resources/view/fchomo/client.js:835
msgid "Treat the destination IP as the source IP."
msgstr ""
@@ -3430,15 +3570,19 @@ msgstr ""
msgid "Tunnel"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:844
+msgid "Turns TCP relay off."
+msgstr ""
+
#: 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:254
-#: htdocs/luci-static/resources/view/fchomo/node.js:1829
-#: htdocs/luci-static/resources/view/fchomo/node.js:2200
+#: htdocs/luci-static/resources/view/fchomo/client.js:672
+#: htdocs/luci-static/resources/view/fchomo/client.js:767
+#: htdocs/luci-static/resources/view/fchomo/client.js:875
+#: htdocs/luci-static/resources/view/fchomo/client.js:1073
+#: htdocs/luci-static/resources/view/fchomo/node.js:268
+#: htdocs/luci-static/resources/view/fchomo/node.js:2109
+#: htdocs/luci-static/resources/view/fchomo/node.js:2480
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:285
msgid "Type"
msgstr ""
@@ -3451,12 +3595,14 @@ msgstr ""
#: 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:657
-#: htdocs/luci-static/resources/fchomo/listeners.js:662
-#: 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:977
-#: htdocs/luci-static/resources/view/fchomo/node.js:2038
+#: htdocs/luci-static/resources/fchomo.js:209
+#: htdocs/luci-static/resources/fchomo.js:210
+#: htdocs/luci-static/resources/fchomo/listeners.js:656
+#: htdocs/luci-static/resources/fchomo/listeners.js:661
+#: htdocs/luci-static/resources/view/fchomo/client.js:617
+#: htdocs/luci-static/resources/view/fchomo/client.js:709
+#: htdocs/luci-static/resources/view/fchomo/node.js:1084
+#: htdocs/luci-static/resources/view/fchomo/node.js:2318
msgid "UDP"
msgstr ""
@@ -3464,43 +3610,43 @@ msgstr ""
msgid "UDP NAT expiration time"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:627
-#: htdocs/luci-static/resources/view/fchomo/node.js:728
+#: htdocs/luci-static/resources/view/fchomo/node.js:641
+#: htdocs/luci-static/resources/view/fchomo/node.js:741
msgid "UDP over stream"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:633
+#: htdocs/luci-static/resources/view/fchomo/node.js:647
msgid "UDP over stream version"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:620
+#: htdocs/luci-static/resources/view/fchomo/node.js:634
msgid "UDP packet relay mode."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:619
+#: htdocs/luci-static/resources/view/fchomo/node.js:633
msgid "UDP relay mode"
msgstr ""
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:415
+#: htdocs/luci-static/resources/view/fchomo/node.js:416
msgid "UP: %s; DOWN: %s"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:245
+#: htdocs/luci-static/resources/fchomo.js:247
msgid "URL test"
msgstr ""
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:527
+#: htdocs/luci-static/resources/view/fchomo/node.js:621
msgid "UUID"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1627
+#: htdocs/luci-static/resources/fchomo.js:1629
msgid "Unable to download unsupported type: %s"
msgstr ""
@@ -3525,8 +3671,8 @@ msgstr ""
msgid "Unknown error: %s"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:983
-#: htdocs/luci-static/resources/view/fchomo/node.js:2043
+#: htdocs/luci-static/resources/view/fchomo/node.js:1090
+#: htdocs/luci-static/resources/view/fchomo/node.js:2323
msgid "UoT"
msgstr ""
@@ -3534,24 +3680,24 @@ msgstr ""
msgid "Update failed."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1898
+#: htdocs/luci-static/resources/view/fchomo/node.js:2178
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:397
msgid "Update interval"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1399
-#: htdocs/luci-static/resources/view/fchomo/node.js:1636
+#: htdocs/luci-static/resources/fchomo/listeners.js:1389
+#: htdocs/luci-static/resources/view/fchomo/node.js:1916
msgid "Upload bandwidth"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1400
-#: htdocs/luci-static/resources/view/fchomo/node.js:1637
+#: htdocs/luci-static/resources/fchomo/listeners.js:1390
+#: htdocs/luci-static/resources/view/fchomo/node.js:1917
msgid "Upload bandwidth in Mbps."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1143
-#: htdocs/luci-static/resources/fchomo/listeners.js:1183
-#: htdocs/luci-static/resources/view/fchomo/node.js:1293
+#: htdocs/luci-static/resources/fchomo/listeners.js:1133
+#: htdocs/luci-static/resources/fchomo/listeners.js:1173
+#: htdocs/luci-static/resources/view/fchomo/node.js:1403
msgid "Upload certificate"
msgstr ""
@@ -3559,48 +3705,56 @@ msgstr ""
msgid "Upload initial package"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1158
-#: htdocs/luci-static/resources/view/fchomo/node.js:1307
+#: htdocs/luci-static/resources/fchomo/listeners.js:1148
+#: htdocs/luci-static/resources/view/fchomo/node.js:1417
msgid "Upload key"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1146
-#: htdocs/luci-static/resources/fchomo/listeners.js:1161
-#: htdocs/luci-static/resources/fchomo/listeners.js:1186
+#: htdocs/luci-static/resources/fchomo/listeners.js:1136
+#: htdocs/luci-static/resources/fchomo/listeners.js:1151
+#: htdocs/luci-static/resources/fchomo/listeners.js:1176
#: htdocs/luci-static/resources/view/fchomo/global.js:306
-#: htdocs/luci-static/resources/view/fchomo/node.js:1296
-#: htdocs/luci-static/resources/view/fchomo/node.js:1310
+#: htdocs/luci-static/resources/view/fchomo/node.js:1406
+#: htdocs/luci-static/resources/view/fchomo/node.js:1420
msgid "Upload..."
msgstr ""
-#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:836
+msgid "Use protocol-13 extended encryption for outgoing HELLO packets."
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:292
+#: htdocs/luci-static/resources/view/fchomo/node.js:299
+#: htdocs/luci-static/resources/view/fchomo/node.js:310
msgid "Use sub rule"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1487
+#: htdocs/luci-static/resources/view/fchomo/node.js:855
+msgid "Used to replace the built-in official %s."
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:1499
msgid ""
"Used to resolve domains that can be directly connected. Can use domestic DNS "
"servers or ECS."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1489
+#: htdocs/luci-static/resources/view/fchomo/client.js:1501
msgid ""
"Used to resolve domains you want to proxy. Recommended to configure %s for "
"DNS servers."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1471
+#: htdocs/luci-static/resources/view/fchomo/client.js:1483
msgid "Used to resolve the domain of the DNS server. Must be IP."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1478
+#: htdocs/luci-static/resources/view/fchomo/client.js:1490
msgid "Used to resolve the domain of the Proxy node."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1274
-#: htdocs/luci-static/resources/view/fchomo/node.js:2062
+#: htdocs/luci-static/resources/view/fchomo/node.js:1384
+#: htdocs/luci-static/resources/view/fchomo/node.js:2342
msgid "Used to verify the hostname on the returned certificates."
msgstr ""
@@ -3614,8 +3768,8 @@ msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:162
#: htdocs/luci-static/resources/fchomo/listeners.js:723
-#: htdocs/luci-static/resources/view/fchomo/node.js:305
-#: htdocs/luci-static/resources/view/fchomo/node.js:1046
+#: htdocs/luci-static/resources/view/fchomo/node.js:319
+#: htdocs/luci-static/resources/view/fchomo/node.js:1154
msgid "Username"
msgstr ""
@@ -3623,11 +3777,19 @@ msgstr ""
msgid "Users filter mode"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1493
+#: htdocs/luci-static/resources/view/fchomo/node.js:843
+msgid "Uses TCP relay only."
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:842
+msgid "Uses relay after UDP direct failure."
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1773
msgid "V2ray HTTPUpgrade"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1498
+#: htdocs/luci-static/resources/view/fchomo/node.js:1778
msgid "V2ray HTTPUpgrade fast open"
msgstr ""
@@ -3641,37 +3803,58 @@ msgstr ""
msgid "VMess"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:241
+#: htdocs/luci-static/resources/view/fchomo/node.js:1569
+#: htdocs/luci-static/resources/view/fchomo/node.js:1595
+msgid "VPN"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:254
msgid "VPN fields"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1835
-#: htdocs/luci-static/resources/view/fchomo/node.js:2206
+#: htdocs/luci-static/resources/view/fchomo/node.js:886
+msgid "Valid 16-digit Moon World ID and 10-digit Node ID of Moon Root server."
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:2115
+#: htdocs/luci-static/resources/view/fchomo/node.js:2486
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:328
msgid "Value"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:374
+#: htdocs/luci-static/resources/view/fchomo/node.js:815
+msgid "Verbose"
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo.js:376
msgid "Verify if given"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:384
-#: htdocs/luci-static/resources/fchomo/listeners.js:735
-#: htdocs/luci-static/resources/view/fchomo/node.js:497
-#: htdocs/luci-static/resources/view/fchomo/node.js:1058
+#: htdocs/luci-static/resources/fchomo/listeners.js:737
+#: htdocs/luci-static/resources/view/fchomo/node.js:511
+#: htdocs/luci-static/resources/view/fchomo/node.js:1168
msgid "Version"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1066
+#: htdocs/luci-static/resources/view/fchomo/node.js:1176
msgid "Version hint"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:1594
+msgid "Virtual IPv6 address"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1568
+msgid "Virtual address"
+msgstr ""
+
#: htdocs/luci-static/resources/fchomo/listeners.js:121
-#: htdocs/luci-static/resources/view/fchomo/node.js:238
+#: htdocs/luci-static/resources/view/fchomo/node.js:251
msgid "Vless Encryption fields"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:411
+#: htdocs/luci-static/resources/fchomo.js:413
msgid "Wait a random 0-111 milliseconds with 75% probability."
msgstr ""
@@ -3680,15 +3863,15 @@ msgid "Warning"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:362
-#: htdocs/luci-static/resources/fchomo/listeners.js:1304
-#: htdocs/luci-static/resources/fchomo/listeners.js:1315
-#: htdocs/luci-static/resources/fchomo/listeners.js:1322
-#: 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:1387
-#: htdocs/luci-static/resources/view/fchomo/node.js:1400
-#: htdocs/luci-static/resources/view/fchomo/node.js:1407
-#: htdocs/luci-static/resources/view/fchomo/node.js:1413
+#: htdocs/luci-static/resources/fchomo/listeners.js:1294
+#: htdocs/luci-static/resources/fchomo/listeners.js:1305
+#: htdocs/luci-static/resources/fchomo/listeners.js:1312
+#: htdocs/luci-static/resources/view/fchomo/node.js:465
+#: htdocs/luci-static/resources/view/fchomo/node.js:494
+#: htdocs/luci-static/resources/view/fchomo/node.js:1667
+#: htdocs/luci-static/resources/view/fchomo/node.js:1680
+#: htdocs/luci-static/resources/view/fchomo/node.js:1687
+#: htdocs/luci-static/resources/view/fchomo/node.js:1693
msgid "WebSocket"
msgstr ""
@@ -3696,56 +3879,65 @@ msgstr ""
msgid "When used as a server, HomeProxy is a better choice."
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:978
+msgid "Whether to accept routes advertised by other nodes."
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/global.js:798
msgid "White list"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:207
+#: htdocs/luci-static/resources/fchomo.js:208
msgid "WireGuard"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:809
+#: htdocs/luci-static/resources/view/fchomo/node.js:924
msgid "WireGuard peer public key."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:816
+#: htdocs/luci-static/resources/view/fchomo/node.js:931
msgid "WireGuard pre-shared key."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:801
+#: htdocs/luci-static/resources/view/fchomo/node.js:903
msgid "WireGuard requires base64-encoded private keys."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1305
-#: htdocs/luci-static/resources/fchomo/listeners.js:1316
-#: htdocs/luci-static/resources/view/fchomo/node.js:1388
-#: htdocs/luci-static/resources/view/fchomo/node.js:1408
+#: htdocs/luci-static/resources/view/fchomo/node.js:1579
+#: htdocs/luci-static/resources/view/fchomo/node.js:1604
+msgid "Wireguard"
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo/listeners.js:1295
+#: htdocs/luci-static/resources/fchomo/listeners.js:1306
+#: htdocs/luci-static/resources/view/fchomo/node.js:1668
+#: htdocs/luci-static/resources/view/fchomo/node.js:1688
msgid "XHTTP"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1352
-#: htdocs/luci-static/resources/view/fchomo/node.js:1503
+#: htdocs/luci-static/resources/fchomo/listeners.js:1342
+#: htdocs/luci-static/resources/view/fchomo/node.js:1783
msgid "XHTTP mode"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1534
+#: htdocs/luci-static/resources/view/fchomo/node.js:1814
msgid "XMUX"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1539
-#: htdocs/luci-static/resources/view/fchomo/node.js:1544
-#: htdocs/luci-static/resources/view/fchomo/node.js:1549
-#: htdocs/luci-static/resources/view/fchomo/node.js:1554
-#: htdocs/luci-static/resources/view/fchomo/node.js:1559
-#: htdocs/luci-static/resources/view/fchomo/node.js:1564
+#: htdocs/luci-static/resources/view/fchomo/node.js:1819
+#: htdocs/luci-static/resources/view/fchomo/node.js:1824
+#: htdocs/luci-static/resources/view/fchomo/node.js:1829
+#: htdocs/luci-static/resources/view/fchomo/node.js:1834
+#: htdocs/luci-static/resources/view/fchomo/node.js:1839
+#: htdocs/luci-static/resources/view/fchomo/node.js:1844
msgid "XMUX:"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:829
+#: htdocs/luci-static/resources/fchomo/listeners.js:825
msgid "XOR mode"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:558
+#: htdocs/luci-static/resources/view/fchomo/node.js:572
msgid "Xudp (Xray-core)"
msgstr ""
@@ -3753,7 +3945,7 @@ msgstr ""
msgid "Yaml text"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2073
+#: htdocs/luci-static/resources/view/fchomo/node.js:2353
msgid "Yes"
msgstr ""
@@ -3761,31 +3953,39 @@ msgstr ""
msgid "YouTube"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:2066
+#: htdocs/luci-static/resources/fchomo.js:2080
msgid "Your %s was successfully uploaded. Size: %sB."
msgstr ""
-#: 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"
+#: htdocs/luci-static/resources/fchomo.js:207
+msgid "ZeroTier"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:348
-msgid "aes-192-gcm"
+#: htdocs/luci-static/resources/view/fchomo/node.js:823
+msgid "ZeroTier UDP payload MTU."
msgstr ""
#: htdocs/luci-static/resources/fchomo.js:349
-#: htdocs/luci-static/resources/fchomo.js:366
+#: htdocs/luci-static/resources/fchomo.js:362
+#: htdocs/luci-static/resources/fchomo.js:367
+#: htdocs/luci-static/resources/view/fchomo/node.js:552
+msgid "aes-128-gcm"
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo.js:350
+msgid "aes-192-gcm"
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo.js:351
+#: htdocs/luci-static/resources/fchomo.js:368
msgid "aes-256-gcm"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1920
+#: htdocs/luci-static/resources/view/fchomo/node.js:2200
msgid "age private key"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1981
+#: htdocs/luci-static/resources/view/fchomo/node.js:2261
msgid "age public key"
msgstr ""
@@ -3797,7 +3997,7 @@ msgstr ""
msgid "age-x25519"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:535
+#: htdocs/luci-static/resources/view/fchomo/node.js:549
msgid "auto"
msgstr ""
@@ -3805,19 +4005,19 @@ msgstr ""
msgid "bbr"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1148
-#: htdocs/luci-static/resources/fchomo/listeners.js:1188
-#: htdocs/luci-static/resources/view/fchomo/node.js:1298
+#: htdocs/luci-static/resources/fchomo/listeners.js:1138
+#: htdocs/luci-static/resources/fchomo/listeners.js:1178
+#: htdocs/luci-static/resources/view/fchomo/node.js:1408
msgid "certificate"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:350
-#: htdocs/luci-static/resources/fchomo.js:361
-#: htdocs/luci-static/resources/fchomo.js:367
+#: htdocs/luci-static/resources/fchomo.js:352
+#: htdocs/luci-static/resources/fchomo.js:363
+#: htdocs/luci-static/resources/fchomo.js:369
msgid "chacha20-ietf-poly1305"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:539
+#: htdocs/luci-static/resources/view/fchomo/node.js:553
msgid "chacha20-poly1305"
msgstr ""
@@ -3825,8 +4025,8 @@ msgstr ""
msgid "cubic"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:781
-#: htdocs/luci-static/resources/fchomo/listeners.js:812
+#: htdocs/luci-static/resources/fchomo/listeners.js:777
+#: htdocs/luci-static/resources/fchomo/listeners.js:808
msgid "decryption"
msgstr ""
@@ -3834,65 +4034,66 @@ msgstr ""
msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2055
+#: htdocs/luci-static/resources/view/fchomo/node.js:2335
msgid "down"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:816
-#: htdocs/luci-static/resources/view/fchomo/node.js:1081
-#: htdocs/luci-static/resources/view/fchomo/node.js:1104
+#: htdocs/luci-static/resources/fchomo/listeners.js:812
+#: htdocs/luci-static/resources/view/fchomo/node.js:1191
+#: htdocs/luci-static/resources/view/fchomo/node.js:1214
msgid "encryption"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:346
-#: htdocs/luci-static/resources/view/fchomo/node.js:435
+#: htdocs/luci-static/resources/view/fchomo/node.js:449
msgid "false = bandwidth optimized downlink; true = pure Sudoku downlink."
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1303
-#: htdocs/luci-static/resources/fchomo/listeners.js:1314
-#: htdocs/luci-static/resources/fchomo/listeners.js:1321
-#: htdocs/luci-static/resources/view/fchomo/node.js:1386
-#: htdocs/luci-static/resources/view/fchomo/node.js:1399
-#: htdocs/luci-static/resources/view/fchomo/node.js:1406
-#: htdocs/luci-static/resources/view/fchomo/node.js:1412
+#: htdocs/luci-static/resources/fchomo/listeners.js:1293
+#: htdocs/luci-static/resources/fchomo/listeners.js:1304
+#: htdocs/luci-static/resources/fchomo/listeners.js:1311
+#: htdocs/luci-static/resources/view/fchomo/node.js:1666
+#: htdocs/luci-static/resources/view/fchomo/node.js:1679
+#: htdocs/luci-static/resources/view/fchomo/node.js:1686
+#: htdocs/luci-static/resources/view/fchomo/node.js:1692
msgid "gRPC"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1469
+#: htdocs/luci-static/resources/view/fchomo/node.js:1749
msgid "gRPC User-Agent"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1474
+#: htdocs/luci-static/resources/view/fchomo/node.js:1754
msgid "gRPC ping interval"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1346
-#: htdocs/luci-static/resources/view/fchomo/node.js:1465
+#: htdocs/luci-static/resources/fchomo/listeners.js:1336
+#: htdocs/luci-static/resources/view/fchomo/node.js:1745
msgid "gRPC service name"
msgstr ""
#: htdocs/luci-static/resources/view/fchomo/global.js:517
+#: htdocs/luci-static/resources/view/fchomo/node.js:896
msgid "gVisor"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:897
+#: htdocs/luci-static/resources/view/fchomo/node.js:1014
msgid "h2"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1581
+#: htdocs/luci-static/resources/view/fchomo/node.js:1861
msgid "h2mux"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:895
+#: htdocs/luci-static/resources/view/fchomo/node.js:1012
msgid "h3"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:896
+#: htdocs/luci-static/resources/view/fchomo/node.js:1013
msgid "h3-l4proxy"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:981
+#: htdocs/luci-static/resources/fchomo/listeners.js:977
msgid "least one keypair required"
msgstr ""
@@ -3900,23 +4101,27 @@ msgstr ""
msgid "metacubexd"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1034
-#: htdocs/luci-static/resources/view/fchomo/client.js:1331
-#: htdocs/luci-static/resources/view/fchomo/client.js:1426
-#: htdocs/luci-static/resources/view/fchomo/client.js:1568
-#: htdocs/luci-static/resources/view/fchomo/client.js:1802
-#: htdocs/luci-static/resources/view/fchomo/client.js:1858
-#: htdocs/luci-static/resources/view/fchomo/node.js:1801
+#: htdocs/luci-static/resources/view/fchomo/node.js:897
+msgid "mihomo IP stack (MIPS)"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:1046
+#: htdocs/luci-static/resources/view/fchomo/client.js:1343
+#: htdocs/luci-static/resources/view/fchomo/client.js:1438
+#: htdocs/luci-static/resources/view/fchomo/client.js:1580
+#: htdocs/luci-static/resources/view/fchomo/client.js:1814
+#: htdocs/luci-static/resources/view/fchomo/client.js:1870
+#: htdocs/luci-static/resources/view/fchomo/node.js:2081
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:247
msgid "mihomo config"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:393
+#: htdocs/luci-static/resources/fchomo.js:395
msgid "mlkem768x25519plus"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1654
-#: htdocs/luci-static/resources/view/fchomo/node.js:2033
+#: htdocs/luci-static/resources/view/fchomo/node.js:1934
+#: htdocs/luci-static/resources/view/fchomo/node.js:2313
msgid "mpTCP"
msgstr ""
@@ -3924,22 +4129,22 @@ msgstr ""
msgid "new_reno"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:840
+#: htdocs/luci-static/resources/view/fchomo/client.js:852
msgid "no-resolve"
msgstr ""
-#: 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
+#: htdocs/luci-static/resources/fchomo.js:1803
+#: htdocs/luci-static/resources/fchomo.js:1910
+#: htdocs/luci-static/resources/fchomo.js:1945
+#: htdocs/luci-static/resources/fchomo.js:1973
msgid "non-empty value"
msgstr ""
-#: 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/fchomo.js:347
+#: htdocs/luci-static/resources/fchomo.js:361
+#: htdocs/luci-static/resources/fchomo.js:373
+#: htdocs/luci-static/resources/view/fchomo/node.js:550
+#: htdocs/luci-static/resources/view/fchomo/node.js:570
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:324
msgid "none"
msgstr ""
@@ -3948,55 +4153,55 @@ msgstr ""
msgid "not found"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1051
+#: htdocs/luci-static/resources/view/fchomo/client.js:1063
msgid "not included \",\""
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:231
-#: htdocs/luci-static/resources/fchomo/listeners.js:605
-#: htdocs/luci-static/resources/fchomo/listeners.js:608
+#: htdocs/luci-static/resources/fchomo.js:233
+#: htdocs/luci-static/resources/fchomo/listeners.js:604
+#: htdocs/luci-static/resources/fchomo/listeners.js:607
msgid "null"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:675
-#: htdocs/luci-static/resources/fchomo/listeners.js:685
-#: htdocs/luci-static/resources/view/fchomo/node.js:1004
-#: htdocs/luci-static/resources/view/fchomo/node.js:1016
+#: htdocs/luci-static/resources/fchomo/listeners.js:674
+#: htdocs/luci-static/resources/fchomo/listeners.js:684
+#: htdocs/luci-static/resources/view/fchomo/node.js:1111
+#: htdocs/luci-static/resources/view/fchomo/node.js:1123
msgid "obfs-simple"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:482
+#: htdocs/luci-static/resources/view/fchomo/node.js:496
msgid "only applies when %s is %s."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:480
+#: htdocs/luci-static/resources/view/fchomo/node.js:494
msgid "only applies when %s is not %s."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2014
+#: htdocs/luci-static/resources/view/fchomo/node.js:2294
msgid "override.override-expr"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2006
+#: htdocs/luci-static/resources/view/fchomo/node.js:2286
msgid "override.proxy-name"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:557
+#: htdocs/luci-static/resources/view/fchomo/node.js:571
msgid "packet addr (v2ray-core v5+)"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1356
-#: htdocs/luci-static/resources/view/fchomo/node.js:1507
+#: htdocs/luci-static/resources/fchomo/listeners.js:1346
+#: htdocs/luci-static/resources/view/fchomo/node.js:1787
msgid "packet-up"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:360
-#: htdocs/luci-static/resources/view/fchomo/node.js:449
+#: htdocs/luci-static/resources/view/fchomo/node.js:463
msgid "poll"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1163
-#: htdocs/luci-static/resources/view/fchomo/node.js:1312
+#: htdocs/luci-static/resources/fchomo/listeners.js:1153
+#: htdocs/luci-static/resources/view/fchomo/node.js:1422
msgid "private key"
msgstr ""
@@ -4004,8 +4209,8 @@ msgstr ""
msgid "razord-meta"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1255
-#: htdocs/luci-static/resources/view/fchomo/client.js:1261
+#: htdocs/luci-static/resources/view/fchomo/client.js:1267
+#: htdocs/luci-static/resources/view/fchomo/client.js:1273
msgid "requires front-end adaptation using the API."
msgstr ""
@@ -4013,34 +4218,34 @@ msgstr ""
msgid "rule-set"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1579
+#: htdocs/luci-static/resources/view/fchomo/node.js:1859
msgid "smux"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:359
-#: htdocs/luci-static/resources/view/fchomo/node.js:448
+#: htdocs/luci-static/resources/view/fchomo/node.js:462
msgid "split-stream"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:822
+#: htdocs/luci-static/resources/view/fchomo/client.js:834
msgid "src"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1354
-#: htdocs/luci-static/resources/view/fchomo/node.js:1505
+#: htdocs/luci-static/resources/fchomo/listeners.js:1344
+#: htdocs/luci-static/resources/view/fchomo/node.js:1785
msgid "stream-one"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1355
-#: htdocs/luci-static/resources/view/fchomo/node.js:1506
+#: htdocs/luci-static/resources/fchomo/listeners.js:1345
+#: htdocs/luci-static/resources/view/fchomo/node.js:1786
msgid "stream-up"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1371
+#: htdocs/luci-static/resources/fchomo/listeners.js:1361
msgid "stream-up server seconds"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:482
+#: htdocs/luci-static/resources/view/fchomo/node.js:496
msgid "stream/poll/auto"
msgstr ""
@@ -4048,11 +4253,11 @@ msgstr ""
msgid "sudoku-keypair"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1068
+#: htdocs/luci-static/resources/view/fchomo/node.js:1178
msgid "tls12"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1069
+#: htdocs/luci-static/resources/view/fchomo/node.js:1179
msgid "tls13"
msgstr ""
@@ -4060,100 +4265,104 @@ msgstr ""
msgid "unchecked"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:457
+#: htdocs/luci-static/resources/fchomo.js:459
msgid "unique UCI identifier"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:460
+#: htdocs/luci-static/resources/fchomo.js:462
msgid "unique identifier"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1968
+#: htdocs/luci-static/resources/fchomo.js:1982
msgid "unique value"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2049
+#: htdocs/luci-static/resources/view/fchomo/node.js:2329
msgid "up"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:385
-#: htdocs/luci-static/resources/fchomo/listeners.js:736
-#: 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:990
-#: htdocs/luci-static/resources/view/fchomo/node.js:1059
+#: htdocs/luci-static/resources/fchomo/listeners.js:738
+#: htdocs/luci-static/resources/view/fchomo/node.js:512
+#: htdocs/luci-static/resources/view/fchomo/node.js:648
+#: htdocs/luci-static/resources/view/fchomo/node.js:1097
+#: htdocs/luci-static/resources/view/fchomo/node.js:1169
msgid "v1"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:386
-#: htdocs/luci-static/resources/fchomo/listeners.js:737
-#: htdocs/luci-static/resources/view/fchomo/node.js:499
-#: htdocs/luci-static/resources/view/fchomo/node.js:991
-#: htdocs/luci-static/resources/view/fchomo/node.js:1060
+#: htdocs/luci-static/resources/fchomo/listeners.js:739
+#: htdocs/luci-static/resources/view/fchomo/node.js:513
+#: htdocs/luci-static/resources/view/fchomo/node.js:1098
+#: htdocs/luci-static/resources/view/fchomo/node.js:1170
msgid "v2"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:387
-#: htdocs/luci-static/resources/fchomo/listeners.js:738
-#: htdocs/luci-static/resources/view/fchomo/node.js:500
-#: htdocs/luci-static/resources/view/fchomo/node.js:1061
+#: htdocs/luci-static/resources/fchomo/listeners.js:740
+#: htdocs/luci-static/resources/view/fchomo/node.js:514
+#: htdocs/luci-static/resources/view/fchomo/node.js:1171
msgid "v3"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:388
-#: htdocs/luci-static/resources/view/fchomo/node.js:501
+#: htdocs/luci-static/resources/view/fchomo/node.js:515
msgid "v4"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:389
-#: htdocs/luci-static/resources/view/fchomo/node.js:502
+#: htdocs/luci-static/resources/view/fchomo/node.js:516
msgid "v5"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1848
-#: htdocs/luci-static/resources/fchomo.js:1851
+#: htdocs/luci-static/resources/fchomo.js:1850
+#: htdocs/luci-static/resources/fchomo.js:1853
msgid "valid JSON format"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1266
+#: htdocs/luci-static/resources/view/fchomo/node.js:1376
msgid "valid SHA256 string with %d characters"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1873
-#: htdocs/luci-static/resources/fchomo.js:1876
+#: htdocs/luci-static/resources/fchomo.js:1875
+#: htdocs/luci-static/resources/fchomo.js:1878
msgid "valid URL"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1886
+#: htdocs/luci-static/resources/fchomo.js:1900
msgid "valid base64 key with %d characters"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1946
-#: htdocs/luci-static/resources/fchomo.js:1952
+#: htdocs/luci-static/resources/fchomo.js:1960
+#: htdocs/luci-static/resources/fchomo.js:1966
msgid "valid format: 2x, 2p, 4v"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1933
+#: htdocs/luci-static/resources/fchomo.js:1891
+msgid "valid hex string with %d characters"
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo.js:1947
msgid "valid key length with %d characters"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1811
+#: htdocs/luci-static/resources/fchomo.js:1813
msgid "valid port value"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1861
+#: htdocs/luci-static/resources/fchomo.js:1863
msgid "valid uuid"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:417
+#: htdocs/luci-static/resources/fchomo.js:419
msgid "vless-mlkem768"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:416
+#: htdocs/luci-static/resources/fchomo.js:418
msgid "vless-x25519"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:351
+#: htdocs/luci-static/resources/fchomo.js:353
msgid "xchacha20-ietf-poly1305"
msgstr ""
@@ -4161,7 +4370,7 @@ msgstr ""
msgid "yacd-meta"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1580
+#: htdocs/luci-static/resources/view/fchomo/node.js:1860
msgid "yamux"
msgstr ""
@@ -4169,10 +4378,10 @@ msgstr ""
msgid "zashboard"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:537
+#: htdocs/luci-static/resources/view/fchomo/node.js:551
msgid "zero"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1629
+#: htdocs/luci-static/resources/fchomo.js:1631
msgid "🡇"
msgstr ""
diff --git a/luci-app-fchomo/po/zh_Hans/fchomo.po b/luci-app-fchomo/po/zh_Hans/fchomo.po
index 6854745d..a1edc995 100644
--- a/luci-app-fchomo/po/zh_Hans/fchomo.po
+++ b/luci-app-fchomo/po/zh_Hans/fchomo.po
@@ -8,85 +8,98 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
+#: htdocs/luci-static/resources/view/fchomo/node.js:956
+msgid "%s Hostname"
+msgstr "%s 主机名称"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1508
+#: htdocs/luci-static/resources/view/fchomo/node.js:1538
+msgid "%s UDP port. 0 selects an available port."
+msgstr "%s UDP 端口。0 自动选择一个可用端口。"
+
#: htdocs/luci-static/resources/view/fchomo/log.js:111
msgid "%s log"
msgstr "%s 日志"
-#: htdocs/luci-static/resources/fchomo.js:253
-#: htdocs/luci-static/resources/fchomo.js:254
+#: htdocs/luci-static/resources/view/fchomo/node.js:807
+msgid "%s of the %s used to receiving remote debugging log."
+msgstr "%s,用于接收远程调试日志的 %s 的。"
+
#: 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
+#: htdocs/luci-static/resources/fchomo.js:259
+#: htdocs/luci-static/resources/fchomo.js:260
msgid "%s ports"
msgstr "%s 端口"
-#: htdocs/luci-static/resources/fchomo.js:644
-#: htdocs/luci-static/resources/fchomo.js:647
+#: htdocs/luci-static/resources/fchomo.js:646
+#: htdocs/luci-static/resources/fchomo.js:649
#: htdocs/luci-static/resources/view/fchomo/client.js:318
msgid "(Imported)"
msgstr "(已导入)"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1166
-#: htdocs/luci-static/resources/fchomo/listeners.js:1174
-#: htdocs/luci-static/resources/fchomo/listeners.js:1183
+#: htdocs/luci-static/resources/fchomo/listeners.js:1156
+#: htdocs/luci-static/resources/fchomo/listeners.js:1164
+#: htdocs/luci-static/resources/fchomo/listeners.js:1173
#: 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:1287
-#: htdocs/luci-static/resources/view/fchomo/node.js:1293
-#: htdocs/luci-static/resources/view/fchomo/node.js:1301
-#: htdocs/luci-static/resources/view/fchomo/node.js:1307
+#: htdocs/luci-static/resources/view/fchomo/node.js:1397
+#: htdocs/luci-static/resources/view/fchomo/node.js:1403
+#: htdocs/luci-static/resources/view/fchomo/node.js:1411
+#: htdocs/luci-static/resources/view/fchomo/node.js:1417
msgid "(mTLS)"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:696
+#: htdocs/luci-static/resources/view/fchomo/client.js:708
msgid "-- NETWORK --"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1208
+#: htdocs/luci-static/resources/view/fchomo/client.js:1220
msgid "-- PROXY-GROUP --"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1143
-#: htdocs/luci-static/resources/view/fchomo/client.js:1210
+#: htdocs/luci-static/resources/view/fchomo/client.js:1155
+#: htdocs/luci-static/resources/view/fchomo/client.js:1222
msgid "-- PROXY-NODE --"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:834
+#: htdocs/luci-static/resources/fchomo.js:836
#: htdocs/luci-static/resources/view/fchomo/client.js:573
-#: htdocs/luci-static/resources/view/fchomo/client.js:881
-#: htdocs/luci-static/resources/view/fchomo/client.js:884
-#: htdocs/luci-static/resources/view/fchomo/client.js:1081
-#: htdocs/luci-static/resources/view/fchomo/client.js:1085
-#: 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:288
-#: htdocs/luci-static/resources/view/fchomo/node.js:2212
-#: htdocs/luci-static/resources/view/fchomo/node.js:2223
-#: htdocs/luci-static/resources/view/fchomo/node.js:2242
-#: htdocs/luci-static/resources/view/fchomo/node.js:2253
+#: htdocs/luci-static/resources/view/fchomo/client.js:893
+#: htdocs/luci-static/resources/view/fchomo/client.js:896
+#: htdocs/luci-static/resources/view/fchomo/client.js:1093
+#: htdocs/luci-static/resources/view/fchomo/client.js:1097
+#: htdocs/luci-static/resources/view/fchomo/client.js:1113
+#: htdocs/luci-static/resources/view/fchomo/client.js:1117
+#: htdocs/luci-static/resources/view/fchomo/client.js:1373
+#: htdocs/luci-static/resources/view/fchomo/node.js:302
+#: htdocs/luci-static/resources/view/fchomo/node.js:2492
+#: htdocs/luci-static/resources/view/fchomo/node.js:2503
+#: htdocs/luci-static/resources/view/fchomo/node.js:2522
+#: htdocs/luci-static/resources/view/fchomo/node.js:2533
msgid "-- Please choose --"
msgstr "-- 请选择 --"
-#: htdocs/luci-static/resources/view/fchomo/client.js:694
+#: htdocs/luci-static/resources/view/fchomo/client.js:706
msgid "-- REMATCH-NAME --"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:699
+#: htdocs/luci-static/resources/view/fchomo/client.js:711
msgid "-- RULE-SET --"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:835
+#: htdocs/luci-static/resources/fchomo.js:837
msgid "-- custom --"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:406
+#: htdocs/luci-static/resources/fchomo.js:408
msgid "0-RTT reuse."
msgstr "0-RTT 重用。"
-#: htdocs/luci-static/resources/fchomo.js:403
-#: htdocs/luci-static/resources/fchomo.js:407
+#: htdocs/luci-static/resources/fchomo.js:405
+#: htdocs/luci-static/resources/fchomo.js:409
msgid "1-RTT only."
msgstr "仅限 1-RTT。"
@@ -94,32 +107,36 @@ msgstr "仅限 1-RTT。"
msgid "163Music"
msgstr "网抑云"
-#: htdocs/luci-static/resources/fchomo.js:353
+#: htdocs/luci-static/resources/fchomo.js:355
msgid "2022-blake3-aes-128-gcm"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:354
+#: htdocs/luci-static/resources/fchomo.js:356
msgid "2022-blake3-aes-256-gcm"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:355
+#: htdocs/luci-static/resources/fchomo.js:357
msgid "2022-blake3-chacha20-poly1305"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:707
+#: htdocs/luci-static/resources/view/fchomo/node.js:1539
+msgid "-1 disables it."
+msgstr "-1 表示禁用它。"
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:719
msgid "0 or 1 only."
msgstr "仅限 0 或 1。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1144
-#: htdocs/luci-static/resources/fchomo/listeners.js:1159
-#: htdocs/luci-static/resources/fchomo/listeners.js:1184
-#: htdocs/luci-static/resources/view/fchomo/node.js:1294
-#: htdocs/luci-static/resources/view/fchomo/node.js:1308
+#: htdocs/luci-static/resources/fchomo/listeners.js:1134
+#: htdocs/luci-static/resources/fchomo/listeners.js:1149
+#: htdocs/luci-static/resources/fchomo/listeners.js:1174
+#: htdocs/luci-static/resources/view/fchomo/node.js:1404
+#: htdocs/luci-static/resources/view/fchomo/node.js:1418
msgid "Save your configuration before uploading files!"
msgstr "上传文件前请先保存配置!"
#: htdocs/luci-static/resources/fchomo/listeners.js:207
-#: htdocs/luci-static/resources/view/fchomo/node.js:370
+#: htdocs/luci-static/resources/view/fchomo/node.js:384
msgid ""
"A base64 string is used to fine-tune network behavior.
Please refer to "
"the document"
@@ -179,9 +196,9 @@ msgstr "API 令牌"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:413
+#: htdocs/luci-static/resources/view/fchomo/node.js:415
+#: htdocs/luci-static/resources/view/fchomo/node.js:416
msgid "ASCII data stream"
msgstr "ASCII 数据流"
@@ -189,20 +206,24 @@ msgstr "ASCII 数据流"
msgid "ASN version"
msgstr "ASN 版本"
+#: htdocs/luci-static/resources/view/fchomo/node.js:977
+msgid "Accept routes"
+msgstr "接受路由"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:744
#: htdocs/luci-static/resources/view/fchomo/global.js:794
msgid "Access Control"
msgstr "访问控制"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1780
+#: htdocs/luci-static/resources/view/fchomo/client.js:1792
msgid "Add a Bootstrap DNS policy (Node)"
msgstr "新增 引导 DNS 策略 (节点)"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1832
+#: htdocs/luci-static/resources/view/fchomo/client.js:1844
msgid "Add a DNS policy"
msgstr "新增 DNS 策略"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1525
+#: htdocs/luci-static/resources/view/fchomo/client.js:1537
msgid "Add a DNS server"
msgstr "新增 DNS 服务器"
@@ -214,19 +235,19 @@ msgstr "新增 节点"
msgid "Add a inbound"
msgstr "新增 入站"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1698
+#: htdocs/luci-static/resources/view/fchomo/node.js:1978
msgid "Add a provider"
msgstr "新增 供应商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2186
+#: htdocs/luci-static/resources/view/fchomo/node.js:2466
msgid "Add a proxy chain"
msgstr "新增 代理链"
-#: htdocs/luci-static/resources/view/fchomo/client.js:972
+#: htdocs/luci-static/resources/view/fchomo/client.js:984
msgid "Add a proxy group"
msgstr "新增 代理组"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1275
+#: htdocs/luci-static/resources/view/fchomo/client.js:1287
msgid "Add a routing rule"
msgstr "新增 路由规则"
@@ -238,24 +259,28 @@ msgstr "新增 规则集"
msgid "Add a server"
msgstr "新增 服务器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1397
+#: htdocs/luci-static/resources/view/fchomo/client.js:1409
msgid "Add a sub rule"
msgstr "新增 子规则"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1995
+#: htdocs/luci-static/resources/view/fchomo/node.js:2275
msgid "Add prefix"
msgstr "添加前缀"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1999
+#: htdocs/luci-static/resources/view/fchomo/node.js:2279
msgid "Add suffix"
msgstr "添加后缀"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1585
-#: htdocs/luci-static/resources/view/fchomo/client.js:1590
+#: htdocs/luci-static/resources/view/fchomo/node.js:856
+msgid "Add the base64 text of the planet file here."
+msgstr "在此处添加行星文件的 base64 文本。"
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:1597
+#: htdocs/luci-static/resources/view/fchomo/client.js:1602
msgid "Address"
msgstr "地址"
-#: htdocs/luci-static/resources/fchomo.js:410
+#: htdocs/luci-static/resources/fchomo.js:412
msgid ""
"After the 1-RTT client/server hello, padding randomly 111-1111 bytes with "
"100% probability."
@@ -276,10 +301,14 @@ msgstr "客户端维护的 NAT 映射 的老化时间。"
msgid "All allowed"
msgstr "允许所有"
-#: htdocs/luci-static/resources/fchomo.js:250
+#: htdocs/luci-static/resources/fchomo.js:252
msgid "All ports"
msgstr "所有端口"
+#: htdocs/luci-static/resources/view/fchomo/node.js:988
+msgid "Allow LAN access"
+msgstr "允许局域网访问"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:647
msgid ""
"Allow access from private network.To access the API on a private "
@@ -287,11 +316,15 @@ msgid ""
msgstr ""
"允许从私有网络访问。要从公共网站访问私有网络上的 API,则必须启用。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1061
+#: htdocs/luci-static/resources/view/fchomo/node.js:989
+msgid "Allow access to the local LAN via the exit node."
+msgstr "允许通过出口节点访问本地局域网。"
+
+#: htdocs/luci-static/resources/fchomo/listeners.js:1057
msgid "Allow insecure connections"
msgstr "允许不安全的连接"
-#: htdocs/luci-static/resources/view/fchomo/node.js:822
+#: htdocs/luci-static/resources/view/fchomo/node.js:937
msgid "Allowed IPs"
msgstr "允许的 IP"
@@ -304,7 +337,7 @@ msgid "Already in updating."
msgstr "已在更新中。"
#: htdocs/luci-static/resources/fchomo/listeners.js:409
-#: htdocs/luci-static/resources/view/fchomo/node.js:527
+#: htdocs/luci-static/resources/view/fchomo/node.js:541
msgid "Alter ID"
msgstr "额外 ID"
@@ -317,6 +350,10 @@ msgstr ""
msgid "Application version"
msgstr "应用版本"
+#: htdocs/luci-static/resources/view/fchomo/node.js:972
+msgid "As ephemeral node"
+msgstr "作为临时节点"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:822
msgid "As the TOP upstream of dnsmasq"
msgstr "作为 dnsmasq 的最优先上游"
@@ -330,20 +367,27 @@ msgstr "作为 dnsmasq 的最优先上游。"
msgid "Auth timeout"
msgstr "认证超时"
-#: htdocs/luci-static/resources/view/fchomo/node.js:549
+#: htdocs/luci-static/resources/view/fchomo/node.js:563
msgid "Authenticated length"
msgstr "认证长度"
+#: htdocs/luci-static/resources/view/fchomo/node.js:967
+msgid "Authentication key"
+msgstr "验证密钥"
+
#: htdocs/luci-static/resources/fchomo/listeners.js:361
-#: htdocs/luci-static/resources/fchomo/listeners.js:1353
+#: htdocs/luci-static/resources/fchomo/listeners.js:1343
#: htdocs/luci-static/resources/view/fchomo/global.js:423
-#: 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:1504
+#: htdocs/luci-static/resources/view/fchomo/node.js:464
+#: htdocs/luci-static/resources/view/fchomo/node.js:488
+#: htdocs/luci-static/resources/view/fchomo/node.js:842
+#: htdocs/luci-static/resources/view/fchomo/node.js:895
+#: htdocs/luci-static/resources/view/fchomo/node.js:1784
msgid "Auto"
msgstr "自动"
#: htdocs/luci-static/resources/fchomo/listeners.js:139
+#: htdocs/luci-static/resources/view/fchomo/node.js:1488
msgid "Auto configure firewall"
msgstr "自动配置防火墙"
@@ -355,8 +399,8 @@ msgstr "自动更新"
msgid "Auto update resources."
msgstr "自动更新资源文件。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:639
-#: htdocs/luci-static/resources/view/fchomo/node.js:954
+#: htdocs/luci-static/resources/fchomo/listeners.js:638
+#: htdocs/luci-static/resources/view/fchomo/node.js:1061
msgid "BBR profile"
msgstr "BBR 配置文件"
@@ -364,11 +408,11 @@ msgstr "BBR 配置文件"
msgid "Baidu"
msgstr "百度"
-#: htdocs/luci-static/resources/view/fchomo/node.js:859
+#: htdocs/luci-static/resources/view/fchomo/node.js:996
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:867
+#: htdocs/luci-static/resources/view/fchomo/node.js:1004
msgid "Base64 encoded ECDSA public key on the NIST P-256 curve."
msgstr "基于 NIST P-256 曲线的 Base64 编码 ECDSA 公钥。"
@@ -390,13 +434,13 @@ msgid "Binary mrs"
msgstr "二进制 mrs"
#: htdocs/luci-static/resources/view/fchomo/global.js:758
-#: htdocs/luci-static/resources/view/fchomo/node.js:1665
-#: htdocs/luci-static/resources/view/fchomo/node.js:2084
+#: htdocs/luci-static/resources/view/fchomo/node.js:1945
+#: htdocs/luci-static/resources/view/fchomo/node.js:2364
msgid "Bind interface"
msgstr "绑定接口"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1666
-#: htdocs/luci-static/resources/view/fchomo/node.js:2085
+#: htdocs/luci-static/resources/view/fchomo/node.js:1946
+#: htdocs/luci-static/resources/view/fchomo/node.js:2365
msgid "Bind outbound interface."
msgstr "绑定出站接口。"
@@ -413,16 +457,16 @@ msgstr "黑名单"
msgid "Block DNS queries"
msgstr "封锁 DNS 请求"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1771
-#: htdocs/luci-static/resources/view/fchomo/client.js:1780
+#: htdocs/luci-static/resources/view/fchomo/client.js:1783
+#: htdocs/luci-static/resources/view/fchomo/client.js:1792
msgid "Bootstrap DNS policy (Node)"
msgstr "引导 DNS 策略 (节点)"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1470
+#: htdocs/luci-static/resources/view/fchomo/client.js:1482
msgid "Bootstrap DNS server"
msgstr "引导 DNS 服务器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1477
+#: htdocs/luci-static/resources/view/fchomo/client.js:1489
msgid "Bootstrap DNS server (Node)"
msgstr "引导 DNS 服务器 (节点)"
@@ -442,10 +486,10 @@ msgstr "绕过 DSCP"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:462
+#: htdocs/luci-static/resources/view/fchomo/node.js:463
+#: htdocs/luci-static/resources/view/fchomo/node.js:464
+#: htdocs/luci-static/resources/view/fchomo/node.js:465
msgid "CDN support"
msgstr "CDN 支持"
@@ -461,21 +505,21 @@ msgstr "CORS 允许私有网络"
msgid "CORS allowed origins, * will be used if empty."
msgstr "CORS 允许的来源,留空则使用 *。"
-#: htdocs/luci-static/resources/fchomo.js:760
+#: htdocs/luci-static/resources/fchomo.js:762
msgid "Cancel"
msgstr "取消"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1260
+#: htdocs/luci-static/resources/view/fchomo/node.js:1370
msgid "Cert fingerprint"
msgstr "证书指纹"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1261
+#: htdocs/luci-static/resources/view/fchomo/node.js:1371
msgid ""
"Certificate fingerprint. Used to implement SSL Pinning and prevent MitM."
msgstr "证书指纹。用于实现 SSL证书固定 并防止 MitM。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1121
-#: htdocs/luci-static/resources/view/fchomo/node.js:1287
+#: htdocs/luci-static/resources/fchomo/listeners.js:1111
+#: htdocs/luci-static/resources/view/fchomo/node.js:1397
msgid "Certificate path"
msgstr "证书路径"
@@ -488,7 +532,7 @@ msgstr "检查"
msgid "Check routerself NAT Behavior"
msgstr "检测路由器自身 NAT 行为"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1926
+#: htdocs/luci-static/resources/view/fchomo/client.js:1938
msgid ""
"Check the response from the %s, only initiate query if the "
"%s is satisfied."
@@ -513,14 +557,14 @@ msgstr "大陆域名列表版本"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:337
+#: htdocs/luci-static/resources/view/fchomo/node.js:396
+#: htdocs/luci-static/resources/view/fchomo/node.js:547
msgid "Chipher"
msgstr "加密方法"
#: htdocs/luci-static/resources/fchomo/listeners.js:284
-#: htdocs/luci-static/resources/view/fchomo/node.js:391
+#: htdocs/luci-static/resources/view/fchomo/node.js:405
msgid "Chipher must be enabled if obfuscate downlink is disabled."
msgstr "如果下行链路混淆功能被禁用,则必须启用加密。"
@@ -536,25 +580,25 @@ msgstr ""
"点击此处下载"
"最新的初始包。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:857
-#: htdocs/luci-static/resources/fchomo/listeners.js:1175
+#: htdocs/luci-static/resources/fchomo/listeners.js:853
+#: htdocs/luci-static/resources/fchomo/listeners.js:1165
#: htdocs/luci-static/resources/view/fchomo/global.js:571
-#: htdocs/luci-static/resources/view/fchomo/node.js:1116
-#: htdocs/luci-static/resources/view/fchomo/node.js:1288
-#: htdocs/luci-static/resources/view/fchomo/node.js:1302
+#: htdocs/luci-static/resources/view/fchomo/node.js:1226
+#: htdocs/luci-static/resources/view/fchomo/node.js:1398
+#: htdocs/luci-static/resources/view/fchomo/node.js:1412
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:22
msgid "Client"
msgstr "客户端"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1174
+#: htdocs/luci-static/resources/fchomo/listeners.js:1164
msgid "Client Auth Certificate path"
msgstr "客户端认证证书路径"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1166
+#: htdocs/luci-static/resources/fchomo/listeners.js:1156
msgid "Client Auth type"
msgstr "客户端认证类型"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1333
+#: htdocs/luci-static/resources/view/fchomo/node.js:1443
msgid "Client fingerprint"
msgstr "客户端指纹"
@@ -566,21 +610,26 @@ msgstr "客户端密钥"
msgid "Client status"
msgstr "客户端状态"
+#: htdocs/luci-static/resources/view/fchomo/node.js:1583
+#: htdocs/luci-static/resources/view/fchomo/node.js:1608
+msgid "Cloudflare WARP"
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/log.js:82
msgid "Collecting data..."
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
msgid "Common ports (bypass P2P traffic)"
msgstr "常用端口(绕过 P2P 流量)"
-#: htdocs/luci-static/resources/fchomo.js:1745
+#: htdocs/luci-static/resources/fchomo.js:1747
msgid "Complete"
msgstr "完成"
-#: htdocs/luci-static/resources/fchomo/listeners.js:631
-#: htdocs/luci-static/resources/view/fchomo/node.js:945
+#: htdocs/luci-static/resources/fchomo/listeners.js:630
+#: htdocs/luci-static/resources/view/fchomo/node.js:1051
msgid "Congestion controller"
msgstr "拥塞控制器"
@@ -588,12 +637,12 @@ msgstr "拥塞控制器"
msgid "Connection check"
msgstr "连接检查"
-#: htdocs/luci-static/resources/view/fchomo/node.js:507
+#: htdocs/luci-static/resources/view/fchomo/node.js:521
msgid "Connection reuse"
msgstr "连接复用"
-#: htdocs/luci-static/resources/fchomo/listeners.js:576
-#: htdocs/luci-static/resources/view/fchomo/node.js:763
+#: htdocs/luci-static/resources/fchomo/listeners.js:575
+#: htdocs/luci-static/resources/view/fchomo/node.js:776
msgid "Connection-level receive window size"
msgstr "连接级接收窗口大小"
@@ -601,19 +650,19 @@ msgstr "连接级接收窗口大小"
msgid "Conservative"
msgstr "保守"
-#: htdocs/luci-static/resources/fchomo.js:629
+#: htdocs/luci-static/resources/fchomo.js:631
msgid "Content copied to clipboard!"
msgstr "内容已复制到剪贴板!"
-#: htdocs/luci-static/resources/view/fchomo/client.js:687
-#: htdocs/luci-static/resources/view/fchomo/node.js:1855
-#: htdocs/luci-static/resources/view/fchomo/node.js:1881
+#: htdocs/luci-static/resources/view/fchomo/client.js:699
+#: htdocs/luci-static/resources/view/fchomo/node.js:2135
+#: htdocs/luci-static/resources/view/fchomo/node.js:2161
#: 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:1854
+#: htdocs/luci-static/resources/view/fchomo/node.js:2134
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:347
msgid "Contents"
msgstr "内容"
@@ -622,7 +671,11 @@ msgstr "内容"
msgid "Contents have been saved."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:631
+#: htdocs/luci-static/resources/view/fchomo/node.js:961
+msgid "Control server"
+msgstr "控制服务器"
+
+#: htdocs/luci-static/resources/fchomo.js:633
msgid "Copy"
msgstr "复制"
@@ -634,11 +687,15 @@ msgstr "核心版本"
msgid "Cron expression"
msgstr "Cron 表达式"
+#: htdocs/luci-static/resources/view/fchomo/node.js:962
+msgid "Custom %s control server."
+msgstr "自定义 %s 控制服务器。"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:913
msgid "Custom Direct List"
msgstr "自定义直连列表"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1986
+#: htdocs/luci-static/resources/view/fchomo/node.js:2266
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:420
msgid "Custom HTTP header."
msgstr "自定义 HTTP header。"
@@ -648,7 +705,7 @@ msgid "Custom Proxy List"
msgstr "自定义代理列表"
#: htdocs/luci-static/resources/fchomo/listeners.js:299
-#: htdocs/luci-static/resources/view/fchomo/node.js:406
+#: htdocs/luci-static/resources/view/fchomo/node.js:420
msgid "Custom byte layout"
msgstr "自定义字节布局"
@@ -661,9 +718,9 @@ msgstr "自定义内部 hosts。支持 yaml 或 json
msgid "DIRECT"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1823
-#: htdocs/luci-static/resources/view/fchomo/client.js:1832
-#: htdocs/luci-static/resources/view/fchomo/client.js:1907
+#: htdocs/luci-static/resources/view/fchomo/client.js:1835
+#: htdocs/luci-static/resources/view/fchomo/client.js:1844
+#: htdocs/luci-static/resources/view/fchomo/client.js:1919
msgid "DNS policy"
msgstr "DNS 策略"
@@ -671,15 +728,14 @@ msgstr "DNS 策略"
msgid "DNS port"
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:852
-#: htdocs/luci-static/resources/view/fchomo/node.js:919
+#: htdocs/luci-static/resources/view/fchomo/client.js:911
+#: htdocs/luci-static/resources/view/fchomo/client.js:1528
+#: htdocs/luci-static/resources/view/fchomo/client.js:1537
+#: htdocs/luci-static/resources/view/fchomo/node.js:1651
msgid "DNS server"
msgstr "DNS 服务器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1453
+#: htdocs/luci-static/resources/view/fchomo/client.js:1465
msgid "DNS settings"
msgstr "DNS 设置"
@@ -692,6 +748,7 @@ msgid "Dashboard version"
msgstr "面板版本"
#: htdocs/luci-static/resources/fchomo.js:94
+#: htdocs/luci-static/resources/view/fchomo/node.js:817
msgid "Debug"
msgstr "调试"
@@ -699,13 +756,13 @@ msgstr "调试"
msgid "Default DNS (issued by WAN)"
msgstr "默认 DNS(由 WAN 下发)"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1491
-#: htdocs/luci-static/resources/view/fchomo/client.js:1927
-#: htdocs/luci-static/resources/view/fchomo/client.js:1930
+#: htdocs/luci-static/resources/view/fchomo/client.js:1503
+#: htdocs/luci-static/resources/view/fchomo/client.js:1939
+#: htdocs/luci-static/resources/view/fchomo/client.js:1942
msgid "Default DNS server"
msgstr "默认 DNS 服务器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1201
+#: htdocs/luci-static/resources/view/fchomo/client.js:1213
msgid "Default selected"
msgstr "默认选中"
@@ -717,24 +774,24 @@ msgstr "默认版本,支持 %s。"
msgid "Derive from priv-key"
msgstr "从私钥派生"
-#: htdocs/luci-static/resources/view/fchomo/node.js:823
+#: htdocs/luci-static/resources/view/fchomo/node.js:938
msgid "Destination addresses allowed to be forwarded via Wireguard."
msgstr "允许通过 WireGuard 转发的目的地址"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2209
+#: htdocs/luci-static/resources/view/fchomo/node.js:2489
msgid "Destination provider"
msgstr "落地供应商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2220
+#: htdocs/luci-static/resources/view/fchomo/node.js:2500
msgid "Destination proxy node"
msgstr "落地代理节点"
-#: htdocs/luci-static/resources/view/fchomo/node.js:243
+#: htdocs/luci-static/resources/view/fchomo/node.js:257
msgid "Dial fields"
msgstr "拨号字段"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2232
-#: htdocs/luci-static/resources/view/fchomo/node.js:2262
+#: htdocs/luci-static/resources/view/fchomo/node.js:2512
+#: htdocs/luci-static/resources/view/fchomo/node.js:2542
msgid "Different chain head/tail"
msgstr "不同的链头/链尾"
@@ -756,7 +813,8 @@ msgstr "直连 MAC 地址"
#: htdocs/luci-static/resources/fchomo/listeners.js:485
#: htdocs/luci-static/resources/view/fchomo/global.js:424
-#: htdocs/luci-static/resources/view/fchomo/node.js:696
+#: htdocs/luci-static/resources/view/fchomo/node.js:710
+#: htdocs/luci-static/resources/view/fchomo/node.js:844
msgid "Disable"
msgstr "禁用"
@@ -772,11 +830,11 @@ msgstr "禁用 quic-go 的 通用分段卸载(GSO)"
msgid "Disable ICMP Forwarding"
msgstr "禁用 ICMP 转发"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1201
+#: htdocs/luci-static/resources/view/fchomo/node.js:1311
msgid "Disable SNI"
msgstr "禁用 SNI"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1150
+#: htdocs/luci-static/resources/view/fchomo/client.js:1162
msgid "Disable UDP"
msgstr "禁用 UDP"
@@ -784,7 +842,7 @@ msgstr "禁用 UDP"
msgid "Disable safe path check"
msgstr "禁用安全路径检查"
-#: htdocs/luci-static/resources/view/fchomo/client.js:841
+#: htdocs/luci-static/resources/view/fchomo/client.js:853
msgid ""
"Do not resolve the domain connection to IP for this match.Only works "
"for pure domain inbound connections without DNS resolution. e.g., socks5h"
@@ -792,39 +850,39 @@ msgstr ""
"不要将域名连接解析为 IP 以进行此次匹配。仅对未经 DNS 解析的纯域名入站连"
"接有效。例如,socks5h"
-#: htdocs/luci-static/resources/view/fchomo/client.js:864
-#: htdocs/luci-static/resources/view/fchomo/client.js:869
-#: htdocs/luci-static/resources/view/fchomo/client.js:1906
-#: htdocs/luci-static/resources/view/fchomo/client.js:1914
-#: htdocs/luci-static/resources/view/fchomo/client.js:1916
+#: htdocs/luci-static/resources/view/fchomo/client.js:876
+#: htdocs/luci-static/resources/view/fchomo/client.js:881
+#: htdocs/luci-static/resources/view/fchomo/client.js:1918
+#: htdocs/luci-static/resources/view/fchomo/client.js:1926
+#: htdocs/luci-static/resources/view/fchomo/client.js:1928
msgid "Domain"
msgstr "域名"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1202
+#: htdocs/luci-static/resources/view/fchomo/node.js:1312
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:1280
-#: htdocs/luci-static/resources/view/fchomo/node.js:2068
+#: htdocs/luci-static/resources/view/fchomo/client.js:1680
+#: htdocs/luci-static/resources/view/fchomo/node.js:1390
+#: htdocs/luci-static/resources/view/fchomo/node.js:2348
msgid "Donot verifying server certificate."
msgstr "不验证服务器证书。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1405
-#: htdocs/luci-static/resources/view/fchomo/node.js:1642
+#: htdocs/luci-static/resources/fchomo/listeners.js:1395
+#: htdocs/luci-static/resources/view/fchomo/node.js:1922
msgid "Download bandwidth"
msgstr "下载带宽"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1406
-#: htdocs/luci-static/resources/view/fchomo/node.js:1643
+#: htdocs/luci-static/resources/fchomo/listeners.js:1396
+#: htdocs/luci-static/resources/view/fchomo/node.js:1923
msgid "Download bandwidth in Mbps."
msgstr "下载带宽(单位:Mbps)。"
-#: htdocs/luci-static/resources/fchomo.js:1624
+#: htdocs/luci-static/resources/fchomo.js:1626
msgid "Download failed: %s"
msgstr "下载失败: %s"
-#: htdocs/luci-static/resources/fchomo.js:1622
+#: htdocs/luci-static/resources/fchomo.js:1624
msgid "Download successful."
msgstr "下载成功。"
@@ -832,24 +890,24 @@ msgstr "下载成功。"
msgid "Dual stack"
msgstr "双栈"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1327
+#: htdocs/luci-static/resources/view/fchomo/node.js:1437
msgid "ECH HTTPS record query servername"
msgstr "ECH HTTPS 记录查询域名"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1232
-#: htdocs/luci-static/resources/view/fchomo/node.js:1321
+#: htdocs/luci-static/resources/fchomo/listeners.js:1222
+#: htdocs/luci-static/resources/view/fchomo/node.js:1431
msgid "ECH config"
msgstr "ECH 配置"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1191
+#: htdocs/luci-static/resources/fchomo/listeners.js:1181
msgid "ECH key"
msgstr "ECH 密钥"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1702
+#: htdocs/luci-static/resources/view/fchomo/client.js:1714
msgid "ECS override"
msgstr "强制覆盖 ECS"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1686
+#: htdocs/luci-static/resources/view/fchomo/client.js:1698
msgid "EDNS Client Subnet"
msgstr "EDNS 客户端子网"
@@ -857,11 +915,11 @@ msgstr "EDNS 客户端子网"
msgid "ETag support"
msgstr "ETag 支持"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1482
+#: htdocs/luci-static/resources/view/fchomo/node.js:1762
msgid "Early Data first packet length limit."
msgstr "前置数据长度阈值"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1488
+#: htdocs/luci-static/resources/view/fchomo/node.js:1768
msgid "Early Data header name"
msgstr "前置数据标头"
@@ -877,39 +935,39 @@ msgstr "编辑出站"
msgid "Edit ruleset"
msgstr "编辑规则集"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1852
+#: htdocs/luci-static/resources/view/fchomo/node.js:2132
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:345
msgid "Editer"
msgstr "编辑器"
-#: htdocs/luci-static/resources/fchomo.js:397
+#: htdocs/luci-static/resources/fchomo.js:399
msgid "Eliminate encryption header characteristics"
msgstr "消除加密头特征"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1135
+#: htdocs/luci-static/resources/view/fchomo/client.js:1147
msgid "Empty fallback"
msgstr "为空时回退"
#: 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
-#: htdocs/luci-static/resources/view/fchomo/client.js:1439
-#: htdocs/luci-static/resources/view/fchomo/client.js:1581
-#: htdocs/luci-static/resources/view/fchomo/client.js:1815
-#: htdocs/luci-static/resources/view/fchomo/client.js:1871
+#: htdocs/luci-static/resources/view/fchomo/client.js:974
+#: htdocs/luci-static/resources/view/fchomo/client.js:1069
+#: htdocs/luci-static/resources/view/fchomo/client.js:1356
+#: htdocs/luci-static/resources/view/fchomo/client.js:1451
+#: htdocs/luci-static/resources/view/fchomo/client.js:1593
+#: htdocs/luci-static/resources/view/fchomo/client.js:1827
+#: htdocs/luci-static/resources/view/fchomo/client.js:1883
#: 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:250
-#: htdocs/luci-static/resources/view/fchomo/node.js:1825
-#: htdocs/luci-static/resources/view/fchomo/node.js:2107
-#: htdocs/luci-static/resources/view/fchomo/node.js:2196
+#: htdocs/luci-static/resources/view/fchomo/node.js:264
+#: htdocs/luci-static/resources/view/fchomo/node.js:2105
+#: htdocs/luci-static/resources/view/fchomo/node.js:2387
+#: htdocs/luci-static/resources/view/fchomo/node.js:2476
#: 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:650
+#: htdocs/luci-static/resources/view/fchomo/node.js:664
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:649
+#: htdocs/luci-static/resources/view/fchomo/node.js:663
msgid "Enable 0-RTT handshake"
msgstr "启用 0-RTT 握手"
@@ -930,69 +988,73 @@ msgstr ""
"为出站连接启用 IP4P 转换"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1315
+#: htdocs/luci-static/resources/view/fchomo/node.js:1425
msgid "Enable ECH"
msgstr "启用 ECH"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1393
-#: htdocs/luci-static/resources/view/fchomo/node.js:1630
+#: htdocs/luci-static/resources/fchomo/listeners.js:1383
+#: htdocs/luci-static/resources/view/fchomo/node.js:1910
msgid "Enable TCP Brutal"
msgstr "启用 TCP Brutal"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1394
-#: htdocs/luci-static/resources/view/fchomo/node.js:1631
+#: htdocs/luci-static/resources/fchomo/listeners.js:1384
+#: htdocs/luci-static/resources/view/fchomo/node.js:1911
msgid "Enable TCP Brutal congestion control algorithm"
msgstr "启用 TCP Brutal 拥塞控制算法。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:644
+#: htdocs/luci-static/resources/view/fchomo/node.js:658
msgid "Enable fast open"
msgstr "启用 Fast open"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1619
+#: htdocs/luci-static/resources/view/fchomo/node.js:1899
msgid "Enable multiplexing only for TCP."
msgstr "仅为 TCP 启用多路复用。"
#: htdocs/luci-static/resources/fchomo/listeners.js:345
-#: htdocs/luci-static/resources/view/fchomo/node.js:434
+#: htdocs/luci-static/resources/view/fchomo/node.js:448
msgid "Enable obfuscate for downlink"
msgstr "启用下行链路混淆"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1388
-#: htdocs/luci-static/resources/view/fchomo/node.js:1613
+#: htdocs/luci-static/resources/fchomo/listeners.js:1378
+#: htdocs/luci-static/resources/view/fchomo/node.js:1893
msgid "Enable padding"
msgstr "启用填充"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1624
+#: htdocs/luci-static/resources/view/fchomo/node.js:1904
msgid "Enable statistic"
msgstr "启用统计"
-#: htdocs/luci-static/resources/view/fchomo/node.js:984
-#: htdocs/luci-static/resources/view/fchomo/node.js:2044
+#: htdocs/luci-static/resources/view/fchomo/node.js:1091
+#: htdocs/luci-static/resources/view/fchomo/node.js:2324
msgid ""
"Enable the SUoT protocol, requires server support. Conflict with Multiplex."
msgstr "启用 SUoT 协议,需要服务端支持。与多路复用冲突。"
#: htdocs/luci-static/resources/fchomo/listeners.js:492
-#: htdocs/luci-static/resources/view/fchomo/node.js:703
+#: htdocs/luci-static/resources/view/fchomo/node.js:717
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:820
+#: htdocs/luci-static/resources/view/fchomo/node.js:835
+msgid "Encrypted Hello"
+msgstr "加密 Hello"
+
+#: htdocs/luci-static/resources/fchomo/listeners.js:816
msgid "Encryption method"
msgstr "加密方法"
-#: htdocs/luci-static/resources/view/fchomo/node.js:866
-msgid "Endpoint public key"
-msgstr "端点公钥"
+#: htdocs/luci-static/resources/view/fchomo/node.js:1003
+msgid "Server public key"
+msgstr "服务器公钥"
#: htdocs/luci-static/resources/view/fchomo/global.js:540
msgid "Endpoint-Independent NAT"
msgstr "端点独立 NAT"
-#: htdocs/luci-static/resources/view/fchomo/client.js:740
-#: htdocs/luci-static/resources/view/fchomo/client.js:891
+#: htdocs/luci-static/resources/view/fchomo/client.js:752
+#: htdocs/luci-static/resources/view/fchomo/client.js:903
msgid "Entry"
msgstr "条目"
@@ -1000,17 +1062,17 @@ msgstr "条目"
msgid "Error"
msgstr "错误"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1194
+#: htdocs/luci-static/resources/view/fchomo/client.js:1206
msgid ""
"Exceeding this triggers a forced health check. 5 will be used "
"if empty."
msgstr "超过此限制将会触发强制健康检查。留空则使用 5。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2165
+#: htdocs/luci-static/resources/view/fchomo/node.js:2445
msgid "Exclude matched node types."
msgstr "排除匹配的节点类型。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1248
+#: htdocs/luci-static/resources/view/fchomo/client.js:1260
msgid ""
"Exclude matched node types. Available types see here."
@@ -1018,98 +1080,104 @@ msgstr ""
"排除匹配的节点类型。可用类型请参见此处。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1243
-#: htdocs/luci-static/resources/view/fchomo/node.js:2158
+#: htdocs/luci-static/resources/view/fchomo/client.js:1255
+#: htdocs/luci-static/resources/view/fchomo/node.js:2438
msgid "Exclude nodes that meet keywords or regexps."
msgstr "排除匹配关键词或表达式的节点。"
+#: htdocs/luci-static/resources/view/fchomo/node.js:983
+msgid "Exit node"
+msgstr "出口节点"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:265
msgid "Expand/Collapse result"
msgstr "展开/收起 结果"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1186
-#: htdocs/luci-static/resources/view/fchomo/node.js:2143
+#: htdocs/luci-static/resources/view/fchomo/client.js:1198
+#: htdocs/luci-static/resources/view/fchomo/node.js:2423
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:2145
+#: htdocs/luci-static/resources/view/fchomo/client.js:1200
+#: htdocs/luci-static/resources/view/fchomo/node.js:2425
msgid "Expected status"
msgstr "预期状态"
-#: 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: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.js:456
+#: htdocs/luci-static/resources/fchomo.js:459
+#: htdocs/luci-static/resources/fchomo.js:462
+#: htdocs/luci-static/resources/fchomo.js:1764
+#: htdocs/luci-static/resources/fchomo.js:1772
+#: htdocs/luci-static/resources/fchomo.js:1780
+#: htdocs/luci-static/resources/fchomo.js:1803
+#: htdocs/luci-static/resources/fchomo.js:1806
+#: htdocs/luci-static/resources/fchomo.js:1813
+#: htdocs/luci-static/resources/fchomo.js:1829
+#: htdocs/luci-static/resources/fchomo.js:1838
+#: htdocs/luci-static/resources/fchomo.js:1850
+#: htdocs/luci-static/resources/fchomo.js:1853
+#: htdocs/luci-static/resources/fchomo.js:1863
+#: htdocs/luci-static/resources/fchomo.js:1875
+#: htdocs/luci-static/resources/fchomo.js:1878
+#: htdocs/luci-static/resources/fchomo.js:1891
+#: htdocs/luci-static/resources/fchomo.js:1900
+#: htdocs/luci-static/resources/fchomo.js:1910
+#: htdocs/luci-static/resources/fchomo.js:1945
+#: htdocs/luci-static/resources/fchomo.js:1947
+#: htdocs/luci-static/resources/fchomo.js:1960
+#: htdocs/luci-static/resources/fchomo.js:1966
+#: htdocs/luci-static/resources/fchomo.js:1973
+#: htdocs/luci-static/resources/fchomo.js:1982
#: htdocs/luci-static/resources/fchomo/listeners.js:284
#: htdocs/luci-static/resources/fchomo/listeners.js:331
-#: htdocs/luci-static/resources/fchomo/listeners.js:849
-#: htdocs/luci-static/resources/fchomo/listeners.js:880
-#: htdocs/luci-static/resources/fchomo/listeners.js:981
+#: htdocs/luci-static/resources/fchomo/listeners.js:845
+#: htdocs/luci-static/resources/fchomo/listeners.js:876
+#: htdocs/luci-static/resources/fchomo/listeners.js:977
#: 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/client.js:1063
+#: htdocs/luci-static/resources/view/fchomo/client.js:1608
#: htdocs/luci-static/resources/view/fchomo/global.js:904
-#: 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:1139
-#: htdocs/luci-static/resources/view/fchomo/node.js:1266
-#: htdocs/luci-static/resources/view/fchomo/node.js:2232
-#: htdocs/luci-static/resources/view/fchomo/node.js:2262
+#: htdocs/luci-static/resources/view/fchomo/node.js:405
+#: htdocs/luci-static/resources/view/fchomo/node.js:441
+#: htdocs/luci-static/resources/view/fchomo/node.js:494
+#: htdocs/luci-static/resources/view/fchomo/node.js:496
+#: htdocs/luci-static/resources/view/fchomo/node.js:886
+#: htdocs/luci-static/resources/view/fchomo/node.js:1249
+#: htdocs/luci-static/resources/view/fchomo/node.js:1376
+#: htdocs/luci-static/resources/view/fchomo/node.js:2512
+#: htdocs/luci-static/resources/view/fchomo/node.js:2542
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:300
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:314
msgid "Expecting: %s"
msgstr "请输入:%s"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1135
+#: htdocs/luci-static/resources/fchomo/listeners.js:1125
msgid "Expecting: Cannot be empty."
msgstr "请输入:不能为空。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1246
-#: htdocs/luci-static/resources/view/fchomo/node.js:1349
+#: htdocs/luci-static/resources/fchomo/listeners.js:1236
+#: htdocs/luci-static/resources/view/fchomo/node.js:1459
msgid "Expecting: Cannot be enabled when %s is enabled."
msgstr "请输入:当 %s 启用时,无法启用。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1130
+#: htdocs/luci-static/resources/fchomo/listeners.js:1120
msgid "Expecting: Keep empty when %s is enabled."
msgstr "请输入:启用 %s 时保持为空。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:278
-#: htdocs/luci-static/resources/view/fchomo/node.js:296
+#: htdocs/luci-static/resources/view/fchomo/node.js:292
+#: htdocs/luci-static/resources/view/fchomo/node.js:310
msgid "Expecting: Least one of %s or %s."
msgstr "请输入:至少包含 %s 或 %s 中的一个。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:685
-#: htdocs/luci-static/resources/fchomo/listeners.js:691
-#: htdocs/luci-static/resources/fchomo/listeners.js:1314
-#: htdocs/luci-static/resources/fchomo/listeners.js:1321
-#: htdocs/luci-static/resources/view/fchomo/node.js:1016
-#: htdocs/luci-static/resources/view/fchomo/node.js:1022
-#: htdocs/luci-static/resources/view/fchomo/node.js:1397
-#: htdocs/luci-static/resources/view/fchomo/node.js:1404
-#: htdocs/luci-static/resources/view/fchomo/node.js:1412
+#: htdocs/luci-static/resources/fchomo/listeners.js:684
+#: htdocs/luci-static/resources/fchomo/listeners.js:690
+#: htdocs/luci-static/resources/fchomo/listeners.js:1304
+#: htdocs/luci-static/resources/fchomo/listeners.js:1311
+#: htdocs/luci-static/resources/view/fchomo/node.js:1123
+#: htdocs/luci-static/resources/view/fchomo/node.js:1129
+#: htdocs/luci-static/resources/view/fchomo/node.js:1677
+#: htdocs/luci-static/resources/view/fchomo/node.js:1684
+#: htdocs/luci-static/resources/view/fchomo/node.js:1692
msgid "Expecting: Only support %s."
msgstr "请输入:仅支援 %s。"
@@ -1122,81 +1190,90 @@ msgstr "实验性"
#: htdocs/luci-static/resources/view/fchomo/client.js:580
#: htdocs/luci-static/resources/view/fchomo/client.js:587
#: htdocs/luci-static/resources/view/fchomo/client.js:597
-#: htdocs/luci-static/resources/view/fchomo/client.js:604
-#: htdocs/luci-static/resources/view/fchomo/client.js:612
-#: htdocs/luci-static/resources/view/fchomo/client.js:619
-#: htdocs/luci-static/resources/view/fchomo/client.js:686
+#: htdocs/luci-static/resources/view/fchomo/client.js:616
+#: htdocs/luci-static/resources/view/fchomo/client.js:624
+#: htdocs/luci-static/resources/view/fchomo/client.js:631
+#: htdocs/luci-static/resources/view/fchomo/client.js:698
msgid "Factor"
msgstr "条件"
-#: htdocs/luci-static/resources/fchomo.js:1703
+#: htdocs/luci-static/resources/fchomo.js:1705
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:1656
+#: htdocs/luci-static/resources/fchomo.js:1658
msgid "Failed to generate %s, error: %s."
msgstr "生成 %s 失败,错误:%s。"
-#: htdocs/luci-static/resources/fchomo.js:2068
+#: htdocs/luci-static/resources/fchomo.js:2082
msgid "Failed to upload %s, error: %s."
msgstr "上传 %s 失败,错误:%s。"
-#: htdocs/luci-static/resources/fchomo.js:2087
+#: htdocs/luci-static/resources/fchomo.js:2101
msgid "Failed to upload, error: %s."
msgstr "上传失败,错误:%s。"
-#: htdocs/luci-static/resources/fchomo.js:244
+#: htdocs/luci-static/resources/fchomo.js:246
#: htdocs/luci-static/resources/fchomo/listeners.js:370
msgid "Fallback"
msgstr "自动回退"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1485
-#: htdocs/luci-static/resources/view/fchomo/client.js:1498
-#: htdocs/luci-static/resources/view/fchomo/client.js:1930
+#: htdocs/luci-static/resources/view/fchomo/client.js:1497
+#: htdocs/luci-static/resources/view/fchomo/client.js:1510
+#: htdocs/luci-static/resources/view/fchomo/client.js:1942
msgid "Fallback DNS server"
msgstr "後備 DNS 服务器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1885
-#: htdocs/luci-static/resources/view/fchomo/client.js:1927
+#: htdocs/luci-static/resources/view/fchomo/client.js:1897
+#: htdocs/luci-static/resources/view/fchomo/client.js:1939
msgid "Fallback filter"
msgstr "後備过滤器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1238
-#: htdocs/luci-static/resources/view/fchomo/node.js:2152
+#: htdocs/luci-static/resources/view/fchomo/node.js:841
+msgid "Fallback mode"
+msgstr "自动回退模式"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:848
+msgid "Fallback relay"
+msgstr "自动回退中继"
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:1250
+#: htdocs/luci-static/resources/view/fchomo/node.js:2432
msgid "Filter nodes that meet keywords or regexps."
msgstr "过滤匹配关键字或表达式的节点。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1752
+#: htdocs/luci-static/resources/view/fchomo/client.js:1764
msgid "Filter record type:"
msgstr "过滤记录类型:"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1720
-#: htdocs/luci-static/resources/view/fchomo/client.js:1736
+#: htdocs/luci-static/resources/view/fchomo/client.js:1732
+#: htdocs/luci-static/resources/view/fchomo/client.js:1748
msgid "Filter record: %s"
msgstr "过滤 %s 记录"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1484
+#: htdocs/luci-static/resources/view/fchomo/client.js:1496
msgid "Final DNS server"
msgstr "兜底 DNS 服务器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1486
+#: htdocs/luci-static/resources/view/fchomo/client.js:1498
msgid "Final DNS server (For non-poisoned domains)"
msgstr "兜底 DNS 服务器 (用于未被投毒污染的域名)"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1488
+#: htdocs/luci-static/resources/view/fchomo/client.js:1500
msgid "Final DNS server (For poisoned domains)"
msgstr "兜底 DNS 服务器 (用于已被投毒污染的域名)"
#: htdocs/luci-static/resources/fchomo/listeners.js:138
+#: htdocs/luci-static/resources/view/fchomo/node.js:1487
msgid "Firewall"
msgstr "防火墙"
#: htdocs/luci-static/resources/fchomo/listeners.js:401
-#: htdocs/luci-static/resources/view/fchomo/node.js:519
+#: htdocs/luci-static/resources/view/fchomo/node.js:533
msgid "Flow"
msgstr "流控"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1227
+#: htdocs/luci-static/resources/view/fchomo/client.js:1239
msgid ""
"For details, see %s."
@@ -1204,10 +1281,10 @@ msgstr ""
"实现细节请参阅 %s."
-#: htdocs/luci-static/resources/view/fchomo/client.js:1187
-#: htdocs/luci-static/resources/view/fchomo/node.js:2005
-#: htdocs/luci-static/resources/view/fchomo/node.js:2013
-#: htdocs/luci-static/resources/view/fchomo/node.js:2144
+#: htdocs/luci-static/resources/view/fchomo/client.js:1199
+#: htdocs/luci-static/resources/view/fchomo/node.js:2285
+#: htdocs/luci-static/resources/view/fchomo/node.js:2293
+#: htdocs/luci-static/resources/view/fchomo/node.js:2424
msgid ""
"For format see %s."
@@ -1215,8 +1292,11 @@ msgstr ""
"格式请参阅 %s"
"a>."
-#: htdocs/luci-static/resources/view/fchomo/node.js:847
-#: htdocs/luci-static/resources/view/fchomo/node.js:914
+#: htdocs/luci-static/resources/view/fchomo/node.js:843
+msgid "Force"
+msgstr "强制"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1646
msgid "Force DNS remote resolution."
msgstr "强制 DNS 远程解析。"
@@ -1228,7 +1308,7 @@ msgstr "强制嗅探域名"
msgid "Format"
msgstr "格式"
-#: htdocs/luci-static/resources/fchomo/listeners.js:767
+#: htdocs/luci-static/resources/fchomo/listeners.js:769
msgid "Forwarding rate limit"
msgstr "转发速率限制"
@@ -1239,7 +1319,7 @@ msgstr "转发速率限制"
msgid "FullCombo Shark!"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1437
+#: htdocs/luci-static/resources/view/fchomo/node.js:1717
msgid "GET"
msgstr ""
@@ -1248,7 +1328,7 @@ msgid "GFW list version"
msgstr "GFW 域名列表版本"
#: htdocs/luci-static/resources/fchomo/listeners.js:487
-#: htdocs/luci-static/resources/view/fchomo/node.js:698
+#: htdocs/luci-static/resources/view/fchomo/node.js:712
msgid "Gecko"
msgstr ""
@@ -1257,9 +1337,9 @@ msgid "General"
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:236
-#: htdocs/luci-static/resources/view/fchomo/node.js:1815
+#: htdocs/luci-static/resources/view/fchomo/client.js:1054
+#: htdocs/luci-static/resources/view/fchomo/node.js:249
+#: htdocs/luci-static/resources/view/fchomo/node.js:2095
msgid "General fields"
msgstr "常规字段"
@@ -1267,17 +1347,17 @@ msgstr "常规字段"
msgid "General settings"
msgstr "常规设置"
-#: htdocs/luci-static/resources/fchomo.js:580
#: htdocs/luci-static/resources/fchomo.js:582
-#: htdocs/luci-static/resources/fchomo.js:596
+#: htdocs/luci-static/resources/fchomo.js:584
#: htdocs/luci-static/resources/fchomo.js:598
+#: htdocs/luci-static/resources/fchomo.js:600
#: 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:953
-#: htdocs/luci-static/resources/fchomo/listeners.js:1224
+#: htdocs/luci-static/resources/fchomo/listeners.js:949
+#: htdocs/luci-static/resources/fchomo/listeners.js:1214
#: htdocs/luci-static/resources/view/fchomo/global.js:608
-#: htdocs/luci-static/resources/view/fchomo/node.js:1973
+#: htdocs/luci-static/resources/view/fchomo/node.js:2253
msgid "Generate"
msgstr "生成"
@@ -1293,17 +1373,17 @@ msgstr "GeoIP 版本"
msgid "GeoSite version"
msgstr "GeoSite 版本"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1895
+#: htdocs/luci-static/resources/view/fchomo/client.js:1907
msgid "Geoip code"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1892
+#: htdocs/luci-static/resources/view/fchomo/client.js:1904
msgid "Geoip enable"
msgstr "Geoip 启用"
-#: htdocs/luci-static/resources/view/fchomo/client.js:865
-#: htdocs/luci-static/resources/view/fchomo/client.js:874
-#: htdocs/luci-static/resources/view/fchomo/client.js:1904
+#: htdocs/luci-static/resources/view/fchomo/client.js:877
+#: htdocs/luci-static/resources/view/fchomo/client.js:886
+#: htdocs/luci-static/resources/view/fchomo/client.js:1916
msgid "Geosite"
msgstr ""
@@ -1324,7 +1404,7 @@ msgstr "全局"
msgid "Global Authentication"
msgstr "全局认证"
-#: htdocs/luci-static/resources/view/fchomo/node.js:543
+#: htdocs/luci-static/resources/view/fchomo/node.js:557
msgid "Global padding"
msgstr "全局填充"
@@ -1332,7 +1412,7 @@ msgstr "全局填充"
msgid "Google"
msgstr "谷歌"
-#: htdocs/luci-static/resources/fchomo.js:256
+#: htdocs/luci-static/resources/fchomo.js:258
msgid "Google FCM"
msgstr "谷歌 FCM"
@@ -1340,58 +1420,58 @@ msgstr "谷歌 FCM"
msgid "Grant access to fchomo configuration"
msgstr "授予 fchomo 访问 UCI 配置的权限"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1067
+#: htdocs/luci-static/resources/view/fchomo/client.js:1079
msgid "Group"
msgstr "组"
#: htdocs/luci-static/resources/fchomo.js:154
#: htdocs/luci-static/resources/fchomo.js:191
-#: htdocs/luci-static/resources/fchomo/listeners.js:703
-#: htdocs/luci-static/resources/view/fchomo/node.js:1034
-#: htdocs/luci-static/resources/view/fchomo/node.js:1384
-#: htdocs/luci-static/resources/view/fchomo/node.js:1397
-#: htdocs/luci-static/resources/view/fchomo/node.js:1404
+#: htdocs/luci-static/resources/fchomo/listeners.js:702
+#: htdocs/luci-static/resources/view/fchomo/node.js:1141
+#: htdocs/luci-static/resources/view/fchomo/node.js:1664
+#: htdocs/luci-static/resources/view/fchomo/node.js:1677
+#: htdocs/luci-static/resources/view/fchomo/node.js:1684
msgid "HTTP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:316
-#: htdocs/luci-static/resources/view/fchomo/node.js:1459
-#: htdocs/luci-static/resources/view/fchomo/node.js:1985
+#: htdocs/luci-static/resources/view/fchomo/node.js:330
+#: htdocs/luci-static/resources/view/fchomo/node.js:1739
+#: htdocs/luci-static/resources/view/fchomo/node.js:2265
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:419
msgid "HTTP header"
msgstr "HTTP header"
#: htdocs/luci-static/resources/fchomo/listeners.js:351
-#: htdocs/luci-static/resources/view/fchomo/node.js:440
+#: htdocs/luci-static/resources/view/fchomo/node.js:454
msgid "HTTP mask"
msgstr "HTTP 伪装"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:459
+#: htdocs/luci-static/resources/view/fchomo/node.js:494
+#: htdocs/luci-static/resources/view/fchomo/node.js:496
msgid "HTTP mask mode"
msgstr "HTTP 伪装模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:470
+#: htdocs/luci-static/resources/view/fchomo/node.js:484
msgid "HTTP mask multiplex"
msgstr "HTTP 伪装多路复用"
-#: htdocs/luci-static/resources/view/fchomo/node.js:455
-#: htdocs/luci-static/resources/view/fchomo/node.js:460
+#: htdocs/luci-static/resources/view/fchomo/node.js:469
+#: htdocs/luci-static/resources/view/fchomo/node.js:474
msgid "HTTP mask: %s"
msgstr "HTTP 伪装: %s"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1436
+#: htdocs/luci-static/resources/view/fchomo/node.js:1716
msgid "HTTP request method"
msgstr "HTTP 请求方法"
#: htdocs/luci-static/resources/fchomo/listeners.js:366
-#: htdocs/luci-static/resources/view/fchomo/node.js:466
+#: htdocs/luci-static/resources/view/fchomo/node.js:480
msgid "HTTP root path"
msgstr "HTTP 根路径"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1651
+#: htdocs/luci-static/resources/view/fchomo/client.js:1663
msgid "HTTP/3"
msgstr ""
@@ -1401,9 +1481,9 @@ msgid ""
"returned if empty."
msgstr "身份验证失败时的 HTTP3 服务器响应。默认返回 404 页面。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1385
-#: htdocs/luci-static/resources/view/fchomo/node.js:1398
-#: htdocs/luci-static/resources/view/fchomo/node.js:1405
+#: htdocs/luci-static/resources/view/fchomo/node.js:1665
+#: htdocs/luci-static/resources/view/fchomo/node.js:1678
+#: htdocs/luci-static/resources/view/fchomo/node.js:1685
msgid "HTTPUpgrade"
msgstr ""
@@ -1411,20 +1491,20 @@ msgstr ""
msgid "Handle domain"
msgstr "处理域名"
-#: htdocs/luci-static/resources/view/fchomo/node.js:362
+#: htdocs/luci-static/resources/view/fchomo/node.js:376
msgid "Handshake mode"
msgstr "握手模式"
-#: htdocs/luci-static/resources/fchomo/listeners.js:750
+#: htdocs/luci-static/resources/fchomo/listeners.js:752
msgid "Handshake target proxy"
msgstr "握手目标代理"
-#: htdocs/luci-static/resources/fchomo/listeners.js:715
+#: htdocs/luci-static/resources/fchomo/listeners.js:707
msgid "Handshake target that supports TLS 1.3"
msgstr "握手目标 (支援 TLS 1.3)"
#: htdocs/luci-static/resources/fchomo/listeners.js:338
-#: htdocs/luci-static/resources/view/fchomo/node.js:969
+#: htdocs/luci-static/resources/view/fchomo/node.js:1076
msgid "Handshake timeout"
msgstr "握手超时"
@@ -1432,63 +1512,66 @@ msgstr "握手超时"
msgid "Header to read real client IP from (e.g. X-Forwarded-For)"
msgstr "用于读取客户端真实 IP 的 Header(例如 X-Forwarded-For)"
-#: htdocs/luci-static/resources/view/fchomo/node.js:775
+#: htdocs/luci-static/resources/view/fchomo/node.js:962
+msgid "Headscale/Tailscale"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:788
msgid "Health check"
msgstr "健康检查"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1156
-#: htdocs/luci-static/resources/view/fchomo/node.js:2112
+#: htdocs/luci-static/resources/view/fchomo/client.js:1168
+#: htdocs/luci-static/resources/view/fchomo/node.js:2392
msgid "Health check URL"
msgstr "健康检查 URL"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1185
-#: htdocs/luci-static/resources/view/fchomo/node.js:2142
+#: htdocs/luci-static/resources/view/fchomo/client.js:1197
+#: htdocs/luci-static/resources/view/fchomo/node.js:2422
msgid "Health check expected status"
msgstr "健康检查预期状态"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1165
-#: htdocs/luci-static/resources/view/fchomo/node.js:2122
+#: htdocs/luci-static/resources/view/fchomo/client.js:1177
+#: htdocs/luci-static/resources/view/fchomo/node.js:2402
msgid "Health check interval"
msgstr "健康检查间隔"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1172
-#: htdocs/luci-static/resources/view/fchomo/node.js:2129
+#: htdocs/luci-static/resources/view/fchomo/client.js:1184
+#: htdocs/luci-static/resources/view/fchomo/node.js:2409
msgid "Health check timeout"
msgstr "健康检查超时"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1044
-#: htdocs/luci-static/resources/view/fchomo/node.js:1817
+#: htdocs/luci-static/resources/view/fchomo/client.js:1056
+#: htdocs/luci-static/resources/view/fchomo/node.js:2097
msgid "Health fields"
msgstr "健康字段"
-#: htdocs/luci-static/resources/view/fchomo/node.js:656
-#: htdocs/luci-static/resources/view/fchomo/node.js:738
+#: htdocs/luci-static/resources/view/fchomo/node.js:670
+#: htdocs/luci-static/resources/view/fchomo/node.js:751
msgid "Heartbeat interval"
msgstr "心跳间隔"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1253
+#: htdocs/luci-static/resources/view/fchomo/client.js:1265
msgid "Hidden"
msgstr "隐藏"
-#: htdocs/luci-static/resources/fchomo/listeners.js:708
-#: htdocs/luci-static/resources/view/fchomo/node.js:1039
+#: htdocs/luci-static/resources/fchomo/listeners.js:715
+#: htdocs/luci-static/resources/view/fchomo/node.js:1146
msgid "Host that supports TLS 1.3"
msgstr "主机名称 (支援 TLS 1.3)"
-#: htdocs/luci-static/resources/view/fchomo/node.js:939
+#: htdocs/luci-static/resources/view/fchomo/node.js:1045
msgid "Host-key"
msgstr "主机密钥"
-#: htdocs/luci-static/resources/view/fchomo/node.js:934
+#: htdocs/luci-static/resources/view/fchomo/node.js:1040
msgid "Host-key algorithms"
msgstr "主机密钥算法"
-#: htdocs/luci-static/resources/view/fchomo/node.js:460
+#: htdocs/luci-static/resources/view/fchomo/node.js:474
msgid "Host/SNI override"
msgstr "主机/SNI 覆盖"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1068
-#: htdocs/luci-static/resources/view/fchomo/node.js:1208
+#: htdocs/luci-static/resources/view/fchomo/node.js:1318
msgid ""
"Hostname that the client attempts to connect to at the start of the TLS "
"handshake process."
@@ -1509,58 +1592,74 @@ msgid "Hysteria2 Realm Server"
msgstr "Hysteria2 Realm 服务器"
#: htdocs/luci-static/resources/fchomo/listeners.js:122
-#: htdocs/luci-static/resources/view/fchomo/node.js:239
+#: htdocs/luci-static/resources/view/fchomo/node.js:252
msgid "Hysteria2 Realm fields"
msgstr "Hysteria2 Realm 字段"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1897
-#: htdocs/luci-static/resources/view/fchomo/client.js:1911
+#: htdocs/luci-static/resources/view/fchomo/client.js:1909
+#: htdocs/luci-static/resources/view/fchomo/client.js:1923
msgid "IP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1909
+#: htdocs/luci-static/resources/view/fchomo/client.js:1921
msgid "IP CIDR"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:613
+#: htdocs/luci-static/resources/view/fchomo/node.js:627
msgid "IP override"
msgstr "IP 覆写"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1679
-#: htdocs/luci-static/resources/view/fchomo/node.js:2098
+#: htdocs/luci-static/resources/view/fchomo/node.js:893
+msgid "IP stack"
+msgstr "IP 协议栈"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1959
+#: htdocs/luci-static/resources/view/fchomo/node.js:2378
msgid "IP version"
msgstr "IP 版本"
+#: htdocs/luci-static/resources/view/fchomo/node.js:1569
+#: htdocs/luci-static/resources/view/fchomo/node.js:1579
+#: htdocs/luci-static/resources/view/fchomo/node.js:1583
+msgid "IPv4"
+msgstr "IPv4"
+
#: htdocs/luci-static/resources/fchomo.js:176
msgid "IPv4 only"
msgstr "仅 IPv4"
+#: htdocs/luci-static/resources/view/fchomo/node.js:1595
+#: htdocs/luci-static/resources/view/fchomo/node.js:1604
+#: htdocs/luci-static/resources/view/fchomo/node.js:1608
+msgid "IPv6"
+msgstr "IPv6"
+
#: htdocs/luci-static/resources/fchomo.js:177
msgid "IPv6 only"
msgstr "仅 IPv6"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1467
+#: htdocs/luci-static/resources/view/fchomo/client.js:1479
#: htdocs/luci-static/resources/view/fchomo/global.js:436
msgid "IPv6 support"
msgstr "IPv6 支持"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1259
+#: htdocs/luci-static/resources/view/fchomo/client.js:1271
msgid "Icon"
msgstr "图标"
-#: htdocs/luci-static/resources/view/fchomo/node.js:586
+#: htdocs/luci-static/resources/view/fchomo/node.js:600
msgid "Idle session check interval"
msgstr "闲置会话检查间隔"
-#: htdocs/luci-static/resources/view/fchomo/node.js:593
+#: htdocs/luci-static/resources/view/fchomo/node.js:607
msgid "Idle session timeout"
msgstr "闲置会话超时"
-#: htdocs/luci-static/resources/fchomo/listeners.js:648
+#: htdocs/luci-static/resources/fchomo/listeners.js:647
msgid "Idle timeout"
msgstr "闲置超时"
-#: htdocs/luci-static/resources/fchomo.js:1804
+#: htdocs/luci-static/resources/fchomo.js:1806
msgid "If All ports is selected, uncheck others"
msgstr "如果选择了“所有端口”,则取消选中“其他”"
@@ -1572,24 +1671,24 @@ msgstr "如果选择了“阻止”,则取消选中“其他”"
msgid "Ignore client bandwidth"
msgstr "忽略客户端带宽"
-#: htdocs/luci-static/resources/fchomo.js:765
+#: htdocs/luci-static/resources/fchomo.js:767
msgid "Import"
msgstr "导入"
-#: htdocs/luci-static/resources/view/fchomo/client.js:979
-#: htdocs/luci-static/resources/view/fchomo/client.js:1036
-#: htdocs/luci-static/resources/view/fchomo/client.js:1282
-#: htdocs/luci-static/resources/view/fchomo/client.js:1333
-#: htdocs/luci-static/resources/view/fchomo/client.js:1404
-#: htdocs/luci-static/resources/view/fchomo/client.js:1428
-#: htdocs/luci-static/resources/view/fchomo/client.js:1532
-#: htdocs/luci-static/resources/view/fchomo/client.js:1570
-#: htdocs/luci-static/resources/view/fchomo/client.js:1787
-#: htdocs/luci-static/resources/view/fchomo/client.js:1804
-#: htdocs/luci-static/resources/view/fchomo/client.js:1839
-#: htdocs/luci-static/resources/view/fchomo/client.js:1860
-#: htdocs/luci-static/resources/view/fchomo/node.js:1705
-#: htdocs/luci-static/resources/view/fchomo/node.js:1803
+#: htdocs/luci-static/resources/view/fchomo/client.js:991
+#: htdocs/luci-static/resources/view/fchomo/client.js:1048
+#: htdocs/luci-static/resources/view/fchomo/client.js:1294
+#: htdocs/luci-static/resources/view/fchomo/client.js:1345
+#: htdocs/luci-static/resources/view/fchomo/client.js:1416
+#: htdocs/luci-static/resources/view/fchomo/client.js:1440
+#: htdocs/luci-static/resources/view/fchomo/client.js:1544
+#: htdocs/luci-static/resources/view/fchomo/client.js:1582
+#: htdocs/luci-static/resources/view/fchomo/client.js:1799
+#: htdocs/luci-static/resources/view/fchomo/client.js:1816
+#: htdocs/luci-static/resources/view/fchomo/client.js:1851
+#: htdocs/luci-static/resources/view/fchomo/client.js:1872
+#: htdocs/luci-static/resources/view/fchomo/node.js:1985
+#: htdocs/luci-static/resources/view/fchomo/node.js:2083
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:154
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:249
msgid "Import mihomo config"
@@ -1603,66 +1702,66 @@ msgstr "导入规则集链接"
#: htdocs/luci-static/resources/fchomo/listeners.js:466
#: htdocs/luci-static/resources/fchomo/listeners.js:472
-#: htdocs/luci-static/resources/view/fchomo/node.js:672
-#: htdocs/luci-static/resources/view/fchomo/node.js:678
-#: htdocs/luci-static/resources/view/fchomo/node.js:2050
-#: htdocs/luci-static/resources/view/fchomo/node.js:2056
+#: htdocs/luci-static/resources/view/fchomo/node.js:686
+#: htdocs/luci-static/resources/view/fchomo/node.js:692
+#: htdocs/luci-static/resources/view/fchomo/node.js:2330
+#: htdocs/luci-static/resources/view/fchomo/node.js:2336
msgid "In Mbps."
msgstr "单位为 Mbps。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:768
+#: htdocs/luci-static/resources/fchomo/listeners.js:770
msgid "In bps. 0 means no speed limit."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1893
+#: htdocs/luci-static/resources/view/fchomo/node.js:2173
#: 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:657
-#: htdocs/luci-static/resources/view/fchomo/node.js:664
-#: htdocs/luci-static/resources/view/fchomo/node.js:739
+#: htdocs/luci-static/resources/view/fchomo/node.js:671
+#: htdocs/luci-static/resources/view/fchomo/node.js:678
+#: htdocs/luci-static/resources/view/fchomo/node.js:752
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:2130
+#: htdocs/luci-static/resources/view/fchomo/client.js:1185
+#: htdocs/luci-static/resources/view/fchomo/client.js:1231
+#: htdocs/luci-static/resources/view/fchomo/node.js:2410
msgid "In millisecond. %s will be used if empty."
msgstr "单位为毫秒。留空则使用 %s。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1528
+#: htdocs/luci-static/resources/view/fchomo/node.js:1808
msgid "In milliseconds."
msgstr "单位为毫秒。"
#: htdocs/luci-static/resources/fchomo/listeners.js:339
#: htdocs/luci-static/resources/fchomo/listeners.js:458
-#: htdocs/luci-static/resources/fchomo/listeners.js:649
-#: 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:1475
+#: htdocs/luci-static/resources/fchomo/listeners.js:648
+#: htdocs/luci-static/resources/view/fchomo/node.js:601
+#: htdocs/luci-static/resources/view/fchomo/node.js:608
+#: htdocs/luci-static/resources/view/fchomo/node.js:1755
msgid "In seconds."
msgstr "单位为秒。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1166
+#: htdocs/luci-static/resources/view/fchomo/client.js:1178
#: 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:690
-#: htdocs/luci-static/resources/view/fchomo/node.js:1899
-#: htdocs/luci-static/resources/view/fchomo/node.js:2123
+#: htdocs/luci-static/resources/view/fchomo/node.js:704
+#: htdocs/luci-static/resources/view/fchomo/node.js:2179
+#: htdocs/luci-static/resources/view/fchomo/node.js:2403
#: 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:970
+#: htdocs/luci-static/resources/view/fchomo/node.js:1077
msgid ""
"In seconds. After configuration, the handshake is not affected by the outer "
"connection timeout."
msgstr "单位为秒。配置后握手时不受外层连接超时影响。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:869
-#: htdocs/luci-static/resources/view/fchomo/node.js:1128
+#: htdocs/luci-static/resources/fchomo/listeners.js:865
+#: htdocs/luci-static/resources/view/fchomo/node.js:1238
msgid ""
"In the order of one Padding-Length and one Padding-"
"Interval, infinite concatenation."
@@ -1676,27 +1775,27 @@ msgstr ""
msgid "Inbound"
msgstr "入站"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1120
+#: htdocs/luci-static/resources/view/fchomo/client.js:1132
msgid "Include all"
msgstr "引入所有"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1125
+#: htdocs/luci-static/resources/view/fchomo/client.js:1137
msgid "Include all node"
msgstr "引入所有节点"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1130
+#: htdocs/luci-static/resources/view/fchomo/client.js:1142
msgid "Include all provider"
msgstr "引入所有供应商"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1131
+#: htdocs/luci-static/resources/view/fchomo/client.js:1143
msgid "Includes all Provider."
msgstr "引入所有供应商。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1121
+#: htdocs/luci-static/resources/view/fchomo/client.js:1133
msgid "Includes all Proxy Node and Provider."
msgstr "引入所有代理节点及供应商。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1126
+#: htdocs/luci-static/resources/view/fchomo/client.js:1138
msgid "Includes all Proxy Node."
msgstr "引入所有代理节点。"
@@ -1704,87 +1803,100 @@ msgstr "引入所有代理节点。"
msgid "Info"
msgstr "信息"
-#: htdocs/luci-static/resources/fchomo/listeners.js:558
-#: htdocs/luci-static/resources/view/fchomo/node.js:745
+#: htdocs/luci-static/resources/fchomo/listeners.js:557
+#: htdocs/luci-static/resources/view/fchomo/node.js:758
msgid "Initial congestion window size"
msgstr "初始拥塞窗口大小"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1832
+#: htdocs/luci-static/resources/view/fchomo/node.js:2112
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:288
msgid "Inline"
msgstr "内嵌"
+#: htdocs/luci-static/resources/view/fchomo/node.js:818
+msgid "Insane"
+msgstr "噩梦"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:751
msgid "Interface Control"
msgstr "接口控制"
-#: htdocs/luci-static/resources/fchomo/listeners.js:678
-#: htdocs/luci-static/resources/fchomo/listeners.js:688
-#: htdocs/luci-static/resources/fchomo/listeners.js:693
-#: htdocs/luci-static/resources/fchomo/listeners.js:1132
-#: htdocs/luci-static/resources/fchomo/listeners.js:1248
-#: htdocs/luci-static/resources/view/fchomo/node.js:1009
-#: htdocs/luci-static/resources/view/fchomo/node.js:1019
-#: htdocs/luci-static/resources/view/fchomo/node.js:1024
-#: htdocs/luci-static/resources/view/fchomo/node.js:1351
+#: htdocs/luci-static/resources/fchomo/listeners.js:677
+#: htdocs/luci-static/resources/fchomo/listeners.js:687
+#: htdocs/luci-static/resources/fchomo/listeners.js:692
+#: htdocs/luci-static/resources/fchomo/listeners.js:1122
+#: htdocs/luci-static/resources/fchomo/listeners.js:1238
+#: htdocs/luci-static/resources/view/fchomo/node.js:1116
+#: htdocs/luci-static/resources/view/fchomo/node.js:1126
+#: htdocs/luci-static/resources/view/fchomo/node.js:1131
+#: htdocs/luci-static/resources/view/fchomo/node.js:1461
msgid "JLS"
msgstr "JLS"
+#: htdocs/luci-static/resources/view/fchomo/node.js:879
+msgid "Join %s. Format: %s"
+msgstr "加入 %s。格式:%s"
+
#: htdocs/luci-static/resources/fchomo.js:53
#: htdocs/luci-static/resources/fchomo.js:60
#: htdocs/luci-static/resources/fchomo.js:174
-#: htdocs/luci-static/resources/fchomo.js:379
-#: htdocs/luci-static/resources/view/fchomo/node.js:2072
+#: htdocs/luci-static/resources/fchomo.js:381
+#: htdocs/luci-static/resources/view/fchomo/node.js:894
+#: htdocs/luci-static/resources/view/fchomo/node.js:2352
msgid "Keep default"
msgstr "保持缺省"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1564
+#: htdocs/luci-static/resources/view/fchomo/node.js:1844
msgid "Keep-alive period"
msgstr "Keep-alive 周期"
#: htdocs/luci-static/resources/fchomo/listeners.js:217
-#: htdocs/luci-static/resources/view/fchomo/node.js:376
+#: htdocs/luci-static/resources/view/fchomo/node.js:390
msgid "Key"
msgstr "密钥"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1151
-#: htdocs/luci-static/resources/view/fchomo/node.js:1301
+#: htdocs/luci-static/resources/fchomo/listeners.js:1141
+#: htdocs/luci-static/resources/view/fchomo/node.js:1411
msgid "Key path"
msgstr "证书路径"
-#: htdocs/luci-static/resources/fchomo/listeners.js:888
+#: htdocs/luci-static/resources/fchomo/listeners.js:884
msgid "Keypairs"
msgstr "密钥对"
+#: htdocs/luci-static/resources/fchomo.js:207
+msgid "L2"
+msgstr "L2"
+
#: 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:245
-#: htdocs/luci-static/resources/view/fchomo/node.js:1820
-#: htdocs/luci-static/resources/view/fchomo/node.js:2191
+#: htdocs/luci-static/resources/view/fchomo/client.js:1059
+#: htdocs/luci-static/resources/view/fchomo/client.js:1351
+#: htdocs/luci-static/resources/view/fchomo/client.js:1446
+#: htdocs/luci-static/resources/view/fchomo/client.js:1588
+#: htdocs/luci-static/resources/view/fchomo/client.js:1822
+#: htdocs/luci-static/resources/view/fchomo/client.js:1878
+#: htdocs/luci-static/resources/view/fchomo/node.js:259
+#: htdocs/luci-static/resources/view/fchomo/node.js:2100
+#: htdocs/luci-static/resources/view/fchomo/node.js:2471
#: 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:2136
+#: htdocs/luci-static/resources/view/fchomo/client.js:1191
+#: htdocs/luci-static/resources/view/fchomo/node.js:2416
msgid "Lazy"
msgstr "怠惰状态"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1918
+#: htdocs/luci-static/resources/view/fchomo/client.js:1930
msgid "Lazy query"
msgstr "怠惰查询"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1919
+#: htdocs/luci-static/resources/view/fchomo/client.js:1931
msgid "Lazy query."
msgstr "怠惰查询。"
#: htdocs/luci-static/resources/fchomo/listeners.js:358
-#: htdocs/luci-static/resources/view/fchomo/node.js:447
+#: htdocs/luci-static/resources/view/fchomo/node.js:461
msgid "Legacy"
msgstr "传统"
@@ -1800,8 +1912,8 @@ msgstr ""
msgid "Less compatibility and sometimes better performance."
msgstr "有时性能更好。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1074
-#: htdocs/luci-static/resources/view/fchomo/node.js:1214
+#: htdocs/luci-static/resources/fchomo/listeners.js:1064
+#: htdocs/luci-static/resources/view/fchomo/node.js:1324
msgid "List of supported application level protocols, in order of preference."
msgstr "支持的应用层协议协商列表,按顺序排列。"
@@ -1818,7 +1930,9 @@ msgid "Listen interfaces"
msgstr "监听接口"
#: htdocs/luci-static/resources/fchomo/listeners.js:154
-#: htdocs/luci-static/resources/view/fchomo/client.js:1459
+#: htdocs/luci-static/resources/view/fchomo/client.js:1471
+#: htdocs/luci-static/resources/view/fchomo/node.js:1507
+#: htdocs/luci-static/resources/view/fchomo/node.js:1537
msgid "Listen port"
msgstr "监听端口"
@@ -1826,29 +1940,19 @@ msgstr "监听端口"
msgid "Listen ports"
msgstr "监听端口"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1464
+#: htdocs/luci-static/resources/view/fchomo/client.js:1476
msgid "Listen routing mark (Fwmark)"
msgstr "监听路由标记 (Fwmark)"
-#: htdocs/luci-static/resources/fchomo.js:246
+#: htdocs/luci-static/resources/fchomo.js:248
msgid "Load balance"
msgstr "负载均衡"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1830
+#: htdocs/luci-static/resources/view/fchomo/node.js:2110
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:286
msgid "Local"
msgstr "本地"
-#: htdocs/luci-static/resources/view/fchomo/node.js:794
-#: htdocs/luci-static/resources/view/fchomo/node.js:881
-msgid "Virtual IPv6 address"
-msgstr "虚拟 IPv6 地址"
-
-#: htdocs/luci-static/resources/view/fchomo/node.js:786
-#: htdocs/luci-static/resources/view/fchomo/node.js:873
-msgid "Virtual address"
-msgstr "虚拟地址"
-
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:70
msgid "Log"
msgstr "日志"
@@ -1865,28 +1969,31 @@ msgstr "日志为空。"
msgid "Log level"
msgstr "日志等级"
+#: htdocs/luci-static/resources/view/fchomo/node.js:829
+msgid "Low Bandwidth Mode"
+msgstr "低带宽模式"
+
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:414
+#: htdocs/luci-static/resources/view/fchomo/node.js:415
+#: htdocs/luci-static/resources/view/fchomo/node.js:416
+#: htdocs/luci-static/resources/view/fchomo/node.js:421
msgid "Low-entropy data stream"
msgstr "低熵数据流"
-#: htdocs/luci-static/resources/fchomo.js:454
+#: htdocs/luci-static/resources/fchomo.js:456
msgid "Lowercase only"
msgstr "仅限小写"
#: htdocs/luci-static/resources/view/fchomo/global.js:523
-#: htdocs/luci-static/resources/view/fchomo/node.js:840
-#: htdocs/luci-static/resources/view/fchomo/node.js:887
+#: htdocs/luci-static/resources/view/fchomo/node.js:1618
msgid "MTU"
msgstr "MTU"
-#: htdocs/luci-static/resources/fchomo.js:208
+#: htdocs/luci-static/resources/fchomo.js:210
msgid "Masque"
msgstr ""
@@ -1894,75 +2001,75 @@ msgstr ""
msgid "Masquerade"
msgstr "伪装"
-#: htdocs/luci-static/resources/view/fchomo/client.js:870
+#: htdocs/luci-static/resources/view/fchomo/client.js:882
msgid "Match domain. Support wildcards."
msgstr "匹配域名。支持通配符。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1915
+#: htdocs/luci-static/resources/view/fchomo/client.js:1927
msgid "Match domain. Support wildcards."
msgstr "匹配域名。支持通配符。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:875
+#: htdocs/luci-static/resources/view/fchomo/client.js:887
msgid "Match geosite."
msgstr "匹配 geosite。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1905
+#: htdocs/luci-static/resources/view/fchomo/client.js:1917
msgid "Match geosite."
msgstr "匹配 geosite。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1896
+#: htdocs/luci-static/resources/view/fchomo/client.js:1908
msgid "Match response with geoip."
msgstr "匹配响应通过 geoip。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1910
+#: htdocs/luci-static/resources/view/fchomo/client.js:1922
msgid "Match response with ipcidr."
msgstr "匹配响应通过 ipcidr"
-#: htdocs/luci-static/resources/view/fchomo/client.js:880
+#: htdocs/luci-static/resources/view/fchomo/client.js:892
msgid "Match rule set."
msgstr "匹配规则集。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1481
+#: htdocs/luci-static/resources/view/fchomo/node.js:1761
msgid "Max Early Data"
msgstr "前置数据最大值"
#: htdocs/luci-static/resources/fchomo/listeners.js:451
-#: htdocs/luci-static/resources/view/fchomo/node.js:638
+#: htdocs/luci-static/resources/view/fchomo/node.js:652
msgid "Max UDP relay packet size"
msgstr "UDP 中继数据包最大尺寸"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1365
+#: htdocs/luci-static/resources/fchomo/listeners.js:1355
msgid "Max buffered posts"
msgstr "POST 最大缓冲"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1539
+#: htdocs/luci-static/resources/view/fchomo/node.js:1819
msgid "Max concurrency"
msgstr "最大并发"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1544
+#: htdocs/luci-static/resources/view/fchomo/node.js:1824
msgid "Max connections"
msgstr "最大连接数"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1193
+#: htdocs/luci-static/resources/view/fchomo/client.js:1205
msgid "Max count of failures"
msgstr "最大失败次数"
-#: htdocs/luci-static/resources/fchomo/listeners.js:564
-#: htdocs/luci-static/resources/view/fchomo/node.js:751
+#: htdocs/luci-static/resources/fchomo/listeners.js:563
+#: htdocs/luci-static/resources/view/fchomo/node.js:764
msgid "Max datagram frame size"
msgstr "最大数据报帧大小"
#: htdocs/luci-static/resources/fchomo/listeners.js:471
-#: htdocs/luci-static/resources/view/fchomo/node.js:677
+#: htdocs/luci-static/resources/view/fchomo/node.js:691
msgid "Max download speed"
msgstr "最大下载速度"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1376
-#: htdocs/luci-static/resources/view/fchomo/node.js:1521
+#: htdocs/luci-static/resources/fchomo/listeners.js:1366
+#: htdocs/luci-static/resources/view/fchomo/node.js:1801
msgid "Max each POST bytes"
msgstr "POST 最大字节数"
-#: htdocs/luci-static/resources/view/fchomo/node.js:963
+#: htdocs/luci-static/resources/view/fchomo/node.js:1070
msgid "Max open streams"
msgstr "限制打开流的数量"
@@ -1974,29 +2081,29 @@ msgstr "最大 Realms 总数"
msgid "Max realms per client IP"
msgstr "每客户端 IP 最大 Realms 总数"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1554
+#: htdocs/luci-static/resources/view/fchomo/node.js:1834
msgid "Max request times"
msgstr "最大请求次数"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1559
+#: htdocs/luci-static/resources/view/fchomo/node.js:1839
msgid "Max reusable seconds"
msgstr "最大可复用秒数"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1549
+#: htdocs/luci-static/resources/view/fchomo/node.js:1829
msgid "Max reuse times"
msgstr "最大复用次数"
#: htdocs/luci-static/resources/fchomo/listeners.js:465
-#: htdocs/luci-static/resources/view/fchomo/node.js:671
+#: htdocs/luci-static/resources/view/fchomo/node.js:685
msgid "Max upload speed"
msgstr "最大上传速度"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1585
-#: htdocs/luci-static/resources/view/fchomo/node.js:1605
+#: htdocs/luci-static/resources/view/fchomo/node.js:1865
+#: htdocs/luci-static/resources/view/fchomo/node.js:1885
msgid "Maximum connections"
msgstr "最大连接数"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1603
+#: htdocs/luci-static/resources/view/fchomo/node.js:1883
msgid ""
"Maximum multiplexed streams in a connection before opening a new connection."
"
Conflict with %s and %s."
@@ -2005,18 +2112,18 @@ msgstr ""
"%s 冲突。"
#: htdocs/luci-static/resources/fchomo/listeners.js:323
-#: htdocs/luci-static/resources/view/fchomo/node.js:419
+#: htdocs/luci-static/resources/view/fchomo/node.js:433
msgid "Maximum padding rate"
msgstr "最大填充率"
#: htdocs/luci-static/resources/fchomo/listeners.js:331
-#: htdocs/luci-static/resources/view/fchomo/node.js:427
+#: htdocs/luci-static/resources/view/fchomo/node.js:441
msgid ""
"Maximum padding rate must be greater than or equal to the minimum padding "
"rate."
msgstr "最大填充率必须大于等于最小填充率。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1602
+#: htdocs/luci-static/resources/view/fchomo/node.js:1882
msgid "Maximum streams"
msgstr "最大流数量"
@@ -2025,7 +2132,7 @@ msgstr "最大流数量"
msgid "Mieru"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:934
+#: htdocs/luci-static/resources/view/fchomo/client.js:946
#: htdocs/luci-static/resources/view/fchomo/log.js:149
#: htdocs/luci-static/resources/view/fchomo/log.js:154
msgid "Mihomo client"
@@ -2037,26 +2144,26 @@ msgstr "Mihomo 客户端"
msgid "Mihomo server"
msgstr "Mihomo 服务端"
-#: htdocs/luci-static/resources/view/fchomo/node.js:600
+#: htdocs/luci-static/resources/view/fchomo/node.js:614
msgid "Min of idle sessions to keep"
msgstr "要保留的最少闲置会话数"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1527
+#: htdocs/luci-static/resources/view/fchomo/node.js:1807
msgid "Min posts interval"
msgstr "POST 请求最小间隔时间"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1594
+#: htdocs/luci-static/resources/view/fchomo/node.js:1874
msgid ""
"Minimum multiplexed streams in a connection before opening a new connection."
msgstr "在打开新连接之前,连接中的最小多路复用流数量。"
#: htdocs/luci-static/resources/fchomo/listeners.js:316
-#: htdocs/luci-static/resources/view/fchomo/node.js:412
+#: htdocs/luci-static/resources/view/fchomo/node.js:426
msgid "Minimum padding rate"
msgstr "最小填充率"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1593
-#: htdocs/luci-static/resources/view/fchomo/node.js:1605
+#: htdocs/luci-static/resources/view/fchomo/node.js:1873
+#: htdocs/luci-static/resources/view/fchomo/node.js:1885
msgid "Minimum streams"
msgstr "最小流数量"
@@ -2073,30 +2180,30 @@ msgstr "混合 系统 TCP 栈和 gVisor UDP 栈。"
msgid "Mixed port"
msgstr "混合端口"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1383
-#: htdocs/luci-static/resources/view/fchomo/node.js:1571
+#: htdocs/luci-static/resources/fchomo/listeners.js:1373
+#: htdocs/luci-static/resources/view/fchomo/node.js:1851
msgid "Multiplex"
msgstr "多路复用"
#: htdocs/luci-static/resources/fchomo/listeners.js:125
-#: htdocs/luci-static/resources/view/fchomo/node.js:242
+#: htdocs/luci-static/resources/view/fchomo/node.js:256
msgid "Multiplex fields"
msgstr "多路复用字段"
-#: htdocs/luci-static/resources/view/fchomo/node.js:353
+#: htdocs/luci-static/resources/view/fchomo/node.js:367
msgid "Multiplexing"
msgstr "多路复用"
-#: htdocs/luci-static/resources/view/fchomo/client.js:630
-#: htdocs/luci-static/resources/view/fchomo/client.js:706
+#: htdocs/luci-static/resources/view/fchomo/client.js:642
+#: htdocs/luci-static/resources/view/fchomo/client.js:718
msgid "NOT"
msgstr "NOT"
-#: htdocs/luci-static/resources/fchomo/listeners.js:616
+#: htdocs/luci-static/resources/fchomo/listeners.js:615
msgid "Name of the Proxy group as outbound."
msgstr "出站代理组的名称。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1905
+#: htdocs/luci-static/resources/view/fchomo/node.js:2185
msgid "Name of the Proxy group to download provider."
msgstr "用于下载供应商订阅的代理组名称。"
@@ -2104,27 +2211,27 @@ msgstr "用于下载供应商订阅的代理组名称。"
msgid "Name of the Proxy group to download rule set."
msgstr "用于下载规则集订阅的代理组名称。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:604
+#: htdocs/luci-static/resources/fchomo/listeners.js:603
msgid "Name of the Sub rule used for inbound matching."
msgstr "用于入站匹配的子规则名称。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:622
+#: htdocs/luci-static/resources/view/fchomo/node.js:636
msgid "Native UDP"
msgstr "原生 UDP"
-#: htdocs/luci-static/resources/fchomo.js:396
+#: htdocs/luci-static/resources/fchomo.js:398
msgid "Native appearance"
msgstr "原生外观"
-#: htdocs/luci-static/resources/view/fchomo/node.js:893
+#: htdocs/luci-static/resources/view/fchomo/node.js:1010
msgid "Network"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:655
+#: htdocs/luci-static/resources/fchomo/listeners.js:654
msgid "Network type"
msgstr "网络类型"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2074
+#: htdocs/luci-static/resources/view/fchomo/node.js:2354
msgid "No"
msgstr ""
@@ -2132,24 +2239,24 @@ msgstr ""
msgid "No Authentication IP ranges"
msgstr "无需认证的 IP 范围"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1360
+#: htdocs/luci-static/resources/fchomo/listeners.js:1350
msgid "No SSE header"
msgstr "无 SSE header"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1596
+#: htdocs/luci-static/resources/view/fchomo/client.js:1608
msgid "No add'l params"
msgstr "无附加参数"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1511
+#: htdocs/luci-static/resources/view/fchomo/node.js:1791
msgid "No gRPC header"
msgstr "无 gRPC header"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1180
-#: htdocs/luci-static/resources/view/fchomo/node.js:2137
+#: htdocs/luci-static/resources/view/fchomo/client.js:1192
+#: htdocs/luci-static/resources/view/fchomo/node.js:2417
msgid "No testing is performed when this provider node is not in use."
msgstr "当此供应商的节点未使用时,不执行任何测试。"
-#: htdocs/luci-static/resources/fchomo.js:726
+#: htdocs/luci-static/resources/fchomo.js:728
msgid "No valid %s found."
msgstr "未找到有效的%s。"
@@ -2157,81 +2264,85 @@ msgstr "未找到有效的%s。"
msgid "No valid rule-set link found."
msgstr "未找到有效的规则集链接。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1080
+#: htdocs/luci-static/resources/view/fchomo/client.js:1092
#: 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:2157
+#: htdocs/luci-static/resources/view/fchomo/client.js:1254
+#: htdocs/luci-static/resources/view/fchomo/node.js:2437
msgid "Node exclude filter"
msgstr "排除节点"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1247
-#: htdocs/luci-static/resources/view/fchomo/node.js:2164
+#: htdocs/luci-static/resources/view/fchomo/client.js:1259
+#: htdocs/luci-static/resources/view/fchomo/node.js:2444
msgid "Node exclude type"
msgstr "排除节点类型"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1237
-#: htdocs/luci-static/resources/view/fchomo/node.js:2151
+#: htdocs/luci-static/resources/view/fchomo/client.js:1249
+#: htdocs/luci-static/resources/view/fchomo/node.js:2431
msgid "Node filter"
msgstr "过滤节点"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1218
+#: htdocs/luci-static/resources/view/fchomo/client.js:1230
msgid "Node switch tolerance"
msgstr "节点切换容差"
-#: htdocs/luci-static/resources/fchomo.js:423
+#: htdocs/luci-static/resources/fchomo.js:425
msgid "None"
msgstr "无"
+#: htdocs/luci-static/resources/view/fchomo/node.js:814
+msgid "Normal"
+msgstr "正常"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:634
msgid "Not Installed"
msgstr "未安装"
-#: htdocs/luci-static/resources/fchomo.js:1582
+#: htdocs/luci-static/resources/fchomo.js:1584
msgid "Not Running"
msgstr "未在运行"
-#: htdocs/luci-static/resources/view/fchomo/node.js:473
+#: htdocs/luci-static/resources/view/fchomo/node.js:487
msgid "OFF"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:475
+#: htdocs/luci-static/resources/view/fchomo/node.js:489
msgid "ON"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:702
-#: htdocs/luci-static/resources/view/fchomo/node.js:1033
+#: htdocs/luci-static/resources/fchomo/listeners.js:701
+#: htdocs/luci-static/resources/view/fchomo/node.js:1140
msgid "Obfs Mode"
msgstr "Obfs 模式"
#: htdocs/luci-static/resources/fchomo/listeners.js:504
-#: htdocs/luci-static/resources/view/fchomo/node.js:715
+#: htdocs/luci-static/resources/view/fchomo/node.js:729
msgid "Obfuscate maximum packet size"
msgstr "混淆最大数据包大小"
#: htdocs/luci-static/resources/fchomo/listeners.js:499
-#: htdocs/luci-static/resources/view/fchomo/node.js:710
+#: htdocs/luci-static/resources/view/fchomo/node.js:724
msgid "Obfuscate minimum packet size"
msgstr "混淆最小数据包大小"
#: htdocs/luci-static/resources/fchomo/listeners.js:491
-#: htdocs/luci-static/resources/view/fchomo/node.js:702
+#: htdocs/luci-static/resources/view/fchomo/node.js:716
msgid "Obfuscate password"
msgstr "混淆密码"
#: htdocs/luci-static/resources/fchomo/listeners.js:291
#: htdocs/luci-static/resources/fchomo/listeners.js:484
-#: htdocs/luci-static/resources/view/fchomo/node.js:398
-#: htdocs/luci-static/resources/view/fchomo/node.js:695
+#: htdocs/luci-static/resources/view/fchomo/node.js:412
+#: htdocs/luci-static/resources/view/fchomo/node.js:709
msgid "Obfuscate type"
msgstr "混淆类型"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:413
+#: htdocs/luci-static/resources/view/fchomo/node.js:414
msgid "Obfuscated as %s"
msgstr "混淆为%s"
@@ -2239,12 +2350,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:1062
+#: htdocs/luci-static/resources/fchomo/listeners.js:1058
msgid "Only applicable when %s are used as a frontend."
msgstr "仅当 %s 用作前端时适用。"
#: htdocs/luci-static/resources/fchomo/listeners.js:300
-#: htdocs/luci-static/resources/view/fchomo/node.js:407
+#: htdocs/luci-static/resources/view/fchomo/node.js:421
msgid "Only applies to the %s."
msgstr "只对%s生效。"
@@ -2252,7 +2363,7 @@ msgstr "只对%s生效。"
msgid "Only process traffic from specific interfaces. Leave empty for all."
msgstr "只处理来自指定接口的流量。留空表示全部。"
-#: htdocs/luci-static/resources/fchomo.js:1576
+#: htdocs/luci-static/resources/fchomo.js:1578
msgid "Open Dashboard"
msgstr "打开面板"
@@ -2260,11 +2371,11 @@ msgstr "打开面板"
msgid "Operation mode"
msgstr "运行模式"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1907
+#: htdocs/luci-static/resources/view/fchomo/client.js:1919
msgid "Option is deprecated. Please use %s instead."
msgstr "该选项已弃用,请使用%s作为代替。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2022
+#: htdocs/luci-static/resources/view/fchomo/node.js:2302
msgid "Other configuration items"
msgstr "其他配置项"
@@ -2272,8 +2383,8 @@ msgstr "其他配置项"
msgid "Outbound"
msgstr "出站"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1273
-#: htdocs/luci-static/resources/view/fchomo/node.js:2061
+#: htdocs/luci-static/resources/view/fchomo/node.js:1383
+#: htdocs/luci-static/resources/view/fchomo/node.js:2341
msgid "Override cert DNSName"
msgstr "覆盖证书 DNSName"
@@ -2282,16 +2393,16 @@ msgstr "覆盖证书 DNSName"
msgid "Override destination"
msgstr "覆盖目标地址"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1043
-#: htdocs/luci-static/resources/view/fchomo/node.js:1816
+#: htdocs/luci-static/resources/view/fchomo/client.js:1055
+#: htdocs/luci-static/resources/view/fchomo/node.js:2096
msgid "Override fields"
msgstr "覆盖字段"
-#: htdocs/luci-static/resources/view/fchomo/node.js:614
+#: htdocs/luci-static/resources/view/fchomo/node.js:628
msgid "Override the IP address of the server that DNS response."
msgstr "覆盖 DNS 回应的服务器的 IP 地址。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:908
+#: htdocs/luci-static/resources/view/fchomo/client.js:920
msgid "Override the Proxy group of DNS server."
msgstr "覆盖 DNS 服务器所使用的代理组。"
@@ -2299,11 +2410,11 @@ msgstr "覆盖 DNS 服务器所使用的代理组。"
msgid "Override the connection destination address with the sniffed domain."
msgstr "使用嗅探到的域名覆盖连接目标。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1703
+#: htdocs/luci-static/resources/view/fchomo/client.js:1715
msgid "Override the existing ECS in original request."
msgstr "覆盖原始请求中已有的 ECS。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1328
+#: htdocs/luci-static/resources/view/fchomo/node.js:1438
msgid "Overrides the domain name used for HTTPS record queries."
msgstr "覆盖用于 HTTPS 记录查询的域名。"
@@ -2311,19 +2422,19 @@ msgstr "覆盖用于 HTTPS 记录查询的域名。"
msgid "Overview"
msgstr "概览"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1438
+#: htdocs/luci-static/resources/view/fchomo/node.js:1718
msgid "POST"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1439
+#: htdocs/luci-static/resources/view/fchomo/node.js:1719
msgid "PUT"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:555
+#: htdocs/luci-static/resources/view/fchomo/node.js:569
msgid "Packet encoding"
msgstr "数据包编码"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1516
+#: htdocs/luci-static/resources/view/fchomo/node.js:1796
msgid "Padding bytes"
msgstr "填充字节"
@@ -2331,22 +2442,22 @@ msgstr "填充字节"
msgid "Padding scheme"
msgstr "填充方案"
-#: htdocs/luci-static/resources/fchomo/listeners.js:867
-#: htdocs/luci-static/resources/view/fchomo/node.js:1126
+#: htdocs/luci-static/resources/fchomo/listeners.js:863
+#: htdocs/luci-static/resources/view/fchomo/node.js:1236
msgid "Paddings"
msgstr "填充 (Paddings)"
#: htdocs/luci-static/resources/fchomo/listeners.js:167
#: htdocs/luci-static/resources/fchomo/listeners.js:184
-#: htdocs/luci-static/resources/fchomo/listeners.js:729
-#: 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:1052
+#: htdocs/luci-static/resources/fchomo/listeners.js:730
+#: htdocs/luci-static/resources/view/fchomo/node.js:324
+#: htdocs/luci-static/resources/view/fchomo/node.js:345
+#: htdocs/luci-static/resources/view/fchomo/node.js:1161
msgid "Password"
msgstr "密码"
-#: htdocs/luci-static/resources/fchomo/listeners.js:582
-#: htdocs/luci-static/resources/view/fchomo/node.js:769
+#: htdocs/luci-static/resources/fchomo/listeners.js:581
+#: htdocs/luci-static/resources/view/fchomo/node.js:782
msgid "Path MTU Discovery"
msgstr "路径 MTU 发现"
@@ -2358,13 +2469,13 @@ msgstr "捆绑包路径"
msgid "Path in bundle: %s"
msgstr "在捆绑包%s中的路径"
-#: htdocs/luci-static/resources/fchomo/listeners.js:807
-#: htdocs/luci-static/resources/view/fchomo/node.js:1880
+#: htdocs/luci-static/resources/fchomo/listeners.js:803
+#: htdocs/luci-static/resources/view/fchomo/node.js:2160
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:373
msgid "Payload"
msgstr "Payload"
-#: htdocs/luci-static/resources/view/fchomo/node.js:808
+#: htdocs/luci-static/resources/view/fchomo/node.js:923
msgid "Peer public key"
msgstr "对端公钥"
@@ -2374,14 +2485,18 @@ msgid ""
"it is not needed."
msgstr "性能可能会略有下降,建议仅在需要时开启。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:835
+#: htdocs/luci-static/resources/view/fchomo/node.js:950
msgid "Periodically sends data packets to maintain connection persistence."
msgstr "定期发送数据包以维持连接持久性。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:834
+#: htdocs/luci-static/resources/view/fchomo/node.js:949
msgid "Persistent keepalive"
msgstr "持久连接"
+#: htdocs/luci-static/resources/view/fchomo/node.js:822
+msgid "Physical MTU"
+msgstr "物理 MTU"
+
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:306
msgid "Plain text"
msgstr "纯文本 text"
@@ -2401,8 +2516,8 @@ msgid ""
"standards."
msgstr "链接格式标准请参考 %s。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1853
-#: htdocs/luci-static/resources/view/fchomo/node.js:1879
+#: htdocs/luci-static/resources/view/fchomo/node.js:2133
+#: htdocs/luci-static/resources/view/fchomo/node.js:2159
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:346
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:372
msgid ""
@@ -2411,45 +2526,45 @@ msgid ""
msgstr ""
"请输入 %s。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:980
-#: htdocs/luci-static/resources/view/fchomo/client.js:1283
-#: htdocs/luci-static/resources/view/fchomo/client.js:1405
-#: htdocs/luci-static/resources/view/fchomo/client.js:1533
-#: htdocs/luci-static/resources/view/fchomo/client.js:1788
-#: htdocs/luci-static/resources/view/fchomo/client.js:1840
-#: htdocs/luci-static/resources/view/fchomo/node.js:1706
+#: htdocs/luci-static/resources/view/fchomo/client.js:992
+#: htdocs/luci-static/resources/view/fchomo/client.js:1295
+#: htdocs/luci-static/resources/view/fchomo/client.js:1417
+#: htdocs/luci-static/resources/view/fchomo/client.js:1545
+#: htdocs/luci-static/resources/view/fchomo/client.js:1800
+#: htdocs/luci-static/resources/view/fchomo/client.js:1852
+#: htdocs/luci-static/resources/view/fchomo/node.js:1986
#: 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:668
-#: htdocs/luci-static/resources/view/fchomo/node.js:997
+#: htdocs/luci-static/resources/fchomo/listeners.js:667
+#: htdocs/luci-static/resources/view/fchomo/node.js:1104
msgid "Plugin"
msgstr "插件"
#: htdocs/luci-static/resources/fchomo/listeners.js:120
-#: htdocs/luci-static/resources/view/fchomo/node.js:237
+#: htdocs/luci-static/resources/view/fchomo/node.js:250
msgid "Plugin fields"
msgstr "插件字段"
-#: htdocs/luci-static/resources/fchomo/listeners.js:674
-#: htdocs/luci-static/resources/view/fchomo/node.js:1003
+#: htdocs/luci-static/resources/fchomo/listeners.js:673
+#: htdocs/luci-static/resources/view/fchomo/node.js:1110
msgid "Plugin type"
msgstr "插件类型"
-#: htdocs/luci-static/resources/view/fchomo/node.js:265
+#: htdocs/luci-static/resources/view/fchomo/node.js:279
msgid "Port"
msgstr "端口"
-#: htdocs/luci-static/resources/fchomo.js:1813
+#: htdocs/luci-static/resources/fchomo.js:1815
msgid "Port %s alrealy exists!"
msgstr "端口 %s 已存在!"
-#: htdocs/luci-static/resources/view/fchomo/node.js:689
+#: htdocs/luci-static/resources/view/fchomo/node.js:703
msgid "Port hop interval"
msgstr "端口跳跃间隔"
-#: htdocs/luci-static/resources/view/fchomo/node.js:341
+#: htdocs/luci-static/resources/view/fchomo/node.js:355
msgid "Port range"
msgstr "端口范围"
@@ -2458,19 +2573,19 @@ msgid "Ports"
msgstr "端口"
#: htdocs/luci-static/resources/fchomo/listeners.js:154
-#: htdocs/luci-static/resources/view/fchomo/node.js:684
+#: htdocs/luci-static/resources/view/fchomo/node.js:698
msgid "Ports pool"
msgstr "端口池"
#: htdocs/luci-static/resources/fchomo/listeners.js:377
#: htdocs/luci-static/resources/fchomo/listeners.js:516
-#: htdocs/luci-static/resources/view/fchomo/node.js:490
-#: htdocs/luci-static/resources/view/fchomo/node.js:815
+#: htdocs/luci-static/resources/view/fchomo/node.js:504
+#: htdocs/luci-static/resources/view/fchomo/node.js:930
msgid "Pre-shared key"
msgstr "预共享密钥"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1005
-#: htdocs/luci-static/resources/view/fchomo/node.js:1161
+#: htdocs/luci-static/resources/fchomo/listeners.js:1001
+#: htdocs/luci-static/resources/view/fchomo/node.js:1271
msgid "Pre-shared key of rendezvous server"
msgstr "牵线服务器的预共享密钥"
@@ -2487,70 +2602,70 @@ msgid ""
"Prevent ICMP loopback issues in some cases. Ping will not show real delay."
msgstr "防止某些情况下的 ICMP 环回问题。Ping 不会显示实际延迟。"
+#: htdocs/luci-static/resources/view/fchomo/node.js:1507
+#: htdocs/luci-static/resources/view/fchomo/node.js:1508
+msgid "Primary"
+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:1667
-#: htdocs/luci-static/resources/view/fchomo/node.js:1674
-#: htdocs/luci-static/resources/view/fchomo/node.js:2086
-#: htdocs/luci-static/resources/view/fchomo/node.js:2093
+#: htdocs/luci-static/resources/view/fchomo/node.js:1947
+#: htdocs/luci-static/resources/view/fchomo/node.js:1954
+#: htdocs/luci-static/resources/view/fchomo/node.js:2366
+#: htdocs/luci-static/resources/view/fchomo/node.js:2373
msgid "Priority: Proxy Node > Global."
msgstr "优先级: 代理节点 > 全局。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:925
+#: htdocs/luci-static/resources/view/fchomo/node.js:1031
msgid "Priv-key"
msgstr "密钥"
-#: htdocs/luci-static/resources/view/fchomo/node.js:929
+#: htdocs/luci-static/resources/view/fchomo/node.js:1035
msgid "Priv-key passphrase"
msgstr "密钥密码"
-#: htdocs/luci-static/resources/view/fchomo/node.js:800
-#: htdocs/luci-static/resources/view/fchomo/node.js:858
+#: htdocs/luci-static/resources/view/fchomo/node.js:902
+#: htdocs/luci-static/resources/view/fchomo/node.js:995
msgid "Private key"
msgstr "私钥"
-#: htdocs/luci-static/resources/fchomo/listeners.js:775
-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:2012
+#: htdocs/luci-static/resources/view/fchomo/node.js:2292
msgid "Programmable replacement"
msgstr "可编程替换"
#: htdocs/luci-static/resources/view/fchomo/global.js:708
-#: htdocs/luci-static/resources/view/fchomo/node.js:1577
+#: htdocs/luci-static/resources/view/fchomo/node.js:1857
msgid "Protocol"
msgstr "协议"
-#: htdocs/luci-static/resources/view/fchomo/node.js:550
+#: htdocs/luci-static/resources/view/fchomo/node.js:564
msgid "Protocol parameter. Enable length block encryption."
msgstr "协议参数。启用长度块加密。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:544
+#: htdocs/luci-static/resources/view/fchomo/node.js:558
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:1689
-#: htdocs/luci-static/resources/view/fchomo/node.js:1698
-#: htdocs/luci-static/resources/view/fchomo/node.js:2202
+#: htdocs/luci-static/resources/view/fchomo/client.js:1112
+#: htdocs/luci-static/resources/view/fchomo/node.js:1969
+#: htdocs/luci-static/resources/view/fchomo/node.js:1978
+#: htdocs/luci-static/resources/view/fchomo/node.js:2482
msgid "Provider"
msgstr "供应商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1886
+#: htdocs/luci-static/resources/view/fchomo/node.js:2166
msgid "Provider URL"
msgstr "供应商订阅 URL"
-#: htdocs/luci-static/resources/view/fchomo/client.js:954
-#: htdocs/luci-static/resources/view/fchomo/client.js:972
-#: htdocs/luci-static/resources/view/fchomo/client.js:1489
+#: htdocs/luci-static/resources/view/fchomo/client.js:966
+#: htdocs/luci-static/resources/view/fchomo/client.js:984
+#: htdocs/luci-static/resources/view/fchomo/client.js:1501
msgid "Proxy Group"
msgstr "代理组"
@@ -2567,24 +2682,24 @@ msgid "Proxy MAC-s"
msgstr "代理 MAC 地址"
#: htdocs/luci-static/resources/view/fchomo/node.js:222
-#: htdocs/luci-static/resources/view/fchomo/node.js:2201
+#: htdocs/luci-static/resources/view/fchomo/node.js:2481
msgid "Proxy Node"
msgstr "代理节点"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2177
-#: htdocs/luci-static/resources/view/fchomo/node.js:2186
+#: htdocs/luci-static/resources/view/fchomo/node.js:2457
+#: htdocs/luci-static/resources/view/fchomo/node.js:2466
msgid "Proxy chain"
msgstr "代理链"
-#: htdocs/luci-static/resources/fchomo/listeners.js:615
-#: 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:1904
+#: htdocs/luci-static/resources/fchomo/listeners.js:614
+#: htdocs/luci-static/resources/view/fchomo/client.js:813
+#: htdocs/luci-static/resources/view/fchomo/client.js:1643
+#: htdocs/luci-static/resources/view/fchomo/node.js:2184
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:403
msgid "Proxy group"
msgstr "代理组"
-#: htdocs/luci-static/resources/view/fchomo/client.js:907
+#: htdocs/luci-static/resources/view/fchomo/client.js:919
msgid "Proxy group override"
msgstr "代理组覆盖"
@@ -2596,75 +2711,75 @@ msgstr "代理模式"
msgid "Proxy routerself"
msgstr "代理路由器自身"
-#: htdocs/luci-static/resources/view/fchomo/node.js:623
-#: htdocs/luci-static/resources/view/fchomo/node.js:780
+#: htdocs/luci-static/resources/view/fchomo/node.js:919
+msgid "Public key"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:637
+#: htdocs/luci-static/resources/view/fchomo/node.js:793
msgid "QUIC"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:553
-#: htdocs/luci-static/resources/view/fchomo/node.js:733
+#: htdocs/luci-static/resources/fchomo/listeners.js:552
+#: htdocs/luci-static/resources/view/fchomo/node.js:746
msgid "QUIC based 0-RTT"
msgstr "基于 QUIC 的 0-RTT"
-#: htdocs/luci-static/resources/fchomo/listeners.js:774
-msgid "QUIC version probe"
-msgstr "QUIC 版本探测"
-
#: htdocs/luci-static/resources/fchomo/listeners.js:546
-#: htdocs/luci-static/resources/view/fchomo/node.js:721
+#: htdocs/luci-static/resources/view/fchomo/node.js:735
msgid "QUIC versions"
msgstr "QUIC 版本"
-#: htdocs/luci-static/resources/view/fchomo/client.js:957
+#: htdocs/luci-static/resources/view/fchomo/client.js:969
#: htdocs/luci-static/resources/view/fchomo/server.js:44
msgid "Quick Reload"
msgstr "快速重载"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1133
-#: htdocs/luci-static/resources/fchomo/listeners.js:1239
-#: htdocs/luci-static/resources/view/fchomo/node.js:1342
+#: htdocs/luci-static/resources/fchomo/listeners.js:1123
+#: htdocs/luci-static/resources/fchomo/listeners.js:1229
+#: htdocs/luci-static/resources/view/fchomo/node.js:1452
msgid "REALITY"
msgstr "REALITY"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1368
+#: htdocs/luci-static/resources/view/fchomo/node.js:1478
msgid "REALITY X25519MLKEM768 PQC support"
msgstr "REALITY X25519MLKEM768 后量子加密支持"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1287
+#: htdocs/luci-static/resources/fchomo/listeners.js:1277
msgid "REALITY certificate issued to"
msgstr "REALITY 证书颁发给"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1255
+#: htdocs/luci-static/resources/fchomo/listeners.js:1245
msgid "REALITY handshake server"
msgstr "REALITY 握手服务器"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1262
+#: htdocs/luci-static/resources/fchomo/listeners.js:1252
msgid "REALITY private key"
msgstr "REALITY 私钥"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1277
-#: htdocs/luci-static/resources/view/fchomo/node.js:1358
+#: htdocs/luci-static/resources/fchomo/listeners.js:1267
+#: htdocs/luci-static/resources/view/fchomo/node.js:1468
msgid "REALITY public key"
msgstr "REALITY 公钥"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1281
-#: htdocs/luci-static/resources/view/fchomo/node.js:1363
+#: htdocs/luci-static/resources/fchomo/listeners.js:1271
+#: htdocs/luci-static/resources/view/fchomo/node.js:1473
msgid "REALITY short ID"
msgstr "REALITY 标识符"
-#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:286
+#: htdocs/luci-static/resources/view/fchomo/node.js:292
+#: htdocs/luci-static/resources/view/fchomo/node.js:310
msgid "REMATCH-NAME marking"
msgstr "REMATCH-NAME 打标"
-#: htdocs/luci-static/resources/fchomo/listeners.js:838
-#: htdocs/luci-static/resources/fchomo/listeners.js:857
-#: htdocs/luci-static/resources/view/fchomo/node.js:1116
+#: htdocs/luci-static/resources/fchomo/listeners.js:834
+#: htdocs/luci-static/resources/fchomo/listeners.js:853
+#: htdocs/luci-static/resources/view/fchomo/node.js:1226
msgid "RTT"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:388
+#: htdocs/luci-static/resources/fchomo.js:390
msgid "Random"
msgstr "随机"
@@ -2672,17 +2787,17 @@ msgstr "随机"
msgid "Random will be used if empty."
msgstr "留空将使用随机令牌。"
-#: htdocs/luci-static/resources/fchomo.js:398
+#: htdocs/luci-static/resources/fchomo.js:400
msgid "Randomized traffic characteristics"
msgstr "随机化流量特征"
-#: htdocs/luci-static/resources/fchomo/listeners.js:994
-#: htdocs/luci-static/resources/view/fchomo/node.js:1150
+#: htdocs/luci-static/resources/fchomo/listeners.js:990
+#: htdocs/luci-static/resources/view/fchomo/node.js:1260
msgid "Realm"
msgstr "Realm"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1010
-#: htdocs/luci-static/resources/view/fchomo/node.js:1166
+#: htdocs/luci-static/resources/fchomo/listeners.js:1006
+#: htdocs/luci-static/resources/view/fchomo/node.js:1276
msgid "Realm ID"
msgstr "Realm ID"
@@ -2706,12 +2821,16 @@ msgstr "Redirect TCP + TProxy UDP"
msgid "Redirect TCP + Tun UDP"
msgstr "Redirect TCP + Tun UDP"
+#: htdocs/luci-static/resources/view/fchomo/node.js:830
+msgid "Reduces background traffic and network configuration refresh frequency."
+msgstr "降低后台流量和网络配置刷新频率。"
+
#: htdocs/luci-static/resources/view/fchomo/log.js:124
msgid "Refresh every %s seconds."
msgstr "每 %s 秒刷新。"
-#: htdocs/luci-static/resources/fchomo.js:1569
-#: htdocs/luci-static/resources/view/fchomo/client.js:958
+#: htdocs/luci-static/resources/fchomo.js:1571
+#: htdocs/luci-static/resources/view/fchomo/client.js:970
#: htdocs/luci-static/resources/view/fchomo/global.js:193
#: htdocs/luci-static/resources/view/fchomo/server.js:45
msgid "Reload"
@@ -2729,69 +2848,78 @@ msgstr "再路由"
msgid "Rematching routing rules"
msgstr "重新匹配路由规则"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1831
+#: htdocs/luci-static/resources/view/fchomo/node.js:2111
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:287
msgid "Remote"
msgstr "远程"
-#: htdocs/luci-static/resources/view/fchomo/node.js:846
-#: htdocs/luci-static/resources/view/fchomo/node.js:913
+#: htdocs/luci-static/resources/view/fchomo/node.js:1645
msgid "Remote DNS resolve"
msgstr "远程 DNS 解析"
-#: htdocs/luci-static/resources/fchomo.js:1734
+#: htdocs/luci-static/resources/view/fchomo/node.js:813
+msgid "Remote trace level"
+msgstr "远程跟踪级别"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:806
+msgid "Remote trace target"
+msgstr "远程跟踪目标"
+
+#: htdocs/luci-static/resources/fchomo.js:1736
msgid "Remove"
msgstr "移除"
-#: htdocs/luci-static/resources/fchomo.js:1739
-#: htdocs/luci-static/resources/view/fchomo/node.js:1807
-#: htdocs/luci-static/resources/view/fchomo/node.js:1809
+#: htdocs/luci-static/resources/fchomo.js:1741
+#: htdocs/luci-static/resources/view/fchomo/node.js:241
+#: htdocs/luci-static/resources/view/fchomo/node.js:243
+#: htdocs/luci-static/resources/view/fchomo/node.js:2087
+#: htdocs/luci-static/resources/view/fchomo/node.js:2089
#: 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:999
-#: htdocs/luci-static/resources/view/fchomo/node.js:1155
+#: htdocs/luci-static/resources/fchomo/listeners.js:995
+#: htdocs/luci-static/resources/view/fchomo/node.js:1265
msgid "Rendezvous server"
msgstr "牵线服务器"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2003
+#: htdocs/luci-static/resources/view/fchomo/node.js:2283
msgid "Replace name"
msgstr "名称替换"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2004
+#: htdocs/luci-static/resources/view/fchomo/node.js:2284
msgid "Replace node name."
msgstr "替换节点名称"
-#: htdocs/luci-static/resources/fchomo.js:372
+#: htdocs/luci-static/resources/fchomo.js:374
msgid "Request"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1339
-#: htdocs/luci-static/resources/view/fchomo/node.js:1445
-#: htdocs/luci-static/resources/view/fchomo/node.js:1452
+#: htdocs/luci-static/resources/fchomo/listeners.js:1329
+#: htdocs/luci-static/resources/view/fchomo/node.js:1725
+#: htdocs/luci-static/resources/view/fchomo/node.js:1732
msgid "Request path"
msgstr "请求路径"
-#: htdocs/luci-static/resources/view/fchomo/node.js:663
+#: htdocs/luci-static/resources/view/fchomo/node.js:677
msgid "Request timeout"
msgstr "请求超时"
-#: htdocs/luci-static/resources/fchomo.js:375
+#: htdocs/luci-static/resources/fchomo.js:377
msgid "Require and verify"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:373
+#: htdocs/luci-static/resources/fchomo.js:375
msgid "Require any"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:406
-#: htdocs/luci-static/resources/view/fchomo/node.js:1369
+#: htdocs/luci-static/resources/fchomo.js:408
+#: htdocs/luci-static/resources/view/fchomo/node.js:1479
msgid "Requires server support."
msgstr "需要服务器支持。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:829
+#: htdocs/luci-static/resources/view/fchomo/node.js:944
msgid "Reserved field bytes"
msgstr "保留字段字节"
@@ -2799,39 +2927,39 @@ msgstr "保留字段字节"
msgid "Resources management"
msgstr "资源管理"
-#: htdocs/luci-static/resources/fchomo/listeners.js:677
-#: htdocs/luci-static/resources/fchomo/listeners.js:687
-#: htdocs/luci-static/resources/fchomo/listeners.js:692
-#: htdocs/luci-static/resources/fchomo/listeners.js:1131
-#: htdocs/luci-static/resources/fchomo/listeners.js:1247
-#: htdocs/luci-static/resources/view/fchomo/node.js:1008
-#: htdocs/luci-static/resources/view/fchomo/node.js:1018
-#: htdocs/luci-static/resources/view/fchomo/node.js:1023
-#: htdocs/luci-static/resources/view/fchomo/node.js:1350
+#: htdocs/luci-static/resources/fchomo/listeners.js:676
+#: htdocs/luci-static/resources/fchomo/listeners.js:686
+#: htdocs/luci-static/resources/fchomo/listeners.js:691
+#: htdocs/luci-static/resources/fchomo/listeners.js:1121
+#: htdocs/luci-static/resources/fchomo/listeners.js:1237
+#: htdocs/luci-static/resources/view/fchomo/node.js:1115
+#: htdocs/luci-static/resources/view/fchomo/node.js:1125
+#: htdocs/luci-static/resources/view/fchomo/node.js:1130
+#: htdocs/luci-static/resources/view/fchomo/node.js:1460
msgid "Restls"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:743
-#: htdocs/luci-static/resources/view/fchomo/node.js:1074
+#: htdocs/luci-static/resources/fchomo/listeners.js:745
+#: htdocs/luci-static/resources/view/fchomo/node.js:1184
msgid "Restls script"
msgstr "Restls 剧本"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1254
+#: htdocs/luci-static/resources/view/fchomo/client.js:1266
msgid ""
"Returns hidden status in the API to hide the display of this proxy group."
msgstr "在 API 返回 hidden 状态,以隐藏该代理组显示。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1260
+#: htdocs/luci-static/resources/view/fchomo/client.js:1272
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:474
+#: htdocs/luci-static/resources/view/fchomo/node.js:488
msgid "Reuse HTTP connections to reduce RTT for each connection establishment."
msgstr "重用 HTTP 连接以减少每次建立连接的 RTT。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:471
-#: htdocs/luci-static/resources/view/fchomo/node.js:475
+#: htdocs/luci-static/resources/view/fchomo/node.js:485
+#: htdocs/luci-static/resources/view/fchomo/node.js:489
msgid "Reusing a single tunnel to carry multiple target connections within it."
msgstr "复用单条隧道使其内部承载多条目标连线。"
@@ -2848,10 +2976,10 @@ msgstr "路由 DSCP"
msgid "Routing GFW"
msgstr "路由 GFW 流量"
-#: htdocs/luci-static/resources/fchomo/listeners.js:598
+#: htdocs/luci-static/resources/fchomo/listeners.js:597
#: htdocs/luci-static/resources/view/fchomo/global.js:776
-#: htdocs/luci-static/resources/view/fchomo/node.js:1673
-#: htdocs/luci-static/resources/view/fchomo/node.js:2092
+#: htdocs/luci-static/resources/view/fchomo/node.js:1953
+#: htdocs/luci-static/resources/view/fchomo/node.js:2372
msgid "Routing mark (Fwmark)"
msgstr "路由标记 (Fwmark)"
@@ -2872,8 +3000,8 @@ msgstr "路由模式将处理域名。"
msgid "Routing ports"
msgstr "路由端口"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1266
-#: htdocs/luci-static/resources/view/fchomo/client.js:1275
+#: htdocs/luci-static/resources/view/fchomo/client.js:1278
+#: htdocs/luci-static/resources/view/fchomo/client.js:1287
msgid "Routing rule"
msgstr "路由规则"
@@ -2889,8 +3017,8 @@ msgstr "路由表 ID"
msgid "Rule"
msgstr "规则"
-#: htdocs/luci-static/resources/view/fchomo/client.js:866
-#: htdocs/luci-static/resources/view/fchomo/client.js:879
+#: htdocs/luci-static/resources/view/fchomo/client.js:878
+#: htdocs/luci-static/resources/view/fchomo/client.js:891
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:147
msgid "Rule set"
msgstr "规则集"
@@ -2899,6 +3027,10 @@ msgstr "规则集"
msgid "Rule set URL"
msgstr "规则集订阅 URL"
+#: htdocs/luci-static/resources/view/fchomo/node.js:816
+msgid "Rules"
+msgstr "规则"
+
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:54
msgid "Ruleset"
msgstr "规则集"
@@ -2907,11 +3039,11 @@ msgstr "规则集"
msgid "Ruleset-URI-Scheme"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1582
+#: htdocs/luci-static/resources/fchomo.js:1584
msgid "Running"
msgstr "正在运行"
-#: htdocs/luci-static/resources/fchomo.js:253
+#: htdocs/luci-static/resources/fchomo.js:255
msgid "SMTP"
msgstr ""
@@ -2923,29 +3055,29 @@ msgstr ""
msgid "SOCKS5"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:209
+#: htdocs/luci-static/resources/fchomo.js:211
msgid "SSH"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:254
+#: htdocs/luci-static/resources/fchomo.js:256
msgid "STUN"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1016
-#: htdocs/luci-static/resources/view/fchomo/node.js:1172
+#: htdocs/luci-static/resources/fchomo/listeners.js:1012
+#: htdocs/luci-static/resources/view/fchomo/node.js:1282
msgid "STUN servers"
msgstr "STUN 服务器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1358
+#: htdocs/luci-static/resources/view/fchomo/client.js:1370
msgid "SUB-RULE"
msgstr "SUB-RULE"
-#: htdocs/luci-static/resources/view/fchomo/node.js:989
+#: htdocs/luci-static/resources/view/fchomo/node.js:1096
msgid "SUoT version"
msgstr "SUoT 版本"
#: htdocs/luci-static/resources/fchomo/listeners.js:486
-#: htdocs/luci-static/resources/view/fchomo/node.js:697
+#: htdocs/luci-static/resources/view/fchomo/node.js:711
msgid "Salamander"
msgstr "Salamander"
@@ -2962,11 +3094,16 @@ msgstr "相同 来源地址 和 目标地址 请求。相同节点"
msgid "Save"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:1537
+#: htdocs/luci-static/resources/view/fchomo/node.js:1538
+msgid "Secondary"
+msgstr "次要"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:530
msgid "Segment maximum size"
msgstr "分段最大尺寸"
-#: htdocs/luci-static/resources/fchomo.js:243
+#: htdocs/luci-static/resources/fchomo.js:245
msgid "Select"
msgstr "手动选择"
@@ -2974,34 +3111,34 @@ msgstr "手动选择"
msgid "Select Dashboard"
msgstr "选择面板"
-#: htdocs/luci-static/resources/fchomo.js:412
+#: htdocs/luci-static/resources/fchomo.js:414
msgid "Send padding randomly 0-3333 bytes with 50% probability."
msgstr "以 50% 的概率发送随机 0-3333 字节的填充。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1929
+#: htdocs/luci-static/resources/view/fchomo/client.js:1941
msgid "Send queries to both the %s and the %s."
msgstr "同时向%s和%s发起查询。"
-#: htdocs/luci-static/resources/fchomo.js:401
-#: htdocs/luci-static/resources/fchomo.js:402
+#: htdocs/luci-static/resources/fchomo.js:403
+#: htdocs/luci-static/resources/fchomo.js:404
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:838
-#: htdocs/luci-static/resources/fchomo/listeners.js:1122
-#: htdocs/luci-static/resources/fchomo/listeners.js:1152
+#: htdocs/luci-static/resources/fchomo/listeners.js:834
+#: htdocs/luci-static/resources/fchomo/listeners.js:1112
+#: htdocs/luci-static/resources/fchomo/listeners.js:1142
#: 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:260
+#: htdocs/luci-static/resources/view/fchomo/node.js:274
msgid "Server address"
msgstr "服务器地址"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1333
-#: htdocs/luci-static/resources/view/fchomo/node.js:1424
-#: htdocs/luci-static/resources/view/fchomo/node.js:1430
+#: htdocs/luci-static/resources/fchomo/listeners.js:1323
+#: htdocs/luci-static/resources/view/fchomo/node.js:1704
+#: htdocs/luci-static/resources/view/fchomo/node.js:1710
msgid "Server hostname"
msgstr "服务器主机名称"
@@ -3018,15 +3155,15 @@ msgstr "服务状态"
msgid "ShadowQUIC"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:676
-#: htdocs/luci-static/resources/fchomo/listeners.js:686
-#: htdocs/luci-static/resources/fchomo/listeners.js:691
-#: htdocs/luci-static/resources/fchomo/listeners.js:1130
-#: htdocs/luci-static/resources/fchomo/listeners.js:1246
-#: htdocs/luci-static/resources/view/fchomo/node.js:1007
-#: htdocs/luci-static/resources/view/fchomo/node.js:1017
-#: htdocs/luci-static/resources/view/fchomo/node.js:1022
-#: htdocs/luci-static/resources/view/fchomo/node.js:1349
+#: htdocs/luci-static/resources/fchomo/listeners.js:675
+#: htdocs/luci-static/resources/fchomo/listeners.js:685
+#: htdocs/luci-static/resources/fchomo/listeners.js:690
+#: htdocs/luci-static/resources/fchomo/listeners.js:1120
+#: htdocs/luci-static/resources/fchomo/listeners.js:1236
+#: htdocs/luci-static/resources/view/fchomo/node.js:1114
+#: htdocs/luci-static/resources/view/fchomo/node.js:1124
+#: htdocs/luci-static/resources/view/fchomo/node.js:1129
+#: htdocs/luci-static/resources/view/fchomo/node.js:1459
msgid "ShadowTLS"
msgstr ""
@@ -3036,21 +3173,21 @@ msgid "Shadowsocks"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:422
-#: htdocs/luci-static/resources/view/fchomo/node.js:568
+#: htdocs/luci-static/resources/view/fchomo/node.js:582
msgid "Shadowsocks chipher"
msgstr "Shadowsocks 加密方法"
#: htdocs/luci-static/resources/fchomo/listeners.js:417
-#: htdocs/luci-static/resources/view/fchomo/node.js:563
+#: htdocs/luci-static/resources/view/fchomo/node.js:577
msgid "Shadowsocks encrypt"
msgstr "Shadowsocks 加密"
#: htdocs/luci-static/resources/fchomo/listeners.js:430
-#: htdocs/luci-static/resources/view/fchomo/node.js:576
+#: htdocs/luci-static/resources/view/fchomo/node.js:590
msgid "Shadowsocks password"
msgstr "Shadowsocks 密码"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1625
+#: htdocs/luci-static/resources/view/fchomo/node.js:1905
msgid "Show connections in the dashboard for breaking connections easier."
msgstr "在面板中显示连接以便于打断连接。"
@@ -3062,14 +3199,14 @@ msgstr "静音"
msgid "Simple round-robin all nodes"
msgstr "简单轮替所有节点"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1892
+#: htdocs/luci-static/resources/view/fchomo/node.js:2172
#: 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:1279
-#: htdocs/luci-static/resources/view/fchomo/node.js:2067
+#: htdocs/luci-static/resources/view/fchomo/client.js:1679
+#: htdocs/luci-static/resources/view/fchomo/node.js:1389
+#: htdocs/luci-static/resources/view/fchomo/node.js:2347
msgid "Skip cert verify"
msgstr "跳过证书验证"
@@ -3102,7 +3239,7 @@ msgstr "嗅探器"
msgid "Sniffer settings"
msgstr "嗅探器设置"
-#: htdocs/luci-static/resources/fchomo.js:444
+#: htdocs/luci-static/resources/fchomo.js:446
msgid "Specify a ID"
msgstr "指定一个ID"
@@ -3121,35 +3258,35 @@ msgstr "堆栈"
msgid "Standard"
msgstr "标准"
-#: htdocs/luci-static/resources/fchomo.js:257
+#: htdocs/luci-static/resources/fchomo.js:259
msgid "Steam Client"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:258
+#: htdocs/luci-static/resources/fchomo.js:260
msgid "Steam P2P"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1226
-#: htdocs/luci-static/resources/view/fchomo/client.js:1228
+#: htdocs/luci-static/resources/view/fchomo/client.js:1238
+#: htdocs/luci-static/resources/view/fchomo/client.js:1240
msgid "Strategy"
msgstr "策略"
-#: htdocs/luci-static/resources/fchomo/listeners.js:570
-#: htdocs/luci-static/resources/view/fchomo/node.js:757
+#: htdocs/luci-static/resources/fchomo/listeners.js:569
+#: htdocs/luci-static/resources/view/fchomo/node.js:770
msgid "Stream-level receive window size"
msgstr "流级接收窗口大小"
-#: htdocs/luci-static/resources/fchomo/listeners.js:603
-#: htdocs/luci-static/resources/view/fchomo/client.js:1388
-#: htdocs/luci-static/resources/view/fchomo/client.js:1397
+#: htdocs/luci-static/resources/fchomo/listeners.js:602
+#: htdocs/luci-static/resources/view/fchomo/client.js:1400
+#: htdocs/luci-static/resources/view/fchomo/client.js:1409
msgid "Sub rule"
msgstr "子规则"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1443
+#: htdocs/luci-static/resources/view/fchomo/client.js:1455
msgid "Sub rule group"
msgstr "子规则组"
-#: htdocs/luci-static/resources/fchomo.js:729
+#: htdocs/luci-static/resources/fchomo.js:731
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:231
msgid "Successfully imported %s %s of total %s."
msgstr "已成功导入 %s 个%s (共 %s 个)。"
@@ -3158,7 +3295,7 @@ msgstr "已成功导入 %s 个%s (共 %s 个)。"
msgid "Successfully updated."
msgstr "更新成功。"
-#: htdocs/luci-static/resources/fchomo.js:2084
+#: htdocs/luci-static/resources/fchomo.js:2098
msgid "Successfully uploaded."
msgstr "已成功上传。"
@@ -3167,7 +3304,7 @@ msgstr "已成功上传。"
msgid "Sudoku"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:722
+#: htdocs/luci-static/resources/view/fchomo/node.js:736
msgid "Support %s, default %s."
msgstr "支持 %s,默认 %s。"
@@ -3201,10 +3338,10 @@ msgstr "系统 DNS"
#: htdocs/luci-static/resources/fchomo.js:199
#: htdocs/luci-static/resources/fchomo.js:200
#: htdocs/luci-static/resources/fchomo.js:201
-#: htdocs/luci-static/resources/fchomo.js:209
-#: htdocs/luci-static/resources/fchomo/listeners.js:656
-#: htdocs/luci-static/resources/view/fchomo/client.js:606
-#: htdocs/luci-static/resources/view/fchomo/client.js:698
+#: htdocs/luci-static/resources/fchomo.js:211
+#: htdocs/luci-static/resources/fchomo/listeners.js:655
+#: htdocs/luci-static/resources/view/fchomo/client.js:618
+#: htdocs/luci-static/resources/view/fchomo/client.js:710
msgid "TCP"
msgstr "TCP"
@@ -3212,7 +3349,7 @@ msgstr "TCP"
msgid "TCP concurrency"
msgstr "TCP 并发"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1618
+#: htdocs/luci-static/resources/view/fchomo/node.js:1898
msgid "TCP only"
msgstr "仅 TCP"
@@ -3239,32 +3376,31 @@ msgstr "TCP-Keep-Alive 间隔"
msgid "TCP/UDP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1649
-#: htdocs/luci-static/resources/view/fchomo/node.js:2028
+#: htdocs/luci-static/resources/view/fchomo/node.js:1929
+#: htdocs/luci-static/resources/view/fchomo/node.js:2308
msgid "TFO"
msgstr "TCP 快速打开 (TFO)"
-#: htdocs/luci-static/resources/fchomo/listeners.js:704
-#: htdocs/luci-static/resources/fchomo/listeners.js:1026
+#: htdocs/luci-static/resources/fchomo/listeners.js:703
+#: htdocs/luci-static/resources/fchomo/listeners.js:1022
#: htdocs/luci-static/resources/view/fchomo/global.js:550
-#: htdocs/luci-static/resources/view/fchomo/node.js:455
-#: htdocs/luci-static/resources/view/fchomo/node.js:1035
-#: htdocs/luci-static/resources/view/fchomo/node.js:1182
+#: htdocs/luci-static/resources/view/fchomo/node.js:469
+#: htdocs/luci-static/resources/view/fchomo/node.js:1142
+#: htdocs/luci-static/resources/view/fchomo/node.js:1292
msgid "TLS"
msgstr "TLS"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1073
-#: htdocs/luci-static/resources/view/fchomo/node.js:1213
+#: htdocs/luci-static/resources/fchomo/listeners.js:1063
+#: htdocs/luci-static/resources/view/fchomo/node.js:1323
msgid "TLS ALPN"
msgstr "TLS ALPN"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1067
-#: htdocs/luci-static/resources/view/fchomo/node.js:1207
+#: htdocs/luci-static/resources/view/fchomo/node.js:1317
msgid "TLS SNI"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:123
-#: htdocs/luci-static/resources/view/fchomo/node.js:240
+#: htdocs/luci-static/resources/view/fchomo/node.js:253
msgid "TLS fields"
msgstr "TLS 字段"
@@ -3273,11 +3409,16 @@ msgstr "TLS 字段"
msgid "TUIC"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:255
+#: htdocs/luci-static/resources/fchomo.js:257
msgid "TURN"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:590
+#: htdocs/luci-static/resources/fchomo.js:209
+#: htdocs/luci-static/resources/view/fchomo/node.js:956
+msgid "Tailscale"
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo/listeners.js:589
msgid "Target address"
msgstr "目标地址"
@@ -3286,35 +3427,34 @@ 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:874
-#: htdocs/luci-static/resources/view/fchomo/node.js:882
-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:787
-#: htdocs/luci-static/resources/view/fchomo/node.js:795
+#: htdocs/luci-static/resources/view/fchomo/node.js:1569
+#: htdocs/luci-static/resources/view/fchomo/node.js:1578
+#: htdocs/luci-static/resources/view/fchomo/node.js:1582
+#: htdocs/luci-static/resources/view/fchomo/node.js:1595
+#: htdocs/luci-static/resources/view/fchomo/node.js:1603
+#: htdocs/luci-static/resources/view/fchomo/node.js:1607
msgid "The %s address used by local machine in the %s network."
msgstr "本机 %s 地址,用于在 %s 网络中使用。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1152
-#: htdocs/luci-static/resources/view/fchomo/node.js:1302
+#: htdocs/luci-static/resources/fchomo/listeners.js:1142
+#: htdocs/luci-static/resources/view/fchomo/node.js:1412
msgid "The %s private key, in PEM format."
msgstr "%s私钥,需要 PEM 格式。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1122
-#: htdocs/luci-static/resources/fchomo/listeners.js:1175
+#: htdocs/luci-static/resources/fchomo/listeners.js:1112
+#: htdocs/luci-static/resources/fchomo/listeners.js:1165
#: htdocs/luci-static/resources/view/fchomo/global.js:571
-#: htdocs/luci-static/resources/view/fchomo/node.js:1288
+#: htdocs/luci-static/resources/view/fchomo/node.js:1398
msgid "The %s public key, in PEM format."
msgstr "%s公钥,需要 PEM 格式。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1322
+#: htdocs/luci-static/resources/view/fchomo/node.js:1432
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:377
+#: htdocs/luci-static/resources/view/fchomo/node.js:391
msgid "The ED25519 available private key or UUID provided by Sudoku server."
msgstr "Sudoku 服务器提供的 ED25519 可用私钥 或 UUID。"
@@ -3326,52 +3466,52 @@ msgstr "Sudoku 生成的 ED25519 主公钥 或 UUID。"
msgid "The default value is 2:00 every day."
msgstr "默认值为每天 2:00。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:971
+#: htdocs/luci-static/resources/view/fchomo/node.js:1078
msgid ""
"The default value is %s, indicating that only the outer "
"connection timeout is used."
msgstr "默认值为%s,表示仅使用外层连接超时。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:870
-#: htdocs/luci-static/resources/view/fchomo/node.js:1129
+#: htdocs/luci-static/resources/fchomo/listeners.js:866
+#: htdocs/luci-static/resources/view/fchomo/node.js:1239
msgid ""
"The first padding must have a probability of 100% and at least 35 bytes."
msgstr "首个填充必须为 100% 的概率并且至少 35 字节。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1897
+#: htdocs/luci-static/resources/view/fchomo/client.js:1909
msgid "The matching %s will be deemed as not-poisoned."
msgstr "匹配 %s 的将被视为未被投毒污染。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1906
-#: htdocs/luci-static/resources/view/fchomo/client.js:1911
-#: htdocs/luci-static/resources/view/fchomo/client.js:1916
+#: htdocs/luci-static/resources/view/fchomo/client.js:1918
+#: htdocs/luci-static/resources/view/fchomo/client.js:1923
+#: htdocs/luci-static/resources/view/fchomo/client.js:1928
msgid "The matching %s will be deemed as poisoned."
msgstr "匹配 %s 的将被视为已被投毒污染。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:751
+#: htdocs/luci-static/resources/fchomo/listeners.js:753
msgid "The proxy used to connect to the handshake target."
msgstr "用于连接握手目标的代理。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:868
-#: htdocs/luci-static/resources/view/fchomo/node.js:1127
+#: htdocs/luci-static/resources/fchomo/listeners.js:864
+#: htdocs/luci-static/resources/view/fchomo/node.js:1237
msgid "The server and client can set different padding parameters."
msgstr "服务器和客户端可以设置不同的填充参数。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1233
+#: htdocs/luci-static/resources/fchomo/listeners.js:1223
#: 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:1282
-#: htdocs/luci-static/resources/view/fchomo/node.js:2070
+#: htdocs/luci-static/resources/view/fchomo/client.js:1682
+#: htdocs/luci-static/resources/view/fchomo/node.js:1392
+#: htdocs/luci-static/resources/view/fchomo/node.js:2350
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:628
+#: htdocs/luci-static/resources/view/fchomo/node.js:642
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."
@@ -3404,36 +3544,36 @@ msgid "Tproxy port"
msgstr "Tproxy 端口"
#: htdocs/luci-static/resources/fchomo/listeners.js:206
-#: htdocs/luci-static/resources/view/fchomo/node.js:369
+#: htdocs/luci-static/resources/view/fchomo/node.js:383
msgid "Traffic pattern"
msgstr "流量模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2239
+#: htdocs/luci-static/resources/view/fchomo/node.js:2519
msgid "Transit proxy group"
msgstr "中转代理组"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2250
+#: htdocs/luci-static/resources/view/fchomo/node.js:2530
msgid "Transit proxy node"
msgstr "中转代理节点"
#: htdocs/luci-static/resources/fchomo/listeners.js:194
-#: htdocs/luci-static/resources/fchomo/listeners.js:1297
-#: htdocs/luci-static/resources/view/fchomo/node.js:346
-#: htdocs/luci-static/resources/view/fchomo/node.js:1377
+#: htdocs/luci-static/resources/fchomo/listeners.js:1287
+#: htdocs/luci-static/resources/view/fchomo/node.js:360
+#: htdocs/luci-static/resources/view/fchomo/node.js:1657
msgid "Transport"
msgstr "传输层"
#: htdocs/luci-static/resources/fchomo/listeners.js:124
-#: htdocs/luci-static/resources/view/fchomo/node.js:241
+#: htdocs/luci-static/resources/view/fchomo/node.js:255
msgid "Transport fields"
msgstr "传输层字段"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1302
-#: htdocs/luci-static/resources/view/fchomo/node.js:1382
+#: htdocs/luci-static/resources/fchomo/listeners.js:1292
+#: htdocs/luci-static/resources/view/fchomo/node.js:1662
msgid "Transport type"
msgstr "传输层类型"
-#: htdocs/luci-static/resources/view/fchomo/client.js:823
+#: htdocs/luci-static/resources/view/fchomo/client.js:835
msgid "Treat the destination IP as the source IP."
msgstr "将 目标 IP 视为 来源 IP。"
@@ -3471,15 +3611,19 @@ msgstr "Tun 堆栈"
msgid "Tunnel"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:844
+msgid "Turns TCP relay off."
+msgstr "关闭 TCP 中继。"
+
#: 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:254
-#: htdocs/luci-static/resources/view/fchomo/node.js:1829
-#: htdocs/luci-static/resources/view/fchomo/node.js:2200
+#: htdocs/luci-static/resources/view/fchomo/client.js:672
+#: htdocs/luci-static/resources/view/fchomo/client.js:767
+#: htdocs/luci-static/resources/view/fchomo/client.js:875
+#: htdocs/luci-static/resources/view/fchomo/client.js:1073
+#: htdocs/luci-static/resources/view/fchomo/node.js:268
+#: htdocs/luci-static/resources/view/fchomo/node.js:2109
+#: htdocs/luci-static/resources/view/fchomo/node.js:2480
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:285
msgid "Type"
msgstr "类型"
@@ -3492,12 +3636,14 @@ msgstr "类型"
#: 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:657
-#: htdocs/luci-static/resources/fchomo/listeners.js:662
-#: 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:977
-#: htdocs/luci-static/resources/view/fchomo/node.js:2038
+#: htdocs/luci-static/resources/fchomo.js:209
+#: htdocs/luci-static/resources/fchomo.js:210
+#: htdocs/luci-static/resources/fchomo/listeners.js:656
+#: htdocs/luci-static/resources/fchomo/listeners.js:661
+#: htdocs/luci-static/resources/view/fchomo/client.js:617
+#: htdocs/luci-static/resources/view/fchomo/client.js:709
+#: htdocs/luci-static/resources/view/fchomo/node.js:1084
+#: htdocs/luci-static/resources/view/fchomo/node.js:2318
msgid "UDP"
msgstr "UDP"
@@ -3505,43 +3651,43 @@ msgstr "UDP"
msgid "UDP NAT expiration time"
msgstr "UDP NAT 过期时间"
-#: htdocs/luci-static/resources/view/fchomo/node.js:627
-#: htdocs/luci-static/resources/view/fchomo/node.js:728
+#: htdocs/luci-static/resources/view/fchomo/node.js:641
+#: htdocs/luci-static/resources/view/fchomo/node.js:741
msgid "UDP over stream"
msgstr "UDP over stream"
-#: htdocs/luci-static/resources/view/fchomo/node.js:633
+#: htdocs/luci-static/resources/view/fchomo/node.js:647
msgid "UDP over stream version"
msgstr "UDP over stream 版本"
-#: htdocs/luci-static/resources/view/fchomo/node.js:620
+#: htdocs/luci-static/resources/view/fchomo/node.js:634
msgid "UDP packet relay mode."
msgstr "UDP 包中继模式。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:619
+#: htdocs/luci-static/resources/view/fchomo/node.js:633
msgid "UDP relay mode"
msgstr "UDP 中继模式"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:415
+#: htdocs/luci-static/resources/view/fchomo/node.js:416
msgid "UP: %s; DOWN: %s"
msgstr "上传: %s; 下载: %s"
-#: htdocs/luci-static/resources/fchomo.js:245
+#: htdocs/luci-static/resources/fchomo.js:247
msgid "URL test"
msgstr "自动选择"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:527
+#: htdocs/luci-static/resources/view/fchomo/node.js:621
msgid "UUID"
msgstr "UUID"
-#: htdocs/luci-static/resources/fchomo.js:1627
+#: htdocs/luci-static/resources/fchomo.js:1629
msgid "Unable to download unsupported type: %s"
msgstr "无法下载不支持的类型: %s"
@@ -3566,8 +3712,8 @@ msgstr "未知错误。"
msgid "Unknown error: %s"
msgstr "未知错误:%s"
-#: htdocs/luci-static/resources/view/fchomo/node.js:983
-#: htdocs/luci-static/resources/view/fchomo/node.js:2043
+#: htdocs/luci-static/resources/view/fchomo/node.js:1090
+#: htdocs/luci-static/resources/view/fchomo/node.js:2323
msgid "UoT"
msgstr "UDP over TCP (UoT)"
@@ -3575,24 +3721,24 @@ msgstr "UDP over TCP (UoT)"
msgid "Update failed."
msgstr "更新失败。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1898
+#: htdocs/luci-static/resources/view/fchomo/node.js:2178
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:397
msgid "Update interval"
msgstr "更新间隔"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1399
-#: htdocs/luci-static/resources/view/fchomo/node.js:1636
+#: htdocs/luci-static/resources/fchomo/listeners.js:1389
+#: htdocs/luci-static/resources/view/fchomo/node.js:1916
msgid "Upload bandwidth"
msgstr "上传带宽"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1400
-#: htdocs/luci-static/resources/view/fchomo/node.js:1637
+#: htdocs/luci-static/resources/fchomo/listeners.js:1390
+#: htdocs/luci-static/resources/view/fchomo/node.js:1917
msgid "Upload bandwidth in Mbps."
msgstr "上传带宽(单位:Mbps)。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1143
-#: htdocs/luci-static/resources/fchomo/listeners.js:1183
-#: htdocs/luci-static/resources/view/fchomo/node.js:1293
+#: htdocs/luci-static/resources/fchomo/listeners.js:1133
+#: htdocs/luci-static/resources/fchomo/listeners.js:1173
+#: htdocs/luci-static/resources/view/fchomo/node.js:1403
msgid "Upload certificate"
msgstr "上传证书"
@@ -3600,48 +3746,56 @@ msgstr "上传证书"
msgid "Upload initial package"
msgstr "上传初始资源包"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1158
-#: htdocs/luci-static/resources/view/fchomo/node.js:1307
+#: htdocs/luci-static/resources/fchomo/listeners.js:1148
+#: htdocs/luci-static/resources/view/fchomo/node.js:1417
msgid "Upload key"
msgstr "上传密钥"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1146
-#: htdocs/luci-static/resources/fchomo/listeners.js:1161
-#: htdocs/luci-static/resources/fchomo/listeners.js:1186
+#: htdocs/luci-static/resources/fchomo/listeners.js:1136
+#: htdocs/luci-static/resources/fchomo/listeners.js:1151
+#: htdocs/luci-static/resources/fchomo/listeners.js:1176
#: htdocs/luci-static/resources/view/fchomo/global.js:306
-#: htdocs/luci-static/resources/view/fchomo/node.js:1296
-#: htdocs/luci-static/resources/view/fchomo/node.js:1310
+#: htdocs/luci-static/resources/view/fchomo/node.js:1406
+#: htdocs/luci-static/resources/view/fchomo/node.js:1420
msgid "Upload..."
msgstr "上传..."
-#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:836
+msgid "Use protocol-13 extended encryption for outgoing HELLO packets."
+msgstr "对传出的 HELLO 数据包使用 协议-13 扩展加密。"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:292
+#: htdocs/luci-static/resources/view/fchomo/node.js:299
+#: htdocs/luci-static/resources/view/fchomo/node.js:310
msgid "Use sub rule"
msgstr "使用子规则"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1487
+#: htdocs/luci-static/resources/view/fchomo/node.js:855
+msgid "Used to replace the built-in official %s."
+msgstr "用于替换内置的官方 %s。"
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:1499
msgid ""
"Used to resolve domains that can be directly connected. Can use domestic DNS "
"servers or ECS."
msgstr "用于解析可直连的域名。可以使用国内 DNS 服务器或 ECS。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1489
+#: htdocs/luci-static/resources/view/fchomo/client.js:1501
msgid ""
"Used to resolve domains you want to proxy. Recommended to configure %s for "
"DNS servers."
msgstr "用于解析想要代理的域名。建议为 DNS 服务器配置%s。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1471
+#: htdocs/luci-static/resources/view/fchomo/client.js:1483
msgid "Used to resolve the domain of the DNS server. Must be IP."
msgstr "用于解析 DNS 服务器的域名。必须是 IP。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1478
+#: htdocs/luci-static/resources/view/fchomo/client.js:1490
msgid "Used to resolve the domain of the Proxy node."
msgstr "用于解析代理节点的域名。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1274
-#: htdocs/luci-static/resources/view/fchomo/node.js:2062
+#: htdocs/luci-static/resources/view/fchomo/node.js:1384
+#: htdocs/luci-static/resources/view/fchomo/node.js:2342
msgid "Used to verify the hostname on the returned certificates."
msgstr "用于验证返回的证书上的主机名。"
@@ -3655,8 +3809,8 @@ msgstr "User-hint 是必填项"
#: htdocs/luci-static/resources/fchomo/listeners.js:162
#: htdocs/luci-static/resources/fchomo/listeners.js:723
-#: htdocs/luci-static/resources/view/fchomo/node.js:305
-#: htdocs/luci-static/resources/view/fchomo/node.js:1046
+#: htdocs/luci-static/resources/view/fchomo/node.js:319
+#: htdocs/luci-static/resources/view/fchomo/node.js:1154
msgid "Username"
msgstr "用户名"
@@ -3664,11 +3818,19 @@ msgstr "用户名"
msgid "Users filter mode"
msgstr "使用者过滤模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1493
+#: htdocs/luci-static/resources/view/fchomo/node.js:843
+msgid "Uses TCP relay only."
+msgstr "仅使用 TCP 中继。"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:842
+msgid "Uses relay after UDP direct failure."
+msgstr "UDP 直连失败后使用中继。"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1773
msgid "V2ray HTTPUpgrade"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1498
+#: htdocs/luci-static/resources/view/fchomo/node.js:1778
msgid "V2ray HTTPUpgrade fast open"
msgstr ""
@@ -3682,37 +3844,58 @@ msgstr ""
msgid "VMess"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:241
+#: htdocs/luci-static/resources/view/fchomo/node.js:1569
+#: htdocs/luci-static/resources/view/fchomo/node.js:1595
+msgid "VPN"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:254
msgid "VPN fields"
msgstr "VPN 字段"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1835
-#: htdocs/luci-static/resources/view/fchomo/node.js:2206
+#: htdocs/luci-static/resources/view/fchomo/node.js:886
+msgid "Valid 16-digit Moon World ID and 10-digit Node ID of Moon Root server."
+msgstr "有效的 16-位数 Moon World ID 和 10-位数 Moon Root 服务器 Node ID。"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:2115
+#: htdocs/luci-static/resources/view/fchomo/node.js:2486
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:328
msgid "Value"
msgstr "可视化值"
-#: htdocs/luci-static/resources/fchomo.js:374
+#: htdocs/luci-static/resources/view/fchomo/node.js:815
+msgid "Verbose"
+msgstr "详细"
+
+#: htdocs/luci-static/resources/fchomo.js:376
msgid "Verify if given"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:384
-#: htdocs/luci-static/resources/fchomo/listeners.js:735
-#: htdocs/luci-static/resources/view/fchomo/node.js:497
-#: htdocs/luci-static/resources/view/fchomo/node.js:1058
+#: htdocs/luci-static/resources/fchomo/listeners.js:737
+#: htdocs/luci-static/resources/view/fchomo/node.js:511
+#: htdocs/luci-static/resources/view/fchomo/node.js:1168
msgid "Version"
msgstr "版本"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1066
+#: htdocs/luci-static/resources/view/fchomo/node.js:1176
msgid "Version hint"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:1594
+msgid "Virtual IPv6 address"
+msgstr "虚拟 IPv6 地址"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1568
+msgid "Virtual address"
+msgstr "虚拟地址"
+
#: htdocs/luci-static/resources/fchomo/listeners.js:121
-#: htdocs/luci-static/resources/view/fchomo/node.js:238
+#: htdocs/luci-static/resources/view/fchomo/node.js:251
msgid "Vless Encryption fields"
msgstr "Vless Encryption 字段"
-#: htdocs/luci-static/resources/fchomo.js:411
+#: htdocs/luci-static/resources/fchomo.js:413
msgid "Wait a random 0-111 milliseconds with 75% probability."
msgstr "以 75% 的概率等待随机 0-111 毫秒。"
@@ -3721,15 +3904,15 @@ msgid "Warning"
msgstr "警告"
#: htdocs/luci-static/resources/fchomo/listeners.js:362
-#: htdocs/luci-static/resources/fchomo/listeners.js:1304
-#: htdocs/luci-static/resources/fchomo/listeners.js:1315
-#: htdocs/luci-static/resources/fchomo/listeners.js:1322
-#: 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:1387
-#: htdocs/luci-static/resources/view/fchomo/node.js:1400
-#: htdocs/luci-static/resources/view/fchomo/node.js:1407
-#: htdocs/luci-static/resources/view/fchomo/node.js:1413
+#: htdocs/luci-static/resources/fchomo/listeners.js:1294
+#: htdocs/luci-static/resources/fchomo/listeners.js:1305
+#: htdocs/luci-static/resources/fchomo/listeners.js:1312
+#: htdocs/luci-static/resources/view/fchomo/node.js:465
+#: htdocs/luci-static/resources/view/fchomo/node.js:494
+#: htdocs/luci-static/resources/view/fchomo/node.js:1667
+#: htdocs/luci-static/resources/view/fchomo/node.js:1680
+#: htdocs/luci-static/resources/view/fchomo/node.js:1687
+#: htdocs/luci-static/resources/view/fchomo/node.js:1693
msgid "WebSocket"
msgstr ""
@@ -3737,56 +3920,65 @@ msgstr ""
msgid "When used as a server, HomeProxy is a better choice."
msgstr "用作服务端时,HomeProxy 是更好的选择。"
+#: htdocs/luci-static/resources/view/fchomo/node.js:978
+msgid "Whether to accept routes advertised by other nodes."
+msgstr "是否接受其他节点发布的路由。"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:798
msgid "White list"
msgstr "白名单"
-#: htdocs/luci-static/resources/fchomo.js:207
+#: htdocs/luci-static/resources/fchomo.js:208
msgid "WireGuard"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:809
+#: htdocs/luci-static/resources/view/fchomo/node.js:924
msgid "WireGuard peer public key."
msgstr "WireGuard 对端公钥。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:816
+#: htdocs/luci-static/resources/view/fchomo/node.js:931
msgid "WireGuard pre-shared key."
msgstr "WireGuard 预共享密钥。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:801
+#: htdocs/luci-static/resources/view/fchomo/node.js:903
msgid "WireGuard requires base64-encoded private keys."
msgstr "WireGuard 要求 base64 编码的私钥。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1305
-#: htdocs/luci-static/resources/fchomo/listeners.js:1316
-#: htdocs/luci-static/resources/view/fchomo/node.js:1388
-#: htdocs/luci-static/resources/view/fchomo/node.js:1408
+#: htdocs/luci-static/resources/view/fchomo/node.js:1579
+#: htdocs/luci-static/resources/view/fchomo/node.js:1604
+msgid "Wireguard"
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo/listeners.js:1295
+#: htdocs/luci-static/resources/fchomo/listeners.js:1306
+#: htdocs/luci-static/resources/view/fchomo/node.js:1668
+#: htdocs/luci-static/resources/view/fchomo/node.js:1688
msgid "XHTTP"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1352
-#: htdocs/luci-static/resources/view/fchomo/node.js:1503
+#: htdocs/luci-static/resources/fchomo/listeners.js:1342
+#: htdocs/luci-static/resources/view/fchomo/node.js:1783
msgid "XHTTP mode"
msgstr "XHTTP 模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1534
+#: htdocs/luci-static/resources/view/fchomo/node.js:1814
msgid "XMUX"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1539
-#: htdocs/luci-static/resources/view/fchomo/node.js:1544
-#: htdocs/luci-static/resources/view/fchomo/node.js:1549
-#: htdocs/luci-static/resources/view/fchomo/node.js:1554
-#: htdocs/luci-static/resources/view/fchomo/node.js:1559
-#: htdocs/luci-static/resources/view/fchomo/node.js:1564
+#: htdocs/luci-static/resources/view/fchomo/node.js:1819
+#: htdocs/luci-static/resources/view/fchomo/node.js:1824
+#: htdocs/luci-static/resources/view/fchomo/node.js:1829
+#: htdocs/luci-static/resources/view/fchomo/node.js:1834
+#: htdocs/luci-static/resources/view/fchomo/node.js:1839
+#: htdocs/luci-static/resources/view/fchomo/node.js:1844
msgid "XMUX:"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:829
+#: htdocs/luci-static/resources/fchomo/listeners.js:825
msgid "XOR mode"
msgstr "XOR 模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:558
+#: htdocs/luci-static/resources/view/fchomo/node.js:572
msgid "Xudp (Xray-core)"
msgstr ""
@@ -3794,7 +3986,7 @@ msgstr ""
msgid "Yaml text"
msgstr "Yaml 格式文本"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2073
+#: htdocs/luci-static/resources/view/fchomo/node.js:2353
msgid "Yes"
msgstr ""
@@ -3802,31 +3994,39 @@ msgstr ""
msgid "YouTube"
msgstr "油管"
-#: htdocs/luci-static/resources/fchomo.js:2066
+#: htdocs/luci-static/resources/fchomo.js:2080
msgid "Your %s was successfully uploaded. Size: %sB."
msgstr "您的 %s 已成功上传。大小:%sB。"
-#: 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
+#: htdocs/luci-static/resources/fchomo.js:207
+msgid "ZeroTier"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:823
+msgid "ZeroTier UDP payload MTU."
+msgstr "ZeroTier UDP 有效载荷 MTU。"
+
+#: htdocs/luci-static/resources/fchomo.js:349
+#: htdocs/luci-static/resources/fchomo.js:362
+#: htdocs/luci-static/resources/fchomo.js:367
+#: htdocs/luci-static/resources/view/fchomo/node.js:552
msgid "aes-128-gcm"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:348
+#: htdocs/luci-static/resources/fchomo.js:350
msgid "aes-192-gcm"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:349
-#: htdocs/luci-static/resources/fchomo.js:366
+#: htdocs/luci-static/resources/fchomo.js:351
+#: htdocs/luci-static/resources/fchomo.js:368
msgid "aes-256-gcm"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1920
+#: htdocs/luci-static/resources/view/fchomo/node.js:2200
msgid "age private key"
msgstr "age 私钥"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1981
+#: htdocs/luci-static/resources/view/fchomo/node.js:2261
msgid "age public key"
msgstr "age 公钥"
@@ -3838,7 +4038,7 @@ msgstr ""
msgid "age-x25519"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:535
+#: htdocs/luci-static/resources/view/fchomo/node.js:549
msgid "auto"
msgstr "自动"
@@ -3846,19 +4046,19 @@ msgstr "自动"
msgid "bbr"
msgstr "bbr"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1148
-#: htdocs/luci-static/resources/fchomo/listeners.js:1188
-#: htdocs/luci-static/resources/view/fchomo/node.js:1298
+#: htdocs/luci-static/resources/fchomo/listeners.js:1138
+#: htdocs/luci-static/resources/fchomo/listeners.js:1178
+#: htdocs/luci-static/resources/view/fchomo/node.js:1408
msgid "certificate"
msgstr "证书"
-#: htdocs/luci-static/resources/fchomo.js:350
-#: htdocs/luci-static/resources/fchomo.js:361
-#: htdocs/luci-static/resources/fchomo.js:367
+#: htdocs/luci-static/resources/fchomo.js:352
+#: htdocs/luci-static/resources/fchomo.js:363
+#: htdocs/luci-static/resources/fchomo.js:369
msgid "chacha20-ietf-poly1305"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:539
+#: htdocs/luci-static/resources/view/fchomo/node.js:553
msgid "chacha20-poly1305"
msgstr ""
@@ -3866,8 +4066,8 @@ msgstr ""
msgid "cubic"
msgstr "cubic"
-#: htdocs/luci-static/resources/fchomo/listeners.js:781
-#: htdocs/luci-static/resources/fchomo/listeners.js:812
+#: htdocs/luci-static/resources/fchomo/listeners.js:777
+#: htdocs/luci-static/resources/fchomo/listeners.js:808
msgid "decryption"
msgstr "decryption"
@@ -3875,65 +4075,66 @@ msgstr "decryption"
msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)"
msgstr "dnsmasq 自行选择上游服务器。 (可能影响 CDN 准确性)"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2055
+#: htdocs/luci-static/resources/view/fchomo/node.js:2335
msgid "down"
msgstr "Hysteria 下载速率"
-#: htdocs/luci-static/resources/fchomo/listeners.js:816
-#: htdocs/luci-static/resources/view/fchomo/node.js:1081
-#: htdocs/luci-static/resources/view/fchomo/node.js:1104
+#: htdocs/luci-static/resources/fchomo/listeners.js:812
+#: htdocs/luci-static/resources/view/fchomo/node.js:1191
+#: htdocs/luci-static/resources/view/fchomo/node.js:1214
msgid "encryption"
msgstr "encryption"
#: htdocs/luci-static/resources/fchomo/listeners.js:346
-#: htdocs/luci-static/resources/view/fchomo/node.js:435
+#: htdocs/luci-static/resources/view/fchomo/node.js:449
msgid "false = bandwidth optimized downlink; true = pure Sudoku downlink."
msgstr "false = 带宽优化下行 true = 纯 Sudoku 下行。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1303
-#: htdocs/luci-static/resources/fchomo/listeners.js:1314
-#: htdocs/luci-static/resources/fchomo/listeners.js:1321
-#: htdocs/luci-static/resources/view/fchomo/node.js:1386
-#: htdocs/luci-static/resources/view/fchomo/node.js:1399
-#: htdocs/luci-static/resources/view/fchomo/node.js:1406
-#: htdocs/luci-static/resources/view/fchomo/node.js:1412
+#: htdocs/luci-static/resources/fchomo/listeners.js:1293
+#: htdocs/luci-static/resources/fchomo/listeners.js:1304
+#: htdocs/luci-static/resources/fchomo/listeners.js:1311
+#: htdocs/luci-static/resources/view/fchomo/node.js:1666
+#: htdocs/luci-static/resources/view/fchomo/node.js:1679
+#: htdocs/luci-static/resources/view/fchomo/node.js:1686
+#: htdocs/luci-static/resources/view/fchomo/node.js:1692
msgid "gRPC"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1469
+#: htdocs/luci-static/resources/view/fchomo/node.js:1749
msgid "gRPC User-Agent"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1474
+#: htdocs/luci-static/resources/view/fchomo/node.js:1754
msgid "gRPC ping interval"
msgstr "gRPC ping 间隔"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1346
-#: htdocs/luci-static/resources/view/fchomo/node.js:1465
+#: htdocs/luci-static/resources/fchomo/listeners.js:1336
+#: htdocs/luci-static/resources/view/fchomo/node.js:1745
msgid "gRPC service name"
msgstr "gRPC 服务名称"
#: htdocs/luci-static/resources/view/fchomo/global.js:517
+#: htdocs/luci-static/resources/view/fchomo/node.js:896
msgid "gVisor"
msgstr "gVisor"
-#: htdocs/luci-static/resources/view/fchomo/node.js:897
+#: htdocs/luci-static/resources/view/fchomo/node.js:1014
msgid "h2"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1581
+#: htdocs/luci-static/resources/view/fchomo/node.js:1861
msgid "h2mux"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:895
+#: htdocs/luci-static/resources/view/fchomo/node.js:1012
msgid "h3"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:896
+#: htdocs/luci-static/resources/view/fchomo/node.js:1013
msgid "h3-l4proxy"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:981
+#: htdocs/luci-static/resources/fchomo/listeners.js:977
msgid "least one keypair required"
msgstr "至少需要一对密钥"
@@ -3941,23 +4142,27 @@ msgstr "至少需要一对密钥"
msgid "metacubexd"
msgstr "metacubexd"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1034
-#: htdocs/luci-static/resources/view/fchomo/client.js:1331
-#: htdocs/luci-static/resources/view/fchomo/client.js:1426
-#: htdocs/luci-static/resources/view/fchomo/client.js:1568
-#: htdocs/luci-static/resources/view/fchomo/client.js:1802
-#: htdocs/luci-static/resources/view/fchomo/client.js:1858
-#: htdocs/luci-static/resources/view/fchomo/node.js:1801
+#: htdocs/luci-static/resources/view/fchomo/node.js:897
+msgid "mihomo IP stack (MIPS)"
+msgstr "mihomo IP 协议栈(MIPS)"
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:1046
+#: htdocs/luci-static/resources/view/fchomo/client.js:1343
+#: htdocs/luci-static/resources/view/fchomo/client.js:1438
+#: htdocs/luci-static/resources/view/fchomo/client.js:1580
+#: htdocs/luci-static/resources/view/fchomo/client.js:1814
+#: htdocs/luci-static/resources/view/fchomo/client.js:1870
+#: htdocs/luci-static/resources/view/fchomo/node.js:2081
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:247
msgid "mihomo config"
msgstr "mihomo 配置"
-#: htdocs/luci-static/resources/fchomo.js:393
+#: htdocs/luci-static/resources/fchomo.js:395
msgid "mlkem768x25519plus"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1654
-#: htdocs/luci-static/resources/view/fchomo/node.js:2033
+#: htdocs/luci-static/resources/view/fchomo/node.js:1934
+#: htdocs/luci-static/resources/view/fchomo/node.js:2313
msgid "mpTCP"
msgstr "多路径 TCP (mpTCP)"
@@ -3965,22 +4170,22 @@ msgstr "多路径 TCP (mpTCP)"
msgid "new_reno"
msgstr "new_reno"
-#: htdocs/luci-static/resources/view/fchomo/client.js:840
+#: htdocs/luci-static/resources/view/fchomo/client.js:852
msgid "no-resolve"
msgstr "no-resolve"
-#: 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
+#: htdocs/luci-static/resources/fchomo.js:1803
+#: htdocs/luci-static/resources/fchomo.js:1910
+#: htdocs/luci-static/resources/fchomo.js:1945
+#: htdocs/luci-static/resources/fchomo.js:1973
msgid "non-empty value"
msgstr "非空值"
-#: 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/fchomo.js:347
+#: htdocs/luci-static/resources/fchomo.js:361
+#: htdocs/luci-static/resources/fchomo.js:373
+#: htdocs/luci-static/resources/view/fchomo/node.js:550
+#: htdocs/luci-static/resources/view/fchomo/node.js:570
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:324
msgid "none"
msgstr "无"
@@ -3989,55 +4194,55 @@ msgstr "无"
msgid "not found"
msgstr "未找到"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1051
+#: htdocs/luci-static/resources/view/fchomo/client.js:1063
msgid "not included \",\""
msgstr "不包含 \",\""
-#: htdocs/luci-static/resources/fchomo.js:231
-#: htdocs/luci-static/resources/fchomo/listeners.js:605
-#: htdocs/luci-static/resources/fchomo/listeners.js:608
+#: htdocs/luci-static/resources/fchomo.js:233
+#: htdocs/luci-static/resources/fchomo/listeners.js:604
+#: htdocs/luci-static/resources/fchomo/listeners.js:607
msgid "null"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:675
-#: htdocs/luci-static/resources/fchomo/listeners.js:685
-#: htdocs/luci-static/resources/view/fchomo/node.js:1004
-#: htdocs/luci-static/resources/view/fchomo/node.js:1016
+#: htdocs/luci-static/resources/fchomo/listeners.js:674
+#: htdocs/luci-static/resources/fchomo/listeners.js:684
+#: htdocs/luci-static/resources/view/fchomo/node.js:1111
+#: htdocs/luci-static/resources/view/fchomo/node.js:1123
msgid "obfs-simple"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:482
+#: htdocs/luci-static/resources/view/fchomo/node.js:496
msgid "only applies when %s is %s."
msgstr "仅当 %s 为 %s 时适用。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:480
+#: htdocs/luci-static/resources/view/fchomo/node.js:494
msgid "only applies when %s is not %s."
msgstr "仅当 %s 不为 %s 时适用。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2014
+#: htdocs/luci-static/resources/view/fchomo/node.js:2294
msgid "override.override-expr"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2006
+#: htdocs/luci-static/resources/view/fchomo/node.js:2286
msgid "override.proxy-name"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:557
+#: htdocs/luci-static/resources/view/fchomo/node.js:571
msgid "packet addr (v2ray-core v5+)"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1356
-#: htdocs/luci-static/resources/view/fchomo/node.js:1507
+#: htdocs/luci-static/resources/fchomo/listeners.js:1346
+#: htdocs/luci-static/resources/view/fchomo/node.js:1787
msgid "packet-up"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:360
-#: htdocs/luci-static/resources/view/fchomo/node.js:449
+#: htdocs/luci-static/resources/view/fchomo/node.js:463
msgid "poll"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1163
-#: htdocs/luci-static/resources/view/fchomo/node.js:1312
+#: htdocs/luci-static/resources/fchomo/listeners.js:1153
+#: htdocs/luci-static/resources/view/fchomo/node.js:1422
msgid "private key"
msgstr "私钥"
@@ -4045,8 +4250,8 @@ msgstr "私钥"
msgid "razord-meta"
msgstr "razord-meta"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1255
-#: htdocs/luci-static/resources/view/fchomo/client.js:1261
+#: htdocs/luci-static/resources/view/fchomo/client.js:1267
+#: htdocs/luci-static/resources/view/fchomo/client.js:1273
msgid "requires front-end adaptation using the API."
msgstr "需要使用 API 的前端适配。"
@@ -4054,34 +4259,34 @@ msgstr "需要使用 API 的前端适配。"
msgid "rule-set"
msgstr "规则集"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1579
+#: htdocs/luci-static/resources/view/fchomo/node.js:1859
msgid "smux"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:359
-#: htdocs/luci-static/resources/view/fchomo/node.js:448
+#: htdocs/luci-static/resources/view/fchomo/node.js:462
msgid "split-stream"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:822
+#: htdocs/luci-static/resources/view/fchomo/client.js:834
msgid "src"
msgstr "src"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1354
-#: htdocs/luci-static/resources/view/fchomo/node.js:1505
+#: htdocs/luci-static/resources/fchomo/listeners.js:1344
+#: htdocs/luci-static/resources/view/fchomo/node.js:1785
msgid "stream-one"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1355
-#: htdocs/luci-static/resources/view/fchomo/node.js:1506
+#: htdocs/luci-static/resources/fchomo/listeners.js:1345
+#: htdocs/luci-static/resources/view/fchomo/node.js:1786
msgid "stream-up"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1371
+#: htdocs/luci-static/resources/fchomo/listeners.js:1361
msgid "stream-up server seconds"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:482
+#: htdocs/luci-static/resources/view/fchomo/node.js:496
msgid "stream/poll/auto"
msgstr ""
@@ -4089,11 +4294,11 @@ msgstr ""
msgid "sudoku-keypair"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1068
+#: htdocs/luci-static/resources/view/fchomo/node.js:1178
msgid "tls12"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1069
+#: htdocs/luci-static/resources/view/fchomo/node.js:1179
msgid "tls13"
msgstr ""
@@ -4101,100 +4306,104 @@ msgstr ""
msgid "unchecked"
msgstr "未检查"
-#: htdocs/luci-static/resources/fchomo.js:457
+#: htdocs/luci-static/resources/fchomo.js:459
msgid "unique UCI identifier"
msgstr "独立 UCI 标识"
-#: htdocs/luci-static/resources/fchomo.js:460
+#: htdocs/luci-static/resources/fchomo.js:462
msgid "unique identifier"
msgstr "独立标识"
-#: htdocs/luci-static/resources/fchomo.js:1968
+#: htdocs/luci-static/resources/fchomo.js:1982
msgid "unique value"
msgstr "独立值"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2049
+#: htdocs/luci-static/resources/view/fchomo/node.js:2329
msgid "up"
msgstr "Hysteria 上传速率"
#: htdocs/luci-static/resources/fchomo/listeners.js:385
-#: htdocs/luci-static/resources/fchomo/listeners.js:736
-#: 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:990
-#: htdocs/luci-static/resources/view/fchomo/node.js:1059
+#: htdocs/luci-static/resources/fchomo/listeners.js:738
+#: htdocs/luci-static/resources/view/fchomo/node.js:512
+#: htdocs/luci-static/resources/view/fchomo/node.js:648
+#: htdocs/luci-static/resources/view/fchomo/node.js:1097
+#: htdocs/luci-static/resources/view/fchomo/node.js:1169
msgid "v1"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:386
-#: htdocs/luci-static/resources/fchomo/listeners.js:737
-#: htdocs/luci-static/resources/view/fchomo/node.js:499
-#: htdocs/luci-static/resources/view/fchomo/node.js:991
-#: htdocs/luci-static/resources/view/fchomo/node.js:1060
+#: htdocs/luci-static/resources/fchomo/listeners.js:739
+#: htdocs/luci-static/resources/view/fchomo/node.js:513
+#: htdocs/luci-static/resources/view/fchomo/node.js:1098
+#: htdocs/luci-static/resources/view/fchomo/node.js:1170
msgid "v2"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:387
-#: htdocs/luci-static/resources/fchomo/listeners.js:738
-#: htdocs/luci-static/resources/view/fchomo/node.js:500
-#: htdocs/luci-static/resources/view/fchomo/node.js:1061
+#: htdocs/luci-static/resources/fchomo/listeners.js:740
+#: htdocs/luci-static/resources/view/fchomo/node.js:514
+#: htdocs/luci-static/resources/view/fchomo/node.js:1171
msgid "v3"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:388
-#: htdocs/luci-static/resources/view/fchomo/node.js:501
+#: htdocs/luci-static/resources/view/fchomo/node.js:515
msgid "v4"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:389
-#: htdocs/luci-static/resources/view/fchomo/node.js:502
+#: htdocs/luci-static/resources/view/fchomo/node.js:516
msgid "v5"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1848
-#: htdocs/luci-static/resources/fchomo.js:1851
+#: htdocs/luci-static/resources/fchomo.js:1850
+#: htdocs/luci-static/resources/fchomo.js:1853
msgid "valid JSON format"
msgstr "有效的 JSON 格式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1266
+#: htdocs/luci-static/resources/view/fchomo/node.js:1376
msgid "valid SHA256 string with %d characters"
msgstr "包含 %d 个字符的有效 SHA256 字符串"
-#: htdocs/luci-static/resources/fchomo.js:1873
-#: htdocs/luci-static/resources/fchomo.js:1876
+#: htdocs/luci-static/resources/fchomo.js:1875
+#: htdocs/luci-static/resources/fchomo.js:1878
msgid "valid URL"
msgstr "有效网址"
-#: htdocs/luci-static/resources/fchomo.js:1886
+#: htdocs/luci-static/resources/fchomo.js:1900
msgid "valid base64 key with %d characters"
msgstr "包含 %d 个字符的有效 base64 密钥"
-#: htdocs/luci-static/resources/fchomo.js:1946
-#: htdocs/luci-static/resources/fchomo.js:1952
+#: htdocs/luci-static/resources/fchomo.js:1960
+#: htdocs/luci-static/resources/fchomo.js:1966
msgid "valid format: 2x, 2p, 4v"
msgstr "有效格式: 2x, 2p, 4v"
-#: htdocs/luci-static/resources/fchomo.js:1933
+#: htdocs/luci-static/resources/fchomo.js:1891
+msgid "valid hex string with %d characters"
+msgstr "包含 %d 个字符的有效 Hex 字符串"
+
+#: htdocs/luci-static/resources/fchomo.js:1947
msgid "valid key length with %d characters"
msgstr "包含 %d 个字符的有效密钥"
-#: htdocs/luci-static/resources/fchomo.js:1811
+#: htdocs/luci-static/resources/fchomo.js:1813
msgid "valid port value"
msgstr "有效端口值"
-#: htdocs/luci-static/resources/fchomo.js:1861
+#: htdocs/luci-static/resources/fchomo.js:1863
msgid "valid uuid"
msgstr "有效 uuid"
-#: htdocs/luci-static/resources/fchomo.js:417
+#: htdocs/luci-static/resources/fchomo.js:419
msgid "vless-mlkem768"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:416
+#: htdocs/luci-static/resources/fchomo.js:418
msgid "vless-x25519"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:351
+#: htdocs/luci-static/resources/fchomo.js:353
msgid "xchacha20-ietf-poly1305"
msgstr ""
@@ -4202,7 +4411,7 @@ msgstr ""
msgid "yacd-meta"
msgstr "yacd-meta"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1580
+#: htdocs/luci-static/resources/view/fchomo/node.js:1860
msgid "yamux"
msgstr ""
@@ -4210,10 +4419,10 @@ msgstr ""
msgid "zashboard"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:537
+#: htdocs/luci-static/resources/view/fchomo/node.js:551
msgid "zero"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1629
+#: htdocs/luci-static/resources/fchomo.js:1631
msgid "🡇"
msgstr ""
diff --git a/luci-app-fchomo/po/zh_Hant/fchomo.po b/luci-app-fchomo/po/zh_Hant/fchomo.po
index 764c33f9..ca00a525 100644
--- a/luci-app-fchomo/po/zh_Hant/fchomo.po
+++ b/luci-app-fchomo/po/zh_Hant/fchomo.po
@@ -8,85 +8,98 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
+#: htdocs/luci-static/resources/view/fchomo/node.js:956
+msgid "%s Hostname"
+msgstr "%s 主機名稱"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1508
+#: htdocs/luci-static/resources/view/fchomo/node.js:1538
+msgid "%s UDP port. 0 selects an available port."
+msgstr "%s UDP 連接埠。 0 自動選擇一個可用連接埠。"
+
#: htdocs/luci-static/resources/view/fchomo/log.js:111
msgid "%s log"
msgstr "%s 日誌"
-#: htdocs/luci-static/resources/fchomo.js:253
-#: htdocs/luci-static/resources/fchomo.js:254
+#: htdocs/luci-static/resources/view/fchomo/node.js:807
+msgid "%s of the %s used to receiving remote debugging log."
+msgstr "%s,用於接收遠端偵錯日誌的 %s 的。"
+
#: 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
+#: htdocs/luci-static/resources/fchomo.js:259
+#: htdocs/luci-static/resources/fchomo.js:260
msgid "%s ports"
msgstr "%s 連接埠"
-#: htdocs/luci-static/resources/fchomo.js:644
-#: htdocs/luci-static/resources/fchomo.js:647
+#: htdocs/luci-static/resources/fchomo.js:646
+#: htdocs/luci-static/resources/fchomo.js:649
#: htdocs/luci-static/resources/view/fchomo/client.js:318
msgid "(Imported)"
msgstr "(已導入)"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1166
-#: htdocs/luci-static/resources/fchomo/listeners.js:1174
-#: htdocs/luci-static/resources/fchomo/listeners.js:1183
+#: htdocs/luci-static/resources/fchomo/listeners.js:1156
+#: htdocs/luci-static/resources/fchomo/listeners.js:1164
+#: htdocs/luci-static/resources/fchomo/listeners.js:1173
#: 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:1287
-#: htdocs/luci-static/resources/view/fchomo/node.js:1293
-#: htdocs/luci-static/resources/view/fchomo/node.js:1301
-#: htdocs/luci-static/resources/view/fchomo/node.js:1307
+#: htdocs/luci-static/resources/view/fchomo/node.js:1397
+#: htdocs/luci-static/resources/view/fchomo/node.js:1403
+#: htdocs/luci-static/resources/view/fchomo/node.js:1411
+#: htdocs/luci-static/resources/view/fchomo/node.js:1417
msgid "(mTLS)"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:696
+#: htdocs/luci-static/resources/view/fchomo/client.js:708
msgid "-- NETWORK --"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1208
+#: htdocs/luci-static/resources/view/fchomo/client.js:1220
msgid "-- PROXY-GROUP --"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1143
-#: htdocs/luci-static/resources/view/fchomo/client.js:1210
+#: htdocs/luci-static/resources/view/fchomo/client.js:1155
+#: htdocs/luci-static/resources/view/fchomo/client.js:1222
msgid "-- PROXY-NODE --"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:834
+#: htdocs/luci-static/resources/fchomo.js:836
#: htdocs/luci-static/resources/view/fchomo/client.js:573
-#: htdocs/luci-static/resources/view/fchomo/client.js:881
-#: htdocs/luci-static/resources/view/fchomo/client.js:884
-#: htdocs/luci-static/resources/view/fchomo/client.js:1081
-#: htdocs/luci-static/resources/view/fchomo/client.js:1085
-#: 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:288
-#: htdocs/luci-static/resources/view/fchomo/node.js:2212
-#: htdocs/luci-static/resources/view/fchomo/node.js:2223
-#: htdocs/luci-static/resources/view/fchomo/node.js:2242
-#: htdocs/luci-static/resources/view/fchomo/node.js:2253
+#: htdocs/luci-static/resources/view/fchomo/client.js:893
+#: htdocs/luci-static/resources/view/fchomo/client.js:896
+#: htdocs/luci-static/resources/view/fchomo/client.js:1093
+#: htdocs/luci-static/resources/view/fchomo/client.js:1097
+#: htdocs/luci-static/resources/view/fchomo/client.js:1113
+#: htdocs/luci-static/resources/view/fchomo/client.js:1117
+#: htdocs/luci-static/resources/view/fchomo/client.js:1373
+#: htdocs/luci-static/resources/view/fchomo/node.js:302
+#: htdocs/luci-static/resources/view/fchomo/node.js:2492
+#: htdocs/luci-static/resources/view/fchomo/node.js:2503
+#: htdocs/luci-static/resources/view/fchomo/node.js:2522
+#: htdocs/luci-static/resources/view/fchomo/node.js:2533
msgid "-- Please choose --"
msgstr "-- 請選擇 --"
-#: htdocs/luci-static/resources/view/fchomo/client.js:694
+#: htdocs/luci-static/resources/view/fchomo/client.js:706
msgid "-- REMATCH-NAME --"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:699
+#: htdocs/luci-static/resources/view/fchomo/client.js:711
msgid "-- RULE-SET --"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:835
+#: htdocs/luci-static/resources/fchomo.js:837
msgid "-- custom --"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:406
+#: htdocs/luci-static/resources/fchomo.js:408
msgid "0-RTT reuse."
msgstr "0-RTT 重用。"
-#: htdocs/luci-static/resources/fchomo.js:403
-#: htdocs/luci-static/resources/fchomo.js:407
+#: htdocs/luci-static/resources/fchomo.js:405
+#: htdocs/luci-static/resources/fchomo.js:409
msgid "1-RTT only."
msgstr "僅限 1-RTT。"
@@ -94,32 +107,36 @@ msgstr "僅限 1-RTT。"
msgid "163Music"
msgstr "網易雲音樂"
-#: htdocs/luci-static/resources/fchomo.js:353
+#: htdocs/luci-static/resources/fchomo.js:355
msgid "2022-blake3-aes-128-gcm"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:354
+#: htdocs/luci-static/resources/fchomo.js:356
msgid "2022-blake3-aes-256-gcm"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:355
+#: htdocs/luci-static/resources/fchomo.js:357
msgid "2022-blake3-chacha20-poly1305"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:707
+#: htdocs/luci-static/resources/view/fchomo/node.js:1539
+msgid "-1 disables it."
+msgstr "-1 表示停用它。"
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:719
msgid "0 or 1 only."
msgstr "僅限 0 或 1。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1144
-#: htdocs/luci-static/resources/fchomo/listeners.js:1159
-#: htdocs/luci-static/resources/fchomo/listeners.js:1184
-#: htdocs/luci-static/resources/view/fchomo/node.js:1294
-#: htdocs/luci-static/resources/view/fchomo/node.js:1308
+#: htdocs/luci-static/resources/fchomo/listeners.js:1134
+#: htdocs/luci-static/resources/fchomo/listeners.js:1149
+#: htdocs/luci-static/resources/fchomo/listeners.js:1174
+#: htdocs/luci-static/resources/view/fchomo/node.js:1404
+#: htdocs/luci-static/resources/view/fchomo/node.js:1418
msgid "Save your configuration before uploading files!"
msgstr "上傳文件前請先保存配置!"
#: htdocs/luci-static/resources/fchomo/listeners.js:207
-#: htdocs/luci-static/resources/view/fchomo/node.js:370
+#: htdocs/luci-static/resources/view/fchomo/node.js:384
msgid ""
"A base64 string is used to fine-tune network behavior.
Please refer to "
"the document"
@@ -179,9 +196,9 @@ msgstr "API 令牌"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:413
+#: htdocs/luci-static/resources/view/fchomo/node.js:415
+#: htdocs/luci-static/resources/view/fchomo/node.js:416
msgid "ASCII data stream"
msgstr "ASCII 資料流"
@@ -189,20 +206,24 @@ msgstr "ASCII 資料流"
msgid "ASN version"
msgstr "ASN 版本"
+#: htdocs/luci-static/resources/view/fchomo/node.js:977
+msgid "Accept routes"
+msgstr "接受路由"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:744
#: htdocs/luci-static/resources/view/fchomo/global.js:794
msgid "Access Control"
msgstr "訪問控制"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1780
+#: htdocs/luci-static/resources/view/fchomo/client.js:1792
msgid "Add a Bootstrap DNS policy (Node)"
msgstr "新增 引導 DNS 策略 (節點)"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1832
+#: htdocs/luci-static/resources/view/fchomo/client.js:1844
msgid "Add a DNS policy"
msgstr "新增 DNS 策略"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1525
+#: htdocs/luci-static/resources/view/fchomo/client.js:1537
msgid "Add a DNS server"
msgstr "新增 DNS 伺服器"
@@ -214,19 +235,19 @@ msgstr "新增 節點"
msgid "Add a inbound"
msgstr "新增 入站"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1698
+#: htdocs/luci-static/resources/view/fchomo/node.js:1978
msgid "Add a provider"
msgstr "新增 供應商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2186
+#: htdocs/luci-static/resources/view/fchomo/node.js:2466
msgid "Add a proxy chain"
msgstr "新增 代理鏈"
-#: htdocs/luci-static/resources/view/fchomo/client.js:972
+#: htdocs/luci-static/resources/view/fchomo/client.js:984
msgid "Add a proxy group"
msgstr "新增 代理組"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1275
+#: htdocs/luci-static/resources/view/fchomo/client.js:1287
msgid "Add a routing rule"
msgstr "新增 路由規則"
@@ -238,24 +259,28 @@ msgstr "新增 規則集"
msgid "Add a server"
msgstr "新增 伺服器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1397
+#: htdocs/luci-static/resources/view/fchomo/client.js:1409
msgid "Add a sub rule"
msgstr "新增 子規則"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1995
+#: htdocs/luci-static/resources/view/fchomo/node.js:2275
msgid "Add prefix"
msgstr "添加前綴"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1999
+#: htdocs/luci-static/resources/view/fchomo/node.js:2279
msgid "Add suffix"
msgstr "添加後綴"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1585
-#: htdocs/luci-static/resources/view/fchomo/client.js:1590
+#: htdocs/luci-static/resources/view/fchomo/node.js:856
+msgid "Add the base64 text of the planet file here."
+msgstr "在此處新增行星檔案的 base64 文本。"
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:1597
+#: htdocs/luci-static/resources/view/fchomo/client.js:1602
msgid "Address"
msgstr "位址"
-#: htdocs/luci-static/resources/fchomo.js:410
+#: htdocs/luci-static/resources/fchomo.js:412
msgid ""
"After the 1-RTT client/server hello, padding randomly 111-1111 bytes with "
"100% probability."
@@ -276,10 +301,14 @@ msgstr "客戶端維護的 NAT 映射 的老化時間。"
msgid "All allowed"
msgstr "允許所有"
-#: htdocs/luci-static/resources/fchomo.js:250
+#: htdocs/luci-static/resources/fchomo.js:252
msgid "All ports"
msgstr "所有連接埠"
+#: htdocs/luci-static/resources/view/fchomo/node.js:988
+msgid "Allow LAN access"
+msgstr "允許區域網路訪問"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:647
msgid ""
"Allow access from private network.To access the API on a private "
@@ -287,11 +316,15 @@ msgid ""
msgstr ""
"允許從私有網路訪問。要從公共網站訪問私有網路上的 API,則必須啟用。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1061
+#: htdocs/luci-static/resources/view/fchomo/node.js:989
+msgid "Allow access to the local LAN via the exit node."
+msgstr "允許透過出口節點存取本地區域網路。"
+
+#: htdocs/luci-static/resources/fchomo/listeners.js:1057
msgid "Allow insecure connections"
msgstr "允許不安全的連線"
-#: htdocs/luci-static/resources/view/fchomo/node.js:822
+#: htdocs/luci-static/resources/view/fchomo/node.js:937
msgid "Allowed IPs"
msgstr "允許的 IP"
@@ -304,7 +337,7 @@ msgid "Already in updating."
msgstr "已在更新中。"
#: htdocs/luci-static/resources/fchomo/listeners.js:409
-#: htdocs/luci-static/resources/view/fchomo/node.js:527
+#: htdocs/luci-static/resources/view/fchomo/node.js:541
msgid "Alter ID"
msgstr "額外 ID"
@@ -317,6 +350,10 @@ msgstr ""
msgid "Application version"
msgstr "應用版本"
+#: htdocs/luci-static/resources/view/fchomo/node.js:972
+msgid "As ephemeral node"
+msgstr "作為臨時節點"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:822
msgid "As the TOP upstream of dnsmasq"
msgstr "作為 dnsmasq 的最優先上游"
@@ -330,20 +367,27 @@ msgstr "作為 dnsmasq 的最優先上游。"
msgid "Auth timeout"
msgstr "認證逾時"
-#: htdocs/luci-static/resources/view/fchomo/node.js:549
+#: htdocs/luci-static/resources/view/fchomo/node.js:563
msgid "Authenticated length"
msgstr "認證長度"
+#: htdocs/luci-static/resources/view/fchomo/node.js:967
+msgid "Authentication key"
+msgstr "認證金鑰"
+
#: htdocs/luci-static/resources/fchomo/listeners.js:361
-#: htdocs/luci-static/resources/fchomo/listeners.js:1353
+#: htdocs/luci-static/resources/fchomo/listeners.js:1343
#: htdocs/luci-static/resources/view/fchomo/global.js:423
-#: 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:1504
+#: htdocs/luci-static/resources/view/fchomo/node.js:464
+#: htdocs/luci-static/resources/view/fchomo/node.js:488
+#: htdocs/luci-static/resources/view/fchomo/node.js:842
+#: htdocs/luci-static/resources/view/fchomo/node.js:895
+#: htdocs/luci-static/resources/view/fchomo/node.js:1784
msgid "Auto"
msgstr "自動"
#: htdocs/luci-static/resources/fchomo/listeners.js:139
+#: htdocs/luci-static/resources/view/fchomo/node.js:1488
msgid "Auto configure firewall"
msgstr "自動配置防火牆"
@@ -355,8 +399,8 @@ msgstr "自動更新"
msgid "Auto update resources."
msgstr "自動更新資源文件。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:639
-#: htdocs/luci-static/resources/view/fchomo/node.js:954
+#: htdocs/luci-static/resources/fchomo/listeners.js:638
+#: htdocs/luci-static/resources/view/fchomo/node.js:1061
msgid "BBR profile"
msgstr "BBR 設定檔"
@@ -364,11 +408,11 @@ msgstr "BBR 設定檔"
msgid "Baidu"
msgstr "百度"
-#: htdocs/luci-static/resources/view/fchomo/node.js:859
+#: htdocs/luci-static/resources/view/fchomo/node.js:996
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:867
+#: htdocs/luci-static/resources/view/fchomo/node.js:1004
msgid "Base64 encoded ECDSA public key on the NIST P-256 curve."
msgstr "基於 NIST P-256 曲線的 Base64 編碼 ECDSA 公鑰。"
@@ -390,13 +434,13 @@ msgid "Binary mrs"
msgstr "二進位 mrs"
#: htdocs/luci-static/resources/view/fchomo/global.js:758
-#: htdocs/luci-static/resources/view/fchomo/node.js:1665
-#: htdocs/luci-static/resources/view/fchomo/node.js:2084
+#: htdocs/luci-static/resources/view/fchomo/node.js:1945
+#: htdocs/luci-static/resources/view/fchomo/node.js:2364
msgid "Bind interface"
msgstr "綁定介面"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1666
-#: htdocs/luci-static/resources/view/fchomo/node.js:2085
+#: htdocs/luci-static/resources/view/fchomo/node.js:1946
+#: htdocs/luci-static/resources/view/fchomo/node.js:2365
msgid "Bind outbound interface."
msgstr "綁定出站介面。"
@@ -413,16 +457,16 @@ msgstr "黑名單"
msgid "Block DNS queries"
msgstr "封鎖 DNS 請求"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1771
-#: htdocs/luci-static/resources/view/fchomo/client.js:1780
+#: htdocs/luci-static/resources/view/fchomo/client.js:1783
+#: htdocs/luci-static/resources/view/fchomo/client.js:1792
msgid "Bootstrap DNS policy (Node)"
msgstr "引導 DNS 策略 (節點)"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1470
+#: htdocs/luci-static/resources/view/fchomo/client.js:1482
msgid "Bootstrap DNS server"
msgstr "引導 DNS 伺服器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1477
+#: htdocs/luci-static/resources/view/fchomo/client.js:1489
msgid "Bootstrap DNS server (Node)"
msgstr "引導 DNS 伺服器 (節點)"
@@ -442,10 +486,10 @@ msgstr "繞過 DSCP"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:462
+#: htdocs/luci-static/resources/view/fchomo/node.js:463
+#: htdocs/luci-static/resources/view/fchomo/node.js:464
+#: htdocs/luci-static/resources/view/fchomo/node.js:465
msgid "CDN support"
msgstr "CDN 支援"
@@ -461,21 +505,21 @@ msgstr "CORS 允許私有網路"
msgid "CORS allowed origins, * will be used if empty."
msgstr "CORS 允許的來源,留空則使用 *。"
-#: htdocs/luci-static/resources/fchomo.js:760
+#: htdocs/luci-static/resources/fchomo.js:762
msgid "Cancel"
msgstr "取消"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1260
+#: htdocs/luci-static/resources/view/fchomo/node.js:1370
msgid "Cert fingerprint"
msgstr "憑證指紋"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1261
+#: htdocs/luci-static/resources/view/fchomo/node.js:1371
msgid ""
"Certificate fingerprint. Used to implement SSL Pinning and prevent MitM."
msgstr "憑證指紋。用於實現 SSL憑證固定 並防止 MitM。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1121
-#: htdocs/luci-static/resources/view/fchomo/node.js:1287
+#: htdocs/luci-static/resources/fchomo/listeners.js:1111
+#: htdocs/luci-static/resources/view/fchomo/node.js:1397
msgid "Certificate path"
msgstr "憑證路徑"
@@ -488,7 +532,7 @@ msgstr "檢查"
msgid "Check routerself NAT Behavior"
msgstr "檢測路由器自身 NAT 行為"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1926
+#: htdocs/luci-static/resources/view/fchomo/client.js:1938
msgid ""
"Check the response from the %s, only initiate query if the "
"%s is satisfied."
@@ -513,14 +557,14 @@ msgstr "大陸網域清單版本"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:337
+#: htdocs/luci-static/resources/view/fchomo/node.js:396
+#: htdocs/luci-static/resources/view/fchomo/node.js:547
msgid "Chipher"
msgstr "加密方法"
#: htdocs/luci-static/resources/fchomo/listeners.js:284
-#: htdocs/luci-static/resources/view/fchomo/node.js:391
+#: htdocs/luci-static/resources/view/fchomo/node.js:405
msgid "Chipher must be enabled if obfuscate downlink is disabled."
msgstr "如果下行鏈路混淆功能已停用,則必須啟用加密。"
@@ -536,25 +580,25 @@ msgstr ""
"點擊此處下載"
"最新的初始包。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:857
-#: htdocs/luci-static/resources/fchomo/listeners.js:1175
+#: htdocs/luci-static/resources/fchomo/listeners.js:853
+#: htdocs/luci-static/resources/fchomo/listeners.js:1165
#: htdocs/luci-static/resources/view/fchomo/global.js:571
-#: htdocs/luci-static/resources/view/fchomo/node.js:1116
-#: htdocs/luci-static/resources/view/fchomo/node.js:1288
-#: htdocs/luci-static/resources/view/fchomo/node.js:1302
+#: htdocs/luci-static/resources/view/fchomo/node.js:1226
+#: htdocs/luci-static/resources/view/fchomo/node.js:1398
+#: htdocs/luci-static/resources/view/fchomo/node.js:1412
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:22
msgid "Client"
msgstr "客戶端"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1174
+#: htdocs/luci-static/resources/fchomo/listeners.js:1164
msgid "Client Auth Certificate path"
msgstr "客戶端認證憑證路徑"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1166
+#: htdocs/luci-static/resources/fchomo/listeners.js:1156
msgid "Client Auth type"
msgstr "客戶端認證類型"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1333
+#: htdocs/luci-static/resources/view/fchomo/node.js:1443
msgid "Client fingerprint"
msgstr "客戶端指紋"
@@ -566,21 +610,26 @@ msgstr "客戶端密鑰"
msgid "Client status"
msgstr "客戶端狀態"
+#: htdocs/luci-static/resources/view/fchomo/node.js:1583
+#: htdocs/luci-static/resources/view/fchomo/node.js:1608
+msgid "Cloudflare WARP"
+msgstr ""
+
#: htdocs/luci-static/resources/view/fchomo/log.js:82
msgid "Collecting data..."
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
msgid "Common ports (bypass P2P traffic)"
msgstr "常用連接埠(繞過 P2P 流量)"
-#: htdocs/luci-static/resources/fchomo.js:1745
+#: htdocs/luci-static/resources/fchomo.js:1747
msgid "Complete"
msgstr "完成"
-#: htdocs/luci-static/resources/fchomo/listeners.js:631
-#: htdocs/luci-static/resources/view/fchomo/node.js:945
+#: htdocs/luci-static/resources/fchomo/listeners.js:630
+#: htdocs/luci-static/resources/view/fchomo/node.js:1051
msgid "Congestion controller"
msgstr "擁塞控制器"
@@ -588,12 +637,12 @@ msgstr "擁塞控制器"
msgid "Connection check"
msgstr "連接檢查"
-#: htdocs/luci-static/resources/view/fchomo/node.js:507
+#: htdocs/luci-static/resources/view/fchomo/node.js:521
msgid "Connection reuse"
msgstr "連接重用"
-#: htdocs/luci-static/resources/fchomo/listeners.js:576
-#: htdocs/luci-static/resources/view/fchomo/node.js:763
+#: htdocs/luci-static/resources/fchomo/listeners.js:575
+#: htdocs/luci-static/resources/view/fchomo/node.js:776
msgid "Connection-level receive window size"
msgstr "連接級接收視窗大小"
@@ -601,19 +650,19 @@ msgstr "連接級接收視窗大小"
msgid "Conservative"
msgstr "保守"
-#: htdocs/luci-static/resources/fchomo.js:629
+#: htdocs/luci-static/resources/fchomo.js:631
msgid "Content copied to clipboard!"
msgstr "內容已複製到剪貼簿!"
-#: htdocs/luci-static/resources/view/fchomo/client.js:687
-#: htdocs/luci-static/resources/view/fchomo/node.js:1855
-#: htdocs/luci-static/resources/view/fchomo/node.js:1881
+#: htdocs/luci-static/resources/view/fchomo/client.js:699
+#: htdocs/luci-static/resources/view/fchomo/node.js:2135
+#: htdocs/luci-static/resources/view/fchomo/node.js:2161
#: 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:1854
+#: htdocs/luci-static/resources/view/fchomo/node.js:2134
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:347
msgid "Contents"
msgstr "內容"
@@ -622,7 +671,11 @@ msgstr "內容"
msgid "Contents have been saved."
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:631
+#: htdocs/luci-static/resources/view/fchomo/node.js:961
+msgid "Control server"
+msgstr "控制伺服器"
+
+#: htdocs/luci-static/resources/fchomo.js:633
msgid "Copy"
msgstr "複製"
@@ -634,11 +687,15 @@ msgstr "核心版本"
msgid "Cron expression"
msgstr "Cron 表達式"
+#: htdocs/luci-static/resources/view/fchomo/node.js:962
+msgid "Custom %s control server."
+msgstr "自訂 %s 控制伺服器。"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:913
msgid "Custom Direct List"
msgstr "自訂直連清單"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1986
+#: htdocs/luci-static/resources/view/fchomo/node.js:2266
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:420
msgid "Custom HTTP header."
msgstr "自訂 HTTP header。"
@@ -648,7 +705,7 @@ msgid "Custom Proxy List"
msgstr "自訂代理清單"
#: htdocs/luci-static/resources/fchomo/listeners.js:299
-#: htdocs/luci-static/resources/view/fchomo/node.js:406
+#: htdocs/luci-static/resources/view/fchomo/node.js:420
msgid "Custom byte layout"
msgstr "自訂位元組佈局"
@@ -661,9 +718,9 @@ msgstr "自訂內部 hosts。支援 yaml 或 json 格
msgid "DIRECT"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1823
-#: htdocs/luci-static/resources/view/fchomo/client.js:1832
-#: htdocs/luci-static/resources/view/fchomo/client.js:1907
+#: htdocs/luci-static/resources/view/fchomo/client.js:1835
+#: htdocs/luci-static/resources/view/fchomo/client.js:1844
+#: htdocs/luci-static/resources/view/fchomo/client.js:1919
msgid "DNS policy"
msgstr "DNS 策略"
@@ -671,15 +728,14 @@ msgstr "DNS 策略"
msgid "DNS port"
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:852
-#: htdocs/luci-static/resources/view/fchomo/node.js:919
+#: htdocs/luci-static/resources/view/fchomo/client.js:911
+#: htdocs/luci-static/resources/view/fchomo/client.js:1528
+#: htdocs/luci-static/resources/view/fchomo/client.js:1537
+#: htdocs/luci-static/resources/view/fchomo/node.js:1651
msgid "DNS server"
msgstr "DNS 伺服器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1453
+#: htdocs/luci-static/resources/view/fchomo/client.js:1465
msgid "DNS settings"
msgstr "DNS 設定"
@@ -692,6 +748,7 @@ msgid "Dashboard version"
msgstr "面板版本"
#: htdocs/luci-static/resources/fchomo.js:94
+#: htdocs/luci-static/resources/view/fchomo/node.js:817
msgid "Debug"
msgstr "調試"
@@ -699,13 +756,13 @@ msgstr "調試"
msgid "Default DNS (issued by WAN)"
msgstr "預設 DNS(由 WAN 下發)"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1491
-#: htdocs/luci-static/resources/view/fchomo/client.js:1927
-#: htdocs/luci-static/resources/view/fchomo/client.js:1930
+#: htdocs/luci-static/resources/view/fchomo/client.js:1503
+#: htdocs/luci-static/resources/view/fchomo/client.js:1939
+#: htdocs/luci-static/resources/view/fchomo/client.js:1942
msgid "Default DNS server"
msgstr "預設 DNS 伺服器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1201
+#: htdocs/luci-static/resources/view/fchomo/client.js:1213
msgid "Default selected"
msgstr "預設選中"
@@ -717,24 +774,24 @@ msgstr "預設版本,支援 %s。"
msgid "Derive from priv-key"
msgstr "從私鑰派生"
-#: htdocs/luci-static/resources/view/fchomo/node.js:823
+#: htdocs/luci-static/resources/view/fchomo/node.js:938
msgid "Destination addresses allowed to be forwarded via Wireguard."
msgstr "允許通過 WireGuard 轉發的目的位址"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2209
+#: htdocs/luci-static/resources/view/fchomo/node.js:2489
msgid "Destination provider"
msgstr "落地供應商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2220
+#: htdocs/luci-static/resources/view/fchomo/node.js:2500
msgid "Destination proxy node"
msgstr "落地代理節點"
-#: htdocs/luci-static/resources/view/fchomo/node.js:243
+#: htdocs/luci-static/resources/view/fchomo/node.js:257
msgid "Dial fields"
msgstr "撥號欄位"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2232
-#: htdocs/luci-static/resources/view/fchomo/node.js:2262
+#: htdocs/luci-static/resources/view/fchomo/node.js:2512
+#: htdocs/luci-static/resources/view/fchomo/node.js:2542
msgid "Different chain head/tail"
msgstr "不同的鏈頭/鏈尾"
@@ -756,7 +813,8 @@ msgstr "直連 MAC 位址"
#: htdocs/luci-static/resources/fchomo/listeners.js:485
#: htdocs/luci-static/resources/view/fchomo/global.js:424
-#: htdocs/luci-static/resources/view/fchomo/node.js:696
+#: htdocs/luci-static/resources/view/fchomo/node.js:710
+#: htdocs/luci-static/resources/view/fchomo/node.js:844
msgid "Disable"
msgstr "停用"
@@ -772,11 +830,11 @@ msgstr "停用 quic-go 的 通用分段卸載(GSO)"
msgid "Disable ICMP Forwarding"
msgstr "禁用 ICMP 轉發"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1201
+#: htdocs/luci-static/resources/view/fchomo/node.js:1311
msgid "Disable SNI"
msgstr "停用 SNI"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1150
+#: htdocs/luci-static/resources/view/fchomo/client.js:1162
msgid "Disable UDP"
msgstr "停用 UDP"
@@ -784,7 +842,7 @@ msgstr "停用 UDP"
msgid "Disable safe path check"
msgstr "禁用安全路徑檢查"
-#: htdocs/luci-static/resources/view/fchomo/client.js:841
+#: htdocs/luci-static/resources/view/fchomo/client.js:853
msgid ""
"Do not resolve the domain connection to IP for this match.Only works "
"for pure domain inbound connections without DNS resolution. e.g., socks5h"
@@ -792,39 +850,39 @@ msgstr ""
"不要將網域連線解析為 IP 以進行此次匹配。 僅對未經 DNS 解析的純網域入站連"
"線有效。例如,socks5h"
-#: htdocs/luci-static/resources/view/fchomo/client.js:864
-#: htdocs/luci-static/resources/view/fchomo/client.js:869
-#: htdocs/luci-static/resources/view/fchomo/client.js:1906
-#: htdocs/luci-static/resources/view/fchomo/client.js:1914
-#: htdocs/luci-static/resources/view/fchomo/client.js:1916
+#: htdocs/luci-static/resources/view/fchomo/client.js:876
+#: htdocs/luci-static/resources/view/fchomo/client.js:881
+#: htdocs/luci-static/resources/view/fchomo/client.js:1918
+#: htdocs/luci-static/resources/view/fchomo/client.js:1926
+#: htdocs/luci-static/resources/view/fchomo/client.js:1928
msgid "Domain"
msgstr "網域"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1202
+#: htdocs/luci-static/resources/view/fchomo/node.js:1312
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:1280
-#: htdocs/luci-static/resources/view/fchomo/node.js:2068
+#: htdocs/luci-static/resources/view/fchomo/client.js:1680
+#: htdocs/luci-static/resources/view/fchomo/node.js:1390
+#: htdocs/luci-static/resources/view/fchomo/node.js:2348
msgid "Donot verifying server certificate."
msgstr "不驗證伺服器憑證。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1405
-#: htdocs/luci-static/resources/view/fchomo/node.js:1642
+#: htdocs/luci-static/resources/fchomo/listeners.js:1395
+#: htdocs/luci-static/resources/view/fchomo/node.js:1922
msgid "Download bandwidth"
msgstr "下載頻寬"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1406
-#: htdocs/luci-static/resources/view/fchomo/node.js:1643
+#: htdocs/luci-static/resources/fchomo/listeners.js:1396
+#: htdocs/luci-static/resources/view/fchomo/node.js:1923
msgid "Download bandwidth in Mbps."
msgstr "下載頻寬(單位:Mbps)。"
-#: htdocs/luci-static/resources/fchomo.js:1624
+#: htdocs/luci-static/resources/fchomo.js:1626
msgid "Download failed: %s"
msgstr "下載失敗: %s"
-#: htdocs/luci-static/resources/fchomo.js:1622
+#: htdocs/luci-static/resources/fchomo.js:1624
msgid "Download successful."
msgstr "下載成功。"
@@ -832,24 +890,24 @@ msgstr "下載成功。"
msgid "Dual stack"
msgstr "雙棧"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1327
+#: htdocs/luci-static/resources/view/fchomo/node.js:1437
msgid "ECH HTTPS record query servername"
msgstr "ECH HTTPS 記錄查詢網域"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1232
-#: htdocs/luci-static/resources/view/fchomo/node.js:1321
+#: htdocs/luci-static/resources/fchomo/listeners.js:1222
+#: htdocs/luci-static/resources/view/fchomo/node.js:1431
msgid "ECH config"
msgstr "ECH 配置"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1191
+#: htdocs/luci-static/resources/fchomo/listeners.js:1181
msgid "ECH key"
msgstr "ECH 密鑰"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1702
+#: htdocs/luci-static/resources/view/fchomo/client.js:1714
msgid "ECS override"
msgstr "強制覆蓋 ECS"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1686
+#: htdocs/luci-static/resources/view/fchomo/client.js:1698
msgid "EDNS Client Subnet"
msgstr "EDNS 客戶端子網"
@@ -857,11 +915,11 @@ msgstr "EDNS 客戶端子網"
msgid "ETag support"
msgstr "ETag 支援"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1482
+#: htdocs/luci-static/resources/view/fchomo/node.js:1762
msgid "Early Data first packet length limit."
msgstr "前置數據長度閾值"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1488
+#: htdocs/luci-static/resources/view/fchomo/node.js:1768
msgid "Early Data header name"
msgstr "前置數據標頭"
@@ -877,39 +935,39 @@ msgstr "編輯出站"
msgid "Edit ruleset"
msgstr "編輯規則集"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1852
+#: htdocs/luci-static/resources/view/fchomo/node.js:2132
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:345
msgid "Editer"
msgstr "編輯器"
-#: htdocs/luci-static/resources/fchomo.js:397
+#: htdocs/luci-static/resources/fchomo.js:399
msgid "Eliminate encryption header characteristics"
msgstr "消除加密頭特徵"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1135
+#: htdocs/luci-static/resources/view/fchomo/client.js:1147
msgid "Empty fallback"
msgstr "為空時回退"
#: 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
-#: htdocs/luci-static/resources/view/fchomo/client.js:1439
-#: htdocs/luci-static/resources/view/fchomo/client.js:1581
-#: htdocs/luci-static/resources/view/fchomo/client.js:1815
-#: htdocs/luci-static/resources/view/fchomo/client.js:1871
+#: htdocs/luci-static/resources/view/fchomo/client.js:974
+#: htdocs/luci-static/resources/view/fchomo/client.js:1069
+#: htdocs/luci-static/resources/view/fchomo/client.js:1356
+#: htdocs/luci-static/resources/view/fchomo/client.js:1451
+#: htdocs/luci-static/resources/view/fchomo/client.js:1593
+#: htdocs/luci-static/resources/view/fchomo/client.js:1827
+#: htdocs/luci-static/resources/view/fchomo/client.js:1883
#: 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:250
-#: htdocs/luci-static/resources/view/fchomo/node.js:1825
-#: htdocs/luci-static/resources/view/fchomo/node.js:2107
-#: htdocs/luci-static/resources/view/fchomo/node.js:2196
+#: htdocs/luci-static/resources/view/fchomo/node.js:264
+#: htdocs/luci-static/resources/view/fchomo/node.js:2105
+#: htdocs/luci-static/resources/view/fchomo/node.js:2387
+#: htdocs/luci-static/resources/view/fchomo/node.js:2476
#: 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:650
+#: htdocs/luci-static/resources/view/fchomo/node.js:664
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:649
+#: htdocs/luci-static/resources/view/fchomo/node.js:663
msgid "Enable 0-RTT handshake"
msgstr "啟用 0-RTT 握手"
@@ -930,69 +988,73 @@ msgstr ""
"為出站連線啟用 IP4P 轉換"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1315
+#: htdocs/luci-static/resources/view/fchomo/node.js:1425
msgid "Enable ECH"
msgstr "啟用 ECH"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1393
-#: htdocs/luci-static/resources/view/fchomo/node.js:1630
+#: htdocs/luci-static/resources/fchomo/listeners.js:1383
+#: htdocs/luci-static/resources/view/fchomo/node.js:1910
msgid "Enable TCP Brutal"
msgstr "啟用 TCP Brutal"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1394
-#: htdocs/luci-static/resources/view/fchomo/node.js:1631
+#: htdocs/luci-static/resources/fchomo/listeners.js:1384
+#: htdocs/luci-static/resources/view/fchomo/node.js:1911
msgid "Enable TCP Brutal congestion control algorithm"
msgstr "啟用 TCP Brutal 擁塞控制演算法。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:644
+#: htdocs/luci-static/resources/view/fchomo/node.js:658
msgid "Enable fast open"
msgstr "啟用 Fast open"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1619
+#: htdocs/luci-static/resources/view/fchomo/node.js:1899
msgid "Enable multiplexing only for TCP."
msgstr "僅為 TCP 啟用多路復用。"
#: htdocs/luci-static/resources/fchomo/listeners.js:345
-#: htdocs/luci-static/resources/view/fchomo/node.js:434
+#: htdocs/luci-static/resources/view/fchomo/node.js:448
msgid "Enable obfuscate for downlink"
msgstr "啟用下行鏈路混淆"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1388
-#: htdocs/luci-static/resources/view/fchomo/node.js:1613
+#: htdocs/luci-static/resources/fchomo/listeners.js:1378
+#: htdocs/luci-static/resources/view/fchomo/node.js:1893
msgid "Enable padding"
msgstr "啟用填充"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1624
+#: htdocs/luci-static/resources/view/fchomo/node.js:1904
msgid "Enable statistic"
msgstr "啟用統計"
-#: htdocs/luci-static/resources/view/fchomo/node.js:984
-#: htdocs/luci-static/resources/view/fchomo/node.js:2044
+#: htdocs/luci-static/resources/view/fchomo/node.js:1091
+#: htdocs/luci-static/resources/view/fchomo/node.js:2324
msgid ""
"Enable the SUoT protocol, requires server support. Conflict with Multiplex."
msgstr "啟用 SUoT 協議,需要服務端支援。與多路復用衝突。"
#: htdocs/luci-static/resources/fchomo/listeners.js:492
-#: htdocs/luci-static/resources/view/fchomo/node.js:703
+#: htdocs/luci-static/resources/view/fchomo/node.js:717
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:820
+#: htdocs/luci-static/resources/view/fchomo/node.js:835
+msgid "Encrypted Hello"
+msgstr "加密 Hello"
+
+#: htdocs/luci-static/resources/fchomo/listeners.js:816
msgid "Encryption method"
msgstr "加密方法"
-#: htdocs/luci-static/resources/view/fchomo/node.js:866
-msgid "Endpoint public key"
-msgstr "端點公鑰"
+#: htdocs/luci-static/resources/view/fchomo/node.js:1003
+msgid "Server public key"
+msgstr "伺服器公鑰"
#: htdocs/luci-static/resources/view/fchomo/global.js:540
msgid "Endpoint-Independent NAT"
msgstr "端點獨立 NAT"
-#: htdocs/luci-static/resources/view/fchomo/client.js:740
-#: htdocs/luci-static/resources/view/fchomo/client.js:891
+#: htdocs/luci-static/resources/view/fchomo/client.js:752
+#: htdocs/luci-static/resources/view/fchomo/client.js:903
msgid "Entry"
msgstr "條目"
@@ -1000,17 +1062,17 @@ msgstr "條目"
msgid "Error"
msgstr "錯誤"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1194
+#: htdocs/luci-static/resources/view/fchomo/client.js:1206
msgid ""
"Exceeding this triggers a forced health check. 5 will be used "
"if empty."
msgstr "超過此限制將會觸發強制健康檢查。留空則使用 5。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2165
+#: htdocs/luci-static/resources/view/fchomo/node.js:2445
msgid "Exclude matched node types."
msgstr "排除匹配的節點類型。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1248
+#: htdocs/luci-static/resources/view/fchomo/client.js:1260
msgid ""
"Exclude matched node types. Available types see here."
@@ -1018,98 +1080,104 @@ msgstr ""
"排除匹配的節點類型。可用類型請參考此處。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1243
-#: htdocs/luci-static/resources/view/fchomo/node.js:2158
+#: htdocs/luci-static/resources/view/fchomo/client.js:1255
+#: htdocs/luci-static/resources/view/fchomo/node.js:2438
msgid "Exclude nodes that meet keywords or regexps."
msgstr "排除匹配關鍵字或表達式的節點。"
+#: htdocs/luci-static/resources/view/fchomo/node.js:983
+msgid "Exit node"
+msgstr "出口節點"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:265
msgid "Expand/Collapse result"
msgstr "展開/收起 結果"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1186
-#: htdocs/luci-static/resources/view/fchomo/node.js:2143
+#: htdocs/luci-static/resources/view/fchomo/client.js:1198
+#: htdocs/luci-static/resources/view/fchomo/node.js:2423
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:2145
+#: htdocs/luci-static/resources/view/fchomo/client.js:1200
+#: htdocs/luci-static/resources/view/fchomo/node.js:2425
msgid "Expected status"
msgstr "預期狀態"
-#: 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: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.js:456
+#: htdocs/luci-static/resources/fchomo.js:459
+#: htdocs/luci-static/resources/fchomo.js:462
+#: htdocs/luci-static/resources/fchomo.js:1764
+#: htdocs/luci-static/resources/fchomo.js:1772
+#: htdocs/luci-static/resources/fchomo.js:1780
+#: htdocs/luci-static/resources/fchomo.js:1803
+#: htdocs/luci-static/resources/fchomo.js:1806
+#: htdocs/luci-static/resources/fchomo.js:1813
+#: htdocs/luci-static/resources/fchomo.js:1829
+#: htdocs/luci-static/resources/fchomo.js:1838
+#: htdocs/luci-static/resources/fchomo.js:1850
+#: htdocs/luci-static/resources/fchomo.js:1853
+#: htdocs/luci-static/resources/fchomo.js:1863
+#: htdocs/luci-static/resources/fchomo.js:1875
+#: htdocs/luci-static/resources/fchomo.js:1878
+#: htdocs/luci-static/resources/fchomo.js:1891
+#: htdocs/luci-static/resources/fchomo.js:1900
+#: htdocs/luci-static/resources/fchomo.js:1910
+#: htdocs/luci-static/resources/fchomo.js:1945
+#: htdocs/luci-static/resources/fchomo.js:1947
+#: htdocs/luci-static/resources/fchomo.js:1960
+#: htdocs/luci-static/resources/fchomo.js:1966
+#: htdocs/luci-static/resources/fchomo.js:1973
+#: htdocs/luci-static/resources/fchomo.js:1982
#: htdocs/luci-static/resources/fchomo/listeners.js:284
#: htdocs/luci-static/resources/fchomo/listeners.js:331
-#: htdocs/luci-static/resources/fchomo/listeners.js:849
-#: htdocs/luci-static/resources/fchomo/listeners.js:880
-#: htdocs/luci-static/resources/fchomo/listeners.js:981
+#: htdocs/luci-static/resources/fchomo/listeners.js:845
+#: htdocs/luci-static/resources/fchomo/listeners.js:876
+#: htdocs/luci-static/resources/fchomo/listeners.js:977
#: 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/client.js:1063
+#: htdocs/luci-static/resources/view/fchomo/client.js:1608
#: htdocs/luci-static/resources/view/fchomo/global.js:904
-#: 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:1139
-#: htdocs/luci-static/resources/view/fchomo/node.js:1266
-#: htdocs/luci-static/resources/view/fchomo/node.js:2232
-#: htdocs/luci-static/resources/view/fchomo/node.js:2262
+#: htdocs/luci-static/resources/view/fchomo/node.js:405
+#: htdocs/luci-static/resources/view/fchomo/node.js:441
+#: htdocs/luci-static/resources/view/fchomo/node.js:494
+#: htdocs/luci-static/resources/view/fchomo/node.js:496
+#: htdocs/luci-static/resources/view/fchomo/node.js:886
+#: htdocs/luci-static/resources/view/fchomo/node.js:1249
+#: htdocs/luci-static/resources/view/fchomo/node.js:1376
+#: htdocs/luci-static/resources/view/fchomo/node.js:2512
+#: htdocs/luci-static/resources/view/fchomo/node.js:2542
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:300
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:314
msgid "Expecting: %s"
msgstr "請輸入:%s"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1135
+#: htdocs/luci-static/resources/fchomo/listeners.js:1125
msgid "Expecting: Cannot be empty."
msgstr "請輸入:不能為空。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1246
-#: htdocs/luci-static/resources/view/fchomo/node.js:1349
+#: htdocs/luci-static/resources/fchomo/listeners.js:1236
+#: htdocs/luci-static/resources/view/fchomo/node.js:1459
msgid "Expecting: Cannot be enabled when %s is enabled."
msgstr "請輸入:當 %s 啟用時,無法啟用。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1130
+#: htdocs/luci-static/resources/fchomo/listeners.js:1120
msgid "Expecting: Keep empty when %s is enabled."
msgstr "請輸入:啟用 %s 時保持為空。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:278
-#: htdocs/luci-static/resources/view/fchomo/node.js:296
+#: htdocs/luci-static/resources/view/fchomo/node.js:292
+#: htdocs/luci-static/resources/view/fchomo/node.js:310
msgid "Expecting: Least one of %s or %s."
msgstr "請輸入:至少包含 %s 或 %s 中的一個。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:685
-#: htdocs/luci-static/resources/fchomo/listeners.js:691
-#: htdocs/luci-static/resources/fchomo/listeners.js:1314
-#: htdocs/luci-static/resources/fchomo/listeners.js:1321
-#: htdocs/luci-static/resources/view/fchomo/node.js:1016
-#: htdocs/luci-static/resources/view/fchomo/node.js:1022
-#: htdocs/luci-static/resources/view/fchomo/node.js:1397
-#: htdocs/luci-static/resources/view/fchomo/node.js:1404
-#: htdocs/luci-static/resources/view/fchomo/node.js:1412
+#: htdocs/luci-static/resources/fchomo/listeners.js:684
+#: htdocs/luci-static/resources/fchomo/listeners.js:690
+#: htdocs/luci-static/resources/fchomo/listeners.js:1304
+#: htdocs/luci-static/resources/fchomo/listeners.js:1311
+#: htdocs/luci-static/resources/view/fchomo/node.js:1123
+#: htdocs/luci-static/resources/view/fchomo/node.js:1129
+#: htdocs/luci-static/resources/view/fchomo/node.js:1677
+#: htdocs/luci-static/resources/view/fchomo/node.js:1684
+#: htdocs/luci-static/resources/view/fchomo/node.js:1692
msgid "Expecting: Only support %s."
msgstr "請輸入:僅支援 %s。"
@@ -1122,81 +1190,90 @@ msgstr "實驗性"
#: htdocs/luci-static/resources/view/fchomo/client.js:580
#: htdocs/luci-static/resources/view/fchomo/client.js:587
#: htdocs/luci-static/resources/view/fchomo/client.js:597
-#: htdocs/luci-static/resources/view/fchomo/client.js:604
-#: htdocs/luci-static/resources/view/fchomo/client.js:612
-#: htdocs/luci-static/resources/view/fchomo/client.js:619
-#: htdocs/luci-static/resources/view/fchomo/client.js:686
+#: htdocs/luci-static/resources/view/fchomo/client.js:616
+#: htdocs/luci-static/resources/view/fchomo/client.js:624
+#: htdocs/luci-static/resources/view/fchomo/client.js:631
+#: htdocs/luci-static/resources/view/fchomo/client.js:698
msgid "Factor"
msgstr "條件"
-#: htdocs/luci-static/resources/fchomo.js:1703
+#: htdocs/luci-static/resources/fchomo.js:1705
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:1656
+#: htdocs/luci-static/resources/fchomo.js:1658
msgid "Failed to generate %s, error: %s."
msgstr "生成 %s 失敗,錯誤:%s。"
-#: htdocs/luci-static/resources/fchomo.js:2068
+#: htdocs/luci-static/resources/fchomo.js:2082
msgid "Failed to upload %s, error: %s."
msgstr "上傳 %s 失敗,錯誤:%s。"
-#: htdocs/luci-static/resources/fchomo.js:2087
+#: htdocs/luci-static/resources/fchomo.js:2101
msgid "Failed to upload, error: %s."
msgstr "上傳失敗,錯誤:%s。"
-#: htdocs/luci-static/resources/fchomo.js:244
+#: htdocs/luci-static/resources/fchomo.js:246
#: htdocs/luci-static/resources/fchomo/listeners.js:370
msgid "Fallback"
msgstr "自動回退"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1485
-#: htdocs/luci-static/resources/view/fchomo/client.js:1498
-#: htdocs/luci-static/resources/view/fchomo/client.js:1930
+#: htdocs/luci-static/resources/view/fchomo/client.js:1497
+#: htdocs/luci-static/resources/view/fchomo/client.js:1510
+#: htdocs/luci-static/resources/view/fchomo/client.js:1942
msgid "Fallback DNS server"
msgstr "後備 DNS 伺服器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1885
-#: htdocs/luci-static/resources/view/fchomo/client.js:1927
+#: htdocs/luci-static/resources/view/fchomo/client.js:1897
+#: htdocs/luci-static/resources/view/fchomo/client.js:1939
msgid "Fallback filter"
msgstr "後備過濾器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1238
-#: htdocs/luci-static/resources/view/fchomo/node.js:2152
+#: htdocs/luci-static/resources/view/fchomo/node.js:841
+msgid "Fallback mode"
+msgstr "自動回退模式"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:848
+msgid "Fallback relay"
+msgstr "自動回退中繼"
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:1250
+#: htdocs/luci-static/resources/view/fchomo/node.js:2432
msgid "Filter nodes that meet keywords or regexps."
msgstr "過濾匹配關鍵字或表達式的節點。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1752
+#: htdocs/luci-static/resources/view/fchomo/client.js:1764
msgid "Filter record type:"
msgstr "過濾記錄類型:"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1720
-#: htdocs/luci-static/resources/view/fchomo/client.js:1736
+#: htdocs/luci-static/resources/view/fchomo/client.js:1732
+#: htdocs/luci-static/resources/view/fchomo/client.js:1748
msgid "Filter record: %s"
msgstr "過濾 %s 記錄"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1484
+#: htdocs/luci-static/resources/view/fchomo/client.js:1496
msgid "Final DNS server"
msgstr "兜底 DNS 伺服器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1486
+#: htdocs/luci-static/resources/view/fchomo/client.js:1498
msgid "Final DNS server (For non-poisoned domains)"
msgstr "兜底 DNS 伺服器 (用於未被投毒汙染的網域)"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1488
+#: htdocs/luci-static/resources/view/fchomo/client.js:1500
msgid "Final DNS server (For poisoned domains)"
msgstr "兜底 DNS 伺服器 (用於已被投毒汙染的網域)"
#: htdocs/luci-static/resources/fchomo/listeners.js:138
+#: htdocs/luci-static/resources/view/fchomo/node.js:1487
msgid "Firewall"
msgstr "防火牆"
#: htdocs/luci-static/resources/fchomo/listeners.js:401
-#: htdocs/luci-static/resources/view/fchomo/node.js:519
+#: htdocs/luci-static/resources/view/fchomo/node.js:533
msgid "Flow"
msgstr "流控"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1227
+#: htdocs/luci-static/resources/view/fchomo/client.js:1239
msgid ""
"For details, see %s."
@@ -1204,10 +1281,10 @@ msgstr ""
"實作細節請參閱 %s."
-#: htdocs/luci-static/resources/view/fchomo/client.js:1187
-#: htdocs/luci-static/resources/view/fchomo/node.js:2005
-#: htdocs/luci-static/resources/view/fchomo/node.js:2013
-#: htdocs/luci-static/resources/view/fchomo/node.js:2144
+#: htdocs/luci-static/resources/view/fchomo/client.js:1199
+#: htdocs/luci-static/resources/view/fchomo/node.js:2285
+#: htdocs/luci-static/resources/view/fchomo/node.js:2293
+#: htdocs/luci-static/resources/view/fchomo/node.js:2424
msgid ""
"For format see %s."
@@ -1215,8 +1292,11 @@ msgstr ""
"格式請參閱 %s"
"a>."
-#: htdocs/luci-static/resources/view/fchomo/node.js:847
-#: htdocs/luci-static/resources/view/fchomo/node.js:914
+#: htdocs/luci-static/resources/view/fchomo/node.js:843
+msgid "Force"
+msgstr "強制"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1646
msgid "Force DNS remote resolution."
msgstr "強制 DNS 遠端解析。"
@@ -1228,7 +1308,7 @@ msgstr "強制嗅探網域"
msgid "Format"
msgstr "格式"
-#: htdocs/luci-static/resources/fchomo/listeners.js:767
+#: htdocs/luci-static/resources/fchomo/listeners.js:769
msgid "Forwarding rate limit"
msgstr "轉發速率限制"
@@ -1239,7 +1319,7 @@ msgstr "轉發速率限制"
msgid "FullCombo Shark!"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1437
+#: htdocs/luci-static/resources/view/fchomo/node.js:1717
msgid "GET"
msgstr ""
@@ -1248,7 +1328,7 @@ msgid "GFW list version"
msgstr "GFW 網域清單版本"
#: htdocs/luci-static/resources/fchomo/listeners.js:487
-#: htdocs/luci-static/resources/view/fchomo/node.js:698
+#: htdocs/luci-static/resources/view/fchomo/node.js:712
msgid "Gecko"
msgstr ""
@@ -1257,9 +1337,9 @@ msgid "General"
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:236
-#: htdocs/luci-static/resources/view/fchomo/node.js:1815
+#: htdocs/luci-static/resources/view/fchomo/client.js:1054
+#: htdocs/luci-static/resources/view/fchomo/node.js:249
+#: htdocs/luci-static/resources/view/fchomo/node.js:2095
msgid "General fields"
msgstr "常規欄位"
@@ -1267,17 +1347,17 @@ msgstr "常規欄位"
msgid "General settings"
msgstr "常規設定"
-#: htdocs/luci-static/resources/fchomo.js:580
#: htdocs/luci-static/resources/fchomo.js:582
-#: htdocs/luci-static/resources/fchomo.js:596
+#: htdocs/luci-static/resources/fchomo.js:584
#: htdocs/luci-static/resources/fchomo.js:598
+#: htdocs/luci-static/resources/fchomo.js:600
#: 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:953
-#: htdocs/luci-static/resources/fchomo/listeners.js:1224
+#: htdocs/luci-static/resources/fchomo/listeners.js:949
+#: htdocs/luci-static/resources/fchomo/listeners.js:1214
#: htdocs/luci-static/resources/view/fchomo/global.js:608
-#: htdocs/luci-static/resources/view/fchomo/node.js:1973
+#: htdocs/luci-static/resources/view/fchomo/node.js:2253
msgid "Generate"
msgstr "生成"
@@ -1293,17 +1373,17 @@ msgstr "GeoIP 版本"
msgid "GeoSite version"
msgstr "GeoSite 版本"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1895
+#: htdocs/luci-static/resources/view/fchomo/client.js:1907
msgid "Geoip code"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1892
+#: htdocs/luci-static/resources/view/fchomo/client.js:1904
msgid "Geoip enable"
msgstr "Geoip 啟用"
-#: htdocs/luci-static/resources/view/fchomo/client.js:865
-#: htdocs/luci-static/resources/view/fchomo/client.js:874
-#: htdocs/luci-static/resources/view/fchomo/client.js:1904
+#: htdocs/luci-static/resources/view/fchomo/client.js:877
+#: htdocs/luci-static/resources/view/fchomo/client.js:886
+#: htdocs/luci-static/resources/view/fchomo/client.js:1916
msgid "Geosite"
msgstr ""
@@ -1324,7 +1404,7 @@ msgstr "全域"
msgid "Global Authentication"
msgstr "全域認證"
-#: htdocs/luci-static/resources/view/fchomo/node.js:543
+#: htdocs/luci-static/resources/view/fchomo/node.js:557
msgid "Global padding"
msgstr "全域填充"
@@ -1332,7 +1412,7 @@ msgstr "全域填充"
msgid "Google"
msgstr "Google"
-#: htdocs/luci-static/resources/fchomo.js:256
+#: htdocs/luci-static/resources/fchomo.js:258
msgid "Google FCM"
msgstr ""
@@ -1340,58 +1420,58 @@ msgstr ""
msgid "Grant access to fchomo configuration"
msgstr "授予 fchomo 存取 UCI 配置的權限"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1067
+#: htdocs/luci-static/resources/view/fchomo/client.js:1079
msgid "Group"
msgstr "組"
#: htdocs/luci-static/resources/fchomo.js:154
#: htdocs/luci-static/resources/fchomo.js:191
-#: htdocs/luci-static/resources/fchomo/listeners.js:703
-#: htdocs/luci-static/resources/view/fchomo/node.js:1034
-#: htdocs/luci-static/resources/view/fchomo/node.js:1384
-#: htdocs/luci-static/resources/view/fchomo/node.js:1397
-#: htdocs/luci-static/resources/view/fchomo/node.js:1404
+#: htdocs/luci-static/resources/fchomo/listeners.js:702
+#: htdocs/luci-static/resources/view/fchomo/node.js:1141
+#: htdocs/luci-static/resources/view/fchomo/node.js:1664
+#: htdocs/luci-static/resources/view/fchomo/node.js:1677
+#: htdocs/luci-static/resources/view/fchomo/node.js:1684
msgid "HTTP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:316
-#: htdocs/luci-static/resources/view/fchomo/node.js:1459
-#: htdocs/luci-static/resources/view/fchomo/node.js:1985
+#: htdocs/luci-static/resources/view/fchomo/node.js:330
+#: htdocs/luci-static/resources/view/fchomo/node.js:1739
+#: htdocs/luci-static/resources/view/fchomo/node.js:2265
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:419
msgid "HTTP header"
msgstr "HTTP header"
#: htdocs/luci-static/resources/fchomo/listeners.js:351
-#: htdocs/luci-static/resources/view/fchomo/node.js:440
+#: htdocs/luci-static/resources/view/fchomo/node.js:454
msgid "HTTP mask"
msgstr "HTTP 偽裝"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:459
+#: htdocs/luci-static/resources/view/fchomo/node.js:494
+#: htdocs/luci-static/resources/view/fchomo/node.js:496
msgid "HTTP mask mode"
msgstr "HTTP 偽裝模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:470
+#: htdocs/luci-static/resources/view/fchomo/node.js:484
msgid "HTTP mask multiplex"
msgstr "HTTP 偽裝多路復用"
-#: htdocs/luci-static/resources/view/fchomo/node.js:455
-#: htdocs/luci-static/resources/view/fchomo/node.js:460
+#: htdocs/luci-static/resources/view/fchomo/node.js:469
+#: htdocs/luci-static/resources/view/fchomo/node.js:474
msgid "HTTP mask: %s"
msgstr "HTTP 偽裝: %s"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1436
+#: htdocs/luci-static/resources/view/fchomo/node.js:1716
msgid "HTTP request method"
msgstr "HTTP 請求方法"
#: htdocs/luci-static/resources/fchomo/listeners.js:366
-#: htdocs/luci-static/resources/view/fchomo/node.js:466
+#: htdocs/luci-static/resources/view/fchomo/node.js:480
msgid "HTTP root path"
msgstr "HTTP 根路徑"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1651
+#: htdocs/luci-static/resources/view/fchomo/client.js:1663
msgid "HTTP/3"
msgstr ""
@@ -1401,9 +1481,9 @@ msgid ""
"returned if empty."
msgstr "身份驗證失敗時的 HTTP3 伺服器回應。預設回傳 404 頁面。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1385
-#: htdocs/luci-static/resources/view/fchomo/node.js:1398
-#: htdocs/luci-static/resources/view/fchomo/node.js:1405
+#: htdocs/luci-static/resources/view/fchomo/node.js:1665
+#: htdocs/luci-static/resources/view/fchomo/node.js:1678
+#: htdocs/luci-static/resources/view/fchomo/node.js:1685
msgid "HTTPUpgrade"
msgstr ""
@@ -1411,20 +1491,20 @@ msgstr ""
msgid "Handle domain"
msgstr "處理網域"
-#: htdocs/luci-static/resources/view/fchomo/node.js:362
+#: htdocs/luci-static/resources/view/fchomo/node.js:376
msgid "Handshake mode"
msgstr "握手模式"
-#: htdocs/luci-static/resources/fchomo/listeners.js:750
+#: htdocs/luci-static/resources/fchomo/listeners.js:752
msgid "Handshake target proxy"
msgstr "握手目標代理"
-#: htdocs/luci-static/resources/fchomo/listeners.js:715
+#: htdocs/luci-static/resources/fchomo/listeners.js:707
msgid "Handshake target that supports TLS 1.3"
msgstr "握手目標 (支援 TLS 1.3)"
#: htdocs/luci-static/resources/fchomo/listeners.js:338
-#: htdocs/luci-static/resources/view/fchomo/node.js:969
+#: htdocs/luci-static/resources/view/fchomo/node.js:1076
msgid "Handshake timeout"
msgstr "握手逾時"
@@ -1432,63 +1512,66 @@ msgstr "握手逾時"
msgid "Header to read real client IP from (e.g. X-Forwarded-For)"
msgstr "用於讀取客戶端真實 IP 的 Header(例如 X-Forwarded-For)"
-#: htdocs/luci-static/resources/view/fchomo/node.js:775
+#: htdocs/luci-static/resources/view/fchomo/node.js:962
+msgid "Headscale/Tailscale"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:788
msgid "Health check"
msgstr "健康檢查"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1156
-#: htdocs/luci-static/resources/view/fchomo/node.js:2112
+#: htdocs/luci-static/resources/view/fchomo/client.js:1168
+#: htdocs/luci-static/resources/view/fchomo/node.js:2392
msgid "Health check URL"
msgstr "健康檢查 URL"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1185
-#: htdocs/luci-static/resources/view/fchomo/node.js:2142
+#: htdocs/luci-static/resources/view/fchomo/client.js:1197
+#: htdocs/luci-static/resources/view/fchomo/node.js:2422
msgid "Health check expected status"
msgstr "健康檢查预期状态"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1165
-#: htdocs/luci-static/resources/view/fchomo/node.js:2122
+#: htdocs/luci-static/resources/view/fchomo/client.js:1177
+#: htdocs/luci-static/resources/view/fchomo/node.js:2402
msgid "Health check interval"
msgstr "健康檢查間隔"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1172
-#: htdocs/luci-static/resources/view/fchomo/node.js:2129
+#: htdocs/luci-static/resources/view/fchomo/client.js:1184
+#: htdocs/luci-static/resources/view/fchomo/node.js:2409
msgid "Health check timeout"
msgstr "健康檢查逾時"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1044
-#: htdocs/luci-static/resources/view/fchomo/node.js:1817
+#: htdocs/luci-static/resources/view/fchomo/client.js:1056
+#: htdocs/luci-static/resources/view/fchomo/node.js:2097
msgid "Health fields"
msgstr "健康欄位"
-#: htdocs/luci-static/resources/view/fchomo/node.js:656
-#: htdocs/luci-static/resources/view/fchomo/node.js:738
+#: htdocs/luci-static/resources/view/fchomo/node.js:670
+#: htdocs/luci-static/resources/view/fchomo/node.js:751
msgid "Heartbeat interval"
msgstr "心跳間隔"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1253
+#: htdocs/luci-static/resources/view/fchomo/client.js:1265
msgid "Hidden"
msgstr "隱藏"
-#: htdocs/luci-static/resources/fchomo/listeners.js:708
-#: htdocs/luci-static/resources/view/fchomo/node.js:1039
+#: htdocs/luci-static/resources/fchomo/listeners.js:715
+#: htdocs/luci-static/resources/view/fchomo/node.js:1146
msgid "Host that supports TLS 1.3"
msgstr "主機名稱 (支援 TLS 1.3)"
-#: htdocs/luci-static/resources/view/fchomo/node.js:939
+#: htdocs/luci-static/resources/view/fchomo/node.js:1045
msgid "Host-key"
msgstr "主機金鑰"
-#: htdocs/luci-static/resources/view/fchomo/node.js:934
+#: htdocs/luci-static/resources/view/fchomo/node.js:1040
msgid "Host-key algorithms"
msgstr "主機金鑰演算法"
-#: htdocs/luci-static/resources/view/fchomo/node.js:460
+#: htdocs/luci-static/resources/view/fchomo/node.js:474
msgid "Host/SNI override"
msgstr "主機/SNI 覆蓋"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1068
-#: htdocs/luci-static/resources/view/fchomo/node.js:1208
+#: htdocs/luci-static/resources/view/fchomo/node.js:1318
msgid ""
"Hostname that the client attempts to connect to at the start of the TLS "
"handshake process."
@@ -1509,58 +1592,74 @@ msgid "Hysteria2 Realm Server"
msgstr "Hysteria2 Realm 伺服器"
#: htdocs/luci-static/resources/fchomo/listeners.js:122
-#: htdocs/luci-static/resources/view/fchomo/node.js:239
+#: htdocs/luci-static/resources/view/fchomo/node.js:252
msgid "Hysteria2 Realm fields"
msgstr "Hysteria2 Realm 欄位"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1897
-#: htdocs/luci-static/resources/view/fchomo/client.js:1911
+#: htdocs/luci-static/resources/view/fchomo/client.js:1909
+#: htdocs/luci-static/resources/view/fchomo/client.js:1923
msgid "IP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1909
+#: htdocs/luci-static/resources/view/fchomo/client.js:1921
msgid "IP CIDR"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:613
+#: htdocs/luci-static/resources/view/fchomo/node.js:627
msgid "IP override"
msgstr "IP 覆寫"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1679
-#: htdocs/luci-static/resources/view/fchomo/node.js:2098
+#: htdocs/luci-static/resources/view/fchomo/node.js:893
+msgid "IP stack"
+msgstr "IP 協定棧"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1959
+#: htdocs/luci-static/resources/view/fchomo/node.js:2378
msgid "IP version"
msgstr "IP 版本"
+#: htdocs/luci-static/resources/view/fchomo/node.js:1569
+#: htdocs/luci-static/resources/view/fchomo/node.js:1579
+#: htdocs/luci-static/resources/view/fchomo/node.js:1583
+msgid "IPv4"
+msgstr "IPv4"
+
#: htdocs/luci-static/resources/fchomo.js:176
msgid "IPv4 only"
msgstr "僅 IPv4"
+#: htdocs/luci-static/resources/view/fchomo/node.js:1595
+#: htdocs/luci-static/resources/view/fchomo/node.js:1604
+#: htdocs/luci-static/resources/view/fchomo/node.js:1608
+msgid "IPv6"
+msgstr "IPv6"
+
#: htdocs/luci-static/resources/fchomo.js:177
msgid "IPv6 only"
msgstr "僅 IPv6"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1467
+#: htdocs/luci-static/resources/view/fchomo/client.js:1479
#: htdocs/luci-static/resources/view/fchomo/global.js:436
msgid "IPv6 support"
msgstr "IPv6 支援"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1259
+#: htdocs/luci-static/resources/view/fchomo/client.js:1271
msgid "Icon"
msgstr "圖標"
-#: htdocs/luci-static/resources/view/fchomo/node.js:586
+#: htdocs/luci-static/resources/view/fchomo/node.js:600
msgid "Idle session check interval"
msgstr "閒置會話檢查間隔"
-#: htdocs/luci-static/resources/view/fchomo/node.js:593
+#: htdocs/luci-static/resources/view/fchomo/node.js:607
msgid "Idle session timeout"
msgstr "閒置會話逾時"
-#: htdocs/luci-static/resources/fchomo/listeners.js:648
+#: htdocs/luci-static/resources/fchomo/listeners.js:647
msgid "Idle timeout"
msgstr "閒置逾時"
-#: htdocs/luci-static/resources/fchomo.js:1804
+#: htdocs/luci-static/resources/fchomo.js:1806
msgid "If All ports is selected, uncheck others"
msgstr "如果選擇了“所有連接埠”,則取消選取“其他”"
@@ -1572,24 +1671,24 @@ msgstr "如果選擇了“封鎖”,則取消選取“其他”"
msgid "Ignore client bandwidth"
msgstr "忽略客戶端頻寬"
-#: htdocs/luci-static/resources/fchomo.js:765
+#: htdocs/luci-static/resources/fchomo.js:767
msgid "Import"
msgstr "導入"
-#: htdocs/luci-static/resources/view/fchomo/client.js:979
-#: htdocs/luci-static/resources/view/fchomo/client.js:1036
-#: htdocs/luci-static/resources/view/fchomo/client.js:1282
-#: htdocs/luci-static/resources/view/fchomo/client.js:1333
-#: htdocs/luci-static/resources/view/fchomo/client.js:1404
-#: htdocs/luci-static/resources/view/fchomo/client.js:1428
-#: htdocs/luci-static/resources/view/fchomo/client.js:1532
-#: htdocs/luci-static/resources/view/fchomo/client.js:1570
-#: htdocs/luci-static/resources/view/fchomo/client.js:1787
-#: htdocs/luci-static/resources/view/fchomo/client.js:1804
-#: htdocs/luci-static/resources/view/fchomo/client.js:1839
-#: htdocs/luci-static/resources/view/fchomo/client.js:1860
-#: htdocs/luci-static/resources/view/fchomo/node.js:1705
-#: htdocs/luci-static/resources/view/fchomo/node.js:1803
+#: htdocs/luci-static/resources/view/fchomo/client.js:991
+#: htdocs/luci-static/resources/view/fchomo/client.js:1048
+#: htdocs/luci-static/resources/view/fchomo/client.js:1294
+#: htdocs/luci-static/resources/view/fchomo/client.js:1345
+#: htdocs/luci-static/resources/view/fchomo/client.js:1416
+#: htdocs/luci-static/resources/view/fchomo/client.js:1440
+#: htdocs/luci-static/resources/view/fchomo/client.js:1544
+#: htdocs/luci-static/resources/view/fchomo/client.js:1582
+#: htdocs/luci-static/resources/view/fchomo/client.js:1799
+#: htdocs/luci-static/resources/view/fchomo/client.js:1816
+#: htdocs/luci-static/resources/view/fchomo/client.js:1851
+#: htdocs/luci-static/resources/view/fchomo/client.js:1872
+#: htdocs/luci-static/resources/view/fchomo/node.js:1985
+#: htdocs/luci-static/resources/view/fchomo/node.js:2083
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:154
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:249
msgid "Import mihomo config"
@@ -1603,66 +1702,66 @@ msgstr "導入規則集連結"
#: htdocs/luci-static/resources/fchomo/listeners.js:466
#: htdocs/luci-static/resources/fchomo/listeners.js:472
-#: htdocs/luci-static/resources/view/fchomo/node.js:672
-#: htdocs/luci-static/resources/view/fchomo/node.js:678
-#: htdocs/luci-static/resources/view/fchomo/node.js:2050
-#: htdocs/luci-static/resources/view/fchomo/node.js:2056
+#: htdocs/luci-static/resources/view/fchomo/node.js:686
+#: htdocs/luci-static/resources/view/fchomo/node.js:692
+#: htdocs/luci-static/resources/view/fchomo/node.js:2330
+#: htdocs/luci-static/resources/view/fchomo/node.js:2336
msgid "In Mbps."
msgstr "單位為 Mbps。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:768
+#: htdocs/luci-static/resources/fchomo/listeners.js:770
msgid "In bps. 0 means no speed limit."
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1893
+#: htdocs/luci-static/resources/view/fchomo/node.js:2173
#: 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:657
-#: htdocs/luci-static/resources/view/fchomo/node.js:664
-#: htdocs/luci-static/resources/view/fchomo/node.js:739
+#: htdocs/luci-static/resources/view/fchomo/node.js:671
+#: htdocs/luci-static/resources/view/fchomo/node.js:678
+#: htdocs/luci-static/resources/view/fchomo/node.js:752
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:2130
+#: htdocs/luci-static/resources/view/fchomo/client.js:1185
+#: htdocs/luci-static/resources/view/fchomo/client.js:1231
+#: htdocs/luci-static/resources/view/fchomo/node.js:2410
msgid "In millisecond. %s will be used if empty."
msgstr "單位為毫秒。留空則使用 %s。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1528
+#: htdocs/luci-static/resources/view/fchomo/node.js:1808
msgid "In milliseconds."
msgstr "單位為毫秒。"
#: htdocs/luci-static/resources/fchomo/listeners.js:339
#: htdocs/luci-static/resources/fchomo/listeners.js:458
-#: htdocs/luci-static/resources/fchomo/listeners.js:649
-#: 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:1475
+#: htdocs/luci-static/resources/fchomo/listeners.js:648
+#: htdocs/luci-static/resources/view/fchomo/node.js:601
+#: htdocs/luci-static/resources/view/fchomo/node.js:608
+#: htdocs/luci-static/resources/view/fchomo/node.js:1755
msgid "In seconds."
msgstr "單位為秒。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1166
+#: htdocs/luci-static/resources/view/fchomo/client.js:1178
#: 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:690
-#: htdocs/luci-static/resources/view/fchomo/node.js:1899
-#: htdocs/luci-static/resources/view/fchomo/node.js:2123
+#: htdocs/luci-static/resources/view/fchomo/node.js:704
+#: htdocs/luci-static/resources/view/fchomo/node.js:2179
+#: htdocs/luci-static/resources/view/fchomo/node.js:2403
#: 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:970
+#: htdocs/luci-static/resources/view/fchomo/node.js:1077
msgid ""
"In seconds. After configuration, the handshake is not affected by the outer "
"connection timeout."
msgstr "單位為秒。配置後握手時不受外層連線逾時影響。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:869
-#: htdocs/luci-static/resources/view/fchomo/node.js:1128
+#: htdocs/luci-static/resources/fchomo/listeners.js:865
+#: htdocs/luci-static/resources/view/fchomo/node.js:1238
msgid ""
"In the order of one Padding-Length and one Padding-"
"Interval, infinite concatenation."
@@ -1676,27 +1775,27 @@ msgstr ""
msgid "Inbound"
msgstr "入站"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1120
+#: htdocs/luci-static/resources/view/fchomo/client.js:1132
msgid "Include all"
msgstr "引入所有"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1125
+#: htdocs/luci-static/resources/view/fchomo/client.js:1137
msgid "Include all node"
msgstr "引入所有節點"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1130
+#: htdocs/luci-static/resources/view/fchomo/client.js:1142
msgid "Include all provider"
msgstr "引入所有供應商"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1131
+#: htdocs/luci-static/resources/view/fchomo/client.js:1143
msgid "Includes all Provider."
msgstr "引入所有供應商。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1121
+#: htdocs/luci-static/resources/view/fchomo/client.js:1133
msgid "Includes all Proxy Node and Provider."
msgstr "引入所有代理節點及供應商。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1126
+#: htdocs/luci-static/resources/view/fchomo/client.js:1138
msgid "Includes all Proxy Node."
msgstr "引入所有代理節點。"
@@ -1704,87 +1803,100 @@ msgstr "引入所有代理節點。"
msgid "Info"
msgstr "訊息"
-#: htdocs/luci-static/resources/fchomo/listeners.js:558
-#: htdocs/luci-static/resources/view/fchomo/node.js:745
+#: htdocs/luci-static/resources/fchomo/listeners.js:557
+#: htdocs/luci-static/resources/view/fchomo/node.js:758
msgid "Initial congestion window size"
msgstr "初始擁塞視窗大小"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1832
+#: htdocs/luci-static/resources/view/fchomo/node.js:2112
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:288
msgid "Inline"
msgstr "內嵌"
+#: htdocs/luci-static/resources/view/fchomo/node.js:818
+msgid "Insane"
+msgstr "噩夢"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:751
msgid "Interface Control"
msgstr "介面控制"
-#: htdocs/luci-static/resources/fchomo/listeners.js:678
-#: htdocs/luci-static/resources/fchomo/listeners.js:688
-#: htdocs/luci-static/resources/fchomo/listeners.js:693
-#: htdocs/luci-static/resources/fchomo/listeners.js:1132
-#: htdocs/luci-static/resources/fchomo/listeners.js:1248
-#: htdocs/luci-static/resources/view/fchomo/node.js:1009
-#: htdocs/luci-static/resources/view/fchomo/node.js:1019
-#: htdocs/luci-static/resources/view/fchomo/node.js:1024
-#: htdocs/luci-static/resources/view/fchomo/node.js:1351
+#: htdocs/luci-static/resources/fchomo/listeners.js:677
+#: htdocs/luci-static/resources/fchomo/listeners.js:687
+#: htdocs/luci-static/resources/fchomo/listeners.js:692
+#: htdocs/luci-static/resources/fchomo/listeners.js:1122
+#: htdocs/luci-static/resources/fchomo/listeners.js:1238
+#: htdocs/luci-static/resources/view/fchomo/node.js:1116
+#: htdocs/luci-static/resources/view/fchomo/node.js:1126
+#: htdocs/luci-static/resources/view/fchomo/node.js:1131
+#: htdocs/luci-static/resources/view/fchomo/node.js:1461
msgid "JLS"
msgstr "JLS"
+#: htdocs/luci-static/resources/view/fchomo/node.js:879
+msgid "Join %s. Format: %s"
+msgstr "加入 %s。格式:%s"
+
#: htdocs/luci-static/resources/fchomo.js:53
#: htdocs/luci-static/resources/fchomo.js:60
#: htdocs/luci-static/resources/fchomo.js:174
-#: htdocs/luci-static/resources/fchomo.js:379
-#: htdocs/luci-static/resources/view/fchomo/node.js:2072
+#: htdocs/luci-static/resources/fchomo.js:381
+#: htdocs/luci-static/resources/view/fchomo/node.js:894
+#: htdocs/luci-static/resources/view/fchomo/node.js:2352
msgid "Keep default"
msgstr "保持預設"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1564
+#: htdocs/luci-static/resources/view/fchomo/node.js:1844
msgid "Keep-alive period"
msgstr "Keep-alive 週期"
#: htdocs/luci-static/resources/fchomo/listeners.js:217
-#: htdocs/luci-static/resources/view/fchomo/node.js:376
+#: htdocs/luci-static/resources/view/fchomo/node.js:390
msgid "Key"
msgstr "密鑰"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1151
-#: htdocs/luci-static/resources/view/fchomo/node.js:1301
+#: htdocs/luci-static/resources/fchomo/listeners.js:1141
+#: htdocs/luci-static/resources/view/fchomo/node.js:1411
msgid "Key path"
msgstr "憑證路徑"
-#: htdocs/luci-static/resources/fchomo/listeners.js:888
+#: htdocs/luci-static/resources/fchomo/listeners.js:884
msgid "Keypairs"
msgstr "密鑰對"
+#: htdocs/luci-static/resources/fchomo.js:207
+msgid "L2"
+msgstr "L2"
+
#: 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:245
-#: htdocs/luci-static/resources/view/fchomo/node.js:1820
-#: htdocs/luci-static/resources/view/fchomo/node.js:2191
+#: htdocs/luci-static/resources/view/fchomo/client.js:1059
+#: htdocs/luci-static/resources/view/fchomo/client.js:1351
+#: htdocs/luci-static/resources/view/fchomo/client.js:1446
+#: htdocs/luci-static/resources/view/fchomo/client.js:1588
+#: htdocs/luci-static/resources/view/fchomo/client.js:1822
+#: htdocs/luci-static/resources/view/fchomo/client.js:1878
+#: htdocs/luci-static/resources/view/fchomo/node.js:259
+#: htdocs/luci-static/resources/view/fchomo/node.js:2100
+#: htdocs/luci-static/resources/view/fchomo/node.js:2471
#: 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:2136
+#: htdocs/luci-static/resources/view/fchomo/client.js:1191
+#: htdocs/luci-static/resources/view/fchomo/node.js:2416
msgid "Lazy"
msgstr "怠惰狀態"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1918
+#: htdocs/luci-static/resources/view/fchomo/client.js:1930
msgid "Lazy query"
msgstr "怠惰查詢"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1919
+#: htdocs/luci-static/resources/view/fchomo/client.js:1931
msgid "Lazy query."
msgstr "怠惰查詢。"
#: htdocs/luci-static/resources/fchomo/listeners.js:358
-#: htdocs/luci-static/resources/view/fchomo/node.js:447
+#: htdocs/luci-static/resources/view/fchomo/node.js:461
msgid "Legacy"
msgstr "傳統"
@@ -1800,8 +1912,8 @@ msgstr ""
msgid "Less compatibility and sometimes better performance."
msgstr "有時效能較好。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1074
-#: htdocs/luci-static/resources/view/fchomo/node.js:1214
+#: htdocs/luci-static/resources/fchomo/listeners.js:1064
+#: htdocs/luci-static/resources/view/fchomo/node.js:1324
msgid "List of supported application level protocols, in order of preference."
msgstr "支援的應用層協議協商清單,依序排列。"
@@ -1818,7 +1930,9 @@ msgid "Listen interfaces"
msgstr "監聽介面"
#: htdocs/luci-static/resources/fchomo/listeners.js:154
-#: htdocs/luci-static/resources/view/fchomo/client.js:1459
+#: htdocs/luci-static/resources/view/fchomo/client.js:1471
+#: htdocs/luci-static/resources/view/fchomo/node.js:1507
+#: htdocs/luci-static/resources/view/fchomo/node.js:1537
msgid "Listen port"
msgstr "監聽埠"
@@ -1826,29 +1940,19 @@ msgstr "監聽埠"
msgid "Listen ports"
msgstr "監聽埠"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1464
+#: htdocs/luci-static/resources/view/fchomo/client.js:1476
msgid "Listen routing mark (Fwmark)"
msgstr "監聽路由標記 (Fwmark)"
-#: htdocs/luci-static/resources/fchomo.js:246
+#: htdocs/luci-static/resources/fchomo.js:248
msgid "Load balance"
msgstr "負載均衡"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1830
+#: htdocs/luci-static/resources/view/fchomo/node.js:2110
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:286
msgid "Local"
msgstr "本地"
-#: htdocs/luci-static/resources/view/fchomo/node.js:794
-#: htdocs/luci-static/resources/view/fchomo/node.js:881
-msgid "Virtual IPv6 address"
-msgstr "虛擬 IPv6 位址"
-
-#: htdocs/luci-static/resources/view/fchomo/node.js:786
-#: htdocs/luci-static/resources/view/fchomo/node.js:873
-msgid "Virtual address"
-msgstr "虛擬位址"
-
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:70
msgid "Log"
msgstr "日誌"
@@ -1865,28 +1969,31 @@ msgstr "日誌為空。"
msgid "Log level"
msgstr "日誌等級"
+#: htdocs/luci-static/resources/view/fchomo/node.js:829
+msgid "Low Bandwidth Mode"
+msgstr "低頻寬模式"
+
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:414
+#: htdocs/luci-static/resources/view/fchomo/node.js:415
+#: htdocs/luci-static/resources/view/fchomo/node.js:416
+#: htdocs/luci-static/resources/view/fchomo/node.js:421
msgid "Low-entropy data stream"
msgstr "低熵資料流"
-#: htdocs/luci-static/resources/fchomo.js:454
+#: htdocs/luci-static/resources/fchomo.js:456
msgid "Lowercase only"
msgstr "僅限小寫"
#: htdocs/luci-static/resources/view/fchomo/global.js:523
-#: htdocs/luci-static/resources/view/fchomo/node.js:840
-#: htdocs/luci-static/resources/view/fchomo/node.js:887
+#: htdocs/luci-static/resources/view/fchomo/node.js:1618
msgid "MTU"
msgstr "MTU"
-#: htdocs/luci-static/resources/fchomo.js:208
+#: htdocs/luci-static/resources/fchomo.js:210
msgid "Masque"
msgstr ""
@@ -1894,75 +2001,75 @@ msgstr ""
msgid "Masquerade"
msgstr "偽裝"
-#: htdocs/luci-static/resources/view/fchomo/client.js:870
+#: htdocs/luci-static/resources/view/fchomo/client.js:882
msgid "Match domain. Support wildcards."
msgstr "匹配網域。支援通配符。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1915
+#: htdocs/luci-static/resources/view/fchomo/client.js:1927
msgid "Match domain. Support wildcards."
msgstr "匹配網域。支援通配符。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:875
+#: htdocs/luci-static/resources/view/fchomo/client.js:887
msgid "Match geosite."
msgstr "匹配 geosite。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1905
+#: htdocs/luci-static/resources/view/fchomo/client.js:1917
msgid "Match geosite."
msgstr "匹配 geosite。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1896
+#: htdocs/luci-static/resources/view/fchomo/client.js:1908
msgid "Match response with geoip."
msgstr "匹配回應通過 geoip。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1910
+#: htdocs/luci-static/resources/view/fchomo/client.js:1922
msgid "Match response with ipcidr."
msgstr "匹配回應通過 ipcidr"
-#: htdocs/luci-static/resources/view/fchomo/client.js:880
+#: htdocs/luci-static/resources/view/fchomo/client.js:892
msgid "Match rule set."
msgstr "匹配規則集。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1481
+#: htdocs/luci-static/resources/view/fchomo/node.js:1761
msgid "Max Early Data"
msgstr "前置數據最大值"
#: htdocs/luci-static/resources/fchomo/listeners.js:451
-#: htdocs/luci-static/resources/view/fchomo/node.js:638
+#: htdocs/luci-static/resources/view/fchomo/node.js:652
msgid "Max UDP relay packet size"
msgstr "UDP 中繼數據包最大尺寸"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1365
+#: htdocs/luci-static/resources/fchomo/listeners.js:1355
msgid "Max buffered posts"
msgstr "POST 最大緩衝"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1539
+#: htdocs/luci-static/resources/view/fchomo/node.js:1819
msgid "Max concurrency"
msgstr "最大並發"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1544
+#: htdocs/luci-static/resources/view/fchomo/node.js:1824
msgid "Max connections"
msgstr "最大連線數"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1193
+#: htdocs/luci-static/resources/view/fchomo/client.js:1205
msgid "Max count of failures"
msgstr "最大失敗次數"
-#: htdocs/luci-static/resources/fchomo/listeners.js:564
-#: htdocs/luci-static/resources/view/fchomo/node.js:751
+#: htdocs/luci-static/resources/fchomo/listeners.js:563
+#: htdocs/luci-static/resources/view/fchomo/node.js:764
msgid "Max datagram frame size"
msgstr "最大資料封包大小"
#: htdocs/luci-static/resources/fchomo/listeners.js:471
-#: htdocs/luci-static/resources/view/fchomo/node.js:677
+#: htdocs/luci-static/resources/view/fchomo/node.js:691
msgid "Max download speed"
msgstr "最大下載速度"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1376
-#: htdocs/luci-static/resources/view/fchomo/node.js:1521
+#: htdocs/luci-static/resources/fchomo/listeners.js:1366
+#: htdocs/luci-static/resources/view/fchomo/node.js:1801
msgid "Max each POST bytes"
msgstr "POST 最大位元組數"
-#: htdocs/luci-static/resources/view/fchomo/node.js:963
+#: htdocs/luci-static/resources/view/fchomo/node.js:1070
msgid "Max open streams"
msgstr "限制打開流的數量"
@@ -1974,29 +2081,29 @@ msgstr "最大 Realms 數量"
msgid "Max realms per client IP"
msgstr "每客戶端 IP 最大 Realms 數量"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1554
+#: htdocs/luci-static/resources/view/fchomo/node.js:1834
msgid "Max request times"
msgstr "最大請求次數"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1559
+#: htdocs/luci-static/resources/view/fchomo/node.js:1839
msgid "Max reusable seconds"
msgstr "最大可重用秒數"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1549
+#: htdocs/luci-static/resources/view/fchomo/node.js:1829
msgid "Max reuse times"
msgstr "最大重用次數"
#: htdocs/luci-static/resources/fchomo/listeners.js:465
-#: htdocs/luci-static/resources/view/fchomo/node.js:671
+#: htdocs/luci-static/resources/view/fchomo/node.js:685
msgid "Max upload speed"
msgstr "最大上傳速度"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1585
-#: htdocs/luci-static/resources/view/fchomo/node.js:1605
+#: htdocs/luci-static/resources/view/fchomo/node.js:1865
+#: htdocs/luci-static/resources/view/fchomo/node.js:1885
msgid "Maximum connections"
msgstr "最大連線數"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1603
+#: htdocs/luci-static/resources/view/fchomo/node.js:1883
msgid ""
"Maximum multiplexed streams in a connection before opening a new connection."
"
Conflict with %s and %s."
@@ -2005,18 +2112,18 @@ msgstr ""
"%s 衝突。"
#: htdocs/luci-static/resources/fchomo/listeners.js:323
-#: htdocs/luci-static/resources/view/fchomo/node.js:419
+#: htdocs/luci-static/resources/view/fchomo/node.js:433
msgid "Maximum padding rate"
msgstr "最大填充率"
#: htdocs/luci-static/resources/fchomo/listeners.js:331
-#: htdocs/luci-static/resources/view/fchomo/node.js:427
+#: htdocs/luci-static/resources/view/fchomo/node.js:441
msgid ""
"Maximum padding rate must be greater than or equal to the minimum padding "
"rate."
msgstr "最大填充率必須大於等于最小填充率。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1602
+#: htdocs/luci-static/resources/view/fchomo/node.js:1882
msgid "Maximum streams"
msgstr "最大流數量"
@@ -2025,7 +2132,7 @@ msgstr "最大流數量"
msgid "Mieru"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:934
+#: htdocs/luci-static/resources/view/fchomo/client.js:946
#: htdocs/luci-static/resources/view/fchomo/log.js:149
#: htdocs/luci-static/resources/view/fchomo/log.js:154
msgid "Mihomo client"
@@ -2037,26 +2144,26 @@ msgstr "Mihomo 客戶端"
msgid "Mihomo server"
msgstr "Mihomo 服務端"
-#: htdocs/luci-static/resources/view/fchomo/node.js:600
+#: htdocs/luci-static/resources/view/fchomo/node.js:614
msgid "Min of idle sessions to keep"
msgstr "要保留的最少閒置會話數"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1527
+#: htdocs/luci-static/resources/view/fchomo/node.js:1807
msgid "Min posts interval"
msgstr "POST 請求最小間隔時間"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1594
+#: htdocs/luci-static/resources/view/fchomo/node.js:1874
msgid ""
"Minimum multiplexed streams in a connection before opening a new connection."
msgstr "在開啟新連線之前,連線中的最小多路復用流數量。"
#: htdocs/luci-static/resources/fchomo/listeners.js:316
-#: htdocs/luci-static/resources/view/fchomo/node.js:412
+#: htdocs/luci-static/resources/view/fchomo/node.js:426
msgid "Minimum padding rate"
msgstr "最小填充率"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1593
-#: htdocs/luci-static/resources/view/fchomo/node.js:1605
+#: htdocs/luci-static/resources/view/fchomo/node.js:1873
+#: htdocs/luci-static/resources/view/fchomo/node.js:1885
msgid "Minimum streams"
msgstr "最小流數量"
@@ -2073,30 +2180,30 @@ msgstr "混合 系統 TCP 堆栈和 gVisor UDP 堆栈
msgid "Mixed port"
msgstr "混合連接埠"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1383
-#: htdocs/luci-static/resources/view/fchomo/node.js:1571
+#: htdocs/luci-static/resources/fchomo/listeners.js:1373
+#: htdocs/luci-static/resources/view/fchomo/node.js:1851
msgid "Multiplex"
msgstr "多路復用"
#: htdocs/luci-static/resources/fchomo/listeners.js:125
-#: htdocs/luci-static/resources/view/fchomo/node.js:242
+#: htdocs/luci-static/resources/view/fchomo/node.js:256
msgid "Multiplex fields"
msgstr "多路復用欄位"
-#: htdocs/luci-static/resources/view/fchomo/node.js:353
+#: htdocs/luci-static/resources/view/fchomo/node.js:367
msgid "Multiplexing"
msgstr "多路復用"
-#: htdocs/luci-static/resources/view/fchomo/client.js:630
-#: htdocs/luci-static/resources/view/fchomo/client.js:706
+#: htdocs/luci-static/resources/view/fchomo/client.js:642
+#: htdocs/luci-static/resources/view/fchomo/client.js:718
msgid "NOT"
msgstr "NOT"
-#: htdocs/luci-static/resources/fchomo/listeners.js:616
+#: htdocs/luci-static/resources/fchomo/listeners.js:615
msgid "Name of the Proxy group as outbound."
msgstr "出站代理組的名稱。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1905
+#: htdocs/luci-static/resources/view/fchomo/node.js:2185
msgid "Name of the Proxy group to download provider."
msgstr "用於下載供應商訂閱的代理組名稱。"
@@ -2104,27 +2211,27 @@ msgstr "用於下載供應商訂閱的代理組名稱。"
msgid "Name of the Proxy group to download rule set."
msgstr "用於下載規則集訂閱的代理組名稱。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:604
+#: htdocs/luci-static/resources/fchomo/listeners.js:603
msgid "Name of the Sub rule used for inbound matching."
msgstr "用於入站匹配的子規則名稱。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:622
+#: htdocs/luci-static/resources/view/fchomo/node.js:636
msgid "Native UDP"
msgstr "原生 UDP"
-#: htdocs/luci-static/resources/fchomo.js:396
+#: htdocs/luci-static/resources/fchomo.js:398
msgid "Native appearance"
msgstr "原生外觀"
-#: htdocs/luci-static/resources/view/fchomo/node.js:893
+#: htdocs/luci-static/resources/view/fchomo/node.js:1010
msgid "Network"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:655
+#: htdocs/luci-static/resources/fchomo/listeners.js:654
msgid "Network type"
msgstr "網路類型"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2074
+#: htdocs/luci-static/resources/view/fchomo/node.js:2354
msgid "No"
msgstr ""
@@ -2132,24 +2239,24 @@ msgstr ""
msgid "No Authentication IP ranges"
msgstr "無需認證的 IP 範圍"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1360
+#: htdocs/luci-static/resources/fchomo/listeners.js:1350
msgid "No SSE header"
msgstr "無 SSE header"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1596
+#: htdocs/luci-static/resources/view/fchomo/client.js:1608
msgid "No add'l params"
msgstr "無附加參數"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1511
+#: htdocs/luci-static/resources/view/fchomo/node.js:1791
msgid "No gRPC header"
msgstr "無 gRPC header"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1180
-#: htdocs/luci-static/resources/view/fchomo/node.js:2137
+#: htdocs/luci-static/resources/view/fchomo/client.js:1192
+#: htdocs/luci-static/resources/view/fchomo/node.js:2417
msgid "No testing is performed when this provider node is not in use."
msgstr "當此供應商的節點未使用時,不執行任何測試。"
-#: htdocs/luci-static/resources/fchomo.js:726
+#: htdocs/luci-static/resources/fchomo.js:728
msgid "No valid %s found."
msgstr "未找到有效的%s。"
@@ -2157,81 +2264,85 @@ msgstr "未找到有效的%s。"
msgid "No valid rule-set link found."
msgstr "未找到有效的規則集連結。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1080
+#: htdocs/luci-static/resources/view/fchomo/client.js:1092
#: 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:2157
+#: htdocs/luci-static/resources/view/fchomo/client.js:1254
+#: htdocs/luci-static/resources/view/fchomo/node.js:2437
msgid "Node exclude filter"
msgstr "排除節點"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1247
-#: htdocs/luci-static/resources/view/fchomo/node.js:2164
+#: htdocs/luci-static/resources/view/fchomo/client.js:1259
+#: htdocs/luci-static/resources/view/fchomo/node.js:2444
msgid "Node exclude type"
msgstr "排除節點類型"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1237
-#: htdocs/luci-static/resources/view/fchomo/node.js:2151
+#: htdocs/luci-static/resources/view/fchomo/client.js:1249
+#: htdocs/luci-static/resources/view/fchomo/node.js:2431
msgid "Node filter"
msgstr "過濾節點"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1218
+#: htdocs/luci-static/resources/view/fchomo/client.js:1230
msgid "Node switch tolerance"
msgstr "節點切換容差"
-#: htdocs/luci-static/resources/fchomo.js:423
+#: htdocs/luci-static/resources/fchomo.js:425
msgid "None"
msgstr "無"
+#: htdocs/luci-static/resources/view/fchomo/node.js:814
+msgid "Normal"
+msgstr "正常"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:634
msgid "Not Installed"
msgstr "未安裝"
-#: htdocs/luci-static/resources/fchomo.js:1582
+#: htdocs/luci-static/resources/fchomo.js:1584
msgid "Not Running"
msgstr "未在運作"
-#: htdocs/luci-static/resources/view/fchomo/node.js:473
+#: htdocs/luci-static/resources/view/fchomo/node.js:487
msgid "OFF"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:475
+#: htdocs/luci-static/resources/view/fchomo/node.js:489
msgid "ON"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:702
-#: htdocs/luci-static/resources/view/fchomo/node.js:1033
+#: htdocs/luci-static/resources/fchomo/listeners.js:701
+#: htdocs/luci-static/resources/view/fchomo/node.js:1140
msgid "Obfs Mode"
msgstr "Obfs 模式"
#: htdocs/luci-static/resources/fchomo/listeners.js:504
-#: htdocs/luci-static/resources/view/fchomo/node.js:715
+#: htdocs/luci-static/resources/view/fchomo/node.js:729
msgid "Obfuscate maximum packet size"
msgstr "混淆最大資料包大小"
#: htdocs/luci-static/resources/fchomo/listeners.js:499
-#: htdocs/luci-static/resources/view/fchomo/node.js:710
+#: htdocs/luci-static/resources/view/fchomo/node.js:724
msgid "Obfuscate minimum packet size"
msgstr "混淆最小資料包大小"
#: htdocs/luci-static/resources/fchomo/listeners.js:491
-#: htdocs/luci-static/resources/view/fchomo/node.js:702
+#: htdocs/luci-static/resources/view/fchomo/node.js:716
msgid "Obfuscate password"
msgstr "混淆密碼"
#: htdocs/luci-static/resources/fchomo/listeners.js:291
#: htdocs/luci-static/resources/fchomo/listeners.js:484
-#: htdocs/luci-static/resources/view/fchomo/node.js:398
-#: htdocs/luci-static/resources/view/fchomo/node.js:695
+#: htdocs/luci-static/resources/view/fchomo/node.js:412
+#: htdocs/luci-static/resources/view/fchomo/node.js:709
msgid "Obfuscate type"
msgstr "混淆類型"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:413
+#: htdocs/luci-static/resources/view/fchomo/node.js:414
msgid "Obfuscated as %s"
msgstr "混淆為%s"
@@ -2239,12 +2350,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:1062
+#: htdocs/luci-static/resources/fchomo/listeners.js:1058
msgid "Only applicable when %s are used as a frontend."
msgstr "僅當 %s 用作前端時適用。"
#: htdocs/luci-static/resources/fchomo/listeners.js:300
-#: htdocs/luci-static/resources/view/fchomo/node.js:407
+#: htdocs/luci-static/resources/view/fchomo/node.js:421
msgid "Only applies to the %s."
msgstr "只對%s生效。"
@@ -2252,7 +2363,7 @@ msgstr "只對%s生效。"
msgid "Only process traffic from specific interfaces. Leave empty for all."
msgstr "只處理來自指定介面的流量。留空表示全部。"
-#: htdocs/luci-static/resources/fchomo.js:1576
+#: htdocs/luci-static/resources/fchomo.js:1578
msgid "Open Dashboard"
msgstr "打開面板"
@@ -2260,11 +2371,11 @@ msgstr "打開面板"
msgid "Operation mode"
msgstr "運作模式"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1907
+#: htdocs/luci-static/resources/view/fchomo/client.js:1919
msgid "Option is deprecated. Please use %s instead."
msgstr "該選項已棄用,請使用%s作為代替。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2022
+#: htdocs/luci-static/resources/view/fchomo/node.js:2302
msgid "Other configuration items"
msgstr "其他配置項"
@@ -2272,8 +2383,8 @@ msgstr "其他配置項"
msgid "Outbound"
msgstr "出站"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1273
-#: htdocs/luci-static/resources/view/fchomo/node.js:2061
+#: htdocs/luci-static/resources/view/fchomo/node.js:1383
+#: htdocs/luci-static/resources/view/fchomo/node.js:2341
msgid "Override cert DNSName"
msgstr "覆蓋憑證 DNSName"
@@ -2282,16 +2393,16 @@ msgstr "覆蓋憑證 DNSName"
msgid "Override destination"
msgstr "覆蓋目標位址"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1043
-#: htdocs/luci-static/resources/view/fchomo/node.js:1816
+#: htdocs/luci-static/resources/view/fchomo/client.js:1055
+#: htdocs/luci-static/resources/view/fchomo/node.js:2096
msgid "Override fields"
msgstr "覆蓋欄位"
-#: htdocs/luci-static/resources/view/fchomo/node.js:614
+#: htdocs/luci-static/resources/view/fchomo/node.js:628
msgid "Override the IP address of the server that DNS response."
msgstr "覆蓋 DNS 回應的伺服器的 IP 位址。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:908
+#: htdocs/luci-static/resources/view/fchomo/client.js:920
msgid "Override the Proxy group of DNS server."
msgstr "覆蓋 DNS 伺服器所使用的代理組。"
@@ -2299,11 +2410,11 @@ msgstr "覆蓋 DNS 伺服器所使用的代理組。"
msgid "Override the connection destination address with the sniffed domain."
msgstr "使用嗅探到的網域覆寫連線目標。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1703
+#: htdocs/luci-static/resources/view/fchomo/client.js:1715
msgid "Override the existing ECS in original request."
msgstr "覆蓋原始請求中已有的 ECS。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1328
+#: htdocs/luci-static/resources/view/fchomo/node.js:1438
msgid "Overrides the domain name used for HTTPS record queries."
msgstr "覆蓋用於 HTTPS 記錄查詢的網域。"
@@ -2311,19 +2422,19 @@ msgstr "覆蓋用於 HTTPS 記錄查詢的網域。"
msgid "Overview"
msgstr "概覽"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1438
+#: htdocs/luci-static/resources/view/fchomo/node.js:1718
msgid "POST"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1439
+#: htdocs/luci-static/resources/view/fchomo/node.js:1719
msgid "PUT"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:555
+#: htdocs/luci-static/resources/view/fchomo/node.js:569
msgid "Packet encoding"
msgstr "數據包編碼"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1516
+#: htdocs/luci-static/resources/view/fchomo/node.js:1796
msgid "Padding bytes"
msgstr "填充位元組"
@@ -2331,22 +2442,22 @@ msgstr "填充位元組"
msgid "Padding scheme"
msgstr "填充方案"
-#: htdocs/luci-static/resources/fchomo/listeners.js:867
-#: htdocs/luci-static/resources/view/fchomo/node.js:1126
+#: htdocs/luci-static/resources/fchomo/listeners.js:863
+#: htdocs/luci-static/resources/view/fchomo/node.js:1236
msgid "Paddings"
msgstr "填充 (Paddings)"
#: htdocs/luci-static/resources/fchomo/listeners.js:167
#: htdocs/luci-static/resources/fchomo/listeners.js:184
-#: htdocs/luci-static/resources/fchomo/listeners.js:729
-#: 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:1052
+#: htdocs/luci-static/resources/fchomo/listeners.js:730
+#: htdocs/luci-static/resources/view/fchomo/node.js:324
+#: htdocs/luci-static/resources/view/fchomo/node.js:345
+#: htdocs/luci-static/resources/view/fchomo/node.js:1161
msgid "Password"
msgstr "密碼"
-#: htdocs/luci-static/resources/fchomo/listeners.js:582
-#: htdocs/luci-static/resources/view/fchomo/node.js:769
+#: htdocs/luci-static/resources/fchomo/listeners.js:581
+#: htdocs/luci-static/resources/view/fchomo/node.js:782
msgid "Path MTU Discovery"
msgstr "路徑 MTU 發現"
@@ -2358,13 +2469,13 @@ msgstr "捆綁包路徑"
msgid "Path in bundle: %s"
msgstr "在捆綁包%s中的路徑"
-#: htdocs/luci-static/resources/fchomo/listeners.js:807
-#: htdocs/luci-static/resources/view/fchomo/node.js:1880
+#: htdocs/luci-static/resources/fchomo/listeners.js:803
+#: htdocs/luci-static/resources/view/fchomo/node.js:2160
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:373
msgid "Payload"
msgstr "Payload"
-#: htdocs/luci-static/resources/view/fchomo/node.js:808
+#: htdocs/luci-static/resources/view/fchomo/node.js:923
msgid "Peer public key"
msgstr "對端公鑰"
@@ -2374,14 +2485,18 @@ msgid ""
"it is not needed."
msgstr "效能可能會略有下降,建議僅在需要時開啟。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:835
+#: htdocs/luci-static/resources/view/fchomo/node.js:950
msgid "Periodically sends data packets to maintain connection persistence."
msgstr "定期發送資料包以維持連線持久性。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:834
+#: htdocs/luci-static/resources/view/fchomo/node.js:949
msgid "Persistent keepalive"
msgstr "持久連接"
+#: htdocs/luci-static/resources/view/fchomo/node.js:822
+msgid "Physical MTU"
+msgstr "物理 MTU"
+
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:306
msgid "Plain text"
msgstr "純文本 text"
@@ -2401,8 +2516,8 @@ msgid ""
"standards."
msgstr "連結格式標準請參考 %s。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1853
-#: htdocs/luci-static/resources/view/fchomo/node.js:1879
+#: htdocs/luci-static/resources/view/fchomo/node.js:2133
+#: htdocs/luci-static/resources/view/fchomo/node.js:2159
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:346
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:372
msgid ""
@@ -2411,45 +2526,45 @@ msgid ""
msgstr ""
"請輸入 %s。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:980
-#: htdocs/luci-static/resources/view/fchomo/client.js:1283
-#: htdocs/luci-static/resources/view/fchomo/client.js:1405
-#: htdocs/luci-static/resources/view/fchomo/client.js:1533
-#: htdocs/luci-static/resources/view/fchomo/client.js:1788
-#: htdocs/luci-static/resources/view/fchomo/client.js:1840
-#: htdocs/luci-static/resources/view/fchomo/node.js:1706
+#: htdocs/luci-static/resources/view/fchomo/client.js:992
+#: htdocs/luci-static/resources/view/fchomo/client.js:1295
+#: htdocs/luci-static/resources/view/fchomo/client.js:1417
+#: htdocs/luci-static/resources/view/fchomo/client.js:1545
+#: htdocs/luci-static/resources/view/fchomo/client.js:1800
+#: htdocs/luci-static/resources/view/fchomo/client.js:1852
+#: htdocs/luci-static/resources/view/fchomo/node.js:1986
#: 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:668
-#: htdocs/luci-static/resources/view/fchomo/node.js:997
+#: htdocs/luci-static/resources/fchomo/listeners.js:667
+#: htdocs/luci-static/resources/view/fchomo/node.js:1104
msgid "Plugin"
msgstr "外掛"
#: htdocs/luci-static/resources/fchomo/listeners.js:120
-#: htdocs/luci-static/resources/view/fchomo/node.js:237
+#: htdocs/luci-static/resources/view/fchomo/node.js:250
msgid "Plugin fields"
msgstr "外掛欄位"
-#: htdocs/luci-static/resources/fchomo/listeners.js:674
-#: htdocs/luci-static/resources/view/fchomo/node.js:1003
+#: htdocs/luci-static/resources/fchomo/listeners.js:673
+#: htdocs/luci-static/resources/view/fchomo/node.js:1110
msgid "Plugin type"
msgstr "外掛類型"
-#: htdocs/luci-static/resources/view/fchomo/node.js:265
+#: htdocs/luci-static/resources/view/fchomo/node.js:279
msgid "Port"
msgstr "連接埠"
-#: htdocs/luci-static/resources/fchomo.js:1813
+#: htdocs/luci-static/resources/fchomo.js:1815
msgid "Port %s alrealy exists!"
msgstr "連接埠 %s 已存在!"
-#: htdocs/luci-static/resources/view/fchomo/node.js:689
+#: htdocs/luci-static/resources/view/fchomo/node.js:703
msgid "Port hop interval"
msgstr "連接埠跳躍間隔"
-#: htdocs/luci-static/resources/view/fchomo/node.js:341
+#: htdocs/luci-static/resources/view/fchomo/node.js:355
msgid "Port range"
msgstr "連接埠範圍"
@@ -2458,19 +2573,19 @@ msgid "Ports"
msgstr "連接埠"
#: htdocs/luci-static/resources/fchomo/listeners.js:154
-#: htdocs/luci-static/resources/view/fchomo/node.js:684
+#: htdocs/luci-static/resources/view/fchomo/node.js:698
msgid "Ports pool"
msgstr "連接埠池"
#: htdocs/luci-static/resources/fchomo/listeners.js:377
#: htdocs/luci-static/resources/fchomo/listeners.js:516
-#: htdocs/luci-static/resources/view/fchomo/node.js:490
-#: htdocs/luci-static/resources/view/fchomo/node.js:815
+#: htdocs/luci-static/resources/view/fchomo/node.js:504
+#: htdocs/luci-static/resources/view/fchomo/node.js:930
msgid "Pre-shared key"
msgstr "預先共用金鑰"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1005
-#: htdocs/luci-static/resources/view/fchomo/node.js:1161
+#: htdocs/luci-static/resources/fchomo/listeners.js:1001
+#: htdocs/luci-static/resources/view/fchomo/node.js:1271
msgid "Pre-shared key of rendezvous server"
msgstr "牽線伺服器的預先共用金鑰"
@@ -2487,70 +2602,70 @@ msgid ""
"Prevent ICMP loopback issues in some cases. Ping will not show real delay."
msgstr "防止某些情況下的 ICMP 環回問題。 Ping 不會顯示實際延遲。"
+#: htdocs/luci-static/resources/view/fchomo/node.js:1507
+#: htdocs/luci-static/resources/view/fchomo/node.js:1508
+msgid "Primary"
+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:1667
-#: htdocs/luci-static/resources/view/fchomo/node.js:1674
-#: htdocs/luci-static/resources/view/fchomo/node.js:2086
-#: htdocs/luci-static/resources/view/fchomo/node.js:2093
+#: htdocs/luci-static/resources/view/fchomo/node.js:1947
+#: htdocs/luci-static/resources/view/fchomo/node.js:1954
+#: htdocs/luci-static/resources/view/fchomo/node.js:2366
+#: htdocs/luci-static/resources/view/fchomo/node.js:2373
msgid "Priority: Proxy Node > Global."
msgstr "優先權: 代理節點 > 全域。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:925
+#: htdocs/luci-static/resources/view/fchomo/node.js:1031
msgid "Priv-key"
msgstr "金鑰"
-#: htdocs/luci-static/resources/view/fchomo/node.js:929
+#: htdocs/luci-static/resources/view/fchomo/node.js:1035
msgid "Priv-key passphrase"
msgstr "金鑰密碼"
-#: htdocs/luci-static/resources/view/fchomo/node.js:800
-#: htdocs/luci-static/resources/view/fchomo/node.js:858
+#: htdocs/luci-static/resources/view/fchomo/node.js:902
+#: htdocs/luci-static/resources/view/fchomo/node.js:995
msgid "Private key"
msgstr "私鑰"
-#: htdocs/luci-static/resources/fchomo/listeners.js:775
-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:2012
+#: htdocs/luci-static/resources/view/fchomo/node.js:2292
msgid "Programmable replacement"
msgstr "可編程替換"
#: htdocs/luci-static/resources/view/fchomo/global.js:708
-#: htdocs/luci-static/resources/view/fchomo/node.js:1577
+#: htdocs/luci-static/resources/view/fchomo/node.js:1857
msgid "Protocol"
msgstr "協議"
-#: htdocs/luci-static/resources/view/fchomo/node.js:550
+#: htdocs/luci-static/resources/view/fchomo/node.js:564
msgid "Protocol parameter. Enable length block encryption."
msgstr "協議參數。啟用長度塊加密。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:544
+#: htdocs/luci-static/resources/view/fchomo/node.js:558
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:1689
-#: htdocs/luci-static/resources/view/fchomo/node.js:1698
-#: htdocs/luci-static/resources/view/fchomo/node.js:2202
+#: htdocs/luci-static/resources/view/fchomo/client.js:1112
+#: htdocs/luci-static/resources/view/fchomo/node.js:1969
+#: htdocs/luci-static/resources/view/fchomo/node.js:1978
+#: htdocs/luci-static/resources/view/fchomo/node.js:2482
msgid "Provider"
msgstr "供應商"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1886
+#: htdocs/luci-static/resources/view/fchomo/node.js:2166
msgid "Provider URL"
msgstr "供應商訂閱 URL"
-#: htdocs/luci-static/resources/view/fchomo/client.js:954
-#: htdocs/luci-static/resources/view/fchomo/client.js:972
-#: htdocs/luci-static/resources/view/fchomo/client.js:1489
+#: htdocs/luci-static/resources/view/fchomo/client.js:966
+#: htdocs/luci-static/resources/view/fchomo/client.js:984
+#: htdocs/luci-static/resources/view/fchomo/client.js:1501
msgid "Proxy Group"
msgstr "代理組"
@@ -2567,24 +2682,24 @@ msgid "Proxy MAC-s"
msgstr "代理 MAC 位址"
#: htdocs/luci-static/resources/view/fchomo/node.js:222
-#: htdocs/luci-static/resources/view/fchomo/node.js:2201
+#: htdocs/luci-static/resources/view/fchomo/node.js:2481
msgid "Proxy Node"
msgstr "代理節點"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2177
-#: htdocs/luci-static/resources/view/fchomo/node.js:2186
+#: htdocs/luci-static/resources/view/fchomo/node.js:2457
+#: htdocs/luci-static/resources/view/fchomo/node.js:2466
msgid "Proxy chain"
msgstr "代理鏈"
-#: htdocs/luci-static/resources/fchomo/listeners.js:615
-#: 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:1904
+#: htdocs/luci-static/resources/fchomo/listeners.js:614
+#: htdocs/luci-static/resources/view/fchomo/client.js:813
+#: htdocs/luci-static/resources/view/fchomo/client.js:1643
+#: htdocs/luci-static/resources/view/fchomo/node.js:2184
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:403
msgid "Proxy group"
msgstr "代理組"
-#: htdocs/luci-static/resources/view/fchomo/client.js:907
+#: htdocs/luci-static/resources/view/fchomo/client.js:919
msgid "Proxy group override"
msgstr "代理組覆蓋"
@@ -2596,75 +2711,75 @@ msgstr "代理模式"
msgid "Proxy routerself"
msgstr "代理路由器自身"
-#: htdocs/luci-static/resources/view/fchomo/node.js:623
-#: htdocs/luci-static/resources/view/fchomo/node.js:780
+#: htdocs/luci-static/resources/view/fchomo/node.js:919
+msgid "Public key"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:637
+#: htdocs/luci-static/resources/view/fchomo/node.js:793
msgid "QUIC"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:553
-#: htdocs/luci-static/resources/view/fchomo/node.js:733
+#: htdocs/luci-static/resources/fchomo/listeners.js:552
+#: htdocs/luci-static/resources/view/fchomo/node.js:746
msgid "QUIC based 0-RTT"
msgstr "基於 QUIC 的 0-RTT"
-#: htdocs/luci-static/resources/fchomo/listeners.js:774
-msgid "QUIC version probe"
-msgstr "QUIC 版本探測"
-
#: htdocs/luci-static/resources/fchomo/listeners.js:546
-#: htdocs/luci-static/resources/view/fchomo/node.js:721
+#: htdocs/luci-static/resources/view/fchomo/node.js:735
msgid "QUIC versions"
msgstr "QUIC 版本"
-#: htdocs/luci-static/resources/view/fchomo/client.js:957
+#: htdocs/luci-static/resources/view/fchomo/client.js:969
#: htdocs/luci-static/resources/view/fchomo/server.js:44
msgid "Quick Reload"
msgstr "快速重載"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1133
-#: htdocs/luci-static/resources/fchomo/listeners.js:1239
-#: htdocs/luci-static/resources/view/fchomo/node.js:1342
+#: htdocs/luci-static/resources/fchomo/listeners.js:1123
+#: htdocs/luci-static/resources/fchomo/listeners.js:1229
+#: htdocs/luci-static/resources/view/fchomo/node.js:1452
msgid "REALITY"
msgstr "REALITY"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1368
+#: htdocs/luci-static/resources/view/fchomo/node.js:1478
msgid "REALITY X25519MLKEM768 PQC support"
msgstr "REALITY X25519MLKEM768 後量子加密支援"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1287
+#: htdocs/luci-static/resources/fchomo/listeners.js:1277
msgid "REALITY certificate issued to"
msgstr "REALITY 憑證頒發給"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1255
+#: htdocs/luci-static/resources/fchomo/listeners.js:1245
msgid "REALITY handshake server"
msgstr "REALITY 握手伺服器"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1262
+#: htdocs/luci-static/resources/fchomo/listeners.js:1252
msgid "REALITY private key"
msgstr "REALITY 私鑰"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1277
-#: htdocs/luci-static/resources/view/fchomo/node.js:1358
+#: htdocs/luci-static/resources/fchomo/listeners.js:1267
+#: htdocs/luci-static/resources/view/fchomo/node.js:1468
msgid "REALITY public key"
msgstr "REALITY 公鑰"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1281
-#: htdocs/luci-static/resources/view/fchomo/node.js:1363
+#: htdocs/luci-static/resources/fchomo/listeners.js:1271
+#: htdocs/luci-static/resources/view/fchomo/node.js:1473
msgid "REALITY short ID"
msgstr "REALITY 標識符"
-#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:286
+#: htdocs/luci-static/resources/view/fchomo/node.js:292
+#: htdocs/luci-static/resources/view/fchomo/node.js:310
msgid "REMATCH-NAME marking"
msgstr "REMATCH-NAME 打標"
-#: htdocs/luci-static/resources/fchomo/listeners.js:838
-#: htdocs/luci-static/resources/fchomo/listeners.js:857
-#: htdocs/luci-static/resources/view/fchomo/node.js:1116
+#: htdocs/luci-static/resources/fchomo/listeners.js:834
+#: htdocs/luci-static/resources/fchomo/listeners.js:853
+#: htdocs/luci-static/resources/view/fchomo/node.js:1226
msgid "RTT"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:388
+#: htdocs/luci-static/resources/fchomo.js:390
msgid "Random"
msgstr "隨機"
@@ -2672,17 +2787,17 @@ msgstr "隨機"
msgid "Random will be used if empty."
msgstr "留空將使用隨機令牌。"
-#: htdocs/luci-static/resources/fchomo.js:398
+#: htdocs/luci-static/resources/fchomo.js:400
msgid "Randomized traffic characteristics"
msgstr "隨機化流量特徵"
-#: htdocs/luci-static/resources/fchomo/listeners.js:994
-#: htdocs/luci-static/resources/view/fchomo/node.js:1150
+#: htdocs/luci-static/resources/fchomo/listeners.js:990
+#: htdocs/luci-static/resources/view/fchomo/node.js:1260
msgid "Realm"
msgstr "Realm"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1010
-#: htdocs/luci-static/resources/view/fchomo/node.js:1166
+#: htdocs/luci-static/resources/fchomo/listeners.js:1006
+#: htdocs/luci-static/resources/view/fchomo/node.js:1276
msgid "Realm ID"
msgstr "Realm ID"
@@ -2706,12 +2821,16 @@ msgstr "Redirect TCP + TProxy UDP"
msgid "Redirect TCP + Tun UDP"
msgstr "Redirect TCP + Tun UDP"
+#: htdocs/luci-static/resources/view/fchomo/node.js:830
+msgid "Reduces background traffic and network configuration refresh frequency."
+msgstr "降低後台流量和網路配置刷新頻率。"
+
#: htdocs/luci-static/resources/view/fchomo/log.js:124
msgid "Refresh every %s seconds."
msgstr "每 %s 秒刷新。"
-#: htdocs/luci-static/resources/fchomo.js:1569
-#: htdocs/luci-static/resources/view/fchomo/client.js:958
+#: htdocs/luci-static/resources/fchomo.js:1571
+#: htdocs/luci-static/resources/view/fchomo/client.js:970
#: htdocs/luci-static/resources/view/fchomo/global.js:193
#: htdocs/luci-static/resources/view/fchomo/server.js:45
msgid "Reload"
@@ -2729,69 +2848,78 @@ msgstr "再路由"
msgid "Rematching routing rules"
msgstr "重新匹配路由規則"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1831
+#: htdocs/luci-static/resources/view/fchomo/node.js:2111
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:287
msgid "Remote"
msgstr "遠端"
-#: htdocs/luci-static/resources/view/fchomo/node.js:846
-#: htdocs/luci-static/resources/view/fchomo/node.js:913
+#: htdocs/luci-static/resources/view/fchomo/node.js:1645
msgid "Remote DNS resolve"
msgstr "遠端 DNS 解析"
-#: htdocs/luci-static/resources/fchomo.js:1734
+#: htdocs/luci-static/resources/view/fchomo/node.js:813
+msgid "Remote trace level"
+msgstr "遠端追蹤等級"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:806
+msgid "Remote trace target"
+msgstr "遠端追蹤目標"
+
+#: htdocs/luci-static/resources/fchomo.js:1736
msgid "Remove"
msgstr "移除"
-#: htdocs/luci-static/resources/fchomo.js:1739
-#: htdocs/luci-static/resources/view/fchomo/node.js:1807
-#: htdocs/luci-static/resources/view/fchomo/node.js:1809
+#: htdocs/luci-static/resources/fchomo.js:1741
+#: htdocs/luci-static/resources/view/fchomo/node.js:241
+#: htdocs/luci-static/resources/view/fchomo/node.js:243
+#: htdocs/luci-static/resources/view/fchomo/node.js:2087
+#: htdocs/luci-static/resources/view/fchomo/node.js:2089
#: 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:999
-#: htdocs/luci-static/resources/view/fchomo/node.js:1155
+#: htdocs/luci-static/resources/fchomo/listeners.js:995
+#: htdocs/luci-static/resources/view/fchomo/node.js:1265
msgid "Rendezvous server"
msgstr "牽線伺服器"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2003
+#: htdocs/luci-static/resources/view/fchomo/node.js:2283
msgid "Replace name"
msgstr "名稱替換"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2004
+#: htdocs/luci-static/resources/view/fchomo/node.js:2284
msgid "Replace node name."
msgstr "替換節點名稱"
-#: htdocs/luci-static/resources/fchomo.js:372
+#: htdocs/luci-static/resources/fchomo.js:374
msgid "Request"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1339
-#: htdocs/luci-static/resources/view/fchomo/node.js:1445
-#: htdocs/luci-static/resources/view/fchomo/node.js:1452
+#: htdocs/luci-static/resources/fchomo/listeners.js:1329
+#: htdocs/luci-static/resources/view/fchomo/node.js:1725
+#: htdocs/luci-static/resources/view/fchomo/node.js:1732
msgid "Request path"
msgstr "請求路徑"
-#: htdocs/luci-static/resources/view/fchomo/node.js:663
+#: htdocs/luci-static/resources/view/fchomo/node.js:677
msgid "Request timeout"
msgstr "請求逾時"
-#: htdocs/luci-static/resources/fchomo.js:375
+#: htdocs/luci-static/resources/fchomo.js:377
msgid "Require and verify"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:373
+#: htdocs/luci-static/resources/fchomo.js:375
msgid "Require any"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:406
-#: htdocs/luci-static/resources/view/fchomo/node.js:1369
+#: htdocs/luci-static/resources/fchomo.js:408
+#: htdocs/luci-static/resources/view/fchomo/node.js:1479
msgid "Requires server support."
msgstr "需要伺服器支援。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:829
+#: htdocs/luci-static/resources/view/fchomo/node.js:944
msgid "Reserved field bytes"
msgstr "保留字段位元組"
@@ -2799,39 +2927,39 @@ msgstr "保留字段位元組"
msgid "Resources management"
msgstr "資源管理"
-#: htdocs/luci-static/resources/fchomo/listeners.js:677
-#: htdocs/luci-static/resources/fchomo/listeners.js:687
-#: htdocs/luci-static/resources/fchomo/listeners.js:692
-#: htdocs/luci-static/resources/fchomo/listeners.js:1131
-#: htdocs/luci-static/resources/fchomo/listeners.js:1247
-#: htdocs/luci-static/resources/view/fchomo/node.js:1008
-#: htdocs/luci-static/resources/view/fchomo/node.js:1018
-#: htdocs/luci-static/resources/view/fchomo/node.js:1023
-#: htdocs/luci-static/resources/view/fchomo/node.js:1350
+#: htdocs/luci-static/resources/fchomo/listeners.js:676
+#: htdocs/luci-static/resources/fchomo/listeners.js:686
+#: htdocs/luci-static/resources/fchomo/listeners.js:691
+#: htdocs/luci-static/resources/fchomo/listeners.js:1121
+#: htdocs/luci-static/resources/fchomo/listeners.js:1237
+#: htdocs/luci-static/resources/view/fchomo/node.js:1115
+#: htdocs/luci-static/resources/view/fchomo/node.js:1125
+#: htdocs/luci-static/resources/view/fchomo/node.js:1130
+#: htdocs/luci-static/resources/view/fchomo/node.js:1460
msgid "Restls"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:743
-#: htdocs/luci-static/resources/view/fchomo/node.js:1074
+#: htdocs/luci-static/resources/fchomo/listeners.js:745
+#: htdocs/luci-static/resources/view/fchomo/node.js:1184
msgid "Restls script"
msgstr "Restls 劇本"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1254
+#: htdocs/luci-static/resources/view/fchomo/client.js:1266
msgid ""
"Returns hidden status in the API to hide the display of this proxy group."
msgstr "在 API 傳回 hidden 狀態,以隱藏該代理組顯示。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1260
+#: htdocs/luci-static/resources/view/fchomo/client.js:1272
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:474
+#: htdocs/luci-static/resources/view/fchomo/node.js:488
msgid "Reuse HTTP connections to reduce RTT for each connection establishment."
msgstr "重用 HTTP 連接以減少每次建立連接的 RTT。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:471
-#: htdocs/luci-static/resources/view/fchomo/node.js:475
+#: htdocs/luci-static/resources/view/fchomo/node.js:485
+#: htdocs/luci-static/resources/view/fchomo/node.js:489
msgid "Reusing a single tunnel to carry multiple target connections within it."
msgstr "複用單條隧道使其內部承載多條目標連線。"
@@ -2848,10 +2976,10 @@ msgstr "路由 DSCP"
msgid "Routing GFW"
msgstr "路由 GFW 流量"
-#: htdocs/luci-static/resources/fchomo/listeners.js:598
+#: htdocs/luci-static/resources/fchomo/listeners.js:597
#: htdocs/luci-static/resources/view/fchomo/global.js:776
-#: htdocs/luci-static/resources/view/fchomo/node.js:1673
-#: htdocs/luci-static/resources/view/fchomo/node.js:2092
+#: htdocs/luci-static/resources/view/fchomo/node.js:1953
+#: htdocs/luci-static/resources/view/fchomo/node.js:2372
msgid "Routing mark (Fwmark)"
msgstr "路由標記 (Fwmark)"
@@ -2872,8 +3000,8 @@ msgstr "路由模式將處理網域。"
msgid "Routing ports"
msgstr "路由連接埠"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1266
-#: htdocs/luci-static/resources/view/fchomo/client.js:1275
+#: htdocs/luci-static/resources/view/fchomo/client.js:1278
+#: htdocs/luci-static/resources/view/fchomo/client.js:1287
msgid "Routing rule"
msgstr "路由規則"
@@ -2889,8 +3017,8 @@ msgstr "路由表 ID"
msgid "Rule"
msgstr "規則"
-#: htdocs/luci-static/resources/view/fchomo/client.js:866
-#: htdocs/luci-static/resources/view/fchomo/client.js:879
+#: htdocs/luci-static/resources/view/fchomo/client.js:878
+#: htdocs/luci-static/resources/view/fchomo/client.js:891
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:147
msgid "Rule set"
msgstr "規則集"
@@ -2899,6 +3027,10 @@ msgstr "規則集"
msgid "Rule set URL"
msgstr "規則集訂閱 URL"
+#: htdocs/luci-static/resources/view/fchomo/node.js:816
+msgid "Rules"
+msgstr "規則"
+
#: root/usr/share/luci/menu.d/luci-app-fchomo.json:54
msgid "Ruleset"
msgstr "規則集"
@@ -2907,11 +3039,11 @@ msgstr "規則集"
msgid "Ruleset-URI-Scheme"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1582
+#: htdocs/luci-static/resources/fchomo.js:1584
msgid "Running"
msgstr "正在運作"
-#: htdocs/luci-static/resources/fchomo.js:253
+#: htdocs/luci-static/resources/fchomo.js:255
msgid "SMTP"
msgstr ""
@@ -2923,29 +3055,29 @@ msgstr ""
msgid "SOCKS5"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:209
+#: htdocs/luci-static/resources/fchomo.js:211
msgid "SSH"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:254
+#: htdocs/luci-static/resources/fchomo.js:256
msgid "STUN"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1016
-#: htdocs/luci-static/resources/view/fchomo/node.js:1172
+#: htdocs/luci-static/resources/fchomo/listeners.js:1012
+#: htdocs/luci-static/resources/view/fchomo/node.js:1282
msgid "STUN servers"
msgstr "STUN 伺服器"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1358
+#: htdocs/luci-static/resources/view/fchomo/client.js:1370
msgid "SUB-RULE"
msgstr "SUB-RULE"
-#: htdocs/luci-static/resources/view/fchomo/node.js:989
+#: htdocs/luci-static/resources/view/fchomo/node.js:1096
msgid "SUoT version"
msgstr "SUoT 版本"
#: htdocs/luci-static/resources/fchomo/listeners.js:486
-#: htdocs/luci-static/resources/view/fchomo/node.js:697
+#: htdocs/luci-static/resources/view/fchomo/node.js:711
msgid "Salamander"
msgstr "Salamander"
@@ -2962,11 +3094,16 @@ msgstr "相同 來源位址 和 目標位址 請求。相同節點"
msgid "Save"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:1537
+#: htdocs/luci-static/resources/view/fchomo/node.js:1538
+msgid "Secondary"
+msgstr "次要"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:530
msgid "Segment maximum size"
msgstr "分段最大尺寸"
-#: htdocs/luci-static/resources/fchomo.js:243
+#: htdocs/luci-static/resources/fchomo.js:245
msgid "Select"
msgstr "手動選擇"
@@ -2974,34 +3111,34 @@ msgstr "手動選擇"
msgid "Select Dashboard"
msgstr "選擇面板"
-#: htdocs/luci-static/resources/fchomo.js:412
+#: htdocs/luci-static/resources/fchomo.js:414
msgid "Send padding randomly 0-3333 bytes with 50% probability."
msgstr "以 50% 的機率發送隨機 0 到 3333 位元組的填充。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1929
+#: htdocs/luci-static/resources/view/fchomo/client.js:1941
msgid "Send queries to both the %s and the %s."
msgstr "同時向%s和%s發起查詢。"
-#: htdocs/luci-static/resources/fchomo.js:401
-#: htdocs/luci-static/resources/fchomo.js:402
+#: htdocs/luci-static/resources/fchomo.js:403
+#: htdocs/luci-static/resources/fchomo.js:404
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:838
-#: htdocs/luci-static/resources/fchomo/listeners.js:1122
-#: htdocs/luci-static/resources/fchomo/listeners.js:1152
+#: htdocs/luci-static/resources/fchomo/listeners.js:834
+#: htdocs/luci-static/resources/fchomo/listeners.js:1112
+#: htdocs/luci-static/resources/fchomo/listeners.js:1142
#: 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:260
+#: htdocs/luci-static/resources/view/fchomo/node.js:274
msgid "Server address"
msgstr "伺服器位址"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1333
-#: htdocs/luci-static/resources/view/fchomo/node.js:1424
-#: htdocs/luci-static/resources/view/fchomo/node.js:1430
+#: htdocs/luci-static/resources/fchomo/listeners.js:1323
+#: htdocs/luci-static/resources/view/fchomo/node.js:1704
+#: htdocs/luci-static/resources/view/fchomo/node.js:1710
msgid "Server hostname"
msgstr "伺服器主機名稱"
@@ -3018,15 +3155,15 @@ msgstr "服務狀態"
msgid "ShadowQUIC"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:676
-#: htdocs/luci-static/resources/fchomo/listeners.js:686
-#: htdocs/luci-static/resources/fchomo/listeners.js:691
-#: htdocs/luci-static/resources/fchomo/listeners.js:1130
-#: htdocs/luci-static/resources/fchomo/listeners.js:1246
-#: htdocs/luci-static/resources/view/fchomo/node.js:1007
-#: htdocs/luci-static/resources/view/fchomo/node.js:1017
-#: htdocs/luci-static/resources/view/fchomo/node.js:1022
-#: htdocs/luci-static/resources/view/fchomo/node.js:1349
+#: htdocs/luci-static/resources/fchomo/listeners.js:675
+#: htdocs/luci-static/resources/fchomo/listeners.js:685
+#: htdocs/luci-static/resources/fchomo/listeners.js:690
+#: htdocs/luci-static/resources/fchomo/listeners.js:1120
+#: htdocs/luci-static/resources/fchomo/listeners.js:1236
+#: htdocs/luci-static/resources/view/fchomo/node.js:1114
+#: htdocs/luci-static/resources/view/fchomo/node.js:1124
+#: htdocs/luci-static/resources/view/fchomo/node.js:1129
+#: htdocs/luci-static/resources/view/fchomo/node.js:1459
msgid "ShadowTLS"
msgstr ""
@@ -3036,21 +3173,21 @@ msgid "Shadowsocks"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:422
-#: htdocs/luci-static/resources/view/fchomo/node.js:568
+#: htdocs/luci-static/resources/view/fchomo/node.js:582
msgid "Shadowsocks chipher"
msgstr "Shadowsocks 加密方法"
#: htdocs/luci-static/resources/fchomo/listeners.js:417
-#: htdocs/luci-static/resources/view/fchomo/node.js:563
+#: htdocs/luci-static/resources/view/fchomo/node.js:577
msgid "Shadowsocks encrypt"
msgstr "Shadowsocks 加密"
#: htdocs/luci-static/resources/fchomo/listeners.js:430
-#: htdocs/luci-static/resources/view/fchomo/node.js:576
+#: htdocs/luci-static/resources/view/fchomo/node.js:590
msgid "Shadowsocks password"
msgstr "Shadowsocks 密碼"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1625
+#: htdocs/luci-static/resources/view/fchomo/node.js:1905
msgid "Show connections in the dashboard for breaking connections easier."
msgstr "在面板中顯示連線以便於打斷連線。"
@@ -3062,14 +3199,14 @@ msgstr "靜音"
msgid "Simple round-robin all nodes"
msgstr "簡單輪替所有節點"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1892
+#: htdocs/luci-static/resources/view/fchomo/node.js:2172
#: 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:1279
-#: htdocs/luci-static/resources/view/fchomo/node.js:2067
+#: htdocs/luci-static/resources/view/fchomo/client.js:1679
+#: htdocs/luci-static/resources/view/fchomo/node.js:1389
+#: htdocs/luci-static/resources/view/fchomo/node.js:2347
msgid "Skip cert verify"
msgstr "跳過憑證驗證"
@@ -3102,7 +3239,7 @@ msgstr "嗅探器"
msgid "Sniffer settings"
msgstr "嗅探器設定"
-#: htdocs/luci-static/resources/fchomo.js:444
+#: htdocs/luci-static/resources/fchomo.js:446
msgid "Specify a ID"
msgstr "指定一個ID"
@@ -3121,35 +3258,35 @@ msgstr "堆栈"
msgid "Standard"
msgstr "標準"
-#: htdocs/luci-static/resources/fchomo.js:257
+#: htdocs/luci-static/resources/fchomo.js:259
msgid "Steam Client"
msgstr "Steam 客戶端"
-#: htdocs/luci-static/resources/fchomo.js:258
+#: htdocs/luci-static/resources/fchomo.js:260
msgid "Steam P2P"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:1226
-#: htdocs/luci-static/resources/view/fchomo/client.js:1228
+#: htdocs/luci-static/resources/view/fchomo/client.js:1238
+#: htdocs/luci-static/resources/view/fchomo/client.js:1240
msgid "Strategy"
msgstr "策略"
-#: htdocs/luci-static/resources/fchomo/listeners.js:570
-#: htdocs/luci-static/resources/view/fchomo/node.js:757
+#: htdocs/luci-static/resources/fchomo/listeners.js:569
+#: htdocs/luci-static/resources/view/fchomo/node.js:770
msgid "Stream-level receive window size"
msgstr "流級接收視窗大小"
-#: htdocs/luci-static/resources/fchomo/listeners.js:603
-#: htdocs/luci-static/resources/view/fchomo/client.js:1388
-#: htdocs/luci-static/resources/view/fchomo/client.js:1397
+#: htdocs/luci-static/resources/fchomo/listeners.js:602
+#: htdocs/luci-static/resources/view/fchomo/client.js:1400
+#: htdocs/luci-static/resources/view/fchomo/client.js:1409
msgid "Sub rule"
msgstr "子規則"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1443
+#: htdocs/luci-static/resources/view/fchomo/client.js:1455
msgid "Sub rule group"
msgstr "子規則組"
-#: htdocs/luci-static/resources/fchomo.js:729
+#: htdocs/luci-static/resources/fchomo.js:731
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:231
msgid "Successfully imported %s %s of total %s."
msgstr "已成功匯入 %s 個%s (共 %s 個)。"
@@ -3158,7 +3295,7 @@ msgstr "已成功匯入 %s 個%s (共 %s 個)。"
msgid "Successfully updated."
msgstr "更新成功。"
-#: htdocs/luci-static/resources/fchomo.js:2084
+#: htdocs/luci-static/resources/fchomo.js:2098
msgid "Successfully uploaded."
msgstr "已成功上傳。"
@@ -3167,7 +3304,7 @@ msgstr "已成功上傳。"
msgid "Sudoku"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:722
+#: htdocs/luci-static/resources/view/fchomo/node.js:736
msgid "Support %s, default %s."
msgstr "支援 %s,預設 %s。"
@@ -3201,10 +3338,10 @@ msgstr "系統 DNS"
#: htdocs/luci-static/resources/fchomo.js:199
#: htdocs/luci-static/resources/fchomo.js:200
#: htdocs/luci-static/resources/fchomo.js:201
-#: htdocs/luci-static/resources/fchomo.js:209
-#: htdocs/luci-static/resources/fchomo/listeners.js:656
-#: htdocs/luci-static/resources/view/fchomo/client.js:606
-#: htdocs/luci-static/resources/view/fchomo/client.js:698
+#: htdocs/luci-static/resources/fchomo.js:211
+#: htdocs/luci-static/resources/fchomo/listeners.js:655
+#: htdocs/luci-static/resources/view/fchomo/client.js:618
+#: htdocs/luci-static/resources/view/fchomo/client.js:710
msgid "TCP"
msgstr "TCP"
@@ -3212,7 +3349,7 @@ msgstr "TCP"
msgid "TCP concurrency"
msgstr "TCP 併發"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1618
+#: htdocs/luci-static/resources/view/fchomo/node.js:1898
msgid "TCP only"
msgstr "僅 TCP"
@@ -3239,32 +3376,31 @@ msgstr "TCP-Keep-Alive 間隔"
msgid "TCP/UDP"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1649
-#: htdocs/luci-static/resources/view/fchomo/node.js:2028
+#: htdocs/luci-static/resources/view/fchomo/node.js:1929
+#: htdocs/luci-static/resources/view/fchomo/node.js:2308
msgid "TFO"
msgstr "TCP 快速開啟 (TFO)"
-#: htdocs/luci-static/resources/fchomo/listeners.js:704
-#: htdocs/luci-static/resources/fchomo/listeners.js:1026
+#: htdocs/luci-static/resources/fchomo/listeners.js:703
+#: htdocs/luci-static/resources/fchomo/listeners.js:1022
#: htdocs/luci-static/resources/view/fchomo/global.js:550
-#: htdocs/luci-static/resources/view/fchomo/node.js:455
-#: htdocs/luci-static/resources/view/fchomo/node.js:1035
-#: htdocs/luci-static/resources/view/fchomo/node.js:1182
+#: htdocs/luci-static/resources/view/fchomo/node.js:469
+#: htdocs/luci-static/resources/view/fchomo/node.js:1142
+#: htdocs/luci-static/resources/view/fchomo/node.js:1292
msgid "TLS"
msgstr "TLS"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1073
-#: htdocs/luci-static/resources/view/fchomo/node.js:1213
+#: htdocs/luci-static/resources/fchomo/listeners.js:1063
+#: htdocs/luci-static/resources/view/fchomo/node.js:1323
msgid "TLS ALPN"
msgstr "TLS ALPN"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1067
-#: htdocs/luci-static/resources/view/fchomo/node.js:1207
+#: htdocs/luci-static/resources/view/fchomo/node.js:1317
msgid "TLS SNI"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:123
-#: htdocs/luci-static/resources/view/fchomo/node.js:240
+#: htdocs/luci-static/resources/view/fchomo/node.js:253
msgid "TLS fields"
msgstr "TLS 欄位"
@@ -3273,11 +3409,16 @@ msgstr "TLS 欄位"
msgid "TUIC"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:255
+#: htdocs/luci-static/resources/fchomo.js:257
msgid "TURN"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:590
+#: htdocs/luci-static/resources/fchomo.js:209
+#: htdocs/luci-static/resources/view/fchomo/node.js:956
+msgid "Tailscale"
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo/listeners.js:589
msgid "Target address"
msgstr "目標位址"
@@ -3286,35 +3427,34 @@ 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:874
-#: htdocs/luci-static/resources/view/fchomo/node.js:882
-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:787
-#: htdocs/luci-static/resources/view/fchomo/node.js:795
+#: htdocs/luci-static/resources/view/fchomo/node.js:1569
+#: htdocs/luci-static/resources/view/fchomo/node.js:1578
+#: htdocs/luci-static/resources/view/fchomo/node.js:1582
+#: htdocs/luci-static/resources/view/fchomo/node.js:1595
+#: htdocs/luci-static/resources/view/fchomo/node.js:1603
+#: htdocs/luci-static/resources/view/fchomo/node.js:1607
msgid "The %s address used by local machine in the %s network."
msgstr "本機 %s 位址,用於在 %s 網路中使用。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1152
-#: htdocs/luci-static/resources/view/fchomo/node.js:1302
+#: htdocs/luci-static/resources/fchomo/listeners.js:1142
+#: htdocs/luci-static/resources/view/fchomo/node.js:1412
msgid "The %s private key, in PEM format."
msgstr "%s私鑰,需要 PEM 格式。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1122
-#: htdocs/luci-static/resources/fchomo/listeners.js:1175
+#: htdocs/luci-static/resources/fchomo/listeners.js:1112
+#: htdocs/luci-static/resources/fchomo/listeners.js:1165
#: htdocs/luci-static/resources/view/fchomo/global.js:571
-#: htdocs/luci-static/resources/view/fchomo/node.js:1288
+#: htdocs/luci-static/resources/view/fchomo/node.js:1398
msgid "The %s public key, in PEM format."
msgstr "%s公鑰,需要 PEM 格式。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1322
+#: htdocs/luci-static/resources/view/fchomo/node.js:1432
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:377
+#: htdocs/luci-static/resources/view/fchomo/node.js:391
msgid "The ED25519 available private key or UUID provided by Sudoku server."
msgstr "Sudoku 伺服器提供的 ED25519 可用私鑰 或 UUID。"
@@ -3326,52 +3466,52 @@ msgstr "Sudoku 產生的 ED25519 主公鑰 或 UUID。"
msgid "The default value is 2:00 every day."
msgstr "預設值為每天 2:00。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:971
+#: htdocs/luci-static/resources/view/fchomo/node.js:1078
msgid ""
"The default value is %s, indicating that only the outer "
"connection timeout is used."
msgstr "預設值為%s,表示僅使用外層連線逾時。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:870
-#: htdocs/luci-static/resources/view/fchomo/node.js:1129
+#: htdocs/luci-static/resources/fchomo/listeners.js:866
+#: htdocs/luci-static/resources/view/fchomo/node.js:1239
msgid ""
"The first padding must have a probability of 100% and at least 35 bytes."
msgstr "首個填充必須為 100% 的機率並且至少 35 位元組。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1897
+#: htdocs/luci-static/resources/view/fchomo/client.js:1909
msgid "The matching %s will be deemed as not-poisoned."
msgstr "匹配 %s 的將被視為未被投毒汙染。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1906
-#: htdocs/luci-static/resources/view/fchomo/client.js:1911
-#: htdocs/luci-static/resources/view/fchomo/client.js:1916
+#: htdocs/luci-static/resources/view/fchomo/client.js:1918
+#: htdocs/luci-static/resources/view/fchomo/client.js:1923
+#: htdocs/luci-static/resources/view/fchomo/client.js:1928
msgid "The matching %s will be deemed as poisoned."
msgstr "匹配 %s 的將被視為已被投毒汙染。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:751
+#: htdocs/luci-static/resources/fchomo/listeners.js:753
msgid "The proxy used to connect to the handshake target."
msgstr "用於連接握手目標的代理。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:868
-#: htdocs/luci-static/resources/view/fchomo/node.js:1127
+#: htdocs/luci-static/resources/fchomo/listeners.js:864
+#: htdocs/luci-static/resources/view/fchomo/node.js:1237
msgid "The server and client can set different padding parameters."
msgstr "伺服器和客戶端可以設定不同的填充參數。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1233
+#: htdocs/luci-static/resources/fchomo/listeners.js:1223
#: 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:1282
-#: htdocs/luci-static/resources/view/fchomo/node.js:2070
+#: htdocs/luci-static/resources/view/fchomo/client.js:1682
+#: htdocs/luci-static/resources/view/fchomo/node.js:1392
+#: htdocs/luci-static/resources/view/fchomo/node.js:2350
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:628
+#: htdocs/luci-static/resources/view/fchomo/node.js:642
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."
@@ -3404,36 +3544,36 @@ msgid "Tproxy port"
msgstr "Tproxy 連接埠"
#: htdocs/luci-static/resources/fchomo/listeners.js:206
-#: htdocs/luci-static/resources/view/fchomo/node.js:369
+#: htdocs/luci-static/resources/view/fchomo/node.js:383
msgid "Traffic pattern"
msgstr "流量模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2239
+#: htdocs/luci-static/resources/view/fchomo/node.js:2519
msgid "Transit proxy group"
msgstr "中轉代理組"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2250
+#: htdocs/luci-static/resources/view/fchomo/node.js:2530
msgid "Transit proxy node"
msgstr "中轉代理節點"
#: htdocs/luci-static/resources/fchomo/listeners.js:194
-#: htdocs/luci-static/resources/fchomo/listeners.js:1297
-#: htdocs/luci-static/resources/view/fchomo/node.js:346
-#: htdocs/luci-static/resources/view/fchomo/node.js:1377
+#: htdocs/luci-static/resources/fchomo/listeners.js:1287
+#: htdocs/luci-static/resources/view/fchomo/node.js:360
+#: htdocs/luci-static/resources/view/fchomo/node.js:1657
msgid "Transport"
msgstr "傳輸層"
#: htdocs/luci-static/resources/fchomo/listeners.js:124
-#: htdocs/luci-static/resources/view/fchomo/node.js:241
+#: htdocs/luci-static/resources/view/fchomo/node.js:255
msgid "Transport fields"
msgstr "傳輸層欄位"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1302
-#: htdocs/luci-static/resources/view/fchomo/node.js:1382
+#: htdocs/luci-static/resources/fchomo/listeners.js:1292
+#: htdocs/luci-static/resources/view/fchomo/node.js:1662
msgid "Transport type"
msgstr "傳輸層類型"
-#: htdocs/luci-static/resources/view/fchomo/client.js:823
+#: htdocs/luci-static/resources/view/fchomo/client.js:835
msgid "Treat the destination IP as the source IP."
msgstr "將 目標 IP 視為 來源 IP。"
@@ -3471,15 +3611,19 @@ msgstr "Tun 堆栈"
msgid "Tunnel"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:844
+msgid "Turns TCP relay off."
+msgstr "關閉 TCP 中繼。"
+
#: 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:254
-#: htdocs/luci-static/resources/view/fchomo/node.js:1829
-#: htdocs/luci-static/resources/view/fchomo/node.js:2200
+#: htdocs/luci-static/resources/view/fchomo/client.js:672
+#: htdocs/luci-static/resources/view/fchomo/client.js:767
+#: htdocs/luci-static/resources/view/fchomo/client.js:875
+#: htdocs/luci-static/resources/view/fchomo/client.js:1073
+#: htdocs/luci-static/resources/view/fchomo/node.js:268
+#: htdocs/luci-static/resources/view/fchomo/node.js:2109
+#: htdocs/luci-static/resources/view/fchomo/node.js:2480
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:285
msgid "Type"
msgstr "類型"
@@ -3492,12 +3636,14 @@ msgstr "類型"
#: 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:657
-#: htdocs/luci-static/resources/fchomo/listeners.js:662
-#: 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:977
-#: htdocs/luci-static/resources/view/fchomo/node.js:2038
+#: htdocs/luci-static/resources/fchomo.js:209
+#: htdocs/luci-static/resources/fchomo.js:210
+#: htdocs/luci-static/resources/fchomo/listeners.js:656
+#: htdocs/luci-static/resources/fchomo/listeners.js:661
+#: htdocs/luci-static/resources/view/fchomo/client.js:617
+#: htdocs/luci-static/resources/view/fchomo/client.js:709
+#: htdocs/luci-static/resources/view/fchomo/node.js:1084
+#: htdocs/luci-static/resources/view/fchomo/node.js:2318
msgid "UDP"
msgstr "UDP"
@@ -3505,43 +3651,43 @@ msgstr "UDP"
msgid "UDP NAT expiration time"
msgstr "UDP NAT 過期時間"
-#: htdocs/luci-static/resources/view/fchomo/node.js:627
-#: htdocs/luci-static/resources/view/fchomo/node.js:728
+#: htdocs/luci-static/resources/view/fchomo/node.js:641
+#: htdocs/luci-static/resources/view/fchomo/node.js:741
msgid "UDP over stream"
msgstr "UDP over stream"
-#: htdocs/luci-static/resources/view/fchomo/node.js:633
+#: htdocs/luci-static/resources/view/fchomo/node.js:647
msgid "UDP over stream version"
msgstr "UDP over stream 版本"
-#: htdocs/luci-static/resources/view/fchomo/node.js:620
+#: htdocs/luci-static/resources/view/fchomo/node.js:634
msgid "UDP packet relay mode."
msgstr "UDP 包中繼模式。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:619
+#: htdocs/luci-static/resources/view/fchomo/node.js:633
msgid "UDP relay mode"
msgstr "UDP 中繼模式"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:415
+#: htdocs/luci-static/resources/view/fchomo/node.js:416
msgid "UP: %s; DOWN: %s"
msgstr "上傳: %s; 下載: %s"
-#: htdocs/luci-static/resources/fchomo.js:245
+#: htdocs/luci-static/resources/fchomo.js:247
msgid "URL test"
msgstr "自動選擇"
#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:527
+#: htdocs/luci-static/resources/view/fchomo/node.js:621
msgid "UUID"
msgstr "UUID"
-#: htdocs/luci-static/resources/fchomo.js:1627
+#: htdocs/luci-static/resources/fchomo.js:1629
msgid "Unable to download unsupported type: %s"
msgstr "無法下載不支援的類型: %s"
@@ -3566,8 +3712,8 @@ msgstr "未知錯誤。"
msgid "Unknown error: %s"
msgstr "未知錯誤:%s"
-#: htdocs/luci-static/resources/view/fchomo/node.js:983
-#: htdocs/luci-static/resources/view/fchomo/node.js:2043
+#: htdocs/luci-static/resources/view/fchomo/node.js:1090
+#: htdocs/luci-static/resources/view/fchomo/node.js:2323
msgid "UoT"
msgstr "UDP over TCP (UoT)"
@@ -3575,24 +3721,24 @@ msgstr "UDP over TCP (UoT)"
msgid "Update failed."
msgstr "更新失敗。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1898
+#: htdocs/luci-static/resources/view/fchomo/node.js:2178
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:397
msgid "Update interval"
msgstr "更新間隔"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1399
-#: htdocs/luci-static/resources/view/fchomo/node.js:1636
+#: htdocs/luci-static/resources/fchomo/listeners.js:1389
+#: htdocs/luci-static/resources/view/fchomo/node.js:1916
msgid "Upload bandwidth"
msgstr "上傳頻寬"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1400
-#: htdocs/luci-static/resources/view/fchomo/node.js:1637
+#: htdocs/luci-static/resources/fchomo/listeners.js:1390
+#: htdocs/luci-static/resources/view/fchomo/node.js:1917
msgid "Upload bandwidth in Mbps."
msgstr "上傳頻寬(單位:Mbps)。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1143
-#: htdocs/luci-static/resources/fchomo/listeners.js:1183
-#: htdocs/luci-static/resources/view/fchomo/node.js:1293
+#: htdocs/luci-static/resources/fchomo/listeners.js:1133
+#: htdocs/luci-static/resources/fchomo/listeners.js:1173
+#: htdocs/luci-static/resources/view/fchomo/node.js:1403
msgid "Upload certificate"
msgstr "上傳憑證"
@@ -3600,48 +3746,56 @@ msgstr "上傳憑證"
msgid "Upload initial package"
msgstr "上傳初始資源包"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1158
-#: htdocs/luci-static/resources/view/fchomo/node.js:1307
+#: htdocs/luci-static/resources/fchomo/listeners.js:1148
+#: htdocs/luci-static/resources/view/fchomo/node.js:1417
msgid "Upload key"
msgstr "上傳金鑰"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1146
-#: htdocs/luci-static/resources/fchomo/listeners.js:1161
-#: htdocs/luci-static/resources/fchomo/listeners.js:1186
+#: htdocs/luci-static/resources/fchomo/listeners.js:1136
+#: htdocs/luci-static/resources/fchomo/listeners.js:1151
+#: htdocs/luci-static/resources/fchomo/listeners.js:1176
#: htdocs/luci-static/resources/view/fchomo/global.js:306
-#: htdocs/luci-static/resources/view/fchomo/node.js:1296
-#: htdocs/luci-static/resources/view/fchomo/node.js:1310
+#: htdocs/luci-static/resources/view/fchomo/node.js:1406
+#: htdocs/luci-static/resources/view/fchomo/node.js:1420
msgid "Upload..."
msgstr "上傳..."
-#: 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
+#: htdocs/luci-static/resources/view/fchomo/node.js:836
+msgid "Use protocol-13 extended encryption for outgoing HELLO packets."
+msgstr "對傳出的 HELLO 封包使用 協定-13 擴充加密。"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:292
+#: htdocs/luci-static/resources/view/fchomo/node.js:299
+#: htdocs/luci-static/resources/view/fchomo/node.js:310
msgid "Use sub rule"
msgstr "使用子規則"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1487
+#: htdocs/luci-static/resources/view/fchomo/node.js:855
+msgid "Used to replace the built-in official %s."
+msgstr "用於替換內建的官方 %s。"
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:1499
msgid ""
"Used to resolve domains that can be directly connected. Can use domestic DNS "
"servers or ECS."
msgstr "用於解析可直連的網域。可使用國內 DNS 伺服器或 ECS。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1489
+#: htdocs/luci-static/resources/view/fchomo/client.js:1501
msgid ""
"Used to resolve domains you want to proxy. Recommended to configure %s for "
"DNS servers."
msgstr "用於解析想要代理的網域。建議為 DNS 伺服器配置%s。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1471
+#: htdocs/luci-static/resources/view/fchomo/client.js:1483
msgid "Used to resolve the domain of the DNS server. Must be IP."
msgstr "用於解析 DNS 伺服器的網域。必須是 IP。"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1478
+#: htdocs/luci-static/resources/view/fchomo/client.js:1490
msgid "Used to resolve the domain of the Proxy node."
msgstr "用於解析代理節點的網域。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1274
-#: htdocs/luci-static/resources/view/fchomo/node.js:2062
+#: htdocs/luci-static/resources/view/fchomo/node.js:1384
+#: htdocs/luci-static/resources/view/fchomo/node.js:2342
msgid "Used to verify the hostname on the returned certificates."
msgstr "用於驗證傳回的憑證上的主機名稱。"
@@ -3655,8 +3809,8 @@ msgstr "User-hint 是必填項"
#: htdocs/luci-static/resources/fchomo/listeners.js:162
#: htdocs/luci-static/resources/fchomo/listeners.js:723
-#: htdocs/luci-static/resources/view/fchomo/node.js:305
-#: htdocs/luci-static/resources/view/fchomo/node.js:1046
+#: htdocs/luci-static/resources/view/fchomo/node.js:319
+#: htdocs/luci-static/resources/view/fchomo/node.js:1154
msgid "Username"
msgstr "使用者名稱"
@@ -3664,11 +3818,19 @@ msgstr "使用者名稱"
msgid "Users filter mode"
msgstr "使用者過濾模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1493
+#: htdocs/luci-static/resources/view/fchomo/node.js:843
+msgid "Uses TCP relay only."
+msgstr "僅使用 TCP 中繼。"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:842
+msgid "Uses relay after UDP direct failure."
+msgstr "UDP 直連失敗後使用中繼。"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1773
msgid "V2ray HTTPUpgrade"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1498
+#: htdocs/luci-static/resources/view/fchomo/node.js:1778
msgid "V2ray HTTPUpgrade fast open"
msgstr ""
@@ -3682,37 +3844,58 @@ msgstr ""
msgid "VMess"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:241
+#: htdocs/luci-static/resources/view/fchomo/node.js:1569
+#: htdocs/luci-static/resources/view/fchomo/node.js:1595
+msgid "VPN"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:254
msgid "VPN fields"
msgstr "VPN 欄位"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1835
-#: htdocs/luci-static/resources/view/fchomo/node.js:2206
+#: htdocs/luci-static/resources/view/fchomo/node.js:886
+msgid "Valid 16-digit Moon World ID and 10-digit Node ID of Moon Root server."
+msgstr "有效的 16-位數 Moon World ID 和 10-位數 Moon Root 伺服器 Node ID。"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:2115
+#: htdocs/luci-static/resources/view/fchomo/node.js:2486
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:328
msgid "Value"
msgstr "可視化值"
-#: htdocs/luci-static/resources/fchomo.js:374
+#: htdocs/luci-static/resources/view/fchomo/node.js:815
+msgid "Verbose"
+msgstr "詳細"
+
+#: htdocs/luci-static/resources/fchomo.js:376
msgid "Verify if given"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:384
-#: htdocs/luci-static/resources/fchomo/listeners.js:735
-#: htdocs/luci-static/resources/view/fchomo/node.js:497
-#: htdocs/luci-static/resources/view/fchomo/node.js:1058
+#: htdocs/luci-static/resources/fchomo/listeners.js:737
+#: htdocs/luci-static/resources/view/fchomo/node.js:511
+#: htdocs/luci-static/resources/view/fchomo/node.js:1168
msgid "Version"
msgstr "版本"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1066
+#: htdocs/luci-static/resources/view/fchomo/node.js:1176
msgid "Version hint"
msgstr ""
+#: htdocs/luci-static/resources/view/fchomo/node.js:1594
+msgid "Virtual IPv6 address"
+msgstr "虛擬 IPv6 位址"
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:1568
+msgid "Virtual address"
+msgstr "虛擬位址"
+
#: htdocs/luci-static/resources/fchomo/listeners.js:121
-#: htdocs/luci-static/resources/view/fchomo/node.js:238
+#: htdocs/luci-static/resources/view/fchomo/node.js:251
msgid "Vless Encryption fields"
msgstr "Vless Encryption 欄位"
-#: htdocs/luci-static/resources/fchomo.js:411
+#: htdocs/luci-static/resources/fchomo.js:413
msgid "Wait a random 0-111 milliseconds with 75% probability."
msgstr "以 75% 的機率等待隨機 0-111 毫秒。"
@@ -3721,15 +3904,15 @@ msgid "Warning"
msgstr "警告"
#: htdocs/luci-static/resources/fchomo/listeners.js:362
-#: htdocs/luci-static/resources/fchomo/listeners.js:1304
-#: htdocs/luci-static/resources/fchomo/listeners.js:1315
-#: htdocs/luci-static/resources/fchomo/listeners.js:1322
-#: 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:1387
-#: htdocs/luci-static/resources/view/fchomo/node.js:1400
-#: htdocs/luci-static/resources/view/fchomo/node.js:1407
-#: htdocs/luci-static/resources/view/fchomo/node.js:1413
+#: htdocs/luci-static/resources/fchomo/listeners.js:1294
+#: htdocs/luci-static/resources/fchomo/listeners.js:1305
+#: htdocs/luci-static/resources/fchomo/listeners.js:1312
+#: htdocs/luci-static/resources/view/fchomo/node.js:465
+#: htdocs/luci-static/resources/view/fchomo/node.js:494
+#: htdocs/luci-static/resources/view/fchomo/node.js:1667
+#: htdocs/luci-static/resources/view/fchomo/node.js:1680
+#: htdocs/luci-static/resources/view/fchomo/node.js:1687
+#: htdocs/luci-static/resources/view/fchomo/node.js:1693
msgid "WebSocket"
msgstr ""
@@ -3737,56 +3920,65 @@ msgstr ""
msgid "When used as a server, HomeProxy is a better choice."
msgstr "用作服務端時,HomeProxy 是更好的選擇。"
+#: htdocs/luci-static/resources/view/fchomo/node.js:978
+msgid "Whether to accept routes advertised by other nodes."
+msgstr "是否接受其他節點發布的路由。"
+
#: htdocs/luci-static/resources/view/fchomo/global.js:798
msgid "White list"
msgstr "白名單"
-#: htdocs/luci-static/resources/fchomo.js:207
+#: htdocs/luci-static/resources/fchomo.js:208
msgid "WireGuard"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:809
+#: htdocs/luci-static/resources/view/fchomo/node.js:924
msgid "WireGuard peer public key."
msgstr "WireGuard 對端公鑰。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:816
+#: htdocs/luci-static/resources/view/fchomo/node.js:931
msgid "WireGuard pre-shared key."
msgstr "WireGuard 預先共用金鑰。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:801
+#: htdocs/luci-static/resources/view/fchomo/node.js:903
msgid "WireGuard requires base64-encoded private keys."
msgstr "WireGuard 要求 base64 編碼的私鑰。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1305
-#: htdocs/luci-static/resources/fchomo/listeners.js:1316
-#: htdocs/luci-static/resources/view/fchomo/node.js:1388
-#: htdocs/luci-static/resources/view/fchomo/node.js:1408
+#: htdocs/luci-static/resources/view/fchomo/node.js:1579
+#: htdocs/luci-static/resources/view/fchomo/node.js:1604
+msgid "Wireguard"
+msgstr ""
+
+#: htdocs/luci-static/resources/fchomo/listeners.js:1295
+#: htdocs/luci-static/resources/fchomo/listeners.js:1306
+#: htdocs/luci-static/resources/view/fchomo/node.js:1668
+#: htdocs/luci-static/resources/view/fchomo/node.js:1688
msgid "XHTTP"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1352
-#: htdocs/luci-static/resources/view/fchomo/node.js:1503
+#: htdocs/luci-static/resources/fchomo/listeners.js:1342
+#: htdocs/luci-static/resources/view/fchomo/node.js:1783
msgid "XHTTP mode"
msgstr "XHTTP 模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1534
+#: htdocs/luci-static/resources/view/fchomo/node.js:1814
msgid "XMUX"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1539
-#: htdocs/luci-static/resources/view/fchomo/node.js:1544
-#: htdocs/luci-static/resources/view/fchomo/node.js:1549
-#: htdocs/luci-static/resources/view/fchomo/node.js:1554
-#: htdocs/luci-static/resources/view/fchomo/node.js:1559
-#: htdocs/luci-static/resources/view/fchomo/node.js:1564
+#: htdocs/luci-static/resources/view/fchomo/node.js:1819
+#: htdocs/luci-static/resources/view/fchomo/node.js:1824
+#: htdocs/luci-static/resources/view/fchomo/node.js:1829
+#: htdocs/luci-static/resources/view/fchomo/node.js:1834
+#: htdocs/luci-static/resources/view/fchomo/node.js:1839
+#: htdocs/luci-static/resources/view/fchomo/node.js:1844
msgid "XMUX:"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:829
+#: htdocs/luci-static/resources/fchomo/listeners.js:825
msgid "XOR mode"
msgstr "XOR 模式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:558
+#: htdocs/luci-static/resources/view/fchomo/node.js:572
msgid "Xudp (Xray-core)"
msgstr ""
@@ -3794,7 +3986,7 @@ msgstr ""
msgid "Yaml text"
msgstr "Yaml 格式文本"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2073
+#: htdocs/luci-static/resources/view/fchomo/node.js:2353
msgid "Yes"
msgstr ""
@@ -3802,31 +3994,39 @@ msgstr ""
msgid "YouTube"
msgstr "YouTube"
-#: htdocs/luci-static/resources/fchomo.js:2066
+#: htdocs/luci-static/resources/fchomo.js:2080
msgid "Your %s was successfully uploaded. Size: %sB."
msgstr "您的 %s 已成功上傳。大小:%sB。"
-#: 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
+#: htdocs/luci-static/resources/fchomo.js:207
+msgid "ZeroTier"
+msgstr ""
+
+#: htdocs/luci-static/resources/view/fchomo/node.js:823
+msgid "ZeroTier UDP payload MTU."
+msgstr "ZeroTier UDP 有效載荷 MTU。"
+
+#: htdocs/luci-static/resources/fchomo.js:349
+#: htdocs/luci-static/resources/fchomo.js:362
+#: htdocs/luci-static/resources/fchomo.js:367
+#: htdocs/luci-static/resources/view/fchomo/node.js:552
msgid "aes-128-gcm"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:348
+#: htdocs/luci-static/resources/fchomo.js:350
msgid "aes-192-gcm"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:349
-#: htdocs/luci-static/resources/fchomo.js:366
+#: htdocs/luci-static/resources/fchomo.js:351
+#: htdocs/luci-static/resources/fchomo.js:368
msgid "aes-256-gcm"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1920
+#: htdocs/luci-static/resources/view/fchomo/node.js:2200
msgid "age private key"
msgstr "age 私鑰"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1981
+#: htdocs/luci-static/resources/view/fchomo/node.js:2261
msgid "age public key"
msgstr "age 公鑰"
@@ -3838,7 +4038,7 @@ msgstr ""
msgid "age-x25519"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:535
+#: htdocs/luci-static/resources/view/fchomo/node.js:549
msgid "auto"
msgstr "自動"
@@ -3846,19 +4046,19 @@ msgstr "自動"
msgid "bbr"
msgstr "bbr"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1148
-#: htdocs/luci-static/resources/fchomo/listeners.js:1188
-#: htdocs/luci-static/resources/view/fchomo/node.js:1298
+#: htdocs/luci-static/resources/fchomo/listeners.js:1138
+#: htdocs/luci-static/resources/fchomo/listeners.js:1178
+#: htdocs/luci-static/resources/view/fchomo/node.js:1408
msgid "certificate"
msgstr "憑證"
-#: htdocs/luci-static/resources/fchomo.js:350
-#: htdocs/luci-static/resources/fchomo.js:361
-#: htdocs/luci-static/resources/fchomo.js:367
+#: htdocs/luci-static/resources/fchomo.js:352
+#: htdocs/luci-static/resources/fchomo.js:363
+#: htdocs/luci-static/resources/fchomo.js:369
msgid "chacha20-ietf-poly1305"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:539
+#: htdocs/luci-static/resources/view/fchomo/node.js:553
msgid "chacha20-poly1305"
msgstr ""
@@ -3866,8 +4066,8 @@ msgstr ""
msgid "cubic"
msgstr "cubic"
-#: htdocs/luci-static/resources/fchomo/listeners.js:781
-#: htdocs/luci-static/resources/fchomo/listeners.js:812
+#: htdocs/luci-static/resources/fchomo/listeners.js:777
+#: htdocs/luci-static/resources/fchomo/listeners.js:808
msgid "decryption"
msgstr "decryption"
@@ -3875,65 +4075,66 @@ msgstr "decryption"
msgid "dnsmasq selects upstream on its own. (may affect CDN accuracy)"
msgstr "dnsmasq 自行選擇上游服務器。 (可能影響 CDN 準確性)"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2055
+#: htdocs/luci-static/resources/view/fchomo/node.js:2335
msgid "down"
msgstr "Hysteria 下載速率"
-#: htdocs/luci-static/resources/fchomo/listeners.js:816
-#: htdocs/luci-static/resources/view/fchomo/node.js:1081
-#: htdocs/luci-static/resources/view/fchomo/node.js:1104
+#: htdocs/luci-static/resources/fchomo/listeners.js:812
+#: htdocs/luci-static/resources/view/fchomo/node.js:1191
+#: htdocs/luci-static/resources/view/fchomo/node.js:1214
msgid "encryption"
msgstr "encryption"
#: htdocs/luci-static/resources/fchomo/listeners.js:346
-#: htdocs/luci-static/resources/view/fchomo/node.js:435
+#: htdocs/luci-static/resources/view/fchomo/node.js:449
msgid "false = bandwidth optimized downlink; true = pure Sudoku downlink."
msgstr "false = 頻寬最佳化下行 true = 純 Sudoku 下行。"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1303
-#: htdocs/luci-static/resources/fchomo/listeners.js:1314
-#: htdocs/luci-static/resources/fchomo/listeners.js:1321
-#: htdocs/luci-static/resources/view/fchomo/node.js:1386
-#: htdocs/luci-static/resources/view/fchomo/node.js:1399
-#: htdocs/luci-static/resources/view/fchomo/node.js:1406
-#: htdocs/luci-static/resources/view/fchomo/node.js:1412
+#: htdocs/luci-static/resources/fchomo/listeners.js:1293
+#: htdocs/luci-static/resources/fchomo/listeners.js:1304
+#: htdocs/luci-static/resources/fchomo/listeners.js:1311
+#: htdocs/luci-static/resources/view/fchomo/node.js:1666
+#: htdocs/luci-static/resources/view/fchomo/node.js:1679
+#: htdocs/luci-static/resources/view/fchomo/node.js:1686
+#: htdocs/luci-static/resources/view/fchomo/node.js:1692
msgid "gRPC"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1469
+#: htdocs/luci-static/resources/view/fchomo/node.js:1749
msgid "gRPC User-Agent"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1474
+#: htdocs/luci-static/resources/view/fchomo/node.js:1754
msgid "gRPC ping interval"
msgstr "gRPC ping 間隔"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1346
-#: htdocs/luci-static/resources/view/fchomo/node.js:1465
+#: htdocs/luci-static/resources/fchomo/listeners.js:1336
+#: htdocs/luci-static/resources/view/fchomo/node.js:1745
msgid "gRPC service name"
msgstr "gRPC 服務名稱"
#: htdocs/luci-static/resources/view/fchomo/global.js:517
+#: htdocs/luci-static/resources/view/fchomo/node.js:896
msgid "gVisor"
msgstr "gVisor"
-#: htdocs/luci-static/resources/view/fchomo/node.js:897
+#: htdocs/luci-static/resources/view/fchomo/node.js:1014
msgid "h2"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1581
+#: htdocs/luci-static/resources/view/fchomo/node.js:1861
msgid "h2mux"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:895
+#: htdocs/luci-static/resources/view/fchomo/node.js:1012
msgid "h3"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:896
+#: htdocs/luci-static/resources/view/fchomo/node.js:1013
msgid "h3-l4proxy"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:981
+#: htdocs/luci-static/resources/fchomo/listeners.js:977
msgid "least one keypair required"
msgstr "至少需要一對密鑰"
@@ -3941,23 +4142,27 @@ msgstr "至少需要一對密鑰"
msgid "metacubexd"
msgstr "metacubexd"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1034
-#: htdocs/luci-static/resources/view/fchomo/client.js:1331
-#: htdocs/luci-static/resources/view/fchomo/client.js:1426
-#: htdocs/luci-static/resources/view/fchomo/client.js:1568
-#: htdocs/luci-static/resources/view/fchomo/client.js:1802
-#: htdocs/luci-static/resources/view/fchomo/client.js:1858
-#: htdocs/luci-static/resources/view/fchomo/node.js:1801
+#: htdocs/luci-static/resources/view/fchomo/node.js:897
+msgid "mihomo IP stack (MIPS)"
+msgstr "mihomo IP 協定棧(MIPS)"
+
+#: htdocs/luci-static/resources/view/fchomo/client.js:1046
+#: htdocs/luci-static/resources/view/fchomo/client.js:1343
+#: htdocs/luci-static/resources/view/fchomo/client.js:1438
+#: htdocs/luci-static/resources/view/fchomo/client.js:1580
+#: htdocs/luci-static/resources/view/fchomo/client.js:1814
+#: htdocs/luci-static/resources/view/fchomo/client.js:1870
+#: htdocs/luci-static/resources/view/fchomo/node.js:2081
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:247
msgid "mihomo config"
msgstr "mihomo 配置"
-#: htdocs/luci-static/resources/fchomo.js:393
+#: htdocs/luci-static/resources/fchomo.js:395
msgid "mlkem768x25519plus"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1654
-#: htdocs/luci-static/resources/view/fchomo/node.js:2033
+#: htdocs/luci-static/resources/view/fchomo/node.js:1934
+#: htdocs/luci-static/resources/view/fchomo/node.js:2313
msgid "mpTCP"
msgstr "多路徑 TCP (mpTCP)"
@@ -3965,22 +4170,22 @@ msgstr "多路徑 TCP (mpTCP)"
msgid "new_reno"
msgstr "new_reno"
-#: htdocs/luci-static/resources/view/fchomo/client.js:840
+#: htdocs/luci-static/resources/view/fchomo/client.js:852
msgid "no-resolve"
msgstr "no-resolve"
-#: 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
+#: htdocs/luci-static/resources/fchomo.js:1803
+#: htdocs/luci-static/resources/fchomo.js:1910
+#: htdocs/luci-static/resources/fchomo.js:1945
+#: htdocs/luci-static/resources/fchomo.js:1973
msgid "non-empty value"
msgstr "非空值"
-#: 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/fchomo.js:347
+#: htdocs/luci-static/resources/fchomo.js:361
+#: htdocs/luci-static/resources/fchomo.js:373
+#: htdocs/luci-static/resources/view/fchomo/node.js:550
+#: htdocs/luci-static/resources/view/fchomo/node.js:570
#: htdocs/luci-static/resources/view/fchomo/ruleset.js:324
msgid "none"
msgstr "無"
@@ -3989,55 +4194,55 @@ msgstr "無"
msgid "not found"
msgstr "未找到"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1051
+#: htdocs/luci-static/resources/view/fchomo/client.js:1063
msgid "not included \",\""
msgstr "不包含 \",\""
-#: htdocs/luci-static/resources/fchomo.js:231
-#: htdocs/luci-static/resources/fchomo/listeners.js:605
-#: htdocs/luci-static/resources/fchomo/listeners.js:608
+#: htdocs/luci-static/resources/fchomo.js:233
+#: htdocs/luci-static/resources/fchomo/listeners.js:604
+#: htdocs/luci-static/resources/fchomo/listeners.js:607
msgid "null"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:675
-#: htdocs/luci-static/resources/fchomo/listeners.js:685
-#: htdocs/luci-static/resources/view/fchomo/node.js:1004
-#: htdocs/luci-static/resources/view/fchomo/node.js:1016
+#: htdocs/luci-static/resources/fchomo/listeners.js:674
+#: htdocs/luci-static/resources/fchomo/listeners.js:684
+#: htdocs/luci-static/resources/view/fchomo/node.js:1111
+#: htdocs/luci-static/resources/view/fchomo/node.js:1123
msgid "obfs-simple"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:482
+#: htdocs/luci-static/resources/view/fchomo/node.js:496
msgid "only applies when %s is %s."
msgstr "僅當 %s 為 %s 時適用。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:480
+#: htdocs/luci-static/resources/view/fchomo/node.js:494
msgid "only applies when %s is not %s."
msgstr "僅當 %s 不為 %s 時適用。"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2014
+#: htdocs/luci-static/resources/view/fchomo/node.js:2294
msgid "override.override-expr"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:2006
+#: htdocs/luci-static/resources/view/fchomo/node.js:2286
msgid "override.proxy-name"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:557
+#: htdocs/luci-static/resources/view/fchomo/node.js:571
msgid "packet addr (v2ray-core v5+)"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1356
-#: htdocs/luci-static/resources/view/fchomo/node.js:1507
+#: htdocs/luci-static/resources/fchomo/listeners.js:1346
+#: htdocs/luci-static/resources/view/fchomo/node.js:1787
msgid "packet-up"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:360
-#: htdocs/luci-static/resources/view/fchomo/node.js:449
+#: htdocs/luci-static/resources/view/fchomo/node.js:463
msgid "poll"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1163
-#: htdocs/luci-static/resources/view/fchomo/node.js:1312
+#: htdocs/luci-static/resources/fchomo/listeners.js:1153
+#: htdocs/luci-static/resources/view/fchomo/node.js:1422
msgid "private key"
msgstr "私鑰"
@@ -4045,8 +4250,8 @@ msgstr "私鑰"
msgid "razord-meta"
msgstr "razord-meta"
-#: htdocs/luci-static/resources/view/fchomo/client.js:1255
-#: htdocs/luci-static/resources/view/fchomo/client.js:1261
+#: htdocs/luci-static/resources/view/fchomo/client.js:1267
+#: htdocs/luci-static/resources/view/fchomo/client.js:1273
msgid "requires front-end adaptation using the API."
msgstr "需要使用 API 的前端適配。"
@@ -4054,34 +4259,34 @@ msgstr "需要使用 API 的前端適配。"
msgid "rule-set"
msgstr "規則集"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1579
+#: htdocs/luci-static/resources/view/fchomo/node.js:1859
msgid "smux"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:359
-#: htdocs/luci-static/resources/view/fchomo/node.js:448
+#: htdocs/luci-static/resources/view/fchomo/node.js:462
msgid "split-stream"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/client.js:822
+#: htdocs/luci-static/resources/view/fchomo/client.js:834
msgid "src"
msgstr "src"
-#: htdocs/luci-static/resources/fchomo/listeners.js:1354
-#: htdocs/luci-static/resources/view/fchomo/node.js:1505
+#: htdocs/luci-static/resources/fchomo/listeners.js:1344
+#: htdocs/luci-static/resources/view/fchomo/node.js:1785
msgid "stream-one"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1355
-#: htdocs/luci-static/resources/view/fchomo/node.js:1506
+#: htdocs/luci-static/resources/fchomo/listeners.js:1345
+#: htdocs/luci-static/resources/view/fchomo/node.js:1786
msgid "stream-up"
msgstr ""
-#: htdocs/luci-static/resources/fchomo/listeners.js:1371
+#: htdocs/luci-static/resources/fchomo/listeners.js:1361
msgid "stream-up server seconds"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:482
+#: htdocs/luci-static/resources/view/fchomo/node.js:496
msgid "stream/poll/auto"
msgstr ""
@@ -4089,11 +4294,11 @@ msgstr ""
msgid "sudoku-keypair"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1068
+#: htdocs/luci-static/resources/view/fchomo/node.js:1178
msgid "tls12"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:1069
+#: htdocs/luci-static/resources/view/fchomo/node.js:1179
msgid "tls13"
msgstr ""
@@ -4101,100 +4306,104 @@ msgstr ""
msgid "unchecked"
msgstr "未檢查"
-#: htdocs/luci-static/resources/fchomo.js:457
+#: htdocs/luci-static/resources/fchomo.js:459
msgid "unique UCI identifier"
msgstr "獨立 UCI 識別"
-#: htdocs/luci-static/resources/fchomo.js:460
+#: htdocs/luci-static/resources/fchomo.js:462
msgid "unique identifier"
msgstr "獨立標識"
-#: htdocs/luci-static/resources/fchomo.js:1968
+#: htdocs/luci-static/resources/fchomo.js:1982
msgid "unique value"
msgstr "獨立值"
-#: htdocs/luci-static/resources/view/fchomo/node.js:2049
+#: htdocs/luci-static/resources/view/fchomo/node.js:2329
msgid "up"
msgstr "Hysteria 上傳速率"
#: htdocs/luci-static/resources/fchomo/listeners.js:385
-#: htdocs/luci-static/resources/fchomo/listeners.js:736
-#: 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:990
-#: htdocs/luci-static/resources/view/fchomo/node.js:1059
+#: htdocs/luci-static/resources/fchomo/listeners.js:738
+#: htdocs/luci-static/resources/view/fchomo/node.js:512
+#: htdocs/luci-static/resources/view/fchomo/node.js:648
+#: htdocs/luci-static/resources/view/fchomo/node.js:1097
+#: htdocs/luci-static/resources/view/fchomo/node.js:1169
msgid "v1"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:386
-#: htdocs/luci-static/resources/fchomo/listeners.js:737
-#: htdocs/luci-static/resources/view/fchomo/node.js:499
-#: htdocs/luci-static/resources/view/fchomo/node.js:991
-#: htdocs/luci-static/resources/view/fchomo/node.js:1060
+#: htdocs/luci-static/resources/fchomo/listeners.js:739
+#: htdocs/luci-static/resources/view/fchomo/node.js:513
+#: htdocs/luci-static/resources/view/fchomo/node.js:1098
+#: htdocs/luci-static/resources/view/fchomo/node.js:1170
msgid "v2"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:387
-#: htdocs/luci-static/resources/fchomo/listeners.js:738
-#: htdocs/luci-static/resources/view/fchomo/node.js:500
-#: htdocs/luci-static/resources/view/fchomo/node.js:1061
+#: htdocs/luci-static/resources/fchomo/listeners.js:740
+#: htdocs/luci-static/resources/view/fchomo/node.js:514
+#: htdocs/luci-static/resources/view/fchomo/node.js:1171
msgid "v3"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:388
-#: htdocs/luci-static/resources/view/fchomo/node.js:501
+#: htdocs/luci-static/resources/view/fchomo/node.js:515
msgid "v4"
msgstr ""
#: htdocs/luci-static/resources/fchomo/listeners.js:389
-#: htdocs/luci-static/resources/view/fchomo/node.js:502
+#: htdocs/luci-static/resources/view/fchomo/node.js:516
msgid "v5"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1848
-#: htdocs/luci-static/resources/fchomo.js:1851
+#: htdocs/luci-static/resources/fchomo.js:1850
+#: htdocs/luci-static/resources/fchomo.js:1853
msgid "valid JSON format"
msgstr "有效的 JSON 格式"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1266
+#: htdocs/luci-static/resources/view/fchomo/node.js:1376
msgid "valid SHA256 string with %d characters"
msgstr "包含 %d 個字元的有效 SHA256 字串"
-#: htdocs/luci-static/resources/fchomo.js:1873
-#: htdocs/luci-static/resources/fchomo.js:1876
+#: htdocs/luci-static/resources/fchomo.js:1875
+#: htdocs/luci-static/resources/fchomo.js:1878
msgid "valid URL"
msgstr "有效網址"
-#: htdocs/luci-static/resources/fchomo.js:1886
+#: htdocs/luci-static/resources/fchomo.js:1900
msgid "valid base64 key with %d characters"
msgstr "包含 %d 個字元的有效 base64 金鑰"
-#: htdocs/luci-static/resources/fchomo.js:1946
-#: htdocs/luci-static/resources/fchomo.js:1952
+#: htdocs/luci-static/resources/fchomo.js:1960
+#: htdocs/luci-static/resources/fchomo.js:1966
msgid "valid format: 2x, 2p, 4v"
msgstr "有效格式: 2x, 2p, 4v"
-#: htdocs/luci-static/resources/fchomo.js:1933
+#: htdocs/luci-static/resources/fchomo.js:1891
+msgid "valid hex string with %d characters"
+msgstr "包含 %d 个字符的有效 Hex 字串"
+
+#: htdocs/luci-static/resources/fchomo.js:1947
msgid "valid key length with %d characters"
msgstr "包含 %d 個字元的有效金鑰"
-#: htdocs/luci-static/resources/fchomo.js:1811
+#: htdocs/luci-static/resources/fchomo.js:1813
msgid "valid port value"
msgstr "有效連接埠值"
-#: htdocs/luci-static/resources/fchomo.js:1861
+#: htdocs/luci-static/resources/fchomo.js:1863
msgid "valid uuid"
msgstr "有效 uuid"
-#: htdocs/luci-static/resources/fchomo.js:417
+#: htdocs/luci-static/resources/fchomo.js:419
msgid "vless-mlkem768"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:416
+#: htdocs/luci-static/resources/fchomo.js:418
msgid "vless-x25519"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:351
+#: htdocs/luci-static/resources/fchomo.js:353
msgid "xchacha20-ietf-poly1305"
msgstr ""
@@ -4202,7 +4411,7 @@ msgstr ""
msgid "yacd-meta"
msgstr "yacd-meta"
-#: htdocs/luci-static/resources/view/fchomo/node.js:1580
+#: htdocs/luci-static/resources/view/fchomo/node.js:1860
msgid "yamux"
msgstr ""
@@ -4210,10 +4419,10 @@ msgstr ""
msgid "zashboard"
msgstr ""
-#: htdocs/luci-static/resources/view/fchomo/node.js:537
+#: htdocs/luci-static/resources/view/fchomo/node.js:551
msgid "zero"
msgstr ""
-#: htdocs/luci-static/resources/fchomo.js:1629
+#: htdocs/luci-static/resources/fchomo.js:1631
msgid "🡇"
msgstr ""
diff --git a/luci-app-fchomo/root/etc/init.d/fchomo b/luci-app-fchomo/root/etc/init.d/fchomo
index 117fa56d..fcbc44aa 100755
--- a/luci-app-fchomo/root/etc/init.d/fchomo
+++ b/luci-app-fchomo/root/etc/init.d/fchomo
@@ -47,11 +47,16 @@ opmc() { # @less_25_12
# add_firewall
add_firewall() {
- local enabled auto_firewall listen listen_port
+ local enabled auto_firewall listen listen_port type
config_get_bool enabled "$1" "enabled" "1"
config_get_bool auto_firewall "$1" "auto_firewall" "1"
config_get listen "$1" "listen" "::"
config_get listen_port "$1" "listen_port"
+ config_get type "$1" "type"
+
+ local "${type}_listen_port"
+ config_get "${type}_listen_port" "$1" "${type}_listen_port"
+ eval "listen_port=\"$listen_port,\$${type}_listen_port\""
[ "$enabled" = "0" ] && return 0
[ "$auto_firewall" = "0" ] && return 0
@@ -366,6 +371,7 @@ start_service() {
json_add_array firewall
# meta l4proto %s th dport %s counter accept comment "!%s: accept server instance [%s]"
config_foreach add_firewall "inbound"
+ config_foreach add_firewall "node"
json_close_array
procd_close_data
@@ -454,6 +460,10 @@ stop_service() {
[ -z "$1" -o "$1" = "mihomo-c" ] && stop_client
# Server
[ -z "$1" -o "$1" = "mihomo-s" ] && stop_server
+ # Directory
+ #find "$RUN_DIR"/* -maxdepth 0 -type d -exec rm -rf "{}" \;
+ # Resources
+ rm -rf "$RUN_DIR"/*.lock
# Setup firewall
echo 2>"/dev/null" > "$RUN_DIR/fchomo_pre.nft"
return 0
diff --git a/luci-app-fchomo/root/etc/uci-defaults/99_luci-app-fchomo b/luci-app-fchomo/root/etc/uci-defaults/99_luci-app-fchomo
index 15177df4..1bf5a484 100755
--- a/luci-app-fchomo/root/etc/uci-defaults/99_luci-app-fchomo
+++ b/luci-app-fchomo/root/etc/uci-defaults/99_luci-app-fchomo
@@ -1,7 +1,7 @@
#!/bin/sh
# Initialize necessary directories
-for d in certs provider ruleset resources templates; do
+for d in certs node provider ruleset resources templates; do
mkdir -p "/etc/fchomo/$d/" 2>/dev/null
done
diff --git a/luci-app-fchomo/root/usr/share/fchomo/generate_client.uc b/luci-app-fchomo/root/usr/share/fchomo/generate_client.uc
index cb169f5c..cd19da27 100644
--- a/luci-app-fchomo/root/usr/share/fchomo/generate_client.uc
+++ b/luci-app-fchomo/root/usr/share/fchomo/generate_client.uc
@@ -514,12 +514,14 @@ uci.foreach(uciconf, ucinode, (cfg) => {
"target-rematch-name": cfg.target_rematch_name,
"target-sub-rule": cfg.target_sub_rule,
- /* HTTP / SOCKS / Shadowsocks / VMess / VLESS / Trojan / TUIC / hysteria2 */
+ /* HTTP / SOCKS / Shadowsocks / VMess / VLESS / Trojan / TUIC / hysteria2 / ZeroTier / Tailscale / Masque */
username: cfg.username,
uuid: cfg.vmess_uuid || cfg.uuid,
cipher: cfg.vmess_chipher || cfg.shadowsocks_chipher,
password: cfg.shadowsocks_password || cfg.password,
headers: cfg.headers ? json(cfg.headers) : null,
+ network: cfg.zerotier_network_id || cfg.masque_network || null,
+ "state-dir": `${HM_DIR}/${ucinode}/${cfg['.name']}`,
/* Shadowsocks */
@@ -627,14 +629,50 @@ uci.foreach(uciconf, ucinode, (cfg) => {
"health-check": cfg.type === 'trusttunnel' ? (cfg.trusttunnel_health_check === '0' ? false : true) : null,
quic: strToBool(cfg.trusttunnel_quic),
+ /* ZeroTier */
+ "primary-port": strToInt(cfg.zerotier_primary_port),
+ "secondary-port": strToInt(cfg.zerotier_secondary_port),
+ "physical-mtu": strToInt(cfg.zerotier_physical_mtu) || null,
+ "tcp-fallback-mode": cfg.zerotier_fallback_mode,
+ "tcp-fallback-relay": cfg.zerotier_fallback_relay,
+ "remote-trace-target": cfg.zerotier_trace_target,
+ "remote-trace-level": strToInt(cfg.zerotier_trace_level),
+ "low-bandwidth": strToBool(cfg.zerotier_low_bandwidth),
+ "encrypted-hello": strToBool(cfg.zerotier_encrypted_hello),
+ //planet: `${HM_DIR}/${ucinode}/${cfg['.name']}/planet`,
+ ...(isEmpty(cfg.zerotier_orbit) ? {} : {
+ orbit: map([0], () => {
+ const orbits = [];
+ for (let orbit in cfg.zerotier_orbit) {
+ orbit = split(orbit, ':');
+ const world = shift(orbit);
+ for (let seed in orbit)
+ push(orbits, {world: world, seed: seed});
+ }
+ return orbits;
+ })[0]
+ }),
+ "ip-stack": cfg.zerotier_ipstack ? {
+ mode: cfg.zerotier_ipstack,
+ "congestion-controller": replace(cfg.congestion_controller, 'new_reno', 'reno')
+ } : null,
+
/* WireGuard */
"pre-shared-key": cfg.wireguard_pre_shared_key,
"allowed-ips": cfg.wireguard_allowed_ips,
reserved: cfg.wireguard_reserved,
"persistent-keepalive": strToInt(cfg.wireguard_persistent_keepalive),
+ /* Tailscale */
+ hostname: cfg.tailscale_hostname,
+ "auth-key": cfg.tailscale_auth_key,
+ "control-url": cfg.tailscale_control_url,
+ ephemeral: strToBool(cfg.tailscale_ephemeral),
+ "accept-routes": strToBool(cfg.tailscale_accept_routes),
+ "exit-node": cfg.tailscale_exit_node,
+ "exit-node-allow-lan-access": strToBool(cfg.tailscale_exit_node_allow_lan_access),
+
/* Masque */
- network: cfg.masque_network || null,
/* SSH */
"private-key-passphrase": cfg.ssh_priv_key_passphrase,
@@ -645,7 +683,7 @@ uci.foreach(uciconf, ucinode, (cfg) => {
"udp-over-stream": strToBool(cfg.shadowquic_udp_over_stream || cfg.tuic_udp_over_stream),
"heartbeat-interval": strToInt(cfg.tuic_heartbeat) || null,
"keep-alive-interval": strToInt(cfg.shadowquic_heartbeat) || null,
- "congestion-controller": cfg.congestion_controller,
+ "congestion-controller": cfg.type in ['zerotier'] ? null : cfg.congestion_controller,
"bbr-profile": cfg.bbr_profile,
"max-open-streams": strToInt(cfg.max_open_streams) || null,
diff --git a/luci-app-fchomo/root/usr/share/rpcd/ucode/luci.fchomo b/luci-app-fchomo/root/usr/share/rpcd/ucode/luci.fchomo
index 9681c616..12ce0094 100644
--- a/luci-app-fchomo/root/usr/share/rpcd/ucode/luci.fchomo
+++ b/luci-app-fchomo/root/usr/share/rpcd/ucode/luci.fchomo
@@ -37,7 +37,7 @@ function wGET(url, header, filepath) {
return exitcode;
}
-const RES_TYPE = ['certs', 'provider', 'ruleset', 'resources', 'templates'];
+const RES_TYPE = ['certs', 'node', 'provider', 'ruleset', 'resources', 'templates'];
const methods = {
mihomo_generator: {
@@ -330,7 +330,7 @@ const methods = {
},
file_read: {
- args: { type: 'type', filename: 'filename' },
+ args: { type: 'type', filename: 'filename', isbinary: 'isbinary' },
call: function(req) {
if (!(req.args?.type in RES_TYPE))
return { content: null, error: 'illegal type' };
@@ -338,13 +338,17 @@ const methods = {
if ((!req.args?.filename) || match(req.args?.filename, /\.\.\//))
return { content: null, error: 'illegal filename' };
- const filecontent = readfile(`${HM_DIR}/${req.args?.type}/${req.args?.filename}`);
+ let filecontent = readfile(`${HM_DIR}/${req.args?.type}/${req.args?.filename}`);
+
+ if (req.args?.isbinary == 1)
+ filecontent = b64enc(filecontent);
+
return { content: filecontent };
}
},
file_write: {
- args: { type: 'type', filename: 'filename', content: 'content' },
+ args: { type: 'type', filename: 'filename', content: 'content', isbinary: 'isbinary' },
call: function(req) {
if (!(req.args?.type in RES_TYPE))
return { result: false, error: 'illegal type' };
@@ -363,6 +367,9 @@ const methods = {
content += '\n';
}
+ if (req.args?.isbinary == 1)
+ content = b64dec(content);
+
//system(`mkdir -p ${HM_DIR}/${req.args?.type}`);
writefile(file, content);
@@ -403,7 +410,7 @@ const methods = {
if ((!req.args?.filename) || match(req.args?.filename, /\.\.\//))
return { result: false, error: 'illegal filename' };
- system(`rm -f ${HM_DIR}/${req.args?.type}/${shellQuote(req.args?.filename)}`);
+ system(`rm -rf ${HM_DIR}/${req.args?.type}/${shellQuote(req.args?.filename)}`);
return { result: true };
}
diff --git a/luci-app-feishuvpn/Makefile b/luci-app-feishuvpn/Makefile
index 5be6cc07..24998b7c 100644
--- a/luci-app-feishuvpn/Makefile
+++ b/luci-app-feishuvpn/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.2-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.2-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for FeiShuVpn
LUCI_PKGARCH:=all
diff --git a/luci-app-feishuvpn/luasrc/model/cbi/feishuvpn.lua b/luci-app-feishuvpn/luasrc/model/cbi/feishuvpn.lua
index 0a98eb13..0707406e 100644
--- a/luci-app-feishuvpn/luasrc/model/cbi/feishuvpn.lua
+++ b/luci-app-feishuvpn/luasrc/model/cbi/feishuvpn.lua
@@ -35,7 +35,7 @@ o = s:option(Value, "port", translate("Port").."*")
o.default = "9091"
o.datatype = "port"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o.default = "registry.cn-qingdao.aliyuncs.com/feishuwg/p2p:latest"
diff --git a/luci-app-feishuvpn/po/zh-cn/feishuvpn.po b/luci-app-feishuvpn/po/zh-cn/feishuvpn.po
index 14ba3bb9..666ede69 100644
--- a/luci-app-feishuvpn/po/zh-cn/feishuvpn.po
+++ b/luci-app-feishuvpn/po/zh-cn/feishuvpn.po
@@ -13,6 +13,9 @@ msgstr "飞鼠组网是一个点对点的组网工具。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Port"
msgstr "端口"
diff --git a/luci-app-gogs/Makefile b/luci-app-gogs/Makefile
index 328af848..326c999c 100644
--- a/luci-app-gogs/Makefile
+++ b/luci-app-gogs/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.3-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.3-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for Gogs
LUCI_PKGARCH:=all
diff --git a/luci-app-gogs/luasrc/model/cbi/gogs.lua b/luci-app-gogs/luasrc/model/cbi/gogs.lua
index be679a4c..552b2786 100644
--- a/luci-app-gogs/luasrc/model/cbi/gogs.lua
+++ b/luci-app-gogs/luasrc/model/cbi/gogs.lua
@@ -28,7 +28,7 @@ o.default = "3022"
o.datatype = "string"
o.rmempty = false
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("gogs/gogs:latest", "gogs/gogs:latest")
diff --git a/luci-app-gogs/po/zh-cn/gogs.po b/luci-app-gogs/po/zh-cn/gogs.po
index 76b41cfa..54a84da7 100644
--- a/luci-app-gogs/po/zh-cn/gogs.po
+++ b/luci-app-gogs/po/zh-cn/gogs.po
@@ -10,6 +10,9 @@ msgstr "Gogs 是一个轻松易用的 Git 服务。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "HTTP Port"
msgstr "HTTP 端口"
diff --git a/luci-app-homeassistant/Makefile b/luci-app-homeassistant/Makefile
index 47845666..325ecba0 100644
--- a/luci-app-homeassistant/Makefile
+++ b/luci-app-homeassistant/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.1.4-r20250321
-PKG_RELEASE:=4
+PKG_VERSION:=1.1.4-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for homeassistant
LUCI_PKGARCH:=all
diff --git a/luci-app-homeassistant/luasrc/model/cbi/homeassistant/config.lua b/luci-app-homeassistant/luasrc/model/cbi/homeassistant/config.lua
index bae81d03..f846cdde 100644
--- a/luci-app-homeassistant/luasrc/model/cbi/homeassistant/config.lua
+++ b/luci-app-homeassistant/luasrc/model/cbi/homeassistant/config.lua
@@ -18,7 +18,7 @@ s = m:section(TypedSection, "homeassistant", translate("Setup"), translate("The
s.addremove=false
s.anonymous=true
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("homeassistant/home-assistant:latest", "homeassistant/home-assistant:latest")
diff --git a/luci-app-homeassistant/po/zh-cn/homeassistant.po b/luci-app-homeassistant/po/zh-cn/homeassistant.po
index 78f2166c..b671b645 100644
--- a/luci-app-homeassistant/po/zh-cn/homeassistant.po
+++ b/luci-app-homeassistant/po/zh-cn/homeassistant.po
@@ -10,6 +10,9 @@ msgstr "将本地控制和隐私放在首位的开源家庭自动化,由全世
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Service Status"
msgstr "服务状态"
diff --git a/luci-app-htreader/Makefile b/luci-app-htreader/Makefile
index cdad2fc6..cc37a3a7 100644
--- a/luci-app-htreader/Makefile
+++ b/luci-app-htreader/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.2-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.2-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for HTReader
LUCI_PKGARCH:=all
diff --git a/luci-app-htreader/luasrc/model/cbi/htreader.lua b/luci-app-htreader/luasrc/model/cbi/htreader.lua
index e797b469..05e4741b 100644
--- a/luci-app-htreader/luasrc/model/cbi/htreader.lua
+++ b/luci-app-htreader/luasrc/model/cbi/htreader.lua
@@ -47,7 +47,7 @@ o = s:option(Value, "active_code", translate("Active code"))
o.datatype = "string"
o:depends("multiuser", 1)
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o.default = "hectorqin/reader"
diff --git a/luci-app-htreader/po/zh-cn/htreader.po b/luci-app-htreader/po/zh-cn/htreader.po
index 0a37d418..77488167 100644
--- a/luci-app-htreader/po/zh-cn/htreader.po
+++ b/luci-app-htreader/po/zh-cn/htreader.po
@@ -10,6 +10,9 @@ msgstr "HTReader 是一个网页版本在线读书。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Port"
msgstr "端口"
diff --git a/luci-app-immich/Makefile b/luci-app-immich/Makefile
index dc41b76a..97e42ecc 100644
--- a/luci-app-immich/Makefile
+++ b/luci-app-immich/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.2-r20250321
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.2-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for Immich
LUCI_PKGARCH:=all
diff --git a/luci-app-immich/luasrc/model/cbi/immich.lua b/luci-app-immich/luasrc/model/cbi/immich.lua
index a0c3db60..713a5b3d 100644
--- a/luci-app-immich/luasrc/model/cbi/immich.lua
+++ b/luci-app-immich/luasrc/model/cbi/immich.lua
@@ -35,7 +35,7 @@ o = s:option(Value, "port", translate("Port").."*")
o.default = "2283"
o.datatype = "port"
-o = s:option(Value, "image_ver", translate("Image").."*")
+o = s:option(Value, "image_ver", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o.default = "release"
diff --git a/luci-app-immich/po/zh-cn/immich.po b/luci-app-immich/po/zh-cn/immich.po
index 3475a356..ba1fb43d 100644
--- a/luci-app-immich/po/zh-cn/immich.po
+++ b/luci-app-immich/po/zh-cn/immich.po
@@ -13,6 +13,9 @@ msgstr "Immich 是私有化的相册视频管理工具。很占资源,网络
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Port"
msgstr "端口"
diff --git a/luci-app-istoredup/Makefile b/luci-app-istoredup/Makefile
index 75a8159f..0ed9df5a 100644
--- a/luci-app-istoredup/Makefile
+++ b/luci-app-istoredup/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.1.7-r20241211
-PKG_RELEASE:=4
+PKG_VERSION:=1.1.7-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for istoredup
LUCI_PKGARCH:=all
diff --git a/luci-app-istoredup/luasrc/model/cbi/istoredup/config.lua b/luci-app-istoredup/luasrc/model/cbi/istoredup/config.lua
index 008e274d..79207bb9 100644
--- a/luci-app-istoredup/luasrc/model/cbi/istoredup/config.lua
+++ b/luci-app-istoredup/luasrc/model/cbi/istoredup/config.lua
@@ -31,7 +31,7 @@ s = m:section(TypedSection, "istoredup", translate("Setup"),
s.addremove=false
s.anonymous=true
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("linkease/istoreduprk35xx:latest", "linkease/istoreduprk35xx:latest")
diff --git a/luci-app-istoredup/po/zh-cn/istoredup.po b/luci-app-istoredup/po/zh-cn/istoredup.po
index 5b34f151..e1e160c9 100644
--- a/luci-app-istoredup/po/zh-cn/istoredup.po
+++ b/luci-app-istoredup/po/zh-cn/istoredup.po
@@ -7,6 +7,9 @@ msgstr "官方网站:"
msgid "A duplica of iStoreOS."
msgstr "iStoreOS 的分身,可以把风险高的软件安装到分身里面,出问题不影响到主系统。"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Service Status"
msgstr "服务状态"
diff --git a/luci-app-istorepanel/Makefile b/luci-app-istorepanel/Makefile
index 816b88e8..bc170d95 100644
--- a/luci-app-istorepanel/Makefile
+++ b/luci-app-istorepanel/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.6-r20250406
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.6-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for 1Panel
LUCI_PKGARCH:=all
diff --git a/luci-app-istorepanel/luasrc/model/cbi/istorepanel.lua b/luci-app-istorepanel/luasrc/model/cbi/istorepanel.lua
index 2258a6ca..0de8011d 100644
--- a/luci-app-istorepanel/luasrc/model/cbi/istorepanel.lua
+++ b/luci-app-istorepanel/luasrc/model/cbi/istorepanel.lua
@@ -52,7 +52,7 @@ o:value("v1.10.11-lts", "v1.10.11-lts")
o:value("v1.10.28-lts", "v1.10.28-lts")
o.default = 'v1.10.28-lts'
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("linkease/istorepanel:latest", "linkease/istorepanel:latest")
diff --git a/luci-app-istorepanel/po/zh-cn/istorepanel.po b/luci-app-istorepanel/po/zh-cn/istorepanel.po
index 0301ecdd..ba3529ea 100644
--- a/luci-app-istorepanel/po/zh-cn/istorepanel.po
+++ b/luci-app-istorepanel/po/zh-cn/istorepanel.po
@@ -10,6 +10,9 @@ msgstr "1Panel 是新一代的 Linux 服务器运维管理面板"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Port"
msgstr "端口"
diff --git a/luci-app-ittools/Makefile b/luci-app-ittools/Makefile
index fcd85605..ad6fc390 100644
--- a/luci-app-ittools/Makefile
+++ b/luci-app-ittools/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.4-r20250321
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.4-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for ITTools
LUCI_PKGARCH:=all
diff --git a/luci-app-ittools/luasrc/model/cbi/ittools.lua b/luci-app-ittools/luasrc/model/cbi/ittools.lua
index 79eaef81..44fc4802 100644
--- a/luci-app-ittools/luasrc/model/cbi/ittools.lua
+++ b/luci-app-ittools/luasrc/model/cbi/ittools.lua
@@ -35,7 +35,7 @@ o.default = "9070"
o.datatype = "port"
o:depends("hostnet", 0)
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o.default = "corentinth/it-tools:latest"
diff --git a/luci-app-ittools/po/zh-cn/ittools.po b/luci-app-ittools/po/zh-cn/ittools.po
index d1d9c5cc..aa23f02e 100644
--- a/luci-app-ittools/po/zh-cn/ittools.po
+++ b/luci-app-ittools/po/zh-cn/ittools.po
@@ -1,6 +1,9 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "ITTools"
msgid "开发工具集"
diff --git a/luci-app-jackett/Makefile b/luci-app-jackett/Makefile
index 85c9c960..08030bed 100644
--- a/luci-app-jackett/Makefile
+++ b/luci-app-jackett/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.1.1-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.1.1-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for jackett
LUCI_PKGARCH:=all
diff --git a/luci-app-jackett/luasrc/model/cbi/jackett.lua b/luci-app-jackett/luasrc/model/cbi/jackett.lua
index fdc70801..055fdbb7 100644
--- a/luci-app-jackett/luasrc/model/cbi/jackett.lua
+++ b/luci-app-jackett/luasrc/model/cbi/jackett.lua
@@ -23,7 +23,7 @@ o.rmempty = false
o.default = "9117"
o.datatype = "port"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("linuxserver/jackett:latest", "linuxserver/jackett:latest")
diff --git a/luci-app-jackett/po/zh-cn/jackett.po b/luci-app-jackett/po/zh-cn/jackett.po
index ed79c0b6..19a7152c 100644
--- a/luci-app-jackett/po/zh-cn/jackett.po
+++ b/luci-app-jackett/po/zh-cn/jackett.po
@@ -10,6 +10,9 @@ msgstr "Jackett 是维护索引器抓取和翻译逻辑的单一存储库 - 消
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Torrent save path"
msgstr "种子保存路径"
diff --git a/luci-app-jellyfin/Makefile b/luci-app-jellyfin/Makefile
index 8702c858..b5f2d54e 100644
--- a/luci-app-jellyfin/Makefile
+++ b/luci-app-jellyfin/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.2.2-r20250321
-PKG_RELEASE:=4
+PKG_VERSION:=1.2.2-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for jellyfin
LUCI_PKGARCH:=all
diff --git a/luci-app-jellyfin/luasrc/model/cbi/jellyfin.lua b/luci-app-jellyfin/luasrc/model/cbi/jellyfin.lua
index e24525ec..fb9c3e25 100644
--- a/luci-app-jellyfin/luasrc/model/cbi/jellyfin.lua
+++ b/luci-app-jellyfin/luasrc/model/cbi/jellyfin.lua
@@ -27,7 +27,7 @@ s = m:section(TypedSection, "jellyfin", translate("Setup"),
s.addremove=false
s.anonymous=true
-o = s:option(Value, "image", translate("Image"))
+o = s:option(Value, "image", translate("Docker Image"))
o.datatype = "string"
o:value("", translate("Default"))
if luci.sys.call("grep -q 'rockchip,' /proc/device-tree/compatible 2>/dev/null") == 0 then
diff --git a/luci-app-jellyfin/po/zh-cn/jellyfin.po b/luci-app-jellyfin/po/zh-cn/jellyfin.po
index 6faf28a7..f495ff8a 100644
--- a/luci-app-jellyfin/po/zh-cn/jellyfin.po
+++ b/luci-app-jellyfin/po/zh-cn/jellyfin.po
@@ -22,7 +22,7 @@ msgstr "x86 系列"
msgid "Raspberry Pi series"
msgstr "树莓派系列"
-msgid "Image"
+msgid "Docker Image"
msgstr "镜像"
msgid "Default"
diff --git a/luci-app-kodexplorer/Makefile b/luci-app-kodexplorer/Makefile
index fc269745..fa6d7d1e 100644
--- a/luci-app-kodexplorer/Makefile
+++ b/luci-app-kodexplorer/Makefile
@@ -9,7 +9,7 @@ LUCI_TITLE:=LuCI support for KodExplorer
LUCI_DEPENDS:=+nginx-ssl +unzip +zoneinfo-asia +php8 +php8-fastcgi +php8-fpm +php8-mod-curl +php8-mod-dom +php8-mod-gd +php8-mod-iconv +php8-mod-mbstring +php8-mod-opcache +php8-mod-session +php8-mod-zip +php8-mod-sqlite3 +php8-mod-pdo +php8-mod-pdo-sqlite +php8-mod-pdo-mysql +php8-mod-xml +php8-mod-xmlreader +php8-mod-xmlwriter
LUCI_PKGARCH:=all
PKG_VERSION:=20220109
-PKG_RELEASE:=2
+PKG_RELEASE:=3
include $(TOPDIR)/feeds/luci/luci.mk
diff --git a/luci-app-kodexplorer/root/etc/uci-defaults/luci-app-kodexplorer b/luci-app-kodexplorer/root/etc/uci-defaults/luci-app-kodexplorer
index 2d8d5a0a..adee2560 100644
--- a/luci-app-kodexplorer/root/etc/uci-defaults/luci-app-kodexplorer
+++ b/luci-app-kodexplorer/root/etc/uci-defaults/luci-app-kodexplorer
@@ -1,19 +1,4 @@
#!/bin/sh
-[ ! -f "/usr/share/ucitrack/luci-app-kodexplorer.json" ] && {
- cat > /usr/share/ucitrack/luci-app-kodexplorer.json << EEOF
-{
- "config": "kodexplorer",
- "init": "kodexplorer"
-}
-EEOF
-}
-
-uci -q batch <<-EOF >/dev/null
- delete ucitrack.@kodexplorer[-1]
- add ucitrack kodexplorer
- set ucitrack.@kodexplorer[-1].init=kodexplorer
- commit ucitrack
-EOF
/etc/init.d/php8-fpm stop
/etc/init.d/php8-fpm disable
diff --git a/luci-app-lanraragi/Makefile b/luci-app-lanraragi/Makefile
index cb9a45a1..7910f9c6 100644
--- a/luci-app-lanraragi/Makefile
+++ b/luci-app-lanraragi/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.1-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.1-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for LANraragi
LUCI_PKGARCH:=all
diff --git a/luci-app-lanraragi/luasrc/model/cbi/lanraragi.lua b/luci-app-lanraragi/luasrc/model/cbi/lanraragi.lua
index 9959f437..6bfdfece 100644
--- a/luci-app-lanraragi/luasrc/model/cbi/lanraragi.lua
+++ b/luci-app-lanraragi/luasrc/model/cbi/lanraragi.lua
@@ -24,7 +24,7 @@ o.rmempty = false
o.default = "3000"
o.datatype = "string"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("dezhao/lanraragi_cn", "dezhao/lanraragi_cn")
diff --git a/luci-app-lanraragi/po/zh-cn/lanraragi.po b/luci-app-lanraragi/po/zh-cn/lanraragi.po
index 06feaeca..ab1b5c05 100644
--- a/luci-app-lanraragi/po/zh-cn/lanraragi.po
+++ b/luci-app-lanraragi/po/zh-cn/lanraragi.po
@@ -13,6 +13,9 @@ msgstr "配置文件路径"
msgid "Content path"
msgstr "资源路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "HTTP Port"
msgstr "HTTP 端口"
diff --git a/luci-app-memos/Makefile b/luci-app-memos/Makefile
index 43b1ef9d..378a8c86 100644
--- a/luci-app-memos/Makefile
+++ b/luci-app-memos/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.2-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.2-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for Memos
LUCI_PKGARCH:=all
diff --git a/luci-app-memos/luasrc/model/cbi/memos.lua b/luci-app-memos/luasrc/model/cbi/memos.lua
index 005be539..cea522ef 100644
--- a/luci-app-memos/luasrc/model/cbi/memos.lua
+++ b/luci-app-memos/luasrc/model/cbi/memos.lua
@@ -22,7 +22,7 @@ o = s:option(Value, "http_port", translate("HTTP Port").."*")
o.default = "5230"
o.datatype = "port"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("neosmemo/memos:latest", "neosmemo/memos:latest")
diff --git a/luci-app-memos/po/zh-cn/memos.po b/luci-app-memos/po/zh-cn/memos.po
index 86fb62f4..6b77066d 100644
--- a/luci-app-memos/po/zh-cn/memos.po
+++ b/luci-app-memos/po/zh-cn/memos.po
@@ -13,6 +13,9 @@ msgstr "Memos 是一个开源的极简的碎片化知识管理工具。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "HTTP Port"
msgstr "HTTP 端口"
diff --git a/luci-app-mtphotos/Makefile b/luci-app-mtphotos/Makefile
index cfe26e08..e7d7d840 100644
--- a/luci-app-mtphotos/Makefile
+++ b/luci-app-mtphotos/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.2-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.2-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for MTPhotos
LUCI_PKGARCH:=all
diff --git a/luci-app-mtphotos/luasrc/model/cbi/mtphotos.lua b/luci-app-mtphotos/luasrc/model/cbi/mtphotos.lua
index 60150181..dcb32064 100644
--- a/luci-app-mtphotos/luasrc/model/cbi/mtphotos.lua
+++ b/luci-app-mtphotos/luasrc/model/cbi/mtphotos.lua
@@ -36,7 +36,7 @@ o.default = "8063"
o.datatype = "port"
o:depends("hostnet", 0)
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("mtphotos/mt-photos:nodb-latest", "mtphotos/mt-photos:nodb-latest")
diff --git a/luci-app-mtphotos/po/zh-cn/mtphotos.po b/luci-app-mtphotos/po/zh-cn/mtphotos.po
index 21e90deb..d3be2390 100644
--- a/luci-app-mtphotos/po/zh-cn/mtphotos.po
+++ b/luci-app-mtphotos/po/zh-cn/mtphotos.po
@@ -10,6 +10,9 @@ msgstr "MTPhotos 是一个相册管理软件。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Upload path"
msgstr "上传文件路径"
diff --git a/luci-app-nastools/Makefile b/luci-app-nastools/Makefile
index a4db80b5..c3bd0587 100644
--- a/luci-app-nastools/Makefile
+++ b/luci-app-nastools/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.1.3-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.1.3-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for nastools
LUCI_PKGARCH:=all
diff --git a/luci-app-nastools/luasrc/model/cbi/nastools.lua b/luci-app-nastools/luasrc/model/cbi/nastools.lua
index dafc0d47..a0e1bab4 100644
--- a/luci-app-nastools/luasrc/model/cbi/nastools.lua
+++ b/luci-app-nastools/luasrc/model/cbi/nastools.lua
@@ -23,7 +23,7 @@ o.rmempty = false
o.default = "3003"
o.datatype = "port"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("jxxghp/nas-tools", "jxxghp/nas-tools")
diff --git a/luci-app-nastools/po/zh-cn/nastools.po b/luci-app-nastools/po/zh-cn/nastools.po
index 499d6561..346cb573 100644
--- a/luci-app-nastools/po/zh-cn/nastools.po
+++ b/luci-app-nastools/po/zh-cn/nastools.po
@@ -10,6 +10,9 @@ msgstr "NasTools 是汇聚了电影搜索,下载,订阅,观看等等 NAS
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Port"
msgstr "端口"
diff --git a/luci-app-navidrome/Makefile b/luci-app-navidrome/Makefile
index 35d027ef..0f8b2b84 100644
--- a/luci-app-navidrome/Makefile
+++ b/luci-app-navidrome/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.1-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.1-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for Navidrome
LUCI_PKGARCH:=all
diff --git a/luci-app-navidrome/luasrc/model/cbi/navidrome.lua b/luci-app-navidrome/luasrc/model/cbi/navidrome.lua
index 3e408a9a..9b877f94 100644
--- a/luci-app-navidrome/luasrc/model/cbi/navidrome.lua
+++ b/luci-app-navidrome/luasrc/model/cbi/navidrome.lua
@@ -23,7 +23,7 @@ o.rmempty = false
o.default = "3000"
o.datatype = "string"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("difegue/navidrome", "difegue/navidrome")
diff --git a/luci-app-navidrome/po/zh-cn/navidrome.po b/luci-app-navidrome/po/zh-cn/navidrome.po
index 4aeea8eb..6027342e 100644
--- a/luci-app-navidrome/po/zh-cn/navidrome.po
+++ b/luci-app-navidrome/po/zh-cn/navidrome.po
@@ -10,6 +10,9 @@ msgstr "Navidrome 是一个开源的在线音乐播放软件。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Music path"
msgstr "音乐路径"
diff --git a/luci-app-nextcloud/Makefile b/luci-app-nextcloud/Makefile
index 4c92d0bd..cc4a9468 100644
--- a/luci-app-nextcloud/Makefile
+++ b/luci-app-nextcloud/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.1.1-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.1.1-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for nextcloud
LUCI_PKGARCH:=all
diff --git a/luci-app-nextcloud/luasrc/model/cbi/nextcloud.lua b/luci-app-nextcloud/luasrc/model/cbi/nextcloud.lua
index b6c9db18..ae0fed81 100644
--- a/luci-app-nextcloud/luasrc/model/cbi/nextcloud.lua
+++ b/luci-app-nextcloud/luasrc/model/cbi/nextcloud.lua
@@ -23,7 +23,7 @@ o.rmempty = false
o.default = "8082"
o.datatype = "port"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("nextcloud", "nextcloud")
diff --git a/luci-app-nextcloud/po/zh-cn/nextcloud.po b/luci-app-nextcloud/po/zh-cn/nextcloud.po
index 13fd28f7..0ae79ea7 100644
--- a/luci-app-nextcloud/po/zh-cn/nextcloud.po
+++ b/luci-app-nextcloud/po/zh-cn/nextcloud.po
@@ -10,6 +10,9 @@ msgstr "所有数据的安全之家。 根据您的条件,从任何设备访
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Port"
msgstr "端口"
diff --git a/luci-app-nikki/Makefile b/luci-app-nikki/Makefile
index c87edaa5..c37802cb 100644
--- a/luci-app-nikki/Makefile
+++ b/luci-app-nikki/Makefile
@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_VERSION:=1.26.1
-PKG_RELEASE:=7
+PKG_RELEASE:=8
LUCI_TITLE:=LuCI Support for nikki
LUCI_DEPENDS:=+luci-base +nikki
diff --git a/luci-app-nikki/root/usr/share/rpcd/ucode/luci.nikki b/luci-app-nikki/root/usr/share/rpcd/ucode/luci.nikki
index 1aac65f0..9f205e36 100644
--- a/luci-app-nikki/root/usr/share/rpcd/ucode/luci.nikki
+++ b/luci-app-nikki/root/usr/share/rpcd/ucode/luci.nikki
@@ -82,7 +82,7 @@ const methods = {
const protocol = api_tls_listen ? 'https' : 'http';
- const url = api_listen + path;
+ const url = (api_tls_listen ?? api_listen) + path;
const process = popen(`curl --proto-default '${protocol}' --insecure --request '${method}' --oauth2-bearer '${api_secret}' --url-query '${query}' --data '${body}' '${url}'`);
if (process) {
diff --git a/luci-app-oneapi/Makefile b/luci-app-oneapi/Makefile
index d87b7d1b..54b1db78 100644
--- a/luci-app-oneapi/Makefile
+++ b/luci-app-oneapi/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.1-r20250403
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.1-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for OneAPI
LUCI_PKGARCH:=all
diff --git a/luci-app-oneapi/luasrc/model/cbi/oneapi.lua b/luci-app-oneapi/luasrc/model/cbi/oneapi.lua
index 1067307e..91fe06c0 100644
--- a/luci-app-oneapi/luasrc/model/cbi/oneapi.lua
+++ b/luci-app-oneapi/luasrc/model/cbi/oneapi.lua
@@ -36,7 +36,7 @@ o.default = "3005"
o.datatype = "port"
o:depends("hostnet", 0)
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("justsong/one-api:latest", "justsong/one-api:latest")
diff --git a/luci-app-oneapi/po/zh-cn/oneapi.po b/luci-app-oneapi/po/zh-cn/oneapi.po
index 31c0518a..4579d7d0 100644
--- a/luci-app-oneapi/po/zh-cn/oneapi.po
+++ b/luci-app-oneapi/po/zh-cn/oneapi.po
@@ -10,6 +10,9 @@ msgstr "OneAPI 是LLM API 管理 & 分发系统,支持 OpenAI、Azure、Anthro
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Port"
msgstr "端口"
diff --git a/luci-app-openwebui/Makefile b/luci-app-openwebui/Makefile
index 5d7d26ad..61959b30 100644
--- a/luci-app-openwebui/Makefile
+++ b/luci-app-openwebui/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.8-r20250207
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.8-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for OpenWebUI
LUCI_PKGARCH:=all
diff --git a/luci-app-openwebui/luasrc/model/cbi/openwebui.lua b/luci-app-openwebui/luasrc/model/cbi/openwebui.lua
index f7148d16..337acf2d 100644
--- a/luci-app-openwebui/luasrc/model/cbi/openwebui.lua
+++ b/luci-app-openwebui/luasrc/model/cbi/openwebui.lua
@@ -35,7 +35,7 @@ o = s:option(Value, "port", translate("Port").."*")
o.default = "3000"
o.datatype = "port"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("ghcr.io/open-webui/open-webui:main", "ghcr.io/open-webui/open-webui:main")
diff --git a/luci-app-openwebui/po/zh-cn/openwebui.po b/luci-app-openwebui/po/zh-cn/openwebui.po
index 59d67ac1..127a57bf 100644
--- a/luci-app-openwebui/po/zh-cn/openwebui.po
+++ b/luci-app-openwebui/po/zh-cn/openwebui.po
@@ -10,6 +10,9 @@ msgstr "Open WebUI 是一款可扩展、自托管的 AI 界面,能够无缝适
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Port"
msgstr "端口"
diff --git a/luci-app-owntone/Makefile b/luci-app-owntone/Makefile
index 7dfb384d..f5b15d56 100644
--- a/luci-app-owntone/Makefile
+++ b/luci-app-owntone/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.2-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.2-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for Owntone
LUCI_PKGARCH:=all
diff --git a/luci-app-owntone/luasrc/model/cbi/owntone.lua b/luci-app-owntone/luasrc/model/cbi/owntone.lua
index 4718fab2..9802562f 100644
--- a/luci-app-owntone/luasrc/model/cbi/owntone.lua
+++ b/luci-app-owntone/luasrc/model/cbi/owntone.lua
@@ -18,7 +18,7 @@ s = m:section(TypedSection, "main", translate("Setup"), translate("The following
s.addremove=false
s.anonymous=true
-o = s:option(Value, "image_name", translate("Image").."*", translate("Owntone only works in host network with port 3689"))
+o = s:option(Value, "image_name", translate("Docker Image").."*", translate("Owntone only works in host network with port 3689"))
o.rmempty = false
o.datatype = "string"
o:value("lscr.io/linuxserver/daapd:latest", "lscr.io/linuxserver/daapd:latest")
diff --git a/luci-app-owntone/po/zh-cn/owntone.po b/luci-app-owntone/po/zh-cn/owntone.po
index b480063a..f3512101 100644
--- a/luci-app-owntone/po/zh-cn/owntone.po
+++ b/luci-app-owntone/po/zh-cn/owntone.po
@@ -10,6 +10,9 @@ msgstr "Owntone 是一个支持 iTunes, AirPlay, Chromecast 等的音乐串流
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Service Status"
msgstr "服务状态"
diff --git a/luci-app-passwall/Makefile b/luci-app-passwall/Makefile
index 041e9dd3..ba285dc7 100644
--- a/luci-app-passwall/Makefile
+++ b/luci-app-passwall/Makefile
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall
PKG_VERSION:=26.8.1
-PKG_RELEASE:=200
+PKG_RELEASE:=201
PKG_PO_VERSION:=$(PKG_VERSION)
PKG_CONFIG_DEPENDS:= \
diff --git a/luci-app-passwall/root/usr/share/passwall/nftables.sh b/luci-app-passwall/root/usr/share/passwall/nftables.sh
index 6326035f..7da8cde9 100755
--- a/luci-app-passwall/root/usr/share/passwall/nftables.sh
+++ b/luci-app-passwall/root/usr/share/passwall/nftables.sh
@@ -236,7 +236,9 @@ gen_nftset() {
nft "add set $NFTABLE_NAME $nftset_name { type $ip_type; flags interval, timeout; timeout $timeout_argument_set; gc-interval $gc_interval_time; auto-merge; }"
fi
fi
- [ $# -gt 0 ] || [ ! -t 0 ] && insert_nftset "$nftset_name" "$@"
+ if [ $# -gt 0 ]; then
+ insert_nftset "$nftset_name" "$@"
+ fi
}
get_jump_nft() {
diff --git a/luci-app-passwall/root/usr/share/passwall/utils.sh b/luci-app-passwall/root/usr/share/passwall/utils.sh
index c5fc7275..167d18ae 100755
--- a/luci-app-passwall/root/usr/share/passwall/utils.sh
+++ b/luci-app-passwall/root/usr/share/passwall/utils.sh
@@ -475,7 +475,10 @@ ln_run() {
[ -x "${file_func}" ] || echolog " - $(readlink ${file_func}) 没有执行权限,无法启动:${file_func} $*"
fi
#echo "${file_func} $*" >&2
- [ -n "${file_func}" ] || echolog " - 找不到 ${ln_name},无法启动..."
+ [ -n "${file_func}" ] || {
+ echolog " - 找不到 ${ln_name},无法启动..."
+ return 1
+ }
[ "${output}" != "/dev/null" ] && [ -n "$(echo "${output}" | grep -E "default|SOCKS_")" ] && [ "${ln_name}" != "chinadns-ng" ] && {
local persist_log_path=$(config_t_get global persist_log_path)
local sys_log=$(config_t_get global sys_log "0")
diff --git a/luci-app-passwall2/Makefile b/luci-app-passwall2/Makefile
index eab1315c..a5d06f1e 100644
--- a/luci-app-passwall2/Makefile
+++ b/luci-app-passwall2/Makefile
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall2
PKG_VERSION:=26.7.16
-PKG_RELEASE:=67
+PKG_RELEASE:=68
PKG_PO_VERSION:=$(PKG_VERSION)
PKG_CONFIG_DEPENDS:= \
diff --git a/luci-app-passwall2/root/usr/share/passwall2/utils.sh b/luci-app-passwall2/root/usr/share/passwall2/utils.sh
index fe15aa9d..c969936b 100755
--- a/luci-app-passwall2/root/usr/share/passwall2/utils.sh
+++ b/luci-app-passwall2/root/usr/share/passwall2/utils.sh
@@ -388,7 +388,10 @@ ln_run() {
[ -x "${file_func}" ] || log 1 "$(i18n "%s does not have execute permissions and cannot be started: %s %s" "$(readlink ${file_func})" "${file_func}" "$*")"
fi
#echo "${file_func} $*" >&2
- [ -n "${file_func}" ] || log 1 "$(i18n "%s not found, unable to start..." "${ln_name}")"
+ [ -n "${file_func}" ] || {
+ log 1 "$(i18n "%s not found, unable to start..." "${ln_name}")"
+ return 1
+ }
[ "${queue_run}" == "1" ] && {
mkdir -p $TMP_PROCESS_LIST_PATH
diff --git a/luci-app-photoprism/Makefile b/luci-app-photoprism/Makefile
index 207322de..1976a0bc 100644
--- a/luci-app-photoprism/Makefile
+++ b/luci-app-photoprism/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.3-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.3-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for PhotoPrism
LUCI_PKGARCH:=all
diff --git a/luci-app-photoprism/luasrc/model/cbi/photoprism.lua b/luci-app-photoprism/luasrc/model/cbi/photoprism.lua
index 22427b09..ff520e5e 100644
--- a/luci-app-photoprism/luasrc/model/cbi/photoprism.lua
+++ b/luci-app-photoprism/luasrc/model/cbi/photoprism.lua
@@ -24,7 +24,7 @@ o.rmempty = false
o.default = "2342"
o.datatype = "string"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("photoprism/photoprism:latest", "photoprism/photoprism:latest")
diff --git a/luci-app-photoprism/po/zh-cn/photoprism.po b/luci-app-photoprism/po/zh-cn/photoprism.po
index df93f731..6dbd0707 100644
--- a/luci-app-photoprism/po/zh-cn/photoprism.po
+++ b/luci-app-photoprism/po/zh-cn/photoprism.po
@@ -10,6 +10,9 @@ msgstr "PhotoPrism® PhotoPrism 是一个 AI 驱动的相册管理应用。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "HTTP Port"
msgstr "HTTP 端口"
diff --git a/luci-app-plex/Makefile b/luci-app-plex/Makefile
index 3d151059..b238736c 100644
--- a/luci-app-plex/Makefile
+++ b/luci-app-plex/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.2-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.2-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for Plex
LUCI_PKGARCH:=all
diff --git a/luci-app-plex/luasrc/model/cbi/plex.lua b/luci-app-plex/luasrc/model/cbi/plex.lua
index 91f10c42..16c24b4b 100644
--- a/luci-app-plex/luasrc/model/cbi/plex.lua
+++ b/luci-app-plex/luasrc/model/cbi/plex.lua
@@ -43,7 +43,7 @@ o.default = "32400"
o.datatype = "port"
o:depends("hostnet", 0)
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o.default = "linuxserver/plex:latest"
diff --git a/luci-app-plex/po/zh-cn/plex.po b/luci-app-plex/po/zh-cn/plex.po
index 5c1d4a2f..83a96a15 100644
--- a/luci-app-plex/po/zh-cn/plex.po
+++ b/luci-app-plex/po/zh-cn/plex.po
@@ -10,6 +10,9 @@ msgstr "Plex 是一个多媒体串流平台。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Port"
msgstr "端口"
diff --git a/luci-app-pve/Makefile b/luci-app-pve/Makefile
index c4aeef1c..452eb255 100644
--- a/luci-app-pve/Makefile
+++ b/luci-app-pve/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=8.3.2-r20250106
-PKG_RELEASE:=4
+PKG_VERSION:=8.3.2-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for pve
LUCI_PKGARCH:=all
diff --git a/luci-app-pve/luasrc/model/cbi/pve/config.lua b/luci-app-pve/luasrc/model/cbi/pve/config.lua
index a481f79a..18d4312f 100644
--- a/luci-app-pve/luasrc/model/cbi/pve/config.lua
+++ b/luci-app-pve/luasrc/model/cbi/pve/config.lua
@@ -22,7 +22,7 @@ o = s:option(Value, "http_port", translate("HTTP Port").."*")
o.default = "8006"
o.datatype = "port"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("linkease/pve:latest", "linkease/pve:latest")
diff --git a/luci-app-pve/po/zh-cn/pve.po b/luci-app-pve/po/zh-cn/pve.po
index 0bcd0a9b..2c4d829a 100644
--- a/luci-app-pve/po/zh-cn/pve.po
+++ b/luci-app-pve/po/zh-cn/pve.po
@@ -13,6 +13,9 @@ msgstr "运行在 iStoreOS 上面的 Proxmox(PVE) 虚拟机平台。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Service Status"
msgstr "服务状态"
diff --git a/luci-app-ssr-mudb-server/Makefile b/luci-app-ssr-mudb-server/Makefile
index 87922839..81b73084 100644
--- a/luci-app-ssr-mudb-server/Makefile
+++ b/luci-app-ssr-mudb-server/Makefile
@@ -9,7 +9,7 @@ LUCI_TITLE:=LuCI support for SSR Mudb Server
LUCI_DEPENDS:=+libsodium +luci-lib-jsonc +python3
LUCI_PKGARCH:=all
PKG_VERSION:=20211211
-PKG_RELEASE:=2
+PKG_RELEASE:=3
include $(TOPDIR)/feeds/luci/luci.mk
diff --git a/luci-app-ssr-mudb-server/root/etc/uci-defaults/luci-app-ssr-mudb-server b/luci-app-ssr-mudb-server/root/etc/uci-defaults/luci-app-ssr-mudb-server
old mode 100644
new mode 100755
index 73762cfc..bc517344
--- a/luci-app-ssr-mudb-server/root/etc/uci-defaults/luci-app-ssr-mudb-server
+++ b/luci-app-ssr-mudb-server/root/etc/uci-defaults/luci-app-ssr-mudb-server
@@ -1,12 +1,4 @@
#!/bin/sh
-[ ! -f "/usr/share/ucitrack/luci-app-ssr_mudb_server.json" ] && {
- cat > /usr/share/ucitrack/luci-app-ssr_mudb_server.json << EEOF
-{
- "config": "ssr_mudb_server",
- "init": "ssr_mudb_server"
-}
-EEOF
-}
uci -q batch <<-EOF >/dev/null
delete firewall.ssr_mudb_server
@@ -16,13 +8,6 @@ uci -q batch <<-EOF >/dev/null
set firewall.ssr_mudb_server.reload=1
EOF
-uci -q batch <<-EOF >/dev/null
- delete ucitrack.@ssr_mudb_server[-1]
- add ucitrack ssr_mudb_server
- set ucitrack.@ssr_mudb_server[-1].init=ssr_mudb_server
- commit ucitrack
-EOF
-
chmod a+x /usr/share/ssr_mudb_server/* >/dev/null 2>&1
cp -rf /usr/bin/python3 /usr/bin/python
rm -rf /tmp/luci-*cache
diff --git a/luci-app-typecho/Makefile b/luci-app-typecho/Makefile
index 7cca4441..fb5a7a6a 100644
--- a/luci-app-typecho/Makefile
+++ b/luci-app-typecho/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.2-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.2-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for TypeCho
LUCI_PKGARCH:=all
diff --git a/luci-app-typecho/luasrc/model/cbi/typecho.lua b/luci-app-typecho/luasrc/model/cbi/typecho.lua
index ca3ae6a2..f0a23bb7 100644
--- a/luci-app-typecho/luasrc/model/cbi/typecho.lua
+++ b/luci-app-typecho/luasrc/model/cbi/typecho.lua
@@ -35,7 +35,7 @@ o = s:option(Value, "port", translate("Port").."*")
o.default = "9080"
o.datatype = "port"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o.default = "joyqi/typecho:nightly-php7.4"
diff --git a/luci-app-typecho/po/zh-cn/typecho.po b/luci-app-typecho/po/zh-cn/typecho.po
index 57e92d77..e792a6b5 100644
--- a/luci-app-typecho/po/zh-cn/typecho.po
+++ b/luci-app-typecho/po/zh-cn/typecho.po
@@ -10,6 +10,9 @@ msgstr "TypeCho 是一个轻量级博客。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Port"
msgstr "端口"
diff --git a/luci-app-ubuntu2/Makefile b/luci-app-ubuntu2/Makefile
index 2d7237de..af996508 100644
--- a/luci-app-ubuntu2/Makefile
+++ b/luci-app-ubuntu2/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.1.0-r20251012
-PKG_RELEASE:=4
+PKG_VERSION:=1.1.0-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for Ubuntu2
LUCI_PKGARCH:=all
diff --git a/luci-app-ubuntu2/luasrc/model/cbi/ubuntu2.lua b/luci-app-ubuntu2/luasrc/model/cbi/ubuntu2.lua
index 3643100a..abdd1688 100644
--- a/luci-app-ubuntu2/luasrc/model/cbi/ubuntu2.lua
+++ b/luci-app-ubuntu2/luasrc/model/cbi/ubuntu2.lua
@@ -32,7 +32,7 @@ o = s:option(Value, "https_port", translate("HTTPS Port").."*")
o.default = "3001"
o.datatype = "port"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
if "x86_64" == docker_info.Architecture then
diff --git a/luci-app-ubuntu2/po/zh-cn/ubuntu2.po b/luci-app-ubuntu2/po/zh-cn/ubuntu2.po
index 5f03c099..e0c547e3 100644
--- a/luci-app-ubuntu2/po/zh-cn/ubuntu2.po
+++ b/luci-app-ubuntu2/po/zh-cn/ubuntu2.po
@@ -10,6 +10,9 @@ msgstr "Ubuntu2 是带浏览器桌面的高性能 Ubuntu. [用户名: abc, 密
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "HTTPS Port"
msgstr "HTTPS 端口"
diff --git a/luci-app-unifi/Makefile b/luci-app-unifi/Makefile
index 54a5030a..17da7568 100644
--- a/luci-app-unifi/Makefile
+++ b/luci-app-unifi/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.2-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.2-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for UnifiController
LUCI_PKGARCH:=all
diff --git a/luci-app-unifi/luasrc/model/cbi/unifi.lua b/luci-app-unifi/luasrc/model/cbi/unifi.lua
index 460ad5d5..e8ce87a5 100644
--- a/luci-app-unifi/luasrc/model/cbi/unifi.lua
+++ b/luci-app-unifi/luasrc/model/cbi/unifi.lua
@@ -27,7 +27,7 @@ o.default = "8083"
o.datatype = "string"
o:depends("hostnet", 0)
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("lscr.io/linuxserver/unifi-controller:latest", "lscr.io/linuxserver/unifi-controller:latest")
diff --git a/luci-app-unifi/po/zh-cn/unifi.po b/luci-app-unifi/po/zh-cn/unifi.po
index 4c7a877f..0da46d55 100644
--- a/luci-app-unifi/po/zh-cn/unifi.po
+++ b/luci-app-unifi/po/zh-cn/unifi.po
@@ -10,6 +10,9 @@ msgstr "Ubnt AC 控制器。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "HTTPS Port"
msgstr "HTTPS 端口"
diff --git a/luci-app-uptimekuma/Makefile b/luci-app-uptimekuma/Makefile
index 2d792118..7db122e3 100644
--- a/luci-app-uptimekuma/Makefile
+++ b/luci-app-uptimekuma/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.1-r20251011
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.1-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for UptimeKuma
LUCI_PKGARCH:=all
diff --git a/luci-app-uptimekuma/luasrc/model/cbi/uptimekuma.lua b/luci-app-uptimekuma/luasrc/model/cbi/uptimekuma.lua
index 768accff..b29408c9 100644
--- a/luci-app-uptimekuma/luasrc/model/cbi/uptimekuma.lua
+++ b/luci-app-uptimekuma/luasrc/model/cbi/uptimekuma.lua
@@ -36,7 +36,7 @@ o.default = "3005"
o.datatype = "port"
o:depends("hostnet", 0)
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("louislam/uptime-kuma:1", "louislam/uptime-kuma:1")
diff --git a/luci-app-uptimekuma/po/zh-cn/uptimekuma.po b/luci-app-uptimekuma/po/zh-cn/uptimekuma.po
index 5e2021ac..5ecdb12f 100644
--- a/luci-app-uptimekuma/po/zh-cn/uptimekuma.po
+++ b/luci-app-uptimekuma/po/zh-cn/uptimekuma.po
@@ -10,6 +10,9 @@ msgstr "Uptime Kuma 是一款易于使用的自托管监控工具。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Port"
msgstr "端口"
diff --git a/luci-app-vaultwarden/Makefile b/luci-app-vaultwarden/Makefile
index 888be915..be197a27 100644
--- a/luci-app-vaultwarden/Makefile
+++ b/luci-app-vaultwarden/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.1-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.1-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for Vaultwarden
LUCI_PKGARCH:=all
diff --git a/luci-app-vaultwarden/luasrc/model/cbi/vaultwarden.lua b/luci-app-vaultwarden/luasrc/model/cbi/vaultwarden.lua
index 7778ffd3..e134fbee 100644
--- a/luci-app-vaultwarden/luasrc/model/cbi/vaultwarden.lua
+++ b/luci-app-vaultwarden/luasrc/model/cbi/vaultwarden.lua
@@ -32,7 +32,7 @@ o = s:option(Value, "admin_token", "ADMIN_TOKEN")
o.default = ""
o.password = true
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("vaultwarden/server:latest", "vaultwarden/server:latest")
diff --git a/luci-app-vaultwarden/po/zh-cn/vaultwarden.po b/luci-app-vaultwarden/po/zh-cn/vaultwarden.po
index 772a799b..14ceaf5e 100644
--- a/luci-app-vaultwarden/po/zh-cn/vaultwarden.po
+++ b/luci-app-vaultwarden/po/zh-cn/vaultwarden.po
@@ -10,6 +10,9 @@ msgstr "Vaultwarden 是另一个 Bitwarden server API 的服务器端实现。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "HTTP Port"
msgstr "HTTP 端口"
diff --git a/luci-app-webvirtcloud/Makefile b/luci-app-webvirtcloud/Makefile
index 4be28037..673d9925 100644
--- a/luci-app-webvirtcloud/Makefile
+++ b/luci-app-webvirtcloud/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=0.8.5~20241221-r1
-PKG_RELEASE:=4
+PKG_VERSION:=0.8.5-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for webvirtcloud
LUCI_PKGARCH:=all
diff --git a/luci-app-webvirtcloud/luasrc/model/cbi/webvirtcloud/config.lua b/luci-app-webvirtcloud/luasrc/model/cbi/webvirtcloud/config.lua
index 87257d1c..06d0e846 100644
--- a/luci-app-webvirtcloud/luasrc/model/cbi/webvirtcloud/config.lua
+++ b/luci-app-webvirtcloud/luasrc/model/cbi/webvirtcloud/config.lua
@@ -22,7 +22,7 @@ o = s:option(Value, "http_port", translate("HTTP Port").."*")
o.default = "6009"
o.datatype = "port"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("linkease/webvirtcloud:latest", "linkease/webvirtcloud:latest")
diff --git a/luci-app-webvirtcloud/po/zh-cn/webvirtcloud.po b/luci-app-webvirtcloud/po/zh-cn/webvirtcloud.po
index 2b87e6b6..78b53fc5 100644
--- a/luci-app-webvirtcloud/po/zh-cn/webvirtcloud.po
+++ b/luci-app-webvirtcloud/po/zh-cn/webvirtcloud.po
@@ -13,6 +13,9 @@ msgstr "iStoreOS 上面的 KVM 虚拟机,基于 WebVirtCloud 实现。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Service Status"
msgstr "服务状态"
diff --git a/luci-app-wxedge/Makefile b/luci-app-wxedge/Makefile
index c1ad0f75..9d0bcdb7 100644
--- a/luci-app-wxedge/Makefile
+++ b/luci-app-wxedge/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.1.7-r20250516
-PKG_RELEASE:=4
+PKG_VERSION:=1.1.7-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for wxedge
LUCI_PKGARCH:=all
diff --git a/luci-app-wxedge/luasrc/model/cbi/wxedge.lua b/luci-app-wxedge/luasrc/model/cbi/wxedge.lua
index e9837ed0..5186dc26 100644
--- a/luci-app-wxedge/luasrc/model/cbi/wxedge.lua
+++ b/luci-app-wxedge/luasrc/model/cbi/wxedge.lua
@@ -17,7 +17,7 @@ s = m:section(TypedSection, "wxedge", translate("Setup"), translate("The followi
s.addremove=false
s.anonymous=true
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("onething1/wxedge", "onething1/wxedge")
diff --git a/luci-app-wxedge/po/zh-cn/wxedge.po b/luci-app-wxedge/po/zh-cn/wxedge.po
index 03c18e07..952ef761 100644
--- a/luci-app-wxedge/po/zh-cn/wxedge.po
+++ b/luci-app-wxedge/po/zh-cn/wxedge.po
@@ -7,6 +7,9 @@ msgstr "网心云-容器魔方"
msgid "Cache path"
msgstr "缓存文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Service Status"
msgstr "服务状态"
diff --git a/luci-app-xteve/Makefile b/luci-app-xteve/Makefile
index 1c5f6e0d..b7fb8fd5 100644
--- a/luci-app-xteve/Makefile
+++ b/luci-app-xteve/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.2-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.2-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for Xteve
LUCI_PKGARCH:=all
diff --git a/luci-app-xteve/luasrc/model/cbi/xteve.lua b/luci-app-xteve/luasrc/model/cbi/xteve.lua
index 05e1a677..571f6caa 100644
--- a/luci-app-xteve/luasrc/model/cbi/xteve.lua
+++ b/luci-app-xteve/luasrc/model/cbi/xteve.lua
@@ -27,7 +27,7 @@ o = s:option(Value, "port", translate("Port").."*")
o.default = "32400"
o.datatype = "port"
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
if "x86_64" == docker_info.Architecture or "aarch64" == docker_info.Architecture then
diff --git a/luci-app-xteve/po/zh-cn/xteve.po b/luci-app-xteve/po/zh-cn/xteve.po
index 8d744704..f6898608 100644
--- a/luci-app-xteve/po/zh-cn/xteve.po
+++ b/luci-app-xteve/po/zh-cn/xteve.po
@@ -10,6 +10,9 @@ msgstr "Xteve 是一个在线电视源的代理工具。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Port"
msgstr "端口"
diff --git a/luci-app-xunlei/Makefile b/luci-app-xunlei/Makefile
index b6575387..c4c90670 100644
--- a/luci-app-xunlei/Makefile
+++ b/luci-app-xunlei/Makefile
@@ -2,8 +2,8 @@
include $(TOPDIR)/rules.mk
-PKG_VERSION:=1.0.3-r20240822
-PKG_RELEASE:=4
+PKG_VERSION:=1.0.3-r20260804
+PKG_RELEASE:=5
LUCI_TITLE:=LuCI support for Xunlei
LUCI_PKGARCH:=all
diff --git a/luci-app-xunlei/luasrc/model/cbi/xunlei.lua b/luci-app-xunlei/luasrc/model/cbi/xunlei.lua
index 7dd7f801..d838f787 100644
--- a/luci-app-xunlei/luasrc/model/cbi/xunlei.lua
+++ b/luci-app-xunlei/luasrc/model/cbi/xunlei.lua
@@ -27,7 +27,7 @@ o.default = "2345"
o.datatype = "port"
o:depends("hostnet", 0)
-o = s:option(Value, "image_name", translate("Image").."*")
+o = s:option(Value, "image_name", translate("Docker Image").."*")
o.rmempty = false
o.datatype = "string"
o:value("registry.cn-shenzhen.aliyuncs.com/cnk3x/xunlei:latest", "registry.cn-shenzhen.aliyuncs.com/cnk3x/xunlei:latest")
diff --git a/luci-app-xunlei/po/zh-cn/xunlei.po b/luci-app-xunlei/po/zh-cn/xunlei.po
index ffc7a311..9d0171d4 100644
--- a/luci-app-xunlei/po/zh-cn/xunlei.po
+++ b/luci-app-xunlei/po/zh-cn/xunlei.po
@@ -13,6 +13,9 @@ msgstr "迅雷是一个迅雷公司出品下载工具。"
msgid "Config path"
msgstr "配置文件路径"
+msgid "Docker Image"
+msgstr "镜像"
+
msgid "Download path"
msgstr "下载路径"