From 9952f3d416ee75c632f3ca7778d7c319c175590d Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 22 Aug 2022 12:54:25 +0200 Subject: [PATCH 1/4] Fix for MPTCP over VPN --- openmptcprouter/files/etc/init.d/mptcpovervpn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter/files/etc/init.d/mptcpovervpn b/openmptcprouter/files/etc/init.d/mptcpovervpn index da3550df0..24540feb0 100755 --- a/openmptcprouter/files/etc/init.d/mptcpovervpn +++ b/openmptcprouter/files/etc/init.d/mptcpovervpn @@ -298,7 +298,7 @@ start_service() uci -q batch <<-EOF >/dev/null commit shadowsocks-libev EOF - /etc/init.d/shadowsocks restart + /etc/init.d/shadowsocks-libev restart /etc/init.d/openvpn restart elif [ "$(uci -q get shadowsocks-libev.hivpn1)" != "" ]; then for c in $(seq 1 $NBCPU); do From 4804253d45e556ff563bbbb4a7a3c66119aee12f Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 22 Aug 2022 13:37:05 +0200 Subject: [PATCH 2/4] Fix MPTCP over VPN --- openmptcprouter/files/etc/init.d/mptcpovervpn | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/openmptcprouter/files/etc/init.d/mptcpovervpn b/openmptcprouter/files/etc/init.d/mptcpovervpn index 24540feb0..8595b5f4f 100755 --- a/openmptcprouter/files/etc/init.d/mptcpovervpn +++ b/openmptcprouter/files/etc/init.d/mptcpovervpn @@ -250,7 +250,7 @@ start_service() fi elif ([ "$(uci -q get glorytun.vpn.host)" = "10.255.250.1" ] || [ "$(uci -q get glorytun.vpn.host)" = "10.255.247.1" ]) && [ "$nbintf" != "$nbintfvpn" ]; then uci -q batch <<-EOF >/dev/null - delete shadowsocks-libev.sss0.disabled + set shadowsocks-libev.sss0.disabled='0' set glorytun.vpn.host="$(uci -q get openmptcprouter.vps.ip | awk '{print $1}')" set glorytun-udp.vpn.host="$(uci -q get openmptcprouter.vps.ip | awk '{print $1}')" commit glorytun @@ -266,7 +266,7 @@ start_service() set shadowsocks-libev.mptcpovervpn.key="$(uci -q get shadowsocks-libev.sss0.key)" set shadowsocks-libev.mptcpovervpn.method="$(uci -q get shadowsocks-libev.sss0.method)" set shadowsocks-libev.mptcpovervpn.server="10.255.250.1" - delete shadowsocks-libev.mptcpovervpn.disabled + set shadowsocks-libev.mptcpovervpn.disabled='0' EOF else uci -q batch <<-EOF >/dev/null @@ -275,7 +275,7 @@ start_service() set shadowsocks-libev.mptcpovervpn.key="$(uci -q get shadowsocks-libev.sss0.key)" set shadowsocks-libev.mptcpovervpn.method="$(uci -q get shadowsocks-libev.sss0.method)" set shadowsocks-libev.mptcpovervpn.server="10.255.247.1" - delete shadowsocks-libev.mptcpovervpn.disabled + set shadowsocks-libev.mptcpovervpn.disabled='0' EOF fi for c in $(seq 1 $NBCPU); do @@ -307,7 +307,7 @@ start_service() EOF done uci -q batch <<-EOF >/dev/null - delete shadowsocks-libev.sss0.disabled + set shadowsocks-libev.sss0.disabled='0' EOF uci -q batch <<-EOF >/dev/null delete shadowsocks-libev.mptcpovervpn From 4e3e03fa43bd2c7416cf93b5b32b9c73207cf763 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 22 Aug 2022 18:42:33 +0200 Subject: [PATCH 3/4] Fix MPTCP over VPN --- openmptcprouter/files/etc/init.d/mptcpovervpn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openmptcprouter/files/etc/init.d/mptcpovervpn b/openmptcprouter/files/etc/init.d/mptcpovervpn index 8595b5f4f..500acdc12 100755 --- a/openmptcprouter/files/etc/init.d/mptcpovervpn +++ b/openmptcprouter/files/etc/init.d/mptcpovervpn @@ -248,9 +248,11 @@ start_service() commit glorytun-udp EOF fi + uci -q set shadowsocks-libev.ss_rules.server='mptcpovervpn' elif ([ "$(uci -q get glorytun.vpn.host)" = "10.255.250.1" ] || [ "$(uci -q get glorytun.vpn.host)" = "10.255.247.1" ]) && [ "$nbintf" != "$nbintfvpn" ]; then uci -q batch <<-EOF >/dev/null set shadowsocks-libev.sss0.disabled='0' + set shadowsocks-libev.ss_rules.server='sss0' set glorytun.vpn.host="$(uci -q get openmptcprouter.vps.ip | awk '{print $1}')" set glorytun-udp.vpn.host="$(uci -q get openmptcprouter.vps.ip | awk '{print $1}')" commit glorytun @@ -310,6 +312,7 @@ start_service() set shadowsocks-libev.sss0.disabled='0' EOF uci -q batch <<-EOF >/dev/null + set shadowsocks-libev.ss_rules.server='sss0' delete shadowsocks-libev.mptcpovervpn commit shadowsocks-libev EOF From 91811b555a9872c17dedf831bb1573bf531626c2 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 22 Aug 2022 20:50:19 +0200 Subject: [PATCH 4/4] More MPTCP over VPN fixes --- openmptcprouter/files/etc/init.d/mptcpovervpn | 7 +++++-- shadowsocks-libev/files/shadowsocks-libev.init | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/openmptcprouter/files/etc/init.d/mptcpovervpn b/openmptcprouter/files/etc/init.d/mptcpovervpn index 500acdc12..f192c51fa 100755 --- a/openmptcprouter/files/etc/init.d/mptcpovervpn +++ b/openmptcprouter/files/etc/init.d/mptcpovervpn @@ -248,8 +248,11 @@ start_service() commit glorytun-udp EOF fi - uci -q set shadowsocks-libev.ss_rules.server='mptcpovervpn' - elif ([ "$(uci -q get glorytun.vpn.host)" = "10.255.250.1" ] || [ "$(uci -q get glorytun.vpn.host)" = "10.255.247.1" ]) && [ "$nbintf" != "$nbintfvpn" ]; then + uci -q batch <<-EOF >/dev/null + set shadowsocks-libev.ss_rules.server='mptcpovervpn' + set shadowsocks-libev.ss_rules.redir_tcp='all' + EOF + elif ([ "$(uci -q get glorytun.vpn.host)" = "10.255.250.1" ] || [ "$(uci -q get glorytun.vpn.host)" = "10.255.247.1" ] || [ "$(uci -q get shadowsocks-libev.ss_rules.server)" != "sss0" ]) && [ "$nbintf" != "$nbintfvpn" ]; then uci -q batch <<-EOF >/dev/null set shadowsocks-libev.sss0.disabled='0' set shadowsocks-libev.ss_rules.server='sss0' diff --git a/shadowsocks-libev/files/shadowsocks-libev.init b/shadowsocks-libev/files/shadowsocks-libev.init index 427a56682..c93f03a3e 100644 --- a/shadowsocks-libev/files/shadowsocks-libev.init +++ b/shadowsocks-libev/files/shadowsocks-libev.init @@ -186,7 +186,8 @@ ss_rules() { eval "$(validate_ss_rules_section "$cfg" ss_validate_mklocal)" validate_ss_rules_section "$cfg" || return 1 - [ "$disabled" = 0 ] || return 0 + [ "$disabled" != "1" ] || return 0 + [ "$(uci -q get shadowsocks-libev.${cfgrulesserver}.disabled)" != "1" ] || return 0 if [ "$ss_rules_redir_tcp_$redir_tcp" = "all" ]; then min_ss_redir_ports="65535" max_ss_redir_ports="0"