diff --git a/luci-app-passwall/root/usr/share/passwall/subscribe.lua b/luci-app-passwall/root/usr/share/passwall/subscribe.lua index e423a67a..4229d607 100755 --- a/luci-app-passwall/root/usr/share/passwall/subscribe.lua +++ b/luci-app-passwall/root/usr/share/passwall/subscribe.lua @@ -488,6 +488,10 @@ local function processData(szType, content, add_mode, add_from) if info.net == 'grpc' then result.grpc_serviceName = info.path end + if info.net == 'splithttp' then + result.splithttp_host = info.host + result.splithttp_path = info.path + end if not info.security then result.security = "auto" end if info.tls == "tls" or info.tls == "1" then result.tls = "1" @@ -496,6 +500,11 @@ local function processData(szType, content, add_mode, add_from) else result.tls = "0" end + + if result.type == "sing-box" and (result.transport == "mkcp" or result.transport == "splithttp") then + log("跳过节点:" .. result.remarks ..",因Sing-Box不支持" .. szType .. "协议的" .. result.transport .. "传输方式,需更换Xray。") + return nil + end elseif szType == "ss" then result.type = "SS" @@ -821,11 +830,19 @@ local function processData(szType, content, add_mode, add_from) if params.serviceName then result.grpc_serviceName = params.serviceName end result.grpc_mode = params.mode end + if params.type == 'splithttp' then + result.splithttp_host = params.host + result.splithttp_path = params.path + end result.encryption = params.encryption or "none" result.flow = params.flow or nil + if result.type == "sing-box" and (result.transport == "mkcp" or result.transport == "splithttp") then + log("跳过节点:" .. result.remarks ..",因Sing-Box不支持" .. szType .. "协议的" .. result.transport .. "传输方式,需更换Xray。") + return nil + end end elseif szType == "ssd" then @@ -971,6 +988,11 @@ local function processData(szType, content, add_mode, add_from) result.port = port result.tls_allowInsecure = allowInsecure_default and "1" or "0" + + if result.type == "sing-box" and (result.transport == "mkcp" or result.transport == "splithttp") then + log("跳过节点:" .. result.remarks ..",因Sing-Box不支持" .. szType .. "协议的" .. result.transport .. "传输方式,需更换Xray。") + return nil + end end elseif szType == 'hysteria' then local alias = ""