Compare commits

...
16 Commits
13 changed files with 159 additions and 238 deletions

No files matched your search

+7
View File
@@ -57,3 +57,10 @@ jobs:
1. **Закройте** этот issue. 1. **Закройте** этот issue.
2. **Создайте новую (или найдите уже существующую) ветку обсуждений** в разделе [**Discussions**](https://github.com/Flowseal/zapret-discord-youtube/discussions), подробно опишите свою проблему и ждите помощи от других игроков. 2. **Создайте новую (или найдите уже существующую) ветку обсуждений** в разделе [**Discussions**](https://github.com/Flowseal/zapret-discord-youtube/discussions), подробно опишите свою проблему и ждите помощи от других игроков.
*Давайте будем честны*: Игр много. Как и вы, никто и никогда не читает уже существующие чужие issues, а вероятность найти решение проблемы в разделе [**Discussions**](https://github.com/Flowseal/zapret-discord-youtube/discussions) — выше. *Давайте будем честны*: Игр много. Как и вы, никто и никогда не читает уже существующие чужие issues, а вероятность найти решение проблемы в разделе [**Discussions**](https://github.com/Flowseal/zapret-discord-youtube/discussions) — выше.
# Пожалуйста, сообщите следующую информации о Вашей проблеме, чтобы Вам помогли решить её быстрее
- отправьте версию Windows, на которой словили ошибку
- отправьте результаты тестирования конфигураций zapret в виде файла
- отправьте состояние `IPSet`/`Game` Filter и активных фейков
- отправьте полный скриншот диагностики zapret
- отправьте скриншот настроенного [Безопасного DNS (Secure DNS)](https://github.com/Flowseal/zapret-discord-youtube#%EF%B8%8F%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5) в ОС/браузере
+8 -200
View File
@@ -41,203 +41,11 @@
149.154.167.220 zws2.web.telegram.org 149.154.167.220 zws2.web.telegram.org
149.154.167.220 zws4-1.web.telegram.org 149.154.167.220 zws4-1.web.telegram.org
104.25.158.178 finland10000.discord.media 162.159.138.232 discord.com
104.25.158.178 finland10001.discord.media 162.159.137.232 discord.com
104.25.158.178 finland10002.discord.media 162.159.128.233 discord.com
104.25.158.178 finland10003.discord.media 162.159.135.232 discord.com
104.25.158.178 finland10004.discord.media 162.159.138.232 updates.discord.com
104.25.158.178 finland10005.discord.media 162.159.137.232 updates.discord.com
104.25.158.178 finland10006.discord.media 162.159.128.233 updates.discord.com
104.25.158.178 finland10007.discord.media 162.159.135.232 updates.discord.com
104.25.158.178 finland10008.discord.media
104.25.158.178 finland10009.discord.media
104.25.158.178 finland10010.discord.media
104.25.158.178 finland10011.discord.media
104.25.158.178 finland10012.discord.media
104.25.158.178 finland10013.discord.media
104.25.158.178 finland10014.discord.media
104.25.158.178 finland10015.discord.media
104.25.158.178 finland10016.discord.media
104.25.158.178 finland10017.discord.media
104.25.158.178 finland10018.discord.media
104.25.158.178 finland10019.discord.media
104.25.158.178 finland10020.discord.media
104.25.158.178 finland10021.discord.media
104.25.158.178 finland10022.discord.media
104.25.158.178 finland10023.discord.media
104.25.158.178 finland10024.discord.media
104.25.158.178 finland10025.discord.media
104.25.158.178 finland10026.discord.media
104.25.158.178 finland10027.discord.media
104.25.158.178 finland10028.discord.media
104.25.158.178 finland10029.discord.media
104.25.158.178 finland10030.discord.media
104.25.158.178 finland10031.discord.media
104.25.158.178 finland10032.discord.media
104.25.158.178 finland10033.discord.media
104.25.158.178 finland10034.discord.media
104.25.158.178 finland10035.discord.media
104.25.158.178 finland10036.discord.media
104.25.158.178 finland10037.discord.media
104.25.158.178 finland10038.discord.media
104.25.158.178 finland10039.discord.media
104.25.158.178 finland10040.discord.media
104.25.158.178 finland10041.discord.media
104.25.158.178 finland10042.discord.media
104.25.158.178 finland10043.discord.media
104.25.158.178 finland10044.discord.media
104.25.158.178 finland10045.discord.media
104.25.158.178 finland10046.discord.media
104.25.158.178 finland10047.discord.media
104.25.158.178 finland10048.discord.media
104.25.158.178 finland10049.discord.media
104.25.158.178 finland10050.discord.media
104.25.158.178 finland10051.discord.media
104.25.158.178 finland10052.discord.media
104.25.158.178 finland10053.discord.media
104.25.158.178 finland10054.discord.media
104.25.158.178 finland10055.discord.media
104.25.158.178 finland10056.discord.media
104.25.158.178 finland10057.discord.media
104.25.158.178 finland10058.discord.media
104.25.158.178 finland10059.discord.media
104.25.158.178 finland10060.discord.media
104.25.158.178 finland10061.discord.media
104.25.158.178 finland10062.discord.media
104.25.158.178 finland10063.discord.media
104.25.158.178 finland10064.discord.media
104.25.158.178 finland10065.discord.media
104.25.158.178 finland10066.discord.media
104.25.158.178 finland10067.discord.media
104.25.158.178 finland10068.discord.media
104.25.158.178 finland10069.discord.media
104.25.158.178 finland10070.discord.media
104.25.158.178 finland10071.discord.media
104.25.158.178 finland10072.discord.media
104.25.158.178 finland10073.discord.media
104.25.158.178 finland10074.discord.media
104.25.158.178 finland10075.discord.media
104.25.158.178 finland10076.discord.media
104.25.158.178 finland10077.discord.media
104.25.158.178 finland10078.discord.media
104.25.158.178 finland10079.discord.media
104.25.158.178 finland10080.discord.media
104.25.158.178 finland10081.discord.media
104.25.158.178 finland10082.discord.media
104.25.158.178 finland10083.discord.media
104.25.158.178 finland10084.discord.media
104.25.158.178 finland10085.discord.media
104.25.158.178 finland10086.discord.media
104.25.158.178 finland10087.discord.media
104.25.158.178 finland10088.discord.media
104.25.158.178 finland10089.discord.media
104.25.158.178 finland10090.discord.media
104.25.158.178 finland10091.discord.media
104.25.158.178 finland10092.discord.media
104.25.158.178 finland10093.discord.media
104.25.158.178 finland10094.discord.media
104.25.158.178 finland10095.discord.media
104.25.158.178 finland10096.discord.media
104.25.158.178 finland10097.discord.media
104.25.158.178 finland10098.discord.media
104.25.158.178 finland10099.discord.media
104.25.158.178 finland10100.discord.media
104.25.158.178 finland10101.discord.media
104.25.158.178 finland10102.discord.media
104.25.158.178 finland10103.discord.media
104.25.158.178 finland10104.discord.media
104.25.158.178 finland10105.discord.media
104.25.158.178 finland10106.discord.media
104.25.158.178 finland10107.discord.media
104.25.158.178 finland10108.discord.media
104.25.158.178 finland10109.discord.media
104.25.158.178 finland10110.discord.media
104.25.158.178 finland10111.discord.media
104.25.158.178 finland10112.discord.media
104.25.158.178 finland10113.discord.media
104.25.158.178 finland10114.discord.media
104.25.158.178 finland10115.discord.media
104.25.158.178 finland10116.discord.media
104.25.158.178 finland10117.discord.media
104.25.158.178 finland10118.discord.media
104.25.158.178 finland10119.discord.media
104.25.158.178 finland10120.discord.media
104.25.158.178 finland10121.discord.media
104.25.158.178 finland10122.discord.media
104.25.158.178 finland10123.discord.media
104.25.158.178 finland10124.discord.media
104.25.158.178 finland10125.discord.media
104.25.158.178 finland10126.discord.media
104.25.158.178 finland10127.discord.media
104.25.158.178 finland10128.discord.media
104.25.158.178 finland10129.discord.media
104.25.158.178 finland10130.discord.media
104.25.158.178 finland10131.discord.media
104.25.158.178 finland10132.discord.media
104.25.158.178 finland10133.discord.media
104.25.158.178 finland10134.discord.media
104.25.158.178 finland10135.discord.media
104.25.158.178 finland10136.discord.media
104.25.158.178 finland10137.discord.media
104.25.158.178 finland10138.discord.media
104.25.158.178 finland10139.discord.media
104.25.158.178 finland10140.discord.media
104.25.158.178 finland10141.discord.media
104.25.158.178 finland10142.discord.media
104.25.158.178 finland10143.discord.media
104.25.158.178 finland10144.discord.media
104.25.158.178 finland10145.discord.media
104.25.158.178 finland10146.discord.media
104.25.158.178 finland10147.discord.media
104.25.158.178 finland10148.discord.media
104.25.158.178 finland10149.discord.media
104.25.158.178 finland10150.discord.media
104.25.158.178 finland10151.discord.media
104.25.158.178 finland10152.discord.media
104.25.158.178 finland10153.discord.media
104.25.158.178 finland10154.discord.media
104.25.158.178 finland10155.discord.media
104.25.158.178 finland10156.discord.media
104.25.158.178 finland10157.discord.media
104.25.158.178 finland10158.discord.media
104.25.158.178 finland10159.discord.media
104.25.158.178 finland10160.discord.media
104.25.158.178 finland10161.discord.media
104.25.158.178 finland10162.discord.media
104.25.158.178 finland10163.discord.media
104.25.158.178 finland10164.discord.media
104.25.158.178 finland10165.discord.media
104.25.158.178 finland10166.discord.media
104.25.158.178 finland10167.discord.media
104.25.158.178 finland10168.discord.media
104.25.158.178 finland10169.discord.media
104.25.158.178 finland10170.discord.media
104.25.158.178 finland10171.discord.media
104.25.158.178 finland10172.discord.media
104.25.158.178 finland10173.discord.media
104.25.158.178 finland10174.discord.media
104.25.158.178 finland10175.discord.media
104.25.158.178 finland10176.discord.media
104.25.158.178 finland10177.discord.media
104.25.158.178 finland10178.discord.media
104.25.158.178 finland10179.discord.media
104.25.158.178 finland10180.discord.media
104.25.158.178 finland10181.discord.media
104.25.158.178 finland10182.discord.media
104.25.158.178 finland10183.discord.media
104.25.158.178 finland10184.discord.media
104.25.158.178 finland10185.discord.media
104.25.158.178 finland10186.discord.media
104.25.158.178 finland10187.discord.media
104.25.158.178 finland10188.discord.media
104.25.158.178 finland10189.discord.media
104.25.158.178 finland10190.discord.media
104.25.158.178 finland10191.discord.media
104.25.158.178 finland10192.discord.media
104.25.158.178 finland10193.discord.media
104.25.158.178 finland10194.discord.media
104.25.158.178 finland10195.discord.media
104.25.158.178 finland10196.discord.media
104.25.158.178 finland10197.discord.media
104.25.158.178 finland10198.discord.media
104.25.158.178 finland10199.discord.media
+1 -1
View File
@@ -1 +1 @@
1.10.1 1.10.2
File renamed without changes.
Binary file not shown.
Binary file not shown.
+25
View File
@@ -0,0 +1,25 @@
@echo off
chcp 65001 > nul
:: 65001 - UTF-8
cd /d "%~dp0"
call service.bat status_zapret
call service.bat check_updates
call service.bat load_game_filter
call service.bat load_user_lists
echo:
set "BIN=%~dp0bin\"
set "LISTS=%~dp0lists\"
cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-udp=443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun --dpi-desync=fake --dpi-desync-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-repeats=5 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=7 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --dpi-desync=hostfakesplit --dpi-desync-fooling=ts --dpi-desync-hostfakesplit-mod=host=www.google.com --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,hostfakesplit --dpi-desync-fooling=ts --dpi-desync-hostfakesplit-mod=host=mail.ru,altorder=1 --dpi-desync-repeats=5 --dpi-desync-fake-tls="%BIN%tls_clienthello_sochi_park.bin" --dpi-desync-fake-tls="%BIN%stun2.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_sochi_park.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,hostfakesplit --dpi-desync-fooling=ts --dpi-desync-hostfakesplit-mod=host=mail.ru,altorder=1 --dpi-desync-repeats=5 --dpi-desync-fake-tls="%BIN%tls_clienthello_sochi_park.bin" --dpi-desync-fake-tls="%BIN%stun2.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_sochi_park.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,hostfakesplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-fooling=ts --dpi-desync-hostfakesplit-mod=host=mail.ru,altorder=1 --dpi-desync-repeats=5 --dpi-desync-fake-tls="%BIN%tls_clienthello_sochi_park.bin" --dpi-desync-fake-tls="%BIN%stun2.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_sochi_park.bin" --dpi-desync-fake-unknown="%BIN%tls_clienthello_sochi_park.bin" --dpi-desync-fake-unknown="%BIN%stun2.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=10 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n4
+2 -2
View File
@@ -15,11 +15,11 @@ cd /d %BIN%
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^ start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,2053,2083,2087,2096,8443,%GameFilterTCP% --wf-udp=443,19294-19344,50000-50100,%GameFilterUDP% ^
--filter-l7=quic --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^ --filter-l7=quic --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun,unknown --dpi-desync=fake --dpi-desync-any-protocol=1 --dpi-desync-fake-discord="%BIN%quic_initial_www_google_com.bin" --dpi-desync-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-fake-unknown-udp="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-repeats=4 --new ^ --filter-udp=19294-19344,50000-50100 --filter-l7=discord,stun,unknown --dpi-desync=fake --dpi-desync-any-protocol=1 --dpi-desync-fake-discord="%BIN%quic_initial_www_google_com.bin" --dpi-desync-fake-discord="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-stun="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-fake-unknown-udp="%BIN%quic_initial_www_google_com.bin" --dpi-desync-fake-unknown-udp="%BIN%ACTIVE_DISCORD_UDP.bin" --dpi-desync-repeats=4 --dpi-desync-cutoff=n4 --new ^
--filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^ --filter-tcp=2053,2083,2087,2096,8443 --hostlist-domains=discord.media --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=681 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_www_google_com.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_www_google_com.bin" --new ^
--filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=hostfakesplit --dpi-desync-fooling=ts --dpi-desync-hostfakesplit-mod=host=www.google.com --new ^ --filter-tcp=443 --hostlist="%LISTS%list-google.txt" --ip-id=zero --dpi-desync=hostfakesplit --dpi-desync-fooling=ts --dpi-desync-hostfakesplit-mod=host=www.google.com --new ^
--filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=480 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=4 --dpi-desync-split-seqovl-pattern="%BIN%stun2.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^ --filter-tcp=80,443 --hostlist="%LISTS%list-general.txt" --hostlist="%LISTS%list-general-user.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=480 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=4 --dpi-desync-split-seqovl-pattern="%BIN%stun2.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^ --filter-udp=443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=11 --dpi-desync-fake-quic="%BIN%quic_initial_www_google_com.bin" --new ^
--filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --hostlist-exclude-domains=fonts.googleapis.com --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=480 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=4 --dpi-desync-split-seqovl-pattern="%BIN%stun2.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^ --filter-tcp=80,443,8443 --ipset="%LISTS%ipset-all.txt" --hostlist-exclude="%LISTS%list-exclude.txt" --hostlist-exclude="%LISTS%list-exclude-user.txt" --hostlist-exclude-domains=fonts.googleapis.com --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-split-seqovl=480 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=4 --dpi-desync-split-seqovl-pattern="%BIN%stun2.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-split-seqovl=664 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-tls="%BIN%stun2.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^ --filter-tcp=%GameFilterTCP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake,multisplit --dpi-desync-any-protocol=1 --dpi-desync-cutoff=n4 --dpi-desync-split-seqovl=664 --dpi-desync-split-pos=1 --dpi-desync-fooling=ts --dpi-desync-repeats=8 --dpi-desync-split-seqovl-pattern="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-tls="%BIN%stun2.bin" --dpi-desync-fake-tls="%BIN%tls_clienthello_max_ru.bin" --dpi-desync-fake-http="%BIN%tls_clienthello_max_ru.bin" --new ^
--filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=5 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_4pda.to.bin" --dpi-desync-fake-unknown-udp="%BIN%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n4 --filter-udp=%GameFilterUDP% --ipset="%LISTS%ipset-all.txt" --ipset-exclude="%LISTS%ipset-exclude.txt" --ipset-exclude="%LISTS%ipset-exclude-user.txt" --dpi-desync=fake --dpi-desync-repeats=5 --dpi-desync-any-protocol=1 --dpi-desync-fake-unknown-udp="%BIN%quic_initial_4pda_to.bin" --dpi-desync-fake-unknown-udp="%BIN%ACTIVE_GAME_UDP.bin" --dpi-desync-cutoff=n4
+21 -6
View File
@@ -1,5 +1,26 @@
pusher.com pusher.com
twitch.tv twitch.tv
api.steampowered.com
steamcommunity.com
nvidia.com
msi.com
marketplace.visualstudio.com
gallery.vsassets.io
gallerycdn.vsassets.io
libreoffice.org
documentfoundation.org
7-zip.org
aida64.com
battlepass.ru
finargot.ru
calibre-ebook.com
ccleaner.com
filezilla-project.org
freecad.org
gpg4win.org
handbrake.fr
sumatrapdfreader.org
win-rar.com
mail.ru mail.ru
citilink.ru citilink.ru
yandex.com yandex.com
@@ -24,7 +45,6 @@ rostaxi.org
turbopages.org turbopages.org
webvisor.com webvisor.com
webvisor.org webvisor.org
nvidia.com
donationalerts.com donationalerts.com
vk.com vk.com
yandex.kz yandex.kz
@@ -40,7 +60,6 @@ sharepoint.com
minecraft.net minecraft.net
xboxlive.com xboxlive.com
akamaitechnologies.com akamaitechnologies.com
msi.com
2ip.ru 2ip.ru
boosty.to boosty.to
tanki.su tanki.su
@@ -55,9 +74,6 @@ riotgames.com
riotcdn.net riotcdn.net
leagueoflegends.com leagueoflegends.com
playvalorant.com playvalorant.com
marketplace.visualstudio.com
gallery.vsassets.io
gallerycdn.vsassets.io
gosuslugi.ru gosuslugi.ru
gov.ru gov.ru
nalog.ru nalog.ru
@@ -109,4 +125,3 @@ t-bank-app.ru
tochka-tech.com tochka-tech.com
tochka.com tochka.com
vtb.ru vtb.ru
steamcommunity.com
+9
View File
@@ -1,3 +1,11 @@
^dns.google
^dns.quad9.net
^dns.nextdns.io
^doh.opendns.com
^doh.cleanbrowsing.org
^freedns.controld.com
^wikimedia-dns.org
^cloudflare-dns.com
cloudflare-ech.com cloudflare-ech.com
encryptedsni.com encryptedsni.com
cloudflareaccess.com cloudflareaccess.com
@@ -40,6 +48,7 @@ discordpartygames.com
discordsays.com discordsays.com
discordsez.com discordsez.com
discordstatus.com discordstatus.com
zendesk.com
frankerfacez.com frankerfacez.com
ffzap.com ffzap.com
betterttv.net betterttv.net
+25 -1
View File
@@ -1,5 +1,5 @@
@echo off @echo off
set "LOCAL_VERSION=1.10.1" set "LOCAL_VERSION=1.10.2"
:: External commands :: External commands
if "%~1"=="status_zapret" ( if "%~1"=="status_zapret" (
@@ -413,6 +413,10 @@ goto menu
chcp 437 > nul chcp 437 > nul
cls cls
:: Zapret path
call :PrintGreen "Zapret is installed in: '%~dp0'"
echo:
:: Base Filtering Engine :: Base Filtering Engine
sc query BFE | findstr /I "RUNNING" > nul sc query BFE | findstr /I "RUNNING" > nul
if !errorlevel!==0 ( if !errorlevel!==0 (
@@ -517,6 +521,26 @@ if !errorlevel!==0 (
) )
echo: echo:
:: Cyrillic path
powershell -NoProfile -Command "if ('%~dp0' -match '[\u0430-\u044F\u0410-\u042F\u0451\u0401]') { exit 0 } else { exit 1 }"
if !errorlevel!==0 (
call :PrintYellow "[?] The path where Zapret is installed contains Cyrillic characters"
call :PrintYellow "If bypass doesn't work, try to move Zapret to another directory, for example in C:\zapret"
) else (
call :PrintGreen "Cyrillic path check passed"
)
echo:
:: OneDrive
echo %~dp0\ | findstr /I /C:"%OneDrive%\\" > nul
if !errorlevel!==0 (
call :PrintRed "[X] Zapret is installed in a OneDrive folder"
call :PrintRed "If bypass doesn't work, try to move Zapret to another directory, for example in C:\zapret"
) else (
call :PrintGreen "OneDrive check passed"
)
echo:
:: WinDivert64.sys file :: WinDivert64.sys file
set "BIN_PATH=%~dp0bin\" set "BIN_PATH=%~dp0bin\"
if not exist "%BIN_PATH%\*.sys" ( if not exist "%BIN_PATH%\*.sys" (
-1
View File
@@ -32,4 +32,3 @@ CloudflareDNS1111 = "PING:1.1.1.1"
CloudflareDNS1001 = "PING:1.0.0.1" CloudflareDNS1001 = "PING:1.0.0.1"
GoogleDNS8888 = "PING:8.8.8.8" GoogleDNS8888 = "PING:8.8.8.8"
GoogleDNS8844 = "PING:8.8.4.4" GoogleDNS8844 = "PING:8.8.4.4"
Quad9DNS9999 = "PING:9.9.9.9"
+61 -27
View File
@@ -10,10 +10,22 @@ if (-not (Test-Path $resultsDir)) { New-Item -ItemType Directory -Path $resultsD
function Get-IpsetStatus { function Get-IpsetStatus {
$listFile = Join-Path $listsDir "ipset-all.txt" $listFile = Join-Path $listsDir "ipset-all.txt"
if (-not (Test-Path $listFile)) { return "none" } if (-not (Test-Path $listFile)) { return "none" }
$lineCount = (Get-Content $listFile | Measure-Object -Line).Lines $raw = [IO.File]::ReadAllText($listFile)
if ($lineCount -eq 0) { return "any" } if ([string]::IsNullOrWhiteSpace($raw)) { return "any" }
$hasDummy = Get-Content $listFile | Select-String -Pattern "203\.0\.113\.113/32" -Quiet if ($raw -match '203\.0\.113\.113/32') { return "none" }
if ($hasDummy) { return "none" } else { return "loaded" } return "loaded"
}
function Wait-WinwsReady {
$timer = [Diagnostics.Stopwatch]::StartNew()
while ($timer.ElapsedMilliseconds -lt 5000) {
if (Get-Process -Name "winws" -ErrorAction SilentlyContinue) {
Start-Sleep -Milliseconds 300
return $true
}
Start-Sleep -Milliseconds 200
}
return $false
} }
function Set-IpsetMode { function Set-IpsetMode {
@@ -78,11 +90,16 @@ function Convert-Target {
# DPI checker defaults (override via MONITOR_* env vars like in monitor.ps1) # DPI checker defaults (override via MONITOR_* env vars like in monitor.ps1)
$dpiTimeoutSeconds = 5 $dpiTimeoutSeconds = 5
$dpiRangeBytes = 65536 $dpiRangeBytes = 65536
$dpiMaxParallel = 8 $defaultMaxParallel = [Math]::Min(16, [Math]::Max(8, [Environment]::ProcessorCount * 2))
$dpiMaxParallel = $defaultMaxParallel
$dpiCustomHost = $env:MONITOR_HOST $dpiCustomHost = $env:MONITOR_HOST
if ($env:MONITOR_TIMEOUT) { [int]$dpiTimeoutSeconds = $env:MONITOR_TIMEOUT } if ($env:MONITOR_TIMEOUT) { [int]$dpiTimeoutSeconds = $env:MONITOR_TIMEOUT }
if ($env:MONITOR_RANGE) { [int]$dpiRangeBytes = $env:MONITOR_RANGE } if ($env:MONITOR_RANGE) { [int]$dpiRangeBytes = $env:MONITOR_RANGE }
if ($env:MONITOR_MAX_PARALLEL) { [int]$dpiMaxParallel = $env:MONITOR_MAX_PARALLEL } if ($env:MONITOR_MAX_PARALLEL) { [int]$dpiMaxParallel = $env:MONITOR_MAX_PARALLEL }
$standardCurlTimeout = 4
$standardMaxParallel = $defaultMaxParallel
if ($env:TEST_CURL_TIMEOUT) { [int]$standardCurlTimeout = $env:TEST_CURL_TIMEOUT }
if ($env:TEST_MAX_PARALLEL) { [int]$standardMaxParallel = $env:TEST_MAX_PARALLEL }
function Get-DpiSuite { function Get-DpiSuite {
# Suite sourced from https://github.com/hyperion-cs/dpi-checkers (Apache-2.0 license) # Suite sourced from https://github.com/hyperion-cs/dpi-checkers (Apache-2.0 license)
@@ -161,6 +178,7 @@ function Invoke-DpiSuite {
$curlArgs = @( $curlArgs = @(
"--range", $rangeSpec, "--range", $rangeSpec,
"-m", $TimeoutSeconds, "-m", $TimeoutSeconds,
"--connect-timeout", ([Math]::Min(3, $TimeoutSeconds)),
"-w", "%{http_code} %{size_upload} %{size_download} %{time_total}", "-w", "%{http_code} %{size_upload} %{size_download} %{time_total}",
"-o", "NUL", "-o", "NUL",
"-X", "POST", "-X", "POST",
@@ -168,7 +186,7 @@ function Invoke-DpiSuite {
"-s" "-s"
) + $test.Args + @("https://$($target.Host)") ) + $test.Args + @("https://$($target.Host)")
$output = $payload | curl.exe @curlArgs 2>&1 $output = & curl.exe @curlArgs 2>&1
$exit = $LASTEXITCODE $exit = $LASTEXITCODE
$text = ($output | Out-String).Trim() $text = ($output | Out-String).Trim()
@@ -251,7 +269,7 @@ function Invoke-DpiSuite {
foreach ($rs in $runspaces) { foreach ($rs in $runspaces) {
# Wait for the runspace to complete with a small grace period beyond curl's timeout # Wait for the runspace to complete with a small grace period beyond curl's timeout
try { try {
$waitMs = ([int]$TimeoutSeconds + 5) * 1000 $waitMs = (([int]$TimeoutSeconds * 3) + 5) * 1000
$handle = $rs.Handle $handle = $rs.Handle
if ($handle -and $handle.AsyncWaitHandle) { if ($handle -and $handle.AsyncWaitHandle) {
$completed = $handle.AsyncWaitHandle.WaitOne($waitMs) $completed = $handle.AsyncWaitHandle.WaitOne($waitMs)
@@ -299,6 +317,7 @@ function Invoke-DpiSuite {
} }
$runspacePool.Close() $runspacePool.Close()
$runspacePool.Dispose() $runspacePool.Dispose()
Remove-Item -LiteralPath $payloadFile -Force -ErrorAction SilentlyContinue
if ($warnDetected) { if ($warnDetected) {
Write-Host "" Write-Host ""
@@ -368,7 +387,7 @@ if ($hasErrors) {
exit 1 exit 1
} }
$dpiTargets = Build-DpiTargets -CustomHost $dpiCustomHost $dpiTargets = @()
# Config # Config
$targetDir = $rootDir $targetDir = $rootDir
@@ -493,6 +512,10 @@ if ($mode -eq 'select') {
$batFiles = @($selected) $batFiles = @($selected)
} }
if ($testType -eq 'dpi') {
$dpiTargets = Build-DpiTargets -CustomHost $dpiCustomHost
}
# Load targets once for standard mode # Load targets once for standard mode
$targetList = @() $targetList = @()
$maxNameLen = 10 $maxNameLen = 10
@@ -629,13 +652,17 @@ try {
$proc = Start-Process -FilePath "cmd.exe" -ArgumentList "/c `"$($file.FullName)`"" -WorkingDirectory $targetDir -PassThru -WindowStyle Minimized $proc = Start-Process -FilePath "cmd.exe" -ArgumentList "/c `"$($file.FullName)`"" -WorkingDirectory $targetDir -PassThru -WindowStyle Minimized
# Wait init # Wait init
Start-Sleep -Seconds 5 if (-not (Wait-WinwsReady)) {
Write-Host " > Strategy failed to start (winws process not found). Skipping..." -ForegroundColor Red
if (-not $proc.HasExited) { Stop-Process -Id $proc.Id -Force -ErrorAction SilentlyContinue }
continue
}
if ($testType -eq 'standard') { if ($testType -eq 'standard') {
$curlTimeoutSeconds = 5 $curlTimeoutSeconds = $standardCurlTimeout
# Parallel target checks via runspace pool (faster than jobs) # Parallel target checks via runspace pool (faster than jobs)
$maxParallel = 8 $maxParallel = $standardMaxParallel
$runspacePool = [runspacefactory]::CreateRunspacePool(1, $maxParallel) $runspacePool = [runspacefactory]::CreateRunspacePool(1, $maxParallel)
$runspacePool.Open() $runspacePool.Open()
@@ -651,7 +678,7 @@ try {
@{ Label = "TLS1.3"; Args = @("--tlsv1.3", "--tls-max", "1.3") } @{ Label = "TLS1.3"; Args = @("--tlsv1.3", "--tls-max", "1.3") }
) )
$baseArgs = @("-I", "-s", "-m", $curlTimeoutSeconds, "-o", "NUL", "-w", "%{http_code}", "--show-error") $baseArgs = @("-I", "-s", "-m", $curlTimeoutSeconds, "--connect-timeout", ([Math]::Min(2, $curlTimeoutSeconds)), "-o", "NUL", "-w", "%{http_code}", "--show-error")
foreach ($test in $tests) { foreach ($test in $tests) {
try { try {
$curlArgs = $baseArgs + $test.Args $curlArgs = $baseArgs + $test.Args
@@ -691,12 +718,19 @@ try {
$pingResult = "n/a" $pingResult = "n/a"
if ($t.PingTarget) { if ($t.PingTarget) {
$ping = $null
try { try {
$pings = Test-Connection -ComputerName $t.PingTarget -Count 3 -ErrorAction Stop $ping = New-Object System.Net.NetworkInformation.Ping
$avg = ($pings | Measure-Object -Property ResponseTime -Average).Average $reply = $ping.Send($t.PingTarget, 1000)
$pingResult = "{0:N0} ms" -f $avg if ($reply.Status -eq [System.Net.NetworkInformation.IPStatus]::Success) {
$pingResult = "{0:N0} ms" -f $reply.RoundtripTime
} else {
$pingResult = "Timeout"
}
} catch { } catch {
$pingResult = "Timeout" $pingResult = "Timeout"
} finally {
if ($ping) { $ping.Dispose() }
} }
} }
@@ -727,7 +761,7 @@ try {
$targetResults = @() $targetResults = @()
foreach ($rs in $runspaces) { foreach ($rs in $runspaces) {
try { try {
$waitMs = ([int]$curlTimeoutSeconds + 5) * 1000 $waitMs = (([int]$curlTimeoutSeconds * 3) + 5) * 1000
$handle = $rs.Handle $handle = $rs.Handle
if ($handle -and $handle.AsyncWaitHandle) { if ($handle -and $handle.AsyncWaitHandle) {
$completed = $handle.AsyncWaitHandle.WaitOne($waitMs) $completed = $handle.AsyncWaitHandle.WaitOne($waitMs)
@@ -881,19 +915,18 @@ try {
# Save to file # Save to file
$dateStr = Get-Date -Format "yyyy-MM-dd_HH-mm-ss" $dateStr = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
$resultFile = Join-Path $resultsDir "test_results_$dateStr.txt" $resultFile = Join-Path $resultsDir "test_results_$dateStr.txt"
# Clear file $resultLines = New-Object System.Collections.Generic.List[string]
"" | Out-File $resultFile -Encoding UTF8
foreach ($res in $globalResults) { foreach ($res in $globalResults) {
$config = $res.Config $config = $res.Config
$type = $res.Type $type = $res.Type
$results = $res.Results $results = $res.Results
Add-Content $resultFile "Config: $config (Type: $type)" [void]$resultLines.Add("Config: $config (Type: $type)")
if ($type -eq 'standard') { if ($type -eq 'standard') {
foreach ($targetRes in $results) { foreach ($targetRes in $results) {
$name = $targetRes.Name $name = $targetRes.Name
$http = $targetRes.HttpTokens -join ' ' $http = $targetRes.HttpTokens -join ' '
$ping = $targetRes.PingResult $ping = $targetRes.PingResult
Add-Content $resultFile " $name : $http | Ping: $ping" [void]$resultLines.Add(" $name : $http | Ping: $ping")
} }
} elseif ($type -eq 'dpi') { } elseif ($type -eq 'dpi') {
foreach ($targetRes in $results) { foreach ($targetRes in $results) {
@@ -901,9 +934,9 @@ try {
$provider = $targetRes.Provider $provider = $targetRes.Provider
$country = $targetRes.Country $country = $targetRes.Country
if ($country) { if ($country) {
Add-Content $resultFile " Target: [$country] $id ($provider)" [void]$resultLines.Add(" Target: [$country] $id ($provider)")
} else { } else {
Add-Content $resultFile " Target: $id ($provider)" [void]$resultLines.Add(" Target: $id ($provider)")
} }
foreach ($line in $targetRes.Lines) { foreach ($line in $targetRes.Lines) {
$test = $line.TestLabel $test = $line.TestLabel
@@ -912,15 +945,15 @@ try {
$down = $line.DownKB $down = $line.DownKB
$time = $line.Time $time = $line.Time
$status = $line.Status $status = $line.Status
Add-Content $resultFile " ${test}: code=${code} up=${up} KB down=${down} KB time=${time}s status=${status}" [void]$resultLines.Add(" ${test}: code=${code} up=${up} KB down=${down} KB time=${time}s status=${status}")
} }
} }
} }
Add-Content $resultFile "" [void]$resultLines.Add("")
} }
# Add analytics # Add analytics
Add-Content $resultFile "=== ANALYTICS ===" [void]$resultLines.Add("=== ANALYTICS ===")
$maxConfigLen = ($analytics.Keys | ForEach-Object { $_.Length } | Measure-Object -Maximum).Maximum $maxConfigLen = ($analytics.Keys | ForEach-Object { $_.Length } | Measure-Object -Maximum).Maximum
foreach ($config in $analytics.Keys) { foreach ($config in $analytics.Keys) {
$a = $analytics[$config] $a = $analytics[$config]
@@ -932,10 +965,11 @@ try {
$line = "{0} : OK: {1,3}, FAIL: {2,3}, UNSUP: {3,3}, BLOCKED: {4,3}" -f ` $line = "{0} : OK: {1,3}, FAIL: {2,3}, UNSUP: {3,3}, BLOCKED: {4,3}" -f `
$configPadded, $a.OK, $a.FAIL, $a.UNSUPPORTED, $a.LIKELY_BLOCKED $configPadded, $a.OK, $a.FAIL, $a.UNSUPPORTED, $a.LIKELY_BLOCKED
} }
Add-Content $resultFile $line [void]$resultLines.Add($line)
} }
Add-Content $resultFile "Best strategy: $bestConfig" [void]$resultLines.Add("Best strategy: $bestConfig")
$resultLines | Set-Content $resultFile -Encoding UTF8
Write-Host "Results saved to $resultFile" -ForegroundColor Green Write-Host "Results saved to $resultFile" -ForegroundColor Green