-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement support for Tor Hidden Services and outbound connection establishment #186
Comments
Hey @lostinblue ! Great to see that someone is willing to contribute in the project. The additional information which might be helpful for you. |
Oops 😁 |
@lostinblue sounds like a plan, very excited to see this implemented! The networking/connection handling of |
I would like to work on this. I think lnd should implement its own interface to Tor's control port. The first library does not have enough functionality and the second has too much for what lnd needs to do. Also the first library is a bit out of date. Plus implementing a new interface to Tor's control port isn't a huge undertaking. |
I've looked for a couple of hours, and though Tor now uses Ed25519, it does not yet use it for hidden services. No sources online that I could find indicated that it was possible or showed how to generate a hidden service with a Ed25519 secret key. I used the ControlPort's "ADD_ONION NEW:privkey Port=port" command with an Ed25519 key and received a 513 Invalid Key error. I also tried creating a hidden service via HiddenServiceDir & HiddenServicePort flags in my .torrc but to no avail. I also looked in Tor's documentation about the config file (https://www.torproject.org/docs/tor-manual.html.en) and found nothing about the next-gen hidden services. However, Ed25519 is mentioned quite a bit. EDIT: If I am wrong, please tell me but I do not think Ed25519 is implemented yet for hidden services. |
I have several questions:
|
Since v3 addresses were released, I'll resume my work on this. Should also make it so that people don't need to port forward anymore when running |
Currently,
lnd
isn't able to connect to other peers over Tor, nor able to set up a hidden service and use that address as its publicly accessible address. As not all users will want to, or be able to advetise a publicly routed IP address, support for Tor hidden services should be integrated into the daemon. In addition to solving a slew of NAT issues, Tor hidden services also hide the location of the advertisinglnd
node, and make the system much more private when in us.The Tor control port should be used to detect a local Tor daemon, and automatically set up an hidden service which
lnd
will use as its sole listening interface (if specified by a command line option). These two libraries may be of interest (or we implement our own interface to the Tor control port):Steps To Completion
NodeAnnouncement
p2p message. Both the current generation onion addresses, and the next generation (prop224 whenever they figure out what the encoding is) should be added.lnd
which ensures that it only connects to other peers over Tor and solely listens on a created hidden service address.The text was updated successfully, but these errors were encountered: