⛅ Sync 2026-04-01 08:55:04

This commit is contained in:
github-actions[bot] committed 2026-04-01 08:55:04 +08:00
1 parent 880f3ecf93
commit dae86ac53e
3 files changed
+35 -18

No files matched your search

+1 -1
View File
@@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall PKG_NAME:=luci-app-passwall
PKG_VERSION:=26.3.6 PKG_VERSION:=26.4.1
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_PO_VERSION:=$(PKG_VERSION) PKG_PO_VERSION:=$(PKG_VERSION)
@@ -1063,7 +1063,10 @@ local current_node = map:get(section)
opt.set(dom_prefix + 'reality', false); opt.set(dom_prefix + 'reality', false);
opt.set(dom_prefix + 'alpn', queryParam.alpn || 'default'); opt.set(dom_prefix + 'alpn', queryParam.alpn || 'default');
opt.set(dom_prefix + 'tls_serverName', queryParam.sni || ''); opt.set(dom_prefix + 'tls_serverName', queryParam.sni || '');
opt.set(dom_prefix + 'tls_allowInsecure', !((queryParam.allowinsecure ?? '0') === '0' && (queryParam.insecure ?? '0') === '0')); opt.set(
dom_prefix + 'tls_allowInsecure',
!((queryParam.allowinsecure ?? '0') === '0' && (queryParam.allowInsecure ?? '0') === '0' && (queryParam.insecure ?? '0') === '0')
);
if (queryParam.fp && queryParam.fp.trim() != "") { if (queryParam.fp && queryParam.fp.trim() != "") {
opt.set(dom_prefix + 'utls', true); opt.set(dom_prefix + 'utls', true);
opt.set(dom_prefix + 'fingerprint', queryParam.fp); opt.set(dom_prefix + 'fingerprint', queryParam.fp);
@@ -1234,7 +1237,7 @@ local current_node = map:get(section)
var params; var params;
for (var i = 0; i < queryArray.length; i++) { for (var i = 0; i < queryArray.length; i++) {
params = queryArray[i].split('='); params = queryArray[i].split('=');
queryParam[decodeURIComponent(params[0]).toLowerCase()] = decodeURIComponent(params[1] || ''); queryParam[decodeURIComponent(params[0])] = decodeURIComponent(params[1] || '');
} }
} }
opt.set(dom_prefix + 'address', unbracketIP(m.hostname)); opt.set(dom_prefix + 'address', unbracketIP(m.hostname));
@@ -1314,7 +1317,10 @@ local current_node = map:get(section)
opt.set(dom_prefix + 'tls_CertSha', queryParam.pcs || ''); opt.set(dom_prefix + 'tls_CertSha', queryParam.pcs || '');
opt.set(dom_prefix + 'tls_CertByName', queryParam.vcn || ''); opt.set(dom_prefix + 'tls_CertByName', queryParam.vcn || '');
} }
opt.set(dom_prefix + 'tls_allowInsecure', !((queryParam.allowinsecure ?? '0') === '0' && (queryParam.insecure ?? '0') === '0')); opt.set(
dom_prefix + 'tls_allowInsecure',
!((queryParam.allowinsecure ?? '0') === '0' && (queryParam.allowInsecure ?? '0') === '0' && (queryParam.insecure ?? '0') === '0')
);
opt.set(dom_prefix + 'tcp_fast_open', queryParam.tfo); opt.set(dom_prefix + 'tcp_fast_open', queryParam.tfo);
opt.set(dom_prefix + 'use_finalmask', !!queryParam.fm); opt.set(dom_prefix + 'use_finalmask', !!queryParam.fm);
opt.set(dom_prefix + 'finalmask', queryParam.fm || ""); opt.set(dom_prefix + 'finalmask', queryParam.fm || "");
@@ -1347,7 +1353,10 @@ local current_node = map:get(section)
opt.set(dom_prefix + 'tls', ssm.tls === "tls"); opt.set(dom_prefix + 'tls', ssm.tls === "tls");
if (ssm.tls === "tls") { if (ssm.tls === "tls") {
opt.set(dom_prefix + 'tls_serverName', ssm.sni || ssm.host); opt.set(dom_prefix + 'tls_serverName', ssm.sni || ssm.host);
opt.set(dom_prefix + 'tls_allowInsecure', !((ssm.allowinsecure ?? '0') === '0' && (ssm.insecure ?? '0') === '0')); opt.set(
dom_prefix + 'tls_allowInsecure',
!((ssm.allowinsecure ?? '0') === '0' && (ssm.allowInsecure ?? '0') === '0' && (ssm.insecure ?? '0') === '0')
);
} }
ssm.net = ssm.net.toLowerCase(); ssm.net = ssm.net.toLowerCase();
if (ssm.net === "kcp" || ssm.net === "mkcp") if (ssm.net === "kcp" || ssm.net === "mkcp")
@@ -1459,7 +1468,10 @@ local current_node = map:get(section)
opt.set(dom_prefix + 'reality', false); opt.set(dom_prefix + 'reality', false);
opt.set(dom_prefix + 'alpn', queryParam.alpn || 'default'); opt.set(dom_prefix + 'alpn', queryParam.alpn || 'default');
opt.set(dom_prefix + 'tls_serverName', queryParam.sni || ''); opt.set(dom_prefix + 'tls_serverName', queryParam.sni || '');
opt.set(dom_prefix + 'tls_allowInsecure', !((queryParam.allowinsecure ?? '0') === '0' && (queryParam.insecure ?? '0') === '0')); opt.set(
dom_prefix + 'tls_allowInsecure',
!((queryParam.allowinsecure ?? '0') === '0' && (queryParam.allowInsecure ?? '0') === '0' && (queryParam.insecure ?? '0') === '0')
);
if (queryParam.fp && queryParam.fp.trim() != "") { if (queryParam.fp && queryParam.fp.trim() != "") {
opt.set(dom_prefix + 'utls', true); opt.set(dom_prefix + 'utls', true);
opt.set(dom_prefix + 'fingerprint', queryParam.fp); opt.set(dom_prefix + 'fingerprint', queryParam.fp);
@@ -1617,7 +1629,10 @@ local current_node = map:get(section)
opt.set(dom_prefix + 'port', m.port || "443"); opt.set(dom_prefix + 'port', m.port || "443");
opt.set(dom_prefix + 'tls_serverName', queryParam.sni || ""); opt.set(dom_prefix + 'tls_serverName', queryParam.sni || "");
opt.set(dom_prefix + 'tls_allowInsecure', !((queryParam.allowinsecure ?? '0') === '0' && (queryParam.insecure ?? '0') === '0')); opt.set(
dom_prefix + 'tls_allowInsecure',
!((queryParam.allowinsecure ?? '0') === '0' && (queryParam.allowInsecure ?? '0') === '0' && (queryParam.insecure ?? '0') === '0')
);
opt.set(dom_prefix + 'tls_CertSha', queryParam.pcs || ''); opt.set(dom_prefix + 'tls_CertSha', queryParam.pcs || '');
opt.set(dom_prefix + 'tls_CertByName', queryParam.vcn || ''); opt.set(dom_prefix + 'tls_CertByName', queryParam.vcn || '');
if (m.hash) { if (m.hash) {
@@ -1657,7 +1672,7 @@ local current_node = map:get(section)
var params; var params;
for (i = 0; i < queryArray.length; i++) { for (i = 0; i < queryArray.length; i++) {
params = queryArray[i].split('='); params = queryArray[i].split('=');
queryParam[decodeURIComponent(params[0])] = decodeURIComponent(params[1] || ''); queryParam[decodeURIComponent(params[0]).toLowerCase()] = decodeURIComponent(params[1] || '');
} }
} }
opt.set(dom_prefix + 'tuic_congestion_control', queryParam.congestion_control || 'cubic'); opt.set(dom_prefix + 'tuic_congestion_control', queryParam.congestion_control || 'cubic');
@@ -1665,7 +1680,10 @@ local current_node = map:get(section)
opt.set(dom_prefix + 'tuic_alpn', queryParam.alpn || 'default'); opt.set(dom_prefix + 'tuic_alpn', queryParam.alpn || 'default');
opt.set(dom_prefix + 'tls_serverName', queryParam.sni || ''); opt.set(dom_prefix + 'tls_serverName', queryParam.sni || '');
opt.set(dom_prefix + 'tls_disable_sni', queryParam.disable_sni === "1"); opt.set(dom_prefix + 'tls_disable_sni', queryParam.disable_sni === "1");
opt.set(dom_prefix + 'tls_allowInsecure', !((queryParam.allowinsecure ?? '0') === '0' && (queryParam.insecure ?? '0') === '0' && (queryParam.allow_insecure ?? '0') === '0')); opt.set(
dom_prefix + 'tls_allowInsecure',
!((queryParam.allowinsecure ?? '0') === '0' && (queryParam.insecure ?? '0') === '0' && (queryParam.allow_insecure ?? '0') === '0')
);
if (hash) { if (hash) {
opt.set('remarks', decodeURIComponent(hash.substr(1))); opt.set('remarks', decodeURIComponent(hash.substr(1)));
} }
@@ -1693,7 +1711,7 @@ local current_node = map:get(section)
var params; var params;
for (i = 0; i < queryArray.length; i++) { for (i = 0; i < queryArray.length; i++) {
params = queryArray[i].split('='); params = queryArray[i].split('=');
queryParam[decodeURIComponent(params[0])] = decodeURIComponent(params[1] || ''); queryParam[decodeURIComponent(params[0]).toLowerCase()] = decodeURIComponent(params[1] || '');
} }
} }
if ((!queryParam.security || queryParam.security == "") && queryParam.sni && queryParam.sni != "") { if ((!queryParam.security || queryParam.security == "") && queryParam.sni && queryParam.sni != "") {
@@ -604,7 +604,7 @@ local function processData(szType, content, add_mode, group)
result.tls_serverName = (info.sni and info.sni ~= "") and info.sni or info.host result.tls_serverName = (info.sni and info.sni ~= "") and info.sni or info.host
result.tls_CertSha = info.pcs result.tls_CertSha = info.pcs
result.tls_CertByName = info.vcn result.tls_CertByName = info.vcn
local insecure = info.allowinsecure or info.insecure local insecure = info.allowinsecure or info.allowInsecure or info.insecure
result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (allowInsecure_default and "1" or "0") result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (allowInsecure_default and "1" or "0")
else else
result.tls = "0" result.tls = "0"
@@ -890,7 +890,7 @@ local function processData(szType, content, add_mode, group)
result.reality_mldsa65Verify = params.pqv or nil result.reality_mldsa65Verify = params.pqv or nil
end end
end end
local insecure = params.allowinsecure or params.insecure local insecure = params.allowinsecure or params.allowInsecure or params.insecure
result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (allowInsecure_default and "1" or "0") result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (allowInsecure_default and "1" or "0")
result.uot = params.udp result.uot = params.udp
elseif (params.type ~= "tcp" and params.type ~= "raw") and (params.headerType and params.headerType ~= "none") then elseif (params.type ~= "tcp" and params.type ~= "raw") and (params.headerType and params.headerType ~= "none") then
@@ -995,7 +995,7 @@ local function processData(szType, content, add_mode, group)
result.tls_serverName = params.peer or params.sni or "" result.tls_serverName = params.peer or params.sni or ""
result.tls_CertSha = params.pcs result.tls_CertSha = params.pcs
result.tls_CertByName = params.vcn result.tls_CertByName = params.vcn
local insecure = params.allowinsecure or params.insecure local insecure = params.allowinsecure or params.allowInsecure or params.insecure
result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (allowInsecure_default and "1" or "0") result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (allowInsecure_default and "1" or "0")
if not params.type then params.type = "tcp" end if not params.type then params.type = "tcp" end
@@ -1064,8 +1064,7 @@ local function processData(szType, content, add_mode, group)
result.quic_security = params.quicSecurity or "none" result.quic_security = params.quicSecurity or "none"
end end
if params.type == 'grpc' then if params.type == 'grpc' then
if params.path then result.grpc_serviceName = params.path end result.grpc_serviceName = params.serviceName or params.path
if params.serviceName then result.grpc_serviceName = params.serviceName end
result.grpc_mode = params.mode or "gun" result.grpc_mode = params.mode or "gun"
end end
if params.type == 'xhttp' then if params.type == 'xhttp' then
@@ -1262,7 +1261,7 @@ local function processData(szType, content, add_mode, group)
result.use_mldsa65Verify = (params.pqv and params.pqv ~= "") and "1" or nil result.use_mldsa65Verify = (params.pqv and params.pqv ~= "") and "1" or nil
result.reality_mldsa65Verify = params.pqv or nil result.reality_mldsa65Verify = params.pqv or nil
end end
local insecure = params.allowinsecure or params.insecure local insecure = params.allowinsecure or params.allowInsecure or params.insecure
result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (allowInsecure_default and "1" or "0") result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (allowInsecure_default and "1" or "0")
end end
@@ -1319,7 +1318,7 @@ local function processData(szType, content, add_mode, group)
result.hysteria_auth_type = "string" result.hysteria_auth_type = "string"
result.hysteria_auth_password = params.auth result.hysteria_auth_password = params.auth
result.tls_serverName = params.peer or params.sni or "" result.tls_serverName = params.peer or params.sni or ""
local insecure = params.allowinsecure or params.insecure local insecure = params.allowinsecure or params.allowInsecure or params.insecure
result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (allowInsecure_default and "1" or "0") result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (allowInsecure_default and "1" or "0")
result.alpn = params.alpn result.alpn = params.alpn
result.hysteria_up_mbps = params.upmbps result.hysteria_up_mbps = params.upmbps
@@ -1474,7 +1473,7 @@ local function processData(szType, content, add_mode, group)
for _, v in pairs(split(query[2], '&')) do for _, v in pairs(split(query[2], '&')) do
local s = v:find("=", 1, true) local s = v:find("=", 1, true)
if s and s > 1 then if s and s > 1 then
params[v:sub(1, s - 1)] = UrlDecode(v:sub(s + 1)) params[v:sub(1, s - 1):lower()] = UrlDecode(v:sub(s + 1))
end end
end end
-- [2001:4860:4860::8888]:443 -- [2001:4860:4860::8888]:443