diff --git a/modemmanager/files/etc/init.d/modemmanager b/modemmanager/files/etc/init.d/modemmanager index 462fe2c40..44d2ebebc 100644 --- a/modemmanager/files/etc/init.d/modemmanager +++ b/modemmanager/files/etc/init.d/modemmanager @@ -32,5 +32,6 @@ start_service() { procd_open_instance "monitor" procd_set_param command /usr/sbin/ModemManager-monitor procd_set_param respawn "${respawn_threshold:-3600}" "${respawn_timeout:-5}" "${respawn_retry:-5}" + procd_set_param nice "${nice:--10}" procd_close_instance } diff --git a/omr-tracker/files/bin/omr-tracker-server b/omr-tracker/files/bin/omr-tracker-server index a69d9e9b1..3fe9d9e34 100755 --- a/omr-tracker/files/bin/omr-tracker-server +++ b/omr-tracker/files/bin/omr-tracker-server @@ -37,6 +37,30 @@ _ping_server() { } } +_ping_server_intf() { + local host=$1 + local valid_ip6=$(valid_subnet6 "$host") + for intf in $(multipath 2>/dev/null | awk '/default/ {print $1}'); do + local k=0 + while [ "$server_ping" = false ] && [ "$k" -le "$retry" ]; do + ret=$(ping \ + -w "$OMR_TRACKER_TIMEOUT" \ + -c 1 \ + -q \ + "${host}" + -I "$intf" \ + "${host}" + ) + echo "$ret" | grep -sq " 0% packet loss" && { + server_ping=true + } + k=$((k+1)) + sleep "${intervaltries}" + done + done +} + + _check_server() { local host=$1 local port=$2 @@ -155,6 +179,9 @@ _check_master() { #_ping_server $serverip #_check_server $serverip $port _check_server_intf $serverip $port + [ "$server_ping" = false ] && { + _ping_server_intf $serverip + } [ "$server_ping" = true ] && { oneserverup="1" } @@ -265,11 +292,11 @@ _check_master() { config_foreach _get_server_name server "$ip" [ -n "$servername" ] && config_foreach _disable_redir ss_redir "$servername" "shadowsocks-rust" - if [ -n "$(uci -q get openvpn.omr.remote | grep $ip)" ]; then - uci -q batch <<-EOF >/dev/null - del_list openvpn.omr.remote="$ip" - EOF - fi + #if [ -n "$(uci -q get openvpn.omr.remote | grep $ip)" ]; then + # uci -q batch <<-EOF >/dev/null + # del_list openvpn.omr.remote="$ip" + # EOF + #fi OMR_TRACKER_STATUS_MSG="No answer to ping and to API check" @@ -350,6 +377,9 @@ _check_backup() { #_ping_server $serverip #_check_server $serverip $port _check_server_intf $serverip $port + [ "$server_ping" = false ] && { + _ping_server_intf $serverip + } [ "$server_ping" = true ] && { oneserverup="1" } diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up index 27d6e6ea3..43938c8d8 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up @@ -744,7 +744,6 @@ interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ] || [ "$OMR_TRACKER_INTERFACE" = "omr6in4" ]; then if [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ]; then uci -q set openmptcprouter.omr.vpn='up' - uci -q commit openmptcprouter fi if [ "$(uci -q get openmptcprouter.settings.shadowsocksudp)" = "1" ] && [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && [ -n "$(uci -q get shadowsocks-libev.sss0)" ] && [ "$(uci -q get shadowsocks-libev.ss_rules.redir_udp)" = "hi1" ]; then _log "Tunnel up disable use of ShadowSocks for UDP" @@ -808,8 +807,8 @@ if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "om #else # uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s") #fi - [ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter fi + [ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter nbserver=0 piholeenabled=0 config_load openmptcprouter @@ -849,7 +848,6 @@ if [ "$OMR_TRACKER_PREV_STATUS" != "" ] && [ "$OMR_TRACKER_PREV_STATUS" != "$OMR fi if [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state)" != "up" ]; then uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.state='up' - uci -q commit openmptcprouter dns_flush fi @@ -958,7 +956,7 @@ if [ "$multipath_config" = "master" ]; then [ "$(pgrep -f openmptcprouter-vps)" = "" ] && { /etc/init.d/openmptcprouter-vps restart >/dev/null 2>&1 & uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.lc=$(date +"%s") - uci -q commit openmptcprouter.$OMR_TRACKER_INTERFACE + #uci -q commit openmptcprouter.$OMR_TRACKER_INTERFACE } fi multipath_config="on" @@ -1070,4 +1068,6 @@ if [ "$(sysctl -qen net.mptcp.mptcp_enabled | tr -d '\n')" = "1" ] || [ "$(sysct fi } fi +[ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter + #ubus call network reload