📦bivlked / amneziawg-installer
← 返回首页
One-command AmneziaWG 2.0 / 3.x installer for a self-hosted VPN server on Ubuntu and Debian: DPI bypass, traffic obfuscation, split tunneling, auto-hardening, client management. Includes a VPN cascade guide.
⚖️ MIT#amneziawg#bash#privacy#ubuntu#vpn🌐 bivlked.github.io📅 创建于 2025-04-13🔄 更新于 2026-10-22
🔗 GitHub Shell

📄 仓库 README

在 GitHub 查看 ↗
来自 GitHub 仓库自述文件 · 版权归原作者所有

RU Русский | EN English

AmneziaWG 3.1 / 2.0 VPN installer for Ubuntu, Debian, Raspberry Pi and ARM64 VPS

Install AmneziaWG 3.1 / 2.0 VPN on Ubuntu and Debian VPS

amneziawg-installer одной командой ставит свой VPN-сервер AmneziaWG на VPS с Ubuntu или Debian: модуль ядра, настройка сервера и клиенты с QR-кодами. Работает там, где WireGuard блокируют. Хватит VPS за $3, знать Linux не нужно.

One-command, self-hosted AmneziaWG 3.1 VPN for Ubuntu 24.04 / 26.04 and Debian 13, with AmneziaWG 2.0 for older clients and routers. Kernel-native DKMS, no Docker, no web panel, runs on any cheap VPS. English README

Project website Ubuntu 24.04 | 26.04 Debian 13 x86_64 | ARM64 | ARMv7 AmneziaWG 3.1 and 2.0 License Version Tests Stars Last commit Ask DeepWiki

В ядре, без Docker и панелей - нет накладных расходов  |  сервер только под VPN, защита из коробки  |  поставил и забыл  |  QR-код или vpn:// в один тап

Факты на 2026-10-22. Установщик 6.1.1. Сроки поддержки ОС проверены по данным вендоров на 2026-08-29.

Для нового сервера Ubuntu 24.04, Debian 13
Тоже поддерживается Ubuntu 26.04
Не для новых серверов Debian 12 - вне обычной поддержки вендора
Архитектуры x86_64, ARM64, ARMv7
Модуль ядра DKMS из PPA Amnezia; на ядрах старее 6.7 (штатный Debian 12) - проверенный модуль 2.0 из исходников; для части ARM - готовые сборки
Профиль конфигурации AmneziaWG 3.1 для новой установки; 2.0 - флагом --protocol=2.0 или автоматически там, где установщик 3.1 не выдаёт (ядро старее 6.7, ARM); уже работающий сервер остаётся на своём поколении

🚀 Быстрый старт

wget -O install_amneziawg.sh https://github.com/bivlked/amneziawg-installer/releases/latest/download/install_amneziawg.sh
chmod +x install_amneziawg.sh
sudo bash ./install_amneziawg.sh

Что получится (на x86_64 с Ubuntu 24.04 / 26.04 или Debian 13): сервер AmneziaWG 3.1, настроенный под VPN (форвардинг, тюнинг ядра) и защищённый (фаервол UFW, если согласитесь), и два готовых клиента, my_phone и my_laptop: их конфиги, QR-коды и ссылки vpn:// лежат в /root/awg/. 3 команды, 2 перезагрузки по ходу (при каждом вопросе о перезагрузке ответьте y, после каждой запустите последнюю команду снова), около 20 минут. Для чистого Ubuntu/Debian VPS, не роутер и не shared-хостинг. Подробнее →

