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

Less error in logs if no IP defined

This commit is contained in:
Ycarus 2018-07-27 23:11:37 +02:00
parent 54f5e4c105
commit 36fa9d5067

View file

@ -36,7 +36,6 @@ set_route() {
set_ss_route() { set_ss_route() {
local server_ip upstreams nginxip local server_ip upstreams nginxip
local metric=$2 local metric=$2
[ -z "$metric" ] && metric=1
config_get server_ip $1 server config_get server_ip $1 server
if [ "$server_ip" = "127.0.0.1" ]; then if [ "$server_ip" = "127.0.0.1" ]; then
upstreams=$(uci -q get nginx-ha.ShadowSocks.upstreams | sed -e "s/' '/%/" -e 's/ /_/g' -e "s/'//g" -e 's/%/ /') upstreams=$(uci -q get nginx-ha.ShadowSocks.upstreams | sed -e "s/' '/%/" -e 's/ /_/g' -e "s/'//g" -e 's/%/ /')
@ -49,7 +48,7 @@ set_ss_route() {
fi fi
done done
else else
if [ "$server_ip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep $server_ip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ]; then if [ "$metric" != "off" ] && [ "$server_ip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep $server_ip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ]; then
_log "Set server $server_ip route via $OMR_TRACKER_DEVICE metric $metric" _log "Set server $server_ip route via $OMR_TRACKER_DEVICE metric $metric"
ip route replace $server_ip via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric ip route replace $server_ip via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric
fi fi
@ -59,22 +58,40 @@ set_ss_route() {
del_ss_route() { del_ss_route() {
local server_ip upstreams nginxip local server_ip upstreams nginxip
local metric=$2 local metric=$2
[ -z "$metric" ] && metric=1
config_get server_ip $1 server config_get server_ip $1 server
if [ "$server_ip" = "127.0.0.1" ]; then if [ "$server_ip" = "127.0.0.1" ]; then
upstreams=$(uci -q get nginx-ha.ShadowSocks.upstreams | sed -e "s/' '/%/" -e 's/ /_/g' -e "s/'//g" -e 's/%/ /') upstreams=$(uci -q get nginx-ha.ShadowSocks.upstreams | sed -e "s/' '/%/" -e 's/ /_/g' -e "s/'//g" -e 's/%/ /')
for up in $upstreams; do for up in $upstreams; do
_log "down : $up" _log "down : $up"
nginxip=$(echo $up | cut -d: -f1) nginxip=$(echo $up | cut -d: -f1)
if [ "$nginxip" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep $nginxip)" != "" ]; then if [ "$metric" = "all" ]; then
_log "Remove server $nginxip route via $OMR_TRACKER_DEVICE" if [ "$nginxip" != "" ] && [ "$(ip route show | grep $nginxip)" != "" ]; then
ip route delete $nginxip dev $OMR_TRACKER_DEVICE metric $metric _log "Remove all server $nginxip route"
ip route delete $nginxip
fi
else
if [ "$nginxip" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep $nginxip)" != "" ]; then
_log "Remove server $nginxip route via $OMR_TRACKER_DEVICE"
ip route delete $nginxip dev $OMR_TRACKER_DEVICE metric $metric
fi
fi fi
done done
else else
if [ "$server_ip" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep $server_ip)" != "" ]; then if [ "$metric" = "all" ]; then
_log "Remove server $server_ip route via $OMR_TRACKER_DEVICE" if [ "$server_ip" != "" ] && [ "$(ip route show | grep $server_ip)" != "" ]; then
ip route delete $server_ip dev $OMR_TRACKER_DEVICE metric $metric _log "Remove all server $server_ip route"
ip route delete $server_ip
fi
elif [ "$metric" = "off" ]; then
if [ "$server_ip" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE | grep $server_ip)" != "" ]; then
_log "Remove all server $server_ip route via $OMR_TRACKER_DEVICE"
ip route delete $server_ip dev $OMR_TRACKER_DEVICE
fi
else
if [ "$server_ip" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep $server_ip)" != "" ]; then
_log "Remove server $server_ip route via $OMR_TRACKER_DEVICE"
ip route delete $server_ip dev $OMR_TRACKER_DEVICE metric $metric
fi
fi fi
fi fi
} }
@ -104,7 +121,12 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
fi fi
glorytun-udp path $OMR_TRACKER_DEVICE_IP dev tun0 down > /dev/null 2>&1 glorytun-udp path $OMR_TRACKER_DEVICE_IP dev tun0 down > /dev/null 2>&1
config_load shadowsocks-libev config_load shadowsocks-libev
config_foreach del_ss_route server if [ -n "$OMR_TRACKER_DEVICE_IP" ]; then
local metric=$(ip rule show | grep "$OMR_TRACKER_DEVICE_IP" | awk '{print $5}')
config_foreach del_ss_route server $metric
else
config_foreach del_ss_route server none
fi
} }
fi fi
if [ "$default_gw" = "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]; then if [ "$default_gw" = "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]; then
@ -112,8 +134,9 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
config_foreach set_route interface $OMR_TRACKER_INTERFACE config_foreach set_route interface $OMR_TRACKER_INTERFACE
fi fi
if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ]; then if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ]; then
_log "Tunnel down"
config_load shadowsocks-libev config_load shadowsocks-libev
config_foreach del_ss_route server config_foreach del_ss_route server all
if [ "$(uci -q show shadowsocks-libev.ss_rules.redir_udp)" = "" ] && [ "$(uci -q show shadowsocks-libev.hi2.mode)" = "tcp_and_udp" ]; then if [ "$(uci -q show shadowsocks-libev.ss_rules.redir_udp)" = "" ] && [ "$(uci -q show shadowsocks-libev.hi2.mode)" = "tcp_and_udp" ]; then
uci -q set shadowsocks-libev.ss_rules.redir_udp='hi2' uci -q set shadowsocks-libev.ss_rules.redir_udp='hi2'
/etc/init.d/shadowsocks-libev rules_down /etc/init.d/shadowsocks-libev rules_down
@ -145,7 +168,7 @@ if [ "$multipath_config" = "master" ]; then
ip route replace default scope global nexthop via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE ip route replace default scope global nexthop via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE
else else
config_load shadowsocks-libev config_load shadowsocks-libev
config_foreach set_ss_route server config_foreach set_ss_route server 1
fi fi
if [ "$(uci -q get omr-bypass.defaults.ifname)" = "" ]; then if [ "$(uci -q get omr-bypass.defaults.ifname)" = "" ]; then
ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE table 991337 ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE table 991337
@ -153,11 +176,13 @@ if [ "$multipath_config" = "master" ]; then
fi fi
multipath_config="on" multipath_config="on"
else else
local metric=$(ip rule show | grep "$OMR_TRACKER_DEVICE_IP" | awk '{print $5}') if [ -n "$OMR_TRACKER_DEVICE_IP" ]; then
[ -n "$metric" ] && { local metric=$(ip rule show | grep "$OMR_TRACKER_DEVICE_IP" | awk '{print $5}')
config_load shadowsocks-libev [ -n "$metric" ] && {
config_foreach set_ss_route server $metric config_load shadowsocks-libev
} config_foreach set_ss_route server $metric
}
fi
fi fi
if [ "$(uci -q get omr-bypass.defaults.ifname)" = "$OMR_TRACKER_DEVICE" ] && [ "$(ip route show table 991337 | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ]; then if [ "$(uci -q get omr-bypass.defaults.ifname)" = "$OMR_TRACKER_DEVICE" ] && [ "$(ip route show table 991337 | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ]; then
ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE table 991337 ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE table 991337