Замедление YouTube с технической стороны – Waujito (Хабр)

Аватар пользователя Рева RarogCmex Денис

Привет, Афтершок! Согласно FAQ задача нашего ресурса – предоставлять, по возможности, качественную "первичную" информацию – иными словами, предоставлять правду.

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

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

Слово пользователю Vadim Vetrov @Waujito


Привет, Хабр!

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

Сразу скажу, что буду говорить обо всём, что известно на данный момент. Понятно, что с этим разбирался далеко не один я: огромное спасибо обывателям ntc party форума за проделанный ресёрч.

Так вот, начнём сначала, с злополучного GGC. Официальное заявление было, что кэш сервера устарели и долго не обновлялись, но у многих возникло такое скептическое чувство: "до этого работали, а тут в один момент всё поломалось". К тому же есть статья на википедии, которая утверждает, что разговоры про эти GGC шли еще с 2018 года. Да и если это были они, у нас бы плохо работала львиная доля гугл сервисов, включая Google Drive, Google PlayMarket, Google Images. А оно работает прекрасно, как и прежде.

Дальше рассмотрим идею, что это вообще гугл тестирует ограничение загрузчиков типа yt-dlp, потому что, в первую очередь, проблемы коснулись именно их. Идея на самом деле интересная, потому что действительно на современных протоколах (QUIC) всё хорошо работает, а проблемы есть только на старом добром TCP (сейчас ходят слухи, что и QUIC начали ограничивать, и, вроде как, я могу это подтвердить). Эту и предыдущую идеи мы опровергнем далее.

Как только я начал разбираться с этой проблемой и открыл Wireshark, меня ждали логи, состоящие наполовину из красных полос. Я не стал особо думать над тем, как именно замедляется ютуб со стороны TCP, но сразу стало понятно, что замедление искусственное, потому что если бы это были GGC, они бы либо не работали вообще, либо просто скорость была маленькая, а тут тонны потерянных пакетов. А еще забавно, что с QUIC, который автоматом работает в хроме такого вообще не происходило и скорость была в норме. Я начал искать и вспомнил про один очень крутой форум по обходу всяких подобных приколов с цензурой интернета, ntc party. Там я нашёл, как именно замедляется ютуб и контрпример, подтверждающий на 100%, что это проделки большого брата.

Но перед тем, как назвать способ замедления, давайте подумаем, а как они могут вообще определить, что я смотрю ютуб просто видя raw ip пакеты. Пойдём с самого низкого уровня, который может их заинтересовать, IP. Что тут есть? IP адрес. И это очень мощный инструмент, правда если их не тысячи, и если на них работает только один сервис, googlevideo. В случае огромной инфраструктуры гугла их банально сложно получить, я уже не говорю про то, что если на одном айпишнике работают, скажем гуглвидео и гугл плеймаркет, а ведь вероятность такая есть, это же GGC как никак. Тогда обрубая одно, обрубим и другое. Что делать? Посмотрим выше. На TCP мало чего интересного, поднимаемся еще выше. А дальше TLS. И это всё? Почти... Да, современные протоколы сделаны так, чтобы шифровать всё, что можно. Но есть только одно исключение. В спецификации TLS есть такая вещь, как SNI. Она передаётся серверу и говорит ему, к какому именно сайту мы хотим подключиться и, следовательно, какой именно сертификат нам давать. Что-то типа Host в HTTP, но для TLS. Так вот, этот самый SNI спокойно себе передаётся в незашифрованном виде. Было много спецификаций, предлагающих его зашифровать, но мэйнстримом оно не стало. К тому же, провайдеры блокировали такие подключения, чтобы не мешали следить за юзерами.

Так вот, SNI лежит в незашифрованном виде в Client Hello, и, обнаружив его, мы можем коннмарком пометить соединение и выкидывать рандомные пакеты.

Я знаю, что вы ждёте пруфов, господа, и вот они:

curl --connect-to ::speedtest.selectel.ru https://manifest.googlevideo.com/100MB -k -o/dev/null

Что мы видим в этом curl запросе? У curl'a есть возможность подключаться к серверу с его именем, но вместо резолвинга DNS поставить какой-нибудь свой айпи. При этом вся информация более высокого уровня будет передаваться, как будто мы используем именно это имя. Такое поведение заставляет curl подменять тот самый SNI (ну еще и Host, но это нас не особенно интересует). -k флаг используется, чтобы отключить проверку сертификатов (она провалится, потому что speedtest.selectel.ru будет нам давать свой сертификат, но никак не желаемый от гуглвидео). И если запустить это запрос, то мы получим весёлую скорость в 120 килобайт на начале, и дальше она пойдёт на спад. Даже до нуля может дойти. А теперь замените любую букву в googlevideo на другую и скорость прыгнет до нормальной скорости интернета. Всё стало на свои места.

Примечание RarogCmex: На картинке результат выполнения вышеуказанной команды. Строка выше показывает, как оно должно быть в норме (я использую ipv6 шлюз), нижняя показывает замедление (на ipv4). Провайдер Уфанет. Обратите внимание на столбец Time Left

Как с этим бороться?

Конечно, способы борьбы существуют. Для этого будем думать в сторону манглинга (изменения) пакетов. Но если мы просто заменим googlevideo.com на yandex.ru, получим ошибку сертификатов. И не факт что браузер вообще позволит отключить эту проверку для гуглвидео и нормально будет с этим жить. Так что же делать?

Вспомнить про то, что ТСПУ - это всё-таки очень высоконагруженная штука, которая вряд ли будет запоминать, что и когда мы там отправляли в сеть, и, соответственно, если мы просто разобьем наш запрос на два в середине SNI, то О Чудо! Всё начинает работать. В моём случае не понадобились даже фейковые Client Hello или задержка между пакетами (но вроде как ему всё-таки нужен обратный порядок пакетов: сначала идёт хвост, потом голова).

Как разбивать? Есть два варианта: фрагментами IP и на уровне сегментации TCP. У меня лично фрагментация IP сначала работала на половину, а потом и вообще отвалилась. Возможно, провайдеру не понравилось. Идём выше, к TCP. И тут у них всё очень приятно работает. Даже несмотря на то, что я, казалось бы, из одного пакета сделал два, поменял размеры двух пакетов, я не нарушил никаких правил TCP соединения: Ack по количеству доставленных байт - вещь.

Готовые средства обхода. Ну и самое вкусненькое. Я лично написал своё решение под линукс, которое направлено только на ютуб. Также для Windows существует GoodbyeDPI от ValdikSS, под линукс еще есть zapret. Существует ByeDPI, который работает как прокси (Windows/Linux). Также есть версия ByeDPI под андройд, работает как "фейковый впн". Советую прочитать подробный комментарий от ValdikSS о том, как использовать эти средства. Если есть желание погрузиться глубже в эту тему, вот тут можно посмотреть подробнее: https://ntc.party/t/замедление-youtube-в-россии/8055/ and https://ntc.party/t/обсуждение-замедление-youtube-в-россии/8074/
RarogCmex: Более простая инструкция


Примечательные комментарии с Хабра:

slinkinone

Было много спецификаций, предлагающих его (SNI) зашифровать, но мэйнстримом оно не стало.

На мой взгляд, многие шифрованные штуки не вошли в постоянный обиход (IPv6, Encrypted SNI, DNS over TLS), по причине того, что это не выгодно с точки зрения бизнеса. Если убрать сигнатуры по которым можно определять сервис, то мобильные операторы не смогут разделать трафик, предлагать разные тарифы, "качественно" делать балансировку. Интернет принадлежит тем, кто его обслуживает.

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


Примечательные комментарии с ntc.party:

1

kotletussy 19 дн

В пользу того, что замедление готовилось заранее, говорит в краткие сроки осуществлённая блокировка всех публичных инстансов Invidious - приватного фронтенда для YouTube, который может проксировать через себя трафик googlevideo.com 60

Piped, у которого такой функции нет, не тронули.

Авторство: 
Копия чужих материалов
Комментарий автора: 

Все вышеприведенные наблюдения могу подтвердить личными экспериментами. Мне тоже сперва это казалось аварией, но в итоге тоже выяснил, что замедление происходит через ТСПУ (средство DPI).

