mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
fix
This commit is contained in:
parent
42f342c1bb
commit
60c4e33a2f
25 changed files with 291 additions and 258 deletions
|
@ -0,0 +1,11 @@
|
|||
--- a/pinctrl/pinctrl.c 2024-07-02 14:14:31.113459219 +0200
|
||||
+++ b/pinctrl/pinctrl.c 2024-07-02 14:14:44.533241981 +0200
|
||||
@@ -220,7 +220,7 @@
|
||||
if (!gpio_num_is_valid(gpio))
|
||||
return 1;
|
||||
|
||||
- poll_gpios = reallocarray(poll_gpios, num_poll_gpios + 1,
|
||||
+ poll_gpios = realloc(poll_gpios, num_poll_gpios + 1 *
|
||||
sizeof(*poll_gpios));
|
||||
new_gpio = &poll_gpios[num_poll_gpios];
|
||||
new_gpio->num = num;
|
|
@ -4,7 +4,7 @@ local ifaces = sys.net:devices()
|
|||
local m, s, o
|
||||
local uname = nixio.uname()
|
||||
|
||||
m = Map("network", translate("MPTCP"), translate("Networks MPTCP settings. Visit <a href='http://multipath-tcp.org/pmwiki.php/Users/ConfigureMPTCP'>http://multipath-tcp.org/pmwiki.php/Users/ConfigureMPTCP</a> for help."))
|
||||
m = Map("network", translate("MPTCP"), translate("Networks MPTCP settings."))
|
||||
|
||||
local unameinfo = nixio.uname() or { }
|
||||
|
||||
|
@ -48,6 +48,10 @@ if uname.release:sub(1,3) == "6.6" then
|
|||
for dir in io.popen([[cd /usr/share/bpf/scheduler && ls -1 *.o | sed -e 's/.o//g' -e 's/mptcp_//g']]):lines() do
|
||||
o:value(dir, dir)
|
||||
end
|
||||
-- bpf_burst => same as the default scheduler
|
||||
-- bpf_red => sends all packets redundantly on all available subflows
|
||||
-- bpf_first => always picks the first subflow to send data
|
||||
-- bpf_rr => always picks the next available subflow to send data (round-robin)
|
||||
end
|
||||
|
||||
-- if tonumber(uname.release:sub(1,4)) <= 5.15 then
|
||||
|
|
|
@ -101,13 +101,13 @@ omr_set_settings() {
|
|||
fi
|
||||
|
||||
if [ "$addlatency" = "0" ] && [ "$(tc qdisc show dev $ifname | grep delay)" != "" ]; then
|
||||
tc qdisc del dev ${ifname} root netem 2>&1 >/dev/null
|
||||
tc qdisc del dev ${ifname} root netem >/dev/null 2>&1
|
||||
fi
|
||||
if [ "$addlatency" != "0" ]; then
|
||||
if [ "$(tc qdisc show dev $ifname | grep delay)" = "" ]; then
|
||||
tc qdisc add dev ${ifname} root netem delay ${addlatency}ms 2>&1 >/dev/null
|
||||
tc qdisc add dev ${ifname} root netem delay ${addlatency}ms >/dev/null 2>&1
|
||||
elif [ "$(tc qdisc show dev $ifname | awk '/delay/ { print $10 }' | sed 's/ms//')" != "$addlatency" ]; then
|
||||
tc qdisc replace dev ${ifname} root netem delay ${addlatency}ms 2>&1 >/dev/null
|
||||
tc qdisc replace dev ${ifname} root netem delay ${addlatency}ms >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
@ -165,7 +165,7 @@ start_service() {
|
|||
fi
|
||||
|
||||
if [ "$(uci -q get openmptcprouter.settings.sfe_enabled)" = "1" ]; then
|
||||
[ -z "$(lsmod | grep fast_classifier)" ] && modprobe -q fast_classifier 2>&1 >/dev/null
|
||||
[ -z "$(lsmod | grep fast_classifier)" ] && modprobe -q fast_classifier >/dev/null 2>&1
|
||||
if [ "$(uci -q get openmptcprouter.settings.sfe_bridge)" = "1" ]; then
|
||||
echo 1 >/sys/fast_classifier/skip_to_bridge_ingress
|
||||
else
|
||||
|
@ -173,12 +173,12 @@ start_service() {
|
|||
fi
|
||||
if [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" = "0" ]; then
|
||||
sfe_ipv6=$(cat /sys/sfe_ipv6/debug_dev)
|
||||
[ ! -f /dev/sfe_ipv6 ] && mknod /dev/sfe_ipv6 c $sfe_ipv6 0 2>&1 >/dev/null
|
||||
[ ! -f /dev/sfe_ipv6 ] && mknod /dev/sfe_ipv6 c $sfe_ipv6 0 >/dev/null 2>&1
|
||||
else
|
||||
rm -f /dev/sfe_ipv6
|
||||
fi
|
||||
elif [ -d "/sys/module/fast_classifier" ]; then
|
||||
rmmod fast_classifier 2>&1 >/dev/null
|
||||
rmmod fast_classifier >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [ "$(uci -q get openmptcprouter.settings.sipalg)" = "0" ]; then
|
||||
|
@ -188,9 +188,9 @@ start_service() {
|
|||
set firewall.zone_vpn.auto_helper='0'
|
||||
commit firewall
|
||||
EOF
|
||||
[ -n "$(lsmod | grep nf_nat_sip)" ] && rmmod nf_nat_sip 2>&1 >/dev/null
|
||||
[ -n "$(lsmod | grep nf_nat_sip)" ] && rmmod nf_nat_sip >/dev/null 2>&1
|
||||
sleep 2
|
||||
[ -n "$(lsmod | grep nf_conntrack_sip)" ] && rmmod nf_conntrack_sip 2>&1 >/dev/null
|
||||
[ -n "$(lsmod | grep nf_conntrack_sip)" ] && rmmod nf_conntrack_sip >/dev/null 2>&1
|
||||
else
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set firewall.zone_lan.auto_helper='1'
|
||||
|
@ -198,9 +198,9 @@ start_service() {
|
|||
set firewall.zone_vpn.auto_helper='1'
|
||||
commit firewall
|
||||
EOF
|
||||
modprobe -q nf_conntrack_sip 2>&1 >/dev/null
|
||||
modprobe -q nf_conntrack_sip >/dev/null 2>&1
|
||||
sleep 2
|
||||
modprobe -q nf_nat_sip 2>&1 >/dev/null
|
||||
modprobe -q nf_nat_sip >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [ "$(uci -q get rpcd.@rpcd[0].socket)" != "/var/run/ubus/ubus.sock" ]; then
|
||||
|
@ -208,7 +208,7 @@ start_service() {
|
|||
set rpcd.@rpcd[0].socket='/var/run/ubus/ubus.sock'
|
||||
commit rpcd
|
||||
EOF
|
||||
/etc/init.d/rpcd restart 2>&1 >/dev/null
|
||||
/etc/init.d/rpcd restart >/dev/null 2>&1
|
||||
fi
|
||||
if [ "$(pgrep ModemManager)" = "" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(uci -q show network | grep modemmanager)" ] && [ "$(uci -q openmptcprouter.settings.modemmanager)" != "0" ]; then
|
||||
_log "Can't find ModemManager, start it..."
|
||||
|
|
|
@ -60,7 +60,7 @@ global_multipath_settings() {
|
|||
else
|
||||
sed -i "s:^net.mptcp.enabled=[0-1]*:net.mptcp.enabled=${multipath_status}:" /etc/sysctl.d/zzz_openmptcprouter.conf
|
||||
fi
|
||||
ip mptcp limits set add_addr_accepted $mptcp_add_addr_accepted subflows $mptcp_subflows 2>&1 >/dev/null
|
||||
ip mptcp limits set add_addr_accepted $mptcp_add_addr_accepted subflows $mptcp_subflows >/dev/null 2>&1
|
||||
#[ -z "$mptcp_debug" ] || sysctl -qew net.mptcp.mptcp_debug="$mptcp_debug"
|
||||
[ -z "$mptcp_checksum" ] || sysctl -qew net.mptcp.mptcp_checksum="$mptcp_checksum"
|
||||
[ -z "$mptcp_add_addr_timeout" ] || sysctl -qew net.mptcp.add_addr_timeout="$mptcp_add_addr_timeout"
|
||||
|
@ -69,7 +69,7 @@ global_multipath_settings() {
|
|||
[ -z "$mptcp_pm_type" ] || sysctl -qew net.mptcp.pm_type="$mptcp_pm_type"
|
||||
if [ -n "$mptcp_scheduler" ]; then
|
||||
for scheduler in $(ls -1 /usr/share/bpf/scheduler/*.o); do
|
||||
bpftool struct_ops register $scheduler 2>&1 >/dev/null
|
||||
bpftool struct_ops register $scheduler >/dev/null 2>&1
|
||||
done
|
||||
sysctl -qew net.mptcp.scheduler="$mptcp_scheduler"
|
||||
fi
|
||||
|
@ -139,23 +139,25 @@ interface_multipath_settings() {
|
|||
uci -q set network.${config}.metric=$metric
|
||||
uci -q set openmptcprouter.${config}.metric=$metric
|
||||
config_get mode "$config" multipath
|
||||
config_get disabled "$config" disabled
|
||||
[ "$disabled" = "1" ] && mode="off"
|
||||
id=$metric
|
||||
[ -n "$iface" ] && {
|
||||
gro=$(uci -q get network.${config}.gro)
|
||||
[ "$gro" = "1" ] && ethtool -K $iface gro on 2>&1 >/dev/null
|
||||
[ "$gro" = "0" ] && ethtool -K $iface gro on 2>&1 >/dev/null
|
||||
[ "$gro" = "1" ] && ethtool -K $iface gro on >/dev/null 2>&1
|
||||
[ "$gro" = "0" ] && ethtool -K $iface gro on >/dev/null 2>&1
|
||||
gso=$(uci -q get network.${config}.gso)
|
||||
[ "$gso" = "1" ] && ethtool -K $iface gso on 2>&1 >/dev/null
|
||||
[ "$gso" = "0" ] && ethtool -K $iface gso on 2>&1 >/dev/null
|
||||
[ "$gso" = "1" ] && ethtool -K $iface gso on >/dev/null 2>&1
|
||||
[ "$gso" = "0" ] && ethtool -K $iface gso on >/dev/null 2>&1
|
||||
lro=$(uci -q get network.${config}.lro)
|
||||
[ "$lro" = "1" ] && ethtool -K $iface lro on 2>&1 >/dev/null
|
||||
[ "$lro" = "0" ] && ethtool -K $iface lro on 2>&1 >/dev/null
|
||||
[ "$lro" = "1" ] && ethtool -K $iface lro on >/dev/null 2>&1
|
||||
[ "$lro" = "0" ] && ethtool -K $iface lro on >/dev/null 2>&1
|
||||
ufo=$(uci -q get network.${config}.ufo)
|
||||
[ "$ufo" = "1" ] && ethtool -K $iface ufo on 2>&1 >/dev/null
|
||||
[ "$ufo" = "0" ] && ethtool -K $iface ufo on 2>&1 >/dev/null
|
||||
[ "$ufo" = "1" ] && ethtool -K $iface ufo on >/dev/null 2>&1
|
||||
[ "$ufo" = "0" ] && ethtool -K $iface ufo on >/dev/null 2>&1
|
||||
tso=$(uci -q get network.${config}.tso)
|
||||
[ "$tso" = "1" ] && ethtool -K $iface tso on 2>&1 >/dev/null
|
||||
[ "$tso" = "0" ] && ethtool -K $iface tso on 2>&1 >/dev/null
|
||||
[ "$tso" = "1" ] && ethtool -K $iface tso on >/dev/null 2>&1
|
||||
[ "$tso" = "0" ] && ethtool -K $iface tso on >/dev/null 2>&1
|
||||
}
|
||||
[ "$mode" = "" ] && {
|
||||
mode="$(uci -q get openmptcprouter.${config}.multipath)"
|
||||
|
@ -176,7 +178,7 @@ interface_multipath_settings() {
|
|||
[ -z "$mptcpmintf" ] && mptcpmintf="$config"
|
||||
uci -q set network.${config}.defaultroute=0
|
||||
uci -q set network.${config}.peerdns=0
|
||||
echo '' > /etc/resolv.conf 2>&1 >/dev/null
|
||||
echo '' > /etc/resolv.conf >/dev/null 2>&1
|
||||
}
|
||||
[ "$mode" = "master" ] && {
|
||||
# Force that only one interface is master
|
||||
|
@ -309,18 +311,18 @@ interface_multipath_settings() {
|
|||
else
|
||||
[ -n "$ipaddr" ] && [ -z "$(ip rule show from $ipaddr table $id)" ] && ip rule add from $ipaddr table $id pref 0
|
||||
[ -z "$(ip rule show oif $iface table $id)" ] && ip rule add oif $iface table $id pref 0
|
||||
ip route replace $network/$netmask dev $iface scope link metric $id $initcwrwnd 2>&1 >/dev/null
|
||||
ip route replace $network/$netmask dev $iface scope link table $id $initcwrwnd 2>&1 >/dev/null
|
||||
ip route replace default via $gateway dev $iface table $id $initcwrwnd 2>&1 >/dev/null
|
||||
[ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && ip route replace default via $gateway dev $iface metric $id $initcwrwnd 2>&1 >/dev/null
|
||||
#ip route flush cache $id 2>&1 >/dev/null
|
||||
ip route replace $network/$netmask dev $iface scope link metric $id $initcwrwnd >/dev/null 2>&1
|
||||
ip route replace $network/$netmask dev $iface scope link table $id $initcwrwnd >/dev/null 2>&1
|
||||
ip route replace default via $gateway dev $iface table $id $initcwrwnd >/dev/null 2>&1
|
||||
[ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && ip route replace default via $gateway dev $iface metric $id $initcwrwnd >/dev/null 2>&1
|
||||
#ip route flush cache $id >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
#config_get mode "$config" multipath ""
|
||||
#[ "$mode" = "" ] && mode="$(uci -q get openmptcprouter.${config}.multipath)"
|
||||
#[ "$mode" = "master" ] && {
|
||||
# #echo "ip route replace default via $gateway dev $iface"
|
||||
# ip route replace default via $gateway dev $iface 2>&1 >/dev/null
|
||||
# ip route replace default via $gateway dev $iface >/dev/null 2>&1
|
||||
#}
|
||||
if [ "$txqueuelen" != "" ]; then
|
||||
ifconfig $iface txqueuelen $txqueuelen > /dev/null 2>&1
|
||||
|
@ -397,18 +399,18 @@ interface_multipath_settings() {
|
|||
commit network
|
||||
EOF
|
||||
else
|
||||
[ -n "$ip6addr" ] && ip -6 rule add from $ip6addr table 6$id pref 0 2>&1 >/dev/null
|
||||
[ -n "$ip6addr" ] && ip -6 rule add from $ip6addr table 6$id pref 0 >/dev/null 2>&1
|
||||
[ -z "$(ip rule show pref 0 table 6$id oif $iface)" ] && ip rule add oif $iface table 6$id pref 0
|
||||
ip -6 route replace $network6/$netmask6 dev $iface scope link metric 6$id $initcwrwnd 2>&1 >/dev/null
|
||||
ip -6 route replace $network6/$netmask6 dev $iface scope link table 6$id $initcwrwnd 2>&1 >/dev/null
|
||||
ip -6 route replace default via $gateway6 dev $iface table 6$id $initcwrwnd 2>&1 >/dev/null
|
||||
[ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && ip -6 route replace default via $gateway6 dev $iface metric 6$id $initcwrwnd 2>&1 >/dev/null
|
||||
#ip -6 route flush cache 6$id 2>&1 >/dev/null
|
||||
ip -6 route replace $network6/$netmask6 dev $iface scope link metric 6$id $initcwrwnd >/dev/null 2>&1
|
||||
ip -6 route replace $network6/$netmask6 dev $iface scope link table 6$id $initcwrwnd >/dev/null 2>&1
|
||||
ip -6 route replace default via $gateway6 dev $iface table 6$id $initcwrwnd >/dev/null 2>&1
|
||||
[ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && ip -6 route replace default via $gateway6 dev $iface metric 6$id $initcwrwnd >/dev/null 2>&1
|
||||
#ip -6 route flush cache 6$id >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
#config_get mode "$config" multipath "off"
|
||||
#[ "$mode" = "master" ] && {
|
||||
# ip -6 route replace default via $gateway6 dev $iface 2>&1 >/dev/null
|
||||
# ip -6 route replace default via $gateway6 dev $iface >/dev/null 2>&1
|
||||
#}
|
||||
#[ "$mode" = "off" ] && {
|
||||
# ifconfig $iface txqueuelen 50 > /dev/null 2>&1
|
||||
|
@ -485,7 +487,7 @@ add_route() {
|
|||
[ -n "$iface" ] && routeset="$routeset dev $iface"
|
||||
logger -t "MPTCP" "Add route $routeset"
|
||||
[ -n "$routeset" ] && {
|
||||
ip route replace ${routeset} 2>&1 >/dev/null
|
||||
ip route replace ${routeset} >/dev/null 2>&1
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -510,7 +512,7 @@ add_route6() {
|
|||
[ -n "$iface" ] && routeset="$routeset dev $iface"
|
||||
logger -t "MPTCP" "Add IPv6 route $routeset"
|
||||
[ -n "$routeset" ] && {
|
||||
ip -6 route replace ${routeset} 2>&1 >/dev/null
|
||||
ip -6 route replace ${routeset} >/dev/null 2>&1
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -524,7 +526,7 @@ start_service() {
|
|||
local id intfmaster
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/network.sh
|
||||
#[ -n "$intf" ] && multipath "${intf}" off 2>&1 >/dev/null
|
||||
#[ -n "$intf" ] && multipath "${intf}" off >/dev/null 2>&1
|
||||
global_multipath_settings
|
||||
|
||||
[ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep '3-model-b')" ] && [ "$(ip link show eth0 | grep UP)" = "" ] && {
|
||||
|
|
|
@ -137,7 +137,7 @@ else
|
|||
[ -n "$endpoint" ] && oldintfs=$(echo "${endpoint}" | grep "dev if" | awk '{ print $3 }')
|
||||
[ -n "$oldintfs" ] && {
|
||||
for oldintf in $oldintfs; do
|
||||
ip mptcp endpoint delete id $oldintf 2>&1 >/dev/null
|
||||
ip mptcp endpoint delete id $oldintf >/dev/null 2>&1
|
||||
done
|
||||
endpoint="$(ip mptcp endpoint show)"
|
||||
}
|
||||
|
@ -158,20 +158,20 @@ else
|
|||
fi
|
||||
[ -z "$ID" ] && [ -n "$IP" ] && [ -n "$endpoint" ] && ID=$(echo "${endpoint}" show | grep "$IP " | awk '{print $3}')
|
||||
[ -n "$endpoint" ] && RMID=$(echo "${endpoint}" | grep '::ffff' | awk '{ print $3 }')
|
||||
[ -n "$RMID" ] && ip mptcp endpoint delete id $RMID 2>&1 >/dev/null
|
||||
[ -n "$RMID" ] && ip mptcp endpoint delete id $RMID >/dev/null 2>&1
|
||||
fi
|
||||
case $TYPE in
|
||||
"off")
|
||||
[ -n "$ID" ] && {
|
||||
for i in $ID; do
|
||||
ip mptcp endpoint delete id $i 2>&1 >/dev/null
|
||||
ip mptcp endpoint delete id $i >/dev/null 2>&1
|
||||
done
|
||||
}
|
||||
exit 0;;
|
||||
"on")
|
||||
[ -n "$ID" ] && {
|
||||
for i in $ID; do
|
||||
ip mptcp endpoint delete id $i 2>&1 >/dev/null
|
||||
ip mptcp endpoint delete id $i >/dev/null 2>&1
|
||||
done
|
||||
}
|
||||
for i in $IP; do
|
||||
|
@ -181,7 +181,7 @@ else
|
|||
"signal")
|
||||
[ -n "$ID" ] && {
|
||||
for i in $ID; do
|
||||
ip mptcp endpoint delete id $i 2>&1 >/dev/null
|
||||
ip mptcp endpoint delete id $i >/dev/null 2>&1
|
||||
done
|
||||
}
|
||||
for i in $IP; do
|
||||
|
@ -192,7 +192,7 @@ else
|
|||
"backup")
|
||||
[ -n "$ID" ] && {
|
||||
for i in $ID; do
|
||||
ip mptcp endpoint delete id $i 2>&1 >/dev/null
|
||||
ip mptcp endpoint delete id $i >/dev/null 2>&1
|
||||
done
|
||||
}
|
||||
for i in $IP; do
|
||||
|
|
|
@ -41,7 +41,7 @@ define Package/iptables-mod-ndpi
|
|||
# DEPENDS:=+iptables +iptables-mod-conntrack-extra +kmod-ipt-ndpi +libpcap
|
||||
# DEPENDS:=+iptables +kmod-ipt-ndpi +libpcap @(LINUX_5_4||LINUX_5_15||TARGET_x86_64)
|
||||
# DEPENDS:=+iptables +kmod-ipt-ndpi +libpcap @(LINUX_5_4||LINUX_5_15) @!TARGET_ramips
|
||||
DEPENDS:=+iptables +kmod-ipt-ndpi +libpcap @!TARGET_ramips @!LINUX_6_6
|
||||
DEPENDS:=+iptables +kmod-ipt-ndpi +libpcap @!TARGET_ramips @!LINUX_6_6 @!LINUX_6_10
|
||||
MAINTAINER:=Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
|
||||
endef
|
||||
|
||||
|
@ -83,7 +83,7 @@ define KernelPackage/ipt-ndpi
|
|||
TITLE:= nDPI net netfilter module
|
||||
# DEPENDS:=+kmod-nf-conntrack +kmod-nf-conntrack-netlink +kmod-ipt-compat-xtables +libpcap @(LINUX_5_4||LINUX_5_15||TARGET_x86_64)
|
||||
# DEPENDS:=+kmod-nf-conntrack +kmod-nf-conntrack-netlink +kmod-ipt-compat-xtables +libpcap @(LINUX_5_4||LINUX_5_15) @!TARGET_ramips
|
||||
DEPENDS:=+kmod-nf-conntrack +kmod-nf-conntrack-netlink +(LINUX_5_4||LINUX_6_1):kmod-ipt-compat-xtables +libpcap @!TARGET_ramips @!LINUX_6_6
|
||||
DEPENDS:=+kmod-nf-conntrack +kmod-nf-conntrack-netlink +(LINUX_5_4||LINUX_6_1):kmod-ipt-compat-xtables +libpcap @!TARGET_ramips @!LINUX_6_6 @!LINUX_6_10
|
||||
# DEPENDS:=+kmod-nf-conntrack +kmod-nf-conntrack-netlink +kmod-ipt-compat-xtables +libpcap
|
||||
KCONFIG:=CONFIG_NF_CONNTRACK_LABELS=y \
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=y
|
||||
|
|
|
@ -20,11 +20,11 @@ while true; do
|
|||
iface=$(uci -q get openvpn.omr.dev)
|
||||
fi
|
||||
[ -z "$addr" ] && addr=$(ubus call network.interface.omrvpn status | jsonfilter -q -e '@["ipv4-address"][0].address' | tr -d "\n")
|
||||
if [ -n "$iface" ] && [ -d "/sys/class/net/$iface" ]; then
|
||||
[ -z "$addr" ] && [ -n "$iface" ] && addr=$(ip -4 addr show dev $iface | grep inet | awk '{print $2}' | cut -d/ -f1 | tr -d "\n")
|
||||
if [ -n "$iface" ] && [ -d "/sys/class/net/$iface" ] && [ "$(uci -q get openmptcprouter.omrvpn.state)" = "up" ]; then
|
||||
[ -z "$addr" ] && [ -n "$iface" ] && addr=$(ip -4 addr show dev "$iface" | grep inet | awk '{print $2}' | cut -d/ -f1 | tr -d "\n")
|
||||
[ -z "$peer" ] && peer=$(ubus call network.interface.omrvpn status | jsonfilter -q -l 1 -e '@.route[@.target="0.0.0.0"].nexthop' | tr -d "\n")
|
||||
[ -z "$peer" ] && peer=$(ip -4 r list dev $iface | grep via | grep -v default | grep -v metric | grep -v / | awk '{print $1; exit}' | tr -d "\n")
|
||||
[ -z "$peer" ] && peer=$(ip -4 r list dev $iface | grep kernel | awk '/proto kernel/ {print $1}' | grep -v / | tr -d "\n")
|
||||
[ -z "$peer" ] && peer=$(ip -4 r list dev "$iface" | grep via | grep -v default | grep -v metric | grep -v / | awk '{print $1; exit}' | tr -d "\n")
|
||||
[ -z "$peer" ] && peer=$(ip -4 r list dev "$iface" | grep kernel | awk '/proto kernel/ {print $1}' | grep -v / | tr -d "\n")
|
||||
[ -n "$addr" ] && [ -n "$peer" ] && {
|
||||
#logger -t "omr6in4" "addr: $addr - peer: $peer"
|
||||
if [ "$addr" != "$(uci -q get network.omr6in4.ipaddr)" ] || [ "$peer" != "$(uci -q get network.omr6in4.peeraddr)" ] || [ "$(ip -6 route show default dev 6in4-omr6in4 metric 1 | grep via)" = "" ]; then
|
||||
|
@ -36,7 +36,7 @@ while true; do
|
|||
commit network
|
||||
EOF
|
||||
if [ -n "$(ip tunnel | grep omr6in4)" ]; then
|
||||
ip tunnel change "6in4-omr6in4" mode sit local ${addr} remote ${peer} ttl 64 > /dev/null 2>&1
|
||||
ip tunnel change "6in4-omr6in4" mode sit local "${addr}" remote "${peer}" ttl 64 > /dev/null 2>&1
|
||||
else
|
||||
ifup omr6in4 > /dev/null 2>&1
|
||||
fi
|
||||
|
@ -44,25 +44,27 @@ while true; do
|
|||
#ipv6_addr=$(ip -6 addr show dev 6in4-omr6in4 | grep inet | awk '{print $2'} | cut -d/ -f1 | tr -d "\n")
|
||||
#ipv6_gw=$(echo $ipv6_addr | sed 's/1$/2')
|
||||
ipv6_addr=$(ubus call network.interface.omr6in4 status | jsonfilter -q -l 1 -e '@["ipv6-address"][0].address' | tr -d "\n")
|
||||
ip -6 addr add $ipv6_addr dev 6in4-omr6in4 > /dev/null 2>&1
|
||||
ip -6 addr add "$ipv6_addr" dev 6in4-omr6in4 > /dev/null 2>&1
|
||||
ipv6_gw=$(ubus call network.interface.omr6in4 status | jsonfilter -q -l 1 -e '@.route[@.target="::"].nexthop' | tr -d "\n")
|
||||
[ "$ipv6_gw" = "::" ] && ipv6_gw='fe80::a00:1'
|
||||
[ -z "$ipv6_gw" ] && ipv6_gw='fe80::a00:1'
|
||||
#[ -z "$ipv6_gw" ] && ipv6_gw='fe80::aff:ff01'
|
||||
ip -6 route add ${ipv6_gw} dev 6in4-omr6in4 > /dev/null 2>&1
|
||||
ip -6 route add "${ipv6_gw}" dev 6in4-omr6in4 > /dev/null 2>&1
|
||||
ip -6 route 2002::/16 dev 6in4-omr6in4 > /dev/null 2>&1
|
||||
ip -6 route replace default via ${ipv6_gw} dev 6in4-omr6in4 metric 1 > /dev/null 2>&1
|
||||
ip -6 route replace default via "${ipv6_gw}" dev 6in4-omr6in4 metric 1 > /dev/null 2>&1
|
||||
if [ "$(uci -q get openmptcprouter.settings.uci_route)" = "1" ]; then
|
||||
uci -q batch <<-EOF
|
||||
set network.omr6in4_route6_default=route6
|
||||
set network.omr6in4_route6_default.interface=omr6in4
|
||||
set network.omr6in4_route6_default.target='::'
|
||||
set network.omr6in4_route6_default.gateway=$ipv6_gw
|
||||
set network.omr6in4_route6_default.gateway="$ipv6_gw"
|
||||
commit network
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
}
|
||||
else
|
||||
ifdown omr6in4 > /dev/null 2>&1
|
||||
fi
|
||||
sleep 10
|
||||
done
|
|
@ -9,44 +9,44 @@
|
|||
# If a service is down, force restart it
|
||||
if [ -f /etc/init.d/shadowsocks-libev ] && [ "$(pgrep -f omr-tracker-ss)" = "" ] && [ "$(pgrep -f ss-redir)" = "" ] && [ "$(pgrep -f ss-local)" = "" ] && [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "192.18.1.3" ] && [ "$(uci -q get shadowsocks-libev.sss0.key)" != "" ]; then
|
||||
_log "Can't find Shadowsocks, restart it..."
|
||||
/etc/init.d/shadowsocks-libev restart 2>&1 >/dev/null
|
||||
/etc/init.d/shadowsocks-libev restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
if [ -f /etc/init.d/shadowsocks-rust ] && [ "$(pgrep -f omr-tracker-ss)" = "" ] && [ "$(pgrep -f sslocal)" = "" ] && [ "$(pgrep -f sslocal)" = "" ] && [ "$(uci -q get shadowsocks-rust.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-rust.sss0.server)" != "" ] && [ "$(uci -q get shadowsocks-rust.sss0.server)" != "192.18.1.3" ] && [ "$(uci -q get shadowsocks-rust.sss0.key)" != "" ]; then
|
||||
_log "Can't find Shadowsocks Rust, restart it..."
|
||||
/etc/init.d/shadowsocks-rust restart 2>&1 >/dev/null
|
||||
/etc/init.d/shadowsocks-rust restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
if [ -f /etc/init.d/glorytun ] && [ "$(pgrep glorytun)" = "" ] && [ "$(uci -q get glorytun.vpn.enable)" = "1" ] && [ -f /etc/init.d/glorytun ] && [ "$(uci -q get glorytun.vpn.key)" != "" ]; then
|
||||
_log "Can't find Glorytun, restart it..."
|
||||
/etc/init.d/glorytun restart 2>&1 >/dev/null
|
||||
/etc/init.d/glorytun restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
if [ -f /etc/init.d/glorytun-udp ] && [ "$(pgrep glorytun-udp)" = "" ] && [ "$(uci -q get glorytun-usp.vpn.enable)" = "1" ] && [ -f /etc/init.d/glorytun-udp ] && [ "$(uci -q get glorytun-udp.vpn.key)" != "" ]; then
|
||||
_log "Can't find Glorytun UDP, restart it..."
|
||||
/etc/init.d/glorytun-udp restart 2>&1 >/dev/null
|
||||
/etc/init.d/glorytun-udp restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
if [ -f /etc/init.d/dnsmasq ]; then
|
||||
if [ "$(pgrep -f dnsmasq)" = "" ]; then
|
||||
_log "Can't find dnsmasq, restart it..."
|
||||
/etc/init.d/dnsmasq restart 2>&1 >/dev/null
|
||||
/etc/init.d/dnsmasq restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
elif [ "$(uci -q get openmptcprouter.settings.external_check)" != "0" ] && [ -n "$(dig +timeout=4 +tries=1 openmptcprouter.com 2>&1 | grep -i 'connection refused')" ]; then
|
||||
_log "Can't resolve via dnsmasq, restart it..."
|
||||
/etc/init.d/dnsmasq restart 2>&1 >/dev/null
|
||||
/etc/init.d/dnsmasq restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
fi
|
||||
if [ -f /etc/init.d/unbound ] && [ "$(uci -q get unbound.@unbound[0].enabled)" = "1" ]; then
|
||||
if [ "$(pgrep -f unbound)" = "" ]; then
|
||||
_log "Can't find unbound, restart it..."
|
||||
/etc/init.d/unbound restart 2>&1 >/dev/null
|
||||
/etc/init.d/unbound restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
elif [ "$(uci -q get openmptcprouter.settings.external_check)" != "0" ] && [ "$(uci -q get unbound.ub_main.listen_port)" = "5353" ] && [ -n "$(dig +timeout=4 +tries=1 openmptcprouter.com -p 5353 | grep 'ANSWER: 0')" ]; then
|
||||
_log "Can't resolve via unbound, restart it..."
|
||||
/etc/init.d/unbound restart 2>&1 >/dev/null
|
||||
/etc/init.d/unbound restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
fi
|
||||
|
@ -60,70 +60,70 @@ if [ "$(pgrep openvpn)" = "" ] && [ -f /etc/init.d/openvpn ]; then
|
|||
config_foreach openvpn_enabled openvpn
|
||||
if [ "$openvpn_enable" = "1" ]; then
|
||||
_log "Can't find OpenVPN, restart it"
|
||||
/etc/init.d/openvpn restart 2>&1 >/dev/null
|
||||
/etc/init.d/openvpn restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$(pgrep mlvpn)" = "" ] && [ "$(uci -q get mlvpn.general.enable)" = "1" ] && [ -f /etc/init.d/mlvpn ] && [ "$(uci -q get mlvpn.general.password)" != "" ]; then
|
||||
_log "Can't find MLVPN, restart it..."
|
||||
/etc/init.d/mlvpn restart 2>&1 >/dev/null
|
||||
/etc/init.d/mlvpn restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
if [ "$(pgrep dsvpn)" = "" ] && [ "$(uci -q get dsvpn.vpn.enable)" = "1" ] && [ -f /etc/init.d/dsvpn ] && [ "$(uci -q get dsvpn.vpn.key)" != "" ]; then
|
||||
_log "Can't find DSVPN, restart it..."
|
||||
/etc/init.d/dsvpn restart 2>&1 >/dev/null
|
||||
/etc/init.d/dsvpn restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
if [ "$(pgrep -f v2ray)" = "" ] && [ "$(uci -q get v2ray.main.enabled)" = "1" ] && [ -f /etc/init.d/v2ray ]; then
|
||||
_log "Can't find V2Ray, restart it..."
|
||||
/etc/init.d/v2ray restart 2>&1 >/dev/null
|
||||
/etc/init.d/v2ray restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
if [ "$(pgrep -f xray)" = "" ] && [ "$(uci -q get xray.main.enabled)" = "1" ] && [ -f /etc/init.d/xray ]; then
|
||||
_log "Can't find XRay, restart it..."
|
||||
/etc/init.d/xray restart 2>&1 >/dev/null
|
||||
/etc/init.d/xray restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
if [ "$(pgrep miniupnpd)" = "" ] && [ "$(uci -q get upnpd.config.enabled)" = "1" ] && [ -f /etc/init.d/miniupnpd ]; then
|
||||
_log "Can't find miniupnpd, restart it..."
|
||||
/etc/init.d/miniupnpd restart 2>&1 >/dev/null
|
||||
/etc/init.d/miniupnpd restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
if [ "$(pgrep rpcd)" = "" ] && [ -f /etc/init.d/rpcd ]; then
|
||||
_log "Can't find rpcd, restart it..."
|
||||
/etc/init.d/rpcd restart 2>&1 >/dev/null
|
||||
/etc/init.d/rpcd restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
if [ "$(pgrep uhttpd)" = "" ] && [ -f /etc/init.d/uhttpd ]; then
|
||||
_log "Can't find uhttpd, restart it..."
|
||||
/etc/init.d/uhttpd restart 2>&1 >/dev/null
|
||||
/etc/init.d/uhttpd restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
if [ -z "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(uci -q show network | grep modemmanager)" ]; then
|
||||
_log "Can't find ModemManager, restart it..."
|
||||
/etc/init.d/modemmanager restart 2>&1 >/dev/null
|
||||
/etc/init.d/modemmanager restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
elif [ -n "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(uci -q show network | grep modemmanager)" ] && [ -z "$(timeout 2 mmcli -L)" ]; then
|
||||
_log "ModemManager doesn't answer, restart it..."
|
||||
/etc/init.d/modemmanager restart 2>&1 >/dev/null
|
||||
/etc/init.d/modemmanager restart >/dev/null 2>&1
|
||||
sleep 5
|
||||
#elif [ -n "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -z "$(uci -q show network | grep modemmanager)" ]; then
|
||||
# _log "ModemManager not used, stop it..."
|
||||
# /etc/init.d/modemmanager stop 2>&1 >/dev/null
|
||||
# /etc/init.d/modemmanager stop >/dev/null 2>&1
|
||||
# sleep 5
|
||||
fi
|
||||
|
||||
if [ "$(uci -q get v2ray.main.enabled)" = "1" ] && [ -f /etc/init.d/v2ray ] && [ "$(pgrep -f omr-tracker-v2ray)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then
|
||||
_log "Can't find omr-tracker-v2ray, restart omr-tracker..."
|
||||
/etc/init.d/omr-tracker restart 2>&1 >/dev/null
|
||||
/etc/init.d/omr-tracker restart >/dev/null 2>&1
|
||||
fi
|
||||
if [ "$(uci -q get xray.main.enabled)" = "1" ] && [ -f /etc/init.d/xray ] && [ "$(pgrep -f omr-tracker-xray)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then
|
||||
_log "Can't find omr-tracker-xray, restart omr-tracker..."
|
||||
/etc/init.d/omr-tracker restart 2>&1 >/dev/null
|
||||
/etc/init.d/omr-tracker restart >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
set_get_config() {
|
||||
|
@ -176,19 +176,19 @@ multipath_fix() {
|
|||
config_get multipath "$1" multipath
|
||||
[ "$multipath" != "off" ] && return
|
||||
interface="$(ifstatus $1 | jsonfilter -q -e '@.l3_device' | tr -d '\n')"
|
||||
[ -n "$interface" ] && [ -z "$(multipath $interface | grep deactivated)" ] && /etc/init.d/mptcp reload $interface 2>&1 >/dev/null
|
||||
[ -n "$interface" ] && [ -z "$(multipath $interface | grep deactivated)" ] && /etc/init.d/mptcp reload $interface >/dev/null 2>&1
|
||||
}
|
||||
|
||||
config_load network
|
||||
config_foreach multipath_fix interface
|
||||
if [ -f /etc/init.d/shadowsocks-libev ] && [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-libev.sss0.key)" != "" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "192.168.1.3" ] && [ "$(pgrep -f omr-tracker-ss)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then
|
||||
_log "Can't find omr-tracker-ss for Shadowsocks libev, restart omr-tracker..."
|
||||
/etc/init.d/omr-tracker restart 2>&1 >/dev/null
|
||||
/etc/init.d/omr-tracker restart >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [ -f /etc/init.d/shadowsocks-rust ] && [ "$(uci -q get shadowsocks-rust.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-rust.sss0.key)" != "" ] && [ "$(uci -q get shadowsocks-rust.sss0.server)" != "" ] && [ "$(uci -q get shadowsocks-libev.rust.server)" != "192.168.1.3" ] && [ "$(pgrep -f omr-tracker-ss)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then
|
||||
_log "Can't find omr-tracker-ss for Shadowsocks Rust, restart omr-tracker..."
|
||||
/etc/init.d/omr-tracker restart 2>&1 >/dev/null
|
||||
/etc/init.d/omr-tracker restart >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [ "$(uci -q get glorytun.vpn.enable)" = "1" ] && [ "$(uci -q get glorytun.vpn.key)" = "" ]; then
|
||||
|
@ -218,14 +218,14 @@ fi
|
|||
|
||||
if [ -f /etc/init.d/omr-bypass ] && (([ -e /usr/sbin/iptables-nft-save ] && [ "$(iptables-nft-save 2>/dev/null | grep omr-bypass)" = "" ]) || [ "$(iptables-save 2>/dev/null | grep omr-bypass)" = "" ]) && [ "$(pgrep -f omr-bypass)" = "" ]; then
|
||||
_log "Can't find omr-bypass rules, restart omr-bypass..."
|
||||
/etc/init.d/omr-bypass start 2>&1 >/dev/null
|
||||
/etc/init.d/omr-bypass start >/dev/null 2>&1
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
if [ -f /etc/backup/installed_packages.txt ] && [ -n "$(grep overlay /etc/backup/installed_packages.txt)" ] && ([ "$(uci -q get openmptcprouter.settings.sysupgrade_lc)" = "" ] || [ $(($(date +"%s") + $((30 + RANDOM % 31)) - $(uci -q get openmptcprouter.settings.sysupgrade_lc))) -gt 3600 ]) && [ $(($(date +"%s") - $(stat -c "%Y" /etc/backup/installed_packages.txt))) -gt 86400 ]; then
|
||||
_log "Reinstall packages..."
|
||||
uci -q set openmptcprouter.settings.sysupgrade_lc=$(date +"%s")
|
||||
/etc/init.d/sysupgrade restart 2>&1 >/dev/null
|
||||
/etc/init.d/sysupgrade restart >/dev/null 2>&1
|
||||
sleep 10
|
||||
fi
|
||||
|
||||
|
|
|
@ -63,6 +63,7 @@ _update_rto() {
|
|||
if [ -z "$srtt" ]; then
|
||||
srtt=$1
|
||||
rttvar=$(echo "$(($1 / 2))" | cut -d. -f1)
|
||||
#"
|
||||
else
|
||||
diff=$((srtt - $1))
|
||||
rttvar=$(echo "$(((75 * rttvar + 25 * (diff >= 0 ? diff : -diff)) / 100))" | cut -d. -f1)
|
||||
|
@ -113,7 +114,7 @@ _ping_server() {
|
|||
statusp=$?
|
||||
if $(exit $statusp); then
|
||||
serverip_ping=true
|
||||
break
|
||||
return
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -136,7 +137,7 @@ _httping_server() {
|
|||
statusp=$?
|
||||
if $(exit $statusp); then
|
||||
serverip_ping=true
|
||||
break
|
||||
return
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -150,7 +151,7 @@ _ping() {
|
|||
[ -z "$host" ] && return
|
||||
local device=$2
|
||||
local localip=$3
|
||||
if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$OMR_TRACKER_NO_BIND" = "1" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "3g" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "qmi" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "ncm" ]); then
|
||||
if [ -n "$OMR_TRACKER_INTERFACE" ] && { [ "$OMR_TRACKER_NO_BIND" = "1" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "3g" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "qmi" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "ncm" ]; }; then
|
||||
ret=$(ping -I "${device}" \
|
||||
-w "$OMR_TRACKER_TIMEOUT" \
|
||||
-c "$OMR_TRACKER_COUNT" \
|
||||
|
@ -323,7 +324,7 @@ while true; do
|
|||
OMR_TRACKER_DEVICE_GATEWAY=$(ip -4 r list dev "$OMR_TRACKER_DEVICE" | awk '/via/ {print $3;exit}' | tr -d "\n")
|
||||
fi
|
||||
fi
|
||||
if ([ "$OMR_TRACKER_IPV6" = "1" ] || [ "$OMR_TRACKER_IPV6" = "auto" ]) && ([ "$OMR_TRACKER_FAMILY" = "ipv6" ] || [ "$OMR_TRACKER_FAMILY" = "ipv4ipv6" ]); then
|
||||
if { [ "$OMR_TRACKER_IPV6" = "1" ] || [ "$OMR_TRACKER_IPV6" = "auto" ]; } && { [ "$OMR_TRACKER_FAMILY" = "ipv6" ] || [ "$OMR_TRACKER_FAMILY" = "ipv4ipv6" ]; }; then
|
||||
#OMR_TRACKER_DEVICE_IP6=$(ip -6 -br addr ls dev "$OMR_TRACKER_DEVICE" | awk -F'[ /]+' '{print $3}')
|
||||
#if [ -z "$OMR_TRACKER_DEVICE_IP6" ]; then
|
||||
OMR_TRACKER_DEVICE_IP6=$(ip -6 addr show dev "$OMR_TRACKER_DEVICE" scope global | sort -r | grep -m 1 inet6 | awk '{print $2}' | cut -d'/' -s -f1)
|
||||
|
@ -349,7 +350,7 @@ while true; do
|
|||
fi
|
||||
|
||||
# execute specific tracker
|
||||
if ([ "$OMR_TRACKER_FAMILY" = "ipv4" ] || [ "$OMR_TRACKER_FAMILY" = "ipv4ipv6" ]) && [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ]; then
|
||||
if { [ "$OMR_TRACKER_FAMILY" = "ipv4" ] || [ "$OMR_TRACKER_FAMILY" = "ipv4ipv6" ]; } && [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ]; then
|
||||
# setup loop variable
|
||||
if [ "$OMR_TRACKER_PREV_STATUS" = "ERROR" ]; then
|
||||
tries="$OMR_TRACKER_TRIES_UP"
|
||||
|
@ -557,7 +558,7 @@ while true; do
|
|||
sleep "${OMR_TRACKER_INTERVAL_TRIES:-1}"
|
||||
done
|
||||
fi
|
||||
if [ "$OMR_TRACKER_STATUS" = "ERROR" ] && ([ -z "$OMR_TRACKER_DEVICE_IP" ] || [ -z "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ -z "$OMR_TRACKER_DEVICE_IP6" ] || [ -z "$OMR_TRACKER_DEVICE_GATEWAY6" ]); then
|
||||
if [ "$OMR_TRACKER_STATUS" = "ERROR" ] && { [ -z "$OMR_TRACKER_DEVICE_IP" ] || [ -z "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ -z "$OMR_TRACKER_DEVICE_IP6" ] || [ -z "$OMR_TRACKER_DEVICE_GATEWAY6" ]; }; then
|
||||
[ -z "$OMR_TRACKER_STATUS_MSG" ] && OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_INTERFACE may have ip issues"
|
||||
[ -z "$OMR_TRACKER_DEVICE_IP" ] && OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_STATUS_MSG, interface have no IPv4"
|
||||
[ -z "$OMR_TRACKER_DEVICE_GATEWAY" ] && OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_STATUS_MSG, interface have no IPv4 gateway"
|
||||
|
|
|
@ -320,7 +320,7 @@ _check_master() {
|
|||
/etc/init.d/unbound restart >/dev/null 2>/dev/null
|
||||
/etc/init.d/dnsmasq restart >/dev/null 2>/dev/null
|
||||
}
|
||||
break
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -507,7 +507,7 @@ _check_backup() {
|
|||
/etc/init.d/unbound restart >/dev/null 2>/dev/null
|
||||
/etc/init.d/dnsmasq restart >/dev/null 2>/dev/null
|
||||
}
|
||||
[ "$server_ping" = true ] && break
|
||||
[ "$server_ping" = true ] && return
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -91,12 +91,14 @@ _launch_tracker() {
|
|||
config_get gateway "$1" gateway
|
||||
config_get ipv6 "$1" ipv6
|
||||
config_get proto "$1" proto
|
||||
config_get disabled "$1" disabled
|
||||
|
||||
#[ -z "$ifname" ] || [ -z "$multipath" ] || [ "$multipath" = "off" ] && [ "$1" != "glorytun" ] && [ "$1" != "omrvpn" ] && [ "$( uci -q get openmptcprouter.$1.multipathvpn)" != "1" ] && return
|
||||
([ -z "$multipath" ] || [ "$multipath" = "off" ]) && [ "$1" != "glorytun" ] && [ "$1" != "omrvpn" ] && [ "$( uci -q get openmptcprouter.$1.multipathvpn)" != "1" ] && return
|
||||
[ "$1" = "omrvpn" ] && [ "$(uci -q get openmptcprouter.settings.vpn)" = "none" ] && return
|
||||
[ "${ifenabled}" = "0" ] && return
|
||||
[ "${enabled}" = "0" ] && return
|
||||
[ "${disabled}" = "1" ] && return
|
||||
[ -z "${hosts}" ] && [ "$type" != "none" ] && return
|
||||
ifstatus=$(ifstatus "$1" | jsonfilter -q -e '@["up"]')
|
||||
ifdevice=$(ifstatus "$1" | jsonfilter -q -e '@["device"]')
|
||||
|
|
|
@ -1,14 +1,20 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Set default multipath status
|
||||
[ "$OMR_TRACKER_INTERFACE" = "omrvpn" ] && multipath $OMR_TRACKER_DEVICE off 2>&1 >/dev/null
|
||||
[ "$OMR_TRACKER_INTERFACE" = "omr6in4" ] && multipath $OMR_TRACKER_DEVICE off 2>&1 >/dev/null
|
||||
[ "$OMR_TRACKER_INTERFACE" = "omrvpn" ] && multipath "$OMR_TRACKER_DEVICE" off >/dev/null 2>&1
|
||||
[ "$OMR_TRACKER_INTERFACE" = "omr6in4" ] && multipath "$OMR_TRACKER_DEVICE" off >/dev/null 2>&1
|
||||
|
||||
if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$OMR_TRACKER_INTERFACE" != "omr6in4" ]; then
|
||||
metric="$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)"
|
||||
if [ -z "$metric" ] || ([ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -z "$(ip route show table $metric | grep $OMR_TRACKER_DEVICE)" ]) || ([ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ -z "$(ip -6 route show table 6${metric} | grep $OMR_TRACKER_DEVICE)" ]); then
|
||||
if [ -z "$metric" ] || { [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -z "$(ip route show table $metric | grep $OMR_TRACKER_DEVICE)" ]; } || { [ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ -z "$(ip -6 route show table 6${metric} | grep $OMR_TRACKER_DEVICE)" ]; }; then
|
||||
_log "Routes not correctly set for $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE table $metric) with IPs $OMR_TRACKER_DEVICE_IP $OMR_TRACKER_DEVICE_IP6"
|
||||
/etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE"
|
||||
/etc/init.d/omr-tracker restart
|
||||
exit 0
|
||||
fi
|
||||
if [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.disabled)" = "1" ]; then
|
||||
/etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE"
|
||||
/etc/init.d/omr-tracker restart
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions/network.sh
|
||||
|
||||
|
@ -8,7 +8,7 @@ default_gw6=$(ip -6 route get 2606:4700:4700::1111 | grep via | awk '{print $3}'
|
|||
interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]')
|
||||
|
||||
# An interface in error will never be used in MPTCP
|
||||
if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$interface_up" != "true" ]); then
|
||||
if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$interface_up" != "true" ]; }; then
|
||||
#interface_autostart=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["autostart"]')
|
||||
#interface_available=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["available"]')
|
||||
#interface_pending=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["pending"]')
|
||||
|
@ -37,14 +37,14 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
|
|||
mm_state_failed=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.state-failed-reason")
|
||||
if [ "$mm_state_failed" = "unknown-capabilities" ]; then
|
||||
_log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..."
|
||||
/usr/bin/mmcli -m ${modem} -r 2>&1 >/dev/null
|
||||
/usr/bin/mmcli -m ${modem} -r >/dev/null 2>&1
|
||||
sleep 30
|
||||
elif false && [ "$mm_state_failed" = "sim-missing" ]; then
|
||||
_log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..."
|
||||
/usr/bin/mmcli -m ${modem} -r 2>&1 >/dev/null
|
||||
/usr/bin/mmcli -m ${modem} -r >/dev/null 2>&1
|
||||
#_log "Interface $OMR_TRACKER_INTERFACE in failed state sim-missing in ModemManager, reset modem..."
|
||||
#mm_primary_port=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.primary-port")
|
||||
#mbimcli -p -d /dev/$mm_primary_port --ms-device-reset 2>&1 >/dev/null
|
||||
#mbimcli -p -d /dev/$mm_primary_port --ms-device-reset >/dev/null 2>&1
|
||||
fi
|
||||
elif [ "$mm_state" = "connected" ] || [ "$mm_state" = "enabled" ]; then
|
||||
_log "No answer from $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE), restart interface"
|
||||
|
@ -57,7 +57,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
|
|||
elif [ "$mm_state" = "disabled" ]; then
|
||||
# [ -n "$(echo $modeminfo | grep 'modem.3gpp.registration-state ' | grep home)" ]; then
|
||||
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) disabled, set it up"
|
||||
/usr/bin/mmcli -m ${modem} -e 2>&1 >/dev/null
|
||||
/usr/bin/mmcli -m ${modem} -e >/dev/null 2>&1
|
||||
ifup $OMR_TRACKER_INTERFACE
|
||||
sleep 30
|
||||
elif [ "$mm_state" = "registered" ]; then
|
||||
|
@ -75,21 +75,21 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
|
|||
if [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
|
||||
if [ "$mm_unlock_retries" -gt "1" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
|
||||
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PIN"
|
||||
mmcli -a -m ${modem} -i $mm_generic_sim --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) 2>&1 >/dev/null
|
||||
mmcli -a -m ${modem} -i $mm_generic_sim --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) >/dev/null 2>&1
|
||||
sleep 20
|
||||
ifup $OMR_TRACKER_INTERFACE
|
||||
fi
|
||||
fi
|
||||
elif [ "$mm_unlock_required" = "sim-puk" ] && [ "$mm_unlock_retries" -gt "1" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode)" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
|
||||
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PUK"
|
||||
mmcli -i $mm_generic_sim --puk=$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode) --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) 2>&1 >/dev/null
|
||||
mmcli -i $mm_generic_sim --puk=$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode) --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) >/dev/null 2>&1
|
||||
sleep 30
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [ "$modemfind" = "0" ]; then
|
||||
#_log "Can't find $OMR_TRACKER_INTERFACE in ModemManager, rescan modem..."
|
||||
#/usr/bin/mmcli -S 2>&1 >/dev/null
|
||||
#/usr/bin/mmcli -S >/dev/null 2>&1
|
||||
#_log "Can't find $OMR_TRACKER_INTERFACE in ModemManager, restart modemmanager..."
|
||||
_log "Can't find $OMR_TRACKER_INTERFACE in ModemManager"
|
||||
#/etc/init.d/modemmanager restart
|
||||
|
@ -119,8 +119,8 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
|
|||
|
||||
# Get the current multipath status
|
||||
multipath_status="off"
|
||||
# [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ] && multipath $OMR_TRACKER_DEVICE off 2>&1 >/dev/null
|
||||
# [ "$OMR_TRACKER_INTERFACE" = "omr6in4" ] && multipath $OMR_TRACKER_DEVICE off 2>&1 >/dev/null
|
||||
# [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ] && multipath $OMR_TRACKER_DEVICE off >/dev/null 2>&1
|
||||
# [ "$OMR_TRACKER_INTERFACE" = "omr6in4" ] && multipath $OMR_TRACKER_DEVICE off >/dev/null 2>&1
|
||||
if [ -e "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then
|
||||
case "$(multipath "$OMR_TRACKER_DEVICE")" in
|
||||
*default*) multipath_status="on" ;;
|
||||
|
@ -129,7 +129,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
|
|||
esac
|
||||
fi
|
||||
|
||||
if [ "$multipath_status" != "off" ] || ([ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ]); then
|
||||
if [ "$multipath_status" != "off" ] || { [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ]; }; then
|
||||
if [ "$OMR_TRACKER_STATUS_MSG" = "" ]; then
|
||||
_log "$OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) switched off (interface up status: $interface_up - Tracker status: $OMR_TRACKER_STATUS)"
|
||||
else
|
||||
|
@ -142,22 +142,22 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
|
|||
# multipath "$OMR_TRACKER_DEVICE" off > /dev/null 2>&1
|
||||
#fi
|
||||
if [ -n "$OMR_TRACKER_DEVICE_IP" ]; then
|
||||
glorytun-udp path addr $OMR_TRACKER_DEVICE_IP dev tun0 set down > /dev/null 2>&1
|
||||
glorytun-udp path addr "$OMR_TRACKER_DEVICE_IP" dev tun0 set down > /dev/null 2>&1
|
||||
fi
|
||||
if [ -n "$OMR_TRACKER_DEVICE_IP6" ]; then
|
||||
glorytun-udp path addr $OMR_TRACKER_DEVICE_IP6 dev tun0 set down > /dev/null 2>&1
|
||||
glorytun-udp path addr "$OMR_TRACKER_DEVICE_IP6" dev tun0 set down > /dev/null 2>&1
|
||||
fi
|
||||
if [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ] && [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ]; then
|
||||
VPN_BASE_INTF="$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.baseintf)"
|
||||
VPN_BASE_INTF_IP=$(ubus call network.interface.$VPN_BASE_INTF status | jsonfilter -e '@["ipv4-address"][0].address' | tr -d "\n")
|
||||
if [ -n "$VPN_BASE_INTF" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set openvpn.$VPN_BASE_INTF.local=$VPN_BASE_INTF_IP
|
||||
set openvpn.$VPN_BASE_INTF.local="$VPN_BASE_INTF_IP"
|
||||
commit openvpn
|
||||
EOF
|
||||
fi
|
||||
[ -z "VPN_BASE_INTF" ] && VPN_BASE_INTF="omr"
|
||||
/etc/init.d/openvpn restart $VPN_BASE_INTF 2>&1 >/dev/null
|
||||
[ -z "$VPN_BASE_INTF" ] && VPN_BASE_INTF="omr"
|
||||
/etc/init.d/openvpn restart "$VPN_BASE_INTF" >/dev/null 2>&1
|
||||
fi
|
||||
config_load openmptcprouter
|
||||
config_foreach del_server_route server
|
||||
|
@ -165,7 +165,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
|
|||
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ] && [ "$(uci -q get openmptcprouter.settings.vpn)" != "mlvpn" ]; then
|
||||
|
||||
if [ -n "$OMR_TRACKER_INTERFACE" ]; then
|
||||
if ([ "$default_gw" = "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ] || [ "$default_gw6" != "$OMR_TRACKER_DEVICE_GATEWAY6" ]) && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then
|
||||
if { [ "$default_gw" = "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ] || [ "$default_gw6" != "$OMR_TRACKER_DEVICE_GATEWAY6" ]; } && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Default gw: $default_gw - Set routes (current: $(ip r) )"
|
||||
config_load network
|
||||
config_foreach set_route interface $OMR_TRACKER_INTERFACE
|
||||
|
@ -219,9 +219,9 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
|
|||
[ -z "$restart_down" ] && restart_down="$(uci -q get omr-tracker.defaults.restart_down)"
|
||||
[ "$restart_down" = "1" ] && {
|
||||
_log "Restart $OMR_TRACKER_INTERFACE"
|
||||
ifdown $OMR_TRACKER_INTERFACE 2>&1 >/dev/null
|
||||
ifdown $OMR_TRACKER_INTERFACE >/dev/null 2>&1
|
||||
sleep 5
|
||||
ifup $OMR_TRACKER_INTERFACE 2>&1 >/dev/null
|
||||
ifup $OMR_TRACKER_INTERFACE >/dev/null 2>&1
|
||||
}
|
||||
|
||||
if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ] || [ "$OMR_TRACKER_INTERFACE" = "omr6in4" ]; then
|
||||
|
@ -241,29 +241,29 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
|
|||
_log "Tunnel down use ShadowSocks for UDP"
|
||||
uci -q set shadowsocks-libev.ss_rules.redir_udp='hi1'
|
||||
if /etc/init.d/shadowsocks-libev rules_exist ; then
|
||||
/etc/init.d/shadowsocks-libev rules_down 2>&1 >/dev/null
|
||||
/etc/init.d/shadowsocks-libev rules_up 2>&1 >/dev/null
|
||||
/etc/init.d/shadowsocks-libev rules_down >/dev/null 2>&1
|
||||
/etc/init.d/shadowsocks-libev rules_up >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
if [ "$(uci -q get dsvpn.vpn.enable)" = "1" ]; then
|
||||
_log "DSVPN down, restart it"
|
||||
/etc/init.d/dsvpn restart 2>&1 >/dev/null
|
||||
/etc/init.d/dsvpn restart >/dev/null 2>&1
|
||||
fi
|
||||
if [ "$(uci -q get mlvpn.general.enable)" = "1" ]; then
|
||||
_log "MLVPN down, restart it"
|
||||
/etc/init.d/mlvpn restart 2>&1 >/dev/null
|
||||
/etc/init.d/mlvpn restart >/dev/null 2>&1
|
||||
fi
|
||||
if [ "$(uci -q get glorytun.vpn.enable)" = "1" ]; then
|
||||
_log "Glorytun VPN down, restart it"
|
||||
/etc/init.d/glorytun restart 2>&1 >/dev/null
|
||||
/etc/init.d/glorytun restart >/dev/null 2>&1
|
||||
fi
|
||||
if [ "$(uci -q get glorytun-udp.vpn.enable)" = "1" ]; then
|
||||
_log "Glorytun UDP VPN down, restart it"
|
||||
/etc/init.d/glorytun-udp restart 2>&1 >/dev/null
|
||||
/etc/init.d/glorytun-udp restart >/dev/null 2>&1
|
||||
fi
|
||||
if [ "$(uci -q get openvpn.omr.enabled)" = "1" ]; then
|
||||
_log "OpenVPN down, restart it"
|
||||
/etc/init.d/openvpn restart omr 2>&1 >/dev/null
|
||||
/etc/init.d/openvpn restart omr >/dev/null 2>&1
|
||||
fi
|
||||
config_load openmptcprouter
|
||||
config_foreach disable_pihole server
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
@ -14,12 +16,12 @@ find_network_device() {
|
|||
local cfg="${1}"
|
||||
local device="${2}"
|
||||
|
||||
local type name
|
||||
local name
|
||||
config_get name "${cfg}" name
|
||||
|
||||
[ "${name}" = "${device}" ] && device_section="${cfg}"
|
||||
}
|
||||
if [ ! -z "$device" ]; then
|
||||
if [ -n "$device" ]; then
|
||||
config_load network
|
||||
config_foreach check_device device "$(uci -q network.${device}.device)"
|
||||
fi
|
||||
|
@ -61,8 +63,8 @@ set_route() {
|
|||
if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ]; then
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && [ "$SETDEFAULT" = "yes" ] && _log "$PREVINTERFACE down. Replace default route by $interface_gw dev $interface_if"
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && [ "$SETDEFAULT" != "yes" ] && _log "$PREVINTERFACE down. Replace default in table 991337 route by $interface_gw dev $interface_if"
|
||||
[ "$SETDEFAULT" = "yes" ] && [ "$(uci -q openmptcprouter.settings.defaultgw)" != "0" ] && ip route replace default scope global metric 1 via $interface_gw dev $interface_if $initcwrwnd 2>&1 >/dev/null
|
||||
ip route replace default via $interface_gw dev $interface_if table 991337 $initcwrwnd 2>&1 >/dev/null && SETROUTE=true
|
||||
[ "$SETDEFAULT" = "yes" ] && [ "$(uci -q openmptcprouter.settings.defaultgw)" != "0" ] && ip route replace default scope global metric 1 via $interface_gw dev $interface_if $initcwrwnd >/dev/null 2>&1
|
||||
ip route replace default via $interface_gw dev $interface_if table 991337 $initcwrwnd >/dev/null 2>&1 && SETROUTE=true
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -101,8 +103,8 @@ set_route6() {
|
|||
fi
|
||||
if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -n "$(echo $interface_gw | grep ':')" ]; then
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "$PREVINTERFACE down. Replace default route by $interface_gw dev $interface_if"
|
||||
[ "$SETDEFAULT" = "yes" ] && [ "$(uci -q openmptcprouter.settings.defaultgw)" != "0" ] && ip -6 route replace default scope metric 1 global nexthop via $interface_gw dev $interface_if 2>&1 >/dev/null
|
||||
ip -6 route replace default via $interface_gw dev $interface_if table 991337 2>&1 >/dev/null && SETROUTE=true
|
||||
[ "$SETDEFAULT" = "yes" ] && [ "$(uci -q openmptcprouter.settings.defaultgw)" != "0" ] && ip -6 route replace default scope metric 1 global nexthop via $interface_gw dev $interface_if >/dev/null 2>&1
|
||||
ip -6 route replace default via $interface_gw dev $interface_if table 991337 >/dev/null 2>&1 && SETROUTE=true
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -127,7 +129,7 @@ set_server_default_route() {
|
|||
if [ "$(ip r show $serverip | grep nexthop)" != "" ]; then
|
||||
ip r delete $serverip >/dev/null 2>&1
|
||||
fi
|
||||
ip route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric 1 $initcwrwnd 2>&1 >/dev/null
|
||||
ip route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric 1 $initcwrwnd >/dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
config_list_foreach $server ip server_route
|
||||
|
@ -153,7 +155,7 @@ set_server_default_route6() {
|
|||
if [ "$(ip -6 r show $serverip | grep nexthop)" != "" ]; then
|
||||
ip -6 r delete $serverip >/dev/null 2>&1
|
||||
fi
|
||||
ip -6 route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric 1 2>&1 >/dev/null
|
||||
ip -6 route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric 1 >/dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
config_list_foreach $server ip server_route
|
||||
|
@ -204,12 +206,12 @@ set_routes_intf() {
|
|||
[ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device)
|
||||
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname)
|
||||
[ -n "$(echo $interface_if | grep '@')" ] && ifname=$(ifstatus "$INTERFACE" | jsonfilter -q -e '@["device"]')
|
||||
[ -n "$(echo $interface_if | grep '@')" ] && interface_if=$(ifstatus "$INTERFACE" | jsonfilter -q -e '@["device"]')
|
||||
interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]')
|
||||
#multipath_current_config=$(multipath $interface_if | grep 'deactivated')
|
||||
interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up")
|
||||
interface_vpn=$(uci -q get openmptcprouter.$INTERFACE.vpn || echo "0")
|
||||
if ([ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]) && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_if" != "" ] && [ "$interface_up" = "true" ]; then
|
||||
if { [ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]; } && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_if" != "" ] && [ "$interface_up" = "true" ]; then
|
||||
interface_gw="$(uci -q get network.$INTERFACE.gateway)"
|
||||
if [ -z "$interface_gw" ]; then
|
||||
interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n")
|
||||
|
@ -266,7 +268,7 @@ set_routes_intf6() {
|
|||
#multipath_current_config=$(multipath $interface_if | grep 'deactivated')
|
||||
interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up")
|
||||
interface_vpn=$(uci -q get openmptcprouter.$INTERFACE.vpn || echo "0")
|
||||
if ([ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]) && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_if" != "" ] && [ "$interface_up" = "true" ]; then
|
||||
if { [ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]; } && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_if" != "" ] && [ "$interface_up" = "true" ]; then
|
||||
interface_gw="$(uci -q get network.$INTERFACE.ip6gw)"
|
||||
interface_ip6="$(uci -q get network.$INTERFACE.ip6)"
|
||||
if [ -z "$interface_gw" ]; then
|
||||
|
@ -338,7 +340,7 @@ set_route_balancing() {
|
|||
interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]')
|
||||
interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up")
|
||||
interface_vpn=$(uci -q get openmptcprouter.$INTERFACE.vpn || echo "0")
|
||||
if ([ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]) && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then
|
||||
if { [ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]; } && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then
|
||||
interface_gw="$(uci -q get network.$INTERFACE.gateway)"
|
||||
if [ -z "$interface_gw" ]; then
|
||||
interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n")
|
||||
|
@ -397,7 +399,7 @@ set_route_balancing6() {
|
|||
interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]')
|
||||
interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up")
|
||||
interface_vpn=$(uci -q get openmptcprouter.$INTERFACE.vpn || echo "0")
|
||||
if ([ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]) && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then
|
||||
if { [ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]; } && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then
|
||||
interface_gw="$(uci -q get network.$INTERFACE.gateway)"
|
||||
interface_ip6="$(uci -q get network.$INTERFACE.ip6)"
|
||||
if [ -z "$interface_gw" ]; then
|
||||
|
@ -484,17 +486,17 @@ set_server_all_routes() {
|
|||
config_foreach set_routes_intf interface
|
||||
uintf="$(echo $routesintf | awk '{print $5}')"
|
||||
uintfb="$(echo $routesintfbackup | awk '{print $5}')"
|
||||
if [ -n "$routesintf" ] && ([ "$nbintf" -gt "1" ] && [ "$(ip r show $serverip metric 1 | tr -d '\t' | tr -d '\n' | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" != "$(echo $serverip $routesintf | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" ]) || ([ "$nbintf" = "1" ] && [ -n "$uintf" ] && [ "$(ip r show $serverip metric 1 | grep $uintf)" = "" ]); then
|
||||
if [ -n "$routesintf" ] && { [ "$nbintf" -gt "1" ] && [ "$(ip r show $serverip metric 1 | tr -d '\t' | tr -d '\n' | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" != "$(echo $serverip $routesintf | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" ]; } || { [ "$nbintf" = "1" ] && [ -n "$uintf" ] && [ "$(ip r show $serverip metric 1 | grep $uintf)" = "" ]; }; then
|
||||
while [ "$(ip r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "$serverip" ] && [ "$(ip r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "" ]; do
|
||||
ip r del $serverip
|
||||
done
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) default route $serverip $routesintf"
|
||||
ip route replace $serverip scope global metric 1 $routesintf 2>&1 >/dev/null
|
||||
ip route replace $serverip scope global metric 1 $routesintf >/dev/null 2>&1
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New server route is $(ip r show $serverip metric 1 | tr -d '\t' | tr -d '\n')"
|
||||
fi
|
||||
if [ -n "$routesintfbackup" ] && ([ "$nbintfb" -gt "1" ] && [ "$(ip r show $serverip metric 999 | tr -d '\t' | tr -d '\n' | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" != "$(echo $serverip $routesintfbackup | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" ]) || ([ "$nbintfb" = "1" ] && [ -n "$uintfb" ] && [ "$(ip r show $serverip metric 999 | grep $uintfb)" = "" ]); then
|
||||
if [ -n "$routesintfbackup" ] && { [ "$nbintfb" -gt "1" ] && [ "$(ip r show $serverip metric 999 | tr -d '\t' | tr -d '\n' | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" != "$(echo $serverip $routesintfbackup | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" ]; } || { [ "$nbintfb" = "1" ] && [ -n "$uintfb" ] && [ "$(ip r show $serverip metric 999 | grep $uintfb)" = "" ]; }; then
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) backup default route $serverip $routesintfbackup nbintfb $nbintfb $OMR_TRACKER_DEVICE"
|
||||
ip route replace $serverip scope global metric 999 $routesintfbackup 2>&1 >/dev/null
|
||||
ip route replace $serverip scope global metric 999 $routesintfbackup >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -532,17 +534,17 @@ set_server_all_routes6() {
|
|||
config_foreach set_routes_intf6 interface
|
||||
uintf="$(echo $routesintf6 | awk '{print $5}')"
|
||||
uintfb="$(echo $routesintfbackup6 | awk '{print $5}')"
|
||||
if [ -n "$routesintf6" ] && ([ "$nbintf6" -gt "1" ] && [ "$(ip -6 r show $serverip metric 1 | tr -d '\t' | sort | tr -d '\n' | sed 's/ *$//')" != "$(echo $serverip $routesintf6 | sort | sed 's/ *$//')" ]) || ([ "$nbintf6" = "1" ] && [ -n "$uintf" ] && [ "$(ip -6 r show $serverip metric 1 | grep $uintf)" = "" ]); then
|
||||
if [ -n "$routesintf6" ] && { [ "$nbintf6" -gt "1" ] && [ "$(ip -6 r show $serverip metric 1 | tr -d '\t' | sort | tr -d '\n' | sed 's/ *$//')" != "$(echo $serverip $routesintf6 | sort | sed 's/ *$//')" ]; } || { [ "$nbintf6" = "1" ] && [ -n "$uintf" ] && [ "$(ip -6 r show $serverip metric 1 | grep $uintf)" = "" ]; }; then
|
||||
while [ "$(ip -6 r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "$serverip" ] && [ "$(ip -6 r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "" ]; do
|
||||
ip -6 r del $serverip
|
||||
done
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) default route $serverip $routesintf6"
|
||||
ip -6 route replace $serverip scope global metric 1 $routesintf6 2>&1 >/dev/null
|
||||
ip -6 route replace $serverip scope global metric 1 $routesintf6 >/dev/null 2>&1
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New server route is $(ip -6 r show $serverip metric 1 | tr -d '\t' | tr -d '\n')"
|
||||
fi
|
||||
if [ -n "$routesintfbackup6" ] && ([ "$nbintfb6" -gt "1" ] && [ "$(ip -6 r show $serverip metric 999 | tr -d '\t' | tr -d '\n')" != "$serverip $routesintfbackup6 " ]) || ([ "$nbintfb6" = "1" ] && [ -n "$uintfb" ] && [ "$(ip -6 r show $serverip metric 999 | grep $uintfb)" = "" ]); then
|
||||
if [ -n "$routesintfbackup6" ] && { [ "$nbintfb6" -gt "1" ] && [ "$(ip -6 r show $serverip metric 999 | tr -d '\t' | tr -d '\n')" != "$serverip $routesintfbackup6 " ]; } || { [ "$nbintfb6" = "1" ] && [ -n "$uintfb" ] && [ "$(ip -6 r show $serverip metric 999 | grep $uintfb)" = "" ]; }; then
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) backup default route $serverip $routesintfbackup6 nbintfb $nbintfb6 $OMR_TRACKER_DEVICE"
|
||||
ip -6 route replace $serverip scope global metric 999 $routesintfbackup6 2>&1 >/dev/null
|
||||
ip -6 route replace $serverip scope global metric 999 $routesintfbackup6 >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -581,12 +583,12 @@ set_server_route() {
|
|||
#if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$multipath_current_config" = "" ]; then
|
||||
if [ "$serverip" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) route via $OMR_TRACKER_DEVICE_GATEWAY metric $metric"
|
||||
ip route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric $initcwrwnd 2>&1 >/dev/null
|
||||
ip route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric $initcwrwnd >/dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
config_list_foreach $server ip server_route
|
||||
if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ -n "$metric" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep default | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then
|
||||
ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric $initcwrwnd 2>&1 >/dev/null
|
||||
ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric $initcwrwnd >/dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -619,12 +621,12 @@ set_server_route6() {
|
|||
#if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ "$(ip -6 route show dev $OMR_TRACKER_DEVICE metric $metric | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$multipath_current_config" = "" ]; then
|
||||
if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip -6 route show dev $OMR_TRACKER_DEVICE metric $metric | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY6)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) route via $OMR_TRACKER_DEVICE_GATEWAY metric $metric"
|
||||
ip -6 route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric $metric 2>&1 >/dev/null
|
||||
ip -6 route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
config_list_foreach $server ip server_route
|
||||
if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ "$(ip -6 route show dev $OMR_TRACKER_DEVICE metric $metric | grep default | grep $OMR_TRACKER_DEVICE_GATEWAY6)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then
|
||||
ip -6 route replace default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric $metric 2>&1 >/dev/null
|
||||
ip -6 route replace default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -686,7 +688,7 @@ disable_pihole() {
|
|||
commit dhcp
|
||||
EOF
|
||||
fi
|
||||
/etc/init.d/dnsmasq restart 2>&1 >/dev/null
|
||||
/etc/init.d/dnsmasq restart >/dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -712,8 +714,6 @@ dns_flush() {
|
|||
|
||||
# Get the current multipath status
|
||||
multipath_status="off"
|
||||
[ "$OMR_TRACKER_INTERFACE" = "omrvpn" ] && multipath $OMR_TRACKER_DEVICE off 2>&1 >/dev/null
|
||||
[ "$OMR_TRACKER_INTERFACE" = "omr6in4" ] && multipath $OMR_TRACKER_DEVICE off 2>&1 >/dev/null
|
||||
if [ -e "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then
|
||||
case "$(multipath "$OMR_TRACKER_DEVICE")" in
|
||||
*default*) multipath_status="on" ;;
|
||||
|
@ -735,7 +735,7 @@ interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e
|
|||
|
||||
if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$OMR_TRACKER_INTERFACE" != "omr6in4" ]; then
|
||||
metric="$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)"
|
||||
if [ -z "$metric" ] || ([ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -z "$(ip route show table $metric | grep $OMR_TRACKER_DEVICE)" ]) || ([ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ -z "$(ip -6 route show table 6${metric} | grep $OMR_TRACKER_DEVICE)" ]); then
|
||||
if [ -z "$metric" ] || { [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -z "$(ip route show table $metric | grep $OMR_TRACKER_DEVICE)" ]; } || { [ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ -z "$(ip -6 route show table 6${metric} | grep $OMR_TRACKER_DEVICE)" ]; }; then
|
||||
_log "Routes not correctly set for $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE table $metric) with IPs $OMR_TRACKER_DEVICE_IP $OMR_TRACKER_DEVICE_IP6"
|
||||
/etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE"
|
||||
/etc/init.d/omr-tracker restart
|
||||
|
@ -753,21 +753,21 @@ if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "om
|
|||
/etc/init.d/shadowsocks-libev rules_up >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
if ([ "$default_gw" != "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]) && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ]; then
|
||||
if { [ "$default_gw" != "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]; } && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ]; then
|
||||
_log "Tunnel up : Replace default route by $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE (was $default_gw)"
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Default gw : $default_gw - Current route: $(ip r)"
|
||||
ip route replace default scope global via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE $initcwrwnd 2>&1 >/dev/null
|
||||
ip route replace default scope global via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE $initcwrwnd >/dev/null 2>&1
|
||||
if [ "$(pgrep -f openmptcprouter-vps)" = "" ]; then
|
||||
/etc/init.d/openmptcprouter-vps restart >/dev/null 2>&1 &
|
||||
fi
|
||||
[ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && conntrack -D -p udp 2>&1 >/dev/null
|
||||
[ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && conntrack -D -p udp >/dev/null 2>&1
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New route: $(ip r)"
|
||||
fi
|
||||
|
||||
# Set VPN MTU
|
||||
if [ -n "$OMR_TRACKER_LATENCY" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ]); then
|
||||
if [ -n "$OMR_TRACKER_LATENCY" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && { [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ]; }; then
|
||||
_log "Set VPN MTU"
|
||||
local serverip=$(uci -q get shadowsocks-libev.sss0.server)
|
||||
serverip=$(uci -q get shadowsocks-libev.sss0.server)
|
||||
[ -z "$serverip" ] && serverip=$(uci -q get shadowsocks-rust.sss0.server)
|
||||
[ -z "$serverip" ] && serverip=$(uci -q get v2ray.omrout.s_vless_address)
|
||||
[ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')"
|
||||
|
@ -786,7 +786,7 @@ if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "om
|
|||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s")
|
||||
elif [ -z "$(uci -q get openmptcprouter.${OMR_TRACKER_INTERFACE}.mtu)" ] && [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
|
||||
if [ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ]; then
|
||||
local mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP $serverip)
|
||||
mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP $serverip)
|
||||
#local mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP 8.8.8.8)
|
||||
[ -n "$mtu" ] && {
|
||||
uci -q set openmptcprouter.${OMR_TRACKER_INTERFACE}.mtu=$mtu
|
||||
|
@ -794,7 +794,7 @@ if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "om
|
|||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s")
|
||||
}
|
||||
else
|
||||
local mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP 1.1.1.1)
|
||||
mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP 1.1.1.1)
|
||||
[ -n "$mtu" ] && {
|
||||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mtu=$mtu
|
||||
ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
|
||||
|
@ -814,7 +814,7 @@ if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "om
|
|||
config_load openmptcprouter
|
||||
config_foreach enable_pihole server
|
||||
#config_foreach delete_server_default_route server
|
||||
[ "$nbserver" = "$piholeenabled" ] && /etc/init.d/openmptcprouter-vps set_pihole 2>&1 >/dev/null
|
||||
[ "$nbserver" = "$piholeenabled" ] && /etc/init.d/openmptcprouter-vps set_pihole >/dev/null 2>&1
|
||||
#ubus call network reload
|
||||
exit 0
|
||||
fi
|
||||
|
@ -863,12 +863,12 @@ fi
|
|||
|
||||
if [ "$multipath_config" = "master" ]; then
|
||||
#if ([ "$default_gw" != "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]) && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && ([ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ] || [ "$(uci -q get openmptcprouter.settings.vpn)" = "mlvpn" ]); then
|
||||
if ([ "$default_gw" != "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]) && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ]; then
|
||||
if { [ "$default_gw" != "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]; } && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ]; then
|
||||
omrvpn_intf=$(uci -q get "network.omrvpn.device" || echo "tun0")
|
||||
[ -z "$omrvpn_intf" ] && omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun0")
|
||||
if [ -n "$omrvpn_intf" ] && [ "$(ip route show default metric 0 | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ] && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then
|
||||
_log "Master up : Replace default route by $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE"
|
||||
ip route replace default scope global metric 1 via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE $initcwrwnd 2>&1 >/dev/null
|
||||
ip route replace default scope global metric 1 via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE $initcwrwnd >/dev/null 2>&1
|
||||
fi
|
||||
config_load openmptcprouter
|
||||
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ]; then
|
||||
|
@ -877,14 +877,14 @@ if [ "$multipath_config" = "master" ]; then
|
|||
config_foreach set_server_default_route server
|
||||
#config_foreach set_server_default_route6 server
|
||||
fi
|
||||
ip route flush cache 2>&1 >/dev/null
|
||||
ip route flush cache >/dev/null 2>&1
|
||||
fi
|
||||
if ([ "$default_gw6" != "$OMR_TRACKER_DEVICE_GATEWAY6" ] || [ "$default_gw6" = "" ]) && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ]; then
|
||||
if { [ "$default_gw6" != "$OMR_TRACKER_DEVICE_GATEWAY6" ] || [ "$default_gw6" = "" ]; } && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ]; then
|
||||
omrvpn_intf=$(uci -q get "network.omrvpn.device" || echo "tun0")
|
||||
[ -z "$omrvpn_intf" ] && omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun0")
|
||||
if [ -n "$omrvpn_intf" ] && [ "$(ip route show default | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ] && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then
|
||||
_log "Master up : Replace default route by $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE"
|
||||
ip -6 route replace default scope global nexthop via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE 2>&1 >/dev/null
|
||||
ip -6 route replace default scope global nexthop via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE >/dev/null 2>&1
|
||||
fi
|
||||
config_load openmptcprouter
|
||||
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ]; then
|
||||
|
@ -893,10 +893,11 @@ if [ "$multipath_config" = "master" ]; then
|
|||
#config_foreach set_server_default_route server
|
||||
config_foreach set_server_default_route6 server
|
||||
fi
|
||||
ip -6 route flush cache 2>&1 >/dev/null
|
||||
ip -6 route flush cache >/dev/null 2>&1
|
||||
fi
|
||||
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ] && [ "$(ip route show default | grep weight)" = "" ] && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ "$(uci -q get openmptcprouter.settings.vpn)" != "mlvpn" ]; then
|
||||
if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ] && (([ -n "$OMR_TRACKER_DEVICE_IP" ] && [ "$(ip route show default | grep weight)" = "" ]) || ([ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ "$(ip -6 route show default | grep weight)" = "" ])) && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then
|
||||
if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ] &&
|
||||
{ { [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ "$(ip route show default | grep weight)" = "" ]; } || { [ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ "$(ip -6 route show default | grep weight)" = "" ]; }; } && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then
|
||||
omrvpn_intf=$(uci -q get "network.omrvpn.device" || echo "tun0")
|
||||
[ -z "$omrvpn_intf" ] && omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun0")
|
||||
if [ -n "$omrvpn_intf" ] && [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ "$(ip route show default metric 0 | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ]; then
|
||||
|
@ -910,29 +911,29 @@ if [ "$multipath_config" = "master" ]; then
|
|||
config_foreach set_route_balancing interface
|
||||
#config_foreach set_route_balancing6 interface
|
||||
[ -n "$routesbalancing" ] && {
|
||||
([ "$nbintf" -gt "1" ] && [ "$(ip r show default metric 1 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "default via $routesbalancing" ] && [ "$(ip r show default metric 1 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "default $routesbalancing" ]) || ([ "$nbintf" = "1" ] && ([ "$(ip r show default metric 1 | grep $OMR_TRACKER_DEVICE)" = "" ] || ([ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ])) && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && {
|
||||
{ [ "$nbintf" -gt "1" ] && [ "$(ip r show default metric 1 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "default via $routesbalancing" ] && [ "$(ip r show default metric 1 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "default $routesbalancing" ]; } || { [ "$nbintf" = "1" ] && { [ "$(ip r show default metric 1 | grep $OMR_TRACKER_DEVICE)" = "" ] || { [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ]; }; } && [ -n "$OMR_TRACKER_DEVICE_IP" ]; } && {
|
||||
_log "Change in routes, set ip route replace default scope global $routesbalancing (omrvpn_intf: $omrvpn_intf)"
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Current route: $(ip r)"
|
||||
ip route replace default scope global metric 1 $routesbalancing 2>&1 >/dev/null
|
||||
ip route replace default scope global metric 1 $routesbalancing >/dev/null 2>&1
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New route: $(ip r)"
|
||||
}
|
||||
}
|
||||
#[ -n "$routesbalancing6" ] && {
|
||||
# ([ "$nbintf6" -gt "1" ] && [ "$(ip -6 r show default metric 1 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancing6 " ]) || ([ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 1 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]) && {
|
||||
# _log "Set ip -6 route replace default scope global metric 1 $routesbalancing6"
|
||||
# ip -6 route replace default scope global metric 1 $routesbalancing6 2>&1 >/dev/null
|
||||
# ip -6 route replace default scope global metric 1 $routesbalancing6 >/dev/null 2>&1
|
||||
# }
|
||||
#}
|
||||
[ -n "$routesbalancingbackup" ] && {
|
||||
([ "$nbintfb" -gt "1" ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup " ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default $routesbalancingbackup " ]) || ([ "$nbintf" = "1" ] && ([ "$(ip r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] || ([ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ])) && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && {
|
||||
{ [ "$nbintfb" -gt "1" ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup " ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default $routesbalancingbackup " ]; } || { [ "$nbintf" = "1" ] && { [ "$(ip r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] || { [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ]; }; } && [ -n "$OMR_TRACKER_DEVICE_IP" ]; } && {
|
||||
_log "Set backup ip route replace default scope global metric 999 $routesbalancingbackup"
|
||||
ip route replace default scope global metric 999 $routesbalancingbackup 2>&1 >/dev/null
|
||||
ip route replace default scope global metric 999 $routesbalancingbackup >/dev/null 2>&1
|
||||
}
|
||||
}
|
||||
#[ -n "$routesbalancingbackup6" ] && {
|
||||
# ([ "$nbintfb6" -gt "1" ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup6 " ]) || ([ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]) && {
|
||||
# _log "Set backup ip -6 route replace default scope global $routesbalancingbackup6"
|
||||
# ip -6 route replace default scope global metric 999 $routesbalancingbackup6 2>&1 >/dev/null
|
||||
# ip -6 route replace default scope global metric 999 $routesbalancingbackup6 >/dev/null 2>&1
|
||||
# }
|
||||
#}
|
||||
elif [ -n "$omrvpn_intf" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ "$(ip -6 route show default | grep -v metric | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ]; then
|
||||
|
@ -943,30 +944,30 @@ if [ "$multipath_config" = "master" ]; then
|
|||
config_load network
|
||||
config_foreach set_route_balancing6 interface
|
||||
[ -n "$routesbalancing6" ] && {
|
||||
([ "$nbintf6" -gt "1" ] && [ "$(ip -6 r show default metric 1 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancing6 " ] && [ "$(ip -6 r show default metric 1 | tr -d '\t' | tr -d '\n')" != "default $routesbalancing6 " ]) || ([ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 1 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ "$(ip -6 r show default metric 1 | grep omr6in4)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]) && {
|
||||
{ [ "$nbintf6" -gt "1" ] && [ "$(ip -6 r show default metric 1 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancing6 " ] && [ "$(ip -6 r show default metric 1 | tr -d '\t' | tr -d '\n')" != "default $routesbalancing6 " ]; } || { [ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 1 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ "$(ip -6 r show default metric 1 | grep omr6in4)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]; } && {
|
||||
_log "Set ip -6 route replace default scope global metric 1 $routesbalancing6"
|
||||
ip -6 route replace default scope global metric 1 $routesbalancing6 2>&1 >/dev/null
|
||||
ip -6 route replace default scope global metric 1 $routesbalancing6 >/dev/null 2>&1
|
||||
}
|
||||
}
|
||||
[ -n "$routesbalancingbackup6" ] && {
|
||||
([ "$nbintfb6" -gt "1" ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup6 " ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default $routesbalancingbackup6 " ]) || ([ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]) && {
|
||||
{ [ "$nbintfb6" -gt "1" ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup6 " ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default $routesbalancingbackup6 " ]; } || { [ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]; } && {
|
||||
_log "Set backup ip -6 route replace default scope global $routesbalancingbackup6"
|
||||
ip -6 route replace default scope global metric 999 $routesbalancingbackup6 2>&1 >/dev/null
|
||||
ip -6 route replace default scope global metric 999 $routesbalancingbackup6 >/dev/null 2>&1
|
||||
}
|
||||
}
|
||||
fi
|
||||
#ip route flush cache 2>&1 >/dev/null
|
||||
#ip -6 route flush cache 2>&1 >/dev/null
|
||||
#ip route flush cache >/dev/null 2>&1
|
||||
#ip -6 route flush cache >/dev/null 2>&1
|
||||
fi
|
||||
if [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip r show table 991337)" != "default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE " ]; then
|
||||
ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE table 991337 $initcwrwnd 2>&1 >/dev/null
|
||||
#ip route flush cache 2>&1 >/dev/null
|
||||
ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE table 991337 $initcwrwnd >/dev/null 2>&1
|
||||
#ip route flush cache >/dev/null 2>&1
|
||||
fi
|
||||
if [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip -6 r show table 991337)" != "default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE " ]; then
|
||||
ip -6 route replace default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE table 991337 $initcwrwnd 2>&1 >/dev/null
|
||||
#ip -6 route flush cache 2>&1 >/dev/null
|
||||
ip -6 route replace default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE table 991337 $initcwrwnd >/dev/null 2>&1
|
||||
#ip -6 route flush cache >/dev/null 2>&1
|
||||
fi
|
||||
if ([ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ]) || [ $(($(date +"%s") + $((10 + RANDOM % 10)) - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ] || [ "$(uci -q show openmptcprouter | grep get_config=\'1\')" != "" ] || [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" != "" ]; then
|
||||
if { [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ]; } || [ $(($(date +"%s") + $((10 + RANDOM % 10)) - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ] || [ "$(uci -q show openmptcprouter | grep get_config=\'1\')" != "" ] || [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" != "" ]; then
|
||||
[ "$(pgrep -f openmptcprouter-vps)" = "" ] && {
|
||||
/etc/init.d/openmptcprouter-vps restart >/dev/null 2>&1 &
|
||||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s")
|
||||
|
@ -987,7 +988,7 @@ if [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ]; then
|
|||
if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip r show dev $OMR_TRACKER_DEVICE | grep default)" = "" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)" != "" ]; then
|
||||
_log "Interface route not yet set, set route ip r add default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $(uci -q get network.$OMR_TRACKER_INTERFACE.metric)"
|
||||
ip r add default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $(uci -q get network.$OMR_TRACKER_INTERFACE.metric) >/dev/null 2>&1
|
||||
ip route flush cache 2>&1 >/dev/null
|
||||
ip route flush cache >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
if [ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ]; then
|
||||
|
@ -1000,11 +1001,11 @@ if [ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ]; th
|
|||
fi
|
||||
if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip -6 r show dev $OMR_TRACKER_DEVICE | grep default)" = "" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)" != "" ]; then
|
||||
ip -6 r replace default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric 6$(uci -q get network.$OMR_TRACKER_INTERFACE.metric) >/dev/null 2>&1
|
||||
ip -6 route flush cache 2>&1 >/dev/null
|
||||
ip -6 route flush cache >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$multipath_config" = "on" ] || [ "$multipath_config" = "backup" ]); then
|
||||
if [ -n "$OMR_TRACKER_INTERFACE" ] && { [ "$multipath_config" = "on" ] || [ "$multipath_config" = "backup" ]; }; then
|
||||
download="$(uci -q get network.$OMR_TRACKER_INTERFACE.downloadspeed)"
|
||||
[ -z "$download" ] && download="$(uci -q get sqm.$OMR_TRACKER_INTERFACE.download)"
|
||||
upload="$(uci -q get network.$OMR_TRACKER_INTERFACE.uploadspeed)"
|
||||
|
@ -1039,15 +1040,15 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$multipath_config" = "on" ] || [ "$mul
|
|||
serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')"
|
||||
if [ "$download" != "0" ] && [ "$download" != "" ] && [ "$upload" != "0" ] && [ "$upload" != "" ]; then
|
||||
if [ "$(uci -q get glorytun-udp.vpn.rateauto)" = "1" ]; then
|
||||
glorytun-udp path addr $OMR_TRACKER_DEVICE_IP6 to addr $serverip port ${gtudp_port} dev ${gtudp_dev} set up rate auto tx $((upload*1000)) rx $((download*1000)) pref 1 > /dev/null 2>&1
|
||||
glorytun-udp path addr "$OMR_TRACKER_DEVICE_IP6" to addr "$serverip" port ${gtudp_port} dev ${gtudp_dev} set up rate auto tx $((upload*1000)) rx $((download*1000)) pref 1 > /dev/null 2>&1
|
||||
else
|
||||
glorytun-udp path addr $OMR_TRACKER_DEVICE_IP6 to addr $serverip port ${gtudp_port} dev ${gtudp_dev} set up rate fixed tx $((upload*1000)) rx $((download*1000)) pref 1 > /dev/null 2>&1
|
||||
glorytun-udp path addr "$OMR_TRACKER_DEVICE_IP6" to addr "$serverip" port ${gtudp_port} dev ${gtudp_dev} set up rate fixed tx $((upload*1000)) rx $((download*1000)) pref 1 > /dev/null 2>&1
|
||||
fi
|
||||
else
|
||||
if [ "$(uci -q get glorytun-udp.vpn.rateauto)" = "1" ]; then
|
||||
glorytun-udp path addr $OMR_TRACKER_DEVICE_IP6 to addr $serverip port ${gtudp_port} dev ${gtudp_dev} set up rate auto tx 12500000 rx 12500000 pref 1 > /dev/null 2>&1
|
||||
glorytun-udp path addr "$OMR_TRACKER_DEVICE_IP6" to addr "$serverip" port ${gtudp_port} dev ${gtudp_dev} set up rate auto tx 12500000 rx 12500000 pref 1 > /dev/null 2>&1
|
||||
else
|
||||
glorytun-udp path addr $OMR_TRACKER_DEVICE_IP6 to addr $serverip port ${gtudp_port} dev ${gtudp_dev} set up rate fixed tx 12500000 rx 12500000 pref 1 > /dev/null 2>&1
|
||||
glorytun-udp path addr "$OMR_TRACKER_DEVICE_IP6" to addr "$serverip" port ${gtudp_port} dev ${gtudp_dev} set up rate fixed tx 12500000 rx 12500000 pref 1 > /dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
|
||||
#
|
||||
|
@ -11,10 +12,10 @@ interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e
|
|||
[ "$interface_up" != "true" ] && exit 0
|
||||
|
||||
# Save wan settings for status page
|
||||
if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") + $((30 + RANDOM % 10)) - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ] || [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state)" = "down" ]); then
|
||||
if [ -n "$OMR_TRACKER_INTERFACE" ] && { [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") + $((30 + RANDOM % 10)) - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ] || [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state)" = "down" ]; }; then
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Get status and settings for $OMR_TRACKER_INTERFACE..."
|
||||
local ipaddr=""
|
||||
local ip6addr=""
|
||||
ipaddr=""
|
||||
ip6addr=""
|
||||
if [ "$(uci -q get openmptcprouter.settings.external_check)" != "0" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" != "1" ]; then
|
||||
[ -n "$OMR_TRACKER_DEVICE_IP" ] && ipaddr="$(omr-ip-intf $OMR_TRACKER_DEVICE)"
|
||||
[ -n "$OMR_TRACKER_DEVICE_IP6" ] && ip6addr="$(omr-ip6-intf $OMR_TRACKER_DEVICE)"
|
||||
|
@ -24,11 +25,11 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
fi
|
||||
[ -n "$ipaddr" ] && {
|
||||
# Check if we can get a IPv6 address, if yes enable RA else disable
|
||||
#local check_ipv6_website="$(uci -q get openmptcprouter.settings.check_ipv6_website)"
|
||||
#check_ipv6_website="$(uci -q get openmptcprouter.settings.check_ipv6_website)"
|
||||
#[ -z "$check_ipv6_website" ] && check_ipv6_website="http://ipv6.openmptcprouter.com/"
|
||||
#local ip6addr="$(curl -s -6 -m 2 $check_ipv6_website)"
|
||||
#ip6addr="$(curl -s -6 -m 2 $check_ipv6_website)"
|
||||
#[ -z "$ip6addr" ] && {
|
||||
# local ip6addr="$(curl -s -6 -m 2 http://ifconfig.me/)"
|
||||
# ip6addr="$(curl -s -6 -m 2 http://ifconfig.me/)"
|
||||
#}
|
||||
#if [ "$(uci -q get openmptcprouter.settings.ipv6_disable)" = "0" ]; then
|
||||
# if [ -n "$ip6addr" ] && [ "$(uci -q get dhcp.lan.ra_default)" != 1 ]; then
|
||||
|
@ -47,16 +48,16 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
# fi
|
||||
#fi
|
||||
if [ "$(uci -q get openmptcprouter.settings.external_check)" != "0" ]; then
|
||||
#local asn="$(wget -4 -qO- -T 4 http://api.iptoasn.com/v1/as/ip/$ipaddr | jsonfilter -q -e '@.as_description')"
|
||||
#asn="$(wget -4 -qO- -T 4 http://api.iptoasn.com/v1/as/ip/$ipaddr | jsonfilter -q -e '@.as_description')"
|
||||
#[ -z "$asn" ] && {
|
||||
local asn="$(timeout 2 whois $ipaddr 2>/dev/null | grep -m 1 -i 'netname' | awk '{print $2}')"
|
||||
asn="$(timeout 2 whois $ipaddr 2>/dev/null | grep -m 1 -i 'netname' | awk '{print $2}')"
|
||||
#}
|
||||
fi
|
||||
[ -z "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE)" ] && {
|
||||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE=interface
|
||||
}
|
||||
if [ "$(uci -q get openmptcprouter.latest_versions.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.latest_versions.lc))) -gt 3600 ]; then
|
||||
local latestversions="$(curl -4 -s -m 3 https://www.openmptcprouter.com/version/version.json)"
|
||||
latestversions="$(curl -4 -s -m 3 https://www.openmptcprouter.com/version/version.json)"
|
||||
[ -n "$latestversions" ] && {
|
||||
uci -q set openmptcprouter.latest_versions=latest_versions
|
||||
uci -q set openmptcprouter.latest_versions.omr=$(echo $latestversions | jsonfilter -q -e '@.omr')-$(ubus call system board | jsonfilter -e '@.kernel' | cut -d'.' -f1,2)
|
||||
|
@ -74,7 +75,7 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.publicip="$ipaddr"
|
||||
/etc/init.d/mptcp enabled && {
|
||||
_log "Reload MPTCP for $OMR_TRACKER_DEVICE"
|
||||
/etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE" 2>&1 >/dev/null
|
||||
/etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE" >/dev/null 2>&1
|
||||
}
|
||||
}
|
||||
[ -n "$OMR_TRACKER_LATENCY" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.latency="$OMR_TRACKER_LATENCY"
|
||||
|
@ -83,8 +84,8 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
}
|
||||
|
||||
# Routing loop detection
|
||||
local lanip="$(uci -q get network.lan.ipaddr)"
|
||||
local masterip
|
||||
lanip="$(uci -q get network.lan.ipaddr)"
|
||||
masterip
|
||||
get_master_ip() {
|
||||
if [ -n "$1" ] && [ "$(uci -q get openmptcprouter.$1.multipath)" = "master" ]; then
|
||||
masterip="$(uci -q get openmptcprouter.$1.publicip)"
|
||||
|
@ -96,7 +97,7 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
loop=0
|
||||
routingloop() {
|
||||
vpsip=""
|
||||
[ -n "$1"] && vpsip="$(uci -q get openmptcprouter.$1.ip)"
|
||||
[ -n "$1" ] && vpsip="$(uci -q get openmptcprouter.$1.ip)"
|
||||
if [ -n "$vpsip" ] && [ "$(omr-routing-loop $vpsip $lanip $OMR_TRACKER_DEVICE)" = "detected" ]; then
|
||||
loop=1
|
||||
fi
|
||||
|
@ -112,10 +113,10 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
uci -q delete openmptcprouter.$OMR_TRACKER_INTERFACE.loop
|
||||
fi
|
||||
|
||||
local omrtracebox
|
||||
omrtracebox=""
|
||||
traceboxmtutest() {
|
||||
omr_tracebox_mtu() {
|
||||
local serverip=$1
|
||||
serverip=$1
|
||||
[ "$serverip" != "${1#*[0-9].[0-9]}" ] && serverip=""
|
||||
[ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ] && [ "$(pgrep -f tracebox)" = "" ] && [ "$(uci -q get openmptcprouter.settings.tracebox)" != "0" ] && {
|
||||
omrtracebox="$(omr-tracebox-mptcp $serverip $OMR_TRACKER_DEVICE)"
|
||||
|
@ -132,8 +133,8 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
|
||||
}
|
||||
elif [ -n "$OMR_TRACKER_DEVICE_IP" ]; then
|
||||
[ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ] && {
|
||||
local mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP $serverip)
|
||||
if [ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ]; then
|
||||
mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP $serverip)
|
||||
[ -n "$mtu" ] && [ "$mtu" != "$(ip --json link show dev $OMR_TRACKER_DEVICE | jsonfilter -e '@[0].mtu' | tr -d '\n')" ] && {
|
||||
mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP $serverip)
|
||||
[ -n "$mtu" ] && [ "$mtu" != "$(ip --json link show dev $OMR_TRACKER_DEVICE | jsonfilter -e '@[0].mtu' | tr -d '\n')" ] && {
|
||||
|
@ -141,8 +142,8 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
|
||||
}
|
||||
}
|
||||
} || {
|
||||
local mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP 1.1.1.1)
|
||||
else
|
||||
mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP 1.1.1.1)
|
||||
[ -n "$mtu" ] && [ "$mtu" != "$(ip --json link show dev $OMR_TRACKER_DEVICE | jsonfilter -e '@[0].mtu' | tr -d '\n')" ] && {
|
||||
mtu=$(omr-mtu $OMR_TRACKER_DEVICE_IP $serverip)
|
||||
[ -n "$mtu" ] && [ "$mtu" != "$(ip --json link show dev $OMR_TRACKER_DEVICE | jsonfilter -e '@[0].mtu' | tr -d '\n')" ] && {
|
||||
|
@ -150,7 +151,7 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
|
||||
}
|
||||
}
|
||||
}
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -167,13 +168,13 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
}
|
||||
[ -n "$ip6addr" ] && {
|
||||
if [ "$(uci -q get openmptcprouter.settings.external_check)" != "0" ]; then
|
||||
local asn="$(whois $ip6addr 2>/dev/null | grep -m 1 -i 'netname' | awk '{print $2}')"
|
||||
asn="$(whois $ip6addr 2>/dev/null | grep -m 1 -i 'netname' | awk '{print $2}')"
|
||||
fi
|
||||
[ -z "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE)" ] && {
|
||||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE=interface
|
||||
}
|
||||
if [ "$(uci -q get openmptcprouter.latest_versions.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.latest_versions.lc))) -gt 3600 ]; then
|
||||
local latestversions="$(curl -6 -s -m 3 https://www.openmptcprouter.com/version/version.json)"
|
||||
latestversions="$(curl -6 -s -m 3 https://www.openmptcprouter.com/version/version.json)"
|
||||
[ -n "$latestversions" ] && {
|
||||
uci -q set openmptcprouter.latest_versions=latest_versions
|
||||
uci -q set openmptcprouter.latest_versions.omr=$(echo $latestversions | jsonfilter -q -e '@.omr')
|
||||
|
@ -185,7 +186,7 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
_log "New public ip detected for $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE): $ip6addr"
|
||||
/etc/init.d/mptcp enabled && {
|
||||
_log "Reload MPTCP for $OMR_TRACKER_DEVICE"
|
||||
/etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE" 2>&1 >/dev/null
|
||||
/etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE" >/dev/null 2>&1
|
||||
}
|
||||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.publicip="$ip6addr"
|
||||
}
|
||||
|
@ -193,7 +194,7 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
[ -n "$asn" ] && {
|
||||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.asn="$asn"
|
||||
}
|
||||
local omrtracebox
|
||||
omrtracebox=""
|
||||
traceboxmtutest() {
|
||||
omr_tracebox_mtu() {
|
||||
local serverip=$1
|
||||
|
@ -212,19 +213,19 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
|
||||
}
|
||||
elif [ -n "$OMR_TRACKER_DEVICE_IP" ]; then
|
||||
[ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ] && {
|
||||
local mtu=$(omr-mtu6 $OMR_TRACKER_DEVICE_IP6 $serverip)
|
||||
if [ -n "$serverip" ] && [ "$serverip" != "127.0.0.1" ]; then
|
||||
mtu=$(omr-mtu6 $OMR_TRACKER_DEVICE_IP6 $serverip)
|
||||
[ -n "$mtu" ] && {
|
||||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mtu=$mtu
|
||||
ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
|
||||
}
|
||||
} || {
|
||||
local mtu=$(omr-mtu6 $OMR_TRACKER_DEVICE_IP6 2606:4700:4700::1111)
|
||||
else
|
||||
mtu=$(omr-mtu6 $OMR_TRACKER_DEVICE_IP6 2606:4700:4700::1111)
|
||||
[ -n "$mtu" ] && {
|
||||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.mtu=$mtu
|
||||
ip link set dev $OMR_TRACKER_DEVICE mtu $mtu > /dev/null 2>&1
|
||||
}
|
||||
}
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -236,7 +237,7 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s")
|
||||
}
|
||||
if [ "$(uci -q get shadowsocks-libev.sss0.server)" != "" ] && [ "$(uci -q get openmptcprouter.settings.external_check)" = "0" ]; then
|
||||
if ping -B -I $OMR_TRACKER_DEVICE -c 1 $(uci -q get shadowsocks-libev.sss0.server) 2>&1 >/dev/null; then
|
||||
if ping -B -I $OMR_TRACKER_DEVICE -c 1 $(uci -q get shadowsocks-libev.sss0.server) >/dev/null 2>&1; then
|
||||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s")
|
||||
fi
|
||||
fi
|
||||
|
@ -266,7 +267,7 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC
|
|||
else
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Get status and settings for $OMR_TRACKER_INTERFACE... Done"
|
||||
[ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter
|
||||
if [ "$(pgrep -f openmptcprouter-vps)" = "" ] && ( [ "$(uci -q get openmptcprouter.settings.apilc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.settings.apilc))) -gt 3600 ] ); then
|
||||
if [ "$(pgrep -f openmptcprouter-vps)" = "" ] && { [ "$(uci -q get openmptcprouter.settings.apilc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.settings.apilc))) -gt 3600 ]; }; then
|
||||
_log "Check API configuration..."
|
||||
/etc/init.d/openmptcprouter-vps restart >/dev/null 2>&1 &
|
||||
uci -q set openmptcprouter.settings.apilc=$(date +"%s")
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
|
||||
#
|
||||
|
@ -15,15 +16,15 @@ interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e
|
|||
uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.latency="$OMR_TRACKER_LATENCY"
|
||||
#[ -z "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.latency_max)" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.latency_max="$OMR_TRACKER_LATENCY"
|
||||
#[ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.latency_max)" -lt "$OMR_TRACKER_LATENCY" ] && uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.latency_max="$OMR_TRACKER_LATENCY"
|
||||
if [ "$multipath_config" = "on" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath)" != "master" ] && ([ "$(uci -q get openmptcprouter.settings.master)" = "dynamic" ] || ( ( [ "$(uci -q get openmptcprouter.settings.master)" = "change" ] || [ "$(uci -q get openmptcprouter.settings.master)" = "" ] ) && [ "$(uci -q get openmptcprouter.settings.master_lcintf | grep $OMR_TRACKER_INTERFACE)" = "" ] ) ); then
|
||||
if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath)" = "on" ] && { [ "$(uci -q get openmptcprouter.settings.master)" = "dynamic" ] || { { [ "$(uci -q get openmptcprouter.settings.master)" = "change" ] || [ "$(uci -q get openmptcprouter.settings.master)" = "" ]; } && [ "$(uci -q get openmptcprouter.settings.master_lcintf | grep $OMR_TRACKER_INTERFACE)" = "" ]; }; }; then
|
||||
masterintf="$(uci -q show openmptcprouter | grep -m 1 multipath=\'master\' | cut -d'.' -f2)"
|
||||
[ -z "$masterintf" ] && masterintf="$(uci -q show network | grep -m 1 multipath=\'master\' | cut -d'.' -f2)"
|
||||
masterlatency="$(uci -q get openmptcprouter.$masterintf.latency | tr -d '\n')"
|
||||
if [ -z "$masterlatency" ] || ([ -n "$masterintf" ] && [ "$(uci -q get openmptcprouter.$masterintf.state)" = "down" ]); then
|
||||
if [ -z "$masterlatency" ] || { [ -n "$masterintf" ] && [ "$(uci -q get openmptcprouter.$masterintf.state)" = "down" ]; }; then
|
||||
masterlatency=1000
|
||||
fi
|
||||
if [ -n "$masterintf" ] && ([ "$masterlatency" != "" ] || [ "$(uci -q get openmptcprouter.$masterintf.state)" = "down" ]); then
|
||||
if ( ( [ "$(uci -q get openmptcprouter.settings.master)" = "change" ] || [ "$(uci -q get openmptcprouter.settings.master)" = "" ] ) && [ "$OMR_TRACKER_LATENCY" -lt $(awk "BEGIN {printf \"%i\",${masterlatency}/1.5}") ] ) || ( [ "$(uci -q get openmptcprouter.settings.master)" = "dynamic" ] && [ "$OMR_TRACKER_LATENCY" -lt "$((masterlatency/2))" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.latency_previous)" -lt "$((masterlatency/2))" ] ); then
|
||||
if [ -n "$masterintf" ] && { [ "$masterlatency" != "" ] || [ "$(uci -q get openmptcprouter.$masterintf.state)" = "down" ]; }; then
|
||||
if { { [ "$(uci -q get openmptcprouter.settings.master)" = "change" ] || [ "$(uci -q get openmptcprouter.settings.master)" = "" ]; } && [ "$OMR_TRACKER_LATENCY" -lt $(awk "BEGIN {printf \"%i\",${masterlatency}/1.5}") ]; } || { [ "$(uci -q get openmptcprouter.settings.master)" = "dynamic" ] && [ "$OMR_TRACKER_LATENCY" -lt "$((masterlatency/2))" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.latency_previous)" -lt "$((masterlatency/2))" ]; }; then
|
||||
uci -q set network.$masterintf.multipath='on'
|
||||
uci -q set openmptcprouter.$masterintf.multipath='on'
|
||||
uci -q set network.$OMR_TRACKER_INTERFACE.multipath='master'
|
||||
|
@ -49,13 +50,13 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
|
|||
addlatency=$(uci -q get network.${OMR_TRACKER_INTERFACE}.addlatency)
|
||||
[ -z "$addlatency" ] && addlatency="0"
|
||||
if [ "$addlatency" = "0" ] && [ "$(tc qdisc show dev $OMR_TRACKER_DEVICE | grep delay)" != "" ]; then
|
||||
tc qdisc del dev ${OMR_TRACKER_DEVICE} root netem 2>&1 >/dev/null
|
||||
tc qdisc del dev ${OMR_TRACKER_DEVICE} root netem >/dev/null 2>&1
|
||||
fi
|
||||
if [ "$addlatency" != "0" ]; then
|
||||
if [ "$(tc qdisc show dev $OMR_TRACKER_DEVICE | grep delay)" = "" ]; then
|
||||
tc qdisc add dev ${OMR_TRACKER_DEVICE} root netem delay ${addlatency}ms 2>&1 >/dev/null
|
||||
tc qdisc add dev ${OMR_TRACKER_DEVICE} root netem delay ${addlatency}ms >/dev/null 2>&1
|
||||
elif [ "$(tc qdisc show dev $OMR_TRACKER_DEVICE | awk '/delay/ { print $10 }' | sed 's/ms//')" != "$addlatency" ]; then
|
||||
tc qdisc replace dev ${OMR_TRACKER_DEVICE} root netem delay ${addlatency}ms 2>&1 >/dev/null
|
||||
tc qdisc replace dev ${OMR_TRACKER_DEVICE} root netem delay ${addlatency}ms >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
|
||||
#
|
||||
|
|
|
@ -17,7 +17,7 @@ ss_rules_fw_drop() {
|
|||
while IFS=$"\n" read -r c; do
|
||||
fwrule=$(echo "$c" | sed 's/reject/REDIRECT --to-ports 65535/')
|
||||
if [ -n "$fwrule" ] && [ -z "$($IPTABLESSAVE 2>/dev/null | grep zone_lan_prerouting | grep '${fwrule}')" ]; then
|
||||
eval "$IPTABLES-w -t nat -A zone_lan_prerouting ${fwrule} 2>&1 >/dev/null"
|
||||
eval "$IPTABLES-w -t nat -A zone_lan_prerouting ${fwrule} >/dev/null 2>&1"
|
||||
fw=$((fw+1))
|
||||
fi
|
||||
done
|
||||
|
@ -25,7 +25,7 @@ ss_rules_fw_drop() {
|
|||
while IFS=$"\n" read -r c; do
|
||||
fwrule=$(echo "$c" | sed 's/DROP/REDIRECT --to-ports 65535/')
|
||||
if [ -n "$fwrule" ] && [ -z "$($IPTABLESSAVE 2>/dev/null | grep zone_lan_prerouting | grep '${fwrule}')" ]; then
|
||||
eval "$IPTABLES-w -t nat -A zone_lan_prerouting ${fwrule} 2>&1 >/dev/null"
|
||||
eval "$IPTABLES-w -t nat -A zone_lan_prerouting ${fwrule} >/dev/null 2>&1"
|
||||
fw=$((fw+1))
|
||||
fi
|
||||
done
|
||||
|
@ -36,7 +36,7 @@ ss_rules6_fw_drop() {
|
|||
while IFS=$"\n" read -r c; do
|
||||
fwrule=$(echo "$c" | sed 's/reject/REDIRECT --to-ports 65535/')
|
||||
if [ -n "$fwrule" ] && [ -z "$($IPTABLESSAVE 2>/dev/null | grep zone_lan_prerouting | grep '${fwrule}')" ]; then
|
||||
eval "$IP6TABLES-w -t nat -A zone_lan_prerouting ${fwrule} 2>&1 >/dev/null"
|
||||
eval "$IP6TABLES-w -t nat -A zone_lan_prerouting ${fwrule} >/dev/null 2>&1"
|
||||
fw=$((fw+1))
|
||||
fi
|
||||
done
|
||||
|
@ -44,7 +44,7 @@ ss_rules6_fw_drop() {
|
|||
while IFS=$"\n" read -r c; do
|
||||
fwrule=$(echo "$c" | sed 's/DROP/REDIRECT --to-ports 65535/')
|
||||
if [ -n "$fwrule" ] && [ -z "$($IPTABLESSAVE 2>/dev/null | grep zone_lan_prerouting | grep '${fwrule}')" ]; then
|
||||
eval "$IP6TABLES-w -t nat -A zone_lan_prerouting ${fwrule} 2>&1 >/dev/null"
|
||||
eval "$IP6TABLES-w -t nat -A zone_lan_prerouting ${fwrule} >/dev/null 2>&1"
|
||||
fw=$((fw+1))
|
||||
fi
|
||||
done
|
||||
|
@ -55,7 +55,7 @@ v2r_rules_fw_drop() {
|
|||
while IFS=$"\n" read -r c; do
|
||||
fwrule=$(echo "$c" | sed 's/reject/REDIRECT --to-ports 65535/')
|
||||
if [ -n "$fwrule" ] && [ -z "$($IPTABLESSAVE 2>/dev/null | grep zone_lan_prerouting | grep '${fwrule}')" ]; then
|
||||
eval "$IPTABLES-w -t nat -I zone_lan_prerouting 1 ${fwrule} 2>&1 >/dev/null"
|
||||
eval "$IPTABLES-w -t nat -I zone_lan_prerouting 1 ${fwrule} >/dev/null 2>&1"
|
||||
fw=$((fw+1))
|
||||
fi
|
||||
done
|
||||
|
@ -63,7 +63,7 @@ v2r_rules_fw_drop() {
|
|||
while IFS=$"\n" read -r c; do
|
||||
fwrule=$(echo "$c" | sed 's/DROP/REDIRECT --to-ports 65535/')
|
||||
if [ -n "$fwrule" ] && [ -z "$($IPTABLESSAVE 2>/dev/null | grep zone_lan_prerouting | grep '${fwrule}')" ]; then
|
||||
eval "$IPTABLES-w -t nat -I zone_lan_prerouting 1 ${fwrule} 2>&1 >/dev/null"
|
||||
eval "$IPTABLES-w -t nat -I zone_lan_prerouting 1 ${fwrule} >/dev/null 2>&1"
|
||||
fw=$((fw+1))
|
||||
fi
|
||||
done
|
||||
|
@ -74,14 +74,14 @@ v2ray_rules6_fw_drop() {
|
|||
while IFS=$"\n" read -r c; do
|
||||
fwrule=$(echo "$c" | sed 's/reject/REDIRECT --to-ports 65535/')
|
||||
if [ -n "$fwrule" ] && [ -z "$($IPTABLESSAVE 2>/dev/null | grep zone_lan_prerouting | grep '${fwrule}')" ]; then
|
||||
eval "$IP6TABLES-w -t nat -I zone_lan_prerouting 1 ${fwrule} 2>&1 >/dev/null"
|
||||
eval "$IP6TABLES-w -t nat -I zone_lan_prerouting 1 ${fwrule} >/dev/null 2>&1"
|
||||
fi
|
||||
done
|
||||
timeout 1 fw3 -6 print 2>/dev/null | awk '/iptables/&&/zone_lan_forward/&&/tcp/&&/-t filter/&&/-j DROP/ {for(i=6; i<=NF; i++) { printf "%s ",$i } print "\n" }' |
|
||||
while IFS=$"\n" read -r c; do
|
||||
fwrule=$(echo "$c" | sed 's/DROP/REDIRECT --to-ports 65535/')
|
||||
if [ -n "$fwrule" ] && [ -z "$($IPTABLESSAVE 2>/dev/null | grep zone_lan_prerouting | grep '${fwrule}')" ]; then
|
||||
eval "$IP6TABLES-w -t nat -I zone_lan_prerouting 1 ${fwrule} 2>&1 >/dev/null"
|
||||
eval "$IP6TABLES-w -t nat -I zone_lan_prerouting 1 ${fwrule} >/dev/null 2>&1"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
@ -97,6 +97,6 @@ elif [ -n "$(uci -q get openmptcprouter.settings.proxy | grep v2ray)" ] || [ -n
|
|||
v2ray_rules6_fw_drop
|
||||
fi
|
||||
rule=$(timeout 1 fw3 -4 print | grep 'A PREROUTING' | grep zone_lan_prerouting | sed 's/-A PREROUTING/-D PREROUTING/')
|
||||
eval "$rule 2>&1 >/dev/null"
|
||||
eval "$rule >/dev/null 2>&1"
|
||||
newrule=$(echo "$rule" | sed 's/-D PREROUTING/-I PREROUTING 1/')
|
||||
eval "$newrule 2>&1 >/dev/null"
|
||||
eval "$newrule >/dev/null 2>&1"
|
||||
|
|
|
@ -59,7 +59,7 @@ else
|
|||
fi
|
||||
if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_4 2>/dev/null)" ]; then
|
||||
for ip in $hostip; do
|
||||
nft add element inet fw4 omr_dst_bypass_all_4 { $ip } 2>&1 >/dev/null
|
||||
nft add element inet fw4 omr_dst_bypass_all_4 { $ip } >/dev/null 2>&1
|
||||
done
|
||||
fi
|
||||
if [ "$FASTTEST" = true ]; then
|
||||
|
@ -75,7 +75,7 @@ else
|
|||
fi
|
||||
if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_4 2>/dev/null)" ]; then
|
||||
for ip in $hostip; do
|
||||
nft delete element inet fw4 omr_dst_bypass_all_4 { $ip } 2>&1 >/dev/null
|
||||
nft delete element inet fw4 omr_dst_bypass_all_4 { $ip } >/dev/null 2>&1
|
||||
done
|
||||
fi
|
||||
/etc/init.d/sqm start $INTERFACE
|
||||
|
|
|
@ -39,13 +39,13 @@ if [ -n "$HOST" ] && [ -n "$PORT" ] && [ -n "$USERNAME" ] && [ -n "$PASSWORD" ];
|
|||
export SQM_VERBOSITY_MIN=10
|
||||
export SQM_VERBOSITY_MAX=0
|
||||
export SQM_SYSLOG=1
|
||||
/etc/init.d/sqm stop $INTERFACE 2>&1 >/dev/null
|
||||
#tc qdisc delete dev $INTERFACE root 2>&1 >/dev/null
|
||||
#tc qdisc delete dev ifb4$INTERFACE root 2>&1 >/dev/null
|
||||
/etc/init.d/sqm stop $INTERFACE >/dev/null 2>&1
|
||||
#tc qdisc delete dev $INTERFACE root >/dev/null 2>&1
|
||||
#tc qdisc delete dev ifb4$INTERFACE root >/dev/null 2>&1
|
||||
}
|
||||
#if [ "$(multipath ${INTERFACE} | grep default)" ]; then
|
||||
# MP=true
|
||||
# /etc/init.d/omr-tracker stop 2>&1 >/dev/null
|
||||
# /etc/init.d/omr-tracker stop >/dev/null 2>&1
|
||||
# multipath ${INTERFACE} off
|
||||
#fi
|
||||
if [ -n "$UPLOAD" ]; then
|
||||
|
@ -94,10 +94,10 @@ if [ -n "$HOST" ] && [ -n "$PORT" ] && [ -n "$USERNAME" ] && [ -n "$PASSWORD" ];
|
|||
fi
|
||||
#if [ $MP ]; then
|
||||
# multipath ${INTERFACE} on
|
||||
# /etc/init.d/omr-tracker start & 2>&1 >/dev/null
|
||||
# /etc/init.d/omr-tracker start & >/dev/null 2>&1
|
||||
#fi
|
||||
[ -z "$FASTTEST" ] && echo "Restart SQM on $INTERFACE"
|
||||
/etc/init.d/sqm start $INTERFACE 2>&1 >/dev/null
|
||||
/etc/init.d/sqm start $INTERFACE >/dev/null 2>&1
|
||||
else
|
||||
if [ "$resolve" != "${HOST}" ] || [ "$valid_ip6" != "ok" ]; then
|
||||
curl -k -o /dev/null -H "Authorization: Bearer ${KEY}" https://${HOST}:${PORT}/speedtest || echo
|
||||
|
|
|
@ -56,7 +56,7 @@ else
|
|||
fi
|
||||
if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_6 2>/dev/null)" ]; then
|
||||
for ip in $hostip; do
|
||||
nft add element inet fw4 omr_dst_bypass_all_6 { $ip } 2>&1 >/dev/null
|
||||
nft add element inet fw4 omr_dst_bypass_all_6 { $ip } >/dev/null 2>&1
|
||||
done
|
||||
fi
|
||||
if [ "$FASTTEST" = true ]; then
|
||||
|
@ -72,7 +72,7 @@ else
|
|||
fi
|
||||
if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_6 2>/dev/null)" ]; then
|
||||
for ip in $hostip; do
|
||||
nft delete element inet fw4 omr_dst_bypass_all_6 { $ip } 2>&1 >/dev/null
|
||||
nft delete element inet fw4 omr_dst_bypass_all_6 { $ip } >/dev/null 2>&1
|
||||
done
|
||||
fi
|
||||
/etc/init.d/sqm start $INTERFACE
|
||||
|
|
|
@ -27,7 +27,7 @@ include $(INCLUDE_DIR)/package.mk
|
|||
define KernelPackage/ovpn-dco-v2
|
||||
SUBMENU:=Network Support
|
||||
TITLE:=OpenVPN data channel offload
|
||||
DEPENDS:=+kmod-crypto-aead +kmod-udptunnel4 +IPV6:kmod-udptunnel6
|
||||
DEPENDS:=+kmod-crypto-aead +kmod-udptunnel4 +IPV6:kmod-udptunnel6 @!LINUX_6_10
|
||||
FILES:=$(PKG_BUILD_DIR)/drivers/net/ovpn-dco/ovpn-dco-v2.ko
|
||||
AUTOLOAD:=$(call AutoLoad,30,ovpn-dco-v2)
|
||||
endef
|
||||
|
|
|
@ -7,13 +7,13 @@ include $(TOPDIR)/rules.mk
|
|||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=r8125
|
||||
PKG_VERSION:=9.012.04-1
|
||||
PKG_VERSION:=9.013.02-2
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/awesometic/realtek-r8125-dkms/tar.gz/$(PKG_VERSION)?
|
||||
PKG_HASH:=470f02f1f3e9a12a0443128f5efd5e254e5e8e94487a5ab949724100fdca6ab4
|
||||
PKG_HASH:=eae10100680de13e8119602c50a1748b8a0669eccd61d9a4515b4c846deb3960
|
||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/realtek-$(PKG_NAME)-dkms-$(PKG_VERSION)
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
@ -25,6 +25,7 @@ define KernelPackage/r8125
|
|||
SUBMENU:=Network Devices
|
||||
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
|
||||
FILES:= $(PKG_BUILD_DIR)/src/r8125.ko
|
||||
DEPENDS:=@!LINUX_6_10
|
||||
AUTOLOAD:=$(call AutoProbe,r8125)
|
||||
endef
|
||||
|
||||
|
|
|
@ -339,7 +339,7 @@ server_state() {
|
|||
|
||||
rules_up() {
|
||||
rules_exist && {
|
||||
[ -f /bin/blocklanfw ] && /bin/blocklanfw 2>&1 >/dev/null
|
||||
[ -f /bin/blocklanfw ] && /bin/blocklanfw >/dev/null 2>&1
|
||||
return 0
|
||||
}
|
||||
[ "$(uci -q get shadowsocks-rust.ss_rules.disabled)" = "1" ] && return 0
|
||||
|
@ -359,7 +359,7 @@ rules_up() {
|
|||
logger -t "Shadowsocks-rust" "Reload omr-bypass rules"
|
||||
/etc/init.d/omr-bypass reload_rules
|
||||
}
|
||||
[ -f /bin/blocklanfw ] && /bin/blocklanfw 2>&1 >/dev/null
|
||||
[ -f /bin/blocklanfw ] && /bin/blocklanfw >/dev/null 2>&1
|
||||
}
|
||||
|
||||
rules_down() {
|
||||
|
|
|
@ -80,7 +80,7 @@ define BuildTemplate
|
|||
$$(call Package/xtables-addons)
|
||||
CATEGORY:=Network
|
||||
TITLE:=$(2) iptables extension
|
||||
DEPENDS:=iptables $(if $(4),+kmod-ipt-$(1))
|
||||
DEPENDS:=iptables $(if $(4),+kmod-ipt-$(1)) @!LINUX_6_10
|
||||
endef
|
||||
|
||||
define Package/iptables-mod-$(1)/install
|
||||
|
@ -99,7 +99,7 @@ define BuildTemplate
|
|||
define KernelPackage/ipt-$(1)
|
||||
SUBMENU:=Netfilter Extensions
|
||||
TITLE:=$(2) netfilter module
|
||||
DEPENDS:=+kmod-ipt-core $(5)
|
||||
DEPENDS:=+kmod-ipt-core $(5) @!LINUX_6_10
|
||||
FILES:=$(foreach mod,$(4),$(PKG_BUILD_DIR)/extensions/$(mod).$(LINUX_KMOD_SUFFIX))
|
||||
AUTOLOAD:=$(call AutoProbe,$(notdir $(4)))
|
||||
endef
|
||||
|
@ -114,7 +114,7 @@ define Package/iptaccount
|
|||
$(call Package/xtables-addons)
|
||||
CATEGORY:=Network
|
||||
TITLE:=iptables-mod-account control utility
|
||||
DEPENDS:=iptables +iptables-mod-account
|
||||
DEPENDS:=iptables +iptables-mod-account @!LINUX_6_10
|
||||
endef
|
||||
|
||||
define Package/iptaccount/install
|
||||
|
@ -136,7 +136,7 @@ define Package/iptasn
|
|||
DEPENDS:=iptables +iptables-mod-asn \
|
||||
+perl +perlbase-getopt +perlbase-io +perl-text-csv_xs \
|
||||
+perl-net-cidr-lite \
|
||||
+wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip
|
||||
+wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip @!LINUX_6_10
|
||||
endef
|
||||
|
||||
define Package/iptasn/config
|
||||
|
@ -172,7 +172,7 @@ define Package/iptgeoip
|
|||
DEPENDS:=iptables +iptables-mod-geoip \
|
||||
+perl +perlbase-getopt +perlbase-io +perl-text-csv_xs \
|
||||
+perl-net-cidr-lite \
|
||||
+wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip
|
||||
+wget-ssl +!BUSYBOX_CONFIG_ZCAT:gzip @!LINUX_6_10
|
||||
endef
|
||||
|
||||
define Package/iptgeoip/config
|
||||
|
|
Loading…
Reference in a new issue