Local MTProto proxy server for partial bypassing of Telegram loading
Go to file
Dark_Avery 4f65813785 fix(runtime): accept advanced logging and socket tuning settings 2026-03-28 22:22:30 +03:00
.github Merge branch 'main' into android_migration 2026-03-23 20:09:08 +03:00
android feat(android): add advanced upstream tuning settings 2026-03-23 02:42:08 +03:00
packaging Linux binary, github actions (#282) 2026-03-19 06:55:55 +03:00
proxy fix(runtime): accept advanced logging and socket tuning settings 2026-03-28 22:22:30 +03:00
tests feat(android): add advanced upstream tuning settings 2026-03-23 02:42:08 +03:00
ui fix: остановка прокси из трея, пул WS и проверка обновлений (#443) 2026-03-27 10:54:33 +03:00
utils fix: остановка прокси из трея, пул WS и проверка обновлений (#443) 2026-03-27 10:54:33 +03:00
.dockerignore Docker image for headless proxy (#289) 2026-03-27 09:05:56 +03:00
.gitignore Merge upstream/main into android_migration 2026-03-19 20:26:56 +03:00
Dockerfile Docker image for headless proxy (#289) 2026-03-27 09:05:56 +03:00
LICENSE Initial commit 2026-03-04 17:10:26 +03:00
README.md Merge upstream/main into android_migration 2026-03-28 22:21:31 +03:00
icon.ico icon size increase 2026-03-27 09:17:15 +03:00
linux.py Merge upstream/main into android_migration 2026-03-28 22:21:31 +03:00
macos.py Merge upstream/main into android_migration 2026-03-28 22:21:31 +03:00
pyproject.toml Общий UI трея в ui/, тултипы, исправление tg:// с реальным host, доработки windows.py (импорты, lock, IPv6, остановка прокси) (#417) 2026-03-27 08:54:36 +03:00
windows.py Merge upstream/main into android_migration 2026-03-28 22:21:31 +03:00

README.md

[!CAUTION]

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

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

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

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

TG WS Proxy

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

image

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

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

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

Windows

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

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

Меню трея:

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

При первом запуске после старта может появиться запрос об открытии страницы релиза, если на GitHub вышла новая версия (отключается в настройках).

macOS

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

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

Linux

Для Debian/Ubuntu скачайте со страницы релизов пакет TgWsProxy_linux_amd64.deb.

Для Arch и Arch-Based дистрибутивов подготовлены пакеты в AUR: tg-ws-proxy-bin, tg-ws-proxy-git, tg-ws-proxy-cli

# Установка без AUR-helper
git clone https://aur.archlinux.org/tg-ws-proxy-bin.git
cd tg-ws-proxy-bin
makepkg -si

# При помощи AUR-helper
paru -S tg-ws-proxy-bin

# Если вы установили -cli пакет, то запуск осуществляется через systemctl, где 8888 это номер порта прокси:
sudo systemctl start tg-ws-proxy-cli@8888

Для остальных дистрибутивов можно использовать TgWsProxy_linux_amd64 (бинарный файл для x86_64).

chmod +x TgWsProxy_linux_amd64
./TgWsProxy_linux_amd64

При первом запуске откроется окно с инструкцией. Приложение работает в системном трее (требуется AppIndicator).

Android

Перейдите на страницу релизов и скачайте подписанный APK вида tg-ws-proxy-android-vX.Y.Z.apk.

После установки:

  • откройте приложение
  • проверьте Android background limits
  • при необходимости отключите battery optimization и снимите background restrictions
  • нажмите Start Service
  • нажмите Open in Telegram

Что важно для стабильной работы на Android:

  • разрешите уведомления
  • отключите battery optimization для приложения

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

Консольный proxy

Для запуска только SOCKS5/WebSocket proxy без tray-интерфейса достаточно базовой установки:

pip install -e .
tg-ws-proxy

Windows 7/10+

pip install -e .
tg-ws-proxy-tray-win

macOS

pip install -e .
tg-ws-proxy-tray-macos

Linux

pip install -e .
tg-ws-proxy-tray-linux

Консольный режим из исходников

tg-ws-proxy [--port PORT] [--host HOST] [--dc-ip DC:IP ...] [-v]

Android debug APK

Требуются JDK 17, Android SDK и Gradle. Локальная debug-сборка:

./android/build-local-debug.sh

Результат:

android/app/build/outputs/apk/debug/app-debug.apk

Android signed release APK

Для локальной release-сборки нужен keystore и переменные окружения:

export ANDROID_KEYSTORE_FILE=/path/to/tg-ws-proxy-release.keystore
export ANDROID_KEYSTORE_PASSWORD=...
export ANDROID_KEY_ALIAS=tg-ws-proxy
export ANDROID_KEY_PASSWORD=...

Сборка:

cd android
./gradlew assembleRelease

Результат:

android/app/build/outputs/apk/release/app-release.apk

Аргументы:

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

Примеры:

# Стандартный запуск
tg-ws-proxy

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

# С подробным логированием
tg-ws-proxy -v

CLI-скрипты (pyproject.toml)

CLI команды объявляются в pyproject.toml в секции [project.scripts] и должны указывать на module:function.

Пример:

[project.scripts]
tg-ws-proxy = "proxy.tg_ws_proxy:main"
tg-ws-proxy-tray-win = "windows:main"
tg-ws-proxy-tray-macos = "macos:main"
tg-ws-proxy-tray-linux = "linux:main"

Настройка Telegram Desktop

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

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

Вручную

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

Настройка Telegram Android

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

В приложении нажмите Open in Telegram после запуска foreground service.

Вручную

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

Важно:

  • сначала должен быть запущен foreground service
  • если Telegram был уже открыт, иногда проще закрыть и открыть его заново после запуска прокси

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

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

  • Windows: %APPDATA%/TgWsProxy
  • macOS: ~/Library/Application Support/TgWsProxy
  • Linux: ~/.config/TgWsProxy (или $XDG_CONFIG_HOME/TgWsProxy)
{
  "host": "127.0.0.1",
  "port": 1080,
  "dc_ip": [
    "2:149.154.167.220",
    "4:149.154.167.220"
  ],
  "verbose": false,
  "buf_kb": 256,
  "pool_size": 4,
  "log_max_mb": 5.0,
  "check_updates": true
}

Ключ check_updates — при true при запросе к GitHub сравнивается версия с последним релизом (только уведомление и ссылка на страницу загрузки). На Windows в конфиге может быть autostart (автозапуск при входе в систему).

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

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

Минимально поддерживаемые версии ОС для текущих бинарных сборок:

  • Windows 10+ для TgWsProxy_windows.exe
  • Windows 7 (x64) для TgWsProxy_windows_7_64bit.exe
  • Windows 7 (x32) для TgWsProxy_windows_7_32bit.exe
  • Intel macOS 10.15+
  • Apple Silicon macOS 11.0+
  • Linux x86_64 (требуется AppIndicator для системного трея)

Лицензия

MIT License