2023-08-29 08:05:22 +00:00
|
|
|
#
|
|
|
|
# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
|
|
|
|
#
|
|
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
|
|
# See /LICENSE for more information.
|
|
|
|
#
|
|
|
|
# This script check services status and do appropriate actions
|
|
|
|
|
|
|
|
# If a service is down, force restart it
|
|
|
|
if [ -f /etc/init.d/shadowsocks-libev ] && [ "$(pgrep -f omr-tracker-ss)" = "" ] && [ "$(pgrep -f ss-redir)" = "" ] && [ "$(pgrep -f ss-local)" = "" ] && [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "192.18.1.3" ] && [ "$(uci -q get shadowsocks-libev.sss0.key)" != "" ]; then
|
|
|
|
_log "Can't find Shadowsocks, restart it..."
|
|
|
|
/etc/init.d/shadowsocks-libev restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
|
|
|
fi
|
2023-10-02 19:25:23 +00:00
|
|
|
if [ -f /etc/init.d/shadowsocks-rust ] && [ "$(pgrep -f omr-tracker-ss)" = "" ] && [ "$(pgrep -f sslocal)" = "" ] && [ "$(pgrep -f sslocal)" = "" ] && [ "$(uci -q get shadowsocks-rust.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-rust.sss0.server)" != "" ] && [ "$(uci -q get shadowsocks-rust.sss0.server)" != "192.18.1.3" ] && [ "$(uci -q get shadowsocks-rust.sss0.key)" != "" ]; then
|
|
|
|
_log "Can't find Shadowsocks Rust, restart it..."
|
|
|
|
/etc/init.d/shadowsocks-rust restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
|
|
|
fi
|
2023-08-29 08:05:22 +00:00
|
|
|
if [ -f /etc/init.d/glorytun ] && [ "$(pgrep glorytun)" = "" ] && [ "$(uci -q get glorytun.vpn.enable)" = "1" ] && [ -f /etc/init.d/glorytun ] && [ "$(uci -q get glorytun.vpn.key)" != "" ]; then
|
|
|
|
_log "Can't find Glorytun, restart it..."
|
|
|
|
/etc/init.d/glorytun restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
|
|
|
fi
|
|
|
|
if [ -f /etc/init.d/glorytun-udp ] && [ "$(pgrep glorytun-udp)" = "" ] && [ "$(uci -q get glorytun-usp.vpn.enable)" = "1" ] && [ -f /etc/init.d/glorytun-udp ] && [ "$(uci -q get glorytun-udp.vpn.key)" != "" ]; then
|
|
|
|
_log "Can't find Glorytun UDP, restart it..."
|
|
|
|
/etc/init.d/glorytun-udp restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$(pgrep -f dnsmasq)" = "" ] && [ -f /etc/init.d/dnsmasq ]; then
|
|
|
|
_log "Can't find dnsmasq, restart it..."
|
|
|
|
/etc/init.d/dnsmasq restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
|
|
|
fi
|
2024-01-08 14:38:20 +00:00
|
|
|
if [ -f /etc/init.d/unbound ] && [ "$(uci -q get unbound.@unbound[0].enabled)" = "1" ]; then
|
2023-12-13 09:55:30 +00:00
|
|
|
if [ "$(pgrep -f unbound)" = "" ]; then
|
|
|
|
_log "Can't find unbound, restart it..."
|
|
|
|
/etc/init.d/unbound restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
2024-01-08 14:38:20 +00:00
|
|
|
# elif [ "$(uci -q get openmptcprouter.settings.external_check)" != "0" ] && [ "$(uci -q get unbound.ub_main.listen_port)" = "5353" ] && [ -n "$(dig +timeout=4 +tries=1 openmptcprouter.com -p 5353 | grep 'ANSWER: 0')" ]; then
|
|
|
|
# _log "Can't resolve via unbound, restart it..."
|
|
|
|
# /etc/init.d/unbound restart 2>&1 >/dev/null
|
|
|
|
# sleep 5
|
2023-12-13 09:55:30 +00:00
|
|
|
fi
|
2023-08-29 08:05:22 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$(pgrep openvpn)" = "" ] && [ -f /etc/init.d/openvpn ]; then
|
|
|
|
openvpn_enable=0
|
|
|
|
openvpn_enabled() {
|
2023-12-05 15:36:14 +00:00
|
|
|
[ "$(uci -q get openvpn.$1.enabled)" = "1" ] && [ -n "$(uci -q get openvpn.$1.ca)" ] && openvpn_enable=1
|
2023-08-29 08:05:22 +00:00
|
|
|
}
|
|
|
|
config_load openvpn
|
|
|
|
config_foreach openvpn_enabled openvpn
|
|
|
|
if [ "$openvpn_enable" = "1" ]; then
|
|
|
|
_log "Can't find OpenVPN, restart it"
|
|
|
|
/etc/init.d/openvpn restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$(pgrep mlvpn)" = "" ] && [ "$(uci -q get mlvpn.general.enable)" = "1" ] && [ -f /etc/init.d/mlvpn ] && [ "$(uci -q get mlvpn.general.password)" != "" ]; then
|
|
|
|
_log "Can't find MLVPN, restart it..."
|
|
|
|
/etc/init.d/mlvpn restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
|
|
|
fi
|
|
|
|
if [ "$(pgrep dsvpn)" = "" ] && [ "$(uci -q get dsvpn.vpn.enable)" = "1" ] && [ -f /etc/init.d/dsvpn ] && [ "$(uci -q get dsvpn.vpn.key)" != "" ]; then
|
|
|
|
_log "Can't find DSVPN, restart it..."
|
|
|
|
/etc/init.d/dsvpn restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
|
|
|
fi
|
|
|
|
if [ "$(pgrep -f v2ray)" = "" ] && [ "$(uci -q get v2ray.main.enabled)" = "1" ] && [ -f /etc/init.d/v2ray ]; then
|
|
|
|
_log "Can't find V2Ray, restart it..."
|
|
|
|
/etc/init.d/v2ray restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
|
|
|
fi
|
2023-10-02 19:25:23 +00:00
|
|
|
if [ "$(pgrep -f xray)" = "" ] && [ "$(uci -q get xray.main.enabled)" = "1" ] && [ -f /etc/init.d/xray ]; then
|
|
|
|
_log "Can't find XRay, restart it..."
|
|
|
|
/etc/init.d/xray restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
|
|
|
fi
|
2023-08-29 08:05:22 +00:00
|
|
|
if [ "$(pgrep miniupnpd)" = "" ] && [ "$(uci -q get upnpd.config.enabled)" = "1" ] && [ -f /etc/init.d/miniupnpd ]; then
|
|
|
|
_log "Can't find miniupnpd, restart it..."
|
|
|
|
/etc/init.d/miniupnpd restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$(pgrep rpcd)" = "" ] && [ -f /etc/init.d/rpcd ]; then
|
|
|
|
_log "Can't find rpcd, restart it..."
|
|
|
|
/etc/init.d/rpcd restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$(pgrep uhttpd)" = "" ] && [ -f /etc/init.d/uhttpd ]; then
|
|
|
|
_log "Can't find uhttpd, restart it..."
|
|
|
|
/etc/init.d/uhttpd restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
|
|
|
fi
|
|
|
|
|
2023-09-29 12:57:54 +00:00
|
|
|
if [ -z "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(uci -q show network | grep modemmanager)" ]; then
|
|
|
|
_log "Can't find ModemManager, restart it..."
|
|
|
|
/etc/init.d/modemmanager restart 2>&1 >/dev/null
|
|
|
|
sleep 5
|
2024-01-17 14:44:04 +00:00
|
|
|
#elif [ -n "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -z "$(uci -q show network | grep modemmanager)" ]; then
|
|
|
|
# _log "ModemManager not used, stop it..."
|
|
|
|
# /etc/init.d/modemmanager stop 2>&1 >/dev/null
|
|
|
|
# sleep 5
|
2023-09-29 12:57:54 +00:00
|
|
|
fi
|
2023-08-29 08:05:22 +00:00
|
|
|
|
|
|
|
if [ "$(uci -q get v2ray.main.enabled)" = "1" ] && [ -f /etc/init.d/v2ray ] && [ "$(pgrep -f omr-tracker-v2ray)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then
|
|
|
|
_log "Can't find omr-tracker-v2ray, restart omr-tracker..."
|
|
|
|
/etc/init.d/omr-tracker restart 2>&1 >/dev/null
|
|
|
|
fi
|
2023-10-02 19:25:23 +00:00
|
|
|
if [ "$(uci -q get xray.main.enabled)" = "1" ] && [ -f /etc/init.d/xray ] && [ "$(pgrep -f omr-tracker-xray)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then
|
|
|
|
_log "Can't find omr-tracker-xray, restart omr-tracker..."
|
|
|
|
/etc/init.d/omr-tracker restart 2>&1 >/dev/null
|
|
|
|
fi
|
2023-08-29 08:05:22 +00:00
|
|
|
|
|
|
|
set_get_config() {
|
|
|
|
local server=$1
|
|
|
|
[ -n "$server" ] && uci -q set openmptcprouter.${server}.get_config=1
|
|
|
|
}
|
|
|
|
|
2023-10-06 14:52:16 +00:00
|
|
|
if ([ -f /etc/init.d/shadowsocks-libev ] && [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-libev.sss0.key)" = "" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "192.18.1.3" ]) || ([ -f /etc/init.d/shadowsocks-rust ] && [ "$(uci -q get shadowsocks-rust.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-rust.sss0.password)" = "" ] && [ "$(uci -q get shadowsocks-rust.sss0.server)" != "" ] && [ "$(uci -q get shadowsocks-rust.sss0.server)" != "192.18.1.3" ]); then
|
2023-08-29 08:05:22 +00:00
|
|
|
config_load openmptcprouter
|
|
|
|
config_foreach set_get_config server
|
|
|
|
[ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter
|
|
|
|
fi
|
|
|
|
|
2023-11-06 20:29:20 +00:00
|
|
|
restart_omrtracker() {
|
2023-11-22 10:34:44 +00:00
|
|
|
[ -n "$(pgrep -f $1)" ] && return
|
2023-11-06 20:29:20 +00:00
|
|
|
config_get multipath "$1" multipath
|
|
|
|
config_get ifenabled "$1" auto
|
|
|
|
[ -z "$multipath" ] || [ "$multipath" = "off" ] && return
|
|
|
|
[ "$ifenabled" = "0" ] && return
|
|
|
|
/etc/init.d/omr-tracker start_interface "$1"
|
|
|
|
sleep 10
|
|
|
|
}
|
|
|
|
|
2024-01-11 10:10:53 +00:00
|
|
|
set_lan_ips() {
|
|
|
|
config_get ip4table "$1" ip4table
|
|
|
|
config_get device "$1" device
|
|
|
|
config_get proto "$1" proto
|
|
|
|
if [ "$ip4table" = "lan" ] && [ -n "$device" ] && ([ "$proto" = "dhcp" ] || [ "$proto" = "static" ]); then
|
|
|
|
[ -z "$(uci -q get shadowsocks-libev.ss_rules.ifnames | grep $device)" ] && {
|
|
|
|
uci -q add_list shadowsocks-libev.ss_rules.ifnames="$device"
|
|
|
|
uci -q add_list shadowsocks-rust.ss_rules.ifnames="$device"
|
|
|
|
}
|
|
|
|
elif [ -n "$device" ] && [ -n "$(uci -q get shadowsocks-libev.ss_rules.ifnames | grep $device)" ]; then
|
|
|
|
uci -q del_list shadowsocks-libev.ss_rules.ifnames="$device"
|
|
|
|
uci -q del_list shadowsocks-rust.ss_rules.ifnames="$device"
|
|
|
|
fi
|
|
|
|
}
|
2023-11-06 20:29:20 +00:00
|
|
|
config_load network
|
|
|
|
config_foreach restart_omrtracker interface
|
2024-01-23 17:00:31 +00:00
|
|
|
[ "$(uci -q get openmptcprouter.settings.restrict_to_lan)" = "1" ] && config_foreach set_lan_ips interface
|
2024-01-11 10:10:53 +00:00
|
|
|
uci -q commit shadowsocks-libev.ss_rules
|
|
|
|
uci -q commit shadowsocks-rust.ss_rules
|
|
|
|
multipath_fix() {
|
2023-12-10 17:50:14 +00:00
|
|
|
config_get multipath "$1" multipath
|
|
|
|
[ "$multipath" != "off" ] && return
|
|
|
|
interface="$(ifstatus $1 | jsonfilter -q -e '@.l3_device' | tr -d '\n')"
|
2024-01-11 10:10:53 +00:00
|
|
|
[ -n "$interface" ] && [ -z "$(multipath $interface | grep deactivated)" ] && /etc/init.d/mptcp reload $interface 2>&1 >/dev/null
|
2023-12-10 17:50:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
config_load network
|
|
|
|
config_foreach multipath_fix interface
|
2024-02-07 10:22:52 +00:00
|
|
|
if [ -f /etc/init.d/shadowsocks-libev ] && [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-libev.sss0.key)" != "" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "" ] && [ "$(uci -q get shadowsocks-libev.sss0.server)" != "192.168.1.3" ] && [ "$(pgrep -f omr-tracker-ss)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then
|
2023-11-22 10:34:44 +00:00
|
|
|
_log "Can't find omr-tracker-ss for Shadowsocks libev, restart omr-tracker..."
|
2023-08-29 08:05:22 +00:00
|
|
|
/etc/init.d/omr-tracker restart 2>&1 >/dev/null
|
|
|
|
fi
|
|
|
|
|
2024-02-07 10:22:52 +00:00
|
|
|
if [ -f /etc/init.d/shadowsocks-rust ] && [ "$(uci -q get shadowsocks-rust.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-rust.sss0.key)" != "" ] && [ "$(uci -q get shadowsocks-rust.sss0.server)" != "" ] && [ "$(uci -q get shadowsocks-libev.rust.server)" != "192.168.1.3" ] && [ "$(pgrep -f omr-tracker-ss)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then
|
2023-11-22 10:34:44 +00:00
|
|
|
_log "Can't find omr-tracker-ss for Shadowsocks Rust, restart omr-tracker..."
|
2023-10-02 19:25:23 +00:00
|
|
|
/etc/init.d/omr-tracker restart 2>&1 >/dev/null
|
|
|
|
fi
|
|
|
|
|
2023-08-29 08:05:22 +00:00
|
|
|
if [ "$(uci -q get glorytun.vpn.enable)" = "1" ] && [ "$(uci -q get glorytun.vpn.key)" = "" ]; then
|
|
|
|
config_load openmptcprouter
|
|
|
|
config_foreach set_get_config server
|
|
|
|
[ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$(uci -q get v2ray.main.enabled)" = "1" ] && [ "$(uci -q get v2ray.omrout.s_vless_user_id)" = "" ]; then
|
|
|
|
config_load openmptcprouter
|
|
|
|
config_foreach set_get_config server
|
|
|
|
[ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter
|
|
|
|
fi
|
|
|
|
|
2023-10-02 19:25:23 +00:00
|
|
|
if [ "$(uci -q get xray.main.enabled)" = "1" ] && [ "$(uci -q get xray.omrout.s_vless_user_id)" = "" ]; then
|
|
|
|
config_load openmptcprouter
|
|
|
|
config_foreach set_get_config server
|
|
|
|
[ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter
|
|
|
|
fi
|
|
|
|
|
2023-08-29 08:05:22 +00:00
|
|
|
if [ -n "$(logread | tail -n 2 | grep 'Ring expansion failed')" ]; then
|
|
|
|
_log "Workaround Ring expansion failed problem"
|
|
|
|
echo 1 > /sys/bus/pci/devices/0000:00:00.0/remove
|
|
|
|
sleep 2
|
|
|
|
echo 1 > /sys/bus/pci/rescan
|
|
|
|
fi
|
|
|
|
|
2024-01-08 14:38:20 +00:00
|
|
|
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
|
2023-08-29 08:05:22 +00:00
|
|
|
_log "Can't find omr-bypass rules, restart omr-bypass..."
|
2024-01-17 17:25:35 +00:00
|
|
|
/etc/init.d/omr-bypass start 2>&1 >/dev/null
|
2023-08-29 08:05:22 +00:00
|
|
|
sleep 5
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -f /etc/backup/installed_packages.txt ] && [ -n "$(grep overlay /etc/backup/installed_packages.txt)" ] && ([ "$(uci -q get openmptcprouter.settings.sysupgrade_lc)" = "" ] || [ $(($(date +"%s") + $((30 + RANDOM % 31)) - $(uci -q get openmptcprouter.settings.sysupgrade_lc))) -gt 3600 ]) && [ $(($(date +"%s") - $(stat -c "%Y" /etc/backup/installed_packages.txt))) -gt 86400 ]; then
|
|
|
|
_log "Reinstall packages..."
|
|
|
|
uci -q set openmptcprouter.settings.sysupgrade_lc=$(date +"%s")
|
|
|
|
/etc/init.d/sysupgrade restart 2>&1 >/dev/null
|
|
|
|
sleep 10
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$(pgrep -f openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep token_error=\'1\')" != "" ]; then
|
|
|
|
/etc/init.d/openmptcprouter-vps token >/dev/null 2>&1 &
|
|
|
|
sleep 5
|
|
|
|
fi
|
|
|
|
if [ "$(pgrep -f 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 [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.enabled)" = "1" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.autorate)" = "1" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -z $(pgrep -f "config.${OMR_TRACKER_INTERFACE}") ]; then
|
|
|
|
if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.max_download)" != "0" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.download)" != "0" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.max_upload)" != "0" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.upload)" != "0" ]; then
|
|
|
|
_log "Restart SQM Autorate"
|
|
|
|
/etc/init.d/sqm-autorate restart >/dev/null 2>&1
|
|
|
|
sleep 5
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2024-01-08 14:38:20 +00:00
|
|
|
#if [ "$(uci -q show openmptcprouter | grep server)" != "" ] && [ "$(uci -q show openmptcprouter | grep password)" != "" ] && [ "$(pgrep -f openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" = "" ] && ([ "$(uci -q show openmptcprouter | grep set_firewall=\'1\')" != "" ] || (([ -e /usr/sbin/iptables-nft-save ] && [ -z "$(iptables-save 2>/dev/null | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ]) || [ -z "$(iptables-save 2>/dev/null | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ])); then
|
2023-08-29 08:05:22 +00:00
|
|
|
if [ "$(pgrep -f set_vps_firewall)" = "" ] && [ "$(uci -q show openmptcprouter | grep server)" != "" ] && [ "$(uci -q show openmptcprouter | grep password)" != "" ] && [ "$(pgrep -f openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" = "" ] && [ "$(uci -q show openmptcprouter | grep set_firewall=\'1\')" != "" ]; then
|
|
|
|
check_server_fw() {
|
|
|
|
[ "$(uci -q get openmptcprouter.$1.set_firewall)" = "1" ] && {
|
|
|
|
_log "Set firewall on server $1"
|
|
|
|
/etc/init.d/openmptcprouter-vps set_vps_firewall $1 >/dev/null 2>&1
|
|
|
|
}
|
|
|
|
}
|
|
|
|
config_load openmptcprouter
|
|
|
|
config_foreach check_server_fw server
|
|
|
|
|
|
|
|
|
|
|
|
run_fw_include() {
|
|
|
|
[ -n "$1" ] && [ "$(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
|
|
|
|
/bin/blocklanfw >/dev/null 2>&1
|
|
|
|
sleep 5
|
|
|
|
fi
|