🤞 Sync 2026-04-21 20:24:56

This commit is contained in:
github-actions[bot] 2026-04-21 20:24:56 +08:00
parent 13ee193edd
commit 57fecfdd0b
19 changed files with 990 additions and 476 deletions

View File

@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall
PKG_VERSION:=26.4.15
PKG_RELEASE:=86
PKG_RELEASE:=87
PKG_PO_VERSION:=$(PKG_VERSION)
PKG_CONFIG_DEPENDS:= \

View File

@ -380,7 +380,7 @@ if api.compare_versions(xray_version, ">=", "26.1.31") then
o:depends({ [_n("tls")] = true, [_n("reality")] = false })
o:depends({ [_n("protocol")] = "hysteria2" })
o.description = translate("Once set, connects only when the servers chain fingerprint matches.") ..
string.format("<a href='#' onclick='fetchCertSha256(); return false;'>%s</a>", "[ " .. translate("Fetch Manually") .. " ]")
string.format("<a href='javascript:void(0)' onclick='javascript:fetchCertSha256(this)'>%s</a>", " " .. translate("Fetch Manually"))
o = s:option(Value, _n("tls_CertByName"), translate("TLS Certificate Name (CertName)"), translate("TLS is used to verify the leaf certificate name."))
o:depends({ [_n("tls")] = true, [_n("reality")] = false })

View File

