Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

Native Tor support #344

Closed
Relaxo143 opened this issue Jul 21, 2021 · 7 comments
Closed

Native Tor support #344

Relaxo143 opened this issue Jul 21, 2021 · 7 comments

Comments

@Relaxo143
Copy link
Contributor

The only reliable way to connect to a node remotely right now is over VPN. Orbot is buggy and drains the battery. Implementing native Tor support would be greatly appreciated.

@michaelWuensch
Copy link
Contributor

Hi,
I am working on it. This will be the main task for the next release.
Actually I just got it working a few minutes ago, I was able to connect to my tor node without Orbot.
Still lots to do though, like testing different devices, stability, settings, UI, etc.

@Relaxo143
Copy link
Contributor Author

Hi,
I am working on it. This will be the main task for the next release.
Actually I just got it working a few minutes ago, I was able to connect to my tor node without Orbot.
Still lots to do though, like testing different devices, stability, settings, UI, etc.

Great to hear! I can help with testing if needed. Just need the .apk

@michaelWuensch
Copy link
Contributor

michaelWuensch commented Aug 11, 2021

@Relaxo143 Thanks,
if you want to test it and give feedback, you can build it yourself using the "nativeTor" Branch from my repo:
https://github.com/michaelWuensch/zap-android/tree/nativeTor

Considering the UX I am done I think. I still have to test reproducability though and add authentication with random passwords for the tor proxy.

@Relaxo143
Copy link
Contributor Author

@michaelWuensch Built and tested on Android 11. The integration seems to be working, connected to my node successfully and also sent a test payment. The TX history needs to be manually refreshed however, probably because of the longer time needed to connect.
On a side note, it's impossible to connect by scanning a QR. They are simply too big. Not sure if there's something that can be done about it.

@michaelWuensch
Copy link
Contributor

michaelWuensch commented Aug 16, 2021

@Relaxo143
Thanks for testing and glad to hear it is working!
In regards to the history refreshing issue. When do you have to refresh it exactly? After you did the transaction or right after opening the app? A more detailed description would help me to track it down.

QR Code scanning problem:
This depends on a lot of things.

  • Some phones can scan these dense codes, others can't (both using Zap Android)
  • The QR Code will be a lot less dense, if no certificate is included. For tor connection, no certificate is needed. What node implementation are you using? We could open an issue there to remove the cert from the connect string if tor is used.
  • And finally it would also be possible to reduce the density a lot by transmitting the cert hash instead of the full cert. I have outlined this here: Add version 2 (reduce QR-Code Density) lndconnect#19 But I decided to not try to push this as I feared it would do more harm than benefit, if there is another standard confusing people and causing compatibility issues.

@Relaxo143
Copy link
Contributor Author

@michaelWuensch Right after opening the app. After transactions, it updates automatically, but only if I've refreshed it manually after startup. I've seen this issue long before this Tor upgrade, when on a slow connection, so it's not causing it directly, but since Tor can slow down the connection time often enough I thought I'd mention it.

I am using mynode and I think they do include certs. Could another solution be to separate the info in a few smaller QR codes? I imagine it would be a hassle for both the wallet and node providers though.

@michaelWuensch
Copy link
Contributor

I have just released v0.5.0-beta which includes native Tor support.
This should solve the Tor connection issues.
If there are still problems after the update, feel free to open a new Issue.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants