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.
2. **Создайте новую (или найдите уже существующую) ветку обсуждений** в разделе [**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 zws4-1.web.telegram.org
104.25.158.178 finland10000.discord.media
104.25.158.178 finland10001.discord.media
104.25.158.178 finland10002.discord.media
104.25.158.178 finland10003.discord.media
104.25.158.178 finland10004.discord.media
104.25.158.178 finland10005.discord.media
104.25.158.178 finland10006.discord.media
104.25.158.178 finland10007.discord.media
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
162.159.138.232 discord.com
162.159.137.232 discord.com
162.159.128.233 discord.com
162.159.135.232 discord.com
162.159.138.232 updates.discord.com
162.159.137.232 updates.discord.com
162.159.128.233 updates.discord.com
162.159.135.232 updates.discord.com
+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% ^
--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=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-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=%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
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
citilink.ru
yandex.com
@@ -24,7 +45,6 @@ rostaxi.org
turbopages.org
webvisor.com
webvisor.org
nvidia.com
donationalerts.com
vk.com
yandex.kz
@@ -40,7 +60,6 @@ sharepoint.com
minecraft.net
xboxlive.com
akamaitechnologies.com
msi.com
2ip.ru
boosty.to
tanki.su
@@ -55,9 +74,6 @@ riotgames.com
riotcdn.net
leagueoflegends.com
playvalorant.com
marketplace.visualstudio.com
gallery.vsassets.io
gallerycdn.vsassets.io
gosuslugi.ru
gov.ru
nalog.ru
@@ -109,4 +125,3 @@ t-bank-app.ru
tochka-tech.com
tochka.com
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
encryptedsni.com
cloudflareaccess.com
@@ -40,6 +48,7 @@ discordpartygames.com
discordsays.com
discordsez.com
discordstatus.com
zendesk.com
frankerfacez.com
ffzap.com
betterttv.net
+25 -1
View File
@@ -1,5 +1,5 @@
@echo off
set "LOCAL_VERSION=1.10.1"
set "LOCAL_VERSION=1.10.2"
:: External commands
if "%~1"=="status_zapret" (
@@ -413,6 +413,10 @@ goto menu
chcp 437 > nul
cls
:: Zapret path
call :PrintGreen "Zapret is installed in: '%~dp0'"
echo:
:: Base Filtering Engine
sc query BFE | findstr /I "RUNNING" > nul
if !errorlevel!==0 (
@@ -517,6 +521,26 @@ if !errorlevel!==0 (
)
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
set "BIN_PATH=%~dp0bin\"
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"
GoogleDNS8888 = "PING:8.8.8.8"
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 {
$listFile = Join-Path $listsDir "ipset-all.txt"
if (-not (Test-Path $listFile)) { return "none" }
$lineCount = (Get-Content $listFile | Measure-Object -Line).Lines
if ($lineCount -eq 0) { return "any" }
$hasDummy = Get-Content $listFile | Select-String -Pattern "203\.0\.113\.113/32" -Quiet
if ($hasDummy) { return "none" } else { return "loaded" }
$raw = [IO.File]::ReadAllText($listFile)
if ([string]::IsNullOrWhiteSpace($raw)) { return "any" }
if ($raw -match '203\.0\.113\.113/32') { return "none" }
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 {
@@ -78,11 +90,16 @@ function Convert-Target {
# DPI checker defaults (override via MONITOR_* env vars like in monitor.ps1)
$dpiTimeoutSeconds = 5
$dpiRangeBytes = 65536
$dpiMaxParallel = 8
$defaultMaxParallel = [Math]::Min(16, [Math]::Max(8, [Environment]::ProcessorCount * 2))
$dpiMaxParallel = $defaultMaxParallel
$dpiCustomHost = $env:MONITOR_HOST
if ($env:MONITOR_TIMEOUT) { [int]$dpiTimeoutSeconds = $env:MONITOR_TIMEOUT }
if ($env:MONITOR_RANGE) { [int]$dpiRangeBytes = $env:MONITOR_RANGE }
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 {
# Suite sourced from https://github.com/hyperion-cs/dpi-checkers (Apache-2.0 license)
@@ -161,6 +178,7 @@ function Invoke-DpiSuite {
$curlArgs = @(
"--range", $rangeSpec,
"-m", $TimeoutSeconds,
"--connect-timeout", ([Math]::Min(3, $TimeoutSeconds)),
"-w", "%{http_code} %{size_upload} %{size_download} %{time_total}",
"-o", "NUL",
"-X", "POST",
@@ -168,7 +186,7 @@ function Invoke-DpiSuite {
"-s"
) + $test.Args + @("https://$($target.Host)")
$output = $payload | curl.exe @curlArgs 2>&1
$output = & curl.exe @curlArgs 2>&1
$exit = $LASTEXITCODE
$text = ($output | Out-String).Trim()
@@ -251,7 +269,7 @@ function Invoke-DpiSuite {
foreach ($rs in $runspaces) {
# Wait for the runspace to complete with a small grace period beyond curl's timeout
try {
$waitMs = ([int]$TimeoutSeconds + 5) * 1000
$waitMs = (([int]$TimeoutSeconds * 3) + 5) * 1000
$handle = $rs.Handle
if ($handle -and $handle.AsyncWaitHandle) {
$completed = $handle.AsyncWaitHandle.WaitOne($waitMs)
@@ -299,6 +317,7 @@ function Invoke-DpiSuite {
}
$runspacePool.Close()
$runspacePool.Dispose()
Remove-Item -LiteralPath $payloadFile -Force -ErrorAction SilentlyContinue
if ($warnDetected) {
Write-Host ""
@@ -368,7 +387,7 @@ if ($hasErrors) {
exit 1
}
$dpiTargets = Build-DpiTargets -CustomHost $dpiCustomHost
$dpiTargets = @()
# Config
$targetDir = $rootDir
@@ -493,6 +512,10 @@ if ($mode -eq 'select') {
$batFiles = @($selected)
}
if ($testType -eq 'dpi') {
$dpiTargets = Build-DpiTargets -CustomHost $dpiCustomHost
}
# Load targets once for standard mode
$targetList = @()
$maxNameLen = 10
@@ -629,13 +652,17 @@ try {
$proc = Start-Process -FilePath "cmd.exe" -ArgumentList "/c `"$($file.FullName)`"" -WorkingDirectory $targetDir -PassThru -WindowStyle Minimized
# 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') {
$curlTimeoutSeconds = 5
$curlTimeoutSeconds = $standardCurlTimeout
# Parallel target checks via runspace pool (faster than jobs)
$maxParallel = 8
$maxParallel = $standardMaxParallel
$runspacePool = [runspacefactory]::CreateRunspacePool(1, $maxParallel)
$runspacePool.Open()
@@ -651,7 +678,7 @@ try {
@{ 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) {
try {
$curlArgs = $baseArgs + $test.Args
@@ -691,12 +718,19 @@ try {
$pingResult = "n/a"
if ($t.PingTarget) {
$ping = $null
try {
$pings = Test-Connection -ComputerName $t.PingTarget -Count 3 -ErrorAction Stop
$avg = ($pings | Measure-Object -Property ResponseTime -Average).Average
$pingResult = "{0:N0} ms" -f $avg
$ping = New-Object System.Net.NetworkInformation.Ping
$reply = $ping.Send($t.PingTarget, 1000)
if ($reply.Status -eq [System.Net.NetworkInformation.IPStatus]::Success) {
$pingResult = "{0:N0} ms" -f $reply.RoundtripTime
} else {
$pingResult = "Timeout"
}
} catch {
$pingResult = "Timeout"
} finally {
if ($ping) { $ping.Dispose() }
}
}
@@ -727,7 +761,7 @@ try {
$targetResults = @()
foreach ($rs in $runspaces) {
try {
$waitMs = ([int]$curlTimeoutSeconds + 5) * 1000
$waitMs = (([int]$curlTimeoutSeconds * 3) + 5) * 1000
$handle = $rs.Handle
if ($handle -and $handle.AsyncWaitHandle) {
$completed = $handle.AsyncWaitHandle.WaitOne($waitMs)
@@ -881,19 +915,18 @@ try {
# Save to file
$dateStr = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
$resultFile = Join-Path $resultsDir "test_results_$dateStr.txt"
# Clear file
"" | Out-File $resultFile -Encoding UTF8
$resultLines = New-Object System.Collections.Generic.List[string]
foreach ($res in $globalResults) {
$config = $res.Config
$type = $res.Type
$results = $res.Results
Add-Content $resultFile "Config: $config (Type: $type)"
[void]$resultLines.Add("Config: $config (Type: $type)")
if ($type -eq 'standard') {
foreach ($targetRes in $results) {
$name = $targetRes.Name
$http = $targetRes.HttpTokens -join ' '
$ping = $targetRes.PingResult
Add-Content $resultFile " $name : $http | Ping: $ping"
[void]$resultLines.Add(" $name : $http | Ping: $ping")
}
} elseif ($type -eq 'dpi') {
foreach ($targetRes in $results) {
@@ -901,9 +934,9 @@ try {
$provider = $targetRes.Provider
$country = $targetRes.Country
if ($country) {
Add-Content $resultFile " Target: [$country] $id ($provider)"
[void]$resultLines.Add(" Target: [$country] $id ($provider)")
} else {
Add-Content $resultFile " Target: $id ($provider)"
[void]$resultLines.Add(" Target: $id ($provider)")
}
foreach ($line in $targetRes.Lines) {
$test = $line.TestLabel
@@ -912,15 +945,15 @@ try {
$down = $line.DownKB
$time = $line.Time
$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-Content $resultFile "=== ANALYTICS ==="
[void]$resultLines.Add("=== ANALYTICS ===")
$maxConfigLen = ($analytics.Keys | ForEach-Object { $_.Length } | Measure-Object -Maximum).Maximum
foreach ($config in $analytics.Keys) {
$a = $analytics[$config]
@@ -932,10 +965,11 @@ try {
$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
}
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