Сводка проблем YouTube с технической стороны

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

10.08.2024

Большое количество пользователей жалуется на наличие проблем с ютубом: ничего совершенно не грузит. Оно обрабатывается всё тем же ТСПУ по всё той же стратегии, обходы должны работать.
Официальное заявление было, что кэш сервера устарели и долго не обновлялись, если это были они, у нас бы плохо работала львиная доля гугл сервисов, включая Google Drive, Google PlayMarket, Google Images. А оно работает прекрасно, как и прежде.

02.08.2024

Google дали ответ что проблемы у российских пользователей не связаны с техническим состоянием оборудования компании.
Рассмотрим идею, что это вообще гугл тестирует ограничение загрузчиков типа yt-dlp потому что, в первую очередь, проблемы коснулись именно их. Эти две идеи опровергнуться дальше.
Когда я начал разбираться с этой проблемой и запустил Wireshark, сразу увидел логи, наполовину заполненные красными полосами. Я не стал углубляться в анализ того, как именно TCP замедляет YouTube, но сразу стало ясно, что это искусственное замедление. Если бы это был GGC, он либо не работал бы вообще, либо скорость просто была бы низкой. А тут наблюдалось множество потерянных пакетов. Интересно, что с QUIC, который автоматически используется в Chrome, таких проблем не возникало, и скорость была нормальной. Я начал искать информацию и вспомнил о замечательном форуме ntc party, где обсуждаются способы обхода подобных случаев интернет-цензуры. Там я нашел подробное объяснение того, как именно замедляется YouTube, и подтверждение того, что это дело рук "большого брата".

В спецификации TLS есть такая вещь, как SNI. Она передаётся серверу и говорит ему, к какому именно сайту мы хотим подключиться и, следовательно, какой именно сертификат нам давать. Что-то типа Host в HTTP, но для TLS. Так вот, этот самый SNI спокойно себе передаётся в незашифрованном виде. Было много спецификаций, предлагающих его зашифровать, но мэйнстримом оно не стало. К тому же, провайдеры блокировали такие подключения, чтобы не мешали следить за юзерами.

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

Сводка проблем YouTube с технической стороны

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

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

Способы борьбы есть. Один из них — манглинг пакетов. Однако простая замена googlevideo.com на yandex.ru вызовет ошибку сертификатов, и браузер может не позволить отключить эту проверку.

Решение: разбить запрос на два в середине SNI. Это обходит ТСПУ, так как он не отслеживает такие действия. В моем случае даже не понадобились фейковые Client Hello или задержка между пакетами, но, возможно, нужно соблюдать порядок: сначала хвост, потом голова.

01.08.2024

Как разбивать?

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

Готовые средства :
Статья DTF
Для Windows существует GoodbyeDPI
под линукс еще есть zapret
Также есть версия ByeDPI под андройд, работает как "фейковый впн"
Еще одна статья с избежанием замедления YouTube

В моем тг канале в закрепе самые простые способы если не хотите париться

1212
12 комментариев

Комментарий недоступен

3
2
Ответить
Автор

Не думаю, всегда есть варианты лучше

2
Ответить

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

1
Ответить

Да, если дешево и быстро, купи VPS и настрой себе впн для всех девайсов.

2
Ответить
Автор

Да я там оставлял первую ссылку на DTF, там на уровне роутера, прочитай , если что пиши помогу

Ответить

Я думаю, что пора деду на покой

1
Ответить

Лет 30 уже как

Ответить