Skip to content

GvozdevAD/mtproxy-socks-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mtproxy-socks-docker

Docker Compose для Telegram MTProxy (MTProxy) и SOCKS5 на базе microsocks: один docker compose up поднимает оба сервиса, network_mode: host.

Быстрый старт

  1. Клонируйте репозиторий и перейдите в каталог:

    git clone https://github.com/GvozdevAD/mtproxy-socks-docker.git
    cd mtproxy-socks-docker
  2. Скопируйте окружение и задайте секреты:

    cp .env.example .env

    Секрет MTProxy для клиентов (32 hex-символа) и при желании учётные данные SOCKS5. Удобно сгенерировать строки для .env:

    make secret

    Выведет SECRET=…, SOCKS_USER=… и SOCKS_PASSWORD=… (по 7 символов латиницы и цифр для SOCKS). Либо вручную: head -c 16 /dev/urandom | xxd -ps для SECRET.

  3. Запуск обоих сервисов:

    make up

    Или: docker compose up -d --build.

Порты слушаются на хосте напрямую (см. PORT, TLS_PORT, SOCKS_PORT в .env). Откройте их в файрволе при необходимости.

Конфиг Telegram для MTProxy (proxy-secret, proxy-multi.conf) при первом старте подтягивается в ./data (том в docker-compose.yaml).

Только MTProxy или только SOCKS5

  • make up-mtproxy — только MTProxy; make up-socks — только microsocks (SOCKS5).

SOCKS5 в Telegram

Настройки → Данные и память → Прокси — тип SOCKS5, хост и порт из .env (SOCKS_PORT, по умолчанию 1080). Если заданы SOCKS_USER и SOCKS_PASSWORD, включите авторизацию в клиенте; на публичном сервере не оставляйте открытый SOCKS5 без логина/пароля.

Остановка: make down — всё; make down-mtproxy / make down-socks — по отдельности. Перезапуск: make restart, либо make restart-mtproxy / make restart-socks.

Полезные команды

Список целей с подсказками по разделам (Common / MTProxy / SOCKS / Utils):

make help

В том числе: make secret — случайные SECRET, SOCKS_USER, SOCKS_PASSWORD; make link — ссылки tg://proxy; make up / make up-mtproxy / make up-socks; make logs-socks — логи microsocks.

Переменные .env

Переменная Смысл
SECRET Обязательно — ровно 32 hex-цифры (16 байт), без префикса dd. Префикс dd для random padding указывается в Telegram при добавлении MTProxy, на сервере в .env всегда только «голый» hex.
WORKERS Число воркеров MTProxy (по умолчанию 1)
PORT Локальный порт MTProto (по умолчанию 8888, в т.ч. для /stats с localhost)
TLS_PORT Порт «fake TLS» для клиентов MTProxy (по умолчанию 443)
SOCKS_PORT Порт SOCKS5 (по умолчанию 1080); microsocks в make up или отдельно в make up-socks
SOCKS_USER Логин SOCKS5; если пусто — без авторизации (только для доверенной сети)
SOCKS_PASSWORD Пароль SOCKS5; обязателен, если задан SOCKS_USER

Подробности по флагам MTProxy — в репозитории MTProxy.

Releases

No releases published

Packages

 
 
 

Contributors