Skip to content

Latest commit

 

History

History
271 lines (181 loc) · 11.9 KB

File metadata and controls

271 lines (181 loc) · 11.9 KB

TG WS Proxy

TG WS Proxy — приложение, реализующее локальный MTProto‑прокси для Telegram Desktop. В качестве транспортного уровня используется WebSocket, через который выполняется обмен данными с дата‑центрами Telegram.

После запуска программа ожидает подключения Telegram Desktop на локальном интерфейсе, затем перенаправляет трафик к нужному дата‑центру Telegram, не вмешиваясь в механизм MTProto‑шифрования. Для обычного использования не требуется арендовать VPS, поднимать собственный промежуточный сервер или использовать сторонние MTProto‑прокси.

Возможности

  • локальный MTProto-прокси для Telegram Desktop;
  • передача соединений через WebSocket;
  • автоматическое определение Telegram DC;
  • резервное переключение на CfProxy или прямое TCP-соединение;
  • работа через системный трей;
  • ручная и автоматическая настройка Telegram;
  • поддержка Windows, macOS и Linux;
  • отдельные сборки для старых версий Windows.

Схема подключения

Telegram Desktop → TG WS Proxy → WebSocket → Telegram DC

После запуска TG WS Proxy открывает локальный MTProto-порт, принимает соединение от Telegram Desktop, извлекает идентификатор дата-центра из начального MTProto-пакета и создаёт соединение с соответствующим Telegram DC.

Если WebSocket-маршрут недоступен или сервер возвращает перенаправление, приложение может использовать CfProxy либо подключиться напрямую по TCP.

Установка в Windows

Скачайте подходящий файл со страницы релизов текущего репозитория:

  • TgWsProxy_windows.exe — Windows 10 и новее;
  • TgWsProxy_windows_arm64.exe — Windows 10+ на ARM64;
  • TgWsProxy_windows_7_64bit.exe — Windows 7 x64;
  • TgWsProxy_windows_7_32bit.exe — Windows 7 x86.

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

Меню приложения

Контекстное меню значка в системном трее предоставляет быстрый доступ к основным функциям программы:

  • Открыть в Telegram — передать Telegram готовую ссылку tg://proxy;
  • Скопировать ссылку — сохранить ссылку подключения в буфер обмена;
  • Перезапустить прокси — перезапустить локальный сервер без закрытия программы;
  • Настройки... — открыть графическую панель конфигурации;
  • Открыть логи — перейти к журналу работы приложения;
  • Выход — остановить TG WS Proxy и закрыть приложение.

Настройка подключения

Через ссылку

  1. Нажмите правой кнопкой мыши по значку TG WS Proxy в трее.
  2. Выберите «Открыть в Telegram».
  3. Подтвердите подключение прокси в Telegram Desktop.

Если Telegram не открыл ссылку автоматически:

  1. Выберите «Скопировать ссылку».
  2. Отправьте ссылку себе в «Избранное».
  3. Откройте её внутри Telegram.
  4. Подтвердите добавление прокси.

Вручную

Откройте:

Telegram → Настройки → Продвинутые настройки → Тип подключения → Прокси

Создайте новое MTProto-подключение:

  • Тип: MTProto
  • Сервер: 127.0.0.1
  • Порт: 1443
  • Secret: значение из настроек TG WS Proxy или файла логов

Если адрес или порт были изменены в конфигурации приложения, укажите собственные значения.

Если не загружаются фото или видео

Иногда медиа может не открываться при использовании нескольких записей DC.

Для проверки рекомендуется выполнить следующие шаги:

  1. Откройте настройки TG WS Proxy.
  2. Перейдите к полю DC → IP.
  3. Удалите остальные записи и оставьте только:
4:149.154.167.220

Если это не решило проблему, полностью очистите список DC → IP и перезапустите прокси.

В качестве дополнительного варианта можно настроить собственный Cloudflare-домен по инструкции из файла CfProxy.md.

Антивирусные срабатывания

Некоторые готовые сборки могут ошибочно определяться защитным ПО как подозрительные из-за способа упаковки исполняемого файла.

Перед запуском рекомендуется:

  • загружать приложение только из релизов доверенного репозитория;
  • проверить файл несколькими антивирусными движками;
  • сравнить хеш или подпись файла, если они опубликованы;
  • при необходимости использовать сборку для Windows 7 или собрать проект самостоятельно.

Не отключайте защиту системы без необходимости и не запускайте файлы, происхождение которых невозможно проверить.

Поддерживаемые платформы

Подготовленные бинарные сборки доступны для следующих платформ:

  • Windows 10+ x64;
  • Windows 10+ ARM64;
  • Windows 7 x64;
  • Windows 7 x86;
  • macOS 10.15+ на Intel;
  • macOS 11.0+ на Apple Silicon;
  • Linux x86_64.

Для отображения значка приложения в Linux требуется поддержка AppIndicator.

Компиляция проекта

Для создания исполняемых файлов используются отдельные PyInstaller-спецификации:

Автоматическая сборка может выполняться через workflow:

Подробные команды для ручной установки и запуска из исходников находятся в:

Дополнительные материалы

Лицензия

TG WS Proxy распространяется по лицензии MIT.

Полный текст лицензии находится в файле LICENSE.


Docker

Использование Docker

TG WS Proxy можно запускать внутри Docker-контейнера без установки приложения непосредственно в систему. Такой вариант подходит для серверов, виртуальных машин и других окружений, где удобнее использовать контейнеризацию.

Сборка образа

git clone https://github.com/example/tg-ws-proxy.git
cd tg-ws-proxy

docker build -t tg-ws-proxy .

Запуск контейнера

docker run -d \
  --name tg-ws-proxy \
  --restart=always \
  -p 1443:1443 \
  tg-ws-proxy:latest

Чтобы получить ссылку для подключения Telegram Desktop, просмотрите журнал контейнера:

docker logs tg-ws-proxy

Все основные параметры могут задаваться через переменные окружения.

Переменная Назначение
TG_WS_PROXY_HOST Адрес прослушивания
TG_WS_PROXY_PORT Порт прокси
TG_WS_PROXY_SECRET Секрет MTProto
TG_WS_PROXY_DC_IPS Список Telegram DC

Сборка из исходников

Проект поддерживает запуск непосредственно из исходного кода без использования готовых бинарных файлов.

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

pip install -e .
tg-ws-proxy

Tray-приложение

Windows

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

Linux

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

macOS

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

После установки доступны стандартные параметры запуска:

tg-ws-proxy --port 1443 --host 127.0.0.1

Поддерживаются дополнительные аргументы, включая изменение Secret, настройку DC, включение подробного логирования, изменение размера буфера, использование Fake TLS, Cloudflare Proxy и Cloudflare Worker.


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

Файлы конфигурации сохраняются отдельно для каждой операционной системы.

  • Windows: %APPDATA%/TgWsProxy
  • Linux: ~/.config/TgWsProxy
  • macOS: ~/Library/Application Support/TgWsProxy

Пример конфигурации:

{
  "host":"127.0.0.1",
  "port":1443,
  "secret":"...",
  "verbose":false,
  "pool_size":4,
  "buf_kb":256,
  "cfproxy":true,
  "appearance":"auto"
}

Изменения вступают в силу после сохранения конфигурации и повторного запуска TG WS Proxy.