Connect to Tor hidden services by default
Adds 127.0.0.1:9050 for the .onion proxy if we can succesfully connect to the control port. Natural followup to creating hidden services automatically.
This commit is contained in:
parent
0b0fc179ab
commit
cde857f2d9
2 changed files with 14 additions and 4 deletions
|
@ -151,8 +151,8 @@ mining with the getblocktemplate protocol to a pool: this will affect you at
|
||||||
the pool operator's discretion, which must be no later than BIP65 achieving its
|
the pool operator's discretion, which must be no later than BIP65 achieving its
|
||||||
951/1001 status.
|
951/1001 status.
|
||||||
|
|
||||||
Automatically listen on Tor
|
Automatically use Tor hidden services
|
||||||
----------------------------
|
-------------------------------------
|
||||||
|
|
||||||
Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket
|
Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket
|
||||||
API, to create and destroy 'ephemeral' hidden services programmatically.
|
API, to create and destroy 'ephemeral' hidden services programmatically.
|
||||||
|
@ -160,8 +160,9 @@ Bitcoin Core has been updated to make use of this.
|
||||||
|
|
||||||
This means that if Tor is running (and proper authorization is available),
|
This means that if Tor is running (and proper authorization is available),
|
||||||
Bitcoin Core automatically creates a hidden service to listen on, without
|
Bitcoin Core automatically creates a hidden service to listen on, without
|
||||||
manual configuration. This will positively affect the number of available
|
manual configuration. Bitcoin Core will also use Tor automatically to connect
|
||||||
.onion nodes.
|
to other .onion nodes if the control socket can be successfully opened. This
|
||||||
|
will positively affect the number of available .onion nodes and their usage.
|
||||||
|
|
||||||
This new feature is enabled by default if Bitcoin Core is listening, and
|
This new feature is enabled by default if Bitcoin Core is listening, and
|
||||||
a connection to Tor can be made. It can be configured with the `-listenonion`,
|
a connection to Tor can be made. It can be configured with the `-listenonion`,
|
||||||
|
|
|
@ -449,6 +449,15 @@ void TorController::auth_cb(TorControlConnection& conn, const TorControlReply& r
|
||||||
{
|
{
|
||||||
if (reply.code == 250) {
|
if (reply.code == 250) {
|
||||||
LogPrint("tor", "tor: Authentication succesful\n");
|
LogPrint("tor", "tor: Authentication succesful\n");
|
||||||
|
|
||||||
|
// Now that we know Tor is running setup the proxy for onion addresses
|
||||||
|
// if -onion isn't set to something else.
|
||||||
|
if (GetArg("-onion", "") == "") {
|
||||||
|
proxyType addrOnion = proxyType(CService("127.0.0.1", 9050), true);
|
||||||
|
SetProxy(NET_TOR, addrOnion);
|
||||||
|
SetReachable(NET_TOR);
|
||||||
|
}
|
||||||
|
|
||||||
// Finally - now create the service
|
// Finally - now create the service
|
||||||
if (private_key.empty()) // No private key, generate one
|
if (private_key.empty()) // No private key, generate one
|
||||||
private_key = "NEW:BEST";
|
private_key = "NEW:BEST";
|
||||||
|
|
Loading…
Reference in a new issue