An open API service indexing awesome lists of open source software.

https://github.com/hwdsl2/wireguard-install

WireGuard VPN server installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS, Fedora, openSUSE and Raspberry Pi OS. Includes interactive setup and client management.
https://github.com/hwdsl2/wireguard-install

bash centos debian encryption installer ipv6 linux network peer-to-peer privacy qr-code raspberry-pi security self-hosted ubuntu vpn vpn-client vpn-server wireguard wireguard-server

Last synced: 16 days ago
JSON representation

WireGuard VPN server installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS, Fedora, openSUSE and Raspberry Pi OS. Includes interactive setup and client management.

Awesome Lists containing this project

README

          

[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

[![Build Status](https://github.com/hwdsl2/wireguard-install/actions/workflows/main.yml/badge.svg)](https://github.com/hwdsl2/wireguard-install/actions/workflows/main.yml) [![GitHub Stars](https://raw.githubusercontent.com/hwdsl2/badges/main/img/github-stars-wireguard-install.svg)](https://github.com/hwdsl2/wireguard-install/stargazers) [![License: MIT](docs/images/license.svg)](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/docs/README-ru.md), [OpenVPN](https://github.com/hwdsl2/docker-openvpn/blob/main/docs/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/docs/README-ru.md)
- AI: [Стек ИИ на своём сервере](https://github.com/hwdsl2/self-hosted-ai-stack/blob/main/docs/README-ru.md) для локальных LLM, чата, RAG, голосовых функций и инструментов ИИ

> 📘 Хотите развернуть ИИ на собственном сервере? [The Self-Hosted AI Builder’s Guide](https://books2read.com/aiguide?store=amazon): практическое руководство по созданию, защите и эксплуатации собственного приватного ИИ-стека.

## Установка

Сначала загрузите скрипт на ваш Linux-сервер\*:

```
wget -O wireguard.sh https://get.vpnsetup.net/wg
```

\* Облачный сервер, виртуальный частный сервер (VPS) или выделенный сервер.

**Вариант 1:** Автоматическая установка WireGuard с параметрами по умолчанию.

```
sudo bash wireguard.sh --auto
```

Посмотреть работу скрипта (запись терминала).

**Примечание:** Эта запись предназначена только для демонстрационных целей.

**Совет:** При желании вы можете установить [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/docs/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 письма в месяц; руководства в формате PDF на английском языке)
- 💬 Присоединяйтесь к сообществу [r/selfhostedstack](https://www.reddit.com/r/selfhostedstack/) для обсуждений и демонстрации проектов
- ⭐ Поставьте звезду репозиторию, если он оказался вам полезен — это поможет другим пользователям его найти.

## Следующие шаги

После установки вы можете снова запустить скрипт, чтобы управлять пользователями или удалить WireGuard.

Настройте ваш компьютер или устройство для использования VPN. Пожалуйста, обратитесь к следующей инструкции:

**[Настройка клиентов WireGuard VPN](docs/clients.md)**

**Прочитайте [📘 книгу о 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