Skip to content
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

Remove Tor embedded library and use onion addresses #662

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

dpad85
Copy link
Member

@dpad85 dpad85 commented Dec 12, 2024

This PR removes the tor-mobile-kmp library embedded inside Phoenix. Access to Tor is not done by Phoenix anymore, instead, when Tor is enabled in the application, Phoenix will exclusively use onion addresses when connecting to the Lightning peer and to Electrum.

Access to the Tor network is delegated to a Tor proxy application that needs to be installed by the user (such as Orbot).

This provides several improvements:

  • Receiving payments in the background with Tor enabled will be more reliable, because the Tor proxy app will be able to run continuously (since it's a VPN application enjoying specific privileges).
  • Using onion addresses ensures that the app cannot connect if Tor is unavailable for some reason.
  • The previous Tor option only covered Lightning and Electrum connections, but not HTTP ones (which include API calls for feerates or btc/fiat rates).

Besides, the tor-mobile-kmp library was difficult to maintain. For example, it did not contain a recent Tor binary. Orbot will do a much better job at that. Our library also caused issues with the Kotlin 2.0 update, and with M3 chips.

This description is a WIP.

robbiehanson and others added 4 commits December 12, 2024 15:26
The Tor proxy status UI has been removed. Phoenix now controls
that the Electrum server is an onion address, or shows a message
otherwise. The "enable tor" switch and the confirmation dialog
have been updated.

Some warning about background payments have been amended or
removed since using a Tor VPN app should be more reliable.

Translation have been removed and need to be fixed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants