mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Move some script to cron instead of omr-tracker
This commit is contained in:
parent
2a0beebe74
commit
80f2c3151a
6 changed files with 82 additions and 27 deletions
38
omr-schedule/Makefile
Normal file
38
omr-schedule/Makefile
Normal file
|
@ -0,0 +1,38 @@
|
|||
#
|
||||
# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=omr-schedule
|
||||
PKG_VERSION:=0.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/$(PKG_NAME)
|
||||
SECTION:=OMR
|
||||
CATEGORY:=OMR-Schedule
|
||||
DEPENDS:=$(foreach p,$(MY_DEPENDS),+$(p))
|
||||
TITLE:=OpenMPTCProuter schedule scripts
|
||||
endef
|
||||
|
||||
define Package/$(PKG_NAME)/description
|
||||
OpenMPTCProuter schedule scripts
|
||||
endef
|
||||
|
||||
define Package/$(PKG_NAME)/conffiles
|
||||
/etc/contabs/root
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/$(PKG_NAME)/install
|
||||
$(CP) ./files/* $(1)/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,$(PKG_NAME)))
|
10
omr-schedule/files/bin/omr-schedule
Executable file
10
omr-schedule/files/bin/omr-schedule
Executable file
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
for schedule_bin in /usr/share/omr/schedule.d/*; do
|
||||
[ -x "$schedule_bin" ] && (
|
||||
_log() {
|
||||
logger -t "omr-schedule-${schedule_bin##*/}" "$*"
|
||||
}
|
||||
. "$schedule_bin" 2>&1
|
||||
)
|
||||
done
|
4
omr-schedule/files/etc/uci-defaults/3000-omr-schedule
Executable file
4
omr-schedule/files/etc/uci-defaults/3000-omr-schedule
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
if [ ! -f /etc/crontabs/root ] || [ "$(cat /etc/crontabs/root | grep omr-schedule)" = "" ]; then
|
||||
echo "*/5 * * * * /bin/omr-schedule" >> /etc/crontabs/root
|
||||
fi
|
|
@ -33,15 +33,15 @@ if [ "$(pgrep -f dnsmasq)" = "" ] && [ -f /etc/init.d/dnsmasq ]; then
|
|||
/etc/init.d/dnsmasq restart 2>&1 >/dev/null
|
||||
sleep 5
|
||||
fi
|
||||
if [ -f /etc/init.d/unbound ] && [ "$(uci -q get unbound.@unbound[0].enabled)" = "1" ] && [ "$OMR_TRACKER_STATUS" != "ERROR" ]; then
|
||||
if [ -f /etc/init.d/unbound ] && [ "$(uci -q get unbound.@unbound[0].enabled)" = "1" ]; then
|
||||
if [ "$(pgrep -f unbound)" = "" ]; then
|
||||
_log "Can't find unbound, restart it..."
|
||||
/etc/init.d/unbound restart 2>&1 >/dev/null
|
||||
sleep 5
|
||||
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 20
|
||||
# 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
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -101,10 +101,10 @@ if [ -z "$(pgrep ModemManager)" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(
|
|||
_log "Can't find ModemManager, restart it..."
|
||||
/etc/init.d/modemmanager restart 2>&1 >/dev/null
|
||||
sleep 5
|
||||
#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
|
||||
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
|
||||
fi
|
||||
|
||||
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
|
||||
|
@ -137,24 +137,8 @@ restart_omrtracker() {
|
|||
sleep 10
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
config_load network
|
||||
config_foreach restart_omrtracker interface
|
||||
#config_foreach set_lan_ips interface
|
||||
|
||||
mutlipath_fix() {
|
||||
config_get multipath "$1" multipath
|
||||
|
@ -201,7 +185,7 @@ if [ -n "$(logread | tail -n 2 | grep 'Ring expansion failed')" ]; then
|
|||
echo 1 > /sys/bus/pci/rescan
|
||||
fi
|
||||
|
||||
if [ -f /etc/init.d/omr-bypass ] && [ "$(iptables-save 2>/dev/null | grep omr-bypass)" = "" ] && [ "$(pgrep -f omr-bypass)" = "" ]; then
|
||||
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
|
||||
sleep 5
|
||||
|
@ -231,7 +215,7 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get sqm.${OMR_TRACKER_INTERFAC
|
|||
fi
|
||||
fi
|
||||
|
||||
#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\')" != "" ] || [ -z "$(iptables-save 2>/dev/null | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ]); then
|
||||
#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
|
||||
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" ] && {
|
19
omr-schedule/files/usr/share/omr/schedule.d/030-bypass
Executable file
19
omr-schedule/files/usr/share/omr/schedule.d/030-bypass
Executable file
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
|
||||
bypassipvs4s=$(ipset -o save list omr_dst_bypass_srv_vpn1_4)
|
||||
[ -z "$bypassipvs4s" ] && bypassipv4s=$(nft -j list set inet fw4 "omr_dst_bypass_srv_vpn1_4" | jsonfilter -e @.nftables[1].set.elem[*].prefix | awk '{gsub(/"/,"",$3);gsub(/,/,"/",$3); print $3 $5}')
|
||||
bypassipvs6s=$(ipset -o save list omr_dst_bypass_srv_vpn1_6)
|
||||
[ -z "$bypassipvs6s" ] && bypassipv6s=$(nft -j list set inet fw4 "omr_dst_bypass_srv_vpn1_6" | jsonfilter -e @.nftables[1].set.elem[*].prefix | awk '{gsub(/"/,"",$3);gsub(/,/,"/",$3); print $3 $5}')
|
||||
#"
|
||||
vpnipv4md5=$(echo "${bypassipv4s}" | md5sum | awk '{print $1}' | tr -d "\n")
|
||||
vpnipv6md5=$(echo "${bypassipv6s}" | md5sum | awk '{print $1}' | tr -d "\n")
|
||||
if [ "$vpnipv4md5" != "$(uci -q get omr-bypass.global.vpn_ipv4_md5)" ] || [ "$vpnipv6md5" != "$(uci -q get omr-bypass.global.vpn_ipv6_md5)" ]; then
|
||||
_log "Set bypass ip on servers"
|
||||
/etc/init.d/openmptcprouter-vps set_bypass_ips
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set omr-bypass.global=global
|
||||
set omr-bypass.global.vpn_ipv4_md5=${vpnipv4md5}
|
||||
set omr-bypass.global.vpn_ipv6_md5=${vpnipv6md5}
|
||||
commit omr-bypass
|
||||
EOF
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue