mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Fix for multi IP on server
This commit is contained in:
parent
2bd2023254
commit
f8f62ee77e
4 changed files with 94 additions and 91 deletions
|
@ -447,7 +447,7 @@ function wizard_add()
|
||||||
if openmptcprouter_vps_disabled == "1" then
|
if openmptcprouter_vps_disabled == "1" then
|
||||||
disablednb = disablednb + 1
|
disablednb = disablednb + 1
|
||||||
end
|
end
|
||||||
if server_ip ~= "" then
|
if server_ip[1] ~= "" then
|
||||||
serversnb = serversnb + 1
|
serversnb = serversnb + 1
|
||||||
end
|
end
|
||||||
ucic:set("openmptcprouter",server,"server")
|
ucic:set("openmptcprouter",server,"server")
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
<div class="cbi-value">
|
<div class="cbi-value">
|
||||||
<label class="cbi-value-title" for="server_ip"><%:Server IP%></label>
|
<label class="cbi-value-title" for="server_ip"><%:Server IP%></label>
|
||||||
<div class="cbi-value-field">
|
<div class="cbi-value-field">
|
||||||
<input name="<%=servername%>.server_ip" id="<%=servername%>.server_ip" placeholder="<%:Server IP%>" class="cbi-input-text" value="<%=uci:get("openmptcprouter",servername,"ip")%>" data-optional="false">
|
<input name="<%=servername%>.server_ip" id="<%=servername%>.server_ip" placeholder="<%:Server IP%>" class="cbi-input-text" value="<%=uci:get_list("openmptcprouter",servername,"ip")[1]%>" data-optional="false">
|
||||||
<div class="cbi-value-description">
|
<div class="cbi-value-description">
|
||||||
<%:Server IP will be set for proxy and VPN%>
|
<%:Server IP will be set for proxy and VPN%>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -547,7 +547,7 @@ end
|
||||||
|
|
||||||
function get_rootfs()
|
function get_rootfs()
|
||||||
local rootfs = {}
|
local rootfs = {}
|
||||||
rootfs['format'] = ut.trim(sys.exec("mount | awk 'NR==1{print $5}'"))
|
rootfs['format'] = luci.util.trim(sys.exec("mount | awk 'NR==1{print $5}'"))
|
||||||
return rootfs
|
return rootfs
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -837,102 +837,105 @@ function interfaces_status()
|
||||||
mArray.openmptcprouter["vps_hostname"] = "Server"
|
mArray.openmptcprouter["vps_hostname"] = "Server"
|
||||||
-- Get VPS info
|
-- Get VPS info
|
||||||
ucic:foreach("openmptcprouter", "server", function(s)
|
ucic:foreach("openmptcprouter", "server", function(s)
|
||||||
local serverip = uci:get("openmptcprouter",s[".name"],"ip") or ""
|
local serverips = uci:get("openmptcprouter",s[".name"],"ip") or { "" }
|
||||||
local master = uci:get("openmptcprouter",s[".name"],"master") or "1"
|
local master = uci:get("openmptcprouter",s[".name"],"master") or "1"
|
||||||
if serverip ~= "" and (master == "1" or mArray.openmptcprouter["wan_addr"] == serverip or mArray.openmptcprouter["wan_addr6"] == serverip) then
|
for key, value in pairs(serverips) do
|
||||||
mArray.openmptcprouter["vps_omr_version"] = uci:get("openmptcprouter", s[".name"], "omr_version") or ""
|
serverip = value
|
||||||
mArray.openmptcprouter["vps_kernel"] = uci:get("openmptcprouter",s[".name"],"kernel") or ""
|
if serverip ~= "" and (master == "1" or mArray.openmptcprouter["wan_addr"] == serverip or mArray.openmptcprouter["wan_addr6"] == serverip) and mArray.openmptcprouter["vps_admin"] == false then
|
||||||
mArray.openmptcprouter["vps_machine"] = uci:get("openmptcprouter",s[".name"],"machine") or ""
|
mArray.openmptcprouter["vps_omr_version"] = uci:get("openmptcprouter", s[".name"], "omr_version") or ""
|
||||||
timeout = uci:get("openmptcprouter","settings","status_vps_timeout") or "2"
|
mArray.openmptcprouter["vps_kernel"] = uci:get("openmptcprouter",s[".name"],"kernel") or ""
|
||||||
if uci:get("openmptcprouter",s[".name"],"admin_error") == "1" then
|
mArray.openmptcprouter["vps_machine"] = uci:get("openmptcprouter",s[".name"],"machine") or ""
|
||||||
mArray.openmptcprouter["vps_admin_error"] = true
|
timeout = uci:get("openmptcprouter","settings","status_vps_timeout") or "2"
|
||||||
end
|
if uci:get("openmptcprouter",s[".name"],"admin_error") == "1" then
|
||||||
local adminport = uci:get("openmptcprouter",s[".name"],"port") or "65500"
|
mArray.openmptcprouter["vps_admin_error"] = true
|
||||||
local token = uci:get("openmptcprouter",s[".name"],"token") or ""
|
|
||||||
if token ~= "" then
|
|
||||||
local vpsinfo_json = ""
|
|
||||||
if mArray.openmptcprouter["service_addr_ip"] ~= "" then
|
|
||||||
vpsinfo_json = sys.exec('curl --max-time ' .. timeout .. ' -s -k -H "Authorization: Bearer ' .. token .. '" https://' .. serverip .. ':' .. adminport .. '/status')
|
|
||||||
end
|
end
|
||||||
if mArray.openmptcprouter["service_addr_ip6"] ~= "" then
|
local adminport = uci:get("openmptcprouter",s[".name"],"port") or "65500"
|
||||||
vpsinfo_json = sys.exec('curl --max-time ' .. timeout .. ' -s -k -H "Authorization: Bearer ' .. token .. '" https://[' .. serverip .. ']:' .. adminport .. '/status')
|
local token = uci:get("openmptcprouter",s[".name"],"token") or ""
|
||||||
end
|
if token ~= "" then
|
||||||
if vpsinfo_json ~= "" and vpsinfo_json ~= nil then
|
local vpsinfo_json = ""
|
||||||
local status, vpsinfo = pcall(function()
|
if mArray.openmptcprouter["service_addr_ip"] ~= "" then
|
||||||
return json.decode(vpsinfo_json)
|
vpsinfo_json = sys.exec('curl --max-time ' .. timeout .. ' -s -k -H "Authorization: Bearer ' .. token .. '" https://' .. serverip .. ':' .. adminport .. '/status')
|
||||||
end)
|
end
|
||||||
if status and vpsinfo.vps ~= nil then
|
if mArray.openmptcprouter["service_addr_ip6"] ~= "" then
|
||||||
mArray.openmptcprouter["vps_loadavg"] = vpsinfo.vps.loadavg or ""
|
vpsinfo_json = sys.exec('curl --max-time ' .. timeout .. ' -s -k -H "Authorization: Bearer ' .. token .. '" https://[' .. serverip .. ']:' .. adminport .. '/status')
|
||||||
mArray.openmptcprouter["vps_uptime"] = vpsinfo.vps.uptime or ""
|
end
|
||||||
mArray.openmptcprouter["vps_mptcp"] = vpsinfo.vps.mptcp.enabled or ""
|
if vpsinfo_json ~= "" and vpsinfo_json ~= nil then
|
||||||
mArray.openmptcprouter["vps_hostname"] = vpsinfo.vps.hostname or ""
|
local status, vpsinfo = pcall(function()
|
||||||
mArray.openmptcprouter["vps_time"] = vpsinfo.vps.time or ""
|
return json.decode(vpsinfo_json)
|
||||||
if vpsinfo.vps.kernel ~= nil then
|
end)
|
||||||
mArray.openmptcprouter["vps_kernel"] = vpsinfo.vps.kernel or ""
|
if status and vpsinfo.vps ~= nil then
|
||||||
end
|
mArray.openmptcprouter["vps_loadavg"] = vpsinfo.vps.loadavg or ""
|
||||||
if vpsinfo.vps.omr_version ~= nil then
|
mArray.openmptcprouter["vps_uptime"] = vpsinfo.vps.uptime or ""
|
||||||
mArray.openmptcprouter["vps_omr_version"] = vpsinfo.vps.omr_version or ""
|
mArray.openmptcprouter["vps_mptcp"] = vpsinfo.vps.mptcp.enabled or ""
|
||||||
end
|
mArray.openmptcprouter["vps_hostname"] = vpsinfo.vps.hostname or ""
|
||||||
if vpsinfo.vps.time ~= "" then
|
mArray.openmptcprouter["vps_time"] = vpsinfo.vps.time or ""
|
||||||
if math.abs(os.time() - vpsinfo.vps.time) > 10 then
|
if vpsinfo.vps.kernel ~= nil then
|
||||||
mArray.openmptcprouter["vps_time_accurate"] = false
|
mArray.openmptcprouter["vps_kernel"] = vpsinfo.vps.kernel or ""
|
||||||
else
|
|
||||||
mArray.openmptcprouter["vps_time_accurate"] = true
|
|
||||||
end
|
end
|
||||||
|
if vpsinfo.vps.omr_version ~= nil then
|
||||||
|
mArray.openmptcprouter["vps_omr_version"] = vpsinfo.vps.omr_version or ""
|
||||||
|
end
|
||||||
|
if vpsinfo.vps.time ~= "" then
|
||||||
|
if math.abs(os.time() - vpsinfo.vps.time) > 10 then
|
||||||
|
mArray.openmptcprouter["vps_time_accurate"] = false
|
||||||
|
else
|
||||||
|
mArray.openmptcprouter["vps_time_accurate"] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
mArray.openmptcprouter["vps_admin"] = true
|
||||||
|
mArray.openmptcprouter["vps_status"] = "UP"
|
||||||
|
mArray.openmptcprouter["vps_admin_error_msg"] = ""
|
||||||
|
else
|
||||||
|
uci:set("openmptcprouter",s[".name"],"admin_error","1")
|
||||||
|
mArray.openmptcprouter["vps_admin_error"] = true
|
||||||
|
uci:delete("openmptcprouter",s[".name"],"token")
|
||||||
|
uci:save("openmptcprouter",s[".name"])
|
||||||
|
uci:commit("openmptcprouter",s[".name"])
|
||||||
|
mArray.openmptcprouter["vps_admin"] = false
|
||||||
|
mArray.openmptcprouter["vps_admin_error_msg"] = "Answer error"
|
||||||
end
|
end
|
||||||
mArray.openmptcprouter["vps_admin"] = true
|
if status and vpsinfo.vpn ~= nil then
|
||||||
mArray.openmptcprouter["vps_status"] = "UP"
|
mArray.openmptcprouter["vpn_traffic_rx"] = vpsinfo.vpn.rx or "0"
|
||||||
mArray.openmptcprouter["vps_admin_error_msg"] = ""
|
mArray.openmptcprouter["vpn_traffic_tx"] = vpsinfo.vpn.tx or "0"
|
||||||
|
mArray.openmptcprouter["vpn_traffic"] = mArray.openmptcprouter["vpn_traffic_tx"] + mArray.openmptcprouter["vpn_traffic_rx"]
|
||||||
|
else
|
||||||
|
mArray.openmptcprouter["vpn_traffic_rx"] = "0"
|
||||||
|
mArray.openmptcprouter["vpn_traffic_tx"] = "0"
|
||||||
|
mArray.openmptcprouter["vpn_traffic"] = "0"
|
||||||
|
end
|
||||||
|
if status and vpsinfo.shadowsocks ~= nil then
|
||||||
|
mArray.openmptcprouter["ss_traffic"] = vpsinfo.shadowsocks.traffic or "0"
|
||||||
|
else
|
||||||
|
mArray.openmptcprouter["ss_traffic"] = "0"
|
||||||
|
end
|
||||||
|
if status and vpsinfo.v2ray ~= nil then
|
||||||
|
mArray.openmptcprouter["v2ray_traffic_rx"] = vpsinfo.v2ray.rx or "0"
|
||||||
|
mArray.openmptcprouter["v2ray_traffic_tx"] = vpsinfo.v2ray.tx or "0"
|
||||||
|
mArray.openmptcprouter["v2ray_traffic"] = mArray.openmptcprouter["v2ray_traffic_tx"] + mArray.openmptcprouter["v2ray_traffic_rx"]
|
||||||
|
else
|
||||||
|
mArray.openmptcprouter["v2ray_traffic_rx"] = "0"
|
||||||
|
mArray.openmptcprouter["v2ray_traffic_tx"] = "0"
|
||||||
|
mArray.openmptcprouter["v2ray_traffic"] = "0"
|
||||||
|
end
|
||||||
|
mArray.openmptcprouter["proxy_traffic"] = mArray.openmptcprouter["ss_traffic"] + mArray.openmptcprouter["v2ray_traffic"]
|
||||||
|
mArray.openmptcprouter["total_traffic"] = mArray.openmptcprouter["proxy_traffic"] + mArray.openmptcprouter["vpn_traffic"]
|
||||||
else
|
else
|
||||||
uci:set("openmptcprouter",s[".name"],"admin_error","1")
|
|
||||||
mArray.openmptcprouter["vps_admin_error"] = true
|
|
||||||
uci:delete("openmptcprouter",s[".name"],"token")
|
|
||||||
uci:save("openmptcprouter",s[".name"])
|
|
||||||
uci:commit("openmptcprouter",s[".name"])
|
|
||||||
mArray.openmptcprouter["vps_admin"] = false
|
mArray.openmptcprouter["vps_admin"] = false
|
||||||
mArray.openmptcprouter["vps_admin_error_msg"] = "Answer error"
|
mArray.openmptcprouter["vps_admin_error_msg"] = "No result"
|
||||||
end
|
end
|
||||||
if status and vpsinfo.vpn ~= nil then
|
|
||||||
mArray.openmptcprouter["vpn_traffic_rx"] = vpsinfo.vpn.rx or "0"
|
|
||||||
mArray.openmptcprouter["vpn_traffic_tx"] = vpsinfo.vpn.tx or "0"
|
|
||||||
mArray.openmptcprouter["vpn_traffic"] = mArray.openmptcprouter["vpn_traffic_tx"] + mArray.openmptcprouter["vpn_traffic_rx"]
|
|
||||||
else
|
|
||||||
mArray.openmptcprouter["vpn_traffic_rx"] = "0"
|
|
||||||
mArray.openmptcprouter["vpn_traffic_tx"] = "0"
|
|
||||||
mArray.openmptcprouter["vpn_traffic"] = "0"
|
|
||||||
end
|
|
||||||
if status and vpsinfo.shadowsocks ~= nil then
|
|
||||||
mArray.openmptcprouter["ss_traffic"] = vpsinfo.shadowsocks.traffic or "0"
|
|
||||||
else
|
|
||||||
mArray.openmptcprouter["ss_traffic"] = "0"
|
|
||||||
end
|
|
||||||
if status and vpsinfo.v2ray ~= nil then
|
|
||||||
mArray.openmptcprouter["v2ray_traffic_rx"] = vpsinfo.v2ray.rx or "0"
|
|
||||||
mArray.openmptcprouter["v2ray_traffic_tx"] = vpsinfo.v2ray.tx or "0"
|
|
||||||
mArray.openmptcprouter["v2ray_traffic"] = mArray.openmptcprouter["v2ray_traffic_tx"] + mArray.openmptcprouter["v2ray_traffic_rx"]
|
|
||||||
else
|
|
||||||
mArray.openmptcprouter["v2ray_traffic_rx"] = "0"
|
|
||||||
mArray.openmptcprouter["v2ray_traffic_tx"] = "0"
|
|
||||||
mArray.openmptcprouter["v2ray_traffic"] = "0"
|
|
||||||
end
|
|
||||||
mArray.openmptcprouter["proxy_traffic"] = mArray.openmptcprouter["ss_traffic"] + mArray.openmptcprouter["v2ray_traffic"]
|
|
||||||
mArray.openmptcprouter["total_traffic"] = mArray.openmptcprouter["proxy_traffic"] + mArray.openmptcprouter["vpn_traffic"]
|
|
||||||
else
|
else
|
||||||
mArray.openmptcprouter["vps_admin"] = false
|
mArray.openmptcprouter["vps_admin"] = false
|
||||||
mArray.openmptcprouter["vps_admin_error_msg"] = "No result"
|
mArray.openmptcprouter["vps_admin_error_msg"] = "No token yet available"
|
||||||
end
|
end
|
||||||
else
|
if mArray.openmptcprouter["vps_admin"] == false then
|
||||||
mArray.openmptcprouter["vps_admin"] = false
|
if mArray.openmptcprouter["service_addr_ip"] ~= "" then
|
||||||
mArray.openmptcprouter["vps_admin_error_msg"] = "No token yet available"
|
local vpstest = sys.exec('curl --max-time ' .. timeout .. ' -s -k https://' .. serverip .. ':' .. adminport .. '/')
|
||||||
end
|
elseif mArray.openmptcprouter["service_addr_ip6"] ~= "" then
|
||||||
if mArray.openmptcprouter["vps_admin"] == false then
|
local vpstest = sys.exec('curl --max-time ' .. timeout .. ' -s -k https://[' .. serverip .. ']:' .. adminport .. '/')
|
||||||
if mArray.openmptcprouter["service_addr_ip"] ~= "" then
|
end
|
||||||
local vpstest = sys.exec('curl --max-time ' .. timeout .. ' -s -k https://' .. serverip .. ':' .. adminport .. '/')
|
if vpstest == "" then
|
||||||
elseif mArray.openmptcprouter["service_addr_ip6"] ~= "" then
|
mArray.openmptcprouter["vps_admin_error_msg"] = mArray.openmptcprouter["vps_admin_error_msg"] .. " - No API script answer"
|
||||||
local vpstest = sys.exec('curl --max-time ' .. timeout .. ' -s -k https://[' .. serverip .. ']:' .. adminport .. '/')
|
end
|
||||||
end
|
|
||||||
if vpstest == "" then
|
|
||||||
mArray.openmptcprouter["vps_admin_error_msg"] = mArray.openmptcprouter["vps_admin_error_msg"] .. " - No API script answer"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1030,7 +1030,7 @@ if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
config_list_foreach $1 ip omr_tracebox_mptcp
|
config_list_foreach $1 ip omr_tracebox_mtu
|
||||||
}
|
}
|
||||||
config_load openmptcprouter
|
config_load openmptcprouter
|
||||||
config_foreach traceboxmtutest server
|
config_foreach traceboxmtutest server
|
||||||
|
@ -1090,7 +1090,7 @@ if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
config_list_foreach $1 ip omr_tracebox_mptcp
|
config_list_foreach $1 ip omr_tracebox_mtu
|
||||||
}
|
}
|
||||||
config_load openmptcprouter
|
config_load openmptcprouter
|
||||||
config_foreach traceboxmtutest server
|
config_foreach traceboxmtutest server
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue