А можно узнать как вы качаете видео, через какую программу?
Скорее всего он качает через ссылку в адресе
Я качаю программой собственного написания. Не знаю кому как, а мне так удобнее. По нескольким причинам. Я всегда точно знаю, что и как она делает. И точно не майнит втихаря биткоины.
Однако, суть любой скачивалки сводится к тому, чтобы через 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
Что это значит?
Что значит к нескольким? В dev.tools
же, вроде, один домен показывает, который меняется примерно раз в день (точно не проверял).
Во, через запрет оно на компе раздуплилось Позже на ноутбуке проверю.
Спасибо. Я думал, запрет он только для линукса.
Сюда адрес кэш сервера, выкглядит как rr*---sn*-*.googlevideo.com
:
curl -svo NUL https://rr...
Если повисло или сбросилось сразу - то плохо.
Что значит к нескольким? В
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
Вроде, то же самое Однако, в браузере эта ссылка выдаёт ошибку CONNECTION_RESET
.
Не понимаю, почему это важно. Когда доступ к конкретному домену есть, то и с одного прекрасно проигрывается и качается. Не вижу принципиальной разницы между “скачать” и “воспроизвести” Разница только в интенсивности запросов.
Конечно выдает. Курл у вас работает по 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
А как его переделать-то?
Укажите, какую стратегию вам выдал 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 может выдать один домен, а вечером - другой. Из-за этого видео может то работать, то не работать. То же самое с качанием.
Тогда вопрос - почему одни такие домены пробиваются, а другие нет? Там блокировка, чтоли, какая-то разная?
одни сервера гугла находятся внутри сети провайдера, другие на сети других провайдеров, а третьи в других странах.
и соответственно для всех трех случаях может быть разная стратегия для обхода.
Предположу, что именно для этого надо задавать --set-ttl чтобы никуда кроме GGC провайдера дурилкой не лезть. А подкачать нужные куски на провайдерский GGC - это уже задача сети GGC, а не ваша
либо заблокировать все лишние сервера и использовать одну стратегию)
А с каким значением?
Это как?
Это муторнее, чем подобрать TTL )
@BlackRain начать с 2 и увеличивать на 1 пока не заработает видео
Для таких случаев предлагаю сделать систему пресетов для списков. Типа:
domains1.txt - -e 1 f 2
domains2.txt - -5 -e 2 --reverse-frag
domains3.txt - ещё как-то
Потому что для разных сайтов могут требоваться разные параметры.
Если бы это была моя программа, я бы обязательно так сделал. Эта функция прям-таки сама напрашивается, чтобы её сделали
Вам ничто не мешает запустить из 1 CMD 2 копии программы с разными настройками, указав для каждой свой блэклист (даже какой-нибудь свой). Единственное, что не надо делать - запускать копию без блэклиста