Обновить

Комментарии 111

ЗакрепленныеЗакреплённые комментарии

Прокси здесь особо не причем. Проблема была в TLS-финегрпринте, с который Telegram подключался к прокси, то есть проблема на клиенте. Будем надеяться, что в ближайших обновлениях клиента все снова заработает.

Работало оно странно, потому что блокировка не очень детерминированая: подозрительный трафик определялся сразу, но пропускалось несколько соединений, прежде чем IP-адрес отлетал в бан.

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

Просмотр TCP dump дал понять, что ТСПУ массово высылают TCP RST от имени клиента. Говорят что блокируют по fingerprint клиента telegram, только вот на втором сервере из той же AS перестал работать outline (shadowsocks) с такими же симптомами (вроде как соединение есть, но по факту не работает и в дампе RST.
При этом различные UDP протоколы работают так, будто ничего не происходит.
Ох зря я это написал, сейчас в минусах утопят

Если интересуют технические подробности, то разработчики Telegram налажали в коде генерации TLS-расширения encrypted_client_hello:

Telegram/SourceFiles/mtproto/details/mtproto_tls_socket.cpp‎
StartPermutationElement(); {
	S("\xfe\x02"_q); // <--- id расширения должно быть 0xEF0D вместо 0xFE02
	OpenScope();
	S("\x00\x00\x01\x00\x01"_q);
	R(1);
	S("\x00\x20"_q);
	R(20); // <--- перепутали 20 и 0x20, ну бывает
	OpenScope();
	E();
	CloseScope();
	CloseScope();
}

Из-за подобных косяков оно легко определяется. Может быть, это не единственный косяк у них, вызывающий явные подозрения у фильтрующего оборудования.

Pull Request для исправления есть, надеюсь что его быстро примут и обновят клиент.

Основная версия, обсуждаемая в сообществе - внедрение обновлённых механизмов DPI, способных выявлять трафик, маскируемый под TLS (в частности, Fake-TLS).

Видимо обновили ПО

Это VAS Experts. Если я ничего не путаю, ТСПУ делают RDP.RU. У них там система экофильтров и ecoDPI, так что...... немного не в тему.

Общаются ли эти компании, не знаю. Казалось бы, они конкуренты.

Предположительно, флагман EcoSGE с EcoDPI(UserGuide). Альтернативы по железу(стороннее) и софту DPI «Гарда DPI», «СКАТ DPI», «DPI-платформа НТЦ Протей». Был толковый обзор на хабре(возможно немного устарел с 2024г.)

у них там "зоопарк" из 4х платформ? и на каждой свой проприетарный софт крутится?

Старые песни о главном - 29 марта 2018 г. - устарело

Положительное заключение Роскомнадзора получили девять программных продуктов для фильтрации трафика (UBIC, EcoFilter, “СКАТ DPI”, “Тиксен-Блокировка”, SkyDNS Zapret ISP, Carbon Reductor DPI, ZapretService и ADM Filter, “Барьер”).

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

Да, есть проблема. Дома соединение отваливается, на мобиле работает. Веб-морда прокси при этом работает норм.

При этом какие-то запрещенные торрент-трекеры открываются, какие-то нет (rutracker уже давно какой-то полурабочий).

При этом нельзя исключить того, что блокировка идет не по причине какой-то хитрой детекции, а тупо банится все, что не похоже на сайт госуслуги ))

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

Такое может быть из-за включенного запрета, попробуй добавить google.com в список исключений.

Скорее всего проблема в самой телеге, нужно ждать когда они пофиксят, вообще ни один режим в MTProto не работает. При этом все остальное, включая ss, так же работает. Телега могла бы просто ss интегрировать.

Комментарий из разряда "минутка юмора"

На мобиле через MTProto все летает. Но несколько раз в день надо менять.

На пе ВПН с белыми списками и не икаких проблем.

Хабр, ткни меня пожалуйста, в ссылку, где можно почитать про современные префиксы - ee, ss и вот это всё.

А то я особо за МТпрото не следил и мои знания ограничиваются одним паддингом dd.

