Телеграм-бот на Python для управления WireGuard / AmneziaWG. Этот бот позволяет легко управлять клиентами.
Используется библиотека aiogram
версии 2.25.2.
Протестировано на Ubuntu, версии 20.04, 22.04, 24.04.
- Добавление клиентов
- Удаление клиентов
- Блокировка/разблокировка клиентов
- Создание временных конфигураций (1 час, 1 день, 1 неделя, 1 месяц, без ограничений)
- Создание конфигурации с ограничением сетевого трафика (5 GB, 10 GB, 30 GB, 100 GB, без ограничений)
- Получение информации об IP-адресе клиента (берется из Endpoint, используется API ресурса ip-api.com)
- Создание ключа в формате
vpn://
при генерации нового клиента (так же, при получении конфигурации клиента), для использования в AmneziaVPN - Создание резервной копии
-
Установите WireGuard или AmneziaWG (без данного шага бот РАБОТАТЬ НЕ БУДЕТ).
-
Создайте бота в Telegram:
- Откройте Telegram и найдите бота BotFather.
- Начните диалог, отправив команду
/start
. - Введите команду
/newbot
, чтобы создать нового бота. - Следуйте инструкциям BotFather, чтобы:
- Придумать имя для вашего бота (например,
WireGuardManagerBot
). - Придумать уникальное имя пользователя для бота (например,
WireGuardManagerBot_bot
). Оно должно оканчиваться на_bot
.
- Придумать имя для вашего бота (например,
- После создания бота BotFather отправит вам токен для доступа к API. Его запросит бот во время первоначальной инициализации.
-
Получите ваш Telegram ID с помощью Get My ID, просто написав боту.
-
Загрузите и запустите скрипт
install.sh
, с помощью которого будет автоматически установлен бот, со всеми зависимостями, в том числе, в качестве системной службы (автозапуск):curl -O https://raw.githubusercontent.com/JB-SelfCompany/awg_bot/main/install.sh && chmod +x install.sh && ./install.sh
- Добавьте бота в Telegram и отправьте команду
/start
или/help
для начала работы.
Для обновления бота, необходимо запустить скрипт install.sh
. В меню, необходимо выбрать пункт Проверить обновления
.
При создании резервной копии, в архив добавляется директория connections (создается и содержит в себе логи подключений клиентов), conf, png, и сам конфигурационный файл.
Вы можете дополнительно воспользоваться скриптом для генерации конфигурации, для WireGuard или AmneziaWG, если желаете добавить отдельные подсети/интерфейсы/конфигурационные файлы:
./genconf.sh
Важно: Для корректной работы требуется запуск бота от имени пользователя с правами sudo
, если WireGuard / AmneziaWG настроен с повышенными привилегиями. WireGuard / AmneziaWG должен быть настроен и запущен на сервере до использования бота.
Поддержать разработчика можете следующими способами:
- Boosty
- LTC
ltc1qsa49jtpxau9f28fej7vpzj99lstx44792k4ack
- XMR
43ojbNWXSNCWjXAk1RbTvidACZKrWSpV7hXRosn9UQJhWEHHkzCB4g8Hh5sHhSzU7gBpwWkMFhgwuPLLuox6GqEQN7CLgHp
- BTC
bc1qt75kx0lwsw2npfh06kfq37gf97eper00sxp3tf
Если у вас возникли вопросы или проблемы с установкой и использованием бота, создайте issue в этом репозитории или обратитесь к разработчику.