diff --git a/luci-app-passwall/root/usr/share/passwall/subscribe.lua b/luci-app-passwall/root/usr/share/passwall/subscribe.lua index eb46e2e5a..f17dd28a9 100755 --- a/luci-app-passwall/root/usr/share/passwall/subscribe.lua +++ b/luci-app-passwall/root/usr/share/passwall/subscribe.lua @@ -604,7 +604,7 @@ local function processData(szType, content, add_mode, add_from) else result.tls_allowInsecure = string.lower(params.allowinsecure) == "true" and "1" or "0" end - log(result.remarks .. ' 使用节点AllowInsecure设定: '.. result.tls_allowInsecure) + --log(result.remarks .. ' 使用节点AllowInsecure设定: '.. result.tls_allowInsecure) else result.tls_allowInsecure = allowInsecure_default and "1" or "0" end @@ -809,7 +809,7 @@ local function processData(szType, content, add_mode, add_from) result.tls_serverName = params.peer if params.insecure and (params.insecure == "1" or params.insecure == "0") then result.tls_allowInsecure = params.insecure - log(result.remarks ..' 使用节点AllowInsecure设定: '.. result.tls_allowInsecure) + --log(result.remarks ..' 使用节点AllowInsecure设定: '.. result.tls_allowInsecure) else result.tls_allowInsecure = allowInsecure_default and "1" or "0" end @@ -903,12 +903,12 @@ local function select_node(nodes, config) end end end - -- 第一优先级 类型 + IP + 端口 + -- 第一优先级 类型 + 备注 + IP + 端口 if not server then for index, node in pairs(nodes) do - if config.currentNode.type and config.currentNode.address and config.currentNode.port then - if node.type and node.address and node.port then - if node.type == config.currentNode.type and (node.address .. ':' .. node.port == config.currentNode.address .. ':' .. config.currentNode.port) then + if config.currentNode.type and config.currentNode.remarks and config.currentNode.address and config.currentNode.port then + if node.type and node.remarks and node.address and node.port then + if node.type == config.currentNode.type and node.remarks == config.currentNode.remarks and (node.address .. ':' .. node.port == config.currentNode.address .. ':' .. config.currentNode.port) then if config.log == nil or config.log == true then log('更新【' .. config.remarks .. '】第一匹配节点:' .. node.remarks) end @@ -919,12 +919,12 @@ local function select_node(nodes, config) end end end - -- 第二优先级 IP + 端口 + -- 第二优先级 类型 + IP + 端口 if not server then for index, node in pairs(nodes) do - if config.currentNode.address and config.currentNode.port then - if node.address and node.port then - if node.address .. ':' .. node.port == config.currentNode.address .. ':' .. config.currentNode.port then + if config.currentNode.type and config.currentNode.address and config.currentNode.port then + if node.type and node.address and node.port then + if node.type == config.currentNode.type and (node.address .. ':' .. node.port == config.currentNode.address .. ':' .. config.currentNode.port) then if config.log == nil or config.log == true then log('更新【' .. config.remarks .. '】第二匹配节点:' .. node.remarks) end @@ -935,12 +935,12 @@ local function select_node(nodes, config) end end end - -- 第三优先级 IP + -- 第三优先级 IP + 端口 if not server then for index, node in pairs(nodes) do - if config.currentNode.address then - if node.address then - if node.address == config.currentNode.address then + if config.currentNode.address and config.currentNode.port then + if node.address and node.port then + if node.address .. ':' .. node.port == config.currentNode.address .. ':' .. config.currentNode.port then if config.log == nil or config.log == true then log('更新【' .. config.remarks .. '】第三匹配节点:' .. node.remarks) end @@ -951,14 +951,30 @@ local function select_node(nodes, config) end end end - -- 第四优先级备注 + -- 第四优先级 IP + if not server then + for index, node in pairs(nodes) do + if config.currentNode.address then + if node.address then + if node.address == config.currentNode.address then + if config.log == nil or config.log == true then + log('更新【' .. config.remarks .. '】第四匹配节点:' .. node.remarks) + end + server = node[".name"] + break + end + end + end + end + end + -- 第五优先级备注 if not server then for index, node in pairs(nodes) do if config.currentNode.remarks then if node.remarks then if node.remarks == config.currentNode.remarks then if config.log == nil or config.log == true then - log('更新【' .. config.remarks .. '】第四匹配节点:' .. node.remarks) + log('更新【' .. config.remarks .. '】第五匹配节点:' .. node.remarks) end server = node[".name"] break