Дополнительное внимание привлекло появление обновлённого Docker-образа официального MTProto-прокси (версия 2.0beta от 1 апреля 2026 года). Пользователи уже заметили изменения

А вот тут даже я знаю, что докер-образ давно не обновлялся и отстал в своём развитии.

Есть мнение, что тесно связано с датой релиза. )

тесно связано с датой релиза. )

Если вы про 1-е апреля, то точно нет.

Когда началось, я бегло посмотрел, что стали предлагать гранды и новички отрасли. И до 01.04 точно видел МТпрото с ключами на ее..

При этом, если к ним дописать дд, то их даже форма добавления прокси не принимает, без попыток соединения. Ещё ключи у них длиннее обычного.

В EE-ключах к 16-байтному (17 с учётом префикса) ключу дописан SNI, которым притворяться

Хабр, ткни меня пожалуйста, в ссылку, где можно почитать про современные префиксы - ee, ss и вот это всё.

Если в общих чертах то ИИшка знает: https://www.perplexity.ai/search/sekrety-mtproxy-format-i-prefi-K2iBQp9SSHas9DC5lWjBgg
ss - такого префикса нет, думаю выше говорили про ShadowSocks

Хз, все работает на телефоне. На компе не знаю, пока не добрался до него. Да и квн есть, на всякий

То что у вас там работает - это не ваша привилегия, а их недоработка. Потерпите, всё пофиксят.

Лебединое озеро 2.0 включается постепенно

Попробуйте камеди клаб

Или Аншлаг

Вокруг смеха

Работает связка с 2 мя прокси: в телефоне + MTProto в телеге

В этот раз как-то странно оно работает. Обычно сильнее гайки затягивают на мобильном интернете, а тут наоборот на кабельном.

с мобильным все "отлично", белые списки отработаны, теперь дело за проводным. новая ачивка заработана, "обскакали иранских братушек"

"обскакали иранских братушек"

Вот да. Не думал, что доживу до времени, когда не меня будут пугать обстановкой в других странах, а совсем наоборот.

Пожалуй, пора переезжать из этой страны...

Пока это ещё возможно.

Прокси здесь особо не причем. Проблема была в TLS-финегрпринте, с который Telegram подключался к прокси, то есть проблема на клиенте. Будем надеяться, что в ближайших обновлениях клиента все снова заработает.

Работало оно странно, потому что блокировка не очень детерминированая: подозрительный трафик определялся сразу, но пропускалось несколько соединений, прежде чем IP-адрес отлетал в бан.

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

Спасибо за уточнение!

А есть какие-то позитивные ожидания, что клиент будет допилен? Ну то есть может у них тикет на это есть и он в работе, или просто ждать и надеяться?

И вообще было бы интересно узнать, откуда такая информация. Самостоятельный анализ? Краткая выжимка чьего-то анализа? Гадание на кофейной гуще? Быстрым гуглежом ничего не находится

В моем случае (Linux/Flatpak) обновление десктопного клиента до последней версии (6.7.1) пофиксило проблемы с подключением к прокси.

Вот и не понятно - проблема начала проявляться где-то день-два назад, как я понимаю, а эта версия старше, было ли в ней это пофикшено? Особенно с учетом, что у меня оно вроде и на 6.6.3 работало

С версией 6.6 у меня не было проблем с подключением к прокси до сегодняшнего дня. Версия 6.7 была выпущена вчера.

у меня на 6.7.1 по прежнему оч плохо прокся работает, причем только на десктоп версии на винде, надо бы еще на маке проверить, или не стоит, чтобы не разочаровываться

Не шейпят один заветный ip DC Telegram. На этом базируются все текущие методы обхода(hosts)

есть проблема на клиенте. Будем надеяться, что в ближайших обновлениях клиента все снова заработает

Если вы знаете ticket/issue/whatever, где это правится и следите, скажите: есть ли шанс, что это можно как-то бэкпортировать или добавить вручную в старые клиенты (заменить библиотеку и т.п.)?

Очень уж не хочется на свежих жручих монстров со спорным дизайном обновляться.

