tg-ws-proxy

tg-ws-proxy

@ClaveAKA

Локальный 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-редактор конфигурации
  • Открыть логи — открыть файл логов
  • Выход — остановить прокси и закрыть приложение

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


pip install -r requirements.txt


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


python windows.py


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


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


Аргументы:

АргументПо умолчаниюОписание--port1080Порт SOCKS5-прокси--dc-ip2:149.154.167.2204: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


Настройка Telegram Desktop


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


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

Вручную


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

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


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) для автоматической сборки.

pip install pyinstaller
pyinstaller packaging/windows.spec


Report Page