Комментарии

Аватар пользователя ivan2
ivan2(12 лет 8 месяцев)

А на человеческом можно рассказать, что значит замедление пакетного видео?

Прореживание (тупо часть пакетов на выброс), или перекодировка в более медленный поток с потерями?

Аватар пользователя Рева RarogCmex Денис

Тупо большую часть пакетов на выброс, начиная с переданных 5-6 Мб. В итоге из-за избыточности протокола TCP пакеты переотправляются и в итоге доходят, но из-за нестабильной сети загрузка видео происходит с дикими тормозами. Считай, как отрезать 90% пропускной способности.

Аватар пользователя ivan2
ivan2(12 лет 8 месяцев)

Понятно, но сколько прекрасного текста....!

И для биллинга пакеты таки бегают. Платить за "замедление" таки придётся по полной скорости.

Аватар пользователя Рева RarogCmex Денис

smile3.gif

Аватар пользователя klingel
klingel(12 лет 10 месяцев)

не факт. пакеты ведь до вас не доходят

Аватар пользователя Pablo666
Pablo666(1 год 6 месяцев)

нет, но за повторные посылки - намотает счетчик

Аватар пользователя stop
stop(3 года 4 месяца)

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

Аватар пользователя evm11
evm11(12 лет 1 месяц)

У любителя Ноя генералным конструктором был Бог.

Аватар пользователя марионетка мордера

та неее...только штурманом....))))

Аватар пользователя aigo
aigo(5 лет 6 месяцев)

И чего все так носятся с ютубом? Ну да, там бывают ценные видео. Но никто не мешает их скачать (так всегда было надёжнее - видео-то сносят иногда), ну а если прижмёт - впн и смотри нужное.

А в остальном там сейчас ничего толком интересного нет.

Аватар пользователя Рева RarogCmex Денис

Камрад, я смотрю полсотни каналов на ютубе на английском языке, и ещё около двадцати на русском. И если с русскими каналами фиг с ним, там мелочевка, то вот английский язык, вроде ThePrimeagen или HealthyGamerGG , очень сильно мне помогает.

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

Аватар пользователя Astro_Graf
Astro_Graf(9 лет 4 месяца)

Можете порекомендовать каналы по нейронкам? 

Аватар пользователя Рева RarogCmex Денис

Не могу, я машинным обучением (пока) не занимаюсь. 

Скрытый комментарий Extremalist (без обсуждения)
Аватар пользователя Extremalist
Extremalist(7 лет 11 месяцев)

Спасибо, все ясно. У нас тут DEI-"Снежинка", которая ниасиливает прочитать несколько экранов текста - подавай разжеваный (и упрощенный) визуал.

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

Впрочем, о чем я говорю после пересказа тухлого напрочь УкроХабра, на который приличным людям заходить некомильфо давно....

Аватар пользователя loken
loken(12 лет 4 месяца)

Ох нифига себе. Реально, такое чувство, что полстраны живет по 58-ми часовому дню, 8 часов на работу, 10 поспать и остальные 40 часов смотрят ютюбчик.

Аватар пользователя Рева RarogCmex Денис

Под "смотрю полсотни каналов" я имею в виду "раз в месяц смотрю видос". Они же не каждый день выходят, в конце концов!

А так да, смотрю ютуб в дороге и слушаю музыку или подкасты пока гуляю с собакой.

Аватар пользователя loken
loken(12 лет 4 месяца)

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

Аватар пользователя Константин Астахов

На регулярной основе скачиваю музыку с Тытрубы, целыми плейлистами. Проблемы возникают только с отдельными произведениями, из-за "ошибки обработчика", ХЗ (?!).

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

Также браузер может пошаливать, тот же Яндекс заикается на воспроизведении видео, а Макстон вообще портит файлы.

Аватар пользователя alextomas
alextomas(2 года 8 месяцев)

тем, что можно на любом устройстве в удобном време и месте их посмотреть. хоть на ТВ пока крутишь тренажер, хоть на телефоне пока ждешь своей очереди к эскулапу.