Раз проблема на клиенте, как вы объясните то, что есть некоторые зарубежные хостинги, развернув на которых mtproto - соединение не дропается.

Тем, что по некоторым направлениям фильтрация более строгая, а по некоторым - менее?

Притом по моим ощущениям, она выборочно включается периодически, сначала долго всё нормально, потом вдруг перестаёт нормально работать, потом через какое-то время снова всё нормально (может быть ещё зависит от того, на какой ТСПУ попадёт балансировка нагрузки или каким маршрутом трафик пойдёт).

Вообще не понимаю что они не сделают чтобы прокси работал поверх чистого https. Ну т.е. обычные GET/POST запросы, любой сертификат (хоть blabla.ru), обычные endpoint-ы (которые можно хоть через nginx проксировать) - а внутри шифрованный уже своими шифрами контент. Поставил nginx, сертификат, настроил форвардинг дальше - прокси готов. Вебмастерам можно хоть на легитимных сайтах ставить такие прокси, и никто не разберет, человек странички открывает или в телеге шарит.

Никакой DPI не отличит это от обычного серфинга. Открыли чатик - отправилось несколько GET запросов, отправили сообщение - отправился POST. Вместо этого изобрели какой-то свой транспортный протокол и пытаются выдать его за легитимный трафик.

так websocket-proxy работают

Который обращается к заблокированным IP-адресам Telegram и нативно самим клиентом не поддерживается (нужно поднимать его рядом с клиентом).

Он не позапросный, а открывает одну длинную сессию и TLS там не терминируется на стороне прокси, а пробрасывается до телеги. Все это по сигнатурам, по длительности сессий и т.п. легко вычисляется.

