Pull to refresh

Comments 32

PinnedPinned comments

Полезно. Сталкивался: my.telegram.org режет не все российские IP — MTS блокируется, Билайн проходит. Похоже, фильтр по диапазонам, а не геопривязке. Сам через Yota в итоге получил api_id.

Не понял, вместо того чтобы сменить dns на гугловские автор решил заниматься созданием костылей?

P.S. вместо создания api ключей на сайте, можно использовать слитые от оффициального телеграмма

К сожалению, это не всегда срабатывает.

Иногда провайдер перехватывает трафик к восьмёркам (и к единичкам тоже) на 53 порту и подменяет на свой.

DoH или DoT пока помогают.

Завернуть dns в vpn и все, я хз кем надо быть чтобы в 2026 использовать днс от российских провайдеров.

Странно. Я нашел российского провайдера без ограничений ркн и площадкой в РФ именно ради этого. Зашел на my.telegram.org без vpn и получал ту же ошибку.

Но способ проверю.

Трафик к my.telegram.org - это обычный HTTPS поверх TLS, ровно такой же, как у любого банка, любого магазина, любого корпоративного сервиса. Если бы провайдер фильтровал этот трафик по содержимому, легло бы пол-инета. Значит, режут на самом дешёвом этапе - на разрешении имени.

Фильтруют в том числе и по содержимому, а именно по значению SNI (домен сайта), которое передаётся при TLS-handshake в незашифрованном виде. Когда мы говорим про Telegram, то сочетаются блокировки по DNS, SNI, сигнатурам MTProto (собственный протокол Telegram) и MTProxy (встроенный в Telegram прокси-протокол).

У Вашего провайдера по какой-то причине не блокируется доступ к my.telegram.org по SNI, потому что у меня (как и, подозреваю, у большинства) без дополнительных средств он не открывается даже при использовании DoH.

Пока читал несколько раз перепроверил дату выхода этого поста.

1) Подмена DNS ответов сейчас используется исчезающе редко и как правило только по отношению к ресурсам, заблокированным до примерно 2020-го года и только у небольших провайдеров, у которых сисадмины пальцем пошевелить ленятся. Я проверил у себя на нескольких провайдерах, везде DNS разрешает сайты Телеграма в их настоящие IP корректно. Уже лет 5 как все блокировки вынесены на отдельные железки, которые не являются собственностью провайдеров Интернета, а от провайдеров требуется только не трогать их.
2) DPI лезет внутрь вашего HTTPS и притом очень пристально. В последнее время даже слишком, блокируя доступ к российским сайтам из определённых браузеров определённых версий. "Если бы провайдер фильтровал этот трафик по содержимому, легло бы пол-инета" -- так ведь и ложится. Сам лично на прошлой неделе наблюдал и подпирал костылями с коллегами. Сейчас отпустило, но костыли далеко не убираем, ещё пригодятся.
3) Телеграм блокируется как раз по IP, а не по доменному имени. Многие компоненты инфраструктуры Телеграма в принципе не имеют DNS-записей, но используются для работы сервиса (см. датацентры для мультимедиа).

Либо статья опоздала примерно где-то лет на восемь, либо автору фантастически повезло с локацией. Какой-нибудь мелкий провайдер (или наоборот Ростелеком) в Калининграде или Ленинградской области может быть?

да, Ростелеком Спб

РТК Калининград на my.telegram.org отдаёт 149.154.167.99 (не открывается)

149.154.167.99 я так поняла это то, что вам отдаёт DNS? В инструкции я предлагаю прописать в hosts именно .220, то есть перебить ваш .99 другим адресом. Вы пробовали сам шаг с hosts или это просто вывод резолвера?

.99 это ответ резолвера РТК. но его мне все отдают:

nslookup my.telegram.org 1.1.1.1 ╤хЁтхЁ: one.one.one.one Address: 1.1.1.1

Не заслуживающий доверия ответ: ╚ь: my.telegram.org Addresses: 2001:67c:4e8:f004::9149.154.167.99

Если поменять на .220, то начинает открывать, да.

Поделитесь ссылкой на основе чего делали библиотечку для парсинга?

