From 17c84979e2d24e7ad99c1f689d00b75f02a6583e Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 17 Jan 2024 18:25:16 +0100 Subject: [PATCH 1/5] Set restart and reload as stop/stop on proxy scripts --- omr-bypass/files/etc/init.d/omr-bypass-nft | 5 +++++ shadowsocks-libev/files/shadowsocks-libev.init-nft | 10 ++++++++++ shadowsocks-rust/files/shadowsocks-rust.init-nft | 10 ++++++++++ v2ray-core/files/etc/init.d/v2ray-nft | 10 ++++++++++ xray-core/files/etc/init.d/xray-nft | 11 +++++++++++ 5 files changed, 46 insertions(+) diff --git a/omr-bypass/files/etc/init.d/omr-bypass-nft b/omr-bypass/files/etc/init.d/omr-bypass-nft index 9e67e216c..31a2162fc 100755 --- a/omr-bypass/files/etc/init.d/omr-bypass-nft +++ b/omr-bypass/files/etc/init.d/omr-bypass-nft @@ -922,6 +922,11 @@ reload_service() { stop start } +restart_service() { + RELOAD=1 + stop + start +} reload_rules() { #[ "$( ipset -n list | grep omr_ )" = "" ] && return 0 diff --git a/shadowsocks-libev/files/shadowsocks-libev.init-nft b/shadowsocks-libev/files/shadowsocks-libev.init-nft index 89cc846b2..0abc4855d 100755 --- a/shadowsocks-libev/files/shadowsocks-libev.init-nft +++ b/shadowsocks-libev/files/shadowsocks-libev.init-nft @@ -273,6 +273,16 @@ stop_service() { rm -rf "$ss_confdir" } +restart_service() { + stop + start +} + +reload_service() { + stop + start +} + service_triggers() { procd_add_reload_interface_trigger wan procd_add_reload_trigger shadowsocks-libev diff --git a/shadowsocks-rust/files/shadowsocks-rust.init-nft b/shadowsocks-rust/files/shadowsocks-rust.init-nft index eaa60035a..c5b77740e 100755 --- a/shadowsocks-rust/files/shadowsocks-rust.init-nft +++ b/shadowsocks-rust/files/shadowsocks-rust.init-nft @@ -228,6 +228,16 @@ stop_service() { rm -rf "$ss_confdir" } +restart_service() { + stop + start +} + +reload_service() { + stop + start +} + service_triggers() { procd_add_reload_interface_trigger wan procd_add_reload_trigger shadowsocks-rust diff --git a/v2ray-core/files/etc/init.d/v2ray-nft b/v2ray-core/files/etc/init.d/v2ray-nft index 110b3c6ff..006e1428f 100755 --- a/v2ray-core/files/etc/init.d/v2ray-nft +++ b/v2ray-core/files/etc/init.d/v2ray-nft @@ -2304,6 +2304,16 @@ stop_service() { test -d "$CONFIG_FOLDER" && rm -rf "$CONFIG_FOLDER" } +restart_service() { + stop + start +} + +reload_service() { + stop + start +} + service_triggers() { procd_add_reload_trigger "$NAME" } diff --git a/xray-core/files/etc/init.d/xray-nft b/xray-core/files/etc/init.d/xray-nft index a4033ad3a..76689de1c 100755 --- a/xray-core/files/etc/init.d/xray-nft +++ b/xray-core/files/etc/init.d/xray-nft @@ -2360,6 +2360,17 @@ stop_service() { test -d "$CONFIG_FOLDER" && rm -rf "$CONFIG_FOLDER" } +restart_service() { + stop + start +} + +reload_service() { + stop + start +} + + service_triggers() { procd_add_reload_trigger "$NAME" } From a605265756616881363131d42af740b3cd9732c6 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 17 Jan 2024 18:25:35 +0100 Subject: [PATCH 2/5] Fix restart of omr-bypass in schedule --- omr-schedule/files/usr/share/omr/schedule.d/010-services | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/omr-schedule/files/usr/share/omr/schedule.d/010-services b/omr-schedule/files/usr/share/omr/schedule.d/010-services index b1976ba2a..ef220bfcd 100755 --- a/omr-schedule/files/usr/share/omr/schedule.d/010-services +++ b/omr-schedule/files/usr/share/omr/schedule.d/010-services @@ -202,7 +202,7 @@ 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 2>&1 >/dev/null + /etc/init.d/omr-bypass start 2>&1 >/dev/null sleep 5 fi From 4bdbd1a4c8dcf1cf8ef6a90d257ac2c8dfce2736 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 17 Jan 2024 18:26:00 +0100 Subject: [PATCH 3/5] Better log when new public ip detected --- mptcp/files/usr/share/omr/post-tracking.d/020-status | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mptcp/files/usr/share/omr/post-tracking.d/020-status b/mptcp/files/usr/share/omr/post-tracking.d/020-status index 3d3f28e35..a73ac1069 100755 --- a/mptcp/files/usr/share/omr/post-tracking.d/020-status +++ b/mptcp/files/usr/share/omr/post-tracking.d/020-status @@ -65,7 +65,12 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRAC } fi [ -n "$ipaddr" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.publicip)" != "$ipaddr" ] && { - _log "New public ip detected for $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE): $ipaddr (previous: $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.publicip))" + previousip="$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.publicip)" + if [ -n "$previousip" ]; then + _log "New public ip detected for $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE): $ipaddr (previous: $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.publicip))" + else + _log "New public ip detected for $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE): $ipaddr (First public IP detected)" + fi uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.publicip="$ipaddr" /etc/init.d/mptcp enabled && { _log "Reload MPTCP for $OMR_TRACKER_DEVICE" From 9d53bf202f5993272d78bb4a3389db8db55f053f Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 17 Jan 2024 18:26:33 +0100 Subject: [PATCH 4/5] Reload instead of restart of network in openmptcprouter-vps --- openmptcprouter/files/etc/init.d/openmptcprouter-vps | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index 7683774a9..8b7afd374 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -1939,7 +1939,7 @@ _set_config_from_vps() { set network.omr6in4.gateway="$omr6in4_vps_localip" commit network EOF - /etc/init.d/network restart + /etc/init.d/network reload sleep 6 fi From 83643aa07b84cc9da9c947905df19f9581a10aa8 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 17 Jan 2024 18:27:20 +0100 Subject: [PATCH 5/5] Set ping-restart parameter to 60 instead of 120 for OpenVPN --- openmptcprouter/files/etc/uci-defaults/2020-omr-vpn | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn index 334cf75d8..69c3632a7 100755 --- a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn +++ b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn @@ -46,6 +46,7 @@ if [ "$(uci -q get openvpn.omr.proto)" != "tcp-client" ]; then set openvpn.omr.rcvbuf=0 set openvpn.omr.route_delay=5 set openvpn.omr.disable_dco=1 + set openvpn.omr.ping_restart=60 commit openvpn EOF fi @@ -54,6 +55,12 @@ if [ -z "$(uci -q get openvpn.omr.disable_dco)" ]; then set openvpn.omr.disable_dco=1 commit openvpn EOF +fi +if [ -z "$(uci -q get openvpn.omr.ping_restart)" ]; then + uci -q batch <<-EOF >/dev/null + set openvpn.omr.ping_restart=60 + commit openvpn + EOF fi