• v3.2.3 bfd7ae6914

    VIA_GIT_ACTIONS released this 2026-07-29 12:25:38 +03:00 | 102 commits to main since this release

    Signed by vai_prog
    GPG key ID: 2BD468A8EBE4F4EF

    AmneziaWG Architect v3.2.3

    A bug fix that turned into removing the thing that caused it.

    Selecting AWG 3.0 rendered a 1.x parameter panel — S3/S4 missing, H1–H4 as
    single numbers instead of ranges — while the .conf below it was correct. The
    panel decided what a modern version looked like with its own v === "2.0"
    check, and had never been taught about 3.0. Six files carried a variant of
    that check.

    Version capabilities now live in one table

    generator/versions.ts declares ranged headers, S3/S4, the I1–I5 chain and
    the 3.0 block once. The generator, the .conf renderer, the packet
    simulator, the validator, the client field guide, the parameter panel and
    the version tabs all read from it. AmneziaWG 4.0 becomes one entry rather
    than an audit of every file. An unknown version falls back to the newest
    entry, so a config from a future build renders with the richest shape
    instead of a blank panel.

    S3/S4 follow the version

    They used to be generated for every version and merely hidden at render
    time, so the config object carried values no client would see. genCfg takes
    its shape from the same table now, and a test asserts the object and the
    .conf agree.

    History

    The first config, generated on page load, was saved behind nextTick plus a
    20 ms timer and could be dropped. It is written synchronously now. The
    panel also moved above the version-specific options — its toggle sits in
    the version bar, and opening it below the 3.0 block put it a screenful from
    the button. Its empty state was hardcoded Russian and is translated again.

    Changelog and FAQ

    The timeline jumped from 3.2 to 3.2.3 with nothing in between, and the 3.2
    entry was a single paragraph for the largest release the project has had.
    3.2.0 is written out properly, and 3.2.1 and 3.2.2 now exist. Two errors
    went with it: a file header claiming the About page reverses the timeline,
    which it does not, and the unmarked mixing of app version numbers with
    AmneziaWG protocol version numbers.

    The FAQ grew from 33 entries to 43, covering ContentPaddingAddition, that
    Architect generates no private keys, offline use, what the simulator is and
    is not, one parameter set per server rather than per device, vpn:// keys
    and MergeKeys, what obfuscation costs, batch generation, why a one-sided
    parameter change kills a tunnel silently, and where history is stored.

    Readable 3.0 field names

    HeaderProtectionKey rendered as HEADERPROTECTIONKEY — the label was
    uppercased, which erased every word boundary. Multi-word names keep their
    casing now and wrap at word boundaries. The spelling is untouched, because
    the clients use it verbatim.

    Which parameters actually have to match

    Rechecked against the amneziawg-go sources, and the documentation here was
    wrong. The receiver identifies a packet using its own S and H values, so
    S1–S4, H1–H4 and HeaderProtectionKey must be identical on both ends. Junk
    packets, the I1–I5 chain and ContentPaddingAddition are sender-side: the
    first two are never parsed on receipt, and padding is truncated by the
    length in the IP header. The 3.0 timers are per-side.

    Three answers said otherwise, the release archive README said it in both
    languages, and awg-gen.sh wrote it into the header of every config it
    emitted. All corrected, and a new FAQ entry lays out the three classes with
    where each comes from in the receive path.

    Release pipeline

    This text is the first release description this project has actually
    published. The notes were built from commit subjects alone, and every
    annotated tag message ever written for it was discarded. They now open with
    the tag message, read in a way that excludes the PGP signature block.

    Quick Start was also describing an older project: it offered only
    scripts/serve.sh and claimed the launcher installs bun, while the per-OS
    awg-serve binaries that have shipped in the archive since 3.2.2 went
    unmentioned. Rewritten around them.

    327 tests, up from 301.


    Version 3.2.3
    Built at 2026-07-29T09:26:57Z
    Dist size 9.1M (97 files)
    Commit bfd7ae6

    Changes since v3.2.2

    🐛 Bug Fixes

    • fix(docs): correct which AWG parameters actually have to match (6172e49)
    • fix(generator): render 3.0 as 3.0, and put version rules in one table (481ec72)

    📚 Documentation

    • docs(site): fill in the 3.2.x changelog, extend the FAQ, unglue 3.0 field names (7586fe9)

    👷 CI/CD

    • ci: put the tag message in the release, and stop shipping stale instructions (bfd7ae6)

    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       # Windows
    

    It 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

    b9bccf4e9647848b1ea467b61318741c0f8f3867f28ff2c07adbb5b4e1c33863  amneziawg-architect-v3.2.3.zip
    8827eecae5f1620aaf4f170c815a0b9ce112e8e494040cc194df5da1fdb78217  amneziawg-architect-v3.2.3.tar.gz
    

    🪞 Зеркало / mirror of Vadim-Khristenko/Any-Tech-ARCHITECT · синхронизируется автоматически / synced automatically

    Downloads