mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Add check that MPTCP is not blocked
This commit is contained in:
parent
dc9e238bb9
commit
5e7cf8bd7a
4 changed files with 34 additions and 3 deletions
|
@ -6,7 +6,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
LUCI_TITLE:=LuCI Support for OpenMPTCProuter
|
||||
LUCI_DEPENDS:=+luci-lib-json +rdisc6
|
||||
LUCI_DEPENDS:=+luci-lib-json +rdisc6 +curl
|
||||
PKG_LICENSE:=GPLv3
|
||||
|
||||
include ../luci/luci.mk
|
||||
|
|
|
@ -306,11 +306,17 @@ function interfaces_status()
|
|||
mArray.openmptcprouter = {}
|
||||
mArray.openmptcprouter["version"] = ut.trim(sys.exec("cat /etc/os-release | grep VERSION= | sed -e 's:VERSION=::'"))
|
||||
-- Check that requester is in same network
|
||||
mArray.openmptcprouter["service_addr"] = uci:get("shadowsocks", "proxy", "server") or "0.0.0.0"
|
||||
mArray.openmptcprouter["service_addr"] = uci:get("shadowsocks-libev", "proxy", "server") or "0.0.0.0"
|
||||
mArray.openmptcprouter["local_addr"] = uci:get("network", "lan", "ipaddr")
|
||||
|
||||
-- shadowsocksaddr
|
||||
mArray.openmptcprouter["ss_addr"] = sys.exec("curl -s -4 --socks5 127.0.0.1:1111 -m 5 http://ip.openmptcprouter.com")
|
||||
local tracker_ip = uci:get("shadowsocks-libev","tracker","local_address") or ""
|
||||
local tracker_port = uci:get("shadowsocks-libev","tracker","local_port")
|
||||
if tracker_ip ~= "" then
|
||||
mArray.openmptcprouter["ss_addr"] = sys.exec("curl -s -4 --socks5 " .. tracker_ip .. ":" .. tracker_port .. " -m 5 http://ip.openmptcprouter.com")
|
||||
else
|
||||
mArray.openmptcprouter["ss_addr"] = ""
|
||||
end
|
||||
-- wanaddr
|
||||
mArray.openmptcprouter["wan_addr"] = sys.exec("wget -4 -qO- -T 1 http://ip.openmptcprouter.com")
|
||||
|
||||
|
@ -446,6 +452,16 @@ function interfaces_status()
|
|||
connectivity = 'ERROR'
|
||||
end
|
||||
|
||||
-- Test if multipath can work on the connection
|
||||
local multipath_available
|
||||
local multipath_available_state = ut.trim(sys.exec("omr-mptcp-intf " .. ifname .. " | grep 'Nay, Nay, Nay'"))
|
||||
if multipath_available_state == "" then
|
||||
multipath_available = 'OK'
|
||||
else
|
||||
multipath_available = 'ERROR'
|
||||
end
|
||||
|
||||
|
||||
-- Detect WAN gateway status
|
||||
local gw_ping = 'UP'
|
||||
if gateway == "" then
|
||||
|
@ -509,6 +525,7 @@ function interfaces_status()
|
|||
upload = section['upload'],
|
||||
gw_ping = gw_ping,
|
||||
ipv6_discover = ipv6_discover,
|
||||
multipath_available = multipath_available,
|
||||
}
|
||||
|
||||
if ifname:match("^tun.*") then
|
||||
|
|
|
@ -188,6 +188,7 @@
|
|||
var gateway = mArray.wans[i].gateway;
|
||||
var gw_ping = mArray.wans[i].gw_ping;
|
||||
var ipv6_discover = mArray.wans[i].ipv6_discover;
|
||||
var multipath_available = mArray.wans[i].multipath_available;
|
||||
// Generate template
|
||||
if(mArray.openmptcprouter.remote_from_lease == true && mArray.wans.length == 1)
|
||||
{
|
||||
|
@ -210,6 +211,9 @@
|
|||
} else if(gw_ping == 'DOWN')
|
||||
{
|
||||
statusMessage += 'Gateway DOWN<br />'
|
||||
} else if(multipath_available == 'ERROR')
|
||||
{
|
||||
statusMessage += 'Multipath blocked on the connection<br />'
|
||||
}
|
||||
if(ipv6_discover == 'DETECTED')
|
||||
{
|
||||
|
|
10
luci-app-openmptcprouter/root/bin/omr-mptcp-intf
Executable file
10
luci-app-openmptcprouter/root/bin/omr-mptcp-intf
Executable file
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
add_list dhcp.dnsmasq.ipset='/multipath-tcp.org/ss_rules_dst_bypass'
|
||||
commit dhcp
|
||||
EOF
|
||||
curl -s -4 -m 5 --interface $1 http://www.multipath-tcp.org
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
del_list dhcp.dnsmasq.ipset='/multipath-tcp.org/ss_rules_dst_bypass'
|
||||
commit dhcp
|
||||
EOF
|
Loading…
Add table
Add a link
Reference in a new issue