-
Notifications
You must be signed in to change notification settings - Fork 36.5k
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
torcontrol: Launch a private Tor instance when not already running #15421
Conversation
9ee79a4
to
61e1a11
Compare
NOTE: This uses boost::process, but currently doesn't have anything to check that it's actually available. |
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
This should be opt-in and not enabled by default, right? Starting It is bad usability (and perhaps even a breach of trust) to take actions on behalf of the end-user that the end-user cannot reasonably expect. With that said: if done in a 100% opt-in fashion this change seems fine conceptually. Technical feedback:
|
@luke-jr #15382 in its current incarnation uses @practicalswift I agree we shouldn't be launching arbitrary binaries named "tor" without the user opting into that. I'm not sure how this PR changes existing behavior. For modern versions of Tor we automatically create a hidden service if the user is running Tor: "if Tor is running (and proper authentication has been configured), Bitcoin Core automatically creates a hidden service to listen on", but that's quite different from starting Tor. |
@Sjors Yes, that is very different: if Tor is already running and proper authentication has been configured then the user has already opted in to using Tor. |
We already make outbound TCP connections by default. Note that this does not operate Tor as an exit node, nor does it even use it for outbound connections - it is exclusively for an inbound hidden service only. The end goal, is to display the hidden service address in a QR code for easy pairing with mobile wallets.
Not practical. We're going to need it either way from the sound of it. |
429377d
to
1977874
Compare
configure now checks for boost::process availability, and |
Could add |
@practicalswift I don't see the need - we already connect out on 8333... |
@luke-jr Sorry for being unclear. I was referring to the Tor network traffic :-) |
@practicalswift What does it matter? |
That's still detectable for network observers afaik. Let's just add a It also seems unsafe to call a random executable in the users path called |
@luke-jr I don't hold any strong opinion but my reasoning was the following: if we're adding a default configuration then we might as well doing it using port settings which maximise the likelihood of it working out of the box. |
48f4c54
to
5aef051
Compare
Rebased |
5aef051
to
6b8d283
Compare
🐙 This pull request conflicts with the target branch and needs rebase. Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft". |
Closing due to lack of agreement/reviews... |
No description provided.