From 592114bfc9290834a2d100122f31308494d0e8f4 Mon Sep 17 00:00:00 2001 From: iris <2+iris@noreply.localhost> Date: Fri, 28 Aug 2026 13:34:30 -0400 Subject: [PATCH] Name it wg-app-link `wg-link` was not merely vague. `wg` and `ip link` are both real network tools, so it reads as something that manages a WireGuard interface -- misleading rather than ambiguous. `app` rules that reading out, and says which two ends the link is between. The repository is still called wg-server-app until it is renamed on gitea; the crate leads. --- README.md | 22 ++++++++++++++++------ server/Cargo.lock | 2 +- server/Cargo.toml | 2 +- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 80cd310..c99fad6 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ time the sharing paid rather than merely being argued for. ## What is here -`server/` — the `wg-link` crate. Three modules, each extracted only after +`server/` — the `wg-app-link` crate. Three modules, each extracted only after diffing the two copies and finding nothing but a name between them. - **`netif`** — `wg_address()`, which fails closed when the tunnel is down, and `local_addresses()` for the certificate's SANs. The product name is a parameter so the failure reads as advice rather than as a library complaining. @@ -119,11 +119,21 @@ diffing the two copies and finding nothing but a name between them. ## The name -`wg-server-app` describes the two things it was extracted from. `wg-link` -— the crate's name here — describes what it actually is: neither a server -nor an app, but the link between them. Renaming the repo to match is a -`mv` and a rename on gitea; the crate can also be renamed the other way. -Whichever is preferred, it should be one name rather than two. +`wg-app-link`: the link between an app and the machine it talks to, over +WireGuard. + +Two earlier names were worse. `wg-server-app` names the two projects this +came out of rather than what it is, which stops being useful the moment a +third one uses it. `wg-link` was worse still, and not merely vague — +`wg` and `ip link` are both real network tools, so it reads as something +that manages a WireGuard interface. `app` is what rules that reading out. + +The `wg-` prefix does slightly oversell WireGuard's share of the code: +only `netif` is about the tunnel, while `enroll`, `private` and the +certificate work are not. It earns its place anyway, because binding the +tunnel is the architectural premise the rest follows from — it is why +there is no LAN exposure to defend, and why a plain-HTTP bootstrap port is +safe to offer at all. ## Testing diff --git a/server/Cargo.lock b/server/Cargo.lock index 11115c5..df2522b 100644 --- a/server/Cargo.lock +++ b/server/Cargo.lock @@ -297,7 +297,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] -name = "wg-link" +name = "wg-app-link" version = "0.1.0" dependencies = [ "anyhow", diff --git a/server/Cargo.toml b/server/Cargo.toml index d8b8258..5e0e5d2 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "wg-link" +name = "wg-app-link" version = "0.1.0" edition = "2024" description = "The private link between a phone and a machine you run: WireGuard binding, a self-signed CA the app pins, and QR enrollment of a bearer token."