Документация Telegram VPN Бота

Данная статья представлена исключительно в ознакомительных целях и не несет призыва к действию. Вся информация направлена на то, чтобы уберечь читателей от противозаконных действий.

Установка и настройка 3X-UI с полной обвязкой

Эта инструкция поможет вам установить 3X-UI с реверс-прокси через Nginx, фейковым сайтом, SSL-сертификатами и защитой панели.

  1. Подготовьте сервер:
  2. # Обновите систему
    apt update && apt upgrade -y
    
    # Установите необходимые пакеты
    apt install curl wget sudo ufw python3 python3-pip -y
  3. Установите Docker:
  4. # Установите Docker
    curl -fsSL https://get.docker.com | sh
    
    # Добавьте текущего пользователя в группу docker
    usermod -aG docker $USER
  5. Установите 3X-UI:
  6. # Запустите контейнер с панелью управления
    docker run -d --name x-ui -p 54321:54321 -p 443:443 -p 80:80 -v $(pwd)/config:/www/x-ui/config ghcr.io/vaxilu/x-ui:latest
  7. Настройте Nginx для реверс-прокси:
  8. # Настройте конфигурацию Nginx
    cat < /etc/nginx/sites-available/x-ui.conf
    server {
     listen 80;
     server_name your_domain.com;
    
     location / {
     proxy_pass http://127.0.0.1:54321;
     proxy_set_header Host \$host;
     proxy_set_header X-Real-IP \$remote_addr;
     proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
     proxy_set_header X-Forwarded-Proto \$scheme;
     }
    
     location /fake-site {
     root /var/www/fake-site;
     }
    }
    EOF
    
    ln -s /etc/nginx/sites-available/x-ui.conf /etc/nginx/sites-enabled/
    nginx -t && systemctl restart nginx
  9. Создайте фейковый сайт:
  10. # Создайте директорию для фейкового сайта
    mkdir -p /var/www/fake-site
    wget -O /var/www/fake-site/index.html https://example.com/static-site.html
  11. Получите SSL-сертификаты:
  12. # Установите Certbot
    apt install certbot python3-certbot-nginx -y
    
    # Получите SSL-сертификат
    certbot --nginx -d your_domain.com
  13. Настройте инбаунды:
  14. Добавьте два инбаунда: VLESS+REALITY и VLESS+WebSocket.

    # Войдите в панель управления
    http://your_domain.com:54321
    
    # Создайте инбаунд VLESS+REALITY:
    - Protocol: VLESS
    - Transport: REALITY
    - Port: 443
    
    # Создайте инбаунд VLESS+WebSocket:
    - Protocol: VLESS
    - Transport: WebSocket
    - Path: /ws
    - Port: 443
  15. Включите подписки на порту 443:
  16. В панели управления 3X-UI настройте подписки для использования порта 443.

  17. Настройте файрвол:
  18. # Включите UFW
    ufw allow 22
    ufw allow 80
    ufw allow 443
    ufw enable
  19. Защитите панель:
  20. Измените стандартные логин и пароль, включите двухфакторную аутентификацию и используйте прокси для доступа к панели.

Настройка Telegram-бота для 3X-UI

