mirror of
https://github.com/fphammerle/docker-tor-proxy.git
synced 2025-10-27 02:43:35 +01:00
99b6bc5bff27758191ea5eeacaf3e79bd07af74a
https://gitweb.torproject.org/tor.git/plain/ChangeLog https://git.alpinelinux.org/aports/commit/community/tor?id=6fd8dd11c3e025bd7eb8946158bddebfc4c5876a https://git.alpinelinux.org/aports/commit/community/tor?id=f5832ba01e71545659a5f3f10330d5e42bdd16f3 https://git.alpinelinux.org/aports/commit/community/tor?id=8cc62f0ffbf3e4af479c12d0a214ea7d00814413 https://git.alpinelinux.org/aports/commit/community/tor?id=7170b8d4004b2185a70d0cfeed319fe02a3baea2 https://git.alpinelinux.org/aports/commit/community/tor?id=34d381f44e156b172854b542c7fcdbe40336293f https://git.alpinelinux.org/aports/commit/community/tor?id=3e880d50ad912dc044bab412ea2b01d3192b855a https://github.com/fphammerle/docker-onion-service/commit/4ff78b81909c1b0cf03fd6a6cb5e4480b6e8a27f https://git.alpinelinux.org/aports/commit/main/nftables?id=60fa97f49b77e71347d1bd8bce92a69edde0aa66 https://git.alpinelinux.org/aports/commit/main/nftables?id=7d1e2f3541d57e1a4f347743e2a6abf63f510a13 https://git.alpinelinux.org/aports/commit/main/nftables?id=461d764f6a933295f84bdc4fb1a7642ac0857505
docker: tor socks & dns proxy 🌐 🐳
Docker Hub: https://hub.docker.com/r/fphammerle/tor-proxy
Signed image tags: https://github.com/fphammerle/docker-tor-proxy/tags
$ sudo docker run --rm --name tor_proxy \
-p 127.0.0.1:9050:9050/tcp \
-p 127.0.0.1:53:9053/udp \
fphammerle/tor-proxy
or after cloning the repository 🐙
$ sudo docker-compose up
Test Proxies
$ curl --proxy socks5h://localhost:9050 ipinfo.io
$ torsocks wget -O - ipinfo.io
$ torsocks lynx -dump https://check.torproject.org/
$ dig @localhost fabian.hammerle.me
$ ssh -o 'ProxyCommand nc -x localhost:9050 -v %h %p' abcdefghi.onion
# no anonymity!
$ chromium-browser --proxy-server=socks5://localhost:9050 ipinfo.io
Read-only Root Filesystem
Optionally add
$ sudo docker run --read-only -v tor_proxy_data:/var/lib/tor --tmpfs /tmp:rw,size=4k` …
to make the container's root filesystem read-only.
Isolate Host
sudo iptables -A OUTPUT ! -o lo -j REJECT --reject-with icmp-admin-prohibited
Change SocksTimeout Option
$ sudo docker run -e SOCKS_TIMEOUT_SECONDS=60 …
Show Circuits
$ printf 'AUTHENTICATE\nGETINFO circuit-status\nQUIT\n' \
| sudo docker exec -i tor_proxy nc localhost 9051
relay search: https://metrics.torproject.org/rs.html
or using onioncircuits (debian repo):
$ sudo apt-get install --no-install-recommends onioncircuits
$ sudo nsenter --target "$(sudo docker inspect --format='{{.State.Pid}}' tor_proxy)" --net \
sudo -u $USER onioncircuits
Troubleshooting
Disable SafeLogging (temporarily) to log IP addresses instead of [scrubbed]:
$ printf 'AUTHENTICATE\nSETCONF SafeLogging=0\nGETCONF SafeLogging\nQUIT\n' \
| sudo docker exec -i tor_proxy nc localhost 9051
Languages
Dockerfile
57.2%
Shell
42.8%