Идея
С первых недель использования Wireguard у меня томилась идея сделать систему управления Wireguard , а также его установку максимально простой, хотя куда проще казалось бы.Конечно сейчас уже есть проекты которые максимально упрощают установку Wireguard , тот-же wg-easy (
Для просмотра ссылки необходимо нажать
Вход или Регистрация
), но хотелось создать что-то свое, и вот руки дошли.Используемый стек
С используемым инструментарием я определился практически сразу:- Python
- Bash
- Docker
- Telegram
Начало работы
Прежде чем начать использовать бота, необходимо добавить следующие параметры в файлconfig.py
.# config.py
mainid = [] # ID пользователей, которые имеют доступ к боту
api_tg = "" # API ключ Telegram
Свой id можно узнать у бота
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, а APi ключ получить соответственно у
Для просмотра ссылки необходимо нажать
Вход или Регистрация
.Запуск через Python
- Установите зависимости, выполнив следующую команду:
- Запустите бота с помощью следующей команды:
Запуск через Docker
Запустите бота в режиме Docker с помощью следующей команды:docker-compose up -d
Управление через Telegram
После запуска бота заходим в раздел администрирование и выбираем и нажимаем кнопку "Установка Wireguard", и ждем пока все установится. Здесь же можно сохранить настроенную конфигурацию и импортировать ее же как резервную копию![092d9409150f886acb1d7475daf3ca0e.png](https://habrastorage.org/r/w1560/getpro/habr/upload_files/092/d94/091/092d9409150f886acb1d7475daf3ca0e.png)
Затем можем перейти в панель управления и нажать кнопку "Конфиги", чтобы убедиться, что сервер Wireguard работает.
![50ba7f51ffcdc9dac0e5b2c47923e10f.jpg](https://habrastorage.org/r/w1560/getpro/habr/upload_files/50b/a7f/51f/50ba7f51ffcdc9dac0e5b2c47923e10f.jpg)
Чтобы добавить клиента, нажмем кнопку "Добавить конфиг", и введем имя для нового конфига. Бот выдаст QR-код, файл конфигурации и текст конфигурации.
![e90c239f6dcb719d330de7ed42c6b942.png](https://habrastorage.org/r/w1560/getpro/habr/upload_files/e90/c23/9f6/e90c239f6dcb719d330de7ed42c6b942.png)
Если потом нажать "Конфиги", то бот выдаст уже изменений конфигурационный файл сервера, конфиги клиентов, и ip адреса с названиями клиентов.
![e3453aad2dbfa589b0c7afa69f4a8471.jpg](https://habrastorage.org/r/w1560/getpro/habr/upload_files/e34/53a/ad2/e3453aad2dbfa589b0c7afa69f4a8471.jpg)
Для удаления конфига нажмем кнопку "Удалить конфиг", и в соответствии с инструкцией удалим нужный ненужный клиент
![d7d16838479c4c365732901917e1cd70.jpg](https://habrastorage.org/r/w1560/getpro/habr/upload_files/d7d/168/384/d7d16838479c4c365732901917e1cd70.jpg)
Что может данный бот
Данный проект нацелен на быстрое разворачивание VPN сети.Функционал бота реализуемый на данный момент:
- Доступ к боту ограниченному кругу лиц
- Установка и настройка Wireguard сервера
- Добавление/Удаление конфигураций пользователей
- Сохранение и импорт конфигурации сервера
- Оттачивание существующего функционала
- Сохранение нескольких конфигураций
- Импорт конфигураций из файла
- Включение/Выключение конфигураций пользователей по таймеру
- Управление несколькими VPN сетями одновременно
- Объединение нескольких VPN сетей в одну
Заключение
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Для просмотра ссылки необходимо нажать
Вход или Регистрация