Local MTProto proxy server for partial bypassing of Telegram loading
Go to file
Flowseal 053ec3e00f Universal2 macos test 2026-03-18 18:11:07 +03:00
.github Universal2 macos test 2026-03-18 18:11:07 +03:00
packaging Universal2 macos test 2026-03-18 18:11:07 +03:00
proxy Media chunking fix; Removed high number dc detection 2026-03-16 04:04:54 +03:00
.gitignore MacOS support (#225) 2026-03-18 17:33:38 +03:00
LICENSE Initial commit 2026-03-04 17:10:26 +03:00
README.md MacOS support (#225) 2026-03-18 17:33:38 +03:00
icon.ico Initial release 2026-03-04 17:20:07 +03:00
macos.py macos dialog fix; macos merge logs 2026-03-18 17:49:24 +03:00
requirements-macos.txt MacOS support (#225) 2026-03-18 17:33:38 +03:00
requirements-win7.txt Lock recode, bind error notify, clipboard cross-platform 2026-03-07 21:10:35 +03:00
requirements.txt MacOS support (#225) 2026-03-18 17:33:38 +03:00
windows.py Merge pull request #244 from hir-lol/main 2026-03-18 01:40:09 +03:00

README.md

[!CAUTION]

Реакция антивирусов

Windows Defender часто ошибочно помечает приложение как Wacatac.
Если вы не можете скачать из-за блокировки, то:

  1. Попробуйте скачать версию win7 (она ничем не отличается в плане функционала)
  2. Отключите антивирус на время скачивания, добавьте файл в исключения и включите обратно

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

TG WS Proxy

Локальный SOCKS5-прокси для Telegram Desktop, который перенаправляет трафик через WebSocket-соединения к указанным серверам, помогая частично ускорить работу Telegram.

Ожидаемый результат аналогичен прокидыванию hosts для Web Telegram: ускорение загрузки и скачивания файлов, загрузки сообщений и части медиа.

image

Как это работает

Telegram Desktop → SOCKS5 (127.0.0.1:1080) → TG WS Proxy → WSS (kws*.web.telegram.org) → Telegram DC
  1. Приложение поднимает локальный SOCKS5-прокси на 127.0.0.1:1080
  2. Перехватывает подключения к IP-адресам Telegram
  3. Извлекает DC ID из MTProto obfuscation init-пакета
  4. Устанавливает WebSocket (TLS) соединение к соответствующему DC через домены kws{N}.web.telegram.org
  5. Если WS недоступен (302 redirect) — автоматически переключается на прямое TCP-соединение

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

Windows

Перейдите на страницу релизов и скачайте TgWsProxy.exe. Он собирается автоматически через Github Actions из открытого исходного кода.

При первом запуске откроется окно с инструкцией по подключению Telegram Desktop. Приложение сворачивается в системный трей.

Меню трея:

  • Открыть в Telegram — автоматически настроить прокси через tg://socks ссылку
  • Перезапустить прокси — перезапуск без выхода из приложения
  • Настройки... — GUI-редактор конфигурации
  • Открыть логи — открыть файл логов
  • Выход — остановить прокси и закрыть приложение

Установка из исходников

Для Windows:

pip install -r requirements.txt

Для MacOS:

pip install -r requirements-macos.txt

Windows (Tray-приложение)

python windows.py

MacOS (Tray-приложение)

Перейдите на страницу релизов и скачайте TgWsProxy.dmg — универсальная сборка для Apple Silicon и Intel.

  1. Открыть образ
  2. Перенести TG WS Proxy.app в папку Applications
  3. При первом запуске macOS может попросить подтвердить открытие: Системные настройки → Конфиденциальность и безопасность → Всё равно открыть

Консольный режим (Windows)

python proxy/tg_ws_proxy.py [--port PORT] [--dc-ip DC:IP ...] [-v]

Аргументы:

Аргумент По умолчанию Описание
--port 1080 Порт SOCKS5-прокси
--dc-ip 2:149.154.167.220, 4:149.154.167.220 Целевой IP для DC (можно указать несколько раз)
-v, --verbose выкл. Подробное логирование (DEBUG)

Примеры:

# Стандартный запуск
python proxy/tg_ws_proxy.py

# Другой порт и дополнительные DC
python proxy/tg_ws_proxy.py --port 9050 --dc-ip 1:149.154.175.205 --dc-ip 2:149.154.167.220

# С подробным логированием
python proxy/tg_ws_proxy.py -v

Консольный режим (MacOS)

python macos.py

Настройка Telegram Desktop

Автоматически

ПКМ по иконке в трее → «Открыть в Telegram»

Вручную

  1. Telegram → НастройкиПродвинутые настройкиТип подключенияПрокси
  2. Добавить прокси:
    • Тип: SOCKS5
    • Сервер: 127.0.0.1
    • Порт: 1080
    • Логин/Пароль: оставить пустыми

Конфигурация

Tray-приложение хранит данные в %APPDATA%/TgWsProxy:

{
  "port": 1080,
  "dc_ip": [
    "2:149.154.167.220",
    "4:149.154.167.220"
  ],
  "verbose": false
}

Автоматическая сборка

Проект содержит спецификацию PyInstaller (windows.spec) и GitHub Actions workflow (.github/workflows/build.yml) для автоматической сборки.

Для Windows:

pip install pyinstaller
pyinstaller packaging/windows.spec

Для MacOS:

pip install pyinstaller
packaging/create_icon.sh
pyinstaller packaging/macos.spec

Создать универсальный DMG (local-тест с двумя копями одной архитектуры):

pip install pyinstaller
packaging/create_icon.sh
pyinstaller packaging/macos.spec --noconfirm
cp -R "dist/TG WS Proxy.app" "dist/TG WS Proxy-intel.app"
packaging/merge_universal2.sh \
    "dist/TG WS Proxy.app" \
    "dist/TG WS Proxy-intel.app" \
    "dist/TG WS Proxy-universal.app"
  • В результате в папке dist/ появятся .app под текущую архитектуру и TgWsProxy.dmg.

Лицензия

MIT License