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.
This commit is contained in:
iris committed 2026-08-28 13:34:30 -04:00
1 parent d6d802c3c7
commit 592114bfc9
3 files changed
+18 -8

No files matched your search

+16 -6
View File
@@ -94,7 +94,7 @@ time the sharing paid rather than merely being argued for.
## What is here ## 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. 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. - **`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 ## The name
`wg-server-app` describes the two things it was extracted from. `wg-link` `wg-app-link`: the link between an app and the machine it talks to, over
— the crate's name here — describes what it actually is: neither a server WireGuard.
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. Two earlier names were worse. `wg-server-app` names the two projects this
Whichever is preferred, it should be one name rather than two. 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 ## Testing
+1 -1
View File
@@ -297,7 +297,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
[[package]] [[package]]
name = "wg-link" name = "wg-app-link"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
+1 -1
View File
@@ -1,5 +1,5 @@
[package] [package]
name = "wg-link" name = "wg-app-link"
version = "0.1.0" version = "0.1.0"
edition = "2024" 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." 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."