Production-level Windows desktop toolkit для сетевых и AV-инженеров.
Архитектура — Winbox-style "tool host" с динамической загрузкой инструментов.
Дизайн — Cloudflare-inspired dark theme (см. Resources/palette.json).
- .NET 8.0 (LTS), WPF, C# 12
- Minimal MVVM (свой
ObservableObject+RelayCommand, без сторонних toolkit'ов) Microsoft.Extensions.DependencyInjectionдля DISystem.Managementдля WMI (network)
| Инструмент | Что делает |
|---|---|
| Сетевые адаптеры | IPv4/маска/шлюз/DNS/VLAN, профили (дерево «здания → помещения»), pin, drag-drop, pop-out отдельным окном |
| Ping и трассировка | ping (с -t), tracert, stream-вывод, остановка |
| IP & Port Scanner | ping sweep, ARP, vendor lookup, обнаружение AV-устройств (Dante, NDI, Q-SYS, Crestron, Extron, Biamp, Shure, Yamaha, Blackmagic, BrightSign), TCP/UDP сканер портов, banner grabbing, экспорт CSV/JSON/TXT |
| Поднять настроение | Кубик в стиле Telegram + случайная фраза дня |
Приложение запрашивает права администратора (нужны для изменения сетевых настроек). Запускать так:
.\run.ps1 # собирает Debug и запускает с UAC
.\run.ps1 -NoBuild # запускает уже собранный EXE
.\run.ps1 -Release # релизная сборкаИли собрать вручную:
dotnet build AV-Helper.sln -c DebugEXE после сборки: src/AVHelper.App/bin/Debug/net8.0-windows/AVHelper.exe
AV-Helper/
├── AV-Helper.sln
├── src/
│ ├── AVHelper.Core/ # контракты ITool, IToolHost, MVVM база, IAppPaths
│ ├── AVHelper.UI/ # дизайн-система Cloudflare, ToolHost, диалоги
│ ├── AVHelper.Tools.Network/ # Network Adapter Switcher
│ ├── AVHelper.Tools.Diag/ # Ping & Traceroute
│ ├── AVHelper.Tools.Scanner/ # IP & Port Scanner
│ ├── AVHelper.Tools.Mood/ # Mood Booster
│ └── AVHelper.App/ # WPF entry point, shell, DI bootstrapper
├── Resources/
│ ├── AV-Helper-Rules.md.txt # архитектурные правила (источник истины)
│ ├── palette.json # цветовая палитра
│ └── Media/ # лого, иконки
└── run.ps1 # быстрый запуск
%AppData%\AVHelper\
profiles/— JSON-профили сетевых настроек (поддерживает подпапки)pinned-adapters.json— список закреплённых адаптеровscan-history.json— история сканированияmood-phrases.json— кастомный список фраз для Mood Booster (опционально)logs/crash-*.log— логи краша