1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00
This commit is contained in:
suyuan 2024-03-29 10:09:34 +08:00 committed by GitHub
commit ac486d0c4b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 73 additions and 8 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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