Привет! Отдельную прям библиотеку для парсинга не использовала - всё на Telethon (docs), то есть читаю не веб-страницы каналов, а напрямую через Telegram API (ключи как раз и брала на https://my.telegram.org).

тут можно глянуть как чего устроено https://github.com/chernoyarova/tg_digest/blob/main/scripts/fetch_tg.py

удалить кривой hiddify и установить условный happ с роутингом и резолвингом днс на сервере?– не

подключиться к российскому, а не голландскому серверу? – не

поставить нормальный публичный днс типа 8.8.8.8, 1.1.1.1, 9.9.9.9 и т. д.? – не

ковырятся в консоли и файле хостс? – ДААА

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

Если вам нужны api_id и api_hash для какого-нибудь пет-проекта на Telethon или Pyrogram

А не было проблем с телеграмом? Я как-то создал новый аккаунт, потом из-под него новую аппку и залогинился через подобный mtproto клиент. При первом и единственном же вызове API (contacts.resolveUsername) аккаунт улетел в бан. Я знал, что телеграм очень нервно относится к свежим аккаунтам, но не ожидал, что настолько. Из-под основного аккаунта экспериментировать боязно.

не, никаких проблем не было

Спасибо тебе Маша. Так долго искал решение, а оно оказалось значительно проще чем многие "рисовали".

отлично, рада что помогло!

Добрый день. Пожалуйста сориентируйте что делаю не так.

В hosts (от админа) прописал и сохранил 149.154.167.220 my.telegram.org .

Из командной строки ping 149.154.167.220 получат 100% пакетов. А если в командной строке указать my.telegram.org то IP меняется на 149.154.167.99 и тут уже 100% потеря пакетов. Кеш Dns чистил.

есть гипотеза, но не уверена. Звучит как будто система резолвит через DNS и строку из hosts не видит. То есть файл по факту не применяется. Можно глянуть

  1. что реально лежит в файле. от админа запустите: type C:\Windows\System32\drivers\etc\hosts строка с тг IP должна быть в выводе, без # в начале, IP и домен через пробел или табуляцию.

  2. Если строки в выводе нет - файл сохранился не туда или не так. Может автоматом перезаписался какhosts.txt? должно быть без .txt

  3. Если строка в выводе есть, а ping всё равно отдаёт .99 может её перебивает антивирус, либо у файла кривая кодировка. Пересохраните в UTF-8, антивирус временно отключите.

При выполнении пункта 1. "type C:\Windows\System32\drivers\etc\hosts" - Не удается найти указанный файл.

А вот когда поставил .txt в конце hosts "type C:\Windows\System32\drivers\etc\hosts.txt - строка с IP (220) и доменом без # появилась в выводе.

ну вот и ответ, и это хорошая новость, у вас при сохранении файл перезатерся под TXT формат.

Файл hosts должен сохраняться без какого-либо расширения. Если он сохраняется как hosts.txt, система его не увидит, и изменения не сработают.

Чтобы сохранить файл правильно:

  1. В блокноте нажмите Файл -> Сохранить как.

  2. В поле «Тип файла» выберите Все файлы (.).

  3. В поле «Имя файла» введите hosts (обязательно в кавычках "hosts", чтобы система не добавила .txt сама).

Потом снова проверьте через type о обычным hosts, должно сработать

ну или в коммандной строке введите:

ren C:\Windows\System32\drivers\etc\hosts.txt hosts

Маша ты разРулила! Все заработало. Большое спасибо!

Отличные новости, рада что удалось помочь! Пожалуйста!

Добрый день, все тоже самое делаю и все равно не открывается(((

у вас мак или винда?

винда

тогда надо проверить где ошибка:

  1. в коммандной строке введите: type C:\Windows\System32\drivers\etc\hosts

  2. если ответ "Не удается найти указанный файл", то введите в команлдую строку: type C:\Windows\System32\drivers\etc\hosts.txt

  3. если ответ строка с IP (220) и доменом без #, то нужно вбить в командую строку ren C:\Windows\System32\drivers\etc\hosts.txt hosts

Sign up to leave a comment.

Articles