zapret-Checker - авто-подбор и сохранение стратегий (windows)

Сначала юзал эту страту, но она отвалилась

--filter-udp=50000-65535 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin"

Затем эту, но и она тоже

--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-repeats=6 

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

При этом сам дискорд работает, запрет его спокойно пробивает. По TCP 443 порты на его IP не блочатся вроде.

без логов сети (wireshark) тут невозможно что-либо сказать. т.к дискорд использует различные сети и протоколы, как я написал выше.
а curl проходит? curl -v https://finland14033.discord.media должен закончиться на left intact

я смотрю, там вцелом новые финские сервера появились, их в hosts у фловсила нет

Осваиваю программу, пока все очень нравится. Вопрос: скачиваю пожилому человеку видео с ютуб через yt-dlp. Через приложение флоусила работает (но там сам ютуб уже через пень-колоду у меня работает), а вот через чекер не хочет. Доходит до выбора формата, а потом выдает это: “[download] Got error: (‘Connection aborted.’, ConnectionResetError(10054, ‘Удаленный хост принудительно разорвал существующее подключение’, None, 10054, None)). Retrying (1/10)…”. Не подскажете как пофиксить, переключать версии запрета можно, конечно, но вдруг можно проще? :slight_smile:

Спасибо, учтено) Добавлена настройка $rewriteHosts, но по умолчанию отключена. Т.к. в хостлисте может быть множество доменов для ресурса ( к примеру, скачал готовый список с гитхаба). Если включить настройку, хостлист перезапишется, а вдруг чеклист не все домены учитывает

Убраны все предупреждения про настройку браузера)

Можно над этим подумать, сделать отдельную сборку под дискорд)
Насколько понимаю, нужна просто пауза в батнике для ручной проверки (т.к. curl-ом такое не проверить)

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

А какая у вас версия сборки Флоусила и какой конкретно батник рабочий для yt-dlp?

Да, надо будет шарком почекать, куда он ломится. Позже попробую.

Курл проходит
* Connection #0 to host finland14033.discord.media left intact

Последняя 1.9.7b с general (ALT11).bat. Причем включал у него какой-то другой (не помню какой, чуть ли не general (ALT9).bat) и в нем тоже yt-dlp не работает. Но на 11 пашет.

У Флоусила в list-google.txt и домены для веб-страницы, и для самого видео, т.е. стратегия 2 в 1
А в чекере по отдельности: Youtube_Site.txt - домены страницы, Youtube_Video.txt - домены видео, и 2 разных стратегии в итоге (потому что иногда страница и видео заблокированы по-разному)
Причем браузер и yt-dlp работают тоже по-разному
Браузер обычно стучится на локальный гугл-кэш (ggc)
А yt-dlp может лезть на др. ggc
Чекер по умолчанию ищет локальный ggc и подбирает стратегии именно для него (как в браузере)
Попробуйте сделать так:

  1. Запустите general (ALT11).bat
  2. Откройте в браузере видео, к примеру https://www.youtube.com/watch?v=r4gdQO3zwcw
  3. Вызовите лог браузера по F12 либо CTRL+SHIFT+J
  4. Перейдите на вкладку Сеть/Network
  5. Посмотрите, какие там ggc (домены rr…googlevideo.com)
  6. Запустите из командной строки
yt-dlp.exe -g https://www.youtube.com/watch?v=r4gdQO3zwcw
  1. Посмотрите, какие там ggc
  2. В CheckLists\Youtube_Video.txt впишите домены из браузера и из yt-dlp.exe (ТОЛЬКО домены, НЕ все адреса целиком)
  3. Запустите чекер, выберите Youtube_Video.txt
    Возможно, он найдет общую стратегию для браузера и yt-dlp.exe

Работает! Спасибо большое! Может в HELP добавить? Когда чекер отработал я увидел эту инструкцию там, а в хелпе не нашел. Может будет кому полезно. :slight_smile:

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

3дравствуйте, а есть какая-либо возможность обойти ошибку “Системе не удается найти указанный путь” для днсов?

Спойлер

А то в конце скрипт выдаёт:

Не удается найти указанную метку пакетного файла - CheckAsn

Warn: Не найден рабочий ip для домена: rr1---sn-c0q7lns7.googlevideo.com

Хотя даже по пингу ясно, что это 74.125.154.38 например

zapret-Checker.log (11,0 КБ)

Можете плс еще раз проверить с этим zapret-CheckerV1.2.zip (5,6 МБ)
А также прикрепить сюда содержимое Youtube_Video.txt
И результат команды:

