Skip to content

Telegram-бот для автоматизированной выдачи ключей из 3X-UI

Notifications You must be signed in to change notification settings

Teru3301/Telegram-VPN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram VPN Service

Безопасный VPN-сервис с доступом через Telegram-бота.


Особенности

  • Быстрая, разовая установка и настройка
  • Управление VPN-доступом через Telegram-бота
  • Самостоятельное управление подпиской пользователями
  • Базовая автоматическая харденизация сервера:
    • отключение root-доступа
    • доступ по SSH-ключам
    • кастомный SSH-порт
  • Контейнеризация сервисов (Docker)

Требования

  • Сервер с Ubuntu 24.04 LTS
  • Telegram Bot Token (получить у @BotFather)

На сервере должны быть:

  • Установлены docker и git
  • Создан отдельный пользователь (не root)
  • Пользователь добавлен в группу docker

Для автоматической и безопасной настройки сервера используйте скрипт, который запускается на локальной машине.

Windows:

TODO

Linux:

curl -fsSL https://raw.githubusercontent.com/Teru3301/Telegram-VPN/main/scripts/linux.sh -o linux.sh
chmod +x linux.sh
./linux.sh

Что делает скрипт

  • Обновляет систему
  • Создаёт нового пользователя и настраивает sudo
  • Настраивает SSH:
    • Вход только по ключу
    • Доступ по SSH для root отключается
    • Вход по паролю запрещён
    • Используется кастомный SSH-порт
  • Устанавливает базовые утилиты
  • Устанавливает Docker и добавляет пользователя в группу docker

Warning

Важно: После выполнения скрипта вход по SSH под root будет недоступен

После выполнения вы получите SSH-команду для подключения к серверу по ключу:

ssh -p <PORT> <USER>@<SERVER_IP>

Установка

Выполните следующие команды на удалённом сервере

curl -fsSL https://raw.githubusercontent.com/Teru3301/Telegram-VPN/main/scripts/install.sh -o install.sh
chmod +x install.sh
./install.sh

Переменные окружения

TZ - часовой пояс сервера (по умолчанию Europe/Moscow)

TG_BOT_TOKEN - токен вашего Telegram-бота

MONGO_USERNAME - имя пользователя для подключения к MongoDB (по умолчанию vpnbot)

MONGO_PASSWORD - пароль пользователя MongoDB (по умолчанию botpass)

MONGO_DB - название базы данных для бота (по умолчанию tg-vpn-db)

MONGO_URI - строка подключения к MongoDB (формируется автоматически)

IP - IP-адрес вашего сервера (по умолчанию 127.0.0.1)

XUI_URL - адрес веб-панели 3X-UI (по умолчанию 172.17.0.1:2053)

XUI_LOGIN - логин для входа в панель 3X-UI (по умолчанию admin)

XUI_PASSWORD - пароль для входа в панель 3X-UI (по умолчанию admin)


Для добавления администратора Telegram-бота:

  1. Отредактируйте файл vpn-bot/bot/config.json
  2. Укажите правило определиения является ли пользователь администратором:
  • or - у пользователя совпадает username или id с указанными в config.json (полезно если неизвестен один из параметров)
  • and - у пользователя совпадают все параметры
  1. Укажите имя пользователя и/или его id.
  2. Перезапустите контейнер для применения изменений:
docker compose restart vpn-bot

На данный момент администратор может только создавать новые промокоды.


Поддержка проекта

Если этот проект полезен для вас, вы можете поставить ему


Баги и предложения

Если вы нашли баг или у вас есть предложение по улучшению проекта, создавайте Issue на GitHub.


TODO

Core

  • Реализация Telegram-бота
  • Интеграция с 3x-ui API
  • Создание docker образа

Payments

  • Интеграция с платёжной системой
  • Система промокодов

Others

  • Мануалы по использованию бота на разных платформах
  • Вспомогательный скрипт (Linux)
  • Вспомогательный скрипт (Windows)
  • Отдельны скрипт для установики контейнетов

Warning

Проект в активной разработке. API и функционал могут изменяться.

About

Telegram-бот для автоматизированной выдачи ключей из 3X-UI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages