mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
sync (#511)
This commit is contained in:
commit
8abd73c68f
4 changed files with 103 additions and 111 deletions
|
@ -79,6 +79,9 @@ return network.registerProtocol('modemmanager', {
|
|||
o = s.taboption('general', form.Value, 'pukcode', _('PUK'));
|
||||
o.datatype = "uinteger";
|
||||
|
||||
o = s.taboption('general', form.Value, 'plmn', _('PLMN'));
|
||||
o.datatype = "uinteger";
|
||||
|
||||
o = s.taboption('general', form.ListValue, 'auth', _('Authentication Type'));
|
||||
o.value('both', _('PAP/CHAP (both)'));
|
||||
o.value('pap', 'PAP');
|
||||
|
|
|
@ -41,7 +41,7 @@ set_route() {
|
|||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")"
|
||||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")"
|
||||
}
|
||||
network_get_device interface_if $INTERFACE
|
||||
#network_get_device interface_if $INTERFACE
|
||||
interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]')
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
|
@ -82,7 +82,7 @@ set_route6() {
|
|||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")"
|
||||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")"
|
||||
}
|
||||
network_get_device interface_if $INTERFACE
|
||||
#network_get_device interface_if $INTERFACE
|
||||
interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]')
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
|
@ -201,7 +201,7 @@ set_routes_intf() {
|
|||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")"
|
||||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")"
|
||||
}
|
||||
network_get_device interface_if $INTERFACE
|
||||
#network_get_device interface_if $INTERFACE
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
[ -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)
|
||||
|
@ -258,7 +258,7 @@ set_routes_intf6() {
|
|||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")"
|
||||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")"
|
||||
}
|
||||
network_get_device interface_if $INTERFACE
|
||||
#network_get_device interface_if $INTERFACE
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_6" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device)
|
||||
|
@ -331,7 +331,7 @@ set_route_balancing() {
|
|||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")"
|
||||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")"
|
||||
}
|
||||
network_get_device interface_if $INTERFACE
|
||||
#network_get_device interface_if $INTERFACE
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
[ -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)
|
||||
|
@ -390,7 +390,7 @@ set_route_balancing6() {
|
|||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")"
|
||||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")"
|
||||
}
|
||||
network_get_device interface_if $INTERFACE
|
||||
#network_get_device interface_if $INTERFACE
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
[ -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)
|
||||
|
@ -464,7 +464,7 @@ set_server_all_routes() {
|
|||
[ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')"
|
||||
config_get disabled $server disabled
|
||||
[ "$disabled" = "1" ] && return
|
||||
network_get_device interface_if $OMR_TRACKER_INTERFACE
|
||||
#network_get_device interface_if $OMR_TRACKER_INTERFACE
|
||||
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device)
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
|
@ -513,7 +513,7 @@ set_server_all_routes6() {
|
|||
[ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')"
|
||||
config_get disabled $server disabled
|
||||
[ "$disabled" = "1" ] && return
|
||||
network_get_device interface_if $OMR_TRACKER_INTERFACE
|
||||
#network_get_device interface_if $OMR_TRACKER_INTERFACE
|
||||
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device)
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_6" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
|
@ -571,7 +571,7 @@ set_server_route() {
|
|||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")"
|
||||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")"
|
||||
}
|
||||
network_get_device interface_if $OMR_TRACKER_INTERFACE
|
||||
#network_get_device interface_if $OMR_TRACKER_INTERFACE
|
||||
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device)
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
|
@ -609,7 +609,7 @@ set_server_route6() {
|
|||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")"
|
||||
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")"
|
||||
}
|
||||
network_get_device interface_if $OMR_TRACKER_INTERFACE
|
||||
#network_get_device interface_if $OMR_TRACKER_INTERFACE
|
||||
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device)
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
[ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_6" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
||||
|
@ -851,109 +851,95 @@ if [ -n "$OMR_TRACKER_INTERFACE" ]; then
|
|||
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
|
||||
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 >/dev/null 2>&1
|
||||
if [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ]; then
|
||||
if { [ "$default_gw" != "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]; } && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ]; 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 >/dev/null 2>&1
|
||||
fi
|
||||
config_load openmptcprouter
|
||||
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ]; then
|
||||
# config_foreach set_server_all_routes server
|
||||
if [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then
|
||||
config_foreach set_server_default_route server
|
||||
#config_foreach set_server_default_route6 server
|
||||
fi
|
||||
ip route flush cache >/dev/null 2>&1
|
||||
fi
|
||||
config_load openmptcprouter
|
||||
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ]; then
|
||||
# config_foreach set_server_all_routes server
|
||||
if [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then
|
||||
config_foreach set_server_default_route server
|
||||
#config_foreach set_server_default_route6 server
|
||||
if { [ "$default_gw6" != "$OMR_TRACKER_DEVICE_GATEWAY6" ] || [ "$default_gw6" = "" ]; } && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ]; 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 >/dev/null 2>&1
|
||||
fi
|
||||
config_load openmptcprouter
|
||||
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ]; then
|
||||
# config_foreach set_server_all_routes server
|
||||
if [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then
|
||||
#config_foreach set_server_default_route server
|
||||
config_foreach set_server_default_route6 server
|
||||
fi
|
||||
ip -6 route flush cache >/dev/null 2>&1
|
||||
fi
|
||||
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
|
||||
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 >/dev/null 2>&1
|
||||
if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ]; then
|
||||
if { { [ -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
|
||||
routesbalancing=""
|
||||
routesbalancingbackup=""
|
||||
nbintf=0
|
||||
nbintfb=0
|
||||
config_load network
|
||||
config_foreach set_route_balancing 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" ]; } && {
|
||||
_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 >/dev/null 2>&1
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New route: $(ip r)"
|
||||
}
|
||||
}
|
||||
[ -n "$routesbalancingbackup" ] && {
|
||||
{ [ "$nbintfb" -gt "1" ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "default via $routesbalancingbackup " ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "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 >/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
|
||||
routesbalancing6=""
|
||||
routesbalancingbackup6=""
|
||||
nbintf6=0
|
||||
nbintfb6=0
|
||||
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' | sed 's/ *$//')" != "default via $routesbalancing6 " ] && [ "$(ip -6 r show default metric 1 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "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 >/dev/null 2>&1
|
||||
}
|
||||
}
|
||||
[ -n "$routesbalancingbackup6" ] && {
|
||||
{ [ "$nbintfb6" -gt "1" ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "default via $routesbalancingbackup6 " ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "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 >/dev/null 2>&1
|
||||
}
|
||||
}
|
||||
fi
|
||||
#ip route flush cache >/dev/null 2>&1
|
||||
#ip -6 route flush cache >/dev/null 2>&1
|
||||
fi
|
||||
config_load openmptcprouter
|
||||
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ]; then
|
||||
# config_foreach set_server_all_routes server
|
||||
if [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then
|
||||
#config_foreach set_server_default_route server
|
||||
config_foreach set_server_default_route6 server
|
||||
fi
|
||||
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
|
||||
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
|
||||
routesbalancing=""
|
||||
routesbalancingbackup=""
|
||||
nbintf=0
|
||||
nbintfb=0
|
||||
#nbintf6=0
|
||||
#nbintfb6=0
|
||||
config_load network
|
||||
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" ]; } && {
|
||||
_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 >/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 >/dev/null 2>&1
|
||||
# }
|
||||
#}
|
||||
[ -n "$routesbalancingbackup" ] && {
|
||||
{ [ "$nbintfb" -gt "1" ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "default via $routesbalancingbackup " ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "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 >/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 >/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
|
||||
routesbalancing6=""
|
||||
routesbalancingbackup6=""
|
||||
nbintf6=0
|
||||
nbintfb6=0
|
||||
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' | sed 's/ *$//')" != "default via $routesbalancing6 " ] && [ "$(ip -6 r show default metric 1 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "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 >/dev/null 2>&1
|
||||
}
|
||||
}
|
||||
[ -n "$routesbalancingbackup6" ] && {
|
||||
{ [ "$nbintfb6" -gt "1" ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "default via $routesbalancingbackup6 " ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n' | sed 's/ *$//')" != "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 >/dev/null 2>&1
|
||||
}
|
||||
}
|
||||
fi
|
||||
#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 >/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 >/dev/null 2>&1
|
||||
ip -6 route replace default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE table 6991337 $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
|
||||
|
@ -968,7 +954,6 @@ fi
|
|||
|
||||
if [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ]; then
|
||||
config_load openmptcprouter
|
||||
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ] && [ "$(uci -q get openmptcprouter.settings.vpn)" != "mlvpn" ]; then
|
||||
if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ]; then
|
||||
config_foreach set_server_all_routes server
|
||||
elif [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then
|
||||
|
@ -982,13 +967,13 @@ if [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ]; then
|
|||
fi
|
||||
if [ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ]; then
|
||||
config_load openmptcprouter
|
||||
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ] && [ "$(uci -q get openmptcprouter.settings.vpn)" != "mlvpn" ]; then
|
||||
if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ]; then
|
||||
config_foreach set_server_all_routes6 server
|
||||
elif [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then
|
||||
config_foreach set_server_route6 server
|
||||
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
|
||||
_log "Interface route not yet set, set route ip -6 r add default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric 6$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)"
|
||||
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 >/dev/null 2>&1
|
||||
fi
|
||||
|
@ -1051,8 +1036,10 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && { [ "$multipath_config" = "on" ] || [ "$mu
|
|||
}
|
||||
config_list_foreach $1 ip addpath
|
||||
}
|
||||
config_load openmptcprouter
|
||||
config_foreach glorytunudppath server
|
||||
if [ "$(uci -q get glorytun-udp.vpn.enable)" = "1"]; then
|
||||
config_load openmptcprouter
|
||||
config_foreach glorytunudppath server
|
||||
fi
|
||||
fi
|
||||
[ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" != "1" ] && [ "$(uci -q get network.globals.mptcp_force_multipath)" != "0" ] && {
|
||||
[ "$multipath_status" = "$multipath_config" ] || {
|
||||
|
|
|
@ -163,7 +163,8 @@ ss_redir_ports() {
|
|||
port=$(uci -q get shadowsocks-libev.$1.local_port)
|
||||
server=$(uci -q get shadowsocks-libev.$1.server)
|
||||
disabled=$(uci -q get shadowsocks-libev.$1.disabled)
|
||||
if [ "$disabled" != "1" ] && ([ "$server" = "$2" ] || [ "$2" = "" ]); then
|
||||
server_disabled=$(uci -q get shadowsocks-libev.${server}.disabled)
|
||||
if [ "$disabled" != "1" ] && [ "$server_disabled" != "1" ]; then
|
||||
if [ "$port" -lt "$min_ss_redir_ports" ]; then
|
||||
min_ss_redir_ports=$port
|
||||
fi
|
||||
|
@ -195,7 +196,7 @@ ss_rules_nft_gen() {
|
|||
min_ss_redir_ports="65535"
|
||||
max_ss_redir_ports="0"
|
||||
config_load shadowsocks-libev
|
||||
config_foreach ss_redir_ports ss_redir $cfgrulesserver
|
||||
config_foreach ss_redir_ports ss_redir
|
||||
if [ "$min_ss_redir_ports" != "$max_ss_redir_ports" ]; then
|
||||
all_ss_redir_ports=$min_ss_redir_ports-$max_ss_redir_ports
|
||||
else
|
||||
|
|
|
@ -136,7 +136,8 @@ ss_redir_ports() {
|
|||
port=$(uci -q get shadowsocks-rust.$1.local_port)
|
||||
server=$(uci -q get shadowsocks-rust.$1.server)
|
||||
disabled=$(uci -q get shadowsocks-rust.$1.disabled)
|
||||
if [ "$disabled" != "1" ] && ([ "$server" = "$2" ] || [ "$2" = "" ]); then
|
||||
server_disabled=$(uci -q get shadowsocks-rust.${server}.disabled)
|
||||
if [ "$disabled" != "1" ] && [ "$server_disabled" != "1" ]; then
|
||||
if [ "$port" -lt "$min_ss_redir_ports" ]; then
|
||||
min_ss_redir_ports=$port
|
||||
fi
|
||||
|
@ -165,7 +166,7 @@ ss_rules_nft_gen() {
|
|||
min_ss_redir_ports="65535"
|
||||
max_ss_redir_ports="0"
|
||||
config_load shadowsocks-rust
|
||||
config_foreach ss_redir_ports ss_redir $cfgrulesserver
|
||||
config_foreach ss_redir_ports ss_redir
|
||||
[ "$max_ss_redir_ports" = "0" ] && return 2
|
||||
if [ "$min_ss_redir_ports" != "$max_ss_redir_ports" ]; then
|
||||
all_ss_redir_ports=$min_ss_redir_ports-$max_ss_redir_ports
|
||||
|
|
Loading…
Reference in a new issue