🍕 Sync 2026-08-28 16:44:23

This commit is contained in:
github-actions[bot] committed 2026-08-28 16:44:23 +08:00
1 parent 7630ce970c
commit 6490d09e15
22 files changed
+113 -31

No files matched your search

+6 -6
View File
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2026-04-04 03:09+0000\n"
"PO-Revision-Date: 2026-08-24 16:48+0000\n"
"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfrpc/es/>\n"
@@ -11,7 +11,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.17-dev\n"
"X-Generator: Weblate 2026.9.dev0\n"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:1454
msgid "Add new proxy or visitor..."
@@ -119,7 +119,7 @@ msgstr ""
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:1417
msgid "Collecting data ..."
msgstr "Recopilando los datos..."
msgstr "Recopilando datos..."
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:317
msgid "Command arguments passed to token source exec."
@@ -412,7 +412,7 @@ msgstr ""
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:1460
msgid "General Settings"
msgstr "Ajustes generales"
msgstr "Configuración general"
#: applications/luci-app-frpc/root/usr/share/rpcd/acl.d/luci-app-frpc.json:3
msgid "Grant access to LuCI app frpc"
@@ -653,7 +653,7 @@ msgstr ""
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:1390
msgid "NOT RUNNING"
msgstr "NO EN EJECUCIÓN"
msgstr "NO SE ESTÁ EJECUTANDO"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:359
msgid "OIDC additional endpoint params"
@@ -860,7 +860,7 @@ msgstr ""
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:1390
msgid "RUNNING"
msgstr "EN EJECUCIÓN"
msgstr "EJECUTÁNDOSE"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:667
msgid "Remote port"
+2 -2
View File
@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2026-02-20 00:35+0000\n"
"PO-Revision-Date: 2026-08-24 16:48+0000\n"
"Last-Translator: Matthaiks <kitynska@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfrpc/pl/>\n"
@@ -9,7 +9,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.16.1-dev\n"
"X-Generator: Weblate 2026.9.dev0\n"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:1454
msgid "Add new proxy or visitor..."
+5 -5
View File
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2026-03-30 03:54+0000\n"
"PO-Revision-Date: 2026-08-24 16:48+0000\n"
"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfrps/es/>\n"
@@ -11,7 +11,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.17-dev\n"
"X-Generator: Weblate 2026.9.dev0\n"
#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:982
msgid "Access Control"
@@ -79,7 +79,7 @@ msgstr "Puerto de enlace"
#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:969
msgid "Collecting data ..."
msgstr "Recopilando los datos..."
msgstr "Recopilando datos..."
#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:323
msgid "Command arguments passed to token source exec."
@@ -315,7 +315,7 @@ msgstr ""
#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:942
msgid "NOT RUNNING"
msgstr "NO EN EJECUCIÓN"
msgstr "NO SE ESTÁ EJECUTANDO"
#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:349
msgid "OIDC audience"
@@ -457,7 +457,7 @@ msgstr ""
#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:942
msgid "RUNNING"
msgstr "EN EJECUCIÓN"
msgstr "EJECUTÁNDOSE"
#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:125
msgid "Respawn when crashed"
+2 -2
View File
@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2026-02-20 00:33+0000\n"
"PO-Revision-Date: 2026-08-24 16:48+0000\n"
"Last-Translator: Matthaiks <kitynska@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfrps/pl/>\n"
@@ -9,7 +9,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.16.1-dev\n"
"X-Generator: Weblate 2026.9.dev0\n"
#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:982
msgid "Access Control"
+1 -1
View File
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall
PKG_VERSION:=26.8.26
PKG_RELEASE:=248
PKG_RELEASE:=249
PKG_PO_VERSION:=$(PKG_VERSION)
PKG_CONFIG_DEPENDS:= \
@@ -934,7 +934,8 @@ local backup_files = {
"/usr/share/passwall/rules/direct_host",
"/usr/share/passwall/rules/direct_ip",
"/usr/share/passwall/rules/proxy_host",
"/usr/share/passwall/rules/proxy_ip"
"/usr/share/passwall/rules/proxy_ip",
"/usr/share/passwall/rules/domains_excluded"
}
function create_backup()
@@ -193,7 +193,7 @@ if has_xray then
o.default = 0
o.description = translate("Override the connection destination address with the sniffed domain.<br />Otherwise use sniffed domain for routing only.<br />If using shunt nodes, configure the domain shunt rules correctly.")
local domains_excluded = string.format("/usr/share/%s/domains_excluded", m.config)
local domains_excluded = string.format("/usr/share/%s/rules/domains_excluded", m.config)
o = s_xray:option(TextValue, "excluded_domains", translate("Excluded Domains"), translate("If the traffic sniffing result is in this list, the destination address will not be overridden."))
o.rows = 15
o.wrap = "off"
@@ -383,6 +383,10 @@ if singbox_tags:find("with_quic") then
o.default = { "stun.sip.us:3478", "stun.nextcloud.com:3478", "global.stun.twilio.com:3478" }
o:depends({ hysteria2_realms = "1" })
o = s:option(Flag, "hysteria2_realm_upnp", translate("Enable") .. " UPnP/NAT-PMP", translate("Enable UPnP/NAT-PMP port mapping on your gateway to improve hole punching success."))
o.default = "0"
o:depends({ hysteria2_realms = "1" })
o = s:option(Value, "hysteria2_auth_password", translate("Auth Password"))
o.password = true
o:depends({ protocol = "hysteria2"})
@@ -357,6 +357,10 @@ o = s:option(DynamicList, "hysteria2_realm_stun", translate("Realm STUN"))
o.default = { "stun.sip.us:3478", "stun.nextcloud.com:3478", "global.stun.twilio.com:3478" }
o:depends({ hysteria2_realms = "1" })
o = s:option(Flag, "hysteria2_realm_upnp", translate("Enable") .. " UPnP/NAT-PMP", translate("Enable UPnP/NAT-PMP port mapping on your gateway to improve hole punching success."))
o.default = "0"
o:depends({ hysteria2_realms = "1" })
o = s:option(Value, "hysteria2_auth_password", translate("Auth Password"))
o.password = true
o:depends({ protocol = "hysteria2"})
@@ -61,6 +61,11 @@ o.default = { "stun.sip.us:3478", "stun.nextcloud.com:3478", "global.stun.twilio
o.rewrite_option = _n(o.option)
o:depends({ realms = "1" })
o = s:option(Flag, "realm_upnp", translate("Enable") .. " UPnP/NAT-PMP", translate("Enable UPnP/NAT-PMP port mapping on your gateway to improve hole punching success."))
o.default = "0"
o.rewrite_option = _n(o.option)
o:depends({ realms = "1" })
o = s:option(Value, "auth_password", translate("Auth Password"))
o.password = true
o.rewrite_option = _n(o.option)
@@ -124,6 +129,20 @@ o = s:option(Flag, "disable_mtu_discovery", translate("Disable MTU detection"))
o.default = "0"
o.rewrite_option = _n(o.option)
o = s:option(Flag, "ech", translate("ECH"))
o.default = "0"
o:depends({ realms = false })
o = s:option(TextValue, "ech_config", translate("ECH Config"))
o.default = ""
o.rows = 5
o.wrap = "soft"
o:depends({ ech = "1" })
o.validate = function(self, value)
return api.trim(value:gsub("[\r\n]", ""))
end
o = s:option(Flag, "lazy_start", translate("Lazy Start"))
o.default = "0"
o.rewrite_option = _n(o.option)
@@ -183,6 +183,10 @@ if singbox_tags:find("with_quic") then
o.default = { "stun.sip.us:3478", "stun.nextcloud.com:3478", "global.stun.twilio.com:3478" }
o:depends({ hysteria2_realms = "1" })
o = s:option(Flag, "hysteria2_realm_upnp", translate("Enable") .. " UPnP/NAT-PMP", translate("Enable UPnP/NAT-PMP port mapping on your gateway to improve hole punching success."))
o.default = "0"
o:depends({ hysteria2_realms = "1" })
o = s:option(ListValue, "hysteria2_obfs_type", translate("Obfs Type"))
o:value("", translate("Disable"))
o:value("salamander")
@@ -149,6 +149,10 @@ o = s:option(DynamicList, "hysteria2_realm_stun", translate("Realm STUN"))
o.default = { "stun.sip.us:3478", "stun.nextcloud.com:3478", "global.stun.twilio.com:3478" }
o:depends({ hysteria2_realms = "1" })
o = s:option(Flag, "hysteria2_realm_upnp", translate("Enable") .. " UPnP/NAT-PMP", translate("Enable UPnP/NAT-PMP port mapping on your gateway to improve hole punching success."))
o.default = "0"
o:depends({ hysteria2_realms = "1" })
o = s:option(ListValue, "hysteria2_obfs_type", translate("Obfs Type"))
o:value("", translate("Disable"))
o:value("salamander")
@@ -73,6 +73,11 @@ o.default = { "stun.sip.us:3478", "stun.nextcloud.com:3478", "global.stun.twilio
o.rewrite_option = _n(o.option)
o:depends({ realms = "1" })
o = s:option(Flag, "realm_upnp", translate("Enable") .. " UPnP/NAT-PMP", translate("Enable UPnP/NAT-PMP port mapping on your gateway to improve hole punching success."))
o.default = "0"
o.rewrite_option = _n(o.option)
o:depends({ realms = "1" })
o = s:option(ListValue, "obfs_type", translate("Obfs Type"))
o:value("", translate("Disable"))
o:value("salamander")
@@ -147,6 +152,19 @@ o.validate = function(self, value, t)
end
o:depends({ custom = false })
o = s:option(FileUpload, "ech_keyFile", translate("ECH key absolute path"), translate("as:") .. "/etc/ssl/ech.pem")
o.validate = function(self, value, t)
if value and value ~= "" then
if not fs.access(value) then
return nil, translate("Can't find this file!")
else
return value
end
end
return nil
end
o:depends({ custom = false })
o = s:option(Flag, "firewall_allow", translate("Firewall Allow"))
o.default = "0"
o:depends({ custom = false })
@@ -48,8 +48,10 @@ function gen_config_server(node)
ignoreClientBandwidth = (node.hysteria2_ignoreClientBandwidth == "1") and true or false,
disableUDP = (node.hysteria2_udp == "0") and true or false,
realm = (node.hysteria2_realms and node.hysteria2_realm_stun) and {
stunServers = node.hysteria2_realm_stun
} or nil
stunServers = node.hysteria2_realm_stun,
portMapping = (node.hysteria2_realm_upnp == "1") and { enabled = true } or nil
} or nil,
ech = (node.ech_keyFile and node.ech_keyFile ~= "") and { keyPath = node.ech_keyFile } or nil
}
if config.obfs and config.obfs.gecko then
@@ -101,7 +103,8 @@ function gen_config(var)
return server
end)(),
realm = (node.hysteria2_realms and node.hysteria2_realm_stun) and {
stunServers = node.hysteria2_realm_stun
stunServers = node.hysteria2_realm_stun,
portMapping = (node.hysteria2_realm_upnp == "1") and { enabled = true } or nil
} or nil,
transport = {
type = "udp",
@@ -138,6 +141,7 @@ function gen_config(var)
sni = node.tls_serverName,
insecure = (node.tls_allowInsecure == "1") and true or false,
pinSHA256 = (node.tls_pinSHA256) and node.tls_pinSHA256 or nil,
ech = (node.ech == "1") and node.ech_config or nil
},
quic = {
initStreamReceiveWindow = (node.hysteria2_recv_window) and tonumber(node.hysteria2_recv_window) or nil,
@@ -596,6 +596,7 @@ function gen_outbound(flag, node, tag, proxy_table)
realm.scheme = nil
realm.address = nil
realm.port = nil
realm.port_mapping = (node.hysteria2_realm_upnp == "1") and { enabled = true } or nil
return realm
end
return nil
@@ -951,6 +952,7 @@ function gen_config_server(node)
realm.address = nil
realm.port = nil
realm.stun_domain_resolver = "direct"
realm.port_mapping = (node.hysteria2_realm_upnp == "1") and { enabled = true } or nil
return realm
end
return nil
@@ -15,7 +15,7 @@ local xray_version = api.get_app_version("xray")
local xray_min_version = "26.3.27"
local function get_domain_excluded()
local path = "/usr/share/passwall/domains_excluded"
local path = string.format("/usr/share/%s/rules/domains_excluded", api.c_config)
local content = fs.readfile(path)
if not content then return nil end
local hosts = {}
@@ -308,7 +308,8 @@ function gen_outbound(flag, node, tag, proxy_table)
type = "realm",
settings = {
url = url,
stunServers = stun
stunServers = stun,
portMapping = (node.hysteria2_realm_upnp == "1") and { enabled = true } or nil
}
}
udp[#udp+1] = r
@@ -782,7 +783,8 @@ function gen_config_server(node)
type = "realm",
settings = {
url = url,
stunServers = stun
stunServers = stun,
portMapping = (node.hysteria2_realm_upnp == "1") and { enabled = true } or nil
}
}
udp[#udp+1] = r
@@ -594,6 +594,7 @@ local current_node = map:get(section)
params += opt.query("pinSHA256", dom_prefix + "tls_pinSHA256");
params += opt.query("pcs", dom_prefix + "tls_pinSHA256");
params += opt.query("vcn", dom_prefix + "tls_CertByName");
params += opt.query("ech", dom_prefix + "ech_config");
var v_password = null;
@@ -628,7 +629,7 @@ local current_node = map:get(section)
params = params.replace(/^&/, "");
url =
_address + ":" +
v_port.value + "?" +
(v_port.value || "443") + "?" +
params +
"#" + encodeURI(v_alias.value);
if (v_password) {
@@ -1664,6 +1665,8 @@ local current_node = map:get(section)
);
opt.set(dom_prefix + 'tls_pinSHA256', queryParam.pcs || queryParam.pinSHA256 || '');
opt.set(dom_prefix + 'tls_CertByName', queryParam.vcn || '');
opt.set(dom_prefix + 'ech', !!queryParam.ech);
opt.set(dom_prefix + 'ech_config', queryParam.ech || '');
if (m.hash) {
opt.set('remarks', decodeURIComponent(m.hash.substr(1)));
}
+6
View File
@@ -1646,6 +1646,9 @@ msgstr "公钥文件绝对路径"
msgid "Private key absolute path"
msgstr "私钥文件绝对路径"
msgid "ECH key absolute path"
msgstr "ECH 密钥绝对路径"
msgid "Can't find this file!"
msgstr "找不到这个文件!"
@@ -2202,6 +2205,9 @@ msgstr "Gecko 包大小(最小)"
msgid "Gecko Packet Size (max)"
msgstr "Gecko 包大小(最大)"
msgid "Enable UPnP/NAT-PMP port mapping on your gateway to improve hole punching success."
msgstr "在网关上启用 UPnP/NAT-PMP 端口映射以提升打洞成功率。"
msgid "valid time (hh:mm)"
msgstr "有效时间(hh:mm)"
@@ -1467,6 +1467,10 @@ local function processData(szType, content, add_mode, group, sub_cfg)
result.hysteria2_up_mbps = params.upmbps or (sub_cfg and sub_hy_up_mbps or nil)
result.hysteria2_down_mbps = params.downmbps or (sub_cfg and sub_hy_down_mbps or nil)
result.hysteria2_hop = params.mport
if params.ech and params.ech ~= "" then
result.ech = "1"
result.ech_config = params.ech
end
if params["obfs-password"] or params["obfs_password"] then
result.hysteria2_obfs_type = params.obfs or "salamander"
result.hysteria2_obfs_password = params["obfs-password"] or params["obfs_password"]
+2 -2
View File
@@ -10,12 +10,12 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=natflow
PKG_VERSION:=20260531
PKG_RELEASE:=73
PKG_RELEASE:=74
PKG_SOURCE:=$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/ptpt52/natflow.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=8fa0d6022ff4f25fb123dfe8b3fc7337fc38e3fa
PKG_SOURCE_VERSION:=5e3dc6435603076f0fd93ca3d4f2e3899fc87e20
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Chen Minqiang <ptpt52@gmail.com>
PKG_LICENSE:=GPL-2.0
+2 -2
View File
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=teleproxy
PKG_VERSION:=4.16.1
PKG_RELEASE:=25
PKG_RELEASE:=26
PKG_MAINTAINER:=Kosntantine Shevlakov <shevlakov@132lan.ru>
PKG_LICENSE:=GPLv2
@@ -10,7 +10,7 @@ PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/teleproxy/teleproxy.git
PKG_SOURCE_VERSION:=064e893a5cc8fbd9b99609c09bd000a1f3fbc09b
PKG_SOURCE_VERSION:=b7d980539cf2eded55ee159c4c36376af6831a3d
PKG_SOURCE_SUBDIR:=$(PKG_NAME)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+9 -2
View File
@@ -43,11 +43,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=wwand
PKG_RELEASE:=11
PKG_RELEASE:=12
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/ddimension/wwand.git
PKG_SOURCE_VERSION:=fc013f140d423867b993c6026fd435ec750cbb91
PKG_SOURCE_VERSION:=2311728191b2b325de54946b0767000baa245366
PKG_SOURCE_DATE:=2026-08-27
PKG_MIRROR_HASH:=skip
@@ -328,6 +328,13 @@ define Package/wwand-mhi/description
MHI bus/PCI/control/data drivers and installs the wwan-subsystem hotplug so
wwand binds these modems on boot. Install together with a control backend
(wwand-qmi or wwand-mbim).
Adding wwand-mbim is worthwhile even on a QMI-driven MHI modem: many of them
expose no DUN channel and therefore no AT port at all, and wwand can then
carry AT over the modem's MBIM channel instead (Quectel QDU). Without that
package the capability is simply absent — vendor AT commands, the protocol
switch and AT telemetry are unavailable, which is a limitation rather than a
failure.
endef
define Package/wwand-mhi/install