Подключить устройство. Нужен клиент с поддержкой 3.1: на Android - WG Tunnel или AmneziaWG, на iPhone - AmneziaWG (отсканируйте QR my_phone.png), на Mac - AmneziaWG (импорт .conf), на Windows - AmneziaWG (импорт my_laptop.conf), на любой платформе - Amnezia VPN (ссылка vpn://), на Linux - через awg-quick. Как забрать файлы с сервера - в разделе После установки; новое устройство потом - одна команда add.

Есть роутер на стоковой прошивке, Hiddify или давно не обновлявшиеся приложения? Добавьте к последней команде --protocol=2.0, почему. На ARM и на штатном Debian 12 установщик сам поставит 2.0.

📘 Полный гайд по развёртыванию: Установка сервера AmneziaWG на VPS - выбор VPS, ARM, troubleshooting, удаление. English version.

🔐 Целостность: установщик скачивается по HTTPS из последнего релиза на GitHub. Проверить его до запуска можно подписью minisign: Проверка подписи. Скрипты, которые он качает сам (awg_common, manage), он берёт с тега своей версии и сверяет с зашитыми в него SHA256-хешами, так что подпись установщика покрывает и их (если не переопределять AWG_BRANCH). Модель угроз - в docs/SIGNING_DESIGN.md, как сообщить об уязвимости - в SECURITY.md.

Что установщик меняет на сервере (прозрачность) Скрипт работает от root. Ниже основные изменения, которые он вносит в систему. - **Обновление системы.** `apt-get upgrade --with-new-pkgs`: пакеты он не удаляет, но новое ядро приехать может. Перед обновлением пишет `/etc/apt/apt.conf.d/99-amneziawg-lock-timeout` (ждать блокировку dpkg до 5 минут) и помечает установленными вручную пакеты, без которых сервер не загрузится или останется без сети (`udev`, `initramfs-tools`, `openssh-server`, `netplan.io` и другие). - **Удаление пакетов** - после вашего согласия: если снапов на сервере нет, Enter означает «да», а с `--yes` согласие считается данным; сохранить пакеты можно флагом `--keep-packages`. Удаляются `modemmanager`, `networkd-dispatcher`, `unattended-upgrades` (обновления безопасности перестают ставиться автоматически), `packagekit`, `udisks2`. На Ubuntu ещё `snapd` вместе с `/snap`, `/var/snap`, `/var/lib/snapd` и `lxd-agent-loader`. `cloud-init` с `/etc/cloud` и `/var/lib/cloud` удаляется, только если он не управляет сетью. - **Установка пакетов.** `curl`, `wget`, `gpg`, `sudo`, `amneziawg-dkms`, `amneziawg-tools`, `wireguard-tools`, `dkms`, `build-essential`, `dpkg-dev`, `qrencode`, заголовки ядра, `ufw`, `fail2ban` (на Debian ещё `python3-systemd`). Если модуль 2.0 собирается из исходников, ставится `git`; при устаревших заголовках ядра ставится `gcc-13`. На части ARM вместо сборки ставится готовый пакет модуля из релиза `arm-packages`. - **Репозиторий.** PPA Amnezia: `/etc/apt/sources.list.d/amnezia-ppa.sources` (на Debian 12 `.list`) и ключ `/etc/apt/keyrings/amnezia-ppa.gpg`. Ключ встроен в установщик, сверяется по полному отпечатку и действует только для этого репозитория. - **Модуль ядра.** `amneziawg` собирается через DKMS и загружается при старте (`/etc/modules-load.d/amneziawg.conf`). После обновления ядра модуль пересобирается сам: за это отвечают `/usr/local/sbin/amneziawg-ensure-module`, apt-хук `/etc/apt/apt.conf.d/99-amneziawg-post-kernel` и юнит `amneziawg-ensure-module.service`, журнал - `/var/log/amneziawg-ensure-module.log`. На ARM с готовым пакетом этой обвязки нет: после смены ядра установщик нужно запустить ещё раз. - **sysctl**, файл `/etc/sysctl.d/99-amneziawg-security.conf`: форвардинг, выключение IPv6 на хосте (оставить - флаг `--allow-ipv6`), BBR, буферы по объёму памяти, `rp_filter = 2`, запрет redirect, SYN cookies, `vm.swappiness = 10`, `net.netfilter.nf_conntrack_max = 65536`, `kernel.sysrq = 0`, `kernel.printk = 3 4 1 3`. - **Swap.** Если swap меньше 1 ГБ (при памяти до 2 ГБ) или меньше 512 МБ (при большем объёме), создаётся `/swapfile` со строкой в `/etc/fstab`. - **Фаервол.** UFW: входящие запрещены, SSH с ограничением частоты на найденном порту (порт можно задать флагом `--ssh-port`), открыт UDP-порт VPN, правило пересылки `awg0` -> внешний интерфейс. Если UFW ещё не включён, установщик спрашивает, включать ли его (с `--yes` включает сам). Fail2Ban защищает SSH, его настройки в `/etc/fail2ban/jail.d/amneziawg.conf`. **Настройки SSH-сервера установщик не меняет.** - **VPN.** Серверный конфиг `/etc/amnezia/amneziawg/awg0.conf` с правилами `iptables` в `PostUp`, сервис `awg-quick@awg0`, каталог `/root/awg/` (ключи, конфиги клиентов, журнал, скрипты управления) с правами 700/600, cron `/etc/cron.d/awg-expiry` для клиентов со сроком действия. - **Перезагрузки.** Их две: после обновления системы и после установки модуля (установщик спрашивает, ответьте `y`). После каждой запустите ту же команду снова. - **Откат**: `--uninstall` убирает своё - модуль, конфиги, sysctl-файлы, кроны, UFW-правило VPN-порта и UFW-правило маршрутизации `awg0`. UFW отключает и Fail2Ban удаляет только если сам их включал/ставил; если UFW был активен до установки, добавленное правило SSH rate-limit остаётся. Не возвращает: swap и удалённые пакеты; пакеты-зависимости, которые он ставил (dkms, компилятор, заголовки ядра), остаются. По умолчанию, в том числе с `--yes`, перед удалением создаётся архив `/root/awg_uninstall_backup_*.tar.gz` с конфигами и приватными ключами; он остаётся на сервере, удалите его сами, когда он станет не нужен. Флаг `--no-tweaks` оставляет пакеты, swap, sysctl-hardening, UFW и Fail2Ban как есть. Форвардинг включается всё равно, в файле `/etc/sysctl.d/99-amneziawg-forwarding.conf`, и там же выключается IPv6 на хосте, если не передать `--allow-ipv6`; обновление системы идёт как обычно. Что остаётся после удаления - в [INSTALL_VPS.ru.md](https://github.com/bivlked/amneziawg-installer/blob/HEAD/INSTALL_VPS.ru.md#uninstall), модель угроз - в [docs/SIGNING_DESIGN.md](https://github.com/bivlked/amneziawg-installer/blob/HEAD/docs/SIGNING_DESIGN.md#threat-model), провер

📈 近 7 天 Star 趋势

每日新增 Star(柱)与累计 Star(线)· 数据来自 GitHub

🏆 排名变化趋势

在各榜单中的排名历史(数字越小越靠前)

📋 历史上榜记录

每次快照的详细数据
日期 榜单 排名 周期新增 总 STAR