Опубликовано
- 1 мин чтения
Поднимаем свой MTProxy
Заботливое начальство вынуждает прокачивать технические скиллы. Разберёмся, как поднять MTProxy для Telegram на VPS. Для этого нам понадобится VPS, Docker Engine и домен для Fake TLS.
Что нам понадобится?
1. VPS.
Покупайте самый дешёвый сервер. Сильное железо не требуется, главное чтобы не было ограничений по трафику. Характеристики моего сервера: 1 vCPU, 1 GB RAM, 15 GB SSD.
У меня сервер иностранный. На Хабре некоторые пишут, что сервер в России, возможно, будет лучше работать, так как трафик внутри страны не проверяется. Так это или нет – не знаю.
2. Docker Engine.
Прокси будет запускаться в Docker, поэтому просто установите его, используя официальную документацию для вашей операционной системы.
3. Домен.
Домен нужен для Fake TLS. Наш MTProxy будет прикидываться обычным HTTPS-трафиком.
Если у вас есть домен — отлично. Просто добавляете A-запись с IP-адресом вашего сервера.
Если домена нет, то можно зарегистрироваться на FreeDNS и взять домен третьего уровня на любом понравившемся бесплатном домене. Я в своё время пользовался такими доменами для удобства доступа к своим self-hosted приложениям.
Запускаем прокси
Есть несколько Docker-образов для запуска MTProxy. Я использую nineseconds/mtg:2, так как это самый простой способ запустить прокси с Fake TLS. Запускается всё следующим образом:
1. Генерируем секрет из вашего домена
docker run --rm \
nineseconds/mtg:2 generate-secret \
--hex your.domain.com
Результат будет выглядить примерно так:
ee...
2. Кладём секрет в config.toml:
secret = "ee..."
bind-to = "0.0.0.0:443"
3. Создаём Docker Compose файл
Создаём Docker Compose файл с содержимым ниже и запускаем прокси командой docker compose up -d:
services:
mtg-proxy:
image: nineseconds/mtg:2
container_name: mtg-proxy
restart: unless-stopped
ports:
- '443:443/tcp'
volumes:
- ./config.toml:/config.toml:ro
Проверьте логи через docker compose logs. Если логов нет, значит всё хорошо.
Теперь можно сделать ссылку в формате:
tg://proxy?server=<your.domain.com>&port=443&secret=<secret>
И поделиться ею друзьями и родными.
Telegram добавит ваш прокси при нажатии на ссылку.