(no title)
niz4ts | 1 year ago
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...
apignotti|1 year ago
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.
apitman|1 year ago
Some context that I wasn't initially aware of: apignotti is the CTO of Leaning Technologies, which is where the article GP linked is from.
gz5|1 year ago
MSFT RDP (video):https://youtu.be/1NMrxRIowog
Private network for Grafana (video):https://youtu.be/l5ktiI-j3eg
Private network for Plex (blog post)https://blog.openziti.io/its-a-zitiful-life
Basically you decide what 'app' you want to deliver via the overlay, e.g. Grafana, Plex, RDP. For those destinations, a (one time) bootstrapping process (invisible to end user) results in your browser receiving a <script> tag which includes some configuration when the browser attempts to connect to the destination (Grafana etc). This ultimately results in the browser downloading some JavaScript and WA, and registering a service worker (the wasm contains the PKI bits).
After successful auth, your browser can then open a websocket to your private OpenZiti overlay network (distributed, OpenZiti overlay network software routers, deployed where you want them), and ultimately hit the app (which no longer needs to listen to anything other than the overlay network; becomes private).
Desktop Chrome is the most tested, followed by Android Chrome.
tptacek|1 year ago
The way we think about things, if we were going to try to provide a browser experience of doing something with WireGuard, we'd probably just fork off a tiny Fly Machine VM to run it on. Just a different vibe here.
SparkyMcUnicorn|1 year ago
https://tailscale.com/blog/ssh-console
https://www.npmjs.com/package/@tailscale/connect
unknown|1 year ago
[deleted]