12 KiB
TG WS Proxy Go
Go-переосмысление Flowseal/tg-ws-proxy
Локальный SOCKS5-прокси для Telegram Desktop на Go
Ускоряет работу Telegram через WebSocket-соединения напрямую к серверам Telegram.
📥 Скачать (Последняя версия v2.0.4)
💡 Просто выберите свою платформу и нажмите "Скачать"!
| TgWsProxy.exe | TgWsProxy | TgWsProxy |
| 6.6 MB | 6.5 MB | 6.6 MB / 5.8 MB (ARM) |
| ⬇️ Скачать | ⬇️ Скачать | ⬇️ Intel / ⬇️ Apple Silicon |
📦 Все версии: https://github.com/y0sy4/tg-ws-proxy-go/releases
🚀 Быстрый старт (3 простых шага)
💡 Это так просто!
| Шаг | Что делать | Windows | Linux/macOS |
|---|---|---|---|
| 1️⃣ | Скачать | Нажми "Скачать" выше | Нажми "Скачать" выше |
| 2️⃣ | Запустить | Дважды кликни на TgWsProxy.exe |
Открой терминал: ./TgWsProxy |
| 3️⃣ | Готово! | Telegram сам откроет настройки | Telegram сам откроет настройки |
✅ Всё! Telegram теперь работает через прокси!
Почему Go версия лучше
| Параметр | Python | Go |
|---|---|---|
| Размер | ~50 MB | ~8 MB |
| Зависимости | pip (много) | stdlib |
| Время запуска | ~500 ms | ~50 ms |
| Потребление памяти | ~50 MB | ~10 MB |
Быстрый старт
Установка
# Скачать готовый бинарник из Releases
# Или собрать из исходников
go build -o TgWsProxy.exe ./cmd/proxy
Запуск
# Windows (автоматически откроет настройку прокси в Telegram)
start run.bat
# Linux/macOS (автоматически откроет настройку прокси в Telegram)
./TgWsProxy
# С опциями
./TgWsProxy --port 9050 --dc-ip 2:149.154.167.220
📖 Подробная инструкция для новичков
Шаг 1: Скачивание
- Откройте страницу Releases
- Найдите свою платформу в таблице
- Нажмите на ссылку скачивания (например,
TgWsProxy_windows_amd64.exe)
Шаг 2: Установка
Windows:
- Просто сохраните файл в любую папку (например,
C:\Programs\TgWsProxy\) - Создайте ярлык на рабочем столе (по желанию)
macOS/Linux:
- Сохраните файл в папку
~/Applications/ - Откройте терминал и выполните:
chmod +x ~/Applications/TgWsProxy
Шаг 3: Запуск
Windows:
- Дважды кликните на
TgWsProxy.exe - Откроется окно Telegram с настройками прокси
macOS/Linux:
- Откройте терминал
- Выполните:
./TgWsProxy
Шаг 4: Настройка Telegram
Если Telegram не открылся автоматически:
- Откройте браузер
- Перейдите по ссылке:
tg://socks?server=127.0.0.1&port=1080 - Подтвердите добавление прокси
Или настройте вручную:
- Настройки → Продвинутые → Прокси → Добавить
- Тип: SOCKS5
- Сервер: 127.0.0.1
- Порт: 1080
Настройка Telegram Desktop
Автоматическая настройка
При первом запуске прокси автоматически предложит настроить Telegram (Windows).
Или откройте ссылку в браузере:
tg://socks?server=127.0.0.1&port=1080
Ручная настройка
- Настройки → Продвинутые → Тип подключения → Прокси
- Добавить прокси:
- Тип: SOCKS5
- Сервер:
127.0.0.1 - Порт:
1080 - Логин/Пароль: пусто (или ваши данные если используете
--auth)
Или откройте ссылку: tg://socks?server=127.0.0.1&port=1080
Командная строка
./TgWsProxy [опции]
Основные опции (для всех):
--port int Порт SOCKS5 (default 1080)
--host string Хост SOCKS5 (default "127.0.0.1")
--dc-ip string DC:IP через запятую
--auth string SOCKS5 аутентификация (username:password)
-v Подробное логирование
--version Показать версию
Продвинутые опции (для опытных):
--http-port int Включить HTTP прокси на порту (0 = выключено)
--upstream-proxy Восходящий прокси (socks5://user:pass@host:port)
Примеры
Базовое (для новичков):
TgWsProxy.exe
Просто запусти! Telegram автоматически откроет настройки SOCKS5 прокси.
С аутентификацией:
TgWsProxy.exe --auth "myuser:mypassword"
Защита прокси паролем.
С HTTP прокси (для опытных):
TgWsProxy.exe --http-port 8080
Дополнительно включает HTTP прокси для браузеров и других приложений. Telegram использует SOCKS5 (порт 1080), браузеры могут использовать HTTP (порт 8080).
С восходящим прокси (для опытных):
TgWsProxy.exe --upstream-proxy "socks5://user:pass@proxy-server:1080"
Подключение к Telegram через другой SOCKS5 прокси.
Структура проекта
tg-ws-proxy/
├── cmd/
│ └── proxy/ # CLI приложение
├── internal/
│ ├── proxy/ # Ядро прокси
│ ├── socks5/ # SOCKS5 сервер
│ ├── websocket/ # WebSocket клиент
│ ├── mtproto/ # MTProto парсинг
│ └── config/ # Конфигурация
├── go.mod
├── Makefile
└── README.md
Сборка
# Все платформы
make all
# Конкретная платформа
make windows # Windows (.exe)
make linux # Linux (amd64)
make darwin # macOS Intel + Apple Silicon
make android # Android (.aar библиотека)
Поддерживаемые платформы
| Платформа | Архитектуры | Статус |
|---|---|---|
| Windows | x86_64 | ✅ Готово |
| Linux | x86_64 | ✅ Готово |
| macOS | Intel + Apple Silicon | ✅ Готово |
| Android | arm64, arm, x86_64 | 📝 См. android/README.md |
| iOS | arm64 | 🚧 В планах |
macOS Catalina (10.15) — поддерживается! Используйте TgWsProxy_macos_amd64.
Конфигурация
Файл конфигурации:
- Windows:
%APPDATA%/TgWsProxy/config.json - Linux:
~/.config/TgWsProxy/config.json - macOS:
~/Library/Application Support/TgWsProxy/config.json
{
"port": 1080,
"host": "127.0.0.1",
"dc_ip": [
"1:149.154.175.50",
"2:149.154.167.220",
"3:149.154.175.100",
"4:149.154.167.220",
"5:91.108.56.100"
],
"verbose": false,
"log_max_mb": 5,
"buf_kb": 256,
"pool_size": 4
}
Особенности
- ✅ WebSocket pooling — пул соединений для уменьшения задержек
- ✅ TCP fallback — автоматическое переключение при недоступности WS
- ✅ MTProto парсинг — извлечение DC ID из init-пакета
- ✅ SOCKS5 — полная поддержка RFC 1928
- ✅ Логирование — с ротацией файлов
- ✅ Zero-copy — оптимизированные операции с памятью
📱 Планы развития
- Android APK — нативное приложение с фоновой службой
- iOS App — Swift обёртка вокруг Go ядра
- GUI для desktop — системный трей для Windows/macOS/Linux
Производительность
| Метрика | Значение |
|---|---|
| Размер бинарника | ~8 MB |
| Потребление памяти | ~10 MB |
| Время запуска | <100 ms |
| Задержка (pool hit) | <1 ms |
🔍 Решение проблем
Прокси не подключается
Проверьте:
- ✅ Запущена ли программа
TgWsProxy - ✅ Правильно ли настроен Telegram (127.0.0.1:1080)
- ✅ Не блокирует ли антивирус
Попробуйте:
- Перезапустите
TgWsProxy - Перезапустите Telegram
- Проверьте логи:
%APPDATA%\TgWsProxy\proxy.log
Telegram не открывается автоматически
Откройте вручную: tg://socks?server=127.0.0.1&port=1080
Или настройте вручную (см. выше).
Антивирус блокирует программу
Это ложное срабатывание. Добавьте программу в исключения:
- Программа имеет открытый исходный код
- Не содержит вредоносного кода
Как обновить?
Автоматически: При запуске программа проверит и скачает обновление.
Вручную: Скачайте новую версию из Releases и замените файл.
Ещё вопросы?
Смотрите ❓ FAQ — там ответы на все вопросы!
Требования
- Go 1.21+ для сборки
- Windows 7+ / macOS 10.15+ / Linux x86_64
- Telegram Desktop для использования
Известные ограничения
- IPv6 — поддерживается через IPv4-mapped адреса (::ffff:x.x.x.x) и NAT64
- DC3 WebSocket — может быть недоступен в некоторых регионах
Лицензия
MIT License