feat: support AmneziaWG 3.1
This commit is contained in:
+10
-8
@@ -5,14 +5,16 @@
|
||||
## Контракт развёртывания
|
||||
|
||||
- Целевой production-хост: Debian 13 amd64.
|
||||
- Amnezia ставится до AWG2 Harness официальным self-hosted способом через приложение AmneziaVPN.
|
||||
- Проект рассчитан на AmneziaWG/AWG 2.0 и compatible legacy-сценарий AmneziaWG/AWG 1.5.
|
||||
- Amnezia ставится до AWG2 Harness официальным self-hosted способом через AmneziaVPN 5.0.1.5 или новее.
|
||||
- Основной target релиза 0.3.1 — AmneziaWG 3.1; AWG 3.0/2.x остаются regression compatibility.
|
||||
- SSH должен быть заранее настроен. Production-пример: порт `2323`, вход по ключу, password login disabled.
|
||||
- Production-хост получает готовый Debian-пакет; Rust/cargo/source tree на нём не требуются.
|
||||
- `/etc/awg2-harness/config.toml` создаётся вручную. `config.example.toml` не копируется автоматически как боевой config.
|
||||
- Пакет не устанавливает Docker/Amnezia и не включает services автоматически.
|
||||
- `sysctl_tuning` не применяется в `postinst`; применение только на старте daemon или вручную через CLI.
|
||||
|
||||
Основной документированный сценарий — clean installation AWG 3.1. Официальный переход с AWG 2.0 требует пересоздания контейнера и перевыпуска пользователей; harness эту миграцию не выполняет. Версии и исходный контракт приведены в [`UPSTREAM_COMPATIBILITY.md`](UPSTREAM_COMPATIBILITY.md).
|
||||
|
||||
## A. Сборочная машина
|
||||
|
||||
### A1. Подготовить сборочное окружение
|
||||
@@ -40,10 +42,10 @@ cargo test --locked --workspace --release --manifest-path Cargo.toml
|
||||
### A3. Собрать Debian-пакет
|
||||
|
||||
```bash
|
||||
./tools/build.sh --package --version 0.3.0
|
||||
./tools/build.sh --package
|
||||
(cd dist && sha256sum -c SHA256SUMS)
|
||||
dpkg-deb -I dist/awg2-harness_0.3.0_amd64.deb
|
||||
dpkg-deb -c dist/awg2-harness_0.3.0_amd64.deb | sort
|
||||
dpkg-deb -I dist/awg2-harness_0.3.1_amd64.deb
|
||||
dpkg-deb -c dist/awg2-harness_0.3.1_amd64.deb | sort
|
||||
```
|
||||
|
||||
`--version` можно опустить, если версия в `traffic_core/Cargo.toml` уже равна release version. Version override влияет только на metadata `.deb`.
|
||||
@@ -127,7 +129,7 @@ Password or SSH private key:
|
||||
|
||||
```bash
|
||||
docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'
|
||||
C="$(docker ps --format '{{.Names}}' | grep -E '^(amnezia-awg2|amnezia-awg3|amnezia-awg)$' | head -n1)"
|
||||
C="$(docker ps --format '{{.Names}}' | grep -E '^(amnezia-awg2|amnezia-awg)$' | head -n1)"
|
||||
echo "container=$C"
|
||||
docker port "$C"
|
||||
docker exec "$C" awg show
|
||||
@@ -166,7 +168,7 @@ amnezia-dns amnezia-dns Up ... (healthy) 53/tcp, 53/udp
|
||||
Проверка публикации портов:
|
||||
|
||||
```bash
|
||||
AWG="$(docker ps --format '{{.Names}}' | grep -E '^(amnezia-awg2|amnezia-awg3|amnezia-awg)$' | head -n1)"
|
||||
AWG="$(docker ps --format '{{.Names}}' | grep -E '^(amnezia-awg2|amnezia-awg)$' | head -n1)"
|
||||
echo "AWG=$AWG"
|
||||
|
||||
docker inspect -f 'ports={{json .NetworkSettings.Ports}}' amnezia-dns
|
||||
@@ -195,7 +197,7 @@ Optional deep-check DNS path (если нужна углублённая про
|
||||
```bash
|
||||
apt install -y dnsutils
|
||||
|
||||
AWG="$(docker ps --format '{{.Names}}' | grep -E '^(amnezia-awg2|amnezia-awg3|amnezia-awg)$' | head -n1)"
|
||||
AWG="$(docker ps --format '{{.Names}}' | grep -E '^(amnezia-awg2|amnezia-awg)$' | head -n1)"
|
||||
DNS_IP="$(docker inspect -f '{{range $n,$v := .NetworkSettings.Networks}}{{if $v.IPAddress}}{{println $v.IPAddress}}{{end}}{{end}}' amnezia-dns | head -n1)"
|
||||
DNS_PID="$(docker inspect -f '{{.State.Pid}}' amnezia-dns)"
|
||||
AWG_PID="$(docker inspect -f '{{.State.Pid}}' "$AWG")"
|
||||
|
||||
Reference in New Issue
Block a user