Andrew Lewman commited on 2012-04-12 14:34:34
Zeige 2 geänderte Dateien mit 61 Einfügungen und 77 Löschungen.
... | ... |
@@ -69,17 +69,16 @@ |
69 | 69 |
# use? |
70 | 70 |
|
71 | 71 |
<p> |
72 |
- Step three: A client that wants to contact a hidden service needs to |
|
73 |
- learn about its |
|
74 |
- onion address first. After that, the client can initiate connection |
|
75 |
- establishment by downloading the descriptor from the distributed hash |
|
76 |
- table. If |
|
77 |
- there is a descriptor for XYZ.onion (the hidden service could also be |
|
78 |
- offline or have left long ago, or there could be a typo in the onion |
|
79 |
- address), the client now knows the set of introduction points and the |
|
80 |
- right public key to use. Around this time, the client also creates |
|
81 |
- a circuit to another randomly picked relay and asks it to act as |
|
82 |
- <em>rendezvous point</em> by telling it a one-time secret. |
|
72 |
+ Step three: A client that wants to contact a hidden service needs |
|
73 |
+ to learn about its onion address first. After that, the client can |
|
74 |
+ initiate connection establishment by downloading the descriptor from |
|
75 |
+ the distributed hash table. If there is a descriptor for XYZ.onion |
|
76 |
+ (the hidden service could also be offline or have left long ago, |
|
77 |
+ or there could be a typo in the onion address), the client now |
|
78 |
+ knows the set of introduction points and the right public key to |
|
79 |
+ use. Around this time, the client also creates a circuit to another |
|
80 |
+ randomly picked relay and asks it to act as <em>rendezvous point</em> |
|
81 |
+ by telling it a one-time secret. |
|
83 | 82 |
</p> |
84 | 83 |
|
85 | 84 |
<img alt="Tor hidden service step three" src="$(IMGROOT)/THS-3.png"> |
... | ... |
@@ -87,24 +86,23 @@ |
87 | 86 |
# "IP1-3" and "PK" |
88 | 87 |
|
89 | 88 |
<p> |
90 |
- Step four: When the descriptor is present and the rendezvous point is |
|
91 |
- ready, the client assembles an <em>introduce</em> |
|
92 |
- message (encrypted to the hidden service's public key) including the |
|
93 |
- address of the rendezvous point and the one-time secret. The client sends |
|
94 |
- this message to one of the introduction points, requesting it be delivered |
|
95 |
- to the hidden service. Again, communication takes place via a Tor circuit: |
|
96 |
- nobody can relate sending the introduce message to the client's IP |
|
97 |
- address, so the client remains anonymous. |
|
89 |
+ Step four: When the descriptor is present and the rendezvous |
|
90 |
+ point is ready, the client assembles an <em>introduce</em> message |
|
91 |
+ (encrypted to the hidden service's public key) including the address |
|
92 |
+ of the rendezvous point and the one-time secret. The client sends |
|
93 |
+ this message to one of the introduction points, requesting it be |
|
94 |
+ delivered to the hidden service. Again, communication takes place |
|
95 |
+ via a Tor circuit: nobody can relate sending the introduce message |
|
96 |
+ to the client's IP address, so the client remains anonymous. |
|
98 | 97 |
</p> |
99 | 98 |
|
100 | 99 |
<img alt="Tor hidden service step four" src="$(IMGROOT)/THS-4.png"> |
101 | 100 |
|
102 | 101 |
<p> |
103 | 102 |
Step five: The hidden service decrypts the client's introduce message |
104 |
- and finds the |
|
105 |
- address of the rendezvous point and the one-time secret in it. The service |
|
106 |
- creates a circuit to the rendezvous point and sends the one-time secret to |
|
107 |
- it in a rendezvous message. |
|
103 |
+ and finds the address of the rendezvous point and the one-time secret |
|
104 |
+ in it. The service creates a circuit to the rendezvous point and |
|
105 |
+ sends the one-time secret to it in a rendezvous message. |
|
108 | 106 |
</p> |
109 | 107 |
|
110 | 108 |
<p> |
... | ... |
@@ -20,13 +20,32 @@ |
20 | 20 |
</p> |
21 | 21 |
|
22 | 22 |
<p>If you have Tor installed, you can see hidden services |
23 |
- in action by visiting <a href="http://duskgytldkxiuqc6.onion/">our |
|
24 |
- example hidden service</a>. |
|
23 |
+ in action by visiting one of our official hidden services: |
|
24 |
+ <ul> |
|
25 |
+ <li><a href="http://idnxcnkne4qt76tg.onion/">The Tor Project Website</a></li> |
|
26 |
+ <li><a href="http://j6im4v42ur6dpic3.onion/">The Tor Package Archive</a></li> |
|
27 |
+ <li><a href="http://p3igkncehackjtib.onion/">The Tor Media Archive</a></li> |
|
28 |
+ </ul> |
|
29 |
+ |
|
30 |
+ Others run reliable hidden services, such as <a |
|
31 |
+ href="http://3g2upl4pq6kufc4m.onion/">The Duck Duck |
|
32 |
+ Go</a> search engine and someone hosting a <a |
|
33 |
+ href="http://duskgytldkxiuqc6.onion/">sample site</a>. |
|
34 |
+ </p> |
|
35 |
+ <p> |
|
36 |
+ It will typically take 10-60 seconds to load (or to decide that the |
|
37 |
+ service is currently unreachable). If it fails immediately and your |
|
38 |
+ browser pops up an alert saying that "www.duskgytldkxiuqc6.onion could |
|
39 |
+ not be found, please check the name and try again" then you haven't |
|
40 |
+ configured Tor correctly; see <a href="<page docs/faq>#DoesntWork">the |
|
41 |
+ it-doesn't-work FAQ entry</a> for some help. |
|
25 | 42 |
</p> |
26 | 43 |
|
27 |
- <p>This howto describes the steps for setting up your own hidden service |
|
44 |
+ <p> |
|
45 |
+ This howto describes the steps for setting up your own hidden service |
|
28 | 46 |
website. For the technical details of how the hidden service protocol |
29 |
- works, see our <a href="<page docs/hidden-services>">hidden service protocol</a> page. |
|
47 |
+ works, see our <a href="<page docs/hidden-services>">hidden service |
|
48 |
+ protocol</a> page. |
|
30 | 49 |
</p> |
31 | 50 |
|
32 | 51 |
<hr> |
... | ... |
@@ -49,63 +68,30 @@ |
49 | 68 |
href="<page docs/tor-doc-unix>">Unix howto</a>. |
50 | 69 |
</p> |
51 | 70 |
|
52 |
- <p>Once you've got Tor installed and configured, |
|
53 |
- you can see hidden services in action by following this link to <a |
|
54 |
- href="http://duskgytldkxiuqc6.onion/">our example hidden service</a> |
|
55 |
- or the <a |
|
56 |
- href="http://3g2upl4pq6kufc4m.onion/">DuckDuckGo search engine hidden service</a>. |
|
57 |
- It will typically take 10-60 seconds to load (or to decide that it |
|
58 |
- is currently unreachable). If it fails immediately and your browser |
|
59 |
- pops up an alert saying that "www.duskgytldkxiuqc6.onion could not |
|
60 |
- be found, please check the name and try again" then you haven't |
|
61 |
- configured Tor correctly; see <a |
|
62 |
- href="<page docs/faq>#DoesntWork">the |
|
63 |
- it-doesn't-work FAQ entry</a> for some help. |
|
64 |
- </p> |
|
65 |
- |
|
66 | 71 |
<hr> |
67 | 72 |
<a id="one"></a> |
68 | 73 |
<h2><a class="anchor" href="#one">Step One: Install a web server locally</a></h2> |
69 | 74 |
<br> |
70 | 75 |
|
71 |
- <p>First, you need to set up a web server locally. Setting up a web |
|
72 |
- server can be tricky, |
|
73 |
- so we're just going to go over a few basics here. If you get stuck |
|
74 |
- or want to do more, find a friend who can help you. We recommend you |
|
75 |
- install a new separate web server for your hidden service, since even |
|
76 |
- if you already have one installed, you may be using it (or want to use |
|
77 |
- it later) for an actual website. |
|
78 |
- </p> |
|
79 |
- |
|
80 |
- <p>If you're on Unix or OS X and you're comfortable with |
|
81 |
- the command-line, by far the best way to go is to install <a |
|
82 |
- href="http://www.acme.com/software/thttpd/">thttpd</a>. Just grab the |
|
83 |
- latest tarball, untar it (it will create its own directory), and run |
|
84 |
- <kbd>./configure && make</kbd>. Then <kbd>mkdir hidserv; cd |
|
85 |
- hidserv</kbd>, and run |
|
86 |
- <kbd>../thttpd -p 5222 -h localhost</kbd>. It will give you back your prompt, |
|
87 |
- and now you're running a webserver on port 5222. You can put files to |
|
88 |
- serve in the hidserv directory. |
|
89 |
- </p> |
|
90 |
- |
|
91 |
- <p>If you're on Windows, you might pick <a |
|
92 |
- href="http://savant.sourceforge.net/">Savant</a> or <a |
|
93 |
- href="http://httpd.apache.org/">Apache</a>, and be sure to configure it |
|
94 |
- to bind only to localhost. You should also figure out what port you're |
|
95 |
- listening on, because you'll use it below. |
|
96 |
- </p> |
|
97 |
- |
|
98 |
- <p>(The reason we bind the web server only to localhost is to make |
|
99 |
- sure it isn't publically accessible. If people could get to it directly, |
|
100 |
- they could confirm that your computer is the one offering the hidden |
|
101 |
- service.) |
|
76 |
+ <p> |
|
77 |
+ First, you need to set up a web server locally. Setting up a web |
|
78 |
+ server can be tricky, so we're just going to go over a few basics |
|
79 |
+ here. If you get stuck or want to do more, find a friend who can |
|
80 |
+ help you. We recommend you install a new separate web server for |
|
81 |
+ your hidden service, since even if you already have one installed, |
|
82 |
+ you may be using it (or want to use it later) for an actual website. |
|
102 | 83 |
</p> |
103 | 84 |
|
104 |
- <p>Once you've got your web server set up, make sure it works: open your |
|
105 |
- browser and go to <a |
|
106 |
- href="http://localhost:5222/">http://localhost:5222/</a>, where 5222 is |
|
107 |
- the port that you picked above. Then try putting a file in the main html |
|
108 |
- directory, and make sure it shows up when you access the site. |
|
85 |
+ <p> |
|
86 |
+ Once you've got your web server set up, make |
|
87 |
+ sure it works: open your browser and go to <a |
|
88 |
+ href="http://localhost:5222/">http://localhost:5222/</a>, where |
|
89 |
+ 5222 is the port that you picked above. Then try putting a file in |
|
90 |
+ the main html directory, and make sure it shows up when you access |
|
91 |
+ the site. The reason we bind the web server only to localhost is to |
|
92 |
+ make sure it isn't publically accessible. If people could get to it |
|
93 |
+ directly, they could confirm that your computer is the one offering |
|
94 |
+ the hidden service. |
|
109 | 95 |
</p> |
110 | 96 |
|
111 | 97 |
<hr> |
112 | 98 |