bol-van / zapret

DPI bypass multi platform
8.3k stars 633 forks source link

проблемы с обходом блокировки youtube (googlevideo.com) #695

Closed ryazh3nka closed 1 week ago

ryazh3nka commented 1 week ago

здравствуйте! спасибо за замечательное решение, с помощью программы открывается x.com и discord. Однако возникает проблема с заходом на ютуб: на сайт зайти получается, но проигрывание видео виснет. Распишу проблему подробнее. (прошу прощения если не понимаю чего-то очевидного)

мой nfqws конфиг, пользуюсь nftables:

NFQWS_PORTS_TCP=80,443 NFQWS_PORTS_UDP=443 NFQWS_TCP_PKT_OUT=9 NFQWS_TCP_PKT_IN=3 NFQWS_UDP_PKT_OUT=9 NFQWS_UDP_PKT_IN=0 NFQWS_PORTS_TCP_KEEPALIVE= NFQWS_PORTS_UDP_KEEPALIVE= NFQWS_OPT=" --dpi-desync=fake --dpi-desync-ttl=7"

кроме zapret пробовал альтернативные решения типа spoofdpi, powertunnel, etc, и везде одна и та же ошибка с подключением к googlevideo.com. в issues почитал ваш ответ на подобную проблему (от 1 августа), но, как я понял, формат конфигурационного файла обновился.

система: пользуюсь системой инициализации runit, закидываю файл из /opt/zapret/init.d/runit в /var/services. все dependencies установлены. во время поиска решений через blockcheck увидел предупреждение о том, что curl собран без поддержки quic.

скажите, пожалуйста, каковы пути возможного решения?

ryazh3nka commented 1 week ago

P.S: запускаю ./install_easy.sh следующим образом:

select flow offloading: none enable tpws socks mode on port 987? N enable tpws transparency mode? N enable nfqws? Y LAN interface: NONE WAN interface: ANY select filtering: none

в ./blockchech.sh:

check http? Y check https tls 1.2? Y check https tls 1.3? Y

HentayHentay commented 1 week ago

скажите, пожалуйста, каковы пути возможного решения?

Открыть ютуб, начать проигрывать видео и отловить обращение к googlevideo.com, Вдруг у нас сменился местный GGC.

Далее его адрес закидываем в блокчекер (запрет в этот момент выключаем) и смотрим на результаты. Скорее будут обходы по TCP 443 QUIC потребует UDP 443 , но по сути там фейки идут в отличие от TCP

PS При none у нас применяется --dpi-desync=fake --dpi-desync-ttl=7 на всем, что движется через указанные в конфигурации порты. И данная стратегия может уже "устареть"

ryazh3nka commented 1 week ago

Открыть ютуб, начать проигрывать видео и отловить обращение к googlevideo.com, Вдруг у нас сменился местный GGC.

глупый вопрос, как можно отловить это обращение? в firefox искать во вкладке network? из того что знаю, смысла вбивать googlevideos.com в blockcheck.sh нет, поэтому нужно искать поддомены? если задаю супер странный вопрос и я не понимаю самых основ, можете просто в ответе ссылку прикрепить на мануал откуда стоит продолжить изучение

Не указан MODE_FILTER

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

HentayHentay commented 1 week ago

глупый вопрос, как можно отловить это обращение? в firefox искать во вкладке network? из того что знаю, смысла вбивать googlevideos.com в blockcheck.sh нет, поэтому нужно искать поддомены? если задаю супер странный вопрос и я не понимаю самых основ, можете просто в ответе ссылку прикрепить на мануал откуда стоит продолжить изучение

А ещё может творить и вытворять браузер некоторые неприятности) В инструментах разработчика - инспектировать - сеть

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

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

ryazh3nka commented 1 week ago

из zapret/config

MODE_FILTER=none

попытался поймать обращение к googlevideo, но в network увидел только следующие запросы:

GET https://www.youtube.com/watch?v=SLEBlJ9DTAI

POST scheme: https host: rr3---sn-gxuog0-n8me.googlevideo.com filename: videoplayback

GET scheme: https Host: rr2---sn-q4fl6n6r.googlevideo.com filename: videoplayback status: 403

POST scheme: https Host: rr2---sn-ug5onuxaxjvh-n8v6.googlevideo.com filename: videoplayback

и длинная ссылка при даблклике каждый из них

HentayHentay commented 1 week ago

и длинная ссылка при даблклике на последний запрос.

https://rr13---sn-n8v7knel.googlevideo.com/* <- нас только данная часть ссылки интересует Далее берём rr13---sn-n8v7knel.googlevideo.com и в блокчек его вставляем и ждем вердикта.

Host: 443---sn-gxuog0-n8me.googlevideo.com

ссылка не полная. Отсутствует некоторая часть

HentayHentay commented 1 week ago

POST scheme: https Host: rr2---sn-ug5onuxaxjvh-n8v6.googlevideo.com filename: videoplayback

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

