mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
Merge pull request #265 from Ysurac/develop
Fix https://github.com/Ysurac/openmptcprouter/issues/2465
This commit is contained in:
commit
1dcfb749ef
3 changed files with 23 additions and 6 deletions
|
@ -584,10 +584,12 @@ function wizard_add()
|
|||
ucic:set("openmptcprouter",server,"get_config","1")
|
||||
end
|
||||
ucic:set("openmptcprouter",server,"master","1")
|
||||
ucic:set("openmptcprouter",server,"current","1")
|
||||
ucic:set("openmptcprouter",server,"backup","0")
|
||||
else
|
||||
ucic:set("openmptcprouter",server,"get_config","0")
|
||||
ucic:set("openmptcprouter",server,"master","0")
|
||||
ucic:set("openmptcprouter",server,"current","0")
|
||||
ucic:set("openmptcprouter",server,"backup","1")
|
||||
end
|
||||
if openmptcprouter_vps_disabled == "1" then
|
||||
|
|
|
@ -91,6 +91,8 @@ _check_master() {
|
|||
del openvpn.omr.remote
|
||||
add_list openvpn.omr.remote=$ip
|
||||
commit openvpn
|
||||
set openmptcprouter.vps.current='1'
|
||||
commit openmptcprouter
|
||||
EOF
|
||||
/etc/init.d/openmptcprouter-vps get_openvpn_key $name >/dev/null 2>/dev/null
|
||||
/etc/init.d/v2ray restart >/dev/null 2>/dev/null
|
||||
|
@ -99,6 +101,7 @@ _check_master() {
|
|||
/etc/init.d/mlvpn restart >/dev/null 2>/dev/null
|
||||
/etc/init.d/openvpn restart >/dev/null 2>/dev/null
|
||||
/etc/init.d/dsvpn restart >/dev/null 2>/dev/null
|
||||
/etc/init.d/mptcpovervpn restart >/dev/null 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
config_load shadowsocks-libev
|
||||
|
@ -106,6 +109,10 @@ _check_master() {
|
|||
count=$((count+1))
|
||||
else
|
||||
logger -t "OMR-Tracker-Server" "Master server ${name} down ($ip)"
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set openmptcprouter.vps.current='0'
|
||||
commit openmptcprouter
|
||||
EOF
|
||||
config_load shadowsocks-libev
|
||||
config_foreach _disable_redir ss_redir
|
||||
fi
|
||||
|
@ -162,6 +169,8 @@ _check_backup() {
|
|||
del openvpn.omr.remote
|
||||
add_list openvpn.omr.remote=$ip
|
||||
commit openvpn
|
||||
set openmptcprouter.vps.current='1'
|
||||
commit openmptcprouter
|
||||
EOF
|
||||
/etc/init.d/openmptcprouter-vps get_openvpn_key $name >/dev/null 2>/dev/null
|
||||
/etc/init.d/v2ray restart >/dev/null 2>/dev/null
|
||||
|
@ -170,6 +179,7 @@ _check_backup() {
|
|||
/etc/init.d/mlvpn restart >/dev/null 2>/dev/null
|
||||
/etc/init.d/openvpn restart >/dev/null 2>/dev/null
|
||||
/etc/init.d/dsvpn restart >/dev/null 2>/dev/null
|
||||
/etc/init.d/mptcpovervpn restart >/dev/null 2>/dev/null
|
||||
fi
|
||||
sleep $waittest
|
||||
fi
|
||||
|
@ -177,6 +187,10 @@ _check_backup() {
|
|||
config_foreach _enable_redir ss_redir
|
||||
count=$((count+1))
|
||||
else
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set openmptcprouter.vps.current='0'
|
||||
commit openmptcprouter
|
||||
EOF
|
||||
config_load shadowsocks-libev
|
||||
config_foreach _disable_redir ss_redir
|
||||
fi
|
||||
|
|
|
@ -17,7 +17,7 @@ wireguard_restart() {
|
|||
}
|
||||
|
||||
_getremoteip() {
|
||||
[ "$(uci -q get openmptcprouter.$1.master)" = "1" ] && {
|
||||
[ "$(uci -q get openmptcprouter.$1.current)" = "1" ] && {
|
||||
remoteip=$(uci -q get openmptcprouter.$1.ip | awk '{print $1}')
|
||||
wg_server_key=$(uci -q get openmptcprouter.$1.wgkey)
|
||||
}
|
||||
|
@ -27,6 +27,10 @@ mptcp_over_vpn() {
|
|||
local interface=$1
|
||||
[ -n "$(uci show firewall.zone_wan.network | grep $interface)" ] && nbintf=$(($nbintf+1))
|
||||
if [ "$(uci -q get openmptcprouter.${interface}.multipathvpn)" = "1" ]; then
|
||||
remoteip=""
|
||||
config_load openmptcprouter
|
||||
config_foreach _getremoteip server
|
||||
|
||||
if [ "$(uci -q get network.${interface})" = "" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
delete openmptcprouter.${interface}
|
||||
|
@ -47,12 +51,9 @@ mptcp_over_vpn() {
|
|||
return
|
||||
fi
|
||||
nbintfvpn=$(($nbintfvpn+1))
|
||||
if [ "$(uci -q get network.ovpn${interface})" = "" ] && [ "$vpn" = "openvpn" ]; then
|
||||
if ([ "$(uci -q get network.ovpn${interface})" = "" ] || [ "$(uci -q get openvpn.${interface}.remote)" != "${remoteip}" ]) && [ "$vpn" = "openvpn" ]; then
|
||||
logger -t "MPTCPoverVPN" "Enable MPTCP over VPN for ${interface}"
|
||||
id=$(uci -q get network.${interface}.metric)
|
||||
remoteip=""
|
||||
config_load openmptcprouter
|
||||
config_foreach _getremoteip server
|
||||
localip=$(ubus call network.interface.$interface status | jsonfilter -e '@["ipv4-address"][0].address' | tr -d "\n")
|
||||
[ -z "$(uci -q get openmptcprouter.ovpn${interface}.multipath)" ] && multipath=$(uci -q get network.${interface}.multipath)
|
||||
[ -n "$(uci -q get openmptcprouter.ovpn${interface}.multipath)" ] && multipath=$(uci -q get openmptcprouter.ovpn${interface}.multipath)
|
||||
|
@ -103,7 +104,7 @@ mptcp_over_vpn() {
|
|||
add_list firewall.zone_vpn.network="ovpn${interface}"
|
||||
commit firewall
|
||||
EOF
|
||||
elif [ "$(uci -q get network.wg${interface})" = "" ] && [ "$vpn" = "wireguard" ]; then
|
||||
elif ([ "$(uci -q get network.wg${interface})" = "" ] || [ "$(uci -q get network.@wireguard_wg${interface}[0].endpoint_host)" != "$remoteip" ]) && [ "$vpn" = "wireguard" ]; then
|
||||
logger -t "MPTCPoverVPN" "Enable MPTCP over VPN for ${interface}"
|
||||
id=$(uci -q get network.${interface}.metric)
|
||||
remoteip=""
|
||||
|
|
Loading…
Reference in a new issue