Салют, Хабр! Я думаю, каждый из вас знаком или, по крайней мере, слышал о такой прекрасной утилите как NoDPI написанной на питоне (большое спасибо @Lord_of_Rings!). Сегодня я хочу представить вам (почти) свою разработку, не требующую ни питона ни прокси. Мы будем патчить прямо на диске библиотеку chrome.dll - входяющую в пакет Chrome на Windows и лежащую в директории "C:\Program Files\Google\Chrome\Application\140.0.7339.208\chrome.dll". Цифры могут меняться в зависимости от версии. Данный патч занимает всего 8 байт и после него у нас появится YouTube.

Сначала скачаем https://boringssl.googlesource.com/boringssl это библиотека TLS/SSL, на которой построен Chrome/Chrominium.

Нас будет интересовать файл s3_both.cc вот в этом месте:

bool tls_add_message(SSL *ssl, Array<uint8_t> msg) {
  // Pack handshake data into the minimal number of records. This avoids
  // unnecessary encryption overhead, notably in TLS 1.3 where we send several
  // encrypted messages in a row. For now, we do not do this for the null
  // cipher. The benefit is smaller and there is a risk of breaking buggy
  // implementations.
  //
  // TODO(crbug.com/374991962): See if we can do this uniformly.
  Span<const uint8_t> rest = msg;
  if (!SSL_is_quic(ssl) && ssl->s3->aead_write_ctx->is_null_cipher()) {
    while (!rest.empty()) {
      Span<const uint8_t> chunk = rest.subspan(0, ssl->max_send_fragment);
      rest = rest.subspan(chunk.size());

      if (!add_record_to_flight(ssl, SSL3_RT_HANDSHAKE, chunk)) {
        return false;
      }
    }
  } else {

Можно легко увидеть, что здесь пакет нарезается на chunk размером max_send_fragment и далее из этого формируются пакеты с заголовком SSL3_RT_HANDSHAKE (равно 22). Кто следил как устроен NoDPI на питоне, то там всё тоже самое, но нарезка происходит не фиксированной длины, а случайным образом. Примерно так:

        while data:
            chunk_len = random.randint(1, len(data))
            parts.append(
                bytes.fromhex("160304")
                + chunk_len.to_bytes(2, "big")
                + data[:chunk_len]
            )
            data = data[chunk_len:]

Прекрасно, модифицируем код s3_both.cc, чтобы уменьшить размер max_send_fragment (по умолчанию он равен 16384). Таким образом пакеты начнут дробиться на кусочки. Случайность делать не будем, как выяснилось, она не нужна.

См код ниже. Новыми являются первые две строчки, остальной код не трогаем.

  ssl->max_send_fragment=0x3e8;
  if (1) {
    while (!rest.empty()) {
      Span<const uint8_t> chunk = rest.subspan(0, ssl->max_send_fragment);
      rest = rest.subspan(chunk.size());

      if (!add_record_to_flight(ssl, SSL3_RT_HANDSHAKE, chunk)) {
        return false;
      }
    }
  } else {

А вот как это выглядит на языке Ассемблера.

Было:

00D02D21: 4883B99800000000      cmp         q,[rcx][000000098],0 ;!SSL_is_quic(ssl)
00D02D29: 0F85B9000000          jnz         000D02DE8
00D02D2F: 488B4730              mov         rax,[rdi][030] ;ssl->s3->aead_write_ctx->is_null_cipher()
00D02D33: 488B8010010000        mov         rax,[rax][000000110]
00D02D3A: 48833800              cmp         q,[rax],0
00D02D3E: 0F85A4000000          jnz         000D02DE8
00D02D44: 4D85E4                test        r12,r12
00D02D47: 0F8439010000          jz          000D02E86
00D02D4D: 440FB74F10            movzx       r9d,w,[rdi][010] ;ssl->max_send_fragment

Стало:

00D02D21: 66C74710E803          mov         w,[rdi][010],003E8 ;max_send_fragment=0x3e8
00D02D27: EB1B                  jmps        000D02D44   ; if (1) --->
00D02D29: 0F85B9000000          jnz         000D02DE8   ; далее ничего не трогаем
00D02D2F: 488B4730              mov         rax,[rdi][030]
00D02D33: 488B8010010000        mov         rax,[rax][000000110]
00D02D3A: 48833800              cmp         q,[rax],0
00D02D3E: 0F85A4000000          jnz         000D02DE8
00D02D44: 4D85E4                test        r12,r12     ;приходим сразу сюда <---
00D02D47: 0F8439010000          jz          000D02E86
00D02D4D: 440FB74F10            movzx       r9d,w,[rdi][010]

В итоге мы поменяли всего 8 байт в файле chrome.dll по оффсету с 2D21 по 2D28

Создаём маску поиска 4883B998000000000F85B9000000488B4730 это байты с 2D21 по 2D32
Теперь маска замены: 66C74710E803EB1B0F85B9000000488B4730

Маска немного больше размером, чем 8 байт, так как иначе мы можем найти сторонний код, так как последовательность cmp q,[rcx][000000098],0 и jnz 000D02DE8 часто встречается, а если добавить еще одну команду mov rax,[rdi][030] то такая последовательность встречается в chrome.dll только один раз, что и требуется для патчинга.

Далее качаем патч-утилиту, воспользуемся этим проектом https://github.com/pbatard/winpatch, здесь кроме патча бинарного кода, также производится модификация контрольной суммы PE-заголовка и подпись кода самоподписанным SSL-сертификатом, что скорее всего излишне, но и не помешает.

Пишем bat-файл, производящий поиск chrome.dll в каталоге "C:\Program Files\Google\Chrome\Application", код более-менее универсальный, чтобы обработать все подкаталоги с разными версиями.

@echo off
taskkill /F /IM chrome.exe
timeout 2
for /r "C:\Program Files\Google\Chrome\Application" %%f in (chrome.dll) do IF EXIST "%%f" ( %~dp0winpatch.exe "%%f" 4883B998000000000F85B9000000488B4730 66C74710E803EB1B0F85B9000000488B4730 )
echo Patch done
echo Press ENTER to close window
pause

Здесь дополнительно удаляется процесс сhrome.exe (вкладки можно будет восстановить после перезапуска), иначе chrome.dll будет залочен и недоступен для патча. Далее ждём 2 секунды и скармливаем утилите winpatch.exe полный путь chrome.dll а также маску поиска и маску замены.

Пишем эти 8 строк в runme.bat и запускаем bat из-под администратора. Патч произведён!

Процесс патча библиотеки chrome.dll
Процесс патча библиотеки chrome.dll

Запускаем патченный Chrome - Youtube работает отлично! Проверено на 3х компьютерах, 2х провайдерах и 5ти версиях Chrome.

В заключение создадим самораспаковыващийся WinRar архив (это полноценный exe-файл), в который поместим утилиту winpatch.exe и runme.bat, назначим ему через диалог конфигурации привилегии администратора на запуск, это чтобы мы смогли модифицировать chrome.dll, лежащий в системной директории, а также ставим в автостарт runme.bat и контрольный вопрос - патчим Chrome? Назовём утилиту youtube_patch_v1.0.exe

Конечно, для полноценной работы нужны списки blacklist.txt - но 8 байт, это 8 байт!

Если что-то пошло не так, восстановите chrome.dll из бэкапа chrome.dll.bak

Если Chrome обновится на новую версию, конечно же, файл chrome.dll будет заменён на оригинальный и патч нужно будет повторить.

Самораспаковывающийся и самозапускающийся архив, полностью готовый для патчинга, выложен на гугл-диске: youtube_patch_v1.0.exe

UPD: Версия 1.0 для Linux

Было:

041C4DCF: 4883BF9800000000               cmp         q,[rdi][000000098],0
041C4DD7: 0F85BF000000                   jnz         0041C4E9C
041C4DDD: 498B4630                       mov         rax,[r14][030]
041C4DE1: 488B8010010000                 mov         rax,[rax][000000110]
041C4DE8: 48833800                       cmp         q,[rax],0
041C4DEC: 0F85AA000000                   jnz         0041C4E9C
041C4DF2: 4D85ED                         test        r13,r13
041C4DF5: 0F84A6000000                   jz          0041C4EA1
041C4DFB: 410FB74E10                     movzx       ecx,w,[r14][010]

Стало:

041C4DCF: 6641C74610E803                 mov         w,[r14][010],003E8
041C4DD6: EB1A                           jmps        0041C4DF2
041C4DD8: 85BF00000049                   test        [rdi][049000000],edi
041C4DDE: 8B4630                         mov         eax,[rsi][030]
041C4DE1: 488B8010010000                 mov         rax,[rax][000000110]
041C4DE8: 48833800                       cmp         q,[rax],0
041C4DEC: 0F85AA000000                   jnz         0041C4E9C
041C4DF2: 4D85ED                         test        r13,r13
041C4DF5: 0F84A6000000                   jz          0041C4EA1
041C4DFB: 410FB74E10                     movzx       ecx,w,[r14][010]

Строчки для winpatch.exe для патчинга /opt/google/chrome/chrome под Windows

4883BF98000000000F85BF000000
6641C74610E803EB1A85BF000000

Для Linux сделаем нативный скрипт на bash с использованием bbe
(это аналог всем известного sed но применим для бинарных строк)

Сначала установите пакет bbe

sudo apt install bbe

Выполните следующий скрипт с правами администратора, оригинальный chrome будет сохранен в /opt/google/chrome/chrome.bak если что-то пойдет не так, можно будет его восстановить.

#!/bin/bash
FILE=/opt/google/chrome/chrome
FILE_BAK=/opt/google/chrome/chrome.bak
FILE_TMP=/tmp/chrome.$$$
if [ "$USER" != "root" ]; then
    echo "Для выполнения скрипта нужны права sudo, запустите скрипт с правами суперпользователя"
    exit
fi
read -r -p "Do you agree to patch v1.0 Chrome for YouTube ? [y/N] " response
if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]]
then
  if [ ! -f $FILE_BAK ]; then
    cp $FILE $FILE_BAK
  fi
  bbe -e 's@\x48\x83\xBF\x98\x00\x00\x00\x00\x0F\x85\xBF\x00\x00\x00@\x66\x41\xC7\x46\x10\xE8\x03\xEB\x1A\x85\xBF\x00\x00\x00@' $FILE_BAK >$FILE_TMP
  cmp $FILE_TMP $FILE_BAK >/dev/null
  if [ $? -eq 0 ]
  then
    echo "Patch failed!"
    exit
  fi
  chmod +x $FILE_TMP
  cp $FILE_TMP $FILE
  echo "Patch done!"
fi

Данный скрипт выложен также на гугл-диске youtube_patch_v1.0

Перед запуском сделать +x:
chmod +x youtube_patch_v1.0
sudo ./youtube_patch_v1.0

UPD: Обновление алгоритма (версия 1.1)

Всё-таки нужно пускать к сайтам, которые не поддерживают данный режим даже если нет blacklist.txt.

Поэтому в версии 1.1 сделаем так:

00D02D21: 0F31                           rdtsc
00D02D23: A808                           test        al,8
00D02D25: 66B80040                       mov         ax,04000
00D02D29: 7404                           jz          000D02D2F
00D02D2B: 66B8E803                       mov         ax,003E8
00D02D2F: 66894710                       mov         [rdi][010],ax
00D02D33: EB0F                           jmps        000D02D44

Это означает, что с вероятностью 1/2 будем устанавливать режим разделения пакетов на кусочки (размер 3e8) или же старый режим (по умолчанию 4000). В итоге, теперь все сайты должны заработать, но будут наблюдаться некоторые тормоза при первой загрузке, так как если мы не попали в нужный режим - то потребуется некоторое время на переповторы. Ну и если что-то не открывается, можете пару раз нажать перезагрузить - страница войдет в кеш браузера и всё начнёт летать.

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

В итоге новые строки для патча такие:
4883B998000000000F85B9000000488B4730488B
0F31A80866B80040740466B8E80366894710EB0F

Новый bat-файл v1.1

@echo off
taskkill /F /IM chrome.exe
timeout 2
for /r "C:\Program Files\Google\Chrome\Application" %%f in (chrome.dll) do IF EXIST "%%f" ( %~dp0winpatch.exe "%%f" 4883B998000000000F85B9000000488B4730488B 0F31A80866B80040740466B8E80366894710EB0F )
echo Patch done!
echo Press ENTER to close window
pause

Собранную с помощью WinRar версию v1.1 выложил на гугл-диск youtube_patch_v1.1.exe

UPD: Обновление алгоритма (версия 1.2)

Предыдущая версия (1.1) работает для всех сайтов, но с тормозами. Поэтому в версии 1.2 сделаем выбор сайтов по ScrollLock, выглядит это так:

012FF271: 48C7C191000000                 mov         rcx,000000091
012FF278: FF155262EE0D                   call        GetKeyState
012FF27E: A801                           test        al,1
012FF280: 66B8E803                       mov         ax,003E8
012FF284: 7504                           jnz         0012FF28A
012FF286: 66B80040                       mov         ax,04000
012FF28A: 66894710                       mov         [rdi][010],ax
012FF28E: EB04                           jmps        0012FF294

Это означает, что если клавиша ScrollLock (rcx = VK_SCROLL 0x91) нажата и горит на клавиатуре соответствующий значок - то будем работать с YouTube, если нажать ScrollLock ещё раз и лампочка погаснет - тогда Chrome работает по-старому, без патчей.

Выглядит очень даже хорошо, работаешь-работаешь сайт login.microsoft.com открывается нормально, вдруг захотелось в YouTube глянуть одним глазком, жмешь ScrollLock и смотришь без тормозов. Обратно - опять ScrollLock.

Единственный недостаток патча - так как вызывается системная функция GetKeyState, то патч применим только для конкретной версии, а именно 141.0.7390.66 - эта сейчас последняя. Для других адрес GetKeyState поедет и будет мусор, приводящий к GPF (падению Chrome).

Для других версий нужно будет настроить релокейшены для GetKeyState, например вот как это сделать с помощью hiew.exe. Сначала патчим, потом запускаем

dumpbin.exe /IMPORTS chrome.dll | findstr GetKeyState
получаем на экране адрес функции
000000018D5CE3E0 0 GetKeyState

Ищем эти байты в chrome.dll - жмем F4,F7 и вбиваем E0 E3 5C 8D 01
находим их в файле по смещению (это которая с точкой)
00000001`8F1DF6B0: E0 E3 5C 8D.01 00 00 00
и возвращаемся на наш патч (начало оффсет 12ff271) и делаем этот адрес вместо
call q,[00DEE6252] -> call q,[.18F1DF6B0] (не забываем про точку)
и мусор превращается в call GetKeyState прямо в коде.

В итоге новые строки для Chrome 141.0.7390.66 такие:
4883B998000000000F85B9000000488B4730488B8010010000488338000F85 48C7C191000000FF155262EE0DA80166B8E803750466B8004066894710EB04

Новый bat-файл v1.2

@echo off
taskkill /F /IM chrome.exe
timeout 2
for /r "C:\Program Files\Google\Chrome\Application\141.0.7390.66" %%f in (chrome.dll) do IF EXIST "%%f" ( %~dp0winpatch.exe "%%f" 4883B998000000000F85B9000000488B4730488B8010010000488338000F85 48C7C191000000FF155262EE0DA80166B8E803750466B8004066894710EB04 )
 )
echo Patch done!
echo Press ENTER to close window
pause

Собранную с помощью WinRar версию v1.2 (сработает только для Chrome 141.0.7390.66) выложил на гугл-диск youtube_patch_v1.2.exe

Комментарии (118)


  1. hurtavy
    07.10.2025 14:31

    Спасибо. На Вивальди патч тоже работает. Жаль, что это только полумера и не все блокировки обходит. Наверное, всё таки рандом нужен


    1. KasDS
      07.10.2025 14:31

      А как вы его на Вивальди применили?


      1. PATRI0T
        07.10.2025 14:31

        Видимо все тоже самое, но файл vivaldi.dll


    1. akuli
      07.10.2025 14:31

      Рандом будет следующим шагом, да

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


  1. zanzack
    07.10.2025 14:31

    Сайт https://login.microsoft.com не работает после патча

    Попробовал оригинальный NoDPI на питоне и там тоже не работает. Похоже, что Майкрософт не умеет собирать обратно разобранные по кусочкам tls-пакеты, а если сервер на Nginx/Linux, то это не помеха.

    Слава Линусу Торвальдсу и примкнувшему к нему Сысоеву Игорю Владимировичу!
    Позор Биллу Гейтсу ))


    1. hurtavy
      07.10.2025 14:31

      у меня работает этот сайт. Но у меня не NoDPI, а его упрощенная версия. В том же гитхабе sample_version.py


      1. zanzack
        07.10.2025 14:31

        Так у вас, наверное, сайт майкрософта в blacklist.txt не входит?


        1. hurtavy
          07.10.2025 14:31

          Ну вы уж совсем из меня идиота не делайте :) Я даже специально весь траффик завернул через эту прогу, всё работает


          1. zanzack
            07.10.2025 14:31

            Попробовал на sample_version.py - отличия от оригинального в том, что в консоль много мусора сыпется, но майкрософт здесь тоже не работает, а если убираешь из blacklist.txt но оставляешь прокси - начинает работать. Ютуб при этом работает всегда.

            Какой бы еще сайт попробовать, который на Internet Information Services (IIS) сделан? У них там еще расширение .asp вместо .html

            UPD: нашёл сайт, похоже он на asp и не работает с модифицированными tls-пакетами
            https://www.online-convert.com/ru/file-format/aspx


            1. shukan Автор
              07.10.2025 14:31

              Обновил статью. Качайте версию v1.1 - все сайты должны начать грузиться.


              1. zanzack
                07.10.2025 14:31

                Ура! Заработало! Спасибо.


              1. hurtavy
                07.10.2025 14:31

                А вот у меня ничего не изменилось... Часть так и не открывается. Например
                https://www.freeproxy.world
                https://www.trainsimcommunity.com
                https://nnmclub.to


    1. Javian
      07.10.2025 14:31

      Часто попадаются сайты, которые с включенным nodpi не работают.


      1. X-P0rt3r
        07.10.2025 14:31

        Ставил ByeByeDPI на телефон, чтобы смотреть YouTube. Но при запущенной проге не открывается... Хабр!


        1. mightybrain
          07.10.2025 14:31

          По моим предположениям так себя могут вести сайты с установленной защитой ddos-guard.ru

          Почему то не нравится трафик ддос файрволлу и коннект сбрасывается


        1. Lord_of_Rings
          07.10.2025 14:31

          1. Lord_of_Rings
            07.10.2025 14:31

            Сорри, ссылка не вставилась - https://github.com/GVCoder09/NoDPI4Android


        1. Destructive
          07.10.2025 14:31

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


        1. Soarerru
          07.10.2025 14:31

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


          1. X-P0rt3r
            07.10.2025 14:31

            Спасибо, добрый человек!
            Даже не подозревал, что у ByeByeDPI есть такая возможность (фейспалм.жпг).


        1. Andrey0032
          07.10.2025 14:31

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


          1. X-P0rt3r
            07.10.2025 14:31

            Вы думаете, я использую стратегию с меньшей степенью успешности?
            Другой вопрос, что, будучи одинаково успешными для обхода ограничений, возможно, они неравнозначны для работы разных сайтов.
            В принципе, пользователь @Soarerru выше предложил хороший вариант с белым списком. Если не получится, буду уже подбирать стратегию.


        1. zambras
          07.10.2025 14:31

          На мобилке вроде браузер Opera нормально с ютубом дружит без плясок с бубном...


      1. shukan Автор
        07.10.2025 14:31

        Обновил статью. Качайте версию v1.1 - все сайты должны начать грузиться.


    1. Wesha
      07.10.2025 14:31

      Похоже, что Майкрософт не умеет собирать обратно разобранные по кусочкам tls-пакеты,

      Ничто не ново под луной...


    1. akuli
      07.10.2025 14:31

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


      1. Rubilnik
        07.10.2025 14:31

        Это не мусор, просто пакеты делятся по не стандартным размерам


  1. nerudo
    07.10.2025 14:31

    А что, NoDPI еще работает? У меня на йоте ютуб полностью заблочен (пол года назад еще работало).


    1. MountainGoat
      07.10.2025 14:31

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


      1. 4kirill20
        07.10.2025 14:31

        При этом на Рост елекоме тоже не работает…


        1. hondurasez
          07.10.2025 14:31

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


          1. yellowmew
            07.10.2025 14:31

            ну.. а если попробовать подойти комплексно?

            у меня уже больше года (4 разных оператора, два из которых мобильных) без сбоев работает следующая комбинация:

            • tpws вариант решения от болвана

            • тор вместо "трех веселых букв"

              • три буквы тут конечно лучше, но оказалось что обходить блокировки для "всего интернета" мне и не нужно. Этот пункт вообще используется чисто для инстаграма, да изредка, если надо обойти геоблокировку :D

            • privoxy как основной прокси для локальной домашней сети, который и занимается маршрутизацией (в конфигах): что отдать через tpws а что через тор(если заблокировано по IP), добавить новый домен - минутное (и, как оказалось, довольно редкое) дело

            • Pi-hole как DNS сервер c DOH

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


          1. Kuprijan
            07.10.2025 14:31

            Пользуюсь подбором стратегий. Заметил одну фичу/баг на проводном провайдере, вроде, не всегда, воспроизводится и на ОПСОСе, при включении режима "самолёт" на какое-то время.
            В общем схема простая - сделать на роутере реконнект к интернету, ну или роутер перезагрузить, тогда стратегии примерно на день - два начинают гораздо лучше работать (подбирать стратегии тоже нужно после реконнекта). Таттелеком - провод, МТС, Билайн - мобила. Кстати на Билайне стратегии лучше работают...


            1. hondurasez
              07.10.2025 14:31

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


    1. vervolk
      07.10.2025 14:31

      ByebyeDPI попробуйте. Там есть опция перебора методов сокрытия трафика.


  1. peromax
    07.10.2025 14:31

    Если у вас, как и у меня, NoDPI не заработал, можете попробовать мой небольшой бесплатный проект ВПН МИР (на xray-core). Делал его изначально для себя, но решил поделиться — вдруг кому-то тоже пригодится. Пока что только для Apple платформ. В процессе Windows и Android.


    1. BatrakovSV
      07.10.2025 14:31

      А как воспользоваться?


  1. NekitGeek
    07.10.2025 14:31

    Это буквально техническое кунг-фу, стоящее в одном ряду с портированием дума на всё подряд и самописными демками на ZX Spectrum


    1. 4kirill20
      07.10.2025 14:31

      Пока РКН и всё примкнушие будут занимается ерундой, это будет продолжаться


    1. Shaman_RSHU
      07.10.2025 14:31

      Спасибо РКН что мотивирует к знаниям, способным разобраться, как портировать дум на всё подряд и писать демки для Speccy.


  1. Zrgk
    07.10.2025 14:31

    Самый нестабильный способ. И так даже со всякими byedpi надо постоянно стратегии рабочие искать. Кроме нормального прокси/впн нет способов сейчас


    1. Vindicar
      07.10.2025 14:31

      Увы, многие крупные сайты нервно относятся к клиентам, заходящим с адресов хостинг-провайдеров, тогда как другие либо заблочены, либо столь же нервно относятся к клиентом, заходящим с ру-зоны. Так что у меня лучшие результаты показывает комбо: часть сайтов через скрэмблинг а-ля ByeDPI, часть сайтов через XRay.


      1. VADemon
        07.10.2025 14:31

        дискриминация


      1. DragonPC
        07.10.2025 14:31

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


        1. Vindicar
          07.10.2025 14:31

          Увы, многое зависит от провайдера. У меня довольно долго старичок OpenVPN держался, но настал и его час. Если вы можете обойтись одним решением - хорошо.


    1. Giperoglif
      07.10.2025 14:31

      а тор?


      1. qyix7z
        07.10.2025 14:31

        Многие сайты блекхолят траффик с выходных нод тора. Сейчас нет универсального рецепта.


  1. punhin
    07.10.2025 14:31

    Когда и эта мера перестанет работать, придётся изобретать гораздо более изощрённые (но, возможно, технически гораздо боле простые, а потому способные стать массовыми) способы - ну, типа ищем в гугле или где-то ещё нужное видео и просим скрипт прислать его нам по электронной почте, открытым текстом, нарезанный на кусочки правильной длины. Кто-то хотел знать, что мы там смотрим? Пусть смотрит...

    Не буду подсказывать сайты, на которых я уже сейчас вынужден искать нужные мне видео, а также каналы, по которым эти видео пока ещё можно скачать не привлекая внимания санитаров, дабы никого не наводить на вредные мысли. Способы есть, и без всяких трёхбуквенных аббревиатур, за которые страницы очень быстро попадают под "451 градус по Фаренгейту".


    1. R820T2
      07.10.2025 14:31

      Если не сложно, задайте направление в личку. Заранее спасибо


      1. Destructive
        07.10.2025 14:31

        Как вариант, в телеге открываете чат @SaveFromVKBot, и пишете ему @vid Ваш текст.

        @vid позволяет искать по Youtube, а бот скачает видео, и пришлёт вам его в виде файла.

        P.S. Какое-то время назад этим способом экономил трафик на мобильном операторе, т.к. соцсети по тарифу безлимитны.


        1. R820T2
          07.10.2025 14:31

          Спасибо