Для работы бота с 3X-UI необходимо выполнить следующие шаги:

  1. Скачайте файл бота:
  2. Нажмите кнопку "Скачать бота для 3X-UI" ниже.

  3. Установите зависимости:
  4. # Активируйте виртуальное окружение
    source venv/bin/activate
    
    # Установите необходимые библиотеки
    pip install python-telegram-bot yookassa qrcode[pil]
  5. Настройте переменные окружения:
  6. Создайте файл `.env` в корне проекта и добавьте следующие переменные:

    BOT_TOKEN=YOUR_BOT_TOKEN
    NEWS_CHANNEL_ID=@your_news_channel_id
    SUPPORT_CHAT_ID=YOUR_SUPPORT_CHAT_ID
    X_UI_API_URL=http://your_domain.com:54321/api
  7. Измените код бота:
  8. Откройте файл `3xui_bot.py` и замените заглушки на реальные значения:

    # Константы
    BOT_TOKEN = os.getenv("BOT_TOKEN") # Токен Telegram-бота
    X_UI_API_URL = os.getenv("X_UI_API_URL") # URL API 3X-UI
    
    # Функция создания пользователя через API 3X-UI
    def create_user(username, password, data_limit, expiry):
     payload = {
     "username": username,
     "password": password,
     "data_limit": data_limit,
     "expiry": expiry
     }
     response = requests.post(f"{X_UI_API_URL}/add_user", json=payload)
     return response.json()
  9. Защитите данные бота:
  10. Чтобы защитить токен бота и другие секретные данные, используйте следующие меры:

    • Файл `.env`: Храните все секретные данные в файле `.env` и загружайте их через библиотеку `python-dotenv`.
    • Ограничьте доступ к файлам: Установите права доступа к файлам `.env` и `bot.py`:
    • # Ограничьте доступ к файлам
      chmod 600 .env
      chmod 600 bot.py
    • Используйте прокси: Если возможно, запускайте бота через прокси или защищенный сервер.
    Скачать бота для 3X-UI

Установка и настройка Marzban с полной обвязкой

