diff --git a/luci-app-passwall/luasrc/view/passwall/node_list/link_add_node.htm b/luci-app-passwall/luasrc/view/passwall/node_list/link_add_node.htm index c2d37fd50..f86b38892 100644 --- a/luci-app-passwall/luasrc/view/passwall/node_list/link_add_node.htm +++ b/luci-app-passwall/luasrc/view/passwall/node_list/link_add_node.htm @@ -6,7 +6,7 @@ local api = require "luci.passwall.api" //', { + XHR.post('<%=api.url("link_add_node")%>', { 'link': link }, function(x, data) { diff --git a/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm b/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm index 0b90a451e..108fa9237 100644 --- a/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm +++ b/luci-app-passwall/luasrc/view/passwall/node_list/link_share_man.htm @@ -842,7 +842,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'alpn', queryParam.alpn || 'default'); opt.set(dom_prefix + 'tls_serverName', queryParam.sni || ''); opt.set(dom_prefix + 'tls_allowInsecure', true); - if (queryParam.allowinsecure === '0') { + if (queryParam.allowinsecure === '0' || queryParam.insecure === '0') { opt.set(dom_prefix + 'tls_allowInsecure', false); } if (queryParam.fp && queryParam.fp.trim() != "") { @@ -1074,8 +1074,9 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin tls_serverName = tls_serverName || ""; opt.set(dom_prefix + 'tls_serverName', tls_serverName); } - if (queryParam.allowinsecure === '1') { - opt.set(dom_prefix + 'tls_allowInsecure', true); + opt.set(dom_prefix + 'tls_allowInsecure', true); + if (queryParam.allowinsecure === '0' || queryParam.insecure === '0') { + opt.set(dom_prefix + 'tls_allowInsecure', false); } if (m.hash) { @@ -1211,7 +1212,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'alpn', queryParam.alpn || 'default'); opt.set(dom_prefix + 'tls_serverName', queryParam.sni || ''); opt.set(dom_prefix + 'tls_allowInsecure', true); - if (queryParam.allowinsecure === '0') { + if (queryParam.allowinsecure === '0' || queryParam.insecure === '0') { opt.set(dom_prefix + 'tls_allowInsecure', false); } if (queryParam.fp && queryParam.fp.trim() != "") { @@ -1401,7 +1402,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'tuic_alpn', queryParam.alpn || 'default'); opt.set(dom_prefix + 'tls_serverName', queryParam.sni || ''); opt.set(dom_prefix + 'tls_allowInsecure', true); - if (queryParam.allowinsecure === '0') { + if (queryParam.allowinsecure === '0' || queryParam.insecure === '0') { opt.set(dom_prefix + 'tls_allowInsecure', false); } if (hash) { diff --git a/luci-app-passwall/root/usr/share/passwall/subscribe.lua b/luci-app-passwall/root/usr/share/passwall/subscribe.lua index 0226529f8..010fed2df 100755 --- a/luci-app-passwall/root/usr/share/passwall/subscribe.lua +++ b/luci-app-passwall/root/usr/share/passwall/subscribe.lua @@ -583,7 +583,12 @@ local function processData(szType, content, add_mode, add_from) if info.tls == "tls" or info.tls == "1" then result.tls = "1" result.tls_serverName = (info.sni and info.sni ~= "") and info.sni or info.host - result.tls_allowInsecure = allowInsecure_default and "1" or "0" + info.allowinsecure = info.allowinsecure or info.insecure + if info.allowinsecure and (info.allowinsecure == "1" or info.allowinsecure == "0") then + result.tls_allowInsecure = info.allowinsecure + else + result.tls_allowInsecure = allowInsecure_default and "1" or "0" + end else result.tls = "0" end @@ -788,7 +793,10 @@ local function processData(szType, content, add_mode, add_from) result.tls = "1" result.tls_serverName = (params.sni and params.sni ~= "") and params.sni or params.host result.alpn = params.alpn - result.fingerprint = (params.fp and params.fp ~= "") and params.fp or "chrome" + if params.fp and params.fp ~= "" then + result.utls = "1" + result.fingerprint = params.fp + end if params.security == "reality" then result.reality = "1" result.reality_publicKey = params.pbk or nil @@ -796,7 +804,12 @@ local function processData(szType, content, add_mode, add_from) result.reality_spiderX = params.spx or nil end end - result.tls_allowInsecure = allowInsecure_default and "1" or "0" + params.allowinsecure = params.allowinsecure or params.insecure + if params.allowinsecure and (params.allowinsecure == "1" or params.allowinsecure == "0") then + result.tls_allowInsecure = params.allowinsecure + else + result.tls_allowInsecure = allowInsecure_default and "1" or "0" + end else result.error_msg = "请更换Xray或Sing-Box来支持SS更多的传输方式." end @@ -854,6 +867,7 @@ local function processData(szType, content, add_mode, add_from) result.tls = '1' result.tls_serverName = peer and peer or sni + params.allowinsecure = params.allowinsecure or params.insecure if params.allowinsecure then if params.allowinsecure == "1" or params.allowinsecure == "0" then result.tls_allowInsecure = params.allowinsecure @@ -1111,7 +1125,10 @@ local function processData(szType, content, add_mode, add_from) result.tls = "1" result.tls_serverName = (params.sni and params.sni ~= "") and params.sni or params.host result.alpn = params.alpn - result.fingerprint = (params.fp and params.fp ~= "") and params.fp or "chrome" + if params.fp and params.fp ~= "" then + result.utls = "1" + result.fingerprint = params.fp + end if params.security == "reality" then result.reality = "1" result.reality_publicKey = params.pbk or nil @@ -1121,7 +1138,13 @@ local function processData(szType, content, add_mode, add_from) end result.port = port - result.tls_allowInsecure = allowInsecure_default and "1" or "0" + + params.allowinsecure = params.allowinsecure or params.insecure + if params.allowinsecure and (params.allowinsecure == "1" or params.allowinsecure == "0") then + result.tls_allowInsecure = params.allowinsecure + else + result.tls_allowInsecure = allowInsecure_default and "1" or "0" + end if result.type == "sing-box" and (result.transport == "mkcp" or result.transport == "xhttp" or result.transport == "splithttp") then log("跳过节点:" .. result.remarks ..",因Sing-Box不支持" .. szType .. "协议的" .. result.transport .. "传输方式,需更换Xray。") @@ -1164,8 +1187,9 @@ local function processData(szType, content, add_mode, add_from) result.hysteria_auth_type = "string" result.hysteria_auth_password = params.auth result.tls_serverName = params.peer - if params.insecure and (params.insecure == "1" or params.insecure == "0") then - result.tls_allowInsecure = params.insecure + params.allowinsecure = params.allowinsecure or params.insecure + if params.allowinsecure and (params.allowinsecure == "1" or params.allowinsecure == "0") then + result.tls_allowInsecure = params.allowinsecure --log(result.remarks ..' 使用节点AllowInsecure设定: '.. result.tls_allowInsecure) else result.tls_allowInsecure = allowInsecure_default and "1" or "0" @@ -1215,8 +1239,9 @@ local function processData(szType, content, add_mode, add_from) result.address = host_port end result.tls_serverName = params.sni - if params.insecure and (params.insecure == "1" or params.insecure == "0") then - result.tls_allowInsecure = params.insecure + params.allowinsecure = params.allowinsecure or params.insecure + if params.allowinsecure and (params.allowinsecure == "1" or params.allowinsecure == "0") then + result.tls_allowInsecure = params.allowinsecure --log(result.remarks ..' 使用节点AllowInsecure设定: '.. result.tls_allowInsecure) else result.tls_allowInsecure = allowInsecure_default and "1" or "0" @@ -1278,6 +1303,7 @@ local function processData(szType, content, add_mode, add_from) result.tls_serverName = params.sni result.tuic_alpn = params.alpn or "default" result.tuic_congestion_control = params.congestion_control or "cubic" + params.allowinsecure = params.allowinsecure or params.insecure if params.allowinsecure then if params.allowinsecure == "1" or params.allowinsecure == "0" then result.tls_allowInsecure = params.allowinsecure