mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-10-31 17:55:13 +08:00
update 2026-09-18 16:40:42
This commit is contained in:
1 parent
619e2de88b
commit
bd132e5713
21 files changed
+159
-146
No files matched your search
@@ -1628,6 +1628,62 @@ local function processData(szType, content, add_mode, group, sub_cfg)
|
||||
result.naive_quic = "1"
|
||||
result.naive_congestion_control = params.congestion_control or "bbr"
|
||||
end
|
||||
elseif szType == "snell" then
|
||||
if has_singbox then
|
||||
result.type = 'sing-box'
|
||||
result.protocol = "snell"
|
||||
else
|
||||
log("跳过 Snell 节点,因未安装 Snell 核心程序 Sing-box 1.14。")
|
||||
return nil
|
||||
end
|
||||
|
||||
local alias = ""
|
||||
if content:find("#") then
|
||||
local idx_sp = content:find("#")
|
||||
alias = content:sub(idx_sp + 1, -1)
|
||||
content = content:sub(0, idx_sp - 1)
|
||||
end
|
||||
result.remarks = UrlDecode(alias)
|
||||
local Info = content
|
||||
if content:find("@") then
|
||||
local info = split(content, "@")
|
||||
result.snell_psk = UrlDecode(info[1])
|
||||
Info = info[2]
|
||||
end
|
||||
Info = (Info or ""):gsub("/%?", "?")
|
||||
local query = split(Info, "%?")
|
||||
local host_port = query[1]
|
||||
local params = {}
|
||||
for _, v in pairs(split(query[2], '&')) do
|
||||
local s = v:find("=", 1, true)
|
||||
if s and s > 1 then
|
||||
params[UrlDecode(v:sub(1, s - 1)):lower()] = UrlDecode(v:sub(s + 1))
|
||||
end
|
||||
end
|
||||
-- [2001:4860:4860::8888]:443
|
||||
-- 8.8.8.8:443
|
||||
result.port = "443"
|
||||
if host_port:find(":") then
|
||||
local sp = split(host_port, ":")
|
||||
result.port = sp[#sp]
|
||||
if api.is_ipv6addrport(host_port) then
|
||||
result.address = api.get_ipv6_only(host_port)
|
||||
else
|
||||
result.address = sp[1]
|
||||
end
|
||||
else
|
||||
result.address = host_port
|
||||
end
|
||||
result.snell_psk = params.psk or result.snell_psk
|
||||
result.password = params.userkey
|
||||
result.snell_version = params.version or "4"
|
||||
if result.snell_version == "4" then
|
||||
result.snell_obfs_mode = params.obfs or "none"
|
||||
result.snell_obfs_host = params['obfs-host'] or params.obfs_host
|
||||
else
|
||||
result.snell_mode = params.mode or "default"
|
||||
end
|
||||
result.snell_reuse = (params.reuse == "1") and "1" or "0"
|
||||
else
|
||||
log("暂时不支持 " .. szType .. " 类型的节点订阅,跳过此节点。")
|
||||
return nil
|
||||
|
||||
Reference in new issue
Block a user