-
Notifications
You must be signed in to change notification settings - Fork 12
feat: add Tor service #368
Conversation
See dperson/torproxy#44 about some of the questions you have when it comes to the warnings |
I am stuck unable to connect to the hidden service. The
But configuring a Dash Core wallet to connect to this service with following
Results in:
I think this is a problem in Tor config, because when the dashmate node is down, the error changes to:
This could be a problem for the Tor service to reach the |
Make sure to specify the right port
vs
|
Both ports are right, but in the context of MN server, 9050 is the right and tor the daemon runs on 9050. |
Thanks guys, finally had a good look at this again today. The proxy discussion above was beside the point, I was using the browser proxy under Windows, but unable to connect. Since picking this up again, I first tested dashd + Tor through a manual install without use of Docker or dashmate. This worked easily enough, and Tor was successfully configured by dashd through the ControlPort, and I was able to use the v2 hidden service address shown in the dashd logs to connect and sync from a remote node. I then implemented the same configuration in dashmate and saw the same hidden service output in the dashd logs, but a remote node was unable to connect in this configuration. I'm not sure how to debug this, we would need someone familiar with debugging the tor control specifications and what ports are needed. Regardless, I think the current implementation of the control specifications is not workable because it sets up a Tor v2 address. These addresses will stop working on or soon after 2021-10-15. Backporting Bitcoin #19954 will allow us to attempt setting up control from dashd again. Finally, I modified the Tor container configuration to set up a hidden service manually. This works fine by simply running |
We backported this in dashpay/dash#4181 |
Issue being fixed or feature implemented
Core devs have requested a Tor service option. This PR is based on this forum post by xkcd.
What was done?
How Has This Been Tested?
Testing on testnet. Following concerns:
[warn] You specified a public address '0.0.0.0:9040' for TransPort. Other people on the Internet might find your computer and use it as an open proxy. Please don't allow this unless you have a good reason.
How do we want this configured?
[warn] You specified a public address '0.0.0.0:9050' for SocksPort. Other people on the Internet might find your computer and use it as an open proxy. Please don't allow this unless you have a good reason.
How do we want this configured?
[warn] You have a ControlPort set to accept connections from a non-local address. This means that programs not running on your computer can reconfigure your Tor. That's pretty bad, since the controller protocol isn't encrypted! Maybe you should just listen on 127.0.0.1 and use a tool like stunnel or ssh to encrypt remote connections to your control port.
I believe this is secure because only containers in the Docker network can access this port. Let me know if I should try to implement stunnel or ssh anyway.
strophy/dashd:tor
is currently specified in this PR.Breaking Changes
Checklist:
For repository code-owners and collaborators only