diff --git a/luci-app-omr-bypass/root/etc/init.d/omr-bypass b/luci-app-omr-bypass/root/etc/init.d/omr-bypass index 119e8f4e5..433151599 100755 --- a/luci-app-omr-bypass/root/etc/init.d/omr-bypass +++ b/luci-app-omr-bypass/root/etc/init.d/omr-bypass @@ -808,8 +808,7 @@ stop_service() { } service_triggers() { - PROCD_RELOAD_DELAY=1000 - procd_add_reload_trigger omr-bypass network + procd_add_reload_trigger omr-bypass network firewall } reload_service() { diff --git a/luci-app-omr-bypass/root/etc/uci-defaults/41_omr-bypass b/luci-app-omr-bypass/root/etc/uci-defaults/41_omr-bypass index 6a89ee79e..37bbf4ce3 100755 --- a/luci-app-omr-bypass/root/etc/uci-defaults/41_omr-bypass +++ b/luci-app-omr-bypass/root/etc/uci-defaults/41_omr-bypass @@ -60,7 +60,7 @@ if [ "$(uci -q get firewall.omr_bypass)" = "" ]; then uci -q batch <<-EOF >/dev/null set firewall.omr_bypass=include set firewall.omr_bypass.path=/etc/firewall.omr-bypass - set firewall.omr_bypass.reload=1 + set firewall.omr_bypass.reload=0 commit firewall EOF fi diff --git a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking index 61ad14c4c..580991545 100755 --- a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking +++ b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking @@ -1340,4 +1340,20 @@ fi if [ "$(pgrep openmptcprouter-vps)" = "" ] && ([ "$(uci -q show openmptcprouter | grep get_config=\'1\')" != "" ] || [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" != "" ]); then /etc/init.d/openmptcprouter-vps restart >/dev/null 2>&1 sleep 5 +fi + +if [ "$(pgrep openmptcprouter-vps)" = "" ] && ([ "$(uci -q show openmptcprouter | grep set_firewall=\'1\')" != "" ] || [ -z "$(iptables-save | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ]); then + /etc/init.d/openmptcprouter-vps set_vps_firewall >/dev/null 2>&1 + + run_fw_include() { + [ "$(uci -q get firewall.$1.reload)" = "0" ] && sh $(uci -q get firewall.$1.path) >/dev/null 2>&1 + } + config_load firewall + config_foreach run_fw_include include + + #/etc/init.d/shadowsocks-libev rules_up >/dev/null 2>&1 + #/etc/init.d/v2ray rules_up >/dev/null 2>&1 + #/etc/init.d/omr-bypass reload_rules >/dev/null 2>&1 + #sh /etc/firewall.gre-tunnel >/dev/null 2>&1 + sleep 5 fi \ No newline at end of file diff --git a/openmptcprouter/files/etc/firewall.omr-server b/openmptcprouter/files/etc/firewall.omr-server index 0af88d7ff..4f5a33809 100644 --- a/openmptcprouter/files/etc/firewall.omr-server +++ b/openmptcprouter/files/etc/firewall.omr-server @@ -1,2 +1,15 @@ #!/bin/sh -/etc/init.d/openmptcprouter-vps set_vps_firewall + +. /lib/functions.sh + +_enable_firewall_check() { + server=$1 + uci -q batch <<-EOF + set openmptcprouter.${server}.set_firewall=1 + EOF +} + +config_load openmptcprouter +config_foreach _enable_firewall_check server +uci -q commit firewall +#/etc/init.d/openmptcprouter-vps set_vps_firewall & diff --git a/openmptcprouter/files/etc/uci-defaults/1980-omr-firewall b/openmptcprouter/files/etc/uci-defaults/1980-omr-firewall index a4483f94e..519636647 100755 --- a/openmptcprouter/files/etc/uci-defaults/1980-omr-firewall +++ b/openmptcprouter/files/etc/uci-defaults/1980-omr-firewall @@ -133,7 +133,7 @@ if [ "$(uci -q get firewall.gre_tunnel)" = "" ]; then uci -q batch <<-EOF >/dev/null set firewall.gre_tunnel=include set firewall.gre_tunnel.path=/etc/firewall.gre-tunnel - set firewall.gre_tunnel.reload=1 + set firewall.gre_tunnel.reload=0 commit firewall EOF fi diff --git a/v2ray-core/files/etc/uci-defaults/3010-omr-v2ray b/v2ray-core/files/etc/uci-defaults/3010-omr-v2ray index f0a22aff0..3676a2512 100644 --- a/v2ray-core/files/etc/uci-defaults/3010-omr-v2ray +++ b/v2ray-core/files/etc/uci-defaults/3010-omr-v2ray @@ -94,7 +94,7 @@ if [ "$(uci -q get firewall.v2ray)" = "" ]; then uci -q batch <<-EOF >/dev/null set firewall.v2ray=include set firewall.v2ray.path=/etc/firewall.v2ray-rules - set firewall.v2ray.reload=1 + set firewall.v2ray.reload=0 commit firewall EOF fi