Перестало качаться с ютуба на ноутбуке

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

Скорее всего он качает через ссылку в адресе :upside_down_face:

Я качаю программой собственного написания. Не знаю кому как, а мне так удобнее. По нескольким причинам. Я всегда точно знаю, что и как она делает. И точно не майнит втихаря биткоины.
Однако, суть любой скачивалки сводится к тому, чтобы через API достать ссылки на файлы. А потом по этим ссылкам можно скачать любым менеджером закачки. Хоть в браузер вставить и скачать. Главное, чтобы доступ был.

Как это сделать? Какие параметры передавать в curl?

Сегодня, кстати, такая же фигня началась и на компьютере. Некоторые видео не открываются даже в браузере.
Сейчас прогоняю blockcheck запрета. Прогнался. В конце лога написано вот это:



curl_test_http3: winws strategy for ipv4 rr5---sn-n8v7knez.googlevideo.com not found

clearing winws redirection

* SUMMARY
ipv4 rr5---sn-n8v7knez.googlevideo.com curl_test_http : working without bypass
ipv4 rr5---sn-n8v7knez.googlevideo.com curl_test_https_tls12 : winws --wf-l3=ipv4 --wf-tcp=443 --dpi-desync=split --dpi-desync-fooling=badseq
ipv4 rr5---sn-n8v7knez.googlevideo.com curl_test_http3 : winws not working

Что это значит?

Что значит к нескольким? :thinking: В dev.tools же, вроде, один домен показывает, который меняется примерно раз в день (точно не проверял).

Во, через запрет оно на компе раздуплилось :thinking: Позже на ноутбуке проверю.
Спасибо. Я думал, запрет он только для линукса.

Сюда адрес кэш сервера, выкглядит как rr*---sn*-*.googlevideo.com:

curl -svo NUL https://rr...

Если повисло или сбросилось сразу - то плохо.

Что значит к нескольким? :thinking: В dev.tools же, вроде, один домен показывает, который меняется примерно раз в день (точно не проверял).

Если вы откроете видос и посмотрите запросы через F12 - Сеть (отфильтровав по слову videoplayback), там, как правило, будет 3 разных сервера.

Что это значит?

Лучше смотреть весь лог и искать там что-то оптимальное, чтобы работало везде. Ну, разберетесь, тут тем хватает.

Выдаёт:


