2022-07-25 12:42:33 +00:00
|
|
|
#! /bin/bash
|
2022-05-20 15:59:45 +00:00
|
|
|
|
2022-08-01 10:04:04 +00:00
|
|
|
CR="\e[1;31m" # red
|
|
|
|
# CG="\e[1;32m" # green
|
|
|
|
CN="\e[0m" # none
|
2022-05-20 15:59:45 +00:00
|
|
|
|
|
|
|
ERREXIT()
|
|
|
|
{
|
|
|
|
local code
|
|
|
|
code="$1"
|
2022-07-25 12:42:33 +00:00
|
|
|
# shellcheck disable=SC2181 #(style): Check exit code directly with e.g
|
2022-05-20 15:59:45 +00:00
|
|
|
[[ $? -ne 0 ]] && code="$?"
|
|
|
|
[[ -z $code ]] && code=99
|
|
|
|
|
|
|
|
shift 1
|
|
|
|
[[ -n "$1" ]] && echo -e >&2 "${CR}ERROR:${CN} $*"
|
|
|
|
|
|
|
|
exit "$code"
|
|
|
|
}
|
|
|
|
|
2022-07-27 14:26:03 +00:00
|
|
|
# Route all traffic that comes to this instance through TOR.
|
|
|
|
iptables -t nat -A PREROUTING -p tcp --syn -j REDIRECT --to-ports 9040
|
2022-08-09 13:05:52 +00:00
|
|
|
# Route to SSHD and NGINX via sf-router
|
|
|
|
ip route add 172.22.0.22/32 via 172.20.0.2
|
|
|
|
ip route add 172.20.1.80/32 via 172.20.0.2
|
2022-07-27 14:26:03 +00:00
|
|
|
|
2022-07-28 13:33:08 +00:00
|
|
|
[[ -d /var/lib/tor/hidden ]] || ERREXIT 254 "Not found: /var/lib/tor/hidden. Forgot -v option?"
|
|
|
|
|
|
|
|
chown -R tor /var/lib/tor/hidden || ERREXIT
|
|
|
|
chmod -R 700 /var/lib/tor/hidden || ERREXIT
|
2022-07-31 13:51:59 +00:00
|
|
|
chmod 644 /var/lib/tor/hidden/service-22/hostname
|
|
|
|
chmod 644 /var/lib/tor/hidden/service-80/hostname
|
2022-08-09 13:05:52 +00:00
|
|
|
|
2022-07-27 14:26:03 +00:00
|
|
|
# echo -e "ONION: ${CG}http://$(cat /var/lib/tor/hidden_service/hostname 2>/dev/null)${CN}"
|
|
|
|
if [[ -f /config/tor/torrc ]]; then
|
|
|
|
exec su -s /bin/ash - tor -c "tor -f /config/tor/torrc"
|
2022-07-25 12:42:33 +00:00
|
|
|
else
|
|
|
|
exec su -s /bin/ash - tor -c "tor"
|
|
|
|
fi
|
2022-05-20 15:59:45 +00:00
|
|
|
# NOT REACHED
|