AmneziaWG Architect v3.2.4
AmneziaWG Architect v3.2.4
Forty-four answers that were technically correct and unreadable.
The FAQ and the project timeline were solid blocks of prose with no emphasis
anywhere. A rule and a passing caveat looked identical, and a parameter name
disappeared into the sentence around it. This release is about the shape of
that text, not its content — no wording changed anywhere.
Why not just store HTML
Answers are used twice: rendered into the page, and emitted into FAQPage
JSON-LD, where markup is not allowed. Storing HTML breaks the structured
data; storing flat text was breaking the page.
So the source carries a small set of marks and nothing else:
| Mark | Meaning |
|---|---|
| blank line | paragraph break |
## / ### |
a section, for answers with real parts |
**bold** |
the claim a reader must not miss |
*italic* |
an aside or caveat, safe to skip |
`code` |
anything spelled exactly — parameters, files, commands |
[text](url) |
a source worth citing |
The page renders these as elements; JSON-LD and the search index get them
stripped, so searching for HeaderProtectionKey still matches an answer that
writes it in backticks. No HTML exists anywhere in the pipeline, so there is
nothing to escape and nothing to inject. Link schemes are checked against an
allowlist at parse time — a javascript: URL renders as plain text.
Verification
Reformatting had one hard rule: not a single word may change. That is not a
promise, it is a check — the stripped text of all 88 strings was compared
against the originals and matched exactly.
Tests hold the invariant from here: balanced marks in every entry, no markup
reaching the structured data, dangerous link schemes refused, and no answer
past a screenful left as one unbroken block.
Sources are linked now
Where an answer explains protocol behaviour taken from the AmneziaWG
implementation, it links the file it came from — device/receive.go for how
a packet is identified, device/send.go for junk and padding — rather than
asking the reader to take it on trust.
Release notes
Tag messages are Markdown from here on, so a release reads as intended
without being edited by hand afterwards.
| Version | 3.2.4 |
| Built at | 2026-07-29T10:16:19Z |
| Dist size | 9.1M (98 files) |
| Commit | 6c15b2b |
Changes since v3.2.3
🚀 Features
- feat(site): give the FAQ and the changelog a readable shape (6c15b2b)
Quick Start
Extract the archive and run the bundled server. It has no
dependencies — nothing needs to be installed:
./bin/awg-serve-linux # Linux
./bin/awg-serve-macos # macOS
bin\awg-serve-windows.exe # WindowsIt serves on port 8080 and opens a browser.
Pass a port to change it (awg-serve 3000), or
--no-open to skip launching the browser.
If you would rather use a runtime you already have, the
launchers look for bun, npx or python and offer to install
bun only if none is found:
./scripts/serve.sh # Linux / macOS
.\scripts\serve.ps1 # Windows (PowerShell)
scripts\serve.bat # Windows (CMD)Add --check to either launcher to see what it found
without starting anything.
The archive also carries scripts/awg-gen.sh, which
generates configurations from a terminal with no browser
and no network, and a README.md describing the layout.
Checksums
08672ddb4a9c06d0b2aab1587a08ec123e686c661f68203ac90a4a5a57e21f0c amneziawg-architect-v3.2.4.zip
c6c24ab09459bd014ed20dcd532ac85e361f3727f7de40357434b7e73aeb0b5d amneziawg-architect-v3.2.4.tar.gz