GET scheme: https Host: rr2---sn-q4fl6n6r.googlevideo.com filename: videoplayback status: 403

Не правильный хост. GETом гуглвидео не отвечает.

ryazh3nka commented 1 week ago

спасибо за помощь! поставил на проверку, буду ждать. прошу прощения за ошибки в урлах, руками их перепечатывал потому что почему-то не могу копировать на dwm под x11 из f12-меню в фаерфоксе. извините за то что запутал. если возникнут проблемы, отпишусь через час, ещё раз большое спасибо!

edit: копировать всё-таки могу, просто я глупый немного

ryazh3nka commented 1 week ago

попробовал новые решения, ютуб перестал загружаться.

блокчек выдал следующее:

  • SUMMARY ipv4 rr2---sn-ug5onuxaxjvh-n8v6.googlevideo.com curl_test_http : working without bypass ipv4 rr2---sn-ug5onuxaxjvh-n8v6.googlevideo.com curl_test_https_tls12 : tpws --split-pos=1 --oob ipv4 rr2---sn-ug5onuxaxjvh-n8v6.googlevideo.com curl_test_https_tls12 : nfqws --dpi-desync=split --dpi-desync-ttl=3 --dpi-desync-split-pos=1 ipv4 rr2---sn-ug5onuxaxjvh-n8v6.googlevideo.com curl_test_https_tls13 : tpws --split-pos=2 ipv4 rr2---sn-ug5onuxaxjvh-n8v6.googlevideo.com curl_test_https_tls13 : nfqws --dpi-desync=fake --dpi-desync-ttl=9 --dpi-desync-fake-tls=0x00000000

почистил /var/service от файлов программы, перезапустил dnscrypt-proxy, dhcpcd и wpa_supplicant. запустил install-easy.sh. в случае с nfqws протыкал аналогично первому сообщению в этом треде изменив конфиг поочерёдно на каждый из предложенных. скопировал файл /opt/zapret/init.d/runit/zapret в /var/service. youtube.com и x.com перестали открываться вообще

HentayHentay commented 1 week ago
  • ipv4 rr2---sn-ug5onuxaxjvh-n8v6.googlevideo.com curl_test_https_tls12 : nfqws --dpi-desync=split --dpi-desync-ttl=3 --dpi-desync-split-pos=1

--filter-tcp=443 - данная стратегия.

  • ipv4 rr2---sn-ug5onuxaxjvh-n8v6.googlevideo.com curl_test_https_tls13 : nfqws --dpi-desync=fake --dpi-desync-ttl=9 --dpi-desync-fake-tls=0x00000000

--filter-tcp=443 - данная стратегия. PS Тут нужно выбрать одну из 2х или перебрать и посмотреть, что лучше для тебя

Quic имеет стандартные настройки: --filter-udp=443 --dpi-desync=fake (можно взять из config.def*)

Не забываем перезапустить запрет. А то если ты ставишь так

NFQWS_OPT=" --dpi-desync=split --dpi-desync-ttl=3 --dpi-desync-split-pos=1 " То ты себе интернет ломаешь )

youtube.com и x.com

Могут иметь разные стратегии обхода.

ryazh3nka commented 1 week ago

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

NFQWS_PORTS_TCP=80,443 NFQWS_PORTS_UDP=443 NFQWS_TCP_PKT_OUT=9 NFQWS_TCP_PKT_IN=3 NFQWS_UDP_PKT_OUT=9 NFQWS_UDP_PKT_IN=0 NFQWS_PORTS_TCP_KEEPALIVE= NFQWS_PORTS_UDP_KEEPALIVE= NFQWS_OPT=" --filter-tcp=443"

после этого:

$ sudo rm -rf /var/service/zapret/ $ sudo cp -r /opt/zapret/init.d/runit/zapret/ /var/service/ $ sudo sv restart zapret

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

ещё есть подозрение что я пока переустанавливал программы у меня могли съехать порты. NFQWS_PORTS стоят 80, 443, а dnscrypts-proxy слушает порт 53. может быть лезу туда где мало смыслю, но кажется нужно это поправить

HentayHentay commented 1 week ago

много мата

NFQWS_OPT="
--filter-tcp=443 --dpi-desync=split --dpi-desync-ttl=3 --dpi-desync-split-pos=1 --new
--filter-udp=443 --dpi-desync=fake --filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=6 
"

Или

NFQWS_OPT="
--filter-tcp=443 --dpi-desync=split --dpi-desync=fake --dpi-desync-ttl=9 --dpi-desync-fake-tls=0x00000000 --new
--filter-udp=443 --dpi-desync=fake --filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=6 
"

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

Так-же скорее не настроен WAN или IFACE_WAN (нужен для NFQWS_OPT , если система отличиная от openwrt) WAN - интерфейс, смотрящий в интернет IFACE_WAN - сетевой интерфейс, смотрящий в интернет (eth1 и тд)

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

bol-van commented 1 week ago