curl-impersonate.exe -4ksv -m 3 -o nul -w "%{response_code};%{remote_ip}" https://rr1---sn-c0q7lns7.googlevideo.com

К сожалению, тоже самое

А также прикрепить сюда содержимое Youtube_Video.txt

Youtube_Video.txt (413 байтов)

Туда сейчас добавил свои ggc, которые наловились по F12 в браузере и ют-длп -g cо сборкой Флоусила

Спойлер

D:\1!soft\zapret-CheckerV1.2\Files\curl>curl-impersonate.exe -4ksv -m 3 -o nul -w “%{response_code};%{remote_ip}” https
://rr1—sn-c0q7lns7.googlevideo.com

  • Host rr1---sn-c0q7lns7.googlevideo.com:443 was resolved.
  • IPv6: (none)
  • IPv4: 74.125.154.38
  • Trying 74.125.154.38:443…
  • Failed to set TCP_KEEPINTVL on fd 92: errno 10042
  • Failed to set TCP_KEEPCNT on fd 92: errno 10042
  • ALPN: curl offers h2,http/1.1
    } [5 bytes data]
  • TLSv1.2 (OUT), TLS handshake, Client hello (1):
    } [512 bytes data]
  • Connection timed out after 3001 milliseconds
  • closing connection #0
    000;
    D:\1!soft\zapret-CheckerV1.2\Files\curl>curl-impersonate.exe -4ksv -m 3 -o nul -w “%{response_code};%{remote_ip}” https
    ://rr5—sn-q4fzen7s.googlevideo.com
  • Host rr5---sn-q4fzen7s.googlevideo.com:443 was resolved.
  • IPv6: (none)
  • IPv4: 173.194.24.170
  • Trying 173.194.24.170:443…
  • Failed to set TCP_KEEPINTVL on fd 92: errno 10042
  • Failed to set TCP_KEEPCNT on fd 92: errno 10042
  • ALPN: curl offers h2,http/1.1
    } [5 bytes data]
  • TLSv1.2 (OUT), TLS handshake, Client hello (1):
    } [512 bytes data]
  • Connection timed out after 3001 milliseconds
  • closing connection #0
    000;
    D:\1!soft\zapret-CheckerV1.2\Files\curl>curl-impersonate.exe -4ksv -m 3 -o nul -w “%{response_code};%{remote_ip}” https
    ://manifest.googlevideo.com
  • Host manifest.googlevideo.com:443 was resolved.
  • IPv6: (none)
  • IPv4: 74.125.131.136, 74.125.131.190, 74.125.131.93, 74.125.131.91
  • Trying 74.125.131.136:443…
  • Failed to set TCP_KEEPINTVL on fd 92: errno 10042
  • Failed to set TCP_KEEPCNT on fd 92: errno 10042
  • ALPN: curl offers h2,http/1.1
    } [5 bytes data]
  • TLSv1.2 (OUT), TLS handshake, Client hello (1):
    } [512 bytes data]
  • Connection timed out after 3001 milliseconds
  • closing connection #0
    000;

Блин, вечером ещё не знаю из-за чего, может hdd, может из-за кучи vpn tun’ов зависла инициализация Windows Sockets. Оказывается, без netsh winsock reset даже журнал событий винды и плееры не открываются :dotted_line_face:

Имхо, не работает поиск локальных ggc. Но не могу у себя воспроизвести ошибку. Можете плс запустить zapret-CheckerV1.3.zip (5,6 МБ)
Плюс выполнить команду

curl-impersonate.exe -4ks -m 3 -w "code=%{response_code}; host=%{url.host}; ip=%{remote_ip}\n" -Z rr13---sn-n8v7znlr.googlevideo.com -o nul rr2---sn-hpaxjvh-v8cl.googlevideo.com -o nul rr5---sn-4g5lznlz.googlevideo.com -o nul rr5---sn-q4fzen7s.googlevideo.com -o nul

Может хоть что-то прояснится

Заказ выполнен)
Если не сложно, проверьте, пожалуйста, новую сборку zapret-Checker_v2.zip (9,3 МБ)

Что изменено:

  • Для протокола udp фильтры по портам заменены на фильтры windivert
  • Для протоколов dht/discord/stun проверка вручную. Если не работает, наверно, протоколы stun и discord придется объединить
  • Для протоколов tcp/quic/wireguard проверка автоматически curl-ом
  • Для wireguard используется wireproxy, из-за этого увеличился вес сборки
  • Фейковые sni и пейлоады теперь грузятся не из zapret-Checker.ini, а из файлов FakeSNI.txt / FakeTCP.txt / FakeUDP.txt . После изменения этих файлов нужно заново генерировать стратегии для каждого из протоколов. Число стратегий напрямую зависит от количества sni/пейлоадов в этих файлах
  • Добавлена настройка $filter=yes/no (включение/отключение фильтра по хостлистам/ipset)