Аватар пользователя Доктор Хаус
Доктор Хаус(2 года 9 месяцев)

Но никто не мешает их скачать

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

Аватар пользователя poxaby4
poxaby4(3 года 5 месяцев)

- Официант, что за вино вы мне налили? Жуткое пойло...

- Если вы не можете понять что это, то какая вам тогда разница, что пить?

...

Так же и с тытупом. Если ты заранее не знаешь, что тебе нужно, то какая тебе тогда разница, что смотреть? :)

Ценность YouTube в рекомендациях

Эта ценность - она для кого надо ценность. Для собственников Alphabet, но не для тебя и меня.

Аватар пользователя очередь
очередь(10 лет 1 месяц)

Если ты заранее не знаешь, что тебе нужно, то какая тебе тогда разница, что смотреть? :)

Разница есть. А те кто смотрел хохла и голос америки, найдут как это смотреть и дальше. Разве не? Против кого эта новация;она  похожа на запрет смартфонов на передовой.

Аватар пользователя Vvs
Vvs(4 года 10 месяцев)

Камрад. Там не только бытовая развлекалка, но и интересные лекции и семинары по работе. База знаний расширяется, постоянно появляется новый контент.

Интересного навалом, дело в разнице интересов...

Аватар пользователя stop
stop(3 года 4 месяца)

Скачать с ютупа можно. Качество сильно упало.

"Медленно" лично меня не волнует. А глаза портить неохота.

А насчёт интересного, так загляни в пиаренный рутруп. Говнища попсы щедро разбавленная рекламой. Интересного, а тем более полезного вообще невозможно найти.

Аватар пользователя Рева RarogCmex Денис

Да, рутуб - это помойка. Всегда была ей, даже VK Video лучше.

Аватар пользователя _Radibunda_
_Radibunda_(9 лет 2 месяца)

Рутуб вообще не старается развиваться, не понятно как они дожили до 2022 года. А вот ВК Видео как шевелится.

Аватар пользователя joint4x
joint4x(10 лет 8 месяцев)

Плюс 3 балла в социальный рейтинг на 7 суток за пропаганду законности и терпимости.
Минус 40 баллов за мыслепреступление, введено ограничение на прием белковой пищи на 40 суток - предложили пути обхода законных блокировок «впн и смотри нужное». 
Спасибо за ваш вклад в наше светлое будущее.

Аватар пользователя Wig
Wig(3 года 7 месяцев)

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

У меня, например, масса подписок на англоязычные каналы со всего мира (США, Китай, Индия, Европа) по программированию и нейронным сетям. Альтернатив, откуда черпать информацию, узнавать о новых проектах, решениях, тестировать эти новые решения, в России просто нет к очень большому сожалению.


Вот, например, разработчик из Чехии выложил проект, который крайне важен и интересен в сфере AGI агентов, работающих в т.ч. на базе локальных моделей LLM. А это прямой конкурент таким агентам как AutoGPT например, но только вот последний работает исключительно через платные API, как и подавляющее большинство агентов подобного типа.
Продукт этого разработчика не требует в обязательном порядке массу платных API для своей работы, которые, к тому же, частенько недоступны из-за санкций, только через платные ВПН. есть возможность использовать разные решения.

Аватар пользователя barmalej
barmalej(8 лет 11 месяцев)

Надо сразу интэрнэт скачать. Его тоже будут замедлять, скоро.

А вообще можно обойтись телефонным справочником и подшивкой журнала "Огонёк".

Аватар пользователя igorzh
igorzh(12 лет 2 месяца)

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

Аватар пользователя Справедливый малый
Аватар пользователя ukc_urpek
ukc_urpek(7 лет 4 месяца)

Спасибо, конечно. Но как рядовому крестьянину, ни разу не айтишнику, использовать все эти замечательные инструменты? Я попытался почитать вот это: https://github.com/yt-dlp/yt-dlp/issues/10443#issuecomment-2248940967 но в силу своей недалёкости ничего не понял. допустим, создать текстовый файл я умею. Но вот дальше...

Аватар пользователя Рева RarogCmex Денис
Аватар пользователя stop
stop(3 года 4 месяца)

Не открывается.

