From d63a54980f7939113e08bfe6f12152ce4ac07d5d Mon Sep 17 00:00:00 2001
From: Roger Dingledine
Tor allows clients and servers to offer hidden services. That is, -you can offer a web server, SSH server, etc., without revealing your IP to its -users. You can even have your application listen on localhost only, yet -remote Tor connections can access it. This works via Tor's rendezvous -point design: both sides build a Tor circuit out, and they meet in -the middle.
- -If you're using Tor and Privoxy, -you can go to the hidden wiki -to see hidden services in action.
- -To set up a hidden service, edit the middle part of your torrc. (See -this -FAQ entry for help.) Then run Tor. It will -create each HiddenServiceDir you have configured, and it will create a -'hostname' file which specifies the url (xyz.onion) for that service. You -can tell people the url, and they can connect to it via their Tor client, -assuming they're using a proxy (such as Privoxy) that speaks SOCKS 4A.
- -Let's consider an example. -Assume you want to set up a hidden service to allow people to access your -Apache web server through Tor. By doing this, they can access your server -but won't know who they are connecting to. You want clients to use the -standard port 80 when accessing your server. However, if your Apache -server is actually running on port 8080 locally, client connections need -to be redirected.
- -HiddenServiceDir is a directory where Tor will store information -about that hidden service. In particular, Tor will create a file here named -hostname which will tell you the onion URL. You don't need to add any -files to this directory.
- -HiddenServicePort is where you specify a virtual port and where -to redirect connections to this virtual port. For instance, you tell -Tor there's a virtual port 80 and then redirect traffic to your local -webserver at 127.0.0.1:8080.
- -Example lines from a torrc file
- --HiddenServiceDir /usr/local/etc/tor/hidden_service/ -HiddenServicePort 80 127.0.0.1:8080 -- -
This tells Tor to store its files in /usr/local/etc/tor/hidden_service/ -and allow people to connect to your onion address on port 80. It -will then redirect requests to your localhost webserver on port 8080. +
+We've moved this section over to the new Tor Hidden Service +Howto. Hope you like it.
-To let people access your hidden service, look at the file -/usr/local/etc/tor/hidden_service/hostname which will tell you what the -hostname is (such as xyz.onion). Then, as long as they have Tor and Privoxy -configured, they can access your webserver with a web browser by connecting -to http://xyz.onion/
- -You can have multiple tor hidden services by repeating Dir and Ports:
- --HiddenServiceDir /usr/local/etc/tor/hidden_service/ -HiddenServicePort 80 127.0.0.1:8080 - -HiddenServiceDir /usr/local/etc/tor/other_hidden_service/ -HiddenServicePort 6667 127.0.0.1:6667 -HiddenServicePort 22 127.0.0.1:22 -- -
The above example will allow people to connect to the hostname in -/usr/local/etc/tor/hidden_service/hostname for an HTTP server and -to a different hostname in -/usr/local/etc/tor/other_hidden_service/hostname for an IRC and -SSH server. To an end user, this appears to be two separate hosts with -one running an HTTP server and another running an IRC/SSH server.
-