Skip to content

frdlss/telegram-web-fix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📱 Telegram Web Fix

Локально подбирает рабочий IP дата-центра Telegram и прописывает его в hosts для web.telegram.org (и доменов из lists/telegram-hosts-domains.txt). Без своего сервера и без смены системного прокси/VPN.

Windows License: MIT


image

⚡ Быстрый старт

  1. 📥 Склонируйте репозиторий или Code → Download ZIP и распакуйте папку.
  2. ▶️ Запустите telegram-web-fix.bat. Подтвердите UAC («Да») — меню откроется с правами администратора.
  3. 🔢 Обычно: 5 (обновить список IP из Telegram), затем 4 (поиск). Если lists/telegram-ip-candidates.txt уже заполнен — можно сразу 4.
  4. ✅ Нажмите 1 — запись блока в hosts, затем ipconfig /flushdns.
  5. 🌐 Откройте web.telegram.org в браузере (нужен WebSocket).

⛔ Выключить fix: 2 в меню (удаляется только блок с маркером # telegram-web-fix).


🔧 Как это работает (кратко)

Браузер сначала узнаёт IP по имени домена. Запись в hosts задаёт свой IP для выбранных имён — трафик к web.telegram.org (и др. из списка) идёт на найденный дата-центр, минуя «битый» адрес из DNS.

Шаг Что происходит
5 Качает официальный cidr.txt, собирает lists/telegram-ip-candidates.txt — пул IPv4 для проверки.
4 Строит очередь: IP из файла + DNS/DoH, проверяет TCP 443 и TLS (SNI) для web.telegram.org и kws2.web.telegram.org; в cfg попадает только IP с успешным сертификатом.
1 Вставляет в hosts блок строк IP + домены с маркером, делает бэкап в backup/, сбрасывает DNS-кэш.
2 Удаляет только наш блок по маркеру, остальной hosts не трогает.

Никакого удалённого сервера: всё выполняется на вашем ПК, меняется один локальный файл и конфиг рядом с bat.


💡 Зачем это

Иногда DNS отдаёт адрес Telegram, а TCP 443 до него режут. Скрипт проверяет кандидатов по порту 443, опционально TLS (SNI), сохраняет IP в telegram-web-ip.cfg и записывает hosts только для перечисленных доменов. Остальной трафик, Telegram Desktop и настройки сети глобально не меняются (кроме сброса DNS-кэша после применения hosts).

Условие Ожидание
Режут часть IP DC, другие живы Часто помогает
Режут весь Telegram / по SNI Нужны VPN и т.п.
Нужен только Desktop Это про веб в браузере

📋 Требования

  • Windows 10 / 11
  • Запуск от администратора (иначе нельзя править hosts)
  • Браузер с WebSocket (Chrome, Edge, Firefox)

🧭 Меню

Клавиша Действие
1 Включить fix в hosts (нужен IP после 4)
2 Выключить — убрать только наш блок в hosts
3 Показать строки про Telegram в hosts
4 Поиск рабочего IP (:443, очередь из файла + DNS) → telegram-web-ip.cfg
5 Обновить lists/telegram-ip-candidates.txt с cidr.txt
0 Выход

Параметры без меню: telegram-web-fix.bat enable-silent, telegram-web-fix.bat disable-silent.

Переменные окружения (редко нужны): TG_SCAN_PARALLEL (1–32, параллель проверки), TG_SCAN_VERBOSE_LOG=1 — подробный лог в %TEMP%\telegram-web-fix-scan.log, TG_SCAN_PASS2=1 — доп. проверка через Test-NetConnection. TG_POST_TLS_OFF=1 — отключить проверку TLS (не рекомендуется, см. безопасность).


🔒 Безопасность

Что делает проект

  • Меняет только локальный файл C:\Windows\System32\drivers\etc\hosts на вашем ПК — блок с маркером # telegram-web-fix и фиксированным списком доменов из lists/telegram-hosts-domains.txt.
  • Не поднимает прокси, VPN, «посредника» и не подменяет сертификаты в браузере.
  • Не отправляет трафик автору репозитория и не расшифровывает переписку.
  • IP для проверки берутся из официального cidr.txt Telegram; в [4] адрес сохраняется только если TLS-рукопожатие для web.telegram.org и kws2.web.telegram.org прошло (сертификат проверяется так же, как при обычном HTTPS в браузере).

То есть вы не «подключаетесь к случайному серверу в интернете», а направляете известные домены Telegram на другой IP из пула Telegram, когда обычный DNS отдаёт недоступный адрес.

Можно ли «перехватить» или злоупотребить удалённо

Вопрос Ответ
Может ли кто-то с интернета через этот bat подменить ваш трафик? Нет — удалённо hosts не меняется.
Видит ли автор репозитория ваши сообщения? Нет — нет своего сервера и канала к вам.
Подслушивает ли скрипт HTTPS? Нет — он не встраивается в TLS; браузер сам проверяет сертификат.
Может ли провайдер «перекрасть» IP из-за fix? Не из-за скрипта: вы сами выбираете запись в hosts; провайдер по-прежнему видит соединение к IP Telegram, как без fix.

Ограничения (честно)

Это не «абсолютная защита от всего», а локальный обход DNS/маршрута к DC Telegram:

  • Вредонос на ПК (или другой админ) может править hosts и без этого проекта — это уже компрометация машины.
  • TG_POST_TLS_OFF=1 отключает проверку TLS — тогда снова возможен сценарий «порт 443 открыт, веб не тот»; не используйте без веской причины.
  • Правка bat/ps1 вручную может добавить чужие домены или IP — ставьте проект только из доверенного источника.
  • [5] качает cidr.txt по HTTPS с core.telegram.org; при корпоративном MITM прокси теоретически возможна подмена списка (как для любой загрузки).
  • Защищённый DNS в браузере (DoH) может обходить hosts для части запросов — это не взлом, но fix может «не сработать»; см. раздел «Если что-то не так».
  • Скрипт не обходит полную блокировку Telegram по SNI/DPI — только подбор другого IP из их диапазонов.

Практические советы

  • Запускайте telegram-web-fix.bat от администратора (UAC), не копируйте «левые» сборки.
  • После [1] в меню [3] — убедитесь, что в hosts один IP и знакомый маркер.
  • Для веба: Chrome / Edge / Firefox, по возможности без агрессивных блокировщиков; в Yandex/Chrome отключите «защищённый DNS», если сайт серый/белый.

🛡️ Антивирусы и VirusTotal

В проекте нет вирусов, троянов и шпионского ПО. Исходники открыты (MIT): только текстовые .bat / .ps1, списки IP и доменов. Отдельного .exe в репозитории нет — запускается штатный powershell.exe и cmd.exe из Windows.

Что обычно проверяют на VirusTotal

Чаще всего загружают архив telegram-web-fix.zip (кнопка Code → Download ZIP или файл в релизе на GitHub) — целиком, ~36 KB. У такого ZIP в отчёте может быть метка contains-pe: внутри лежит не «вирус», а DLL для консоли (см. ниже) или срабатывание эвристики на скрипты.

Пример отчёта (цифры со временем меняются): 11 / 63 движков, подпись вроде trojan.misc, Win32:MalwareX-gen [Misc], Mal/Generic-S — это эвристика, не доказанный вредонос. Остальные движки файл не помечают.

Почему ругается VirusTotal (и иногда Defender)

image

Антивирусы не любят типичное поведение «утилиты обхода», даже если она легитимна:

Поведение Зачем в проекте
Запрос UAC / администратора Иначе нельзя править hosts
Запись в C:\Windows\System32\drivers\etc\hosts Суть fix
PowerShell с -ExecutionPolicy Bypass Запуск utils\*.ps1 без подписи
Скан сотен IP на порт 443 Пункт [4]
Скачивание списка с интернета Пункт [5] (cidr.txt)
Краткий VBS при старте bat Только окно «Запустить от администратора»

Для антивируса это похоже на «троян/агент» (generic, misc, Agent) — отсюда ложные срабатывания на чистый архив.

Какой файл чаще всего «виноват» в метке PE

Файл Роль
telegram-web-fix.bat Меню, UAC, вызов PowerShell
utils\tg-hosts.ps1 Запись/удаление блока в hosts
utils\telegram-autodetect.ps1 Поиск IP, TCP/TLS
utils\_twfcon-types.ps1 При первом запуске может собрать twf-console-types-v2.dll%TEMP% или рядом с utils\) — маленькая DLL только для шрифта консоли, не для сети и не для Telegram

