/docker-tor-hiddenservice-nginx

Easily setup a hidden service inside the Tor network

Primary LanguageShellGNU General Public License v3.0GPL-3.0

Easily create and run hidden services

Docker Pulls License

This is a fork of opsxcq's project. This docker image now supports tor v3 adresses and shallot has been replaced by mkp224o (v3 compatible). Feel free to open issues on this project if you see something wrong.

Easily run a hidden service inside the Tor network with this container

Generate the skeleton configuration for you hidden service, replace for your hidden service pattern name. Example, if you want to your hidden service contain the word 'boss', just use this word as argument. Be aware that bigger the pattern, more time it will take to generate it.

docker run -it --rm -v $(pwd)/web:/web ozeliurs/tor-hiddenservice-nginx generate <pattern>

Create an container named 'hiddensite' to serve your generated hidden service

docker run -d --restart=always --name hiddensite -v $(pwd)/web:/web ozeliurs/tor-hiddenservice-nginx 

Example

Let's create a hidden service with the name beginning with strm.

docker pull ozeliurs/tor-hiddenservice-nginx

Wait to the container image be downloaded. And them we can generate our site skeleton:

$docker run -it --rm -v $(pwd)/web:/web ozeliurs/tor-hiddenservice-nginx generate strm
[+] Generating the address with mask: ^strm
[+] Found matching domain after 137072 tries: strmfyygjp5st54g.onion
[+] Generating nginx configuration for site  strmfyygjp5st54g.onion
[+] Creating www folder
[+] Generating index.html template

Now we have our skeleton generated, we can run the container with:

docker run -d --restart=always --name hiddensite -v $(pwd)/web:/web ozeliurs/tor-hiddenservice-nginx

And you have the service running ! :)

print

Troubleshoot

  • 403 error on nginx, check your directory permissions and folder permissions. Nginx run as "hidden" user, his UID is 666, just check if you give this user access to the /web/www folder (in the case the folder mapped to it).

FAQ

Build Docker image

docker build -t ozeliurs/tor-hiddenservice-nginx .

Run Docker container

docker run -d --restart=always --name hiddensite -v $(pwd)/web:/web ozeliurs/tor-hiddenservice-nginx 

Shell

docker run -it --rm -v $(pwd)/web:/web --entrypoint /bin/bash ozeliurs/tor-hiddenservice-nginx