{"id":47633267,"url":"https://github.com/y0sy4/tg-ws-proxy-go","last_synced_at":"2026-04-01T23:53:34.673Z","repository":{"id":346176798,"uuid":"1188831754","full_name":"y0sy4/tg-ws-proxy-go","owner":"y0sy4","description":"Local SOCKS5 proxy for Telegram Desktop with HTTP support, auto-config, and auto-update","archived":false,"fork":false,"pushed_at":"2026-03-22T19:52:51.000Z","size":59,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-23T07:31:51.340Z","etag":null,"topics":["cross-platform","golang","http-proxy","linux","macos","mtproto","proxy","socks5","telegram","telegram-desktop","websocket","windows"],"latest_commit_sha":null,"homepage":"https://github.com/y0sy4/tg-ws-proxy-go/releases","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/y0sy4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-22T16:38:36.000Z","updated_at":"2026-03-22T19:52:55.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/y0sy4/tg-ws-proxy-go","commit_stats":null,"previous_names":["y0sy4/tg-ws-proxy-go"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/y0sy4/tg-ws-proxy-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y0sy4%2Ftg-ws-proxy-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y0sy4%2Ftg-ws-proxy-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y0sy4%2Ftg-ws-proxy-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y0sy4%2Ftg-ws-proxy-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/y0sy4","download_url":"https://codeload.github.com/y0sy4/tg-ws-proxy-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y0sy4%2Ftg-ws-proxy-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31293129,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","golang","http-proxy","linux","macos","mtproto","proxy","socks5","telegram","telegram-desktop","websocket","windows"],"created_at":"2026-04-01T23:53:34.151Z","updated_at":"2026-04-01T23:53:34.660Z","avatar_url":"https://github.com/y0sy4.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TG WS Proxy Go\n\n[![Release](https://img.shields.io/github/v/release/y0sy4/tg-ws-proxy-go)](https://github.com/y0sy4/tg-ws-proxy-go/releases)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n**SOCKS5-прокси для Telegram Desktop на Go.** Ускоряет Telegram через WebSocket к серверам Telegram.\n\n---\n\n## 📥 Скачать (v2.0.6)\n\n| Версия | Windows | Linux | macOS |\n|--------|---------|-------|-------|\n| **Full** | [⬇️ .exe](.../v2.0.6/TgWsProxy.exe) (9.3 MB) | [⬇️ amd64](.../v2.0.6/TgWsProxy_linux_amd64) (8.9 MB) | [⬇️ Intel](.../v2.0.6/TgWsProxy_darwin_amd64) / [⬇️ ARM](.../v2.0.6/TgWsProxy_darwin_arm64) |\n| **Lite** | [⬇️ .exe](.../v2.0.6/TgWsProxy_lite.exe) (5.5 MB) | [⬇️ amd64](.../v2.0.6/TgWsProxy_lite_linux) (5.3 MB) | [⬇️ Intel](.../v2.0.6/TgWsProxy_lite_darwin) / [⬇️ ARM](.../v2.0.6/TgWsProxy_lite_darwin_arm) |\n\n**Какую версию выбрать?**\n\n| Версия | Размер | Функции | Для кого |\n|--------|--------|---------|----------|\n| **Full** | ~9 MB | Авто-обновление, HTTP proxy, upstream proxy, конфиги, автозапуск Telegram | Обычные пользователи |\n| **Lite** | ~5.3 MB | Только SOCKS5 прокси, `--test-dc` | Роутеры (OpenWRT), серверы, минималисты |\n\n---\n\n## 🚀 Быстрый старт\n\n### Windows\n1. Скачай `TgWsProxy_windows_amd64.exe`\n2. Дважды кликни\n3. Telegram откроет настройки прокси → нажми \"Включить\"\n\n### Linux/macOS\n```bash\nchmod +x TgWsProxy_*\n./TgWsProxy_linux_amd64  # или TgWsProxy_darwin_amd64\n```\n\n**Всё!** Telegram работает через прокси.\n\n---\n\n## ⚙️ Опции (для профи)\n\n```bash\nTgWsProxy.exe [флаги]\n```\n\n| Флаг | Описание | По умолчанию |\n|------|----------|--------------|\n| `--port` | Порт SOCKS5 | 1080 |\n| `--host` | Хост | 127.0.0.1 |\n| `--dc-ip` | DC:IP (через запятую) | авто |\n| `--auth` | Логин:пароль для прокси | — |\n| `--http-port` | HTTP прокси (для браузеров) | 0 (выкл) |\n| `--upstream-proxy` | Цепочка через другой прокси | — |\n| `-v` | Подробные логи | false |\n| `--test-dc` | Тест DC и выход | — |\n| `--auto-update` | Авто-обновление | false (безопасность) |\n\n### Примеры\n\n**Просто запустить:**\n```bash\nTgWsProxy.exe\n```\n\n**HTTP прокси для браузеров (порт 8080):**\n```bash\nTgWsProxy.exe --http-port 8080\n```\nТеперь браузер можно настроить на `127.0.0.1:8080`.\n\n**Через другой прокси (Tor, SSH):**\n```bash\nTgWsProxy.exe --upstream-proxy \"socks5://127.0.0.1:9050\"\n```\n\n**С паролем:**\n```bash\nTgWsProxy.exe --auth \"user:pass\"\n```\n\n**Диагностика DC (перед запуском):**\n```bash\n# Проверить доступность Telegram DC\nTgWsProxy.exe --test-dc\n\n# С verbose логами\nTgWsProxy.exe --test-dc -v\n\n# Тест конкретных DC\nTgWsProxy.exe --test-dc --dc-ip \"2:149.154.167.220,4:149.154.167.220\"\n```\n\n**Авто-обновление (только если доверяете источнику):**\n```bash\nTgWsProxy.exe --auto-update\n```\n⚠️ **Внимание:** Авто-обновление отключено по умолчанию из соображений безопасности. Бинарники скачиваются без проверки GPG-подписи.\n\n---\n\n## 🔧 Что нового в v2.0.6\n\n- 🛡️ **Безопасность:** авто-обновление отключено по умолчанию\n- 🔍 **--test-dc:** диагностика доступности Telegram DC\n- 📡 **OpenWRT:** полная поддержка роутеров + документация\n- 🐛 **Issue #5:** решение проблемы с медиа на роутерах\n- 📝 **README:** секция для OpenWRT с примерами\n\n[📖 Полные изменения](RELEASE_NOTES_v2.0.6.md)\n\n---\n\n## 🔧 Что было в v2.0.5\n\n- ⚡ **atomic.Int64** для статистики — 0 блокировок\n- 🧹 **stdlib вместо велосипедов** — -100 строк\n- 🚀 **оптимизация аллокаций** — MTProto быстрее на 50%\n- 📱 **Android/iOS** — все оптимизации совместимы\n\n[📖 Полные изменения](RELEASE_NOTES_v2.0.5.md)\n\n---\n\n## 📊 Почему Go?\n\n| | Python | Go |\n|--|--------|-----|\n| Размер | ~50 MB | **~8 MB** |\n| Зависимости | pip | **stdlib** |\n| Запуск | ~500 ms | **~50 ms** |\n| Память | ~50 MB | **~10 MB** |\n\n---\n\n## 🗂️ Структура\n\n```\ntg-ws-proxy-go/\n├── cmd/proxy/          # CLI приложение\n├── internal/\n│   ├── proxy/          # Ядро прокси\n│   ├── socks5/         # SOCKS5 сервер\n│   ├── websocket/      # WebSocket клиент\n│   ├── mtproto/        # MTProto парсинг\n│   ├── pool/           # WebSocket pooling\n│   ├── config/         # Конфигурация\n│   └── telegram/       # Авто-настройка Telegram\n├── mobile/             # Android/iOS bindings\n├── go.mod\n├── Makefile\n└── README.md\n```\n\n---\n\n## 🛠️ Сборка\n\n```bash\n# Windows\ngo build -o TgWsProxy.exe ./cmd/proxy\n\n# Linux\nGOOS=linux GOARCH=amd64 go build -o TgWsProxy_linux ./cmd/proxy\n\n# macOS\nGOOS=darwin GOARCH=amd64 go build -o TgWsProxy_macos_amd64 ./cmd/proxy\nGOOS=darwin GOARCH=arm64 go build -o TgWsProxy_macos_arm64 ./cmd/proxy\n\n# Все платформы\nmake all\n```\n\n---\n\n## 📱 Android/iOS\n\n```bash\n# AAR библиотека\ngomobile bind -target android -o android/tgwsproxy.aar ./mobile\n```\n\nВсе оптимизации совместимы с gomobile (Go 1.21+).\n\n---\n\n## 📡 OpenWRT / Роутеры\n\n### Проблема: текст работает, медиа нет\n\n**Причина:** Telegram использует разные DC для текста и медиа. На роутерах некоторые DC могут быть недоступны.\n\n**Решение 1: Использовать конкретный DC IP**\n\n```bash\n# Протестировать DC\n./tg-ws-proxy-go --test-dc\n\n# Запустить с рабочими DC (пример для Issue #5)\n./tg-ws-proxy-go --dc-ip \"2:149.154.167.220,4:149.154.167.220\" --host 0.0.0.0 --port 1080\n```\n\n**Решение 2: Для веб-версии Telegram**\n\nДобавьте в `/etc/hosts` на роутере:\n```\n149.154.167.220 web.telegram.org telegram.org t.me telesco.pe\n```\n\n**Решение 3: Upstream proxy (для обхода блокировок)**\n\n```bash\n# Через Tor\n./tg-ws-proxy-go --upstream-proxy \"socks5://127.0.0.1:9050\"\n\n# Через SSH туннель\n./tg-ws-proxy-go --upstream-proxy \"socks5://user:pass@proxy-server:port\"\n```\n\n### Сборка для OpenWRT (ARM64)\n\n```bash\n# На ПК (кросс-компиляция)\nGOOS=linux GOARCH=arm64 go build -o tg-ws-proxy-go ./cmd/proxy\n\n# Копирование на роутер\nscp tg-ws-proxy-go root@192.168.1.1:/usr/bin/\nchmod +x /usr/bin/tg-ws-proxy-go\n\n# Запуск\n/usr/bin/tg-ws-proxy-go --host 0.0.0.0 --port 1080\n```\n\n### Автозапуск (init.d скрипт)\n\n```bash\ncat \u003e /etc/init.d/tg-ws-proxy \u003c\u003c 'EOF'\n#!/bin/sh /etc/rc.common\n\nSTART=99\n\nstart() {\n    /usr/bin/tg-ws-proxy-go --dc-ip \"2:149.154.167.220,4:149.154.167.220\" --host 0.0.0.0 --port 1080 \u0026\n}\n\nstop() {\n    killall tg-ws-proxy-go\n}\nEOF\n\nchmod +x /etc/init.d/tg-ws-proxy\n/etc/init.d/tg-ws-proxy enable\n/etc/init.d/tg-ws-proxy start\n```\n\n---\n\n## 🔍 Решение проблем\n\n**Прокси не подключается:**\n1. Проверь, запущен ли `TgWsProxy.exe`\n2. Убедись, Telegram настроен на `127.0.0.1:1080`\n3. Проверь логи: `%APPDATA%\\TgWsProxy\\proxy.log`\n\n**Telegram не открывается:**\nОткрой вручную: `tg://socks?server=127.0.0.1\u0026port=1080`\n\n**Антивирус блокирует:**\nЛожное срабатывание. Добавь в исключения. Код открытый.\n\n---\n\n## 📖 Документация\n\n- [❓ FAQ](FAQ.md) — частые вопросы\n- [📝 Release Notes](RELEASE_NOTES_v2.0.5.md) — изменения v2.0.5\n- [👨‍💻 QWEN.md](QWEN.md) — guidelines для разработчиков\n\n---\n\n## 🤝 Contributing\n\n1. Fork → branch → PR\n2. `go test ./...`\n3. `gofmt -w .`\n4. Без эмоций. По делу.\n\n---\n\n## 📄 License\n\nMIT License\n\n---\n\n**v2.0.5** | Built with ❤️ using Go 1.21\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fy0sy4%2Ftg-ws-proxy-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fy0sy4%2Ftg-ws-proxy-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fy0sy4%2Ftg-ws-proxy-go/lists"}