#!/bin/sh # vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 : name=$0 basename="$(basename $0)" log() { logger -p daemon.info -t "${basename}" "$@" } timeout=${OMR_TRACKER_TIMEOUT:-1} interval=${OMR_TRACKER_INTERVAL:-10} retry=${OMR_TRACKER_TRIES:-2} proxy=${OMR_TRACKER_PROXY:-127.0.0.1:1111} hosts=${OMR_TRACKER_HOSTS:-google.com bing.com} last=0 while true; do host=${hosts%% *} if curl -s --socks5 "${proxy}" --max-time "${timeout}" --retry "${retry}" "$host" &>/dev/null ; then [ ${last} = 0 ] && log "Shadowsocks is up" /etc/init.d/shadowsocks-libev rules_up 2> /dev/null last=1 else [ ${last} = 1 ] && log "Shadowsocks is down" /etc/init.d/shadowsocks-libev rules_down 2> /dev/null last=0 fi sleep "${interval}" done