Ускорен прогон utils/test zapret.ps1: меньше холостого ожидания winws, быстрее ping, выше параллелизм, один runspace pool на весь прогон.
DPI suite больше не качается при standard-тестах.
Расширены тестовые цели и доменные списки Pornhub/CDN (targets.txt, list-general*.txt).
Что изменилось и зачем
1. Старт конфига: Wait-WinwsReady вместо Sleep 5 Раньше после запуска каждого .bat скрипт всегда ждал 5 секунд. Теперь ждёт появления процесса winws (до ~2.5 с) + короткий settle (~0.4 с). На N конфигах экономия примерно (5 − фактическое_ожидание) × N секунд.
2. Ping: один ICMP через .NET вместо Test-Connection -Count 3Test-Connection с 3 пакетами давал лишние секунды на каждый target. Заменено на System.Net.NetworkInformation.Ping с таймаутом 1 с и одним запросом.
3. Параллелизм и переиспользование pool
Параллелизм по умолчанию: до min(16, max(8, CPU×2)) (было фиксированно 8).
Для standard-режима runspace pool создаётся один раз на весь прогон, а не на каждый конфиг.
Ожидание runspace через общий Complete-Runspaces (polling по IsCompleted + общий timeout budget).
4. Быстрее сетевые проверки curl
Standard timeout curl: 4 с (было 5).
Добавлен --connect-timeout (быстрый fail на мёртвых/заблокированных хостах).
Переопределение через env:
TEST_CURL_TIMEOUT
TEST_MAX_PARALLEL
как и раньше: MONITOR_TIMEOUT, MONITOR_RANGE, MONITOR_MAX_PARALLEL, MONITOR_HOST
5. Ленивая загрузка DPI suite
Build-DpiTargets / сеть к suite.v2.json вызываются только если выбран режим DPI. В standard-режиме лишний сетевой запрос больше не выполняется.
6. Прочие мелкие ускорения
Get-IpsetStatus: одно чтение файла вместо двух проходов Get-Content.
Результаты пишутся одним WriteAllText через StringBuilder вместо множества Add-Content.
В DPI-пути исправлен лишний pipe в curl ($payload | curl → прямой вызов).
7. Pornhub targets / lists
В utils/targets.txt и дефолты скрипта добавлены основные хосты и CDN: www/ru/rt/org/premium/static/api, phncdn.com (ei/el/ev/ew/ss/pix-cdn77/...), etahub.com. Те же домены синхронизированы в lists/list-general.txt и lists/list-general-user.txt.
Как это работает (кратко)
Пользователь выбирает тип теста (standard / dpi) и набор .bat конфигов.
Для каждого конфига: stop winws → start bat → Wait-WinwsReady → проверки.
Standard: по каждому target параллельно (runspace pool) гоняются HTTP/TLS1.2/TLS1.3 + ping; результаты сводятся в аналитику и файл.
DPI: параллельные POST Range-запросы к suite/custom host для детекта freeze 16–20KB.
В конце: analytics, best config, сохранение в utils/test results/.
Test plan
Запустить utils/test zapret.ps1 от администратора, режим Standard, 2–3 конфига
Убедиться, что targets Pornhub появляются в выводе и нет регрессии Discord/YouTube/Cloudflare
Сравнить время на конфиг: ожидание старта заметно меньше фиксированных 5 с
Режим DPI: suite грузится, проверки параллелятся, ipset switch/restore работает
Проверить запись utils/test results/test_results_*.txt
(опционально) TEST_MAX_PARALLEL=4 и TEST_CURL_TIMEOUT=3 применяются корректно
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/Flowseal/zapret-discord-youtube/pull/16126
**Author:** [@CoderAndFounder](https://github.com/CoderAndFounder)
**Created:** 7/23/2026
**Status:** ❌ Closed
**Base:** `main` ← **Head:** `patch-1`
---
### 📝 Commits (2)
- [`a4c0951`](https://github.com/Flowseal/zapret-discord-youtube/commit/a4c0951013f06df09e840719aa82f7cfd62a9e7c) perf(test): ускорить test zapret.ps1
- [`2225b92`](https://github.com/Flowseal/zapret-discord-youtube/commit/2225b9251f86c919613ff8a63fd41d5092b45087) delete ph
### 📊 Changes
**1 file changed** (+214 additions, -167 deletions)
<details>
<summary>View changed files</summary>
📝 `utils/test zapret.ps1` (+214 -167)
</details>
### 📄 Description
## Summary
- Ускорен прогон `utils/test zapret.ps1`: меньше холостого ожидания winws, быстрее ping, выше параллелизм, один runspace pool на весь прогон.
- DPI suite больше не качается при standard-тестах.
- Расширены тестовые цели и доменные списки Pornhub/CDN (`targets.txt`, `list-general*.txt`).
## Что изменилось и зачем
### 1. Старт конфига: `Wait-WinwsReady` вместо `Sleep 5` Раньше после запуска каждого `.bat` скрипт всегда ждал 5 секунд. Теперь ждёт появления процесса `winws` (до ~2.5 с) + короткий settle (~0.4 с). На N конфигах экономия примерно `(5 − фактическое_ожидание) × N` секунд.
### 2. Ping: один ICMP через .NET вместо `Test-Connection -Count 3` `Test-Connection` с 3 пакетами давал лишние секунды на каждый target. Заменено на `System.Net.NetworkInformation.Ping` с таймаутом 1 с и одним запросом.
### 3. Параллелизм и переиспользование pool
- Параллелизм по умолчанию: до `min(16, max(8, CPU×2))` (было фиксированно 8).
- Для standard-режима runspace pool создаётся один раз на весь прогон, а не на каждый конфиг.
- Ожидание runspace через общий `Complete-Runspaces` (polling по `IsCompleted` + общий timeout budget).
### 4. Быстрее сетевые проверки curl
- Standard timeout curl: 4 с (было 5).
- Добавлен `--connect-timeout` (быстрый fail на мёртвых/заблокированных хостах).
- Переопределение через env:
- `TEST_CURL_TIMEOUT`
- `TEST_MAX_PARALLEL`
- как и раньше: `MONITOR_TIMEOUT`, `MONITOR_RANGE`, `MONITOR_MAX_PARALLEL`, `MONITOR_HOST`
### 5. Ленивая загрузка DPI suite
`Build-DpiTargets` / сеть к `suite.v2.json` вызываются только если выбран режим DPI. В standard-режиме лишний сетевой запрос больше не выполняется.
### 6. Прочие мелкие ускорения
- `Get-IpsetStatus`: одно чтение файла вместо двух проходов `Get-Content`.
- Результаты пишутся одним `WriteAllText` через `StringBuilder` вместо множества `Add-Content`.
- В DPI-пути исправлен лишний pipe в curl (`$payload | curl` → прямой вызов).
### 7. Pornhub targets / lists
В `utils/targets.txt` и дефолты скрипта добавлены основные хосты и CDN: `www/ru/rt/org/premium/static/api`, `phncdn.com` (`ei/el/ev/ew/ss/pix-cdn77/...`), `etahub.com`. Те же домены синхронизированы в `lists/list-general.txt` и `lists/list-general-user.txt`.
## Как это работает (кратко)
1. Пользователь выбирает тип теста (`standard` / `dpi`) и набор `.bat` конфигов.
2. Для каждого конфига: stop winws → start bat → `Wait-WinwsReady` → проверки.
3. **Standard:** по каждому target параллельно (runspace pool) гоняются HTTP/TLS1.2/TLS1.3 + ping; результаты сводятся в аналитику и файл.
4. **DPI:** параллельные POST Range-запросы к suite/custom host для детекта freeze 16–20KB.
5. В конце: analytics, best config, сохранение в `utils/test results/`.
## Test plan
- [x] Запустить `utils/test zapret.ps1` от администратора, режим **Standard**, 2–3 конфига
- [x] Убедиться, что targets Pornhub появляются в выводе и нет регрессии Discord/YouTube/Cloudflare
- [x] Сравнить время на конфиг: ожидание старта заметно меньше фиксированных 5 с
- [x] Режим **DPI**: suite грузится, проверки параллелятся, ipset switch/restore работает
- [x] Проверить запись `utils/test results/test_results_*.txt`
- [x] (опционально) `TEST_MAX_PARALLEL=4` и `TEST_CURL_TIMEOUT=3` применяются корректно
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror-bot
changed title from [PR #16126] perf(test): ускорить test zapret.ps1 to [PR #16126] [CLOSED] perf(test): ускорить test zapret.ps12026-08-24 05:20:39 +03:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/Flowseal/zapret-discord-youtube/pull/16126
Author: @CoderAndFounder
Created: 7/23/2026
Status: ❌ Closed
Base:
main← Head:patch-1📝 Commits (2)
a4c0951perf(test): ускорить test zapret.ps12225b92delete ph📊 Changes
1 file changed (+214 additions, -167 deletions)
View changed files
📝
utils/test zapret.ps1(+214 -167)📄 Description
Summary
utils/test zapret.ps1: меньше холостого ожидания winws, быстрее ping, выше параллелизм, один runspace pool на весь прогон.targets.txt,list-general*.txt).Что изменилось и зачем
1. Старт конфига:
Wait-WinwsReadyвместоSleep 5Раньше после запуска каждого.batскрипт всегда ждал 5 секунд. Теперь ждёт появления процессаwinws(до ~2.5 с) + короткий settle (~0.4 с). На N конфигах экономия примерно(5 − фактическое_ожидание) × Nсекунд.2. Ping: один ICMP через .NET вместо
Test-Connection -Count 3Test-Connectionс 3 пакетами давал лишние секунды на каждый target. Заменено наSystem.Net.NetworkInformation.Pingс таймаутом 1 с и одним запросом.3. Параллелизм и переиспользование pool
min(16, max(8, CPU×2))(было фиксированно 8).Complete-Runspaces(polling поIsCompleted+ общий timeout budget).4. Быстрее сетевые проверки curl
--connect-timeout(быстрый fail на мёртвых/заблокированных хостах).TEST_CURL_TIMEOUTTEST_MAX_PARALLELMONITOR_TIMEOUT,MONITOR_RANGE,MONITOR_MAX_PARALLEL,MONITOR_HOST5. Ленивая загрузка DPI suite
Build-DpiTargets/ сеть кsuite.v2.jsonвызываются только если выбран режим DPI. В standard-режиме лишний сетевой запрос больше не выполняется.6. Прочие мелкие ускорения
Get-IpsetStatus: одно чтение файла вместо двух проходовGet-Content.WriteAllTextчерезStringBuilderвместо множестваAdd-Content.$payload | curl→ прямой вызов).7. Pornhub targets / lists
В
utils/targets.txtи дефолты скрипта добавлены основные хосты и CDN:www/ru/rt/org/premium/static/api,phncdn.com(ei/el/ev/ew/ss/pix-cdn77/...),etahub.com. Те же домены синхронизированы вlists/list-general.txtиlists/list-general-user.txt.Как это работает (кратко)
standard/dpi) и набор.batконфигов.Wait-WinwsReady→ проверки.utils/test results/.Test plan
utils/test zapret.ps1от администратора, режим Standard, 2–3 конфигаutils/test results/test_results_*.txtTEST_MAX_PARALLEL=4иTEST_CURL_TIMEOUT=3применяются корректно🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
[PR #16126] perf(test): ускорить test zapret.ps1to [PR #16126] [CLOSED] perf(test): ускорить test zapret.ps1