write the offscale copy from officer.dev, and link it in both places

Read https://officer.dev/infrastructure/offscale.html and used its own words for
the protocol claim — "the protocol on the wire is Tailscale's, the encryption is
WireGuard's" — which is stronger than my paraphrase and is the sentence that
stops "our own distribution" reading as a fork.

The goodies are named rather than gestured at. No placeholders left:

  · installs in one command, with the certificates handled
  · health, logs, restarts and access policies from the app, instead of a config
    file and a CLI
  · enrolling a device is a link and a tap — the key is minted and handed over
    for you
  · several networks at once, and services reachable across them

The URL appears twice, as asked: in the menu entry, where somebody deciding
between three options can reach it without typing ?, and at the end of the long
answer for somebody who read the whole thing and wants more.

The mobile-app paragraph stays and is not from the page — the page does not name
its client platforms. It is your account of them, kept because it answers the
obvious objection to self-hosting, and it still says plainly that there are no
desktop apps of our own.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-12 20:03:03 +00:00
co-authored by Claude Opus 5
parent 46ce58dd12
commit 2d544db07e
+28 -28
View File
@@ -62,16 +62,13 @@ tailscale_network_menu() {
info "Which network should this machine join?" info "Which network should this machine join?"
echo "" echo ""
echo " [1] set up your own network — offscale" echo " [1] set up your own network — offscale"
echo " Your own coordination server, running on this machine. The" echo " Your own coordination server, here on this machine. The protocol"
echo " protocol is Tailscale's and the server is headscale's" echo " on the wire is Tailscale's and the encryption is WireGuard's;"
echo " open-source code — nothing about how machines find each other" echo " offscale changes neither — it runs headscale's open-source code."
echo " changes. On computers you use the stock Tailscale client; on" echo " What changes is the work: one command to install, certificates"
echo " iPhone, iPad and Android there is our own app, our own" echo " included, managed from an app rather than a terminal, and"
echo " implementation of the same protocol." echo " enrolling a device is a link and a tap."
echo " What changes is the work: installing, running and upgrading it," echo " https://officer.dev/infrastructure/offscale.html"
# 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 "" echo ""
echo " [2] use a network you already run — headscale or offscale" echo " [2] use a network you already run — headscale or offscale"
echo " You already have a coordination server somewhere. Point this" 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 " it is now a service you host, and it needs to be reachable."
echo "" echo ""
echo " OFFSCALE" echo " OFFSCALE"
echo " Our own distribution of headscale, which is to say: headscale." echo " Our own distribution of headscale, which is to say: headscale. The"
echo " The protocol is untouched and the server is their open-source code," echo " protocol on the wire is Tailscale's and the encryption is"
echo " so a machine on an offscale network behaves exactly as it would on" echo " WireGuard's, and offscale changes neither — it runs the same"
echo " either of the other two. There is no offscale protocol to be locked" echo " open-source project. A machine on an offscale network behaves"
echo " into, because there is no offscale protocol." 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 ""
echo " On computers you use the stock Tailscale client, pointed at your" echo " Clients: stock Tailscale on computers. On iPhone, iPad and Android"
echo " own server. On iPhone, iPad and Android there is our own app — our" echo " there is our own app — our implementation of the same protocol"
echo " implementation of the same protocol, rather than a wrapper around" echo " rather than a wrapper around theirs. That matters more than it"
echo " theirs. That one matters more than it sounds: getting the official" echo " sounds: getting the official mobile app to talk to a self-hosted"
echo " mobile app to talk to a self-hosted server is the part of running" echo " server is the part of running headscale people give up at. Desktop"
echo " headscale that people give up at. Desktop apps of our own are not" echo " apps of our own are not there yet."
echo " there yet."
echo "" echo ""
echo " What differs otherwise is everything around the server. Running" echo " What it does that plain headscale does not:"
echo " headscale yourself is a project: installing it, putting TLS in" echo " · installs in one command, with the certificates handled"
echo " front of it, keeping it upgraded, administering it through a config" echo " · health, logs, restarts and access policies from the app,"
echo " file and a CLI. offscale makes that a step in a setup script, and" echo " instead of a config file and a CLI"
# TODO(pastilhas): the rest of the specifics. echo " · enrolling a device is a link and a tap — the key is minted"
echo " adds [ more goodies to be listed ] on top." 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 ""
echo " FOR OFFICER" echo " FOR OFFICER"
echo " Whichever you pick, the tailnet is what Officer treats as its" echo " Whichever you pick, the tailnet is what Officer treats as its"