✨ Sync 2026-08-09 19:12:46

This commit is contained in:
github-actions[bot] committed 2026-08-09 19:12:46 +08:00
1 parent 81403f1614
commit 80095dfd81
12 files changed
+110 -26

No files matched your search

+1 -1
View File
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall2
PKG_VERSION:=26.8.7
PKG_RELEASE:=72
PKG_RELEASE:=73
PKG_PO_VERSION:=$(PKG_VERSION)
PKG_CONFIG_DEPENDS:= \
@@ -518,8 +518,39 @@ o = s:option(Flag, _n("use_mldsa65Verify"), translate("ML-DSA-65"))
o.default = "0"
o:depends({ [_n("tls")] = true, [_n("reality")] = true })
o = s:option(Value, _n("cipherSuites"), translate("Cipher Suites"), '<a href="https://go.dev/src/crypto/tls/cipher_suites.go#L44" target="_blank">***</a>' .. " " .. translate("Configures the list of supported cipher suites, separated by :"))
o = s:option(DynamicList, _n("cipherSuites"), translate("Cipher Suites"), '<a href="https://go.dev/src/crypto/tls/cipher_suites.go#L44" target="_blank">***</a>' .. " " .. translate("Configures the list of supported cipher suites."))
o:value("TLS_AES_128_GCM_SHA256")
o:value("TLS_AES_256_GCM_SHA384")
o:value("TLS_CHACHA20_POLY1305_SHA256")
o:value("TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA")
o:value("TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA")
o:value("TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA")
o:value("TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA")
o:value("TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256")
o:value("TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384")
o:value("TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256")
o:value("TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384")
o:value("TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256")
o:value("TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256")
o:depends({ [_n("tls")] = true, [_n("reality")] = false })
function o.custom_write(self, section, value)
local t = {}
local t2 = {}
if type(value) == "table" then
local x
for _, x in ipairs(value) do
if x and #x > 0 then
if not t2[x] then
t2[x] = x
t[#t+1] = x
end
end
end
else
t = { value }
end
m:set(section, self.option:sub(1 + #option_prefix), t)
end
o = s:option(TextValue, _n("reality_mldsa65Verify"), "ML-DSA-65 " .. translate("Public key"))
o.default = ""
@@ -574,8 +574,39 @@ o.validate = function(self, value)
return value
end
o = s:option(Value, _n("cipherSuites"), translate("Cipher Suites"), '<a href="https://go.dev/src/crypto/tls/cipher_suites.go#L44" target="_blank">***</a>' .. " " .. translate("Configures the list of supported cipher suites, separated by :"))
o = s:option(DynamicList, _n("cipherSuites"), translate("Cipher Suites"), '<a href="https://go.dev/src/crypto/tls/cipher_suites.go#L44" target="_blank">***</a>' .. " " .. translate("Configures the list of supported cipher suites."))
o:value("TLS_AES_128_GCM_SHA256")
o:value("TLS_AES_256_GCM_SHA384")
o:value("TLS_CHACHA20_POLY1305_SHA256")
o:value("TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA")
o:value("TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA")
o:value("TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA")
o:value("TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA")
o:value("TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256")
o:value("TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384")
o:value("TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256")
o:value("TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384")
o:value("TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256")
o:value("TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256")
o:depends({ [_n("tls")] = true })
function o.custom_write(self, section, value)
local t = {}
local t2 = {}
if type(value) == "table" then
local x
for _, x in ipairs(value) do
if x and #x > 0 then
if not t2[x] then
t2[x] = x
t[#t+1] = x
end
end
end
else
t = { value }
end
m:set(section, self.option:sub(1 + #option_prefix), t)
end
o = s:option(Flag, _n("ech"), translate("ECH"))
o.default = "0"
@@ -96,6 +96,21 @@ local function get_log_level(s)
return s
end
--[[
local cipherSuites = {
"TLS_AES_128_GCM_SHA256", "TLS_AES_256_GCM_SHA384", "TLS_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"
}
local cipherSuites_lookup = {}
for i, v in ipairs(cipherSuites) do
cipherSuites_lookup[v] = true
end
]]--
function parseDNS(str)
local result_dns_server
-- [proto]://[ip]
@@ -261,7 +276,7 @@ function gen_outbound(flag, node, tag, proxy_table)
fragment = fragment,
record_fragment = record_fragment,
certificate = (node.tls_certificate == "1" and node.tls_certificate_pem ~= "") and split(node.tls_certificate_pem, "\n") or nil,
cipher_suites = (node.cipherSuites and node.cipherSuites ~= "") and api.split(node.cipherSuites, ":") or nil,
cipher_suites = (node.cipherSuites and #node.cipherSuites > 0) and node.cipherSuites or nil,
ech = (node.ech == "1") and (function()
local function get_ech_domain(s) --兼容xray "域名+DNS" 格式ech
local domain, dns = s:match("^([^+]+)%+(.+)$")
@@ -36,6 +36,21 @@ local function get_log_level(s)
return s
end
--[[
local cipherSuites = {
"TLS_AES_128_GCM_SHA256", "TLS_AES_256_GCM_SHA384", "TLS_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"
}
local cipherSuites_lookup = {}
for i, v in ipairs(cipherSuites) do
cipherSuites_lookup[v] = true
end
]]--
function parseDNS(str)
local result_dns_server
-- [proto]://[ip]
@@ -195,7 +210,7 @@ function gen_outbound(flag, node, tag, proxy_table)
certificate = api.split(node.tls_certificate_pem, "\n"),
usage = "verify"
} or nil,
cipherSuites = node.cipherSuites or nil
cipherSuites = (node.cipherSuites and #node.cipherSuites > 0) and table.concat(node.cipherSuites, ":") or nil,
} or nil,
realitySettings = (node.stream_security == "reality") and {
serverName = node.tls_serverName,
@@ -38,12 +38,8 @@
text-align: right;
}
#cbi-passwall2+.cbi-page-actions.control-group.fixed {
bottom: 3.3rem;
}
footer{
display:block !important;
.pure-u-1-2, .pure-u-12-24 {
width: 50%;
}
@media screen and (max-width: 700px) {
+2 -2
View File
@@ -2441,5 +2441,5 @@ msgstr "تنظیم نشده"
msgid "Cipher Suites"
msgstr "سوئیت‌های رمزدار"
msgid "Configures the list of supported cipher suites, separated by :"
msgstr "فهرست مجموعه‌های رمز پشتیبانی‌شده را که با موارد زیر از هم جدا شده‌اند، پیکربندی می‌کند:"
msgid "Configures the list of supported cipher suites."
msgstr "فهرست مجموعه‌های رمز پشتیبانی‌شده را پیکربندی می‌کند."
+2 -2
View File
@@ -2439,5 +2439,5 @@ msgstr "Не задано"
msgid "Cipher Suites"
msgstr "Наборы шифров"
msgid "Configures the list of supported cipher suites, separated by :"
msgstr "Задает список поддерживаемых наборов шифров, разделенных двоеточием (:)."
msgid "Configures the list of supported cipher suites."
msgstr "Задает список поддерживаемых наборов шифров."
+2 -2
View File
@@ -2427,5 +2427,5 @@ msgstr "未设置"
msgid "Cipher Suites"
msgstr "密码套件"
msgid "Configures the list of supported cipher suites, separated by :"
msgstr "配置支持的密码套件列表,以冒号 (:) 分隔。"
msgid "Configures the list of supported cipher suites."
msgstr "配置支持的密码套件列表。"
+2 -2
View File
@@ -2433,5 +2433,5 @@ msgstr "未設置"
msgid "Cipher Suites"
msgstr "密碼套件"
msgid "Configures the list of supported cipher suites, separated by :"
msgstr "配置支援的密碼套件列表,以冒號 (:) 分隔。"
msgid "Configures the list of supported cipher suites."
msgstr "配置支援的密碼套件列表。"
+1 -1
View File
@@ -4,7 +4,7 @@ LUCI_TITLE:=luci-app-ssr-plus
LUCI_PKGARCH:=all
PKG_NAME:=luci-app-ssr-plus
PKG_VERSION:=196
PKG_RELEASE:=54
PKG_RELEASE:=55
PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy \
@@ -38,12 +38,8 @@
text-align: right;
}
#cbi-shadowsocksr+.cbi-page-actions.control-group.fixed {
bottom: 3.3rem;
}
footer{
display:block !important;
.pure-u-1-2, .pure-u-12-24 {
width: 50%;
}
@media screen and (max-width: 700px) {