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 documentTo 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 "仅限 01。" -#: 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" 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。支持 yamljson 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." -#: 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 "僅限 01。" -#: 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" 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。支援 yamljson 格 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." -#: 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 "下载路径"