Zapret: обсуждение

а у кого-нибудь впринципе quic работает корректно с ggc?

я у себя проверил, через curl --http3-only сервер пробивается (и в вайршарке все хорошо)
но если заходить через браузер, то , судя по вайршарку, там даже попыток лезть через quic нет, он сразу стартует с tcp и при неудачных попытках продолжает по нему долбиться. одинаково что в хроме, что в лисе

т.е даже первичного запроса по udp из браузера нет, как будто на самом ggc quic програмно выключен.
при этом весь остальной интерфейс ютуба, основной сайт, картинки итд работает по quic (но оно впринципе не фильтруется на тспу по h3)

Спойлер

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

потестил немного:
с пиринговых серверов отдает по quic видео, с местных нет. но возможно, так и должно быть.

у меня quic отлично работает и через warp и через proton

обратись вот к этому серверу через свой божественный vpn по quic любым доступным тебе способом в браузере

https://rr1---sn-8ph2xajvh-3hfl.googlevideo.com
если например в запрете убрать tcp, то ggc не будет открываться

предполагаю, что есть сервера, которые впринципе не отдают видео через quic (и это не блокировка на тспу, а особенность самого сервера)

У меня работает.

Спойлер


Хмм…

Спойлер

Спасибо, Ори, Ваш вариант лучше для гуглвидео!

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

Работает. Но не на всех провайдерах.

aaa

Пока работает. Но утром всегда почему-то лучше Ютуб работает. Надо вечером проверять.

хмм тогда у меня нет идей, почему проходя через один и тот же тспу на местных у меня quic не работает, а на пиринговых в мск - работает (правда при прямом переходе тоже сваливается на tcp)
протестил из под виртуалки тоже самое, и что самое забавное из под vpn тоже самое. тоже форсится tcp, проверил на 10 разных стратегиях для quic, для которых curl проходит.

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

можешь еще мою стратегию с фейком проверить, она (у меня по крайней мере) работает быстро:
--filter-tcp=443 --hostlist="%~dp0\youtube.txt" --dpi-desync=fake,fakedsplit --dpi-desync-split-pos=1 --dpi-desync-fake-tls=0x16030102920100028e03035672ea15594162966e8a144297c497ddace5d546af7a4a0414a946fa52023cf720b0220c217abb1db321abbf01985cf3d07c61367c2ba5eff307b0f6f042448077 --dpi-desync-ttl=4
ttl тебе нужно подобрать самому минимальный, хостлист для yt и ggc тут общий

напишу наблюдения с quic
единственный вариант при котором работает quic - если например хром запустить с параметром запуска:
--origin-to-force-quic-on=rr1---sn-8ph2xajvh-3hfl.googlevideo.com:443,rr2---sn-8ph2xajvh-3hfl.googlevideo.com:443 ( обращаю внимание, что тогда tcp для них будет полностью выключен)

в этом случае по консоли и вайршарку вижу, что quic с перечисленными ggc работает

но есть некоторые странности:

  1. при прямой ссылке по ggc quic не работает
  2. такое ощущение, что во всех случаях, где quic не работает (например пункт1) некорректно работает запрет, потому что если указать --dpi-desync-repeats=15 , то я не вижу в шарке 15 отправленных пакетов

15 отправленных пакетов появляются например при curl или во время обычного просмотра видео

немного скринов:

  • не срабатывание повторов в запрете при прямом переходе на ggc:
Спойлер

шарк:

Спойлер

  • обычное воспроизведение видео:
Спойлер

изображение

тут повторы есть

Спойлер

  • срабатывание повторов в команде curl
Спойлер

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

--debug позволяет выводить подробный лог действий на консоль, в SYSLOG или в указанный файл через --debug=@/opt/zapret/log.txt. Может быть важен порядок следования опций. --debug лучше всего указывать в самом начале.

а на винде?
я попробовал указать --debug=@путь к файлу, дебаг пишется в текстовый файл, но все сайты перестают открываться dns probe
в логах шарка куча syn ack, fin ack на любой сайт

в самом debug при этом вижу множество обращений к doh
убираю --debug=@ и все сайты чудесным образом начинают открываться

крч стало открываться только после того, как убрал пустой wf tcp443

в логах следующее:
при curl хост попадает в профиль1

Спойлер

IP4: 192.168.1.101 => 89.113.122.76 proto=udp ttl=128 sport=60609 dport=443
UDP: len=1200 : CC 00 00 00 01 14 21 63 90 D1 9D F9 2C 04 77 DF AC 57 65 6D 32 CA 48 D1 08 13 14 0A 1E CE 19 EF … : …!c…,.w…Wem2.H… …
desync profile search for udp target=89.113.122.76:443 l7proto=unknown hostname=‘’
desync profile 0 matches
packet contains QUIC initial
packet contains full TLS ClientHello
hostname: rr1---sn-8ph2xajvh-3hfl.googlevideo.com
discovered l7 protocol
discovered hostname
desync profile search for udp target=89.113.122.76:443 l7proto=quic hostname=‘rr1---sn-8ph2xajvh-3hfl.googlevideo.com

  • hostlist check for profile 1

при открытии страницы с ggc хост не попадает в профиль:

Спойлер

packet: id=25 len=1278 outbound IPv6=0 IPChecksum=1 TCPChecksum=1 UDPChecksum=0 IfIdx=17.0
IP4: 192.168.1.101 => 89.113.122.76 proto=udp ttl=128 sport=63495 dport=443
UDP: len=1250 : C1 00 00 00 01 08 D7 05 8D D3 07 A0 BB 74 00 00 44 D0 D9 3D 97 A1 80 FE B1 9C DA 8C B3 1A 56 9D … : …t…D…=…V. …
using cached desync profile 0
packet contains QUIC initial
packet contains full TLS ClientHello
not applying tampering to QUIC ClientHello without hostname in the SNI

попробовал указать через ipset , тогда в шарке все корректно, фейки отправляются, но страница с ggc все равно не открывается, но кстати через ипсет +только wf-udp443 видео прям очень быстро стало открываться на ютубе. вообщем вывод quic можно заставить работать, но работает он через одно место на билайне (ну и + не совсем понятно поведение запрета и не понятно, почему этой же проблеме подвержен warp)

хз, не читал и не использовал

Надо снять в шарке тот QUIC initial, на который идет сообщение “not applying tampering to QUIC ClientHello without hostname in the SNI”. Раскрыть crypto и посмотреть есть ли там SNI.
Если есть, то переслать этот дамп мне для изучения

как можно сопоставить пакет из дебага и из шарка? я не вижу совпадений кроме айпишников и порта
в шарке все пакеты имеют длину 1292 в дебаге вижу только packet len1278, udp len 1250

не против , если полные логи шарка и дебага скину в лс?) или например второй исх. пакет в шарке = второму пакету в debug?

source port можно сопоставить
Дамп+дебаг лог

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

Вечер добрый!

Обратил внимание что zapret начал довольно обильно спамить в журнал последнее время:

zapret[14916]: rawsend: sendto: Message too long

Машина с Arch Linux, версия актуальный git.
Судя по поиску это что-то связанное с UDP, есть рецепты что с этим делать?

Какие параметры запуска ?
Если откуда-то скопипастенное udplen, то это очень логично