tor-hidden-service.html.en
上传用户:awang829
上传日期:2019-07-14
资源大小:2356k
文件大小:14k
源码类别:

网络

开发平台:

Unix_Linux

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/1998/REC-html40-19980424/loose.dtd">
  2. <html>
  3. <head>
  4.   <title>Tor: Hidden Service Configuration Instructions</title>
  5.   <meta name="Author" content="Roger Dingledine">
  6.   <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  7.   <link rel="stylesheet" type="text/css" href="../stylesheet-ltr.css">
  8.   <link rel="shortcut icon" type="image/x-icon" href="../favicon.ico">
  9. </head>
  10. <body>
  11. <div class="center">
  12. <table class="banner" border="0" cellpadding="0" cellspacing="0" summary="">
  13.     <tr>
  14.         <td class="banner-left"><a href="https://www.torproject.org/"><img src="../images/top-left.png" alt="Click to go to home page" width="193" height="79"></a></td>
  15.         <td class="banner-middle">
  16. <a href="../index.html.en">Home</a>
  17. <a href="../overview.html.en">Overview</a>
  18. <a href="../easy-download.html.en">Download</a>
  19. <a href="../documentation.html.en">Docs</a>
  20. <a href="../volunteer.html.en">Volunteer</a>
  21. <a href="../people.html.en">People</a>
  22. <a href="https://blog.torproject.org/">Blog</a>
  23. <a href="../donate.html.en">Donate!</a>
  24.         </td>
  25.         <td class="banner-right">
  26. <a href="tor-hidden-service.html.de"><acronym title="Deutsch"><img src="../images/de.png" alt="Deutsch" width="24" height="16"></acronym></a> <acronym title="English"><img src="../images/en.png" alt="English" width="24" height="16"></acronym> <a href="tor-hidden-service.html.es"><acronym title="espa&ntilde;ol"><img src="../images/es.png" alt="espa&ntilde;ol" width="24" height="16"></acronym></a> <img src="../images/green-flagspace.png" alt="" width="24" height="16"> <img src="../images/green-flagspace.png" alt="" width="24" height="16"> <a href="tor-hidden-service.html.fr"><acronym title="fran&ccedil;ais"><img src="../images/fr.png" alt="fran&ccedil;ais" width="24" height="16"></acronym></a> <a href="tor-hidden-service.html.it"><acronym title="Italiano"><img src="../images/it.png" alt="Italiano" width="24" height="16"></acronym></a> <img src="../images/green-flagspace.png" alt="" width="24" height="16"> <img src="../images/green-flagspace.png" alt="" width="24" height="16"> <img src="../images/green-flagspace.png" alt="" width="24" height="16"> <img src="../images/green-flagspace.png" alt="" width="24" height="16"> <a href="tor-hidden-service.html.pl"><acronym title="polski"><img src="../images/pl.png" alt="polski" width="24" height="16"></acronym></a> <img src="../images/green-flagspace.png" alt="" width="24" height="16"> <a href="tor-hidden-service.html.ru"><acronym title="&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;&nbsp;(Russkij)"><img src="../images/ru.png" alt="&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;&nbsp;(Russkij)" width="24" height="16"></acronym></a> <img src="../images/green-flagspace.png" alt="" width="24" height="16"> <img src="../images/green-flagspace.png" alt="" width="24" height="16"> <a href="tor-hidden-service.html.zh-cn"><acronym title="&#20013;&#25991;(&#31616;) (Simplified Chinese)"><img src="../images/zh-cn.png" alt="&#20013;&#25991;(&#31616;) (Simplified Chinese)" width="24" height="16"></acronym></a>
  27.         </td>
  28.     </tr>
  29. </table>
  30. <div class="center">
  31. <div class="main-column">
  32. <h1>Configuring Hidden Services for <a href="../index.html.en">Tor</a></h1>
  33. <hr>
  34. <p>Tor allows clients and relays to offer hidden services. That is,
  35. you can offer a web server, SSH server, etc., without revealing your
  36. IP address to its users. In fact, because you don't use any public address,
  37. you can run a hidden service from behind your firewall.
  38. </p>
  39. <p>If you have Tor and Privoxy installed, you can see hidden services
  40. in action by visiting <a href="http://duskgytldkxiuqc6.onion/">our
  41. example hidden service</a> or the <a
  42. href="http://gaddbiwdftapglkq.onion/">Wikileaks hidden service</a>.
  43. </p>
  44. <p>This howto describes the steps for setting up your own hidden service
  45. website. For the technical details of how the hidden service protocol
  46. works, see our <a href="../hidden-services.html.en">hidden service protocol</a> page.
  47. </p>
  48. <hr>
  49. <a id="zero"></a>
  50. <h2><a class="anchor" href="#zero">Step Zero: Get Tor and Privoxy working</a></h2>
  51. <br>
  52. <p>Before you start, you need to make sure:</p>
  53. <ol>
  54. <li>Tor is up and running,</li>
  55. <li>Privoxy is up and running,</li>
  56. <li>Privoxy is configured to point to Tor and</li>
  57. <li>You actually set it up correctly.</li>
  58. </ol>
  59. <p>Windows users should follow the <a
  60. href="../docs/tor-doc-windows.html.en">Windows
  61. howto</a>, OS X users should follow the <a
  62. href="../docs/tor-doc-osx.html.en">OS
  63. X howto</a>, and Linux/BSD/Unix users should follow the <a
  64. href="../docs/tor-doc-unix.html.en">Unix howto</a>.
  65. </p>
  66. <p>Once you've got Tor and Privoxy installed and configured,
  67. you can see hidden services in action by following this link to <a
  68. href="http://duskgytldkxiuqc6.onion/">our example hidden service</a>
  69. or the <a
  70. href="http://gaddbiwdftapglkq.onion/">Wikileaks hidden service</a>.
  71. It will typically take 10-60 seconds to load
  72. (or to decide that it is currently unreachable). If it fails
  73. immediately and your browser pops up an alert saying that
  74. "www.duskgytldkxiuqc6.onion could not be found, please check the name and
  75. try again" then you haven't configured Tor and Privoxy correctly; see <a
  76. href="https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#ItDoesntWork">the
  77. it-doesn't-work FAQ entry</a> for some help.
  78. </p>
  79. <hr>
  80. <a id="one"></a>
  81. <h2><a class="anchor" href="#one">Step One: Install a web server locally</a></h2>
  82. <br>
  83. <p>First, you need to set up a web server locally. Setting up a web
  84. server can be tricky,
  85. so we're just going to go over a few basics here. If you get stuck
  86. or want to do more, find a friend who can help you. We recommend you
  87. install a new separate web server for your hidden service, since even
  88. if you already have one installed, you may be using it (or want to use
  89. it later) for an actual website.
  90. </p>
  91. <p>If you're on Unix or OS X and you're comfortable with
  92. the command-line, by far the best way to go is to install <a
  93. href="http://www.acme.com/software/thttpd/">thttpd</a>. Just grab the
  94. latest tarball, untar it (it will create its own directory), and run
  95. <kbd>./configure &amp;&amp; make</kbd>. Then <kbd>mkdir hidserv; cd
  96. hidserv</kbd>, and run
  97. <kbd>../thttpd -p 5222 -h localhost</kbd>. It will give you back your prompt,
  98. and now you're running a webserver on port 5222. You can put files to
  99. serve in the hidserv directory.
  100. </p>
  101. <p>If you're on Windows, you might pick <a
  102. href="http://savant.sourceforge.net/">Savant</a> or <a
  103. href="http://httpd.apache.org/">Apache</a>, and be sure to configure it
  104. to bind only to localhost. You should also figure out what port you're
  105. listening on, because you'll use it below.
  106. </p>
  107. <p>(The reason we bind the web server only to localhost is to make
  108. sure it isn't publically accessible. If people could get to it directly,
  109. they could confirm that your computer is the one offering the hidden
  110. service.)
  111. </p>
  112. <p>Once you've got your web server set up, make sure it works: open your
  113. browser and go to <a
  114. href="http://localhost:5222/">http://localhost:5222/</a>, where 5222 is
  115. the port that you picked above. Then try putting a file in the main html
  116. directory, and make sure it shows up when you access the site.
  117. </p>
  118. <hr>
  119. <a id="two"></a>
  120. <h2><a class="anchor" href="#two">Step Two: Configure your hidden service</a></h2>
  121. <br>
  122. <p>Next, you need to configure your hidden service to point to your
  123. local web server.
  124. </p>
  125. <p>First, open your torrc file in your favorite text editor. (See <a
  126. href="https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#torrc">the
  127. torrc FAQ entry</a> to learn what this means.) Go to the middle section and
  128. look for the line</p>
  129. <pre>
  130. ############### This section is just for location-hidden services ###
  131. </pre>
  132. <p>
  133. This section of the file consists of groups of lines, each representing
  134. one hidden service. Right now they are all commented out (the lines
  135. start with #), so hidden services are disabled. Each group of lines
  136. consists of one <var>HiddenServiceDir</var> line, and one or more
  137. <var>HiddenServicePort</var> lines:</p>
  138. <ul>
  139. <li><var>HiddenServiceDir</var> is a directory where Tor will store information
  140. about that hidden service. In particular, Tor will create a file here named
  141. <var>hostname</var> which will tell you the onion URL. You don't need to add any
  142. files to this directory.</li>
  143. <li><var>HiddenServicePort</var> lets you specify a virtual port (that is, what
  144. port people accessing the hidden service will think they're using) and an
  145. IP address and port for redirecting connections to this virtual port.</li>
  146. </ul>
  147. <p>Add the following lines to your torrc:
  148. </p>
  149. <pre>
  150. HiddenServiceDir /Library/Tor/var/lib/tor/hidden_service/
  151. HiddenServicePort 80 127.0.0.1:5222
  152. </pre>
  153. <p>You're going to want to change the <var>HiddenServiceDir</var> line, so it points
  154. to an actual directory that is readable/writeable by the user that will
  155. be running Tor. The above line should work if you're using the OS X Tor
  156. package. On Unix, try "/home/username/hidserv/" and fill in your own
  157. username in place of "username". On Windows you might pick:</p>
  158. <pre>
  159. HiddenServiceDir C:Documents and SettingsusernameApplication Datahidden_service
  160. HiddenServicePort 80 127.0.0.1:5222
  161. </pre>
  162. <p>Now save the torrc, shut down
  163. your Tor, and then start it again.
  164. </p>
  165. <p>If Tor starts up again, great. Otherwise, something is wrong. First look at
  166. your logfiles for hints. It will print some warnings or error messages. That
  167. should give you an idea what went wrong. Typically there are typos in the torrc
  168. or wrong directory permissions (See <a
  169. href="https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#Logs">the
  170. logging FAQ entry</a> if you don't know how to enable or find your
  171. log file.)
  172. </p>
  173. <p>When Tor starts, it will automatically create the <var>HiddenServiceDir</var>
  174. that you specified (if necessary), and it will create two files there.</p>
  175. <dl>
  176. <dt><var>private_key</var></dt>
  177. <dd>First, Tor will generate a new public/private keypair for your hidden
  178. service. It is written into a file called "private_key". Don't share this key
  179. with others -- if you do they will be able to impersonate your hidden
  180. service.</dd>
  181. <dt><var>hostname</var></dt>
  182. <dd>The other file Tor will create is called "hostname". This contains
  183. a short summary of your public key -- it will look something like
  184. <tt>duskgytldkxiuqc6.onion</tt>. This is the public name for your service,
  185. and you can tell it to people, publish it on websites, put it on business
  186. cards, etc.</dd>
  187. </dl>
  188. <p>If Tor runs as a different user than you, for example on
  189. OS X, Debian, or Red Hat, then you may need to become root to be able
  190. to view these files.</p>
  191. <p>Now that you've restarted Tor, it is busy picking introduction points
  192. in the Tor network, and generating a <em>hidden service
  193. descriptor</em>. This is a signed list of introduction points along with
  194. the service's full public key. It anonymously publishes this descriptor
  195. to the directory servers, and other people anonymously fetch it from the
  196. directory servers when they're trying to access your service.
  197. </p>
  198. <p>Try it now: paste the contents of the hostname file into your web
  199. browser. If it works, you'll get the html page you set up in step one.
  200. If it doesn't work, look in your logs for some hints, and keep playing
  201. with it until it works.
  202. </p>
  203. <hr>
  204. <a id="three"></a>
  205. <h2><a class="anchor" href="#three">Step Three: More advanced tips</a></h2>
  206. <br>
  207. <p>If you plan to keep your service available for a long time, you might
  208. want to make a backup copy of the <var>private_key</var> file somewhere.
  209. </p>
  210. <p>We avoided recommending Apache above, a) because many people might
  211. already be running it for a public web server on their computer, and b)
  212. because it's big
  213. and has lots of places where it might reveal your IP address or other
  214. identifying information, for example in 404 pages. For people who need
  215. more functionality, though, Apache may be the right answer. Can
  216. somebody make us a checklist of ways to lock down your Apache when you're
  217. using it as a hidden service? Savant probably has these problems too.
  218. </p>
  219. <p>If you want to forward multiple virtual ports for a single hidden
  220. service, just add more <var>HiddenServicePort</var> lines.
  221. If you want to run multiple hidden services from the same Tor
  222. client, just add another <var>HiddenServiceDir</var> line. All the following
  223. <var>HiddenServicePort</var> lines refer to this <var>HiddenServiceDir</var> line, until
  224. you add another <var>HiddenServiceDir</var> line:
  225. </p>
  226. <pre>
  227. HiddenServiceDir /usr/local/etc/tor/hidden_service/
  228. HiddenServicePort 80 127.0.0.1:8080
  229. HiddenServiceDir /usr/local/etc/tor/other_hidden_service/
  230. HiddenServicePort 6667 127.0.0.1:6667
  231. HiddenServicePort 22 127.0.0.1:22
  232. </pre>
  233. <p>There are some anonymity issues you should keep in mind too:
  234. </p>
  235. <ul>
  236. <li>As mentioned above, be careful of letting your web server reveal
  237. identifying information about you, your computer, or your location.
  238. For example, readers can probably determine whether it's thttpd or
  239. Apache, and learn something about your operating system.</li>
  240. <li>If your computer isn't online all the time, your hidden service
  241. won't be either. This leaks information to an observant adversary.</li>
  242. <!-- increased risks over time -->
  243. </ul>
  244. <hr>
  245. <p>If you have suggestions for improving this document, please <a
  246. href="../contact.html.en">send them to us</a>. Thanks!</p>
  247.   </div><!-- #main -->
  248. </div>
  249. <hr>
  250. </div>
  251.   <div class="bottom" id="bottom">
  252.      <p>"Tor" and the "Onion Logo" are <a href="../trademark-faq.html.en">registered trademarks</a> of The Tor Project, Inc.
  253.      <br>
  254.     Content on this site is licensed under a <a href="http://creativecommons.org/licenses/by/3.0/us/">Creative Commons Attribution 3.0 United States License</a>, unless otherwise noted.
  255.     </p>
  256.      <p>
  257.        This page is also available in the following languages:
  258.        <a href="tor-hidden-service.html.de">Deutsch</a>, <a href="tor-hidden-service.html.es">espa&ntilde;ol</a>, <a href="tor-hidden-service.html.fr">fran&ccedil;ais</a>, <a href="tor-hidden-service.html.it">Italiano</a>, <a href="tor-hidden-service.html.pl">polski</a>, <a href="tor-hidden-service.html.ru">&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;&nbsp;(Russkij)</a>, <a href="tor-hidden-service.html.zh-cn">&#20013;&#25991;(&#31616;) (Simplified Chinese)</a>.<br>
  259.        How to set <a href="http://www.debian.org/intro/cn#howtoset">the default document language</a>.
  260.      </p>
  261.      <p>
  262.      <i><a href="../contact.html.en" class="smalllink">Webmaster</a></i> -
  263.       Last modified: Thu Jul 16 19:44:34 2009
  264.       -
  265.       Last compiled: Sun Oct 18 00:33:30 2009
  266.      </p>
  267.   </div>
  268. </body>
  269. </html>