1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00
openmptcprouter-feeds/shadowsocks-libev/files/shadowsocks.track
2018-01-22 11:20:49 +01:00

50 lines
864 B
Bash
Executable file

#!/bin/sh
# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 :
name=$0
basename="$(basename $0)"
usage() {
printf "Usage: %s: [-t TIMEOUT] [-v INTERVAL] [ -r RETRY ] HOST\n" "${name}"
exit 2
}
log() {
logger -p daemon.info -t "${basename}" "$@"
}
uri="ping"
timeout=5
interval=1
retry=0
while getopts "t:v:r:" opt; do
case $opt in
t) timeout="${OPTARG}";;
v) interval="${OPTARG}";;
r) retry="${OPTARG}";;
*) usage;;
esac
done
shift $((OPTIND - 1))
[ -z "$1" ] && usage
last=0
log "Starting..."
while true; do
if curl -s --max-time "${timeout}" --retry "${retry}" "$1/${uri}" &>/dev/null ; then
[ ${last} = 0 ] && log "Shadowsocks is up"
/etc/init.d/shadowsocks ifup 2> /dev/null
last=1
else
[ ${last} = 1 ] && log "Shadowsocks is down"
/etc/init.d/shadowsocks ifdown 2> /dev/null
last=0
fi
sleep "${interval}"
done