Эта инструкция поможет вам установить Marzban с реверс-прокси через Nginx, фейковым сайтом, SSL-сертификатами и защитой панели.

  1. Подготовьте сервер:
  2. # Обновите систему
    apt update && apt upgrade -y
    
    # Установите необходимые пакеты
    apt install curl wget sudo ufw python3 python3-pip -y
  3. Установите Marzban:
  4. # Клонируйте репозиторий
    git clone https://github.com/marcus-wolschon/marzban-docker.git
    
    # Перейдите в директорию проекта
    cd marzban-docker
  5. Настройте конфигурацию:
  6. Отредактируйте файл `config.yaml`:

    # Пример базовой конфигурации
    server:
     domain: your_domain.com
     port: 8080
    
    database:
     username: marzban
     password: your_password
     host: db
     port: 5432
    
    users:
     default_quota: 10GB
     default_expiration_days: 30
  7. Запустите панель:
  8. # Запустите Docker Compose
    docker-compose up -d
  9. Настройте Nginx для реверс-прокси:
  10. # Настройте конфигурацию Nginx
    cat < /etc/nginx/sites-available/marzban.conf
    server {
     listen 80;
     server_name your_domain.com;
    
     location / {
     proxy_pass http://127.0.0.1:8080;
     proxy_set_header Host \$host;
     proxy_set_header X-Real-IP \$remote_addr;
     proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
     proxy_set_header X-Forwarded-Proto \$scheme;
     }
    
     location /fake-site {
     root /var/www/fake-site;
     }
    }
    EOF
    
    ln -s /etc/nginx/sites-available/marzban.conf /etc/nginx/sites-enabled/
    nginx -t && systemctl restart nginx
  11. Создайте фейковый сайт:
  12. # Создайте директорию для фейкового сайта
    mkdir -p /var/www/fake-site
    wget -O /var/www/fake-site/index.html https://example.com/static-site.html
  13. Получите SSL-сертификаты:
  14. # Установите Certbot
    apt install certbot python3-certbot-nginx -y
    
    # Получите SSL-сертификат
    certbot --nginx -d your_domain.com
  15. Настройте инбаунды:
  16. Добавьте два инбаунда: VLESS+REALITY и VLESS+WebSocket.

    # Войдите в панель управления
    http://your_domain.com:8080
    
    # Создайте инбаунд VLESS+REALITY:
    - Protocol: VLESS
    - Transport: REALITY
    - Port: 443
    
    # Создайте инбаунд VLESS+WebSocket:
    - Protocol: VLESS
    - Transport: WebSocket
    - Path: /ws
    - Port: 443
  17. Включите подписки на порту 443:
  18. В панели управления Marzban настройте подписки для использования порта 443.

  19. Настройте файрвол:
  20. # Включите UFW
    ufw allow 22
    ufw allow 80
    ufw allow 443
    ufw enable
  21. Защитите панель:
  22. Измените стандартные логин и пароль, включите двухфакторную аутентификацию и используйте Cloudflare для защиты.

    Настройка Telegram-бота для Marzban

    Для работы бота с Marzban необходимо выполнить следующие шаги:

    1. Скачайте файл бота:
    2. Нажмите кнопку "Скачать бота для Marzban" ниже.

    3. Установите зависимости:
    4. # Активируйте виртуальное окружение
      source venv/bin/activate
      
      # Установите необходимые библиотеки
      pip install python-telegram-bot yookassa qrcode[pil] python-dotenv
    5. Настройте переменные окружения:
    6. Создайте файл `.env` в корне проекта и добавьте следующие переменные:

      BOT_TOKEN=YOUR_BOT_TOKEN
      NEWS_CHANNEL_ID=@your_news_channel_id
      SUPPORT_CHAT_ID=YOUR_SUPPORT_CHAT_ID
      MARZBAN_API_URL=http://your_domain.com/api/users
      MARZBAN_API_KEY=YOUR_API_KEY
    7. Измените код бота:
    8. Откройте файл `marzban_bot.py` и замените заглушки на реальные значения:

      # Константы
      from dotenv import load_dotenv
      load_dotenv()
      
      BOT_TOKEN = os.getenv("BOT_TOKEN") # Токен Telegram-бота
      MARZBAN_API_URL = os.getenv("MARZBAN_API_URL") # URL API Marzban
      MARZBAN_API_KEY = os.getenv("MARZBAN_API_KEY") # API-ключ Marzban
      
      # Функция создания пользователя через API Marzban
      def create_user(username, password, data_limit, expiry):
       payload = {
       "username": username,
       "password": password,
       "data_limit": data_limit,
       "expiry": expiry
       }
       headers = {"Authorization": f"Bearer {MARZBAN_API_KEY}"}
       response = requests.post(MARZBAN_API_URL, json=payload, headers=headers)
       return response.json()
    9. Защитите данные бота:
    10. Чтобы защитить токен бота и другие секретные данные, используйте следующие меры:

      • Файл `.env`: Храните все секретные данные в файле `.env` и загружайте их через библиотеку `python-dotenv`.
      • Ограничьте доступ к файлам: Установите права доступа к файлам `.env` и `bot.py`:
      • # Ограничьте доступ к файлам
        chmod 600 .env
        chmod 600 bot.py
      • Используйте прокси: Если возможно, запускайте бота через прокси или защищенный сервер.
    Скачать бота для Marzban

Установка и настройка Hiddify с полной обвязкой

