luci: update subscribe script
This commit is contained in:
parent
81adc908e8
commit
bebaa79f23
@ -6,7 +6,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-passwall
|
||||
PKG_VERSION:=4.69-1
|
||||
PKG_VERSION:=4.69-2
|
||||
PKG_RELEASE:=
|
||||
|
||||
PKG_CONFIG_DEPENDS:= \
|
||||
|
@ -127,6 +127,9 @@ do
|
||||
set = function(o, server)
|
||||
uci:set(appname, t[".name"], option, server)
|
||||
o.newNodeId = server
|
||||
end,
|
||||
delete = function(o)
|
||||
uci:delete(appname, t[".name"])
|
||||
end
|
||||
}
|
||||
end)
|
||||
@ -146,6 +149,9 @@ do
|
||||
set = function(o, server)
|
||||
uci:set(appname, t[".name"], option, server)
|
||||
o.newNodeId = server
|
||||
end,
|
||||
delete = function(o)
|
||||
uci:delete(appname, t[".name"])
|
||||
end
|
||||
}
|
||||
end)
|
||||
@ -237,15 +243,19 @@ do
|
||||
|
||||
for k, e in pairs(rules) do
|
||||
local _node_id = node[e[".name"]] or nil
|
||||
CONFIG[#CONFIG + 1] = {
|
||||
log = false,
|
||||
currentNode = _node_id and uci:get_all(appname, _node_id) or nil,
|
||||
remarks = "分流" .. e.remarks .. "节点",
|
||||
set = function(o, server)
|
||||
uci:set(appname, node_id, e[".name"], server)
|
||||
o.newNodeId = server
|
||||
end
|
||||
}
|
||||
if _node_id and api.parseURL(_node_id) then
|
||||
else
|
||||
CONFIG[#CONFIG + 1] = {
|
||||
log = false,
|
||||
currentNode = _node_id and uci:get_all(appname, _node_id) or nil,
|
||||
remarks = "分流" .. e.remarks .. "节点",
|
||||
set = function(o, server)
|
||||
if not server then server = "nil" end
|
||||
uci:set(appname, node_id, e[".name"], server)
|
||||
o.newNodeId = server
|
||||
end
|
||||
}
|
||||
end
|
||||
end
|
||||
elseif node.protocol and node.protocol == '_balancing' then
|
||||
local node_id = node[".name"]
|
||||
@ -297,7 +307,8 @@ do
|
||||
end
|
||||
end
|
||||
else
|
||||
if v.currentNode == nil then
|
||||
if v.currentNode == nil and v.delete then
|
||||
v.delete()
|
||||
CONFIG[k] = nil
|
||||
end
|
||||
end
|
||||
@ -915,23 +926,13 @@ local function truncate_nodes(add_from)
|
||||
end
|
||||
|
||||
local function select_node(nodes, config)
|
||||
local server
|
||||
if config.currentNode then
|
||||
-- 特别优先级 分流 + 备注
|
||||
if config.currentNode.protocol and config.currentNode.protocol == '_shunt' then
|
||||
local server
|
||||
-- 特别优先级 cfgid
|
||||
if config.currentNode[".name"] then
|
||||
for index, node in pairs(nodes) do
|
||||
if node.remarks == config.currentNode.remarks then
|
||||
log('更新【' .. config.remarks .. '】分流匹配节点:' .. node.remarks)
|
||||
server = node[".name"]
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
-- 特别优先级 负载均衡 + 备注
|
||||
if config.currentNode.protocol and config.currentNode.protocol == '_balancing' then
|
||||
for index, node in pairs(nodes) do
|
||||
if node.remarks == config.currentNode.remarks then
|
||||
log('更新【' .. config.remarks .. '】负载均衡匹配节点:' .. node.remarks)
|
||||
if node[".name"] == config.currentNode[".name"] then
|
||||
log('更新【' .. config.remarks .. '】匹配节点:' .. node.remarks)
|
||||
server = node[".name"]
|
||||
break
|
||||
end
|
||||
@ -1017,24 +1018,26 @@ local function select_node(nodes, config)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
-- 还不行 随便找一个
|
||||
if not server then
|
||||
local nodes_table = {}
|
||||
for k, e in ipairs(api.get_valid_nodes()) do
|
||||
if e.node_type == "normal" then
|
||||
nodes_table[#nodes_table + 1] = e
|
||||
-- 还不行 随便找一个
|
||||
if not server then
|
||||
local nodes_table = {}
|
||||
for k, e in ipairs(api.get_valid_nodes()) do
|
||||
if e.node_type == "normal" then
|
||||
nodes_table[#nodes_table + 1] = e
|
||||
end
|
||||
end
|
||||
if #nodes_table > 0 then
|
||||
if config.log == nil or config.log == true then
|
||||
log('【' .. config.remarks .. '】' .. '无法找到最匹配的节点,当前已更换为:' .. nodes_table[1].remarks)
|
||||
end
|
||||
server = nodes_table[1][".name"]
|
||||
end
|
||||
end
|
||||
if #nodes_table > 0 then
|
||||
if config.log == nil or config.log == true then
|
||||
log('【' .. config.remarks .. '】' .. '无法找到最匹配的节点,当前已更换为:' .. nodes_table[1].remarks)
|
||||
end
|
||||
server = nodes_table[1][".name"]
|
||||
if server then
|
||||
config.set(config, server)
|
||||
end
|
||||
end
|
||||
if server then
|
||||
config.set(config, server)
|
||||
else
|
||||
config.set(config, nil)
|
||||
end
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user