@ -53,8 +53,15 @@ local api = self.api
});
}
function fetchCertSha256() {
function fetchCertSha256(el) {
if (el.getAttribute("data-loading") === "1") return;
el.setAttribute("data-loading", "1");
el.style.pointerEvents = "none";
el.style.color = "red";
XHR.get('<%=api.url("fetch_certsha256")%>', { id: node_id }, function(x, res) {
el.setAttribute("data-loading", "0");
el.style.pointerEvents = "";
el.style.color = "";
if (!x || x.status !== 200) {
alert("<%:Error%>");
return;

View File

@ -9,7 +9,7 @@ LUCI_TITLE:=LuCI support for quickstart
LUCI_DEPENDS:=+quickstart +luci-app-ttyd +luci-i18n-ttyd-zh-cn
LUCI_PKGARCH:=all
PKG_VERSION:=0.12.6-r1
PKG_VERSION:=0.12.7-r1
# PKG_RELEASE MUST be empty for luci.mk
PKG_RELEASE:=

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,7 @@ LUCI_TITLE:=luci-app-ssr-plus
LUCI_PKGARCH:=all
PKG_NAME:=luci-app-ssr-plus
PKG_VERSION:=190
PKG_RELEASE:=11
PKG_RELEASE:=12
PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy \

View File

@ -1674,6 +1674,65 @@ o:depends("type", "hysteria2")
o:depends({type = "v2ray", v2ray_protocol = "vless", transport = "xhttp"})
o:depends({type = "v2ray", v2ray_protocol = "hysteria2"})
o = s:option(ListValue, "domain_resolver", translate("Domain DNS Resolve"))
o.description = translate(
"<ul>" ..
"<li>" .. translate("If the node address is a domain name, this DNS will be used for resolution.") .. "</li>" ..
"<li>" .. string.format('<font style=\'color:red;\'>%s</font>', translate("Note: For node-specific DNS only. Keep Auto to avoid extra overhead.")) .. "</li>" ..
"</ul>"
)
o:value("", translate("Auto"))
o:value("tcp", translate("TCP"))
o:value("udp", translate("UDP"))
o:value("https", translate("DoH"))
o:depends("type", "v2ray")
o = s:option(Value, "domain_resolver_dns", translate("DNS"))
o.datatype = "or(ipaddr,ipaddrport)"
o:value("114.114.114.114")
o:value("223.5.5.5:53")
o.default = "114.114.114.114"
o:depends("domain_resolver", "tcp")
o:depends("domain_resolver", "udp")
o = s:option(Value, "domain_resolver_dns_https", translate("DNS"))
o:value("https://120.53.53.53/dns-query", translate("DNSPod"))
o:value("https://223.5.5.5/dns-query", translate("AliDNS"))
o.default = "https://120.53.53.53/dns-query"
o:depends("domain_resolver", "https")
o = s:option(ListValue, "domain_strategy", translate("Domain Strategy"))
o.description = translate(
"<ul>" ..
"<li>" .. translate("If is domain name, The requested domain name will be resolved to IP before connect.") .. "</li>" ..
"<li>" .. string.format('<font style=\'color:red;\'>%s</font>', translate("Note: For node-specific DNS only. Keep Auto to avoid extra overhead.")) .. "</li>" ..
"</ul>"
)
o.default = ""
o:value("", translate("Auto"))
o:value("UseIPv4v6", translate("Prefer IPv4"))
o:value("UseIPv6v4", translate("Prefer IPv6"))
o:value("UseIPv4", translate("IPv4 Only"))
o:value("UseIPv6", translate("IPv6 Only"))
o:depends("type", "v2ray")
local v2ray_protocols = s.fields["v2ray_protocol"]
if #v2ray_protocols > 0 then
for i, v in ipairs(v2ray_protocols) do
if not v:find("^_") then
s.fields["server"]:depends({ ["v2ray_protocol"] = v })
s.fields["server_port"]:depends({ ["v2ray_protocol"] = v })
s.fields["domain_resolver"]:depends({ ["v2ray_protocol"] = v })
s.fields["domain_strategy"]:depends({ ["v2ray_protocol"] = v })
if v ~= "hysteria2" then
s.fields["fast_open"]:depends({ ["v2ray_protocol"] = v })
s.fields["mptcp"]:depends({ ["v2ray_protocol"] = v })
end
end
end
end
o = s:option(Flag, "switch_enable", translate("Enable Auto Switch"))
o.rmempty = false
o.default = "1"

View File

@ -235,6 +235,48 @@ end
o = s:option(DynamicList, "subscribe_url", translate("Subscribe URL"))
o.rmempty = true
o = s:option(ListValue, "domain_resolver", translate("Domain DNS Resolve"))
o.description = translate(
"<ul>" ..
"<li>" .. translate("If the node address is a domain name, this DNS will be used for resolution.") .. "</li>" ..
"<li>" .. string.format('<font style=\'color:red;\'>%s</font>', translate("Supports only Xray node types.")) .. "</li>" ..
"<li>" .. string.format('<font style=\'color:red;\'>%s</font>', translate("Note: For node-specific DNS only. Keep Auto to avoid extra overhead.")) .. "</li>" ..
"</ul>"
)
o:value("", translate("Auto"))
o:value("tcp", translate("TCP"))
o:value("udp", translate("UDP"))
o:value("https", translate("DoH"))
o = s:option(Value, "domain_resolver_dns", translate("DNS"))
o.datatype = "or(ipaddr,ipaddrport)"
o:value("114.114.114.114")
o:value("223.5.5.5:53")
o.default = "114.114.114.114"
o:depends("domain_resolver", "tcp")
o:depends("domain_resolver", "udp")
o = s:option(Value, "domain_resolver_dns_https", translate("DNS"))
o:value("https://120.53.53.53/dns-query", "DNSPod")
o:value("https://223.5.5.5/dns-query", "AliDNS")
o.default = o.keylist[1]
o:depends("domain_resolver", "https")
o = s:option(ListValue, "domain_strategy", translate("Domain Strategy"))
o.description = translate(
"<ul>" ..
"<li>" .. translate("If is domain name, The requested domain name will be resolved to IP before connect.") .. "</li>" ..
"<li>" .. string.format('<font style=\'color:red;\'>%s</font>', translate("Supports only Xray node types.")) .. "</li>" ..
"<li>" .. string.format('<font style=\'color:red;\'>%s</font>', translate("Note: For node-specific DNS only. Keep Auto to avoid extra overhead.")) .. "</li>" ..
"</ul>"
)
o.default = ""
o:value("", translate("Auto"))
o:value("UseIPv4v6", translate("Prefer IPv4"))
o:value("UseIPv6v4", translate("Prefer IPv6"))
o:value("UseIPv4", translate("IPv4 Only"))
o:value("UseIPv6", translate("IPv6 Only"))
o = s:option(Value, "filter_words", translate("Subscribe Filter Words"))
o.rmempty = true
o.description = translate("Filter Words splited by /")

View File

@ -99,9 +99,13 @@ msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1527
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1540
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1553
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1679
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1706
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:188
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:214
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:249
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:240
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:267
msgid "<ul><li>"
msgstr ""
@ -126,11 +130,15 @@ msgstr ""
msgid "Advertising Data"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1700
msgid "AliDNS"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:268
msgid "AliYun Public DNS (223.5.5.5)"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:325
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:367
msgid "Alias"
msgstr ""
@ -150,7 +158,7 @@ msgstr ""
msgid "Allow listed only"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:255
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:297
msgid "Allow subscribe Insecure nodes By default"
msgstr ""
@ -192,8 +200,8 @@ msgstr ""
msgid "Apple domains optimization"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:357
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:363
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:399
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:405
msgid "Apply"
msgstr ""
@ -207,13 +215,17 @@ msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:282
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:313
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1684
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1712
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:172
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:200
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:229
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:246
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:274
msgid "Auto"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:375
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:417
msgid "Auto Switch"
msgstr ""
@ -489,6 +501,10 @@ msgid "DL Backup"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1168
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1690
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1698
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:251
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:259
msgid "DNS"
msgstr ""
@ -500,6 +516,10 @@ msgstr ""
msgid "DNS Query Mode For Shunt Mode"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1699
msgid "DNSPod"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:267
msgid "DNSPod Public DNS (119.29.29.29)"
msgstr ""
@ -561,7 +581,7 @@ msgstr ""
msgid "Delete"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:273
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:315
msgid "Delete All Subscribe Servers"
msgstr ""
@ -617,12 +637,24 @@ msgstr ""
msgid "Do you want to restore the client to default settings?"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1687
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:249
msgid "DoH"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:230
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:259
msgid "DoT upstream (Need use wolfssl version)"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1677
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:238
msgid "Domain DNS Resolve"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:419
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1704
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:265
msgid "Domain Strategy"
msgstr ""
@ -679,7 +711,7 @@ msgid "Enable Authentication"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:63
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1677
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1736
msgid "Enable Auto Switch"
msgstr ""
@ -821,7 +853,7 @@ msgstr ""
msgid "FORCE BRUTAL"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:240
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:282
msgid "Filter Words splited by /"
msgstr ""
@ -1034,16 +1066,39 @@ msgstr ""
msgid "IP Stack Preference"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1715
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:277
msgid "IPv4 Only"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1716
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:278
msgid "IPv6 Only"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:243
msgid "If empty, Not change Apple domains parsing DNS (Default is empty)"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1707
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:268
msgid ""
"If is domain name, The requested domain name will be resolved to IP before "
"connect."
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1393
msgid ""
"If it is not empty, it indicates that the Client has enabled Encrypted "
"Client, see:"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1680
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:241
msgid ""
"If the node address is a domain name, this DNS will be used for resolution."
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:865
msgid "If this option is not set, the socket behavior is platform dependent."
msgstr ""
@ -1094,19 +1149,19 @@ msgstr ""
msgid "KcpTun"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1687
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1746
msgid "KcpTun Enable"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1704
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1763
msgid "KcpTun Param"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1699
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1758
msgid "KcpTun Password"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1693
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1752
msgid "KcpTun Port"
msgstr ""
@ -1205,7 +1260,7 @@ msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:348
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1681
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1740
msgid "Local Port"
msgstr ""
@ -1387,8 +1442,8 @@ msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1140
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1152
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1162
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:322
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:327
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:364
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:369
msgid "None"
msgstr ""
@ -1405,6 +1460,13 @@ msgstr ""
msgid "Not exist"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1681
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1708
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:243
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:270
msgid "Note: For node-specific DNS only. Keep Auto to avoid extra overhead."
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/log.lua:27
msgid ""
"Note: Restoring configurations across different versions may cause "
@ -1516,7 +1578,7 @@ msgstr ""
msgid "Permit Without Stream"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:351
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:393
msgid "Ping Latency"
msgstr ""
@ -1548,6 +1610,16 @@ msgstr ""
msgid "Pre-shared key"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1713
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:275
msgid "Prefer IPv4"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1714
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:276
msgid "Prefer IPv6"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:93
msgid "Prefer firewall tools"
msgstr ""
@ -1627,7 +1699,7 @@ msgstr ""
msgid "Really reset all changes?"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:361
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:403
msgid "Reapply"
msgstr ""
@ -1744,7 +1816,7 @@ msgstr ""
msgid "Save Order"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:244
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:286
msgid "Save Words splited by /"
msgstr ""
@ -1782,7 +1854,7 @@ msgstr ""
msgid "Server Address"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:275
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:317
msgid "Server Count"
msgstr ""
@ -1793,7 +1865,7 @@ msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:469
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua:96
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server.lua:112
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:330
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:372
msgid "Server Port"
msgstr ""
@ -1873,7 +1945,7 @@ msgstr ""
msgid "Short ID"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:335
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:377
msgid "Socket Connected"
msgstr ""
@ -1914,15 +1986,15 @@ msgstr ""
msgid "Status"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:260
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:302
msgid "Subscribe Default Auto-Switch"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:238
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:280
msgid "Subscribe Filter Words"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:242
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:284
msgid "Subscribe Save Words"
msgstr ""
@ -1930,11 +2002,11 @@ msgstr ""
msgid "Subscribe URL"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:262
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:304
msgid "Subscribe new add server default Auto-Switch on"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:257
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:299
msgid "Subscribe nodes allows insecure connection as TLS client (insecure)"
msgstr ""
@ -1946,10 +2018,20 @@ msgstr ""
msgid "Supports a fixed value or a random range (e.g., 30, 5-30), minimum 5."
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:242
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:269
msgid "Supports only Xray node types."
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:67
msgid "Switch check cycly(second)"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1685
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:247
msgid "TCP"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:729
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1667
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua:149
@ -2069,11 +2151,11 @@ msgstr ""
msgid "The keep-alive period.(Unit:second)"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:265
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:307
msgid "Through proxy update"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:267
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:309
msgid "Through proxy update list, Not Recommended"
msgstr ""
@ -2118,11 +2200,13 @@ msgid "Trojan"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:412
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:320
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:362
msgid "Type"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:622
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1686
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:248
msgid "UDP"
msgstr ""
@ -2154,7 +2238,7 @@ msgstr ""
msgid "UL Restore"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:280
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:322
msgid "URL Test Address"
msgstr ""
@ -2167,12 +2251,12 @@ msgstr ""
msgid "Unknown"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:269
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:311
#: applications/luci-app-ssr-plus/luasrc/view/shadowsocksr/subscribe.htm:16
msgid "Update All Subscribe Servers"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:246
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:288
msgid "Update Subscribe List"
msgstr ""
@ -2180,7 +2264,7 @@ msgstr ""
msgid "Update cycle (Day/Week)"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:248
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:290
msgid "Update subscribe url list first"
msgstr ""
@ -2252,7 +2336,7 @@ msgid "User cancelled."
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1268
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:290
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:332
msgid "User-Agent"
msgstr ""

View File

@ -103,9 +103,13 @@ msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1527
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1540
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1553
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1679
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1706
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:188
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:214
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:249
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:240
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:267
msgid "<ul><li>"
msgstr ""
@ -130,11 +134,15 @@ msgstr "高级设置"
msgid "Advertising Data"
msgstr "【广告屏蔽】数据库"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1700
msgid "AliDNS"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:268
msgid "AliYun Public DNS (223.5.5.5)"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:325
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:367
msgid "Alias"
msgstr "别名"
@ -154,7 +162,7 @@ msgstr "除列表外主机皆允许"
msgid "Allow listed only"
msgstr "仅允许列表内主机"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:255
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:297
msgid "Allow subscribe Insecure nodes By default"
msgstr "订阅节点允许不验证 TLS 证书"
@ -196,8 +204,8 @@ msgstr "Apple 域名更新 URL"
msgid "Apple domains optimization"
msgstr "Apple 域名解析优化"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:357
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:363
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:399
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:405
msgid "Apply"
msgstr "应用"
@ -211,13 +219,17 @@ msgstr "是否真的要恢复客户端默认配置?"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:282
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:313
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1684
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1712
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:172
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:200
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:229
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:246
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:274
msgid "Auto"
msgstr "自动"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:375
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:417
msgid "Auto Switch"
msgstr "自动切换"
@ -498,6 +510,10 @@ msgid "DL Backup"
msgstr "下载备份"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1168
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1690
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1698
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:251
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:259
msgid "DNS"
msgstr ""
@ -509,6 +525,10 @@ msgstr "DNS 防污染服务"
msgid "DNS Query Mode For Shunt Mode"
msgstr "分流模式下的 DNS 查询模式"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1699
msgid "DNSPod"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:267
msgid "DNSPod Public DNS (119.29.29.29)"
msgstr ""
@ -574,7 +594,7 @@ msgstr "延迟ms"
msgid "Delete"
msgstr "删除"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:273
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:315
msgid "Delete All Subscribe Servers"
msgstr "删除所有订阅服务器节点"
@ -630,12 +650,24 @@ msgstr "执行重置"
msgid "Do you want to restore the client to default settings?"
msgstr "是否要恢复客户端默认配置?"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1687
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:249
msgid "DoH"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:230
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:259
msgid "DoT upstream (Need use wolfssl version)"
msgstr "DoT 上游(需使用 wolfssl 版本)"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1677
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:238
msgid "Domain DNS Resolve"
msgstr "域名 DNS 解析"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:419
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1704
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:265
msgid "Domain Strategy"
msgstr "域名解析策略"
@ -692,7 +724,7 @@ msgid "Enable Authentication"
msgstr "启用用户名/密码认证"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:63
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1677
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1736
msgid "Enable Auto Switch"
msgstr "启用自动切换"
@ -834,7 +866,7 @@ msgstr "分流服务器(前置)代理"
msgid "FORCE BRUTAL"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:240
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:282
msgid "Filter Words splited by /"
msgstr "命中关键字的节点将被丢弃。多个关键字用 / 分隔"
@ -1047,16 +1079,39 @@ msgstr "绕过中国大陆 IP 模式"
msgid "IP Stack Preference"
msgstr "IP 栈优先级"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1715
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:277
msgid "IPv4 Only"
msgstr "仅 IPv4"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1716
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:278
msgid "IPv6 Only"
msgstr "仅 IPv6"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:243
msgid "If empty, Not change Apple domains parsing DNS (Default is empty)"
msgstr "如果为空,则不更改 Apple 域名解析 DNS默认为空"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1707
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:268
msgid ""
"If is domain name, The requested domain name will be resolved to IP before "
"connect."
msgstr "如果是域名,域名将在请求发出之前解析为 IP。"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1393
msgid ""
"If it is not empty, it indicates that the Client has enabled Encrypted "
"Client, see:"
msgstr "如果不为空,表示客户端已启用加密客户端,具体请参见:"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1680
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:241
msgid ""
"If the node address is a domain name, this DNS will be used for resolution."
msgstr "如果节点地址是域名,则将使用此 DNS 进行解析。"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:865
msgid "If this option is not set, the socket behavior is platform dependent."
msgstr "如果未设置此选项,则 Socket 行为依赖于平台。"
@ -1108,19 +1163,19 @@ msgstr "无效的格式。"
msgid "KcpTun"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1687
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1746
msgid "KcpTun Enable"
msgstr "KcpTun 启用"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1704
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1763
msgid "KcpTun Param"
msgstr "KcpTun 参数"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1699
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1758
msgid "KcpTun Password"
msgstr "KcpTun 密码"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1693
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1752
msgid "KcpTun Port"
msgstr "KcpTun 端口"
@ -1219,7 +1274,7 @@ msgid "Listen only on the given interface or, if unspecified, on all"
msgstr "仅监听指定的接口,未指定则监听全部。"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:348
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1681
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1740
msgid "Local Port"
msgstr "本地端口"
@ -1403,8 +1458,8 @@ msgstr "噪声"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1140
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1152
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1162
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:322
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:327
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:364
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:369
msgid "None"
msgstr ""
@ -1421,6 +1476,13 @@ msgstr "未运行"
msgid "Not exist"
msgstr "未安装可执行文件"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1681
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1708
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:243
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:270
msgid "Note: For node-specific DNS only. Keep Auto to avoid extra overhead."
msgstr "注意:仅用于节点专用 DNS通常请保持自动以免增加开销。"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/log.lua:27
msgid ""
"Note: Restoring configurations across different versions may cause "
@ -1532,7 +1594,7 @@ msgstr "执行重置"
msgid "Permit Without Stream"
msgstr "允许无数据流"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:351
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:393
msgid "Ping Latency"
msgstr "Ping 延迟"
@ -1564,6 +1626,16 @@ msgstr "预连接"
msgid "Pre-shared key"
msgstr "预共享密钥"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1713
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:275
msgid "Prefer IPv4"
msgstr "IPv4 优先"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1714
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:276
msgid "Prefer IPv6"
msgstr "IPv6 优先"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua:93
msgid "Prefer firewall tools"
msgstr "首选防火墙工具"
@ -1643,7 +1715,7 @@ msgstr "读取缓冲区大小"
msgid "Really reset all changes?"
msgstr "真的重置所有更改吗?"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:361
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:403
msgid "Reapply"
msgstr "重新应用"
@ -1760,7 +1832,7 @@ msgstr "与全局服务器相同"
msgid "Save Order"
msgstr "保存当前顺序"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:244
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:286
msgid "Save Words splited by /"
msgstr ""
"命中关键字的节点将被保留。多个关键字用 / 分隔。此项为空则不启用保留匹配"
@ -1799,7 +1871,7 @@ msgstr "服务器"
msgid "Server Address"
msgstr "服务器地址"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:275
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:317
msgid "Server Count"
msgstr "服务器节点数量"
@ -1810,7 +1882,7 @@ msgstr "服务器节点类型"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:469
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua:96
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server.lua:112
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:330
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:372
msgid "Server Port"
msgstr "端口"
@ -1890,7 +1962,7 @@ msgstr ""
msgid "Short ID"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:335
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:377
msgid "Socket Connected"
msgstr "连接测试"
@ -1931,15 +2003,15 @@ msgstr "专门用于编辑 DNSPROXY 的 DNS 解析文件。"
msgid "Status"
msgstr "状态"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:260
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:302
msgid "Subscribe Default Auto-Switch"
msgstr "订阅新节点自动切换设置"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:238
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:280
msgid "Subscribe Filter Words"
msgstr "订阅节点关键字过滤"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:242
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:284
msgid "Subscribe Save Words"
msgstr "订阅节点关键字保留检查"
@ -1947,11 +2019,11 @@ msgstr "订阅节点关键字保留检查"
msgid "Subscribe URL"
msgstr "SS/SSR/V2/TROJAN/HY2/TUIC 订阅 URL"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:262
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:304
msgid "Subscribe new add server default Auto-Switch on"
msgstr "订阅加入的新节点默认开启自动切换"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:257
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:299
msgid "Subscribe nodes allows insecure connection as TLS client (insecure)"
msgstr "订阅节点强制开启 不验证TLS客户端证书 (insecure)"
@ -1963,10 +2035,20 @@ msgstr "同时支持 AdGuard Home 和 DNSMASQ 格式的过滤列表"
msgid "Supports a fixed value or a random range (e.g., 30, 5-30), minimum 5."
msgstr "支持固定值或随机范围(如 30 或 5-30最小 5 秒。"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:242
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:269
msgid "Supports only Xray node types."
msgstr "仅支持 Xray 类型节点。"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:67
msgid "Switch check cycly(second)"
msgstr "自动切换检查周期(秒)"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1685
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:247
msgid "TCP"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:729
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1667
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua:149
@ -2088,11 +2170,11 @@ msgstr "输入的内容不正确!"
msgid "The keep-alive period.(Unit:second)"
msgstr "心跳包发送间隔(单位:秒)"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:265
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:307
msgid "Through proxy update"
msgstr "通过代理更新"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:267
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:309
msgid "Through proxy update list, Not Recommended"
msgstr "通过路由器自身代理更新订阅"
@ -2137,11 +2219,13 @@ msgid "Trojan"
msgstr ""
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua:412
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:320
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:362
msgid "Type"
msgstr "类型"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:622
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1686
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:248
msgid "UDP"
msgstr ""
@ -2173,7 +2257,7 @@ msgstr "UDP/TCP 上游"
msgid "UL Restore"
msgstr "上传恢复"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:280
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:322
msgid "URL Test Address"
msgstr "URL 测试地址"
@ -2186,12 +2270,12 @@ msgstr "无法复制 SSR 网址到剪贴板。"
msgid "Unknown"
msgstr "未知"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:269
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:311
#: applications/luci-app-ssr-plus/luasrc/view/shadowsocksr/subscribe.htm:16
msgid "Update All Subscribe Servers"
msgstr "更新所有订阅服务器节点"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:246
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:288
msgid "Update Subscribe List"
msgstr "更新订阅 URL 列表"
@ -2199,7 +2283,7 @@ msgstr "更新订阅 URL 列表"
msgid "Update cycle (Day/Week)"
msgstr "更新周期(天/周)"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:248
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:290
msgid "Update subscribe url list first"
msgstr "修改订阅 URL 和节点关键字后,请先点击更新"
@ -2271,7 +2355,7 @@ msgid "User cancelled."
msgstr "用户已取消。"
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua:1268
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:290
#: applications/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua:332
msgid "User-Agent"
msgstr "用户代理(User-Agent)"

File diff suppressed because it is too large Load Diff

View File

@ -23,20 +23,24 @@ local nodeResult = setmetatable({}, {__index = cache}) -- update result
local name = 'shadowsocksr'
local uciType = 'servers'
local ucic = require "luci.model.uci".cursor()
local proxy = ucic:get_first(name, 'server_subscribe', 'proxy', '0')
local switch = ucic:get_first(name, 'server_subscribe', 'switch', '1')
local allow_insecure = ucic:get_first(name, 'server_subscribe', 'allow_insecure', '0')
local subscribe_url = ucic:get_first(name, 'server_subscribe', 'subscribe_url', {})
local filter_words = ucic:get_first(name, 'server_subscribe', 'filter_words', '过期时间/剩余流量')
local save_words = ucic:get_first(name, 'server_subscribe', 'save_words', '')
local user_agent = ucic:get_first(name, 'server_subscribe', 'user_agent', 'v2rayN/9.99')
local proxy = ucic:get_first(name, 'server_subscribe', 'proxy') or '0'
local switch = ucic:get_first(name, 'server_subscribe', 'switch') or '1'
local allow_insecure = ucic:get_first(name, 'server_subscribe', 'allow_insecure') or '0'
local subscribe_url = ucic:get_first(name, 'server_subscribe', 'subscribe_url') or {}
local filter_words = ucic:get_first(name, 'server_subscribe', 'filter_words') or '过期时间/剩余流量'
local save_words = ucic:get_first(name, 'server_subscribe', 'save_words') or ''
local user_agent = ucic:get_first(name, 'server_subscribe', 'user_agent') or 'v2rayN/9.99'
local domain_resolver = ucic:get_first(name, 'server_subscribe', 'domain_resolver') or ''
local domain_resolver_dns = ucic:get_first(name, 'server_subscribe', 'domain_resolver_dns') or ''
local domain_resolver_dns_https = ucic:get_first(name, 'server_subscribe', 'domain_resolver_dns_https') or ''
local domain_strategy = ucic:get_first(name, 'server_subscribe', 'domain_strategy') or ''
-- 读取 ss_type 设置
local ss_type = ucic:get_first(name, 'server_subscribe', 'ss_type')
local ss_type = ucic:get_first(name, 'server_subscribe', 'ss_type') or ''
-- 读取 xray_hy2_type 设置
local xray_hy2_type = ucic:get_first(name, 'server_subscribe', 'xray_hy2_type')
local xray_hy2_type = ucic:get_first(name, 'server_subscribe', 'xray_hy2_type') or ''
-- 读取 xray_tj_type 设置
local xray_tj_type = ucic:get_first(name, 'server_subscribe', 'xray_tj_type')
local xray_tj_type = ucic:get_first(name, 'server_subscribe', 'xray_tj_type') or ''
local has_ss_rust = luci.sys.exec('type -t -p sslocal 2>/dev/null || type -t -p ssserver 2>/dev/null') ~= ""
local has_ss_libev = luci.sys.exec('type -t -p ss-redir 2>/dev/null || type -t -p ss-local 2>/dev/null') ~= ""
@ -1755,6 +1759,24 @@ local execute = function()
if section then
ucic:tset(name, section, vv)
ucic:set(name, section, "switch_enable", switch)
-- 为 Xray 节点添加域名解析配置
if vv.type == "v2ray" then
if domain_resolver and domain_resolver ~= "" then
ucic:set(name, section, "domain_resolver", domain_resolver)
if domain_resolver == "https" then
if domain_resolver_dns_https and domain_resolver_dns_https ~= "" then
ucic:set(name, section, "domain_resolver_dns_https", domain_resolver_dns_https)
end
else
if domain_resolver_dns and domain_resolver_dns ~= "" then
ucic:set(name, section, "domain_resolver_dns", domain_resolver_dns)
end
end
end
if domain_strategy and domain_strategy ~= "" then
ucic:set(name, section, "domain_strategy", domain_strategy)
end
end
add = add + 1
end
end

View File

@ -9,7 +9,7 @@ LUCI_TITLE:=Design Theme
LUCI_DEPENDS:=
PKG_LICENSE:=Apache-2.0
PKG_VERSION:=7.1
PKG_RELEASE:=3
PKG_RELEASE:=4
LUCI_MINIFY_CSS:=
CONFIG_LUCI_CSSTIDY:=

View File

@ -65,6 +65,18 @@
});
}
function getOverviewPortColumns(width, cardCount) {
if (width <= 480) {
return 1;
}
if (width <= 768) {
return Math.min(cardCount, 2);
}
return Math.min(cardCount, 8);
}
function syncOverviewPortStatus() {
var view = document.getElementById('view');
var portGroups = new Map();
@ -186,7 +198,7 @@
portGroups.forEach(function (cards, parent) {
var width = window.innerWidth || document.documentElement.clientWidth || 1280;
var columns;
var columns = getOverviewPortColumns(width, cards.length);
cards.forEach(function (card) {
var body = card.querySelector('.ifacebox-body');
@ -220,18 +232,6 @@
}
});
if (width <= 480) {
columns = 1;
} else if (width <= 768) {
columns = Math.min(cards.length, 2);
} else if (cards.length <= 4) {
columns = cards.length;
} else if (cards.length <= 6) {
columns = 3;
} else {
columns = 4;
}
parent.style.setProperty('display', 'grid', 'important');
parent.style.setProperty('grid-template-columns', 'repeat(' + columns + ', minmax(0, 1fr))', 'important');
parent.style.setProperty('align-items', 'stretch', 'important');
@ -258,6 +258,8 @@
childList: true,
subtree: true
});
window.addEventListener('resize', syncOverviewPortStatus);
}
function syncNetworkInterfaceIcons() {

View File

@ -1,5 +1,6 @@
'use strict';
'require baseclass';
'require fs';
'require request';
'require ui';
@ -15,15 +16,60 @@ return baseclass.extend({
window.location.hash);
}
this.dynamicMenuTargets = {};
this.syncConditionalMenuCache()
.then(L.bind(function(reloading) {
if (reloading)
return;
return ui.menu.load().then(L.bind(this.render, this));
return this.resolveDynamicMenuTargets()
.then(L.bind(function() {
return ui.menu.load().then(L.bind(this.render, this));
}, this));
}, this));
},
resolveDynamicMenuTargets: function() {
this.dynamicMenuTargets = {};
if (!document.body.classList.contains('logged-in'))
return Promise.resolve();
return this.resolveFirewallMenuTarget().then(L.bind(function(target) {
if (target)
this.dynamicMenuTargets['admin/status/nftables'] = target;
}, this));
},
resolveFirewallMenuTarget: function() {
return L.resolveDefault(fs.exec_direct('/usr/sbin/nft', [ '--terse', '--json', 'list', 'ruleset' ], 'json'), null).then(function(nft) {
var hasTables = false;
if (!Array.isArray(nft && nft.nftables))
return null;
for (var i = 0; i < nft.nftables.length; i++) {
if (nft.nftables[i] && nft.nftables[i].hasOwnProperty('table')) {
hasTables = true;
break;
}
}
return hasTables ? null : 'admin/status/nftables/iptables';
});
},
getMenuHref: function(url, child) {
var path = [ url, child.name ].filter(Boolean).join('/'),
target = this.dynamicMenuTargets[path];
if (target)
return L.url.apply(L, target.split('/'));
return L.url(url, child.name);
},
reloadPageWithMenuFlush: function() {
var url = new URL(window.location.href);
@ -180,11 +226,11 @@ return baseclass.extend({
ul.classList.add('active');
slideClass += " active";
menuClass += " active";
}
}
ul.appendChild(E('li', { 'class': slideClass }, [
E('a', {
'href': L.url(url, children[i].name),
'href': this.getMenuHref(url, children[i]),
'click': (l == 1) ? ui.createHandlerFn(this, 'handleMenuExpand') : null,
'class': menuClass,
'data-title': hasChildren ? children[i].title.replace(" ", "_") : children[i].title.replace(" ", "_"),

View File

@ -2,13 +2,13 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=mihomo-alpha
PKG_VERSION:=2026.04.20
PKG_RELEASE:=4
PKG_RELEASE:=5
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git
PKG_SOURCE_VERSION:=a84724665eb7f989809abe463c05f5723bd24975
PKG_SOURCE_VERSION:=c59c99a051c5c4fb3c2a7454d7c00fea9a8ee4bb
PKG_MIRROR_HASH:=skip
PKG_LICENSE:=GPL3.0+
@ -18,7 +18,7 @@ PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_PARALLEL:=1
PKG_BUILD_FLAGS:=no-mips16
PKG_BUILD_VERSION:=alpha-a8472466
PKG_BUILD_VERSION:=alpha-c59c99a0
PKG_BUILD_TIME:=$(shell date -u -Iseconds)
GO_PKG:=github.com/metacubex/mihomo

View File

@ -1,14 +1,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=mihomo-meta
PKG_VERSION:=1.19.23
PKG_RELEASE:=2
PKG_VERSION:=1.19.24
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/MetaCubeX/mihomo.git
PKG_SOURCE_VERSION:=v1.19.23
PKG_SOURCE_VERSION:=v1.19.24
PKG_MIRROR_HASH:=skip
PKG_LICENSE:=GPL3.0+
@ -18,7 +18,7 @@ PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_PARALLEL:=1
PKG_BUILD_FLAGS:=no-mips16
PKG_BUILD_VERSION:=v1.19.23
PKG_BUILD_VERSION:=v1.19.24
PKG_BUILD_TIME:=$(shell date -u -Iseconds)
GO_PKG:=github.com/metacubex/mihomo

View File

@ -10,8 +10,8 @@ include $(TOPDIR)/rules.mk
PKG_ARCH_quickstart:=$(ARCH)
PKG_NAME:=quickstart
PKG_VERSION:=0.11.15
PKG_RELEASE:=2
PKG_VERSION:=0.12.1
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-binary-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/linkease/istore-packages/releases/download/prebuilt/
PKG_HASH:=skip