|
|
|
|
|
by niz4ts
830 days ago
|
|
When I read this, I got a little too excited and thought they managed to get wireguard connections happening in the browser with webassembly (this isn't impossible, but the only attempt[0] I know of so far only works because of extra things tailscale has). It's an idea I've had for a project, but one I haven't had time to dedicate to (yet). In any case, really cool write-up! I wonder if they thought about making `flyctl` do a check with their API for any command that requires talking over wireguard to ensure the keys would be installed in the gateway. Since `flyctl` knows when the last command was run with it, it could do this only after some inactivity. And on the gateway machines, they'd just clean up any inactive peers with a cron (which they seem to be doing already). Not a solution as elegant as the one they reached (which is super cool), but I'm assuming the considerably lower effort would make it appealing. [0]: https://labs.leaningtech.com/blog/webvm-virtual-machine-with... |
|
We choose to use Tailscale since they allow WebSocket-based connections via their DERPs.
It is interesting that, originally, DERPs were intended to be a solution for machines in extremely limited networking environment where nothing but HTTP is allowed. Turns out browsers are exactly one of those extremely limited networking environments.