25 lines
823 B
Bash
25 lines
823 B
Bash
#!/usr/bin/env sh
|
|
|
|
if [ "$ROUTE_TOR" = 1 ] || [ "$ROUTE_TOR" = 2 ]; then
|
|
cat > /etc/tor/torrc <<- EOF
|
|
Log notice stdout
|
|
SocksPort ${TOR_PORT:-9050} # Default: Bind to localhost:9050 for local connections.
|
|
MaxCircuitDirtiness ${MAX_CIRCUIT:-2700}
|
|
CircuitBuildTimeout ${CIRCUIT_TIMEOUT:-2700}
|
|
ExcludeExitNodes {US}
|
|
StrictNodes 1
|
|
EOF
|
|
# check loop health tor
|
|
while :; do
|
|
if pgrep tor > /dev/null 2>&1; then
|
|
checkurl=$(curl --socks5 "localhost:${TOR_PORT:-9050}" -o /dev/null 2>&1 -s -w "%{http_code}\n" "${URL_CHECK:-https://www.youtube.com/results?search_query=rms}")
|
|
case ${checkurl} in
|
|
302|502|500) pkill tor > /dev/null 2>&1 && tor -f /etc/tor/torrc --runasdaemon 1 ;;
|
|
esac
|
|
else
|
|
tor -f /etc/tor/torrc --runasdaemon 1
|
|
fi
|
|
sleep 15
|
|
done
|
|
fi
|