Отдельно вынесенный нативный драйверный контур из TodayClient.
Это не новый самостоятельный продукт, а snapshot исходников и скриптов, которые раньше жили внутри TodayClient. Набор собран для публикации в open source и для сохранения самой наработки отдельно от основного клиента.
Изначально всё это делалось под TodayClient, но в практическом смысле ветка уже не выглядит как хороший релизный путь: для нормального распространения kernel-mode драйвера на современных Windows нужен Microsoft signing flow, а значит локальная test-signing схема остаётся в основном исследовательским и dev-сценарием.
Здесь сохранён не только todaywfp, но и соседние компоненты нативного policy-stack:
native/todaywfp/- kernel-mode WFP callout driver
- INF, headers, Visual Studio project, MSBuild shim
native/today-policy-svc/- Windows service / control-plane для policy mode
- управление baseline, policy, redir и IPC
native/today-redir/- локальный redirect proxy для TCP/UDP сценариев
packaging/driver/todaywfp.package.json- driver manifest и GUID source-of-truth
scripts/packaging/Invoke-TodayWfp.ps1- основной build/sign/install script для драйвера
scripts/packaging/Set-DriverHostMode.ps1- host-mode helper для driver scenario
scripts/packaging/Invoke-PolicyService.ps1- сборка, установка и управление
TodayPolicySvc
- сборка, установка и управление
scripts/packaging/Start-PolicyStack-Manual.ps1- ручной старт user-mode policy stack при уже запущенном драйвере
INSTALL-TODAYWFP.cmd- wrapper для
build -> sign -> install-dev
- wrapper для
UNINSTALL-TODAYWFP.cmd- wrapper для удаления dev-установки драйвера
CHECK-TODAYWFP-ENV.cmd- быстрая проверка driver build/install окружения
START-POLICY-STACK.cmd- wrapper для старта policy service / redir части
Эта ветка делалась под TodayClient, но для публичной доставки собственного kernel-mode драйвера на Windows 11 и соседних конфигурациях нужен не "просто собрать .sys", а нормальный маршрут через Microsoft signing.
Практически это означает:
- локальная test-signing схема подходит для лаборатории, reverse/debug и dev-циклов
- для нормального публичного распространения нужен Microsoft Hardware Dev Center flow
- attestation signing требует EV certificate и отдельный процесс публикации
Из-за этого текущая наработка уже не особенно нужна как "готовый прикладной драйвер для релиза", но она всё ещё полезна как:
- исходники
- прототип архитектуры
- reference implementation для
TodayClient
Официальные ссылки Microsoft:
- Driver signing overview:
https://learn.microsoft.com/en-us/windows-hardware/drivers/install/driver-signing - Attestation signing:
https://learn.microsoft.com/en-us/windows-hardware/drivers/dashboard/code-signing-attestation - Driver code signing requirements:
https://learn.microsoft.com/en-us/windows-hardware/drivers/dashboard/code-signing-reqs - Test signing:
https://learn.microsoft.com/en-us/windows-hardware/drivers/install/test-signing
В standalone-папку специально не включены:
- локальные build output каталоги
target/для Rust crates- staged artifacts
- локальный распакованный WDK NuGet payload
- готовые test certificates из исходного проекта
- GUI/Tauri часть
TodayClient - bundled
sing-box.exeи остальной app-level release payload
Логика простая: здесь должны лежать именно исходники и обслуживающие скрипты нативного контура, а не локальный мусор сборки или готовая доставка основного приложения.
TodayDrivers/
README.md
.gitignore
CHECK-TODAYWFP-ENV.cmd
INSTALL-TODAYWFP.cmd
UNINSTALL-TODAYWFP.cmd
START-POLICY-STACK.cmd
native/
today-policy-svc/
today-redir/
todaywfp/
packaging/
driver/
todaywfp.package.json
scripts/
packaging/
Invoke-PolicyService.ps1
Invoke-TodayWfp.ps1
Set-DriverHostMode.ps1
Start-PolicyStack-Manual.ps1
CHECK-TODAYWFP-ENV.cmdЗапускать из elevated shell:
INSTALL-TODAYWFP.cmdЭтот wrapper:
- проверяет окружение
- при отсутствии локального test certificate создаёт его
- собирает
todaywfp.sys - подписывает его локальной test certificate
- выполняет
install-dev
Если нужен не только драйвер, но и соседний сервисный контур:
START-POLICY-STACK.cmdЭтот шаг предполагает, что TodayWfp уже установлен и запущен. Скрипт собирает и при необходимости ставит TodayPolicySvc, а затем поднимает policy-service и today-redir.
UNINSTALL-TODAYWFP.cmd- Windows
- PowerShell
- Visual Studio 2022 с C/C++ toolchain
- Windows SDK
- WDK
- Rust toolchain для
today-policy-svcиtoday-redir - elevated shell для установки драйвера и сервисов
- Это не production-ready public driver package.
- Это не готовый retail installer.
- Без Microsoft signing эта схема остаётся в основном dev/test-наработкой.
- Имена
TodayWfp,TodayPolicySvc,TodayClientи связанные GUID сохранены в исходном виде, потому что это extract из исходного проекта. - Полный original runtime
TodayClientздесь не восстановлен один-в-один: GUI и release payload намеренно не переносились.
Этот каталог годится как:
- отдельный архив исходников нативного драйверного контура
- база для open source публикации
- reference snapshot того, как эта часть была устроена внутри
TodayClient
Если превращать это в реально независимый проект, следующий этап уже будет таким:
- отвязать naming от
TodayClient - вычистить service/provider/product identifiers
- добавить отдельную лицензию
- собрать самостоятельный release/install flow
- отдельно решить вопрос с Microsoft signing