Сервис-нода для управления MTProto прокси контейнерами. Устанавливается на каждый прокси-сервер и управляется через MTProto Panel.
Скрипт установки протестирован и поддерживается на следующих системах:
| ОС | Версия | Пакетный менеджер |
|---|---|---|
| Ubuntu | 20.04, 22.04, 24.04 | apt |
| Debian | 11, 12 | apt |
| CentOS / RHEL | 8, 9 | yum / dnf |
| AlmaLinux / Rocky Linux | 8, 9 | yum |
⚠️ Скрипт предназначен только для Linux x86_64 и aarch64. Windows и macOS не поддерживаются.
Скрипт автоматически установит недостающие зависимости: curl, openssl, git, Docker, Docker Compose.
- Автоматическое создание и управление Docker контейнерами с MTProto прокси
- Единый nginx с configurable портом и fake TLS маскировкой
- SNI-based роутинг трафика по доменам
- VPN-туннелирование через VLESS — проксирование трафика через внешний VPN на уровне каждого прокси
- Мультипортовые прокси — свой порт для каждого прокси
- Статистика прокси: CPU, RAM, трафик, аптайм
- Подключённые IP-адреса с определением страны (ip-api.com)
- Чёрный список IP-адресов (блокировка через nginx)
- Лимиты одновременных подключений на прокси
- Пользовательский пул доменов для fake TLS (50 доменов по умолчанию)
- Обновление из панели управления
- REST API с авторизацией по токену
Клиент → nginx:443 (SNI) → telemt-proxy → Telegram DC
┌──────────────────────────────────────────────────────────┐
│ Service Node (РФ) │
│ │
│ ┌────────────┐ ┌──────────────┐ │
│ │ Express │ │ nginx :443 │ │
│ │ API :8443 │ │ (fake TLS) │ │
│ └────────────┘ └──────┬───────┘ │
│ SNI routing │
│ ┌──────────┼──────────┐ │
│ │ │ │ │
│ ┌──┴──┐ ┌──┴──┐ ┌──┴──┐ │
│ │proxy│ │proxy│ │proxy│ ← telemt │
│ │ 1 │ │ 2 │ │ N │ (proxychains4) │
│ └──┬──┘ └──┬──┘ └──┬──┘ │
│ │ │ │ │
│ ┌──┴──┐ ┌──┴──┐ ┌──┴──┐ │
│ │xray │ │xray │ │xray │ ← SOCKS5 :10808 │
│ │ 1 │ │ 2 │ │ N │ VLESS/Reality │
│ └──┬──┘ └──┬──┘ └──┬──┘ │
│ └─────────┼─────────┘ │
└───────────────────── │ ──────────────────────────────────┘
│ VLESS/Reality (зашифрованный)
▼
┌─────────────────┐
│ VPN-сервер │
│ (за рубежом) │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Telegram DC │
└─────────────────┘
Каждый прокси-контейнер получает индивидуальный xray-контейнер с SOCKS5 прокси. telemt подключается к нему через proxychains4, и весь трафик до Telegram идёт через VPN-туннель.
В РФ Telegram заблокирован, и серверы с российскими IP не могут подключаться к Telegram DC напрямую. Решение — цепочка с VPN-туннелем:
- Сервер в РФ — для сервис-ноды (дешёвый VPS, близкий к пользователям)
- VPN-сервер за рубежом — с установленным xray/VLESS (Нидерланды, Германия, Финляндия и т.д.)
- VLESS-подписка — URL с конфигурацией подключения
- VLESS + Reality (рекомендуется) — не детектируется DPI
- VLESS + TLS — стандартное TLS-шифрование
- VLESS + TCP/WS/gRPC — разные транспорты
- Устанавливаете сервис-ноду на российский сервер
- При создании прокси указываете URL подписки VLESS
- Для каждого прокси автоматически создаётся xray-контейнер
- xray поднимает VLESS-туннель до зарубежного сервера
- telemt пропускает весь трафик через этот туннель
- Для Telegram клиент подключается с российского IP, но трафик выходит с IP VPN-сервера
# Создание прокси с VPN-туннелем
curl -X POST http://NODE_IP:8443/api/proxies \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{
"domain": "www.google.com",
"vpnSubscription": "https://vpn-server.com/sub/your-subscription-id"
}'Одна команда для загрузки и запуска:
wget -qO /tmp/node-install.sh https://raw.githubusercontent.com/danielVNru/mtproto-node/master/install.sh && sudo bash /tmp/node-install.shСкрипт автоматически:
- Установит Docker и Docker Compose (если отсутствуют)
- Скачает последнюю версию из ветки
master - Запросит настройки:
- Порт API (по умолчанию
8443)
- Порт API (по умолчанию
- Сгенерирует токен авторизации (32 символа)
- Соберёт и запустит контейнер
Сервис-нода установится в /opt/mtproto-node.
⚠️ Сохраните токен! Он понадобится для подключения ноды в панели управления.
Нажмите кнопку «Обновить» на карточке ноды в панели управления.
cd /opt/mtproto-node
git pull origin master
docker compose up -d --buildСкрипт update.sh автоматически остановит ноду, обновит код, пересоберёт контейнер и восстановит все запущенные прокси.
| Контейнер | Описание | Порт |
|---|---|---|
mtproto-service-node |
Express API + управление | ${PORT}:8443 |
mtproto-nginx |
nginx stream proxy (fake TLS) | ${NGINX_PORT}:443+ |
mtproto-proxy-* |
MTProto прокси контейнеры (telemt) | внутренняя сеть |
mtproto-xray-* |
xray VLESS-туннели (только с VPN) | внутренняя сеть |
| Переменная | Описание |
|---|---|
PORT |
Внешний порт API сервис-ноды |
AUTH_TOKEN |
Токен авторизации для подключения из панели |
NGINX_PORT |
Порт nginx для прокси-трафика (по умолчанию 443) |
Все запросы (кроме /api/health) требуют заголовок Authorization: Bearer <TOKEN>.
| Метод | Путь | Описание |
|---|---|---|
GET |
/api/health |
Health check |
GET |
/api/proxies |
Список прокси |
POST |
/api/proxies |
Создать прокси |
GET |
/api/proxies/:id |
Детали прокси |
PUT |
/api/proxies/:id |
Обновить прокси |
DELETE |
/api/proxies/:id |
Удалить прокси |
GET |
/api/proxies/:id/stats |
Статистика прокси |
GET |
/api/proxies/:id/link?server_ip=X |
Ссылка для подключения |
POST |
/api/proxies/:id/restart |
Перезапустить прокси |
POST |
/api/proxies/:id/pause |
Приостановить прокси |
POST |
/api/proxies/:id/unpause |
Возобновить прокси |
GET |
/api/domains |
Получить домены fake TLS |
PUT |
/api/domains |
Задать пользовательские домены |
GET |
/api/blacklist |
Получить чёрный список IP |
PUT |
/api/blacklist |
Обновить чёрный список IP |
curl -X POST http://NODE_IP:8443/api/proxies \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{"port": 3001, "domain": "www.google.com", "maxConnections": 2}'| Параметр | Обязательный | Описание |
|---|---|---|
port |
Нет | Внутренний порт (случайный если не указан) |
domain |
Нет | Fake TLS домен (случайный из пула) |
tag |
Нет | Промо-тег для Telegram |
name |
Нет | Название прокси |
note |
Нет | Заметка |
maxConnections |
Нет | Лимит одновременных подключений (0 = без лимита) |
listenPort |
Нет | Собственный TCP-порт прокси (если не 443) |
vpnSubscription |
Нет | URL подписки VLESS для VPN-туннеля |
- Linux (Ubuntu 20.04+, Debian 11+, CentOS 8+)
- Docker Engine 20.10+
- Docker Compose v2
- Порт 443 свободен (для nginx)
- 512 MB RAM, 1 GB диск
Панель управления: mtproto-panel