diff --git a/mptcp/files/etc/init.d/mptcp b/mptcp/files/etc/init.d/mptcp index bf0f967e9..6a8acac52 100755 --- a/mptcp/files/etc/init.d/mptcp +++ b/mptcp/files/etc/init.d/mptcp @@ -410,15 +410,14 @@ interface_multipath_settings() { fi if [ "$(uci -q get openmptcprouter.settings.force_multipath)" != "0" ]; then - multipath "$iface" "off" if ([ "$mode" = "master" ] || [ "$mode" = "on" ]) && [ -z "$(multipath $iface | grep default)" ]; then - logger -t "MPTCP" "Set $iface to $mode" + logger -t "MPTCP" "Set $iface to $mode from $(multipath $iface)" multipath "$iface" "on" - elif [ "$mode" = "off" ] && [ -z "$(multipath $iface | grep deactivated)" ]; then - logger -t "MPTCP" "Set $iface to $mode" + elif ([ "$mode" = "off" ] || [ -z "$mode" ]) && [ -z "$(multipath $iface | grep deactivated)" ]; then + logger -t "MPTCP" "Set $iface to $mode from $(multipath $iface)" multipath "$iface" "$mode" elif [ "$mode" = "backup" ] && [ -z "$(multipath $iface | grep backup)" ]; then - logger -t "MPTCP" "Set $iface to $mode" + logger -t "MPTCP" "Set $iface to $mode from $(multipath $iface)" multipath "$iface" "$mode" fi fi diff --git a/omr-tracker/files/bin/omr-tracker-server b/omr-tracker/files/bin/omr-tracker-server index 53c3ac4dd..d12b61604 100755 --- a/omr-tracker/files/bin/omr-tracker-server +++ b/omr-tracker/files/bin/omr-tracker-server @@ -10,6 +10,18 @@ _log() { logger -p daemon.info -t "${basename}" "$@" } +_post_tracking() { + [ ! -d /usr/share/omr/server-post-tracking.d/ ] && return + for tracker_bin in /usr/share/omr/server-post-tracking.d/*; do + [ -x "$tracker_bin" ] && ( + _log() { + logger -t "post-tracking-${tracker_bin##*/}" "$*" + } + . "$tracker_bin" 2>&1 + ) + done +} + _ping_server() { local host=$1 ret=$(ping \ @@ -132,7 +144,7 @@ _check_master() { set_ip() { ip="$serverip" if [ "$server_ping" = true ]; then - if [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ]; then + if [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ] && [ "$(uci -q get shadowsocks-rust.sss${count}.server | tr -d '\n')" != "$ip" ]; then logger -t "OMR-Tracker-Server" "Master server ${name} up ($ip), set it back" changes="1" #logger -t "OMR-Tracker-Server" "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n') - $ip" @@ -283,7 +295,7 @@ _check_backup() { ip="$serverip" #[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" = "$ip" ] && break if [ "$server_ping" = true ]; then - if [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ]; then + if [ "$(uci -q get shadowsocks-libev.sss${count}.server | tr -d '\n')" != "$ip" ] && [ "$(uci -q get shadowsocks-rust.sss${count}.server | tr -d '\n')" != "$ip" ]; then logger -t "OMR-Tracker-Server" "Use backup server $1 ($ip)" changes="1" uci -q batch <<-EOF >/dev/null diff --git a/omr-tracker/files/bin/omr-tracker-ss b/omr-tracker/files/bin/omr-tracker-ss index 829cf4dc5..058bd9d7f 100755 --- a/omr-tracker/files/bin/omr-tracker-ss +++ b/omr-tracker/files/bin/omr-tracker-ss @@ -18,6 +18,18 @@ _log() { logger -p daemon.info -t "${basename}" "$@" } +_post_tracking() { + [ ! -d /usr/share/omr/ss-post-tracking.d ] && return + for tracker_bin in /usr/share/omr/ss-post-tracking.d/*; do + [ -x "$tracker_bin" ] && ( + _log() { + logger -t "ss-post-tracking-${tracker_bin##*/}" "$*" + } + . "$tracker_bin" 2>&1 + ) + done +} + _ping_server() { local host=$1 ret=$(ping \ @@ -74,6 +86,8 @@ uci -q set openmptcprouter.omr=router uci -q delete openmptcprouter.omr.shadowsocks="" _get_ip +OMR_TRACKER_PREV_STATUS="" + while true; do host="${hosts%% *}" [ "$host" = "$hosts" ] || { @@ -116,6 +130,7 @@ while true; do fi [ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || ([ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]) && _get_ip last=0 + OMR_TRACKER_STATUS="OK" else last=$((last + 1 )) [ -z "$nocontact" ] && nocontact="$host" || nocontact="$nocontact, $host" @@ -175,6 +190,9 @@ while true; do sleep $wait_test fi } + OMR_TRACKER_STATUS="ERROR" fi + _post_tracking + OMR_TRACKER_PREV_STATUS="$OMR_TRACKER_STATUS" sleep "${interval}" done diff --git a/omr-tracker/files/bin/omr-tracker-v2ray b/omr-tracker/files/bin/omr-tracker-v2ray index 519399ce8..0ea2542b4 100755 --- a/omr-tracker/files/bin/omr-tracker-v2ray +++ b/omr-tracker/files/bin/omr-tracker-v2ray @@ -15,6 +15,18 @@ _log() { logger -p daemon.info -t "${basename}" "$@" } +_post_tracking() { + [ ! -d /usr/share/omr/v2ray-post-tracking.d ] && return + for tracker_bin in /usr/share/omr/v2ray-post-tracking.d/*; do + [ -x "$tracker_bin" ] && ( + _log() { + logger -t "v2ray-post-tracking-${tracker_bin##*/}" "$*" + } + . "$tracker_bin" 2>&1 + ) + done +} + _ping_server() { local host=$1 ret=$(ping \ @@ -70,6 +82,7 @@ uci -q set openmptcprouter.omr=router uci -q delete openmptcprouter.omr.v2ray _get_ip +OMR_TRACKER_PREV_STATUS="" while true; do host="${hosts%% *}" [ "$host" = "$hosts" ] || { @@ -107,6 +120,7 @@ while true; do fi [ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || ([ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]) && _get_ip last=0 + OMR_TRACKER_STATUS="OK" else last=$((last + 1 )) [ -z "$nocontact" ] && nocontact="$host" || nocontact="$nocontact, $host" @@ -145,6 +159,9 @@ while true; do sleep $wait_test fi } + OMR_TRACKER_STATUS="ERROR" fi + _post_tracking + OMR_TRACKER_PREV_STATUS="$OMR_TRACKER_STATUS" sleep "${interval}" done diff --git a/omr-tracker/files/bin/omr-tracker-xray b/omr-tracker/files/bin/omr-tracker-xray index 4aae08e76..fe5039a57 100755 --- a/omr-tracker/files/bin/omr-tracker-xray +++ b/omr-tracker/files/bin/omr-tracker-xray @@ -15,6 +15,19 @@ _log() { logger -p daemon.info -t "${basename}" "$@" } +_post_tracking() { + [ ! -d /usr/share/omr/xray-post-tracking.d ] && return + for tracker_bin in /usr/share/omr/xray-post-tracking.d/*; do + [ -x "$tracker_bin" ] && ( + _log() { + logger -t "xray-post-tracking-${tracker_bin##*/}" "$*" + } + . "$tracker_bin" 2>&1 + ) + done +} + + _ping_server() { local host=$1 ret=$(ping \ @@ -70,6 +83,7 @@ uci -q set openmptcprouter.omr=router uci -q delete openmptcprouter.omr.xray _get_ip +OMR_TRACKER_PREV_STATUS="" while true; do host="${hosts%% *}" [ "$host" = "$hosts" ] || { @@ -107,6 +121,7 @@ while true; do fi [ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || ([ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]) && _get_ip last=0 + OMR_TRACKER_STATUS="OK" else last=$((last + 1 )) [ -z "$nocontact" ] && nocontact="$host" || nocontact="$nocontact, $host" @@ -145,6 +160,9 @@ while true; do sleep $wait_test fi } + OMR_TRACKER_STATUS="ERROR" fi + _post_tracking + OMR_TRACKER_PREV_STATUS="$OMR_TRACKER_STATUS" sleep "${interval}" done diff --git a/z8102/files/etc/init.d/z8102 b/z8102/files/etc/init.d/z8102 index fc8aad8f0..a5ac27071 100755 --- a/z8102/files/etc/init.d/z8102 +++ b/z8102/files/etc/init.d/z8102 @@ -2,7 +2,7 @@ # Copyright (C) 2013 OpenWrt.org # Copyright (C) 2023 Yannick Chabanois (Ycarus) for OpenMPTCProuter -START=58 +START=05 USE_PROCD=1 log() { @@ -11,6 +11,7 @@ log() { start_service() { + log "Enable SIMs and reboot modems..." # sim 1 #i=461 #echo $i > /sys/class/gpio/export