Skip to main content

ndVpi

Фоновая оптимизация сети, сканер Wi-Fi и диагностика для Python.

Версия: 1.100.0. Автор: CharmLxt (PyPI: CharmLxt, email: reception.mailspypi@gmail.com).

Библиотека не имеет официального репозитория на GitHub, все обновления и баги обсуждаются напрямую с автором.

ndVpi — это легковесная библиотека, которая работает в фоне и снижает задержку сети. Она умеет сканировать Wi-Fi, показывать подробную информацию о текущем подключении, измерять пинг, джиттер, потери пакетов и скорость в реальном времени, а также проводить быструю диагностику сети с рекомендациями по устранению проблем. Всё это дополняется управлением параметрами сети (DNS, пароль Wi-Fi, адаптеры, MTU). Главная особенность — полная совместимость с CharmPkk: команды ndVpi автоматически регистрируются в терминале Collquan, а интерфейс становится красочным (баннеры, таблицы, Live-дашборд). Если CharmPkk не установлен, ndVpi работает автономно на чистом print, весь функционал сохраняется, только без красок.

Установка

Для базового функционала: pip install ndVpi

Для интеграции с CharmPkk: pip install "ndVpi[charm]"

Быстрый старт

Сканировать Wi-Fi: from ndvpi import WiFiScanner; print(WiFiScanner().current_network())

Информация о сети: from ndvpi import NetworkInfo; print(NetworkInfo().local_ip())

Запустить оптимизатор: from ndvpi import NetworkOptimizer; NetworkOptimizer().start()

Мониторинг в реальном времени: from ndvpi import NetworkMonitor; NetworkMonitor().run(duration=30)

Диагностика: from ndvpi import NetworkDiagnostics; print(NetworkDiagnostics().get_report())

Возможности

Сканирование Wi-Fi. Подробная информация о текущей сети (SSID, BSSID, сигнал, канал, безопасность) и базовый список ближайших сетей. На русской Windows вывод netsh автоматически декодируется из CP866, все поля поддерживаются как на английском, так и на русском языках. Если Windows кэшировал только одну сеть, сканер автоматически повторяет запрос с задержкой 2 секунды.

Информация о подключении. Локальный IP, шлюз по умолчанию, DNS-серверы, задержка до любого хоста. Также есть метод ping_series() для серии пингов с расчётом min/max/avg/jitter/loss.

Оптимизация сети. Оптимизатор работает в фоновом потоке с минимальной нагрузкой на CPU. Устанавливает TCP_NODELAY на сокеты (отключает алгоритм Нейгла, снижая задержку на 20–40 мс) и кэширует DNS-запросы с настраиваемым TTL (по умолчанию 60 секунд). Фоновый поток раз в 30 секунд очищает устаревшие записи кэша.

Управление параметрами сети. Установка и сброс DNS, смена пароля Wi-Fi, включение и выключение сетевых адаптеров, настройка MTU. Все операции поддерживают dry_run (предварительный просмотр команд ОС), требуют подтверждения и корректно работают с русской Windows.

Мониторинг в реальном времени. Показывает пинг (min/avg/max), джиттер, потери пакетов и скорость download/upload в цикле, пока пользователь не остановит. С CharmPkk используется Live-дашборд без мерцания, без CharmPkk — перерисовка через ANSI-escape. Замер скорости выполняется в фоновом потоке, поэтому остальные метрики не блокируются, даже если сеть медленная.

Диагностика сети. Проверяет наличие адаптеров, подключение Wi-Fi, доступность шлюза, разрешение DNS, доступность интернета, потери пакетов и уровень пинга. По результатам формирует отчёт с вероятной причиной проблемы и конкретной рекомендацией (например, «смените DNS на 1.1.1.1»). С CharmPkk отчёт отрисовывается в виде красивой таблицы, без CharmPkk — читаемым текстом.

История и экспорт. Все замеры пинга и скорости за сессию сохраняются в памяти. По команде можно экспортировать их в JSON или CSV в папку ~/.ndvpi/reports/.

Интерактивное меню

После установки доступна команда ndvpi. Она открывает меню, где можно сканировать сети, смотреть информацию о подключении, запускать мониторинг и диагностику, управлять оптимизатором и параметрами сети. Если CharmPkk установлен, меню становится цветным с навигацией стрелками; если нет — обычное нумерованное меню с вводом цифрой.

Интеграция с CharmPkk

Если CharmPkk установлен, при импорте ndvpi в Collquan автоматически появляются команды:

ndscan — показать текущую Wi-Fi сеть.

ndinfo — IP, шлюз, DNS, пинг.

ndopt start / ndopt stop — управление оптимизатором.

ndstatus — статус оптимизатора.

nddns show / nddns set ... / nddns reset — управление DNS.

ndpass — смена пароля Wi-Fi (с подтверждением).

ndadapters list / ndadapters enable / ndadapters disable — управление адаптерами.

ndmtu [new_mtu] — настройка MTU.

ndadmin — проверка прав администратора.

ndlive — мониторинг в реальном времени.

nddiag — диагностика сети с отчётом и рекомендациями.

ndexport — экспорт истории сессии в JSON и CSV.

Пример в Collquan: ndscan

Права администратора

Все операции, изменяющие параметры сети (DNS, пароль Wi-Fi, состояние адаптеров, MTU), требуют прав администратора. Без них ndVpi не падает, а возвращает понятное сообщение «Требуются права администратора». Запускайте терминал от имени администратора, если хотите использовать эти функции. Диагностика и мониторинг работают без прав.

Требования

Python 3.8+.

Windows, Linux или macOS.

Опционально: CharmPkk 1.26.0+ для красочного интерфейса и интеграции с Collquan.

Связь с автором

По вопросам и предложениям: reception.mailspypi@gmail.com

Metadata

Release files for ndVpi 1.100.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ndVpi 1.100.0
File Size Uploaded Provenance
ndvpi-1.100.0.tar.gz 21.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ndVpi 1.100.0
File Interpreter ABI Platform
ndvpi-1.100.0-py3-none-any.whl Python 3 none any Details

Total release size: 47.6 kB

Release files / ndvpi-1.100.0.tar.gz

Download URL ndvpi-1.100.0.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
396f6ca1ac75293b004856a0bc54cab24f311bbc9707d952eb5e0202869f91a6
BLAKE2b-256 checksum
How to use checksums
7b67a76c9c64d31e3f9b5505aa10bd567fc48b759d3653872683ce45fd4b4777
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / ndvpi-1.100.0-py3-none-any.whl

Download URL ndvpi-1.100.0-py3-none-any.whl
Size 26.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
438be92ef229f66dd9ba718dc26ca85ec777e50c58eac3077f53640e2c2e2270
BLAKE2b-256 checksum
How to use checksums
eaf3ccf8b72644715149a28236d097b5a576658e41b235794182cb15e1006750
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Security for ndVpi 1.100.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.100.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page