diff --git a/scripts/setup/machine-setup/lib/tailscale.sh b/scripts/setup/machine-setup/lib/tailscale.sh index e619d1d4..625a7034 100644 --- a/scripts/setup/machine-setup/lib/tailscale.sh +++ b/scripts/setup/machine-setup/lib/tailscale.sh @@ -62,16 +62,13 @@ tailscale_network_menu() { info "Which network should this machine join?" echo "" echo " [1] set up your own network — offscale" - echo " Your own coordination server, running on this machine. The" - echo " protocol is Tailscale's and the server is headscale's" - echo " open-source code — nothing about how machines find each other" - echo " changes. On computers you use the stock Tailscale client; on" - echo " iPhone, iPad and Android there is our own app, our own" - echo " implementation of the same protocol." - echo " What changes is the work: installing, running and upgrading it," - # TODO(pastilhas): more of them. The mobile apps are one specific worth naming; - # two or three others would be worth more than any sentence about "extras". - echo " and [ more goodies to be listed ]." + echo " Your own coordination server, here on this machine. The protocol" + echo " on the wire is Tailscale's and the encryption is WireGuard's;" + echo " offscale changes neither — it runs headscale's open-source code." + echo " What changes is the work: one command to install, certificates" + echo " included, managed from an app rather than a terminal, and" + echo " enrolling a device is a link and a tap." + echo " https://officer.dev/infrastructure/offscale.html" echo "" echo " [2] use a network you already run — headscale or offscale" echo " You already have a coordination server somewhere. Point this" @@ -112,26 +109,29 @@ tailscale_networks_help() { echo " it is now a service you host, and it needs to be reachable." echo "" echo " OFFSCALE" - echo " Our own distribution of headscale, which is to say: headscale." - echo " The protocol is untouched and the server is their open-source code," - echo " so a machine on an offscale network behaves exactly as it would on" - echo " either of the other two. There is no offscale protocol to be locked" - echo " into, because there is no offscale protocol." + echo " Our own distribution of headscale, which is to say: headscale. The" + echo " protocol on the wire is Tailscale's and the encryption is" + echo " WireGuard's, and offscale changes neither — it runs the same" + echo " open-source project. A machine on an offscale network behaves" + echo " exactly as it would on either of the other two. There is no offscale" + echo " protocol to be locked into, because there is no offscale protocol." echo "" - echo " On computers you use the stock Tailscale client, pointed at your" - echo " own server. On iPhone, iPad and Android there is our own app — our" - echo " implementation of the same protocol, rather than a wrapper around" - echo " theirs. That one matters more than it sounds: getting the official" - echo " mobile app to talk to a self-hosted server is the part of running" - echo " headscale that people give up at. Desktop apps of our own are not" - echo " there yet." + echo " Clients: stock Tailscale on computers. On iPhone, iPad and Android" + echo " there is our own app — our implementation of the same protocol" + echo " rather than a wrapper around theirs. That matters more than it" + echo " sounds: getting the official mobile app to talk to a self-hosted" + echo " server is the part of running headscale people give up at. Desktop" + echo " apps of our own are not there yet." echo "" - echo " What differs otherwise is everything around the server. Running" - echo " headscale yourself is a project: installing it, putting TLS in" - echo " front of it, keeping it upgraded, administering it through a config" - echo " file and a CLI. offscale makes that a step in a setup script, and" - # TODO(pastilhas): the rest of the specifics. - echo " adds [ more goodies to be listed ] on top." + echo " What it does that plain headscale does not:" + echo " · installs in one command, with the certificates handled" + echo " · health, logs, restarts and access policies from the app," + echo " instead of a config file and a CLI" + echo " · enrolling a device is a link and a tap — the key is minted" + echo " and handed over for you" + echo " · several networks at once, and services reachable across them" + echo "" + echo " https://officer.dev/infrastructure/offscale.html" echo "" echo " FOR OFFICER" echo " Whichever you pick, the tailnet is what Officer treats as its"