Можно уточнить?

Аватар пользователя Рева RarogCmex Денис
Аватар пользователя stop
stop(3 года 4 месяца)

Ага понятно.

Не уверен что андроида получится.

Аватар пользователя SavE
SavE(10 лет 2 месяца)

На андроид достаточно просто скачать byedpi

Аватар пользователя ukc_urpek
ukc_urpek(7 лет 4 месяца)

Господи... Вот нашёл, наконец, кому понятно...

А можете ещё понятнее объяснить?

пункт 2. Просто внутри, в теле самого файла, написать googlevideo.com - и сохранить? И всё? И потом закрыть текстовый файл?

пункт 2. goobyedpi.exe - такой исполняемый файл есть в папке. И он запускается. Но что такое вот эта мудрая строчка с двойным тире, которая идёт сразу за goobyedpi.exe в самом начале? Что с ней делать? И там ещё -6. Это что и как его использовать? Или это надо через командную строку?

Аватар пользователя ukc_urpek
ukc_urpek(7 лет 4 месяца)

Прошу прощения заранее за свою тупость.

Непонятно следующее.

пункт 2. Просто внутри, в теле самого файла, написать googlevideo.com - и сохранить? И всё?

пункт 2. goobyedpi.exe - такой исполняемый файл есть. И он запускается. Но что такое вот эта мудрая строчка с двойным тире в самом начале? Что с ней делать? 

Аватар пользователя Рева RarogCmex Денис

1. Да

2. Это для запуска из командной строки

Аватар пользователя ukc_urpek
ukc_urpek(7 лет 4 месяца)

PS C:\Users\macro> goodbyedpi.exe --blacklist youtube-domain.txt -6

Попробовал из командной строки под администратором.

goodbyedpi.exe : The term 'goodbyedpi.exe' is not recognized as the name of a cmdlet, function, script file, or operabl
e program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ goodbyedpi.exe --blacklist youtube-domain.txt -6
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (goodbyedpi.exe:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Аватар пользователя Рева RarogCmex Денис

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

1. Допишите .\ перед goodbyedpi.exe , чтобы был локальный путь, а не глобальный.

2. PS C:\Users\macro> указывает, что текущий путь установлен в неверную папку.

.\goodbyedpi.exe --blacklist youtube-domain.txt -6

Аватар пользователя Priev
Priev(4 месяца 2 недели)

Благодарю

Аватар пользователя деревенский
деревенский(6 лет 8 месяцев)

У себя на тв решил так https://www.youtube.com/watch?v=nLjb_hp86OQ&ab_channel=vladimirpolnikov

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

Ссылка на ютуб, однако)))

Аватар пользователя morok721
morok721(5 лет 6 месяцев)

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

Аватар пользователя ivan2
ivan2(12 лет 8 месяцев)

Троллинг.

Провокация срача по нашему.

Если объективно я не заметил замедления Ютуба. Тормоза с началом трансляции ВСЕГДА.

Трансляции с Рутуб и ВК у меня работают безукоризненно.

Аватар пользователя Рева RarogCmex Денис

Какой интернет-провайдер?

Может быть, у вас замедляли ещё до того, как это стало мейнстримом?

Ну и попробуйте поэкспериментировать.

Аватар пользователя ivan2
ivan2(12 лет 8 месяцев)

Дом ру.

Не самый дешёвый. Но я его держусь ради старого "лампового" аналогового телевидения.

Дорого берут ссуки, но отрабатывают денюжку.  Стабильно, быстро,.. Бывают провалы, но даже звонить не надо, минут через 5-15 всё строится само и забываешь про проблемы.

Это не реклама. Это дорого.

Аватар пользователя Дмитрий57
Дмитрий57(4 года 5 месяцев)

Глянул их тарифы. По-моему, вполне конкурентные для Москву. По крайней мере, вполне сопоставимые с Ростелекомом.

Аватар пользователя morok721
morok721(5 лет 6 месяцев)

Да если бы, Реально на вк даже музыка работает рывками,  А рутуб в качестве на 360 тянет медленнее чем на ютубе фул HD, в общим рад был бы что бы было не так но увы 

Страницы