Пробелов может быть сколько угодно между переменными . Это так называемый whitespace

HentayHentay commented 1 week ago

@bol-van

Спасибо за информацию. Успокоили

ryazh3nka commented 1 week ago

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

конфиг:

NFQWS_PORTS_TCP=80,443 NFQWS_PORTS_UDP=443 NFQWS_TCP_PKT_OUT=9 NFQWS_TCP_PKT_IN=3 NFQWS_UDP_PKT_OUT=9 NFQWS_UDP_PKT_IN=0 NFQWS_PORTS_TCP_KEEPALIVE= NFQWS_PORTS_UDP_KEEPALIVE= NFQWS_OPT=" --filter-tcp=443 --dpi-desync=split --dpi-desync-ttl=3 --dpi-desync-split-pos=1 --new --filter-udp=443 --dpi-desync=fake --filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=6"

Host: rr2---sn-ug5onuxaxjvh-n8v6.googlevideo.com Host: rr3---sn-gxuog0-n8me.googlevideo.com

извините что трачу время, но кажется всё на круги своя вернулось и я снова в ту же проблему с загрузкой упёрся)':

HentayHentay commented 1 week ago

Пробуй на хроме Часто мазилла или другие немного тупят

Проблема с квиком/http3 если видео не идет или бесконечная прогрузка ролика

Может потребоваться докинуть фейк --filter-udp=443 --dpi-desync=fake --filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=6 и получить что-то такое --filter-udp=443 --dpi-desync=fake --filter-udp=443 --dpi-desync=fake --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin --dpi-desync-repeats=6 --dpi-desync-cutoff=d3

ryazh3nka commented 1 week ago

спасибо большое мистер хентай!! всё работает отлично (правда хром тупит. зато в мозилле всё ок хд)

мой конфиг:

NFQWS_PORTS_TCP=80,443 NFQWS_PORTS_UDP=443 NFQWS_TCP_PKT_OUT=9 NFQWS_TCP_PKT_IN=3 NFQWS_UDP_PKT_OUT=9 NFQWS_UDP_PKT_IN=0 NFQWS_PORTS_TCP_KEEPALIVE= NFQWS_PORTS_UDP_KEEPALIVE= NFQWS_OPT=" --filter-tcp=443 --dpi-desync=split --dpi-desync-ttl=3 --dpi-desync-split-pos=1 --new --filter-udp=443 --dpi-desync=fake --filter-udp=443 --dpi-desync=fake --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin --dpi-desync-repeats=6 --dpi-desync-cutoff=d3"

если всё окей, ишью закрою. спасибо ещё раз:))

NewUse commented 1 week ago

спасибо большое мистер хентай!! всё работает отлично (правда хром тупит. зато в мозилле всё ок хд)

мой конфиг:

NFQWS_PORTS_TCP=80,443 NFQWS_PORTS_UDP=443 NFQWS_TCP_PKT_OUT=9 NFQWS_TCP_PKT_IN=3 NFQWS_UDP_PKT_OUT=9 NFQWS_UDP_PKT_IN=0 NFQWS_PORTS_TCP_KEEPALIVE= NFQWS_PORTS_UDP_KEEPALIVE= NFQWS_OPT=" --filter-tcp=443 --dpi-desync=split --dpi-desync-ttl=3 --dpi-desync-split-pos=1 --new --filter-udp=443 --dpi-desync=fake --filter-udp=443 --dpi-desync=fake --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin --dpi-desync-repeats=6 --dpi-desync-cutoff=d3"

если всё окей, ишью закрою. спасибо ещё раз:))

кажется там задублироваласт строка с udp фильтром

ryazh3nka commented 1 week ago

кажется там задублироваласт строка с udp фильтром

и правда, ночью уже видеть разучился

ryazh3nka commented 1 week ago

резюмирую если вдруг кто-то столкнётся с похожей проблемой:

Проблема: грузится ютуб, не грузятся видео, идёт бесконечная загрузка. Решение: найти в f12-меню обращение к googlevideo.com во время загрузки видео, прогнать его через blockcheck, добавить способ обхода в конфиг через install-easy, добавить строчку с фейком из комментария выше если не помогло.

в моём случае:

NFQWS_PORTS_TCP=80,443 NFQWS_PORTS_UDP=443 NFQWS_TCP_PKT_OUT=9 NFQWS_TCP_PKT_IN=3 NFQWS_UDP_PKT_OUT=9 NFQWS_UDP_PKT_IN=0 NFQWS_PORTS_TCP_KEEPALIVE= NFQWS_PORTS_UDP_KEEPALIVE= NFQWS_OPT=" --filter-tcp=443 --dpi-desync=split --dpi-desync-ttl=3 --dpi-desync-split-pos=1 --new --filter-udp=443 --dpi-desync=fake --dpi-desync-fake-quic=/opt/zapret/files/fake/quic_initial_www_google_com.bin --dpi-desync-repeats=6 --dpi-desync-cutoff=d3"