3наете что мне кажется, что как будто бы скрипт работает настолько быстро, чекая dns’ы и doh’и, что в винде7 переполняется dnscache, причём вплоть до зависания самой службы, что ни ipconfig /flushdns ни ребут не помогают, только net stop dnscache, net start dnscache

Спойлер

D:\1!soft\zapret-CheckerV1.3\Files\curl>curl-impersonate.exe -4ks -m 3 -w “code=%{response_code}; host=%{url.host}; ip=
%{remote_ip}\n” -Z rr13---sn-n8v7znlr.googlevideo.com -o nul rr2---sn-hpaxjvh-v8cl.googlevideo.com -o nul rr5—sn-4g5lz
nlz.googlevideo.com -o nul rr5---sn-q4fzen7s.googlevideo.com -o nul
code=404; host=rr13---sn-n8v7znlr.googlevideo.com; ip=173.194.178.159
code=404; host=rr5---sn-4g5lznlz.googlevideo.com; ip=74.125.104.74
code=404; host=rr2---sn-hpaxjvh-v8cl.googlevideo.com; ip=62.78.83.205
code=404; host=rr5---sn-q4fzen7s.googlevideo.com; ip=173.194.24.170

Локальный, думаю, тот который с -v8cl, он со мной давно, года два уже точно

dnscache если не ошибаюсь начинает лагать из-за большого хостс файла

Ну тогда не знаю. В хостсах вот принципиально ничего нету, кроме локальной петли

#127.0.0.1 localhost

#::1 localhost

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

Могу подкинуть новые идеи. Подбор стратегий под:
MTProto для ТГ,.
Прокси сервисы, которые работают на хостингах с 16к блоком (В частности CroxyProxy перенесли свой сервер на OVH, и как пробиться через 16к блок я не знаю).

Спасибо, у меня на РТ без настроек работает. Кстати, на 1 версии MSStore и Связь с телефоном не работали, теперь нормально.

Вряд ли, у меня тоже 7-ка. Таймаут каждого запроса 4 сек, а самих dns’ы и doh не так уж и много. Хранятся они в папке Files в файлах DNS.txt и DoH.txt Можете оставить там по 1 значению
Может быть, у вас что-то с системой? Пробовали делать полный сброс всех сетевых настроек?

Спойлер
route -f
ipconfig /flushdns
ipconfig /registerdns
nbtstat -R
nbtstat -RR
netsh int ip reset
netsh winsock reset
netsh winsock reset catalog
netsh int ip delete destinationcache
arp -d *
ipconfig /release
ipconfig /renew

Спасибо, но думаю, это нереально. Во-первых, в отличие от zapret2, zapret1 не распознает протокол MTProto (теоретически может сработать --dpi-desync-any-protocol). Во вторых, curl-ом не проверить (только если вручную, как с дискордом)
Имхо, на десктопе проще использовать TgWsProxy, а на мобильном обычные socks-прокси

Это уже давно сделано) В смысле подбор стратегий для прокси. В zapret-Checker.ini в конце файла есть настройки $proxyCheck и $proxyAddress. В описании к ним подробно расписано как это работает

Спойлер
;Подбор стратегии для прокси. С $proxyCheck=yes curl будет подключаться к адресам из чеклиста через заданный адрес прокси
$proxyCheck=no
;Адрес прокси в формате Протокол://Сервер:Порт либо Протокол://Логин:Пароль@Сервер:Порт К примеру, есть локальный socks5-прокси на порту 1080 с эндпоинтом https://abc.com:8080 Тогда 1.В zapret-Checker.ini задать $proxyAddress=socks5://127.0.0.1:1080 и $keys=--dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-skip-nosni=0 2.В CheckLists\Proxy.txt вписать проверочный сайт https://www.youtube.com 3.Вписать домен сервера abc.com в HostLists\Proxy.txt (либо ip сервера в IpSets\Proxy.txt и выставить $ipset=yes) 4.В zapret-Checker.cmd выбрать протокол tcp и чеклист Proxy.txt Если прокси не локальный, то $proxyAddress=https://abc.com:8080 или $proxyAddress=https://логин:пароль@abc.com:8080 (для прокси с авторизацией). Для wireguard (wireproxy) автоматом выставляется $proxyCheck=yes , а $proxyAddress берется из $wireguardConfig
$proxyAddress=