|
@@ -92,9 +92,11 @@ working before we start thinking about setting up a web server locally.
|
|
|
<p>First, open your torrc file in your favorite text editor. (See <a
|
|
|
href="http://wiki.noreply.org/noreply/TheOnionRouter/TorFAQ#torrc">this
|
|
|
FAQ entry</a> to learn what this means.) Go to the middle section and
|
|
|
-look for the line<br />
|
|
|
-<tt>############### This section is just for location-hidden services ###</tt><br />
|
|
|
-</p>
|
|
|
+look for the line</p>
|
|
|
+
|
|
|
+<pre>
|
|
|
+############### This section is just for location-hidden services ###
|
|
|
+</pre>
|
|
|
|
|
|
<p>
|
|
|
This section of the file consists of groups of lines, each representing
|
|
@@ -117,12 +119,92 @@ Google. So add the following lines to your torrc:
|
|
|
</p>
|
|
|
|
|
|
<pre>
|
|
|
-HiddenServiceDir /home/yourname/hidserv/
|
|
|
+HiddenServiceDir /home/username/hidserv/
|
|
|
+HiddenServicePort 80 www.google.com:80
|
|
|
+</pre>
|
|
|
+
|
|
|
+<p>You're going to want to change the HiddenServiceDir line, so it
|
|
|
+points to an actual directory that you have read/write access to. Fill
|
|
|
+in your own username in place of "username". For
|
|
|
+example, in Windows you might pick:</p>
|
|
|
+<pre>
|
|
|
+HiddenServiceDir C:\Documents and Settings\username\hidden_service/
|
|
|
HiddenServicePort 80 www.google.com:80
|
|
|
</pre>
|
|
|
|
|
|
-<p>The above directory is for Windows people. OS X or Unix people should
|
|
|
-use <tt>/tmp/hidserv</tt> instead.
|
|
|
+<p>Now save the torrc, and restart your Tor.
|
|
|
+</p>
|
|
|
+
|
|
|
+<p>If Tor starts up again, great. Otherwise, something is wrong. Look
|
|
|
+at your torrc for obvious mistakes like typos. Then double-check
|
|
|
+that the directory you picked is writeable by you. If it's still
|
|
|
+not working, you should look at the Tor logs for hints. (See <a
|
|
|
+href="http://wiki.noreply.org/noreply/TheOnionRouter/TorFAQ#Logs">this
|
|
|
+FAQ entry</a> if you don't know how to enable or find your log file.)
|
|
|
+</p>
|
|
|
+
|
|
|
+<p>When Tor starts, it will automatically create two files in the
|
|
|
+HiddenServiceDir that you specified. First, it will generate a new
|
|
|
+public/private keypair for your hidden service, and write it into a
|
|
|
+file called "private_key". Don't share this key with others -- if you
|
|
|
+do they will be able to impersonate your hidden service. If you plan to
|
|
|
+keep your service available for a long time, you might want to make a
|
|
|
+backup copy of the private_key somewhere.
|
|
|
+</p>
|
|
|
+
|
|
|
+<p>The other file it will create is called "hostname". This contains
|
|
|
+a short summary of your public key -- it will look something like
|
|
|
+<tt>6sxoyfb3h2nvok2d.onion</tt>. This is the public name for your service,
|
|
|
+and you can tell it to people, publish it on websites, put it on business
|
|
|
+cards, etc.
|
|
|
+</p>
|
|
|
+
|
|
|
+<p>Now that you've restarted Tor, it is busy picking introduction points
|
|
|
+in the Tor network, and generating what's called a "hidden service
|
|
|
+descriptor", which is a signed list of introduction points along with
|
|
|
+the service's full public key. It anonymously publishes this descriptor
|
|
|
+to the directory servers, and other people anonymously fetch it from the
|
|
|
+directory servers when they're trying to access your service.
|
|
|
+</p>
|
|
|
+
|
|
|
+<p>Try it now: paste the contents of the hostname file into your web
|
|
|
+browser. If it works, you'll get the google frontpage, but the URL in your
|
|
|
+browser's window will be your hidden service hostname. If it doesn't work,
|
|
|
+look in your logs for some hints, and keep playing with it until it works.
|
|
|
+</p>
|
|
|
+
|
|
|
+<hr />
|
|
|
+<a name="two"></a>
|
|
|
+<h3>Step Two: Now install a web server locally</h3>
|
|
|
+
|
|
|
+<p>Now that you've got hidden services working on Tor, you need to
|
|
|
+set up your web server locally. Setting up a web server is tricky,
|
|
|
+so we're just going to go over a few basics here. If you get stuck
|
|
|
+or want to do more, find a friend who can help you.
|
|
|
+</p>
|
|
|
+
|
|
|
+<p>If you're on Unix or OS X and you're comfortable with
|
|
|
+the command-line, by far the best way to go is to install <a
|
|
|
+href="http://www.acme.com/software/thttpd/">thttpd</a>. Just grab the
|
|
|
+latest tarball, untar it (it will create its own directory), and run
|
|
|
+./configure && make. Then mkdir hidserv, cd hidserv, and run
|
|
|
+"../thttpd -p 5222 -h localhost". Wham, you're running a webserver on
|
|
|
+port 5222. You can put files to serve in the hidserv directory.
|
|
|
+</p>
|
|
|
+
|
|
|
+<p>If you're on Windows, ...
|
|
|
+</p>
|
|
|
+
|
|
|
+
|
|
|
+<hr />
|
|
|
+<a name="three"></a>
|
|
|
+<h3>Step Three: Connect your web server to your hidden service</h3>
|
|
|
+
|
|
|
+<p>This part is very simple. Open up your torrc again, and change the
|
|
|
+HiddenServicePort line from "www.google.com:80" to "localhost:5222".
|
|
|
+Then restart Tor. Make sure that it's working by reloading your hidden
|
|
|
+service hostname in your browser.
|
|
|
+</p>
|
|
|
|
|
|
<hr />
|
|
|
|