Нужно чтобы к примеру владелец какого-нибудь supersite.ru мог сделать у себя в конфиге что-то типа проксирования от supersite.ru/telega/* куда следует. Ключевой момент - это должно быть позапросное проксирование, без websocket/connect и прочего, как обычный web-трафик, с тем же сертификатом что остальной сайт. Телеграм по логике вполне пригоден для позапросного обращения за контентом - если бы его разработчики таким озаботились.

Для любого DPI это будет выглядить, что я просто шарюсь по supersite.ru - запросы идентичиные полностью. Еще это будет работать через любой коммерческий CDN (в т.ч. как православный российский, так и что-то типа cloudflare). И еще много чего интересного отсюда вытекает.

Запросы ну совершенно разные. Почитайте здесь же на хабре как работает dpi на 4х уровнях, что такое сигнатура ja3. Трафик который идёт от хрома очень сильно отличается от трафика, который идёт от телеграмма. Как вы хотите, в общем-то и работает mtproxy fake tsl, но о чем и написан данный пост - dpi научился его успешно дропать. Что касается "любой администратор сайта", так и сейчас настроить теле прокси делов 15 минут.

Еще раз. Ничто не мешало бы (но этого нет) телеге прикинуться хромом и отправить GET запрос за содержимым чатика или очередным видосиком куда-то на https://mysite.ru/blabla/video.mp4. Еще раз - на стороне этого сайта должен быть обычный nginx, с обычным сертификатом Lets Encrypt. Это все, что увидит DPI (хотя даже URI он не увидит). А вот то что сам контент (!) внутри GET-запроса уже будет еще раз шифрован каким-то отдельным способом и его понимать его будет только телеграм - DPI ни при каких обстоятельствах отличить не сможет.

Ещё раз. Прикинуться хромом это очень сложная задача.

Для этой цели и хромиум какой-нибудь внутрь клиента не зазорно запихать. Если другие пути очень сложны.

Суть вопроса не в этом, а в том, что телеграм в принципе не умеет позапросно работать с прокси, и шифровать не на транспортном уровне, а позапросно на уровне контента. В итоге сильно сужаются варианты заставить его работать в условиях ограничений.

А вы знаете как работает mtproto, в чем его преимущество и почему Дуров младший его изобрел? А вы предлагаете переделать телеграмм на банальный rest. На таком банальном протоколе работает Вацап и давно почивший Вайбер. Вацап к слову поддерживает тот способ прокси, о котором вы просите, из коробки. И почему же он заблокирован наглухо? Читайте матчасть. А уж встраивать целый хромиуи в телеграмм клиент - ну это вообще зло за гранью разума.

Ну так целый и не надо, достаточно netstack. Naiveproxy на этой идее основан.

Заблочить воцап было настолько легко, что там и протоколы смотреть не надо. Их прокси-сервер требовал открыть 5222 TCP в обязательном порядке и никаких нестандартных портов. Это детский сад для галочки.

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

Но это (например на десктопе) довольно простой webkit-gtk, а не развесистый жирный Хром.

Edge
Edge

Не уверен, что прям "довольно простой webkit-gtk", для примера это десктоп клиент для Windows. Что-то аналогичное должно быть в Linux и Mac. Интересно посмотреть что в мобильном клиенте 🤔

Так это Windows, там просто системный компонент берут, как и на мобилах, кстати. А webkit-gtk для тех ОС, где “штатного” браузера из коробки нет.

Прикинуться хромом это очень сложная задача.

Имитация отпечатков TLS-рукопожатия разных браузеров реализована в этой библиотеке: https://github.com/refraction-networking/utls, которая применяется, например, в Xray.

Там проблема не в JA3, а в JA4 на этапе хендшейка. Порядок cipher suites отличается от chrome кардинально и присутствует extension, которого никогда не может быть в chrome. Это надо чинить.

Телеграм по логике вполне пригоден для позапросного обращения за контентом - если бы его разработчики таким озаботились.

Ну, вообще-то не очень. Там свой сессионный протокол, который поддерживает подтверждения доставки и держит постоянное соединение, то есть концептуально гораздо лучше кривой модели Web’а и Websockets. Это я вам авторитетно как автор статьи с критикой протокола телеги заявляю. Да, у протокола есть проблемы, но архитектурно подход лучше. Никто просто не думал, что Интернет будут принудительно переводить в режим “только HTTPS”.

Чистый https не подходит для реалтайм-доставки пушей. Вебсокеты держат постоянный tcp-коннект, но их легко спалить по длительности сессии и отсутствию типичного http-трафика (запросил html - получил картинки)

Завершил сессию на десктопном ТГ и всё теперь, QR код не генерится, смс не приходит)

При этом подключен к работающему прокси.

На десктопном уже несколько лет не приходят и не будут приходить. только мобильный официальный клиент получает смс

C android v.12.2.11 и 6.3.5 на десктопе добавили поддержку passkeys.

Только вот "облачный пароль" не поставить - на почту должен прийти "код подтверждения", а почтари только коннектятся друг с другом и всё. Дальше байтики не ходят. Печалька.

Почту не успели подвязать для получения кодов? Не так давно предупреждали, что смс больше не будут рабочим способом логина, как это уже случилось с Ватсапом и Сигналом

подключитесь к работающему впн, так qr-код сработает

Пока у РКН не получилось побороть Телеграм ;) Всё отлично работает без КВНов через публичный прокси, оператор Ростелеком, СПб.

VK Play Игровой центр вчера попутно поломали , авторизация сбрасывается до запуска игры или уже в самом клиенте пишет что неверный логин\пароль .

На самом сайте игры и Вконтакте тоже разлогинило .

Вчера на Самсунге обнова пришла на телефон. Но скачать можно было лишь через КВН.

Я скачал при помощи BBD. Предыдущее обновление точно так же не скачивалось кстати.

Работает в зависимости от прошивки

Вместо этих паразитных блокировок лучше бы чем-то полезным занялись, а не портили жизнь людям

Честно говоря, даже обидно, что единственное, что наши затонекаклохи больмень осилили из аналоговнетов создать - это блокировки интернета)))

Были б еще мозги, да с таким рвением - за более чем 10 лет могли бы уже и заводов с кремнием понастроить, и автопром поднять, и много чего еще.

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

так нет никакой долгосрочности планирования. в ближайшее время что-то они ожидают, поэтому последние месяца столько всего придумали. как сторонний наблюдатель мы не можем оценить содержимое зашифрованного пакета, но можем оценить интенсивность и размер, так и тут же, интенсивность возросла. ждут чего-то. что именно-хз

пока тебе лично в окно ракета или дрон не залетит ты не поймешь чего в данный момент происходит

Все бы замечательно, да только дронам эти блокировки, судя по всему, летать вообще никак не мешают. Тем более, что ими явно не через телегу или видосик на ютубе управляют =)))))

Зато по экономике это дерьмо куда сильнее бьет. Впрочем затонекаклохам на это пофигу, эффект от этого будет только в будущем, а им на него вообще начхать, у них итак все хорошо.

Просмотр TCP dump дал понять, что ТСПУ массово высылают TCP RST от имени клиента. Говорят что блокируют по fingerprint клиента telegram, только вот на втором сервере из той же AS перестал работать outline (shadowsocks) с такими же симптомами (вроде как соединение есть, но по факту не работает и в дампе RST.
При этом различные UDP протоколы работают так, будто ничего не происходит.
Ох зря я это написал, сейчас в минусах утопят

А если использовать DROP на RST пакеты?

В теории можно, RST от DPI можно отличить от здоровых (TTL, время прилета), но по факту может получится такое, что будет кучу зависших соединений и придется руками чистить (а если забудешь почистить, то уже хостер может сервер тормознуть, ибо в ToS есть лимит на количество соединений). Я помню через conntrack глянул, ранее было по 50-80 соединений вечером, когда все сидят. А когда мне написали, что с прокси что-то не так, увидел 1500+. Пересоздал прокси, думал слили в паблик. Но когда с одного клиента набрал 120, понял откуда 1,5к было. Вообще странно, что при фильтре на установленные соединения столько выпадает, когда вроде как RST был отправлен и надо прекращать.
Наверное алгоритм у прокси чем-то на brutal у hysteria похож (что в свою сторону лишнее палево), но в случае TCP это уже работает больше, как SYN флуд для самого сервера.

Подтверждаю. Вижу аномальное завершение сессий с RST от клиента на своей проксе.

То есть похоже не на блокировку по IP/домену, а на DPI по сигнатурам трафика. Возможно, shadowsocks попадает под те же эвристики, поэтому ловит такие же RST.

Понять бы как теперь это пофиксить.

Скорее всего сейчас сезон охоты на TCP протоколы, в итоге режут все то, что хоть как-то отличается от нормального TLS трафика.
Из каждого утюга говорят, что надо vless ставить, а потом делают фатальные ошибки, вроде не 443 порта и домена, который ну никак не может в Нидерландах/Финляндии быть))
В итоге сижу с WG, на него ноль жалоб. В крайнем случае хватает клиент с обфускацией handshake пакетов поставить. Учитывая всю ситуацию, выкорчевал все от 3x-ui с сервера, xray и позакрывал порты. Просто мне рассказывали историю, как чувак поднял у 62yun vless, в итоге на следующий день бан IP (даже SSH не работает) при двух пользователях.

Попробуй отключить проксю, мне это помогло оживить оутлайн на одном из серверов

И Павел Дуров такой: "Помощь близко! Скоро вернётся кончающий баклажан, плюс в продажу поступила новая партия нарисованных шапок!"

Для братьев Дуровых борьба с телеграмом - это челлендж(для одного PR для другого технический), но не долг перед бывшими согражданами - он проживут успешно и без российских телеграмм премиумов

Спорно, у нас довольно жирный кусок аудитории.

У Дурова другая забава. Двумя днями ранее попап выскочил: “У вас последняя возможность купить премиум на тг”. По большой скидке, аж на два года. Учитывая все обстоятельства даже не знаю, или это жест доброй воли, или попытались нажиться впрок на тех, кто потом не сможет даже попользоваться премиумом.

Было вчера проседание минут 20, подобрал новый прокси и пока работает.

Настроено одновременно dd и ee, работает точно лучше, чем просто ee (независимо от того к dd или ee подключен сейчас)

Настроено одновременно dd и ee, работает точно лучше, чем просто ee

А как это так?

У меня своего МТпрото нет, я попробовал пару бесплатных (тормозных). Если ключ начинается с ее, то дд к нему дописать нельзя.

Там даже просто форма добавления прокси такое не принимает. Соединяться, понятно, не пытается.

Эти ключи даже выглядят по-разному - с ее.. заметно длиннее.

это не в рамках одного прокси, а в рамках одного telemt , в настройках тг это два прокси с одинаковыми хостами и портами, но разными ключами

присоединяюсь к вопросу - как получилось так настроить? Можете показать конфиг?

[general]
use_middle_proxy = false

[general.modes]
classic = false
secure = true
tls = true

[server.api]
enabled = false

[censorship]
tls_domain = "rkn.gov.ru"
mask = true
mask_port = 443
mask_host = "rkn.gov.ru"
fake_cert_len = 2048

[access.users]
user0 = "00000000000000000000000000000000"
user1 = "00000000000000000000000000000001"

[server]
port = 443

Национальная ИТ-забава: государство тратит миллиарды на железки, чтобы мы не читали телеграм, а мы тратим свои нервы и вечера, чтобы эти железки обмануть

а мы тратим свои нервы и вечера

Гораздо больше людей тратит тоже деньги.

И вот это действительно "забава". Было бы интересно узнать, что можно было бы создать (полезного), если и те, и другие затраты просуммировать и направить их в созидательное русло, а не на покупку серверов и последующий нагрев атмосферы ими и прочими коммутаторами.

Пишут, что за стоимость усиленных технических средств противодействия услугам можно 7 раз слетать до Луны и обратно. Брешут скорее всего, но звучит красиво.

А те, "чья нога - кого надо нога", продают согражданам 3буквы. «Бизнес крутится, лавэха мутится».

те, "чья нога - кого надо нога", продают согражданам 3буквы

Отнюдь.
По-моему, за последние месяц-полтора кто только не начал этим самым торговать.

Я для себя решил сделать беглый обзор из интереса, так наткнулся на несколько предложений БТР из Дагестана. И ещё пару человек оттуда же видел, интересующихся дешёвыми выделенными серверами.

Всё случайно, специально я их не искал.

На мой взгляд, сейчас куда актуальнее озаботиться тем, чтобы не купить "три буквы от других трёх букв".

Только миллиарды это тоже мы тратим, это наши деньги.

Улыбаемся и машем.

*** наше все!

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

Если интересуют технические подробности, то разработчики Telegram налажали в коде генерации TLS-расширения encrypted_client_hello:

Telegram/SourceFiles/mtproto/details/mtproto_tls_socket.cpp‎
StartPermutationElement(); {
	S("\xfe\x02"_q); // <--- id расширения должно быть 0xEF0D вместо 0xFE02
	OpenScope();
	S("\x00\x00\x01\x00\x01"_q);
	R(1);
	S("\x00\x20"_q);
	R(20); // <--- перепутали 20 и 0x20, ну бывает
	OpenScope();
	E();
	CloseScope();
	CloseScope();
}

Из-за подобных косяков оно легко определяется. Может быть, это не единственный косяк у них, вызывающий явные подозрения у фильтрующего оборудования.

Pull Request для исправления есть, надеюсь что его быстро примут и обновят клиент.

Интересно, тут надо ждать исправления от оригинального клиента Телеграм?

Или авторы форков могут внести такое исправление у себя?

Уже есть готовые решения, пока в официальный репо не смерджили, но уже сейчас можете протестировать

Было внесено в ветку dev этим коммитом, ждём теперь в проде

Я так понимаю, проблема не в прокси, а в самом клиенте? Кто может пнуть разработчиков телеграма для исследования проблемы?

Лучше б уже перешли на белые списки, меня больше напрягает не необходимость борьбы с блокировками, а постоянное переключение на ВПН/без ВПН, сказали бы - все баста, реально уже напрягает, при чем фиг угадаешь куда с ВПН, а куда без.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости