aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGiel van Schijndel <[email protected]>2012-06-24 12:34:15 +0200
committerGiel van Schijndel <[email protected]>2012-06-24 12:34:15 +0200
commit415a87ef363396fe689ec452a30d36b1752eab2e (patch)
tree1f68453bf98ac1a4a94394e2792fd3175480cd52 /doc
parent*Always* send a shutdown signal to enable custom shutdown actions (diff)
parentMerge pull request #1174 from sipa/torhs (diff)
downloaddiscoin-415a87ef363396fe689ec452a30d36b1752eab2e.tar.xz
discoin-415a87ef363396fe689ec452a30d36b1752eab2e.zip
Merge branch 'master' into async-ipv6-rpc
Diffstat (limited to 'doc')
-rw-r--r--doc/Tor.txt96
-rw-r--r--doc/build-msw.txt2
-rw-r--r--doc/build-osx.txt20
-rw-r--r--doc/build-unix.txt4
4 files changed, 109 insertions, 13 deletions
diff --git a/doc/Tor.txt b/doc/Tor.txt
new file mode 100644
index 000000000..f44b016f2
--- /dev/null
+++ b/doc/Tor.txt
@@ -0,0 +1,96 @@
+TOR SUPPORT IN BITCOIN
+======================
+
+It is possible to run Bitcoin as a Tor hidden service, and connect to such services.
+
+The following assumes you have a Tor proxy running on port 9050. Many distributions
+default to having a SOCKS proxy listening on port 9050, but others may not.
+In particular, the Tor Browser Bundle defaults to listening on a random port. See
+https://www.torproject.org/docs/faq.html.en#TBBSocksPort for how to properly
+configure Tor.
+
+
+1. Run bitcoin behind a Tor proxy
+---------------------------------
+
+The first step is running Bitcoin behind a Tor proxy. This will already make all
+outgoing connections be anonimized, but more is possible.
+
+-socks=5 SOCKS5 supports connecting-to-hostname, which can be used instead
+ of doing a (leaking) local DNS lookup. SOCKS5 is the default,
+ but SOCKS4 does not support this. (SOCKS4a does, but isn't
+ implemented).
+
+-proxy=ip:port Set the proxy server. If SOCKS5 is selected (default), this proxy
+ server will be used to try to reach .onion addresses as well.
+
+-tor=ip:port Set the proxy server to use for tor hidden services. You do not
+ need to set this if it's the same as -proxy. You can use -notor
+ to explicitly disable access to hidden service.
+
+-dnsseed DNS seeds are not resolved directly when a SOCKS5 proxy server is
+ set. Rather, a short-lived proxy connection to the dns seed
+ hostname is attempted, and peer addresses are requested.
+
+-listen When using -proxy, listening is disabled by default. If you want
+ to run a hidden service (see next section), you'll need to enable
+ it explicitly.
+
+-connect=X When behing a Tor proxy, you can specify .onion addresses instead
+-addnode=X of IP addresses or hostnames in these parameters. It requires
+-seednode=X SOCKS5. In Tor mode, such addresses can also be exchanged with
+ other P2P nodes.
+
+In a typical situation, this suffices to run behind a Tor proxy:
+
+ ./bitcoin -proxy=127.0.0.1:9050
+
+
+2. Run a bitcoin hidden server
+------------------------------
+
+If you configure your Tor system accordingly, it is possible to make your node also
+reachable from the Tor network. Add these lines to your /etc/tor/torrc (or equivalent
+config file):
+
+ HiddenServiceDir /var/lib/tor/bitcoin-service/
+ HiddenServicePort 8333 127.0.0.1:8333
+
+The directory can be different of course, but (both) 8333's should be equal to your
+bitcoind's P2P listen port (8333 by default).
+
+-externalip=X You can tell bitcoin about its publically reachable address using
+ this option, and this can be a .onion address. Given the above
+ configuration, you can find your onion address in
+ /var/lib/tor/bitcoin-service/hostname. Onion addresses are given
+ preference for your node to advertize itself with, for connections
+ coming from unroutable addresses (such as 127.0.0.1, where the
+ Tor proxy typically runs).
+
+-listen You'll need to enable listening for incoming connections, as this
+ is off by default behind a proxy.
+
+-discover When -externalip is specified, no attempt is made to discover local
+ IPv4 or IPv6 addresses. If you want to run a dual stack, reachable
+ from both Tor and IPv4 (or IPv6), you'll need to either pass your
+ other addresses using -externalip, or explicitly enable -discover.
+ Note that both addresses of a dual-stack system may be easily
+ linkable using traffic analysis.
+
+In a typical situation, where you're only reachable via Tor, this should suffice:
+
+ ./bitcoind -proxy=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -listen
+
+(obviously replace the Onion address with your own). If you don't care too much
+about hiding your node, and want to be reachable on IPv4 as well, additionally
+specify:
+
+ ./bitcoind ... -discover
+
+and open port 8333 on your firewall (or use -upnp).
+
+If you only want to use Tor to reach onion addresses, but not use it as a proxy
+for normal IPv4/IPv6 communication, use:
+
+ ./bitcoin -tor=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover
+
diff --git a/doc/build-msw.txt b/doc/build-msw.txt
index 73ea81275..ad23e6867 100644
--- a/doc/build-msw.txt
+++ b/doc/build-msw.txt
@@ -7,7 +7,7 @@ cryptographic software written by Eric Young ([email protected]) and UPnP
software written by Thomas Bernard.
-See readme-qt.rst for instructions on building Bitcoin QT, the
+See readme-qt.rst for instructions on building Bitcoin-Qt, the
graphical user interface.
WINDOWS BUILD NOTES
diff --git a/doc/build-osx.txt b/doc/build-osx.txt
index 256614f7a..24e825ca8 100644
--- a/doc/build-osx.txt
+++ b/doc/build-osx.txt
@@ -1,10 +1,10 @@
Copyright (c) 2009-2012 Bitcoin Developers
-Distributed under the MIT/X11 software license, see the accompanying file
-license.txt or http://www.opensource.org/licenses/mit-license.php. This
-product includes software developed by the OpenSSL Project for use in the
-OpenSSL Toolkit (http://www.openssl.org/). This product includes cryptographic
-software written by Eric Young ([email protected]) and UPnP software written by
-Thomas Bernard.
+Distributed under the MIT/X11 software license, see the accompanying
+file license.txt or http://www.opensource.org/licenses/mit-license.php.
+This product includes software developed by the OpenSSL Project for use in
+the OpenSSL Toolkit (http://www.openssl.org/). This product includes
+cryptographic software written by Eric Young ([email protected]) and UPnP
+software written by Thomas Bernard.
Mac OS X bitcoind build instructions
@@ -12,17 +12,17 @@ Laszlo Hanyecz <[email protected]>
Douglas Huff <[email protected]>
-See readme-qt.rst for instructions on building Bitcoin QT, the
+See readme-qt.rst for instructions on building Bitcoin-Qt, the
graphical user interface.
-Tested on 10.5 and 10.6 intel. PPC is not supported because it's big-endian.
+Tested on 10.5, 10.6 and 10.7 intel. PPC is not supported because it's big-endian.
All of the commands should be executed in Terminal.app.. it's in
/Applications/Utilities
You need to install XCode with all the options checked so that the compiler and
-everything is available in /usr not just /Developer I think it comes on the DVD
-but you can get the current version from http://developer.apple.com
+everything is available in /usr not just /Developer. XCode should be available on your OS X
+install DVD, but if not, you can get the current version from https://developer.apple.com/xcode/
1. Clone the github tree to get the source code:
diff --git a/doc/build-unix.txt b/doc/build-unix.txt
index 9033301ab..825491bba 100644
--- a/doc/build-unix.txt
+++ b/doc/build-unix.txt
@@ -16,8 +16,8 @@ To Build
cd src/
make -f makefile.unix # Headless bitcoin
-See readme-qt.rst for instructions on building Bitcoin QT,
-the graphical bitcoin.
+See readme-qt.rst for instructions on building Bitcoin-Qt,
+the graphical user interface.
Dependencies
------------