amneziawg-installer/docs/badges
Ivan Bondarev f89a14d38f
Some checks failed
Tests / unit-tests (push) Has been cancelled
Docs consistency / docs-consistency (push) Has been cancelled
ShellCheck / Lint and syntax check (push) Has been cancelled
installer: new installs default to AmneziaWG 3.1 and fall back to 2.0 where 3.1 cannot run (#337)
A new install without --protocol now gets AmneziaWG 3.1. On a machine
where 3.1 cannot run and the generation was not chosen, the installer
installs 2.0 by itself and says why in a block that is the same
interactively and under --yes. An explicit --protocol=3.1 on such a
machine still stops with the reason code. --protocol=2.0 keeps installing
2.0. Existing installs keep their generation: a server without a
generation marker reads as 2.0, as before.

3.1 gives way to 2.0 at step 0 for the architecture (ARM, anything that
is not x86_64) and the kernel (older than 6.7, Debian 12), and at step 3
for the installed tools and the loaded module. At step 3 the installer
generates one 2.0 parameter set with the saved Jc/Jmin/Jmax and preset
(--jc=0, --preset=mobile and --no-cps carry over), applies exactly that
set to a temporary interface, reads it back, and only then rewrites the
settings file. If the module refuses the set, the install stops with the
settings file untouched. A 2.0 set saved by the step 0 fallback is probed
the same way at step 3, before any key is made.

An install that has reached step 6 (server keys, configs, profiles or a
live awg0) is never downgraded, checked at step 0 of the same run and
again right before the fallback. Step 6 hands out 3.1 profiles only after
the step 3 check passed in the same run, and never falls back. An
existing 3.1 server that no longer passes the check is told the reason
and a repair that leaves it alone; removal is named only as the last
resort, and a failure of the check itself is reported as an installer
error, not as a reason to remove anything.

The settings file gets two new keys, AWG_PROTOCOL_SOURCE (default or
explicit) and AWG_PROTOCOL_FALLBACK (the reason code). The settings
writer moved into its own function unchanged, so step 0 and step 3 share
it. A short notice before step 1 says the default is 3.1 and who should
rerun with --protocol=2.0; the final report names the generation, the
fallback reason if any, and the clients 3.1 needs; --help describes the
default and the fallback.

The README DeepWiki badge is served from docs/badges/deepwiki.svg, since
deepwiki.com/badge.svg answers automated clients with a 429 and the
GitHub image proxy showed a broken image.
2026-10-05 04:48:51 +00:00
..
deepwiki.svg installer: new installs default to AmneziaWG 3.1 and fall back to 2.0 where 3.1 cannot run (#337) 2026-10-05 04:48:51 +00:00