Если в ZIP попала utils\twf-console-types-v2.dll (собрана у вас после первого запуска), VirusTotal помечает архив как contains-pe — это ожидаемо, не отдельный установщик.

Не путать: проект не подменяет telegram.exe, не ставит расширения в браузер, не шифрует файлы и не отправляет данные на сторонний сервер.

Что делать, если антивирус ругается

  1. Предпочтительно: клонировать репозиторий с GitHub и запускать telegram-web-fix.bat из папки — не сомнительные зеркала.
  2. Прочитать utils\tg-hosts.ps1 и telegram-web-fix.bat — логика только hosts + проверка IP Telegram.
  3. Добавить папку проекта в исключения Defender/антивируса, если доверяете исходникам.
  4. На VirusTotal смотреть не только красные строки, но и сколько движков молчат; при сомнении — сравнить SHA-256 своего ZIP с релизом или пересобрать ZIP из git.

Сообщения вроде «Win32:MalwareX-gen», «Trojan.Win32.Agent», «Mal/Generic-S» у части вендоров для таких утилит — типичный false positive. Если нашли реальное вредоносное поведение (сеть не на Telegram, чужие домены в hosts) — откройте Issue с деталями.


📂 Файлы проекта

Путь Назначение
telegram-web-fix.bat Меню, UAC, вызовы PowerShell
utils/set-console-ttf.ps1 Шрифт/размер консоли (UTF-8, рамки)
utils/_twfcon-types.ps1 P/Invoke консоли; при первом запуске может создать twf-console-types-v2.dll
utils/telegram-autodetect.ps1 Пункт 4
utils/update-ip-candidates.ps1 Пункт 5
utils/tg-hosts.ps1 Запись/снятие hosts
lists/telegram-ip-candidates.txt Список IPv4 для скана
lists/telegram-hosts-domains.txt Домены для hosts
telegram-web-ip.cfg Найденный IP (после 4)
backup/ Копия hosts при первом включении

