1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Update omr-tracker for multi IPs server

This commit is contained in:
Ycarus (Yannick Chabanois) 2021-01-25 09:32:23 +01:00
parent 16ab9a7722
commit 087561e002
3 changed files with 113 additions and 98 deletions

View file

@ -49,6 +49,7 @@ retry=${OMR_TRACKER_TRIES:-4}
proxy=${OMR_TRACKER_PROXY:-127.0.0.1:1111}
hosts=${OMR_TRACKER_HOSTS:-1.1.1.1 1.0.0.1}
wait_test=${OMR_TRACKER_WAIT_TEST:-0}
server=${OMR_TRACKER_SERVER:-sss0}
nodns=0
@ -65,9 +66,9 @@ while true; do
}
if [ "$(curl -s -I -w %{http_code} --socks5 ${proxy} --max-time ${timeout} $host -o /dev/null)" != "000" ]; then
nocontact=""
[ "${last}" -ge "${retry}" ] || [ "$(uci -q get openmptcprouter.omr.shadowsocks)" = "" ] && {
[ "${last}" -ge "${retry}" ] || [ "$(uci -q get openmptcprouter.omr.ss_$[name})" = "" ] && {
_log "Shadowsocks is up (can contact via http ${host})"
uci -q set openmptcprouter.omr.shadowsocks="up"
uci -q set openmptcprouter.omr.ss_${name}="up"
uci -q commit openmptcprouter.omr
}
if [ -z "$(iptables -t nat -L -n | grep ss_rules)" ] && [ "$(uci -q get shadowsocks-libev.ss_rules.disabled)" != "1" ]; then
@ -83,15 +84,15 @@ while true; do
[ "${last}" -ge "${retry}" ] && {
if [ -n "$(iptables -t nat -L -n | grep ssr)" ]; then
_log "Shadowsocks is down (can't contact via http ${nocontact})"
uci -q set openmptcprouter.omr.shadowsocks="down"
uci -q set openmptcprouter.omr.ss_${name}="down"
uci -q commit openmptcprouter.omr
/etc/init.d/shadowsocks-libev rules_down 2> /dev/null
[ "$(uci show openmptcprouter.omr | grep ss | grep up)" = "" ] && /etc/init.d/shadowsocks-libev rules_down 2> /dev/null
_get_ip
server_ping=false
server="$(uci -q get shadowsocks-libev.sss0.server)"
_ping_server $server
serverip="$(uci -q get shadowsocks-libev.${server}.server)"
_ping_server $serverip
if [ "$server_ping" = false ]; then
_log "Server ($server) seems down, no answer to ping"
_log "Server $server ($serverip) seems down, no answer to ping"
fi
sleep $wait_test
fi