mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
Fix MPTCP over VPN with WireGuard
This commit is contained in:
parent
2e533166cc
commit
1455eec318
3 changed files with 21 additions and 3 deletions
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh /etc/rc.common
|
#!/bin/sh /etc/rc.common
|
||||||
# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
|
# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
|
||||||
|
|
||||||
START=99
|
START=98
|
||||||
STOP=10
|
STOP=10
|
||||||
USE_PROCD=1
|
USE_PROCD=1
|
||||||
EXTRA_COMMANDS="reload_rules bypass_asn"
|
EXTRA_COMMANDS="reload_rules bypass_asn"
|
||||||
|
|
|
@ -643,7 +643,7 @@ interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e
|
||||||
|
|
||||||
# An interface in error will never be used in MPTCP
|
# An interface in error will never be used in MPTCP
|
||||||
if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || [ "$interface_up" != "true" ]; then
|
if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || [ "$interface_up" != "true" ]; then
|
||||||
if [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ]; then
|
if [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "wireguard" ]; then
|
||||||
_log "No answer from $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE), restart interface"
|
_log "No answer from $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE), restart interface"
|
||||||
_log "Set $OMR_TRACKER_INTERFACE down"
|
_log "Set $OMR_TRACKER_INTERFACE down"
|
||||||
ifdown $OMR_TRACKER_INTERFACE
|
ifdown $OMR_TRACKER_INTERFACE
|
||||||
|
|
|
@ -3,11 +3,19 @@
|
||||||
# Released under GPL 3. See LICENSE for the full terms.
|
# Released under GPL 3. See LICENSE for the full terms.
|
||||||
|
|
||||||
{
|
{
|
||||||
START=70
|
START=99
|
||||||
STOP=10
|
STOP=10
|
||||||
USE_PROCD=1
|
USE_PROCD=1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wireguard_restart() {
|
||||||
|
local interface=$1
|
||||||
|
if [ "$(uci -q get network.${interface}.proto)" = "wireguard" ] && [ -n "$(uci -q get network.${interface}.fwmark)" ]; then
|
||||||
|
ifdown ${interface}
|
||||||
|
ifup ${interface}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
_getremoteip() {
|
_getremoteip() {
|
||||||
[ "$(uci -q get openmptcprouter.$1.master)" = "1" ] && {
|
[ "$(uci -q get openmptcprouter.$1.master)" = "1" ] && {
|
||||||
remoteip=$(uci -q get openmptcprouter.$1.ip | awk '{print $1}')
|
remoteip=$(uci -q get openmptcprouter.$1.ip | awk '{print $1}')
|
||||||
|
@ -271,6 +279,16 @@ start_service()
|
||||||
commit shadowsocks-libev
|
commit shadowsocks-libev
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
if [ "$BOOT" = "1" ]; then
|
||||||
|
config_load network
|
||||||
|
config_foreach wireguard_restart interface
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
boot() {
|
||||||
|
BOOT=1
|
||||||
|
start
|
||||||
}
|
}
|
||||||
|
|
||||||
service_triggers() {
|
service_triggers() {
|
||||||
|
|
Loading…
Reference in a new issue