Консоль: в начале выставляется chcp 65001, bat в UTF-8 без BOM. Если шрифт «ломается», в свойствах окна выберите Consolas / Cascadia Mono или запускайте из Windows Terminal.


🩹 Если что-то не так

  • Нет IP после [4] — сеть до DC на 443 недоступна; попробуйте [5], другую сеть или VPN. Сводка в блоке «Отчёт» после скана.
  • Сайт не открылся / серый экран, иконка крутится — снова 4 → 1, ipconfig /flushdns, отключите защищённый DNS в браузере, проверьте F12 → Сеть (ошибки на kws*.web.telegram.org). В [4] должен быть TLS ok, не только «порт открыт».
  • Долго тишина при [4] — обычно DNS или таймаут волны TCP; дождитесь конца или уменьшите список в telegram-ip-candidates.txt.
  • Не грузится QR — fix должен быть включён (1); новый домен в DevTools — issue в репозитории.
  • Окно сразу закрывается / кракозябры — не сохраняйте .bat с UTF-8 BOM перед @echo off и не в CP1251; нужен Windows 10 не старее 1903.
  • Антивирус / VirusTotal ругается — см. раздел «Антивирусы и VirusTotal» выше; это часто ложное срабатывание на hosts + PowerShell.

После перезагрузки PC fix остаётся, пока не нажали 2.


⚖️ Дисклеймер

Проект не аффилирован с Telegram. Распространяется «как есть». Использование hosts для обхода ограничений — на вашей ответственности.

Лицензия: MIT · 💬 Issues и PR приветствуются.

About

Починка web.telegram.org через hosts: находит доступный IP Telegram и подставляет его локально. Без VPN и прокси. Windows.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors