они чуть заточены на ситуации когда у администратора прокси что-то не работает, и он присылает разработчику логи по которым можно примерно понять где проблема. Т.е. много технической информации.
Если вам нужно просто аксесс-лог, то нужно дополнительно фильтровать. Могу подумать над опциями, если опишете ваш сценарий.
Допустим Вася оплатил месяц использования, получил ссылку, в этой ссылке ee<общий-на-всех-секрет><поддомен> , скажем ee XXXXXX vasia А есть Петя, он оплачивал доступ ранее и ему выдавало ссылку с ee XXXXXX petya общий секрет XXXXX он достаёт из своей ссылки и потом пробует подключиться к прокси с ee XXXXX lena, ee XXXX dima и т.п. и в какой-то момент находит чужой аккаунт и сидит через него.
А в новой схеме не будет общего секрета, у каждого будет свой ee XXXXXX vasia, ee YYYYY petya и т.п.
Количество подключений - так и есть, приложение Телеграма может открывать/закрывать до 8 подключений. Одно для переписок и остальные - для скачивания картинок / видео и тп
Да, как выше написали, телеграм после того как договорился с властями в 2018 и его перестали банить, полностью забил на обновление прокси/FakeTLS. А суть FakeTLS в том, что он должен притворяться СОВРЕМЕННЫМ браузером - не выделяться их толпы. А за те 6 лет браузеры обновились, а телега нет и её трафик выглядит как крестьянин в лаптях и сорочке шагающий по улице современного мегаполиса 😄 Плюс кроме устаревания, там были прям ошибки в реализации TLS.
РКН это подметил и 1 апреля выкатил обновление фильтров, которые это отлавливали. Ну и за прошлую неделю телеграму накидали пулл-реквестов и пинали их чтоб они обновили FakeTLS, что они и сделали, теперь ждём пока обновление разойдётся по аппсторам.
Проблема в том, что держать большой прокси это дорого - оно жрёт очень много трафика. Я уверен что, если блокировки будут продолжаться, а FakeTLS останется эффективным, то ситуация с прокси будет примерно такая (по опыту наблюдения за ситуацией в Иране):
90% пользователей будет пользоваться прокси, найдеными в различных агрегаторах ссылок на прокси, будут заполнять свои списки прокси десятками. Эти прокси будут постоянно отваливаться, тормозить под нагрузкой и баниться ркн и пользователи будут недовольны нестабильностью. Эти прокси монетизируются через рекламируемые каналы.
какие-то прокси будут раздавать большие каналы и будут стараться делать эти прокси стабильными (ротировать IP), чтоб не терять аудиторию
какие-то прокси будут поднимать айтишники “для друзей”
ну и будут 5-10% кому не хочется бегать искать публичные прокси и они как раз могут искать платную версию в обмен на обещание продавца, что “у нас аптайм 99.99 и нет ограничений по скорости”
в ClientHello есть специальное поле random, оно как-то используется в реальном TLS, но Fake-TLS туда подсовывает, условно SHA256(stripped_client_hello + proxy_secret) где stripped_client_hello это ClientHello в котором тот участок в бинаре где должен храниться этот random забито нулями (в Erlang прокси клиентская часть протокола реализована для юнит-тестов, так что можно посмотреть прям в коде)
сервер соответственно при получении ClientHello достаёт это random поле, заменяет его нулями, считает SHA256(stripped_client_hello + proxy_secret) и сравнивает с тем, что в поле random.
Возможно в мелочах ошибаюсь (в поле random кладётся не сырой sha256 а XOR с чем-то), но идея примерно такая.
С одной сторны согласен - с 2018 (после того как дуров договорился с властями и в РФ перестали банить) FakeTLS был заброшен. Но буквально на прошлой и этой неделе сделали обновление, осталось дождаться пока выйдет во всех сторах.
Судя по Readme реализовано так же как в Python - последовательным перебором всех секретов по-очереди пока один из них не сработает, на каждый коннект. До 100-200 секретов ещё терпимо, но потом начинает давить на CPU и растут задержки на подклчение.
Реалиация из статьи работает со скоростью O(1). Например прям сейчас в демке уже зарегистрировано за 500 “аккаунтов”, 450 онлайн-соединений и при этом CPU меньше 2% (Amazon t4g.micro).
Иран ... Во время массовых волнений 2017 года был заблокирован Telegram, но позже опала была снята, поскольку мессенджер использовали 40 миллионов человек и запрет Телеграма грозил уже экономике страны.
Телеграм в Иране всё ещё заблокирован. В 2019м вроде бы отключали вообще весь интернет на несколько дней, что было в 17м не знаю. Но телеграм уже очень давно заблокирован; многие всё равно пользуются через mtproto proxy (которые тоже блокируют).
является ли совпадением релиз нашей первой игры Battle Prime и персональная юридическая атака на наших сотрудников
Да уж наверняка не совпадение. Правда, не спец по мобильным играм… Этот их шутер Battle Prime может конкурировать с WoT Blitz?
приобретён компанией Wargaming в качестве Open Source технологии, распространяемой по лицензии BSD3, и с 2014 по 2018 продолжал разрабатываться на базе СООО «Гейм Стрим» с ведома всех уполномоченных и ответственных лиц в Wargaming по той же BSD3 лицензии
Как я понимаю, то, что движок был изначально под BSD3 не мешает компании сделать свой приватный форк и запретить разработчикам публиковать изменения из этого форка. Вопрос в том согласована была публикация форка или нет...
Дичь какая-то. Посмотрел свои выписки — 27% получилось разница между заявленной ЗП и той, которую на руки получаю (это предварительно, в конце года могут быть корректировки).
Ну как бы… Сейчас уже "всё интернет-сообщество" признало, что TCP+TLS1.2 не очень-то подходит для современных реалий (мобильные устройства, частые подключения-отключения, смена IP). Из за этого сделали TLS1.3 и HTTP/3 + QUIC на подходе.
Мессенджеры в этом плане первыми начали с такими проблемами сталкиваться. Делали бы telegram в 2019м — наверное сделали бы на TLS1.3 или QUIC (в статье же писали, что они UDP тоже пытались написать, но не осилили).
они чуть заточены на ситуации когда у администратора прокси что-то не работает, и он присылает разработчику логи по которым можно примерно понять где проблема. Т.е. много технической информации.
Если вам нужно просто аксесс-лог, то нужно дополнительно фильтровать. Могу подумать над опциями, если опишете ваш сценарий.
домены перебирать - как оно сейчас работает:
Допустим Вася оплатил месяц использования, получил ссылку, в этой ссылке
ee<общий-на-всех-секрет><поддомен>, скажемee XXXXXX vasiaА есть Петя, он оплачивал доступ ранее и ему выдавало ссылку сee XXXXXX petyaобщий секрет XXXXX он достаёт из своей ссылки и потом пробует подключиться к прокси сee XXXXX lena,ee XXXX dimaи т.п. и в какой-то момент находит чужой аккаунт и сидит через него.А в новой схеме не будет общего секрета, у каждого будет свой
ee XXXXXX vasia,ee YYYYY petyaи т.п.Количество подключений - так и есть, приложение Телеграма может открывать/закрывать до 8 подключений. Одно для переписок и остальные - для скачивания картинок / видео и тп
Шикарно 💪
Круто что получилось показать количество онлайн!
Не знаю заметили или нет, но уже после статьи я добавил ещё более хитрую версию персональных секретов, тут можно не бояться, что кто-то найдёт поддомены перебором: https://github.com/seriyps/mtproto_proxy#strengthening-personal-proxies-with-per-sni-derived-secrets
Текущая статистика: 950 подключений, ~1600 “юзеров” в базе
по-прежнему CPU ниже 5%
Да, как выше написали, телеграм после того как договорился с властями в 2018 и его перестали банить, полностью забил на обновление прокси/FakeTLS. А суть FakeTLS в том, что он должен притворяться СОВРЕМЕННЫМ браузером - не выделяться их толпы. А за те 6 лет браузеры обновились, а телега нет и её трафик выглядит как крестьянин в лаптях и сорочке шагающий по улице современного мегаполиса 😄 Плюс кроме устаревания, там были прям ошибки в реализации TLS.
РКН это подметил и 1 апреля выкатил обновление фильтров, которые это отлавливали. Ну и за прошлую неделю телеграму накидали пулл-реквестов и пинали их чтоб они обновили FakeTLS, что они и сделали, теперь ждём пока обновление разойдётся по аппсторам.
Проблема в том, что держать большой прокси это дорого - оно жрёт очень много трафика. Я уверен что, если блокировки будут продолжаться, а FakeTLS останется эффективным, то ситуация с прокси будет примерно такая (по опыту наблюдения за ситуацией в Иране):
90% пользователей будет пользоваться прокси, найдеными в различных агрегаторах ссылок на прокси, будут заполнять свои списки прокси десятками. Эти прокси будут постоянно отваливаться, тормозить под нагрузкой и баниться ркн и пользователи будут недовольны нестабильностью. Эти прокси монетизируются через рекламируемые каналы.
какие-то прокси будут раздавать большие каналы и будут стараться делать эти прокси стабильными (ротировать IP), чтоб не терять аудиторию
какие-то прокси будут поднимать айтишники “для друзей”
ну и будут 5-10% кому не хочется бегать искать публичные прокси и они как раз могут искать платную версию в обмен на обещание продавца, что “у нас аптайм 99.99 и нет ограничений по скорости”
Я сам это не очень хорошо помню. Но примерно так:
в ClientHello есть специальное поле
random, оно как-то используется в реальном TLS, но Fake-TLS туда подсовывает, условноSHA256(stripped_client_hello + proxy_secret)гдеstripped_client_helloэто ClientHello в котором тот участок в бинаре где должен храниться этотrandomзабито нулями (в Erlang прокси клиентская часть протокола реализована для юнит-тестов, так что можно посмотреть прям в коде)сервер соответственно при получении ClientHello достаёт это
randomполе, заменяет его нулями, считаетSHA256(stripped_client_hello + proxy_secret)и сравнивает с тем, что в полеrandom.Возможно в мелочах ошибаюсь (в поле random кладётся не сырой sha256 а XOR с чем-то), но идея примерно такая.
Меня немного пугает, что там 50+ тыс строк кода (Erlang всего 3500). Но сообщество там собрали впечатляющее, браво!
Кстати, в Erlang клиент LDAP входит в стандартную библиотеку (под мелодичным названием ЕЛдап). Так что это элементарно 😂
С одной сторны согласен - с 2018 (после того как дуров договорился с властями и в РФ перестали банить) FakeTLS был заброшен. Но буквально на прошлой и этой неделе сделали обновление, осталось дождаться пока выйдет во всех сторах.
Судя по Readme реализовано так же как в Python - последовательным перебором всех секретов по-очереди пока один из них не сработает, на каждый коннект. До 100-200 секретов ещё терпимо, но потом начинает давить на CPU и растут задержки на подклчение.
Реалиация из статьи работает со скоростью O(1). Например прям сейчас в демке уже зарегистрировано за 500 “аккаунтов”, 450 онлайн-соединений и при этом CPU меньше 2% (Amazon t4g.micro).
При последовательном переборе секретов было бы уже за 30-40%.
Старые протоколы тоже работают, перечисляешь в конфиге какие включить и оно будет пускать подключения и по ним:
Но именно “персональные” секреты на базе SNI возможны только с Fake-TLS.
Фиксы FakeTLS уже смержены во все официальные клиенты и библиотеки, так что ждём пока раскатится
Если вы лично не пользуетесь, возможно эта статья позволит вам заработать на тех, кто хочет пользоваться 😄
Телеграм в Иране всё ещё заблокирован. В 2019м вроде бы отключали вообще весь интернет на несколько дней, что было в 17м не знаю. Но телеграм уже очень давно заблокирован; многие всё равно пользуются через mtproto proxy (которые тоже блокируют).
Да уж наверняка не совпадение. Правда, не спец по мобильным играм… Этот их шутер Battle Prime может конкурировать с WoT Blitz?
Как я понимаю, то, что движок был изначально под BSD3 не мешает компании сделать свой приватный форк и запретить разработчикам публиковать изменения из этого форка. Вопрос в том согласована была публикация форка или нет...
https://habr.com/ru/company/moikrug/blog/479688/#comment_20991074 да, уже заметили
Дичь какая-то. Посмотрел свои выписки — 27% получилось разница между заявленной ЗП и той, которую на руки получаю (это предварительно, в конце года могут быть корректировки).
Видимо недостаточно. Или у вас есть другие объяснения?
Из того что я читал — основная проблема SCTP в том, что его не понимает сетевое оборудование (в отличие от TCP и UDP).
В разработке HTTP/3 + QUIC не только гугл участвует (Mozilla, Cloudflare, Netflix), видимо не у одного него есть к TCP + TLS претензии.
Ну как бы… Сейчас уже "всё интернет-сообщество" признало, что TCP+TLS1.2 не очень-то подходит для современных реалий (мобильные устройства, частые подключения-отключения, смена IP). Из за этого сделали TLS1.3 и HTTP/3 + QUIC на подходе.
Мессенджеры в этом плане первыми начали с такими проблемами сталкиваться. Делали бы telegram в 2019м — наверное сделали бы на TLS1.3 или QUIC (в статье же писали, что они UDP тоже пытались написать, но не осилили).