Você pode testar a disponibilidade de um proxy de meias ao tentar carregar um site pelo túnel.
curl -sSf --socks5-hostname localhost:8888 www.google.com > /dev/null
No comando acima, curl
será silencioso, a menos que ocorra um erro. Você pode envolver esse comando em um loop for dentro de um script. O valor de retorno de curl
é zero se o proxy de meias estiver ativo (e google.com
não estiver inativo).
#!/bin/bash
set -o errexit
set -o nounset
#set -o xtrace
PROGNAME=$(basename $0)
die () {
echo "${PROGNAME}: ${1:-"Unknown Error, Abort."}" 1>&2
exit 1
}
status=0
while [[ 1 ]]; do
curl -sSf --socks5-hostname localhost:8888 www.google.com > /dev/null || status=$?
if [[ $status -ne 0 ]]; then
echo "Trying to reconnect .."
# kill proxy
# reconnect-cmd || die "$LINENO: reconnecting failed"
fi
sleep 100
done