[English](README.md) | [简体中文](README-zh.md) | [繁體中文](README-zh-Hant.md) | [Русский](README-ru.md) | [Video en Español](https://www.youtube.com/watch?v=99qtaJU2E2k)
# Скрипт автоматической установки сервера WireGuard VPN
[](https://github.com/hwdsl2/wireguard-install/actions/workflows/main.yml) [](https://github.com/hwdsl2/wireguard-install/stargazers) [](https://opensource.org/licenses/MIT)
Установщик сервера WireGuard VPN для Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS, Fedora, openSUSE и Raspberry Pi OS.
Этот скрипт позволит вам настроить собственный VPN-сервер всего за несколько минут, даже если вы раньше не использовали WireGuard. [WireGuard](https://www.wireguard.com) — это быстрый и современный VPN, разработанный с упором на простоту использования и высокую производительность.
**Возможности:**
- Полностью автоматическая настройка сервера WireGuard VPN, ввод пользователя не требуется
- Поддержка интерактивной установки с пользовательскими параметрами
- Генерация VPN-профилей для автоматической настройки устройств Windows, macOS, iOS и Android
- Генерация QR-кодов для упрощённой настройки мобильных устройств
- Поддержка управления пользователями WireGuard VPN
- Оптимизация настроек `sysctl` для повышения производительности VPN
- Поддержка двойного стека IPv4 и IPv6 для VPN-клиентов
**Также доступно:**
- Docker VPN: [WireGuard](https://github.com/hwdsl2/docker-wireguard/blob/main/README-ru.md), [OpenVPN](https://github.com/hwdsl2/docker-openvpn/blob/main/README-ru.md), [IPsec VPN](https://github.com/hwdsl2/docker-ipsec-vpn-server/blob/master/README-ru.md), [Headscale](https://github.com/hwdsl2/docker-headscale/blob/main/README-ru.md)
- AI: [Стек ИИ на своём сервере](https://github.com/hwdsl2/self-hosted-ai-stack/blob/main/README-ru.md) для локальных LLM, чата, RAG, голосовых функций и инструментов ИИ
- Книги: [Privacy Tools in the Age of AI](docs/vpn-book.md#new-privacy-tools-in-the-age-of-ai), [Build Your Own VPN Server](docs/vpn-book.md#build-your-own-vpn-server-a-step-by-step-guide)
## Установка
Сначала загрузите скрипт на ваш Linux-сервер\*:
```
wget -O wireguard.sh https://get.vpnsetup.net/wg
```
\* Облачный сервер, виртуальный частный сервер (VPS) или выделенный сервер.
**Вариант 1:** Автоматическая установка WireGuard с параметрами по умолчанию.
```
sudo bash wireguard.sh --auto
```
Посмотреть работу скрипта (запись терминала).
**Примечание:** Эта запись предназначена только для демонстрационных целей.

> [!TIP]
> При желании вы можете установить [OpenVPN](https://github.com/hwdsl2/openvpn-install/blob/master/README-ru.md), [IPsec VPN](https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/README-ru.md) и/или [Headscale](https://github.com/hwdsl2/headscale-install/blob/main/README-ru.md) на тот же сервер.
Для серверов с внешним файрволом (например, [EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html)/[GCE](https://cloud.google.com/firewall/docs/firewalls)) откройте UDP-порт 51820 для VPN.
**Вариант 2:** Интерактивная установка с пользовательскими параметрами.
```
sudo bash wireguard.sh
```
Вы можете настроить следующие параметры: DNS-имя VPN-сервера, UDP-порт, DNS-сервер для VPN-клиентов и имя первого клиента.
Для серверов с внешним файрволом откройте выбранный UDP-порт для VPN.
Нажмите здесь, если не удаётся скачать.
Вы также можете использовать `curl` для загрузки:
```
curl -fL -o wireguard.sh https://get.vpnsetup.net/wg
```
Затем следуйте инструкциям выше для установки.
Альтернативные URL для установки:
```
https://github.com/hwdsl2/wireguard-install/raw/master/wireguard-install.sh
https://gitlab.com/hwdsl2/wireguard-install/-/raw/master/wireguard-install.sh
```
Если вы не можете скачать файл, откройте [wireguard-install.sh](wireguard-install.sh), затем нажмите кнопку `Raw` справа. Нажмите `Ctrl/Cmd+A`, чтобы выделить всё, `Ctrl/Cmd+C`, чтобы скопировать, затем вставьте в ваш любимый редактор.
Дополнительно: автоматическая установка с пользовательскими параметрами.
Продвинутые пользователи могут автоматически установить WireGuard с пользовательскими параметрами, указав параметры командной строки при запуске скрипта. Подробнее см. в следующем разделе «просмотр информации об использовании скрипта WireGuard».
В качестве альтернативы можно передать Bash «here document» в качестве входных данных для скрипта установки. Этот метод также можно использовать для передачи входных данных для управления пользователями после установки.
Сначала установите WireGuard в интерактивном режиме с пользовательскими параметрами и запишите все введённые значения.
```
sudo bash wireguard.sh
```
Если вам нужно удалить WireGuard, снова запустите скрипт и выберите соответствующий вариант.
Затем создайте команду установки с пользовательскими параметрами, используя ваши ответы. Пример:
```
sudo bash wireguard.sh <
Просмотреть информацию об использовании скрипта WireGuard.
```
Usage: bash wireguard.sh [options]
Options:
--addclient [client name] добавить нового клиента
--dns1 [DNS server IP] основной DNS-сервер для нового клиента (необязательно, по умолчанию: Google Public DNS)
--dns2 [DNS server IP] резервный DNS-сервер для нового клиента (необязательно)
--listclients показать список существующих клиентов
--removeclient [client name] удалить существующего клиента
--showclientqr [client name] показать QR-код для существующего клиента
--uninstall удалить WireGuard и удалить всю конфигурацию
-y, --yes автоматически отвечать "yes" на запросы при удалении клиента или WireGuard
-h, --help показать это сообщение справки и выйти
Параметры установки (необязательно):
--auto автоматически установить WireGuard с параметрами по умолчанию или пользовательскими параметрами
--serveraddr [DNS name or IP] адрес сервера, должен быть полным доменным именем (FQDN) или IPv4-адресом
--port [number] порт для WireGuard (1–65535, по умолчанию: 51820)
--clientname [client name] имя первого клиента WireGuard (по умолчанию: client)
--dns1 [DNS server IP] основной DNS-сервер для первого клиента (по умолчанию: Google Public DNS)
--dns2 [DNS server IP] резервный DNS-сервер для первого клиента
Чтобы настроить параметры, вы также можете запустить этот скрипт без аргументов.
```
## Сообщество
- 📬 [Подписаться на обновления проектов](https://selfhostedstack.beehiiv.com/subscribe?utm_campaign=vpn-ru) (1–2 письма в месяц) — получить бесплатные руководства по развёртыванию VPN и AI (PDF, на английском)
- 💬 Присоединяйтесь к сообществу [r/selfhostedstack](https://www.reddit.com/r/selfhostedstack/) для обсуждений и демонстрации проектов
- ⭐ Поставьте звезду репозиторию, если он оказался вам полезен — это поможет другим пользователям его найти.
## Следующие шаги
После установки вы можете снова запустить скрипт, чтобы управлять пользователями или удалить WireGuard.
Настройте ваш компьютер или устройство для использования VPN. Пожалуйста, обратитесь к следующей инструкции:
**[Настройка клиентов WireGuard VPN](docs/clients.md)**
**Прочитайте [:book: книгу о VPN](docs/vpn-book.md), чтобы получить доступ к [дополнительному контенту](https://ko-fi.com/post/Support-this-project-and-get-access-to-supporter-o-O5O7FVF8J).**
Наслаждайтесь собственным VPN! :sparkles::tada::rocket::sparkles:
## Благодарности
Этот скрипт основан на отличной работе [Nyr и участников проекта](https://github.com/Nyr/wireguard-install) с улучшениями и изменениями для совместимости с проектом [Setup IPsec VPN](https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/README-ru.md).
Список улучшений по сравнению с Nyr/wireguard-install.
- Улучшена совместимость с Setup IPsec VPN
- Повышена надёжность скрипта, улучшены ввод и вывод пользователя
- Поддержка автоматической установки с параметрами по умолчанию или пользовательскими параметрами
- Поддержка использования DNS-имени в качестве адреса сервера
- Добавлена поддержка openSUSE Linux
- Поддержка просмотра списка существующих VPN-клиентов
- Поддержка отображения QR-кода для клиента
- Поддержка пользовательских DNS-серверов для VPN-клиентов
- Поддержка параметров командной строки для управления VPN-клиентами
- Оптимизация настроек `sysctl` для повышения производительности VPN
- Улучшено создание файлов конфигурации клиента при использовании `sudo`
...и многое другое!
## Лицензия
MIT