mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-30 07:55:13 +08:00
✨ Sync 2026-08-09 19:12:46
This commit is contained in:
1 parent
81403f1614
commit
80095dfd81
12 files changed
+110
-26
No files matched your search
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=luci-app-passwall2
|
PKG_NAME:=luci-app-passwall2
|
||||||
PKG_VERSION:=26.8.7
|
PKG_VERSION:=26.8.7
|
||||||
PKG_RELEASE:=72
|
PKG_RELEASE:=73
|
||||||
PKG_PO_VERSION:=$(PKG_VERSION)
|
PKG_PO_VERSION:=$(PKG_VERSION)
|
||||||
|
|
||||||
PKG_CONFIG_DEPENDS:= \
|
PKG_CONFIG_DEPENDS:= \
|
||||||
|
|||||||
@@ -518,8 +518,39 @@ o = s:option(Flag, _n("use_mldsa65Verify"), translate("ML-DSA-65"))
|
|||||||
o.default = "0"
|
o.default = "0"
|
||||||
o:depends({ [_n("tls")] = true, [_n("reality")] = true })
|
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 })
|
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 = s:option(TextValue, _n("reality_mldsa65Verify"), "ML-DSA-65 " .. translate("Public key"))
|
||||||
o.default = ""
|
o.default = ""
|
||||||
|
|||||||
@@ -574,8 +574,39 @@ o.validate = function(self, value)
|
|||||||
return value
|
return value
|
||||||
end
|
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 })
|
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 = s:option(Flag, _n("ech"), translate("ECH"))
|
||||||
o.default = "0"
|
o.default = "0"
|
||||||
|
|||||||
@@ -96,6 +96,21 @@ local function get_log_level(s)
|
|||||||
return s
|
return s
|
||||||
end
|
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)
|
function parseDNS(str)
|
||||||
local result_dns_server
|
local result_dns_server
|
||||||
-- [proto]://[ip]
|
-- [proto]://[ip]
|
||||||
@@ -261,7 +276,7 @@ function gen_outbound(flag, node, tag, proxy_table)
|
|||||||
fragment = fragment,
|
fragment = fragment,
|
||||||
record_fragment = record_fragment,
|
record_fragment = record_fragment,
|
||||||
certificate = (node.tls_certificate == "1" and node.tls_certificate_pem ~= "") and split(node.tls_certificate_pem, "\n") or nil,
|
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()
|
ech = (node.ech == "1") and (function()
|
||||||
local function get_ech_domain(s) --兼容xray "域名+DNS" 格式ech
|
local function get_ech_domain(s) --兼容xray "域名+DNS" 格式ech
|
||||||
local domain, dns = s:match("^([^+]+)%+(.+)$")
|
local domain, dns = s:match("^([^+]+)%+(.+)$")
|
||||||
|
|||||||
@@ -36,6 +36,21 @@ local function get_log_level(s)
|
|||||||
return s
|
return s
|
||||||
end
|
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)
|
function parseDNS(str)
|
||||||
local result_dns_server
|
local result_dns_server
|
||||||
-- [proto]://[ip]
|
-- [proto]://[ip]
|
||||||
@@ -195,7 +210,7 @@ function gen_outbound(flag, node, tag, proxy_table)
|
|||||||
certificate = api.split(node.tls_certificate_pem, "\n"),
|
certificate = api.split(node.tls_certificate_pem, "\n"),
|
||||||
usage = "verify"
|
usage = "verify"
|
||||||
} or nil,
|
} or nil,
|
||||||
cipherSuites = node.cipherSuites or nil
|
cipherSuites = (node.cipherSuites and #node.cipherSuites > 0) and table.concat(node.cipherSuites, ":") or nil,
|
||||||
} or nil,
|
} or nil,
|
||||||
realitySettings = (node.stream_security == "reality") and {
|
realitySettings = (node.stream_security == "reality") and {
|
||||||
serverName = node.tls_serverName,
|
serverName = node.tls_serverName,
|
||||||
|
|||||||
@@ -38,12 +38,8 @@
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
#cbi-passwall2+.cbi-page-actions.control-group.fixed {
|
.pure-u-1-2, .pure-u-12-24 {
|
||||||
bottom: 3.3rem;
|
width: 50%;
|
||||||
}
|
|
||||||
|
|
||||||
footer{
|
|
||||||
display:block !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 700px) {
|
@media screen and (max-width: 700px) {
|
||||||
|
|||||||
@@ -2441,5 +2441,5 @@ msgstr "تنظیم نشده"
|
|||||||
msgid "Cipher Suites"
|
msgid "Cipher Suites"
|
||||||
msgstr "سوئیتهای رمزدار"
|
msgstr "سوئیتهای رمزدار"
|
||||||
|
|
||||||
msgid "Configures the list of supported cipher suites, separated by :"
|
msgid "Configures the list of supported cipher suites."
|
||||||
msgstr "فهرست مجموعههای رمز پشتیبانیشده را که با موارد زیر از هم جدا شدهاند، پیکربندی میکند:"
|
msgstr "فهرست مجموعههای رمز پشتیبانیشده را پیکربندی میکند."
|
||||||
@@ -2439,5 +2439,5 @@ msgstr "Не задано"
|
|||||||
msgid "Cipher Suites"
|
msgid "Cipher Suites"
|
||||||
msgstr "Наборы шифров"
|
msgstr "Наборы шифров"
|
||||||
|
|
||||||
msgid "Configures the list of supported cipher suites, separated by :"
|
msgid "Configures the list of supported cipher suites."
|
||||||
msgstr "Задает список поддерживаемых наборов шифров, разделенных двоеточием (:)."
|
msgstr "Задает список поддерживаемых наборов шифров."
|
||||||
@@ -2427,5 +2427,5 @@ msgstr "未设置"
|
|||||||
msgid "Cipher Suites"
|
msgid "Cipher Suites"
|
||||||
msgstr "密码套件"
|
msgstr "密码套件"
|
||||||
|
|
||||||
msgid "Configures the list of supported cipher suites, separated by :"
|
msgid "Configures the list of supported cipher suites."
|
||||||
msgstr "配置支持的密码套件列表,以冒号 (:) 分隔。"
|
msgstr "配置支持的密码套件列表。"
|
||||||
@@ -2433,5 +2433,5 @@ msgstr "未設置"
|
|||||||
msgid "Cipher Suites"
|
msgid "Cipher Suites"
|
||||||
msgstr "密碼套件"
|
msgstr "密碼套件"
|
||||||
|
|
||||||
msgid "Configures the list of supported cipher suites, separated by :"
|
msgid "Configures the list of supported cipher suites."
|
||||||
msgstr "配置支援的密碼套件列表,以冒號 (:) 分隔。"
|
msgstr "配置支援的密碼套件列表。"
|
||||||
@@ -4,7 +4,7 @@ LUCI_TITLE:=luci-app-ssr-plus
|
|||||||
LUCI_PKGARCH:=all
|
LUCI_PKGARCH:=all
|
||||||
PKG_NAME:=luci-app-ssr-plus
|
PKG_NAME:=luci-app-ssr-plus
|
||||||
PKG_VERSION:=196
|
PKG_VERSION:=196
|
||||||
PKG_RELEASE:=54
|
PKG_RELEASE:=55
|
||||||
|
|
||||||
PKG_CONFIG_DEPENDS:= \
|
PKG_CONFIG_DEPENDS:= \
|
||||||
CONFIG_PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy \
|
CONFIG_PACKAGE_$(PKG_NAME)_Iptables_Transparent_Proxy \
|
||||||
|
|||||||
@@ -38,12 +38,8 @@
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
#cbi-shadowsocksr+.cbi-page-actions.control-group.fixed {
|
.pure-u-1-2, .pure-u-12-24 {
|
||||||
bottom: 3.3rem;
|
width: 50%;
|
||||||
}
|
|
||||||
|
|
||||||
footer{
|
|
||||||
display:block !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 700px) {
|
@media screen and (max-width: 700px) {
|
||||||
|
|||||||
Reference in new issue
Block a user