diff options
Diffstat (limited to 'tutorials/tor/how-to-host-a-tor-hidden-service.html')
-rw-r--r-- | tutorials/tor/how-to-host-a-tor-hidden-service.html | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tutorials/tor/how-to-host-a-tor-hidden-service.html b/tutorials/tor/how-to-host-a-tor-hidden-service.html new file mode 100644 index 0000000..7969078 --- /dev/null +++ b/tutorials/tor/how-to-host-a-tor-hidden-service.html @@ -0,0 +1,34 @@ +<p>This might sound spooky and complicated, but it's really not. If you want to host a small site or a small file share among friends, I honestly think Tor is one of the easiest and safest options to set up.</p> +<p>Getting a Tor hidden service running is so stupidly easy that it hardly deserves it's own article. Tor's website has a great guide right <a href="https://community.torproject.org/onion-services/setup/">here</a>. I figured I'd put my own spin on it by showing you show to host a temporary server to share some files with your friends. Please note the word <em>temporary</em> in that last sentence; running this way for a while is insecure and not a good idea. For a permanent solution, you'll want to host a real web server as explained <a href="/site/tutorials/www/how-to-make-this-site.html">here</a>.</p> +<p>Unlike that article, I will only explain how to do this on Linux since it's way easier and, to be honest, I've never tried to do it on Windows. If you've never used Linux before, buy a Raspberry Pi and follow the basic install guide. If you're strapped for cash, run it in a virtual machine, or use Windows Subsystem for Linux.</p> +<h2 id="how-to-spin-up-a-temporary-hidden-file-share-with-python">How to spin up a temporary hidden file share with Python</h2> +<p>Once you have Debian/Ubuntu/whatever installed and it's updated to your liking, you can install Tor with:</p> +<pre><code>$ sudo apt install tor</code></pre> +<p>Start (or stop) Tor with:</p> +<pre><code>$ sudo service tor start</code></pre> +<p>or</p> +<pre><code>$ sudo systemctl start tor.service</code></pre> +<p>You may need to enable the service first. I think this is done by default now, but it doesn't hurt:</p> +<pre><code>$ sudo systemctl enable tor.service</code></pre> +<h3 id="configure-tor">Configure Tor</h3> +<p>You'll need to edit the file "/etc/tor/torrc" before your service can be available over Tor. Use vim, nano, or whatever you like to edit the file (as root!) and search for the following lines:</p> +<pre><code>#HiddenServiceDir /var/lib/tor/hidden_service/ +#HiddenServicePort 80 127.0.0.1:80</code></pre> +<p>Remove the '#' at the beginning of each and change the port to 8000 like so:</p> +<pre><code>HiddenServiceDir /var/lib/tor/hidden_service/ +HiddenServicePort 80 127.0.0.1:8000</code></pre> +<p>Save and restart Tor for the changes to apply:</p> +<pre><code>$ sudo service tor restart</code></pre> +<p>Once you do this, you'll get a new onion address located in the directory noted above. Use cat to read the hostname file:</p> +<pre><code>$ cat /var/lib/tor/hidden_service/hostname</code></pre> +<h3 id="set-up-the-server">Set up the server</h3> +<p>Make some directory to hold your files.</p> +<pre><code>$ mkdir -pv files</code></pre> +<p>Since we're only doing this temporarily, we don't care too much about security or where the files should go, but if you want to be careful, you can issue the following to set the directory to read only after you copy your files in:</p> +<pre><code>$ chmod -R 644 files</code></pre> +<p>Change into the directory and run Python's built-in http server:</p> +<pre><code>$ cd files +$ python3 -m http.server</code></pre> +<p>You'll see the server is being hosted on port 8000, which is what we chose in the config file earlier. Just leave it running, or send it to the background with Ctrl+Z and run "bg".</p> +<p>And that's it! You are now the proud owner of a tor hidden service. Take the hostname you copied down before and add ".onion" to the end and give it to your friends so they can browse the files in the directory through the Tor Browser.</p> +<p>Be sure to watch the program log though... lest they get up to no good.</p> |