1
0
Fork 0
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:
Ycarus (Yannick Chabanois) 2024-01-08 15:38:20 +01:00
parent 2a0beebe74
commit 80f2c3151a
6 changed files with 82 additions and 27 deletions

View file

@ -0,0 +1,242 @@
#
# 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
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
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
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 5
fi
fi
if [ "$(pgrep openvpn)" = "" ] && [ -f /etc/init.d/openvpn ]; then
openvpn_enable=0
openvpn_enabled() {
[ "$(uci -q get openvpn.$1.enabled)" = "1" ] && [ -n "$(uci -q get openvpn.$1.ca)" ] && openvpn_enable=1
}
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
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
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
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
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
_log "Can't find omr-tracker-v2ray, restart omr-tracker..."
/etc/init.d/omr-tracker restart 2>&1 >/dev/null
fi
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
set_get_config() {
local server=$1
[ -n "$server" ] && uci -q set openmptcprouter.${server}.get_config=1
}
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
config_load openmptcprouter
config_foreach set_get_config server
[ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter
fi
restart_omrtracker() {
[ -n "$(pgrep -f $1)" ] && return
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
}
config_load network
config_foreach restart_omrtracker interface
mutlipath_fix() {
config_get multipath "$1" multipath
[ "$multipath" != "off" ] && return
interface="$(ifstatus $1 | jsonfilter -q -e '@.l3_device' | tr -d '\n')"
[ -n "$interface"] && [ -z "$(multipath $interface | grep deactivated)" ] && /etc/init.d/mptcp reload $interface 2>&1 >/dev/null
}
config_load network
config_foreach multipath_fix interface
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" ] && [ "$(pgrep -f omr-tracker-ss)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then
_log "Can't find omr-tracker-ss for Shadowsocks libev, restart omr-tracker..."
/etc/init.d/omr-tracker restart 2>&1 >/dev/null
fi
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.18.1.3" ] && [ "$(pgrep -f omr-tracker-ss)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then
_log "Can't find omr-tracker-ss for Shadowsocks Rust, restart omr-tracker..."
/etc/init.d/omr-tracker restart 2>&1 >/dev/null
fi
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
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
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
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
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
#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" ] && {
_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

View 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

View file

@ -0,0 +1,130 @@
#
# 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 set lights on RUTX device
if [ -n "$(grep RUTX /etc/board.json)" ] && [ -z "$(grep RUTX50 /etc/board.json)" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
if [ "$OMR_TRACKER_DEVICE" = "wwan0" ]; then
modemdata=$(omr-modemmanager '/sys/devices/platform/soc/60f8800.usb2/6000000.dwc3/xhci-hcd.1.auto/usb3/3-1' all)
gen=$(echo $modemdata | cut -d ';' -f 5 | tr -d '\n')
if [ "$gen" = "gsm" ]; then
echo "default-on" > /sys/class/leds/mob_gen_2/trigger
echo "none" > /sys/class/leds/mob_gen_3/trigger
echo "none" > /sys/class/leds/mob_gen_4/trigger
elif [ "$gen" = "umts" ]; then
echo "none" > /sys/class/leds/mob_gen_2/trigger
echo "default-on" > /sys/class/leds/mob_gen_3/trigger
echo "none" > /sys/class/leds/mob_gen_4/trigger
elif [ "$gen" = "lte" ]; then
echo "none" > /sys/class/leds/mob_gen_2/trigger
echo "none" > /sys/class/leds/mob_gen_3/trigger
echo "default-on" > /sys/class/leds/mob_gen_4/trigger
fi
bar=$(echo $modemdata | cut -d ';' -f 1 | tr -d '\n')
if [ "$bar" -gt "0" ]; then
echo "default-on" > /sys/class/leds/mob_ssid_1/trigger
else
echo "none" > /sys/class/leds/mob_ssid_1/trigger
fi
if [ "$bar" -gt "30" ]; then
echo "default-on" > /sys/class/leds/mob_ssid_2/trigger
else
echo "none" > /sys/class/leds/mob_ssid_2/trigger
fi
if [ "$bar" -gt "50" ]; then
echo "default-on" > /sys/class/leds/mob_ssid_3/trigger
else
echo "none" > /sys/class/leds/mob_ssid_3/trigger
fi
if [ "$bar" -gt "70" ]; then
echo "default-on" > /sys/class/leds/mob_ssid_4/trigger
else
echo "none" > /sys/class/leds/mob_ssid_4/trigger
fi
if [ "$bar" -gt "90" ]; then
echo "default-on" > /sys/class/leds/mob_ssid_5/trigger
else
echo "none" > /sys/class/leds/mob_ssid_5/trigger
fi
elif [ "$OMR_TRACKER_DEVICE" = "wwan1" ]; then
modemdata=$(omr-modemmanager '/sys/devices/platform/soc/8af8800.usb3/8a00000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.2' all)
gen=$(echo $modemdata | cut -d ';' -f 5 | tr -d '\n')
if [ "$gen" = "gsm" ]; then
echo "default-on" > /sys/class/leds/mob2_gen_2/trigger
echo "none" > /sys/class/leds/mob2_gen_3/trigger
echo "none" > /sys/class/leds/mob2_gen_4/trigger
elif [ "$gen" = "umts" ]; then
echo "none" > /sys/class/leds/mob2_gen_2/trigger
echo "default-on" > /sys/class/leds/mob2_gen_3/trigger
echo "none" > /sys/class/leds/mob2_gen_4/trigger
elif [ "$gen" = "lte" ]; then
echo "none" > /sys/class/leds/mob2_gen_2/trigger
echo "none" > /sys/class/leds/mob2_gen_3/trigger
echo "default-on" > /sys/class/leds/mob2_gen_4/trigger
fi
bar=$(echo $modemdata | cut -d ';' -f 1 | tr -d '\n')
if [ "$bar" -gt "0" ]; then
echo "default-on" > /sys/class/leds/mob2_ssid_1/trigger
else
echo "none" > /sys/class/leds/mob2_ssid_1/trigger
fi
if [ "$bar" -gt "30" ]; then
echo "default-on" > /sys/class/leds/mob2_ssid_2/trigger
else
echo "none" > /sys/class/leds/mob2_ssid_2/trigger
fi
if [ "$bar" -gt "50" ]; then
echo "default-on" > /sys/class/leds/mob2_ssid_3/trigger
else
echo "none" > /sys/class/leds/mob2_ssid_3/trigger
fi
if [ "$bar" -gt "70" ]; then
echo "default-on" > /sys/class/leds/mob2_ssid_4/trigger
else
echo "none" > /sys/class/leds/mob2_ssid_4/trigger
fi
if [ "$bar" -gt "90" ]; then
echo "default-on" > /sys/class/leds/mob2_ssid_5/trigger
else
echo "none" > /sys/class/leds/mob2_ssid_5/trigger
fi
fi
fi
if [ -n "$(grep RUTX /etc/board.json)" ] && [ -n "$(grep RUTX50 /etc/board.json)" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then
if [ "$OMR_TRACKER_DEVICE" = "wwan0" ]; then
modemdata=$(omr-modemmanager '/sys/devices/platform/soc/8af8800.usb3/8a00000.dwc3/xhci-hcd.0.auto/usb2/2-1' all)
gen=$(echo $modemdata | cut -d ';' -f 5 | tr -d '\n')
if [ "$gen" = "gsm" ]; then
echo "default-on" > /sys/class/leds/green:3g/trigger
echo "none" > /sys/class/leds/green:4g/trigger
echo "none" > /sys/class/leds/green:5g/trigger
elif [ "$gen" = "umts" ]; then
echo "none" > /sys/class/leds/green:3g/trigger
echo "default-on" > /sys/class/leds/green:4g/trigger
echo "none" > /sys/class/leds/green:5g/trigger
elif [ "$gen" = "lte" ]; then
echo "none" > /sys/class/leds/green:3g/trigger
echo "none" > /sys/class/leds/green:4g/trigger
echo "default-on" > /sys/class/leds/green:5g/trigger
fi
bar=$(echo $modemdata | cut -d ';' -f 1 | tr -d '\n')
if [ "$bar" -gt "10" ]; then
echo "default-on" > /sys/class/leds/green:rssi0/trigger
else
echo "none" > /sys/class/leds/green:rssi0/trigger
fi
if [ "$bar" -gt "50" ]; then
echo "default-on" > /sys/class/leds/green:rssi1/trigger
else
echo "none" > /sys/class/leds/green:rssi1/trigger
fi
if [ "$bar" -gt "70" ]; then
echo "default-on" > /sys/class/leds/green:rssi2/trigger
else
echo "none" > /sys/class/leds/green:rssi2/trigger
fi
fi
fi