From 0173f9dc0f0dc6a5da8f688a6b06d03eecb1c449 Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Sat, 21 Aug 2021 18:16:25 +0100 Subject: [PATCH] Initial commit --- .gitignore | 1 + Dockerfile | 6 ++ docker-compose.yml | 47 +++++++++++ readme.ms | 86 +++++++++++++++++++++ test | 51 ++++++++++++ tor/torrc | 189 +++++++++++++++++++++++++++++++++++++++++++++ tor/torrc1 | 30 +++++++ tor/torrc2 | 31 ++++++++ tor/torrc3 | 31 ++++++++ tor/torrc4 | 31 ++++++++ tor/torrc5 | 31 ++++++++ tor/torrc6 | 31 ++++++++ 12 files changed, 565 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 readme.ms create mode 100755 test create mode 100644 tor/torrc create mode 100644 tor/torrc1 create mode 100644 tor/torrc2 create mode 100644 tor/torrc3 create mode 100644 tor/torrc4 create mode 100644 tor/torrc5 create mode 100644 tor/torrc6 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e994782 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +tor/data diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f13fc24 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,6 @@ +FROM debian:buster-slim + +RUN apt-get update +RUN apt-get install -y tor + +ENTRYPOINT tor diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..e821eb0 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,47 @@ +version: '3.7' + +services: + tor: + build: . + user: toruser + volumes: + - ${PWD}/tor/torrc:/etc/tor/torrc + - ${PWD}/tor/data:/var/lib/tor/ + # tor1: + # build: . + # user: toruser + # volumes: + # - ${PWD}/tor/torrc1:/etc/tor/torrc + # - ${PWD}/tor/data:/var/lib/tor/ + # tor2: + # build: . + # user: toruser + # volumes: + # - ${PWD}/tor/torrc2:/etc/tor/torrc + # - ${PWD}/tor/data:/var/lib/tor/ + # tor3: + # build: . + # user: toruser + # volumes: + # - ${PWD}/tor/torrc3:/etc/tor/torrc + # - ${PWD}/tor/data:/var/lib/tor/ + # tor4: + # build: . + # user: toruser + # volumes: + # - ${PWD}/tor/torrc4:/etc/tor/torrc + # - ${PWD}/tor/data:/var/lib/tor/ + # tor5: + # build: . + # user: toruser + # volumes: + # - ${PWD}/tor/torrc5:/etc/tor/torrc + # - ${PWD}/tor/data:/var/lib/tor/ + # tor6: + # build: . + # user: toruser + # volumes: + # - ${PWD}/tor/torrc6:/etc/tor/torrc + # - ${PWD}/tor/data:/var/lib/tor/ + nginx: + image: nginxdemos/hello:plain-text diff --git a/readme.ms b/readme.ms new file mode 100644 index 0000000..e45e2df --- /dev/null +++ b/readme.ms @@ -0,0 +1,86 @@ +## Running 60 HS from a single daemon + +``` +tor-test % +››› ./test +Starting services... +[+] Running 1/3 + ⠿ Network tor-test_default Created 4.6ss +[+] Running 3/3r-test_tor_1 Starting 2.6s + ⠿ Network tor-test_default Created 4.6s + ⠿ Container tor-test_tor_1 Started 2.9s + ⠿ Container tor-test_nginx_1 Started 2.8s + +Created 60 hidden services + +Testing hidden services... +/ = up X = down + +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + +Waiting 10 seconds... +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + +Waiting 10 seconds... +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + +Waiting 10 seconds... +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX///X///X + +Waiting 10 seconds... +/////////////////////X/XXX//X/XXX/X/XXXXXXX//XXXXX/XX/X/X/XX + +Stopping services... +[+] Running 3/3 + ⠿ Container tor-test_nginx_1 Removed 0.2s + ⠿ Container tor-test_tor_1 Removed 0.2s + ⠿ Network tor-test_default Removed + ``` + + ## Running 60 HS from 6 daemons (10 HS each) + + ``` + ››› ./test +Starting services... +[+] Running 8/8 + ⠿ Network tor-test_default Created 3.6s + ⠿ Container tor-test_tor5_1 Started 9.0s + ⠿ Container tor-test_tor3_1 Started 9.1s + ⠿ Container tor-test_tor6_1 Started 8.9s + ⠿ Container tor-test_tor4_1 Started 7.6s + ⠿ Container tor-test_tor2_1 Started 9.3s + ⠿ Container tor-test_nginx_1 Started 6.6s + ⠿ Container tor-test_tor1_1 Started 9.4s + +Created 60 hidden services + +Testing hidden services... +/ = up X = down + +XX////////////////////////////////////////////////////////// + +Waiting 10 seconds... +//////////////////////////////////////////////////////////// + +Waiting 10 seconds... +//////////////////////////////////////////////////////////// + +Waiting 10 seconds... +///////////////////////////////////////////////////////////X + +Waiting 10 seconds... +//////////////////////////////////////////////////////////// + +Stopping services... +[+] Running 8/8 + ⠿ Container tor-test_tor6_1 Removed 0.5s + ⠿ Container tor-test_nginx_1 Removed 0.4s + ⠿ Container tor-test_tor3_1 Removed 0.7s + ⠿ Container tor-test_tor4_1 Removed 0.5s + ⠿ Container tor-test_tor2_1 Removed 0.6s + ⠿ Container tor-test_tor1_1 Removed 0.6s + ⠿ Container tor-test_tor5_1 Removed 0.4s + ⠿ Network tor-test_default Removed 2.6s + + + ``` diff --git a/test b/test new file mode 100755 index 0000000..7cf53e8 --- /dev/null +++ b/test @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +test() { + for dir in tor/data/* + do + ( + hs=$(cat $dir/hostname) + curl -s --socks5-hostname 127.0.0.1:9050 http://$hs | grep --silent Server \ + && echo -n "/" \ + || echo -n "X" + ) & + done + wait + echo +} + +echo "Starting services..." +docker compose up -d +sleep 1 +echo +echo "Created $(ls tor/data | wc -l) hidden services" + +echo +echo "Testing hidden services..." +echo "/ = up X = down" +echo +test + +echo +echo "Waiting 10 seconds..." +sleep 10 +test + +echo +echo "Waiting 10 seconds..." +sleep 10 +test + +echo +echo "Waiting 10 seconds..." +sleep 10 +test + +echo +echo "Waiting 10 seconds..." +sleep 10 +test + +echo +echo "Stopping services..." +docker compose down diff --git a/tor/torrc b/tor/torrc new file mode 100644 index 0000000..98e647e --- /dev/null +++ b/tor/torrc @@ -0,0 +1,189 @@ + +HiddenServiceDir /var/lib/tor/hs-blah-1 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-2 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-3 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-4 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-5 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-6 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-7 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-8 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-9 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-10 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-11 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-12 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-13 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-14 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-15 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-16 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-17 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-18 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-19 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-20 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-21 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-22 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-23 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-24 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-25 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-26 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-27 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-28 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-29 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-blah-30 +HiddenServicePort 80 nginx:80 + + + + + + + + + + +HiddenServiceDir /var/lib/tor/hs-1 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-2 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-3 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-4 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-5 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-6 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-7 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-8 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-9 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-10 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-11 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-12 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-13 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-14 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-15 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-16 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-17 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-18 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-19 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-20 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-21 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-22 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-23 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-24 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-25 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-26 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-27 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-28 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-29 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-30 +HiddenServicePort 80 nginx:80 diff --git a/tor/torrc1 b/tor/torrc1 new file mode 100644 index 0000000..e99bf63 --- /dev/null +++ b/tor/torrc1 @@ -0,0 +1,30 @@ + +HiddenServiceDir /var/lib/tor/hs-1 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-2 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-3 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-4 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-5 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-6 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-7 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-8 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-9 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-10 +HiddenServicePort 80 nginx:80 diff --git a/tor/torrc2 b/tor/torrc2 new file mode 100644 index 0000000..a2cea21 --- /dev/null +++ b/tor/torrc2 @@ -0,0 +1,31 @@ + + +HiddenServiceDir /var/lib/tor/hs-11 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-12 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-13 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-14 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-15 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-16 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-17 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-18 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-19 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-20 +HiddenServicePort 80 nginx:80 diff --git a/tor/torrc3 b/tor/torrc3 new file mode 100644 index 0000000..df370ed --- /dev/null +++ b/tor/torrc3 @@ -0,0 +1,31 @@ + + +HiddenServiceDir /var/lib/tor/hs-4-21 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-4-22 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-4-23 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-4-24 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-4-25 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-4-26 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-4-27 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-4-28 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-4-29 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-4-30 +HiddenServicePort 80 nginx:80 diff --git a/tor/torrc4 b/tor/torrc4 new file mode 100644 index 0000000..9c2bb4d --- /dev/null +++ b/tor/torrc4 @@ -0,0 +1,31 @@ + + +HiddenServiceDir /var/lib/tor/hs-21 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-22 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-23 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-24 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-25 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-26 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-27 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-28 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-29 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-30 +HiddenServicePort 80 nginx:80 diff --git a/tor/torrc5 b/tor/torrc5 new file mode 100644 index 0000000..dae4fc0 --- /dev/null +++ b/tor/torrc5 @@ -0,0 +1,31 @@ + + +HiddenServiceDir /var/lib/tor/hs-5-21 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-5-22 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-5-23 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-5-24 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-5-25 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-5-26 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-5-27 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-5-28 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-5-29 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-5-30 +HiddenServicePort 80 nginx:80 diff --git a/tor/torrc6 b/tor/torrc6 new file mode 100644 index 0000000..41c2d18 --- /dev/null +++ b/tor/torrc6 @@ -0,0 +1,31 @@ + + +HiddenServiceDir /var/lib/tor/hs-6-21 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-6-22 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-6-23 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-6-24 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-6-25 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-6-26 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-6-27 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-6-28 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-6-29 +HiddenServicePort 80 nginx:80 + +HiddenServiceDir /var/lib/tor/hs-6-30 +HiddenServicePort 80 nginx:80