Эта инструкция поможет вам установить Hiddify с реверс-прокси через Nginx, фейковым сайтом, SSL-сертификатами и защитой панели.

  1. Подготовьте сервер:
  2. # Обновите систему
    apt update && apt upgrade -y
    
    # Установите необходимые пакеты
    apt install curl wget sudo ufw python3 python3-pip -y
  3. Установите Hiddify:
  4. # Запустите автоматический установщик
    curl -s https://hiddify.com/install.sh | bash
  5. Настройте Nginx для реверс-прокси:
  6. # Настройте конфигурацию Nginx
    cat < /etc/nginx/sites-available/hiddify.conf
    server {
     listen 80;
     server_name your_domain.com;
    
     location / {
     proxy_pass http://127.0.0.1:80;
     proxy_set_header Host \$host;
     proxy_set_header X-Real-IP \$remote_addr;
     proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
     proxy_set_header X-Forwarded-Proto \$scheme;
     }
    
     location /fake-site {
     root /var/www/fake-site;
     }
    }
    EOF
    
    ln -s /etc/nginx/sites-available/hiddify.conf /etc/nginx/sites-enabled/
    nginx -t && systemctl restart nginx
  7. Создайте фейковый сайт:
  8. # Создайте директорию для фейкового сайта
    mkdir -p /var/www/fake-site
    wget -O /var/www/fake-site/index.html https://example.com/static-site.html
  9. Получите SSL-сертификаты:
  10. # Установите Certbot
    apt install certbot python3-certbot-nginx -y
    
    # Получите SSL-сертификат
    certbot --nginx -d your_domain.com
  11. Настройте инбаунды:
  12. Добавьте два инбаунда: VLESS+REALITY и VLESS+WebSocket.

    # Войдите в панель управления
    https://your_domain.com
    
    # Создайте инбаунд VLESS+REALITY:
    - Protocol: VLESS
    - Transport: REALITY
    - Port: 443
    
    # Создайте инбаунд VLESS+WebSocket:
    - Protocol: VLESS
    - Transport: WebSocket
    - Path: /ws
    - Port: 443
  13. Включите подписки на порту 443:
  14. В панели управления Hiddify настройте подписки для использования порта 443.

  15. Настройте файрвол:
  16. # Включите UFW
    ufw allow 22
    ufw allow 80
    ufw allow 443
    ufw enable
  17. Защитите панель:
  18. Измените стандартные логин и пароль, включите двухфакторную аутентификацию и используйте Cloudflare для защиты.

    Настройка Telegram-бота для Hiddify

    Для работы бота с Hiddify необходимо выполнить следующие шаги:

    1. Скачайте файл бота:
    2. Нажмите кнопку "Скачать бота для Hiddify" ниже.

    3. Установите зависимости:
    4. # Активируйте виртуальное окружение
      source venv/bin/activate
      
      # Установите необходимые библиотеки
      pip install python-telegram-bot yookassa qrcode[pil] python-dotenv
    5. Настройте переменные окружения:
    6. Создайте файл `.env` в корне проекта и добавьте следующие переменные:

      BOT_TOKEN=YOUR_BOT_TOKEN
      NEWS_CHANNEL_ID=@your_news_channel_id
      SUPPORT_CHAT_ID=YOUR_SUPPORT_CHAT_ID
      HIDDIFY_API_URL=https://your_domain.com/admin/api
      HIDDIFY_ADMIN_PASSWORD=YOUR_ADMIN_PASSWORD
    7. Измените код бота:
    8. Откройте файл `hiddify_bot.py` и замените заглушки на реальные значения:

      # Константы
      from dotenv import load_dotenv
      load_dotenv()
      
      BOT_TOKEN = os.getenv("BOT_TOKEN") # Токен Telegram-бота
      HIDDIFY_API_URL = os.getenv("HIDDIFY_API_URL") # URL API Hiddify
      HIDDIFY_ADMIN_PASSWORD = os.getenv("HIDDIFY_ADMIN_PASSWORD") # Пароль администратора Hiddify
      
      # Функция создания пользователя через API Hiddify
      def create_user(username, data_limit, expire_in):
       payload = {
       "username": username,
       "data_limit": data_limit,
       "expire_in": expire_in
       }
       response = requests.post(HIDDIFY_API_URL, auth=("admin", HIDDIFY_ADMIN_PASSWORD), data=payload)
       return response.json()
    9. Защитите данные бота:
    10. Чтобы защитить токен бота и другие секретные данные, используйте следующие меры:

      • Файл `.env`: Храните все секретные данные в файле `.env` и загружайте их через библиотеку `python-dotenv`.
      • Ограничьте доступ к файлам: Установите права доступа к файлам `.env` и `bot.py`:
      • # Ограничьте доступ к файлам
        chmod 600 .env
        chmod 600 bot.py
      • Используйте прокси: Если возможно, запускайте бота через прокси или защищенный сервер.
      • Защитите API: Используйте HTTPS для всех запросов к API и ограничьте доступ к API только с определенных IP-адресов.
    Скачать бота для Hiddify