Arti integration: onion services #503
Labels
No Label
AdminAPI
Bug
Check AWS
CI
Correctness
Critical
Documentation
Ideas
Improvement
Low priority
Newcomer
Performance
S3 Compatibility
Testing
Usability
No Milestone
No Assignees
4 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Deuxfleurs/garage#503
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Might be a bit early for this, but filing for future reference:
The Tor project has been porting their C based daemon to Rust, with the goal of making it embeddable:
They've started landing the onion services API pieces:
It would be epic - if I could do:
...and then garage leverages an embedded arti to:
tor
label or something)The last step could even deprecate https://gitlab.torproject.org/asn/onionbalance (for at least static sites)
cc @trinity-1686a
Hi @jpds, Deuxfleurs member and Tor core contributor there 👋
It's indeed a bit early, Arti just started parsing documents and cells related to onion services, it'll be a few months before we can actually try to do anything. But we can still discuss the idea.
This would be a very nice feature in my opinion, but I'm not sure it should lie in Garage. Deuxfleurs uses its own reverse proxy, and I believe such a feature should be implemented in that class of software, rather than an object-storage+static website backend. The only argument I really see in favour of that feature being in Garage is that Tricot has no users that I know of besides Deuxfleurs, so it wouldn't profit that many people to implement this feature there. I'm very open to being convinced if you have more arguments!
Having some support for an integrated onionbalance would be very nice touch. That thing is very cool in theory, but it feels so much like an afterthough in practice. I can't recall the last time I saw it being used outside of eotk and some experimentations.
The difficulty there is that there's no simple way of mapping the random hidden service URLs spawned by arti (in garage) into the multitude of external proxy implementations (in addition to having to run a separate arti instance at that level).
As opposed to Garage which would already know what the hidden URL is and already has a webserver (+ensuring the E2EE for the hidden service to the storage backend).
I think we can safely say that this is outside the scope of Garage. The best way to configure this is probably to add an Nginx reverse proxy somewhere that injects a
Host
header so that Garage loads the contents from the correct bucket. This also allows to add HTTPS support, which Garage's web endpoint does not (and will not) support. These kinds of configurations can easily be automated with e.g. NixOS.HTTPS isn't required for a hidden service, Tor already does the E2EE.