☕ Поддержать развитие проекта
Поддержать разработку
Проект NetPrivacyTool был создан с идеей сделать инструменты для обеспечения приватности простыми и доступными для каждого. Я развиваю его в свободное время, потому что верю, что свобода и безопасность в сети должны быть базовыми вещами.
Если этот инструмент оказался вам полезен и вы хотите сказать «спасибо», вы можете поддержать проект символическим донатом. Это лучший способ дать мне понять, что моя работа действительно делает вашу жизнь чуточку проще и безопаснее.
Спасибо, что вы со мной!
Research utility for high‑volume streaming verification of encrypted proxy nodes.
- Streaming Engine: непрерывная обработка через
asyncio.Queueбез batch‑гейтинга - Cyber‑Speedometer: сглаженный CPS (rolling window / EMA)
- ФОРСАЖ (MAX): динамический пул воркеров и защита UI от перегрузки
- One‑click UX: Copy Best Config / Copy Subscription / Import Subscription (deeplink)
NPVT — это инструмент для быстрой и корректной проверки больших массивов прокси‑конфигов (десятки тысяч) с реальным замером качества:
- доступность ключевых ресурсов (YouTube / Telegram / Discord / Instagram)
- надёжность (0/4 … 4/4)
- задержка (latency) и «лучший конфиг»
Проверка выполняется локально через Xray‑core (SOCKS5), а сетевые проверки — через aiohttp.
В релизах репозитория имеется 3 варианта:
- Installer:
NetPrivacyTool_Setup.exe - Portable:
Portable.zip - Source code:
Source code.zip
- Скачай
NetPrivacyTool_Setup.exe - Установи
- Запускай через ярлык
- Скачай
Portable.zip - Распакуй
- Запусти
NetPrivacyTool.exe
- Установи Python 3.10+
- В корне проекта:
python -m pip install -r requirements.txt
start.bat- UI: Flet (один поток отрисовки + асинхронные задачи)
- Пайплайн: ссылки → очередь → воркеры → результаты → Top‑N сортировка в UI
- Производительность: воркеры масштабируются под целевой CPS; метрика CPS сглаживается по окну
- Без лагов: UI сортирует и рендерит только Top‑N (15–20), не тысячи строк
В коде есть два «базовых» пути:
RUNTIME_BASE- в PyInstaller (frozen) — это папка рядом с
NetPrivacyTool.exe(или_MEIPASS, если доступен) - в dev-режиме — корень проекта (на уровень выше
app/main.py)
- в PyInstaller (frozen) — это папка рядом с
USER_BASE- Windows:
%LOCALAPPDATA%\NetPrivacyTool
- Windows:
Из этого следует правило:
sources.txtхранится рядом с программой (runtime)- кэш и результаты хранятся в профиле пользователя (user)
NPVT читает список источников из sources.txt:
- запуск из исходников:
app/data/sources.txt - portable/installer:
data/sources.txt(рядом сNetPrivacyTool.exe)
В UI есть выпадающий список Source mode:
- Auto — онлайн, а при проблемах сети использует кэш
- Online — только онлайн-источники (HTTP/HTTPS)
- Cache — офлайн режим: используется только кэш ссылок
- Parse — парсинг через
app/core/goida_parser.py(resilient fetch + фильтрация insecure)
Форматы строк в sources.txt:
- прямые конфиги:
vless://...,vmess://...,trojan://...,ss://... - URL источников:
https://...(страницы/подписки)
- Из источников извлекаются прокси-ссылки и дедуплицируются
- Все ссылки кладутся в
asyncio.Queue - Запускается динамический пул воркеров
Правило по воркерам:
- обычный режим: примерно
TargetCPS * 3(с верхним лимитом) - ФОРСАЖ (MAX): воркеров существенно больше (агрессивный максимум)
За проверку отвечает LogicVerifier (app/core/scanner.py). Для каждой ссылки:
- Выбирается свободный локальный порт
- Генерируется временный JSON-конфиг Xray в
%TEMP%\npvt_configs\temp_<port>.json - Запускается локальный SOCKS5 на
127.0.0.1:<port> - Через этот SOCKS5 выполняются параллельные HEAD-запросы к:
youtube.comt.mediscord.cominstagram.com
Успешными считаются ответы: 200/204/301/302/307/308/403/404/405.
Результат ноды включает:
accessible_count: 0..4accessibility: строка вида3/4is_high_reliability:Trueесли4/4avg_resource_rtt: средний RTT успешных доменовping: базовая задержка (минимальный RTT из успешных)
- CPS считается по окну ~1.5 секунды и сглаживается EMA
- UI получает результаты батчами и отображает только Top‑N (по качеству и RTT)
NPVT поднимает локальный HTTP сервер:
http://127.0.0.1:54321/sub
Он отдаёт Top‑10 лучших нод (сортировка по ping). В UI доступно:
- COPY SUBSCRIPTION — копирует URL подписки
- Импорт подписки — открывает deeplink для выбранного клиента:
- Happ:
happ://add/<url> - Clash:
clash://install-config?url=<url> - Hiddify:
hiddify://install-sub?url=<url>#NPVT - v2rayN/NekoRay: копирует URL (импорт выполняется в самом клиенте)
- Happ:
- кэш ссылок:
%LOCALAPPDATA%\NetPrivacyTool\links_cache.json - результаты:
%LOCALAPPDATA%\NetPrivacyTool\verified_nodes.txt
После распаковки NPVT_Portable.zip структура такая:
NPVT_Portable/
NetPrivacyTool.exe
core/
nv_backend_core.exe
geoip.dat
geosite.dat
wintun.dll
data/
sources.txt
Никаких _internal/ рядом быть не должно — используется PyInstaller --onefile.
Основная сборка: build_all.bat.
На выходе:
release/NPVT_Portable.ziprelease/NPVT_Source.ziprelease/NetPrivacyTool_Setup.exe
Файл:
- запуск из исходников:
app/data/sources.txt - portable/installer:
data/sources.txt
vless://...
vmess://...
trojan://...
https://example.com/sub_or_list.txtNPVT is a Windows research utility for high‑volume streaming verification of encrypted proxy nodes.
It combines:
- an
asynciostreaming pipeline - Xray‑core based local SOCKS5 execution
- a modern Flet UI with a real‑time CPS speedometer
- Installer:
NetPrivacyTool_Setup.exe - Portable:
NPVT_Portable.zip - Clean Source:
NPVT_Source.zip
python -m pip install -r requirements.txt
start.bat- Streaming verification via
asyncio.Queue - Dynamic worker pool tuned to target CPS
- Top‑N UI rendering (keeps the interface fast even in MAX mode)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.0.
Подробности в файле LICENSE.
Использованные технологии и источники данных
-
Ядро: Проект реализован на базе Xray-core. Огромная благодарность команде XTLS за разработку мощного ядра для сетевых протоколов.
-
Данные: Проект использует автоматический парсинг публичных источников, а также использует технологии и публичные листы которые были составлены Goida vpn goida-vpn-configs.