*   Trying 173.194.180.215:80...
* Connected to rr5---sn-n8v7knez.googlevideo.com (173.194.180.215) port 80 (#0)
> GET / HTTP/1.1
> Host: rr5---sn-n8v7knez.googlevideo.com
> User-Agent: curl/8.0.1
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Date: Sun, 22 Sep 2024 06:19:43 GMT
< Content-Type: text/html; charset=UTF-8
< Server: gvs 1.0
< Content-Length: 1561
< X-XSS-Protection: 0
< X-Frame-Options: SAMEORIGIN
<
{ [1561 bytes data]
* Connection #0 to host rr5---sn-n8v7knez.googlevideo.com left intact

Но это у меня сейчас запрет запущен.
А вот это с goodbyedpi, запущенным через 1_russia_blacklist_YOUTUBE.cmd:

*   Trying 173.194.180.215:80...
* Connected to rr5---sn-n8v7knez.googlevideo.com (173.194.180.215) port 80 (#0)
> GET / HTTP/1.1
> Host: rr5---sn-n8v7knez.googlevideo.com
> User-Agent: curl/8.0.1
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Date: Sun, 22 Sep 2024 06:27:17 GMT
< Content-Type: text/html; charset=UTF-8
< Server: gvs 1.0
< Content-Length: 1561
< X-XSS-Protection: 0
< X-Frame-Options: SAMEORIGIN
<
{ [1561 bytes data]
* Connection #0 to host rr5---sn-n8v7knez.googlevideo.com left intact

Вроде, то же самое :thinking: Однако, в браузере эта ссылка выдаёт ошибку CONNECTION_RESET.

Не понимаю, почему это важно. Когда доступ к конкретному домену есть, то и с одного прекрасно проигрывается и качается. Не вижу принципиальной разницы между “скачать” и “воспроизвести” :thinking: Разница только в интенсивности запросов.

Конечно выдает. Курл у вас работает по http (порт 80) непонятно почему, ведь указано https:// который не блокируется (о чем вам ясно написал блокчек запрета), а браузер реально соединяется по https который блокируется. И правильно делает, ибо вряд ли GGC отдадут вам видео по http

Ок, мой косяк


*   Trying 173.194.180.215:443...
* Connected to rr5---sn-n8v7knez.googlevideo.com (173.194.180.215) port 443 (#0)
* schannel: disabled automatic use of client certificate
* ALPN: offers http/1.1
* Recv failure: Connection was reset
* schannel: failed to receive handshake, SSL/TLS connection failed
* Closing connection 0
* schannel: shutting down SSL/TLS connection with rr5---sn-n8v7knez.googlevideo.com port 443
* Send failure: Connection was reset
* schannel: failed to send close msg: Failed sending data to the peer (bytes written: -1)

Теперь с https
но тема уже давно ушла в оффтоп

Если все ок - можно пользоваться zapret либо переделать этот конфиг под goodbyedpi

А как его переделать-то? :thinking:

Укажите, какую стратегию вам выдал zapret - люди переделают (если это возможно). Ну или сами, прочитав мануал на гитхабе запрета, на гитхабе GDPI и сопоставив параметры

Он выдал мне это:

curl_test_http3: winws strategy for ipv4 rr5---sn-n8v7knez.googlevideo.com not found

clearing winws redirection

* SUMMARY
ipv4 rr5---sn-n8v7knez.googlevideo.com curl_test_http : working without bypass
ipv4 rr5---sn-n8v7knez.googlevideo.com curl_test_https_tls12 : winws --wf-l3=ipv4 --wf-tcp=443 --dpi-desync=split --dpi-desync-fooling=badseq
ipv4 rr5---sn-n8v7knez.googlevideo.com curl_test_http3 : winws not working

Я не особо вкурсе, что всё это значит. Я запустил winws.exe с параметрами --wf-l3=ipv4 --wf-tcp=443 --dpi-desync=split --dpi-desync-fooling=badseq и ютуб раздуплился.

По-гудбаевски это банальное -e 2 --wrong-seq вроде как. Но запрет и GDPI могут вставлять фейк в разные части пакета, так что может и не сработать.

Сейчас запустил на ноутбуке с параметрами -e 2 -f 2 --wrong-seq --reverse-frag --fake-from-hex 16030301370100013303038744d596d5e166b59b26a220fd6b02290b1c4ab52fdd065686d3c554eeeec80e202e64ac10ffb2410d07f605bdb7ff47f94b7280a30c215ab8ba1924a29b104a15005c130213031301c030c02cc028c024c014c00a009f006b0039cca9cca8ccaa00c40088009d003d003500c00084c02fc02bc027c023c013c009009e0067003300be0045009c003c002f00ba0041c011c0070005c012c0080016000a00ff0100008e000d0018001608060601060308050501050308040401040302010203002b00050403040303003300260024001d0020c5dfc61b4b53a1eb0441db0077c51d3ee7a127ad4a007fc96ff62cbcd94a9231000a000a0008001d00170018001900000015001300001065617274682e676f6f676c652e636f6d000b000201000010000e000c02683208687474702f312e31 --dns-addr 77.88.8.8 --dns-port 1253 --dnsv6-addr 2a02:6b8::feed:0ff --dnsv6-port 1253 --blacklist ..\domains.txt (как и вчера).
И всё заработало. То что не работало вчера - заработало.
Я так понимаю, проблема в этих rr*.googlevideo.com. Для одного и того же видео этот домен может меняться. То есть, утром API может выдать один домен, а вечером - другой. Из-за этого видео может то работать, то не работать. То же самое с качанием.
Тогда вопрос - почему одни такие домены пробиваются, а другие нет? :thinking: Там блокировка, чтоли, какая-то разная?

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

Предположу, что именно для этого надо задавать --set-ttl чтобы никуда кроме GGC провайдера дурилкой не лезть. А подкачать нужные куски на провайдерский GGC - это уже задача сети GGC, а не ваша

либо заблокировать все лишние сервера и использовать одну стратегию)

А с каким значением?

Это как?

Это муторнее, чем подобрать TTL )

@BlackRain начать с 2 и увеличивать на 1 пока не заработает видео

Для таких случаев предлагаю сделать систему пресетов для списков. Типа:
domains1.txt - -e 1 f 2
domains2.txt - -5 -e 2 --reverse-frag
domains3.txt - ещё как-то

Потому что для разных сайтов могут требоваться разные параметры.
Если бы это была моя программа, я бы обязательно так сделал. Эта функция прям-таки сама напрашивается, чтобы её сделали :man_shrugging:

Вам ничто не мешает запустить из 1 CMD 2 копии программы с разными настройками, указав для каждой свой блэклист (даже какой-нибудь свой). Единственное, что не надо делать - запускать копию без блэклиста