40ddb0a0f6
Сервер получает флаги --require-auth/--backend-url (по умолчанию выключено, поведение уже развёрнутых нод не меняется). Auth-кадр хендшейка расширен с "session_id:leg_id" до "session_id:leg_id:token"; при включённом --require-auth сервер валидирует токен через новый AuthValidator (BackendClient к netrunner-backend, с кешем на 60с). Muxer теперь ведёт монотонный учёт трафика сессии (переживает реконнект ног — раньше total_bytes мог занижаться после переподключения) и раз в ~30с отчитывается бэкенду; при превышении лимита сессия разрывается. Токен клиента прокидывается через EngineConfig/TunnelConfig до Tauri-плагина (desktop.rs + Android Kotlin-плагин). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
tools — вспомогательные крейты
Утилиты, общие для проекта.
log — netrunner-logger
Единый логгер и реестр ошибок для всех крейтов. Обёртка над
tracing/tracing-subscriber.
| Файл | Что внутри |
|---|---|
src/lib.rs |
Глобальный Logger (один на процесс), два режима, PII-слой. |
src/error.rs |
AppError + реестр кодов ERR_* (стабильные идентификаторы). |
- Режимы: production (JSON в файл с суточной ротацией + перехват паник) и
debug (цветная консоль; на Android —
tracing_android). - Уровень меняется на лету (
Logger::set_level). - Макросы
info!/error!/… ре-экспортируются, чтобы во всех крейтах писатьnetrunner_logger::info!без прямой зависимости наtracing.
bindgen — генератор FFI-биндингов
Однострочная обёртка вокруг uniffi_bindgen: по .udl-описанию клиента
(client/src/netrunner_client.udl) генерирует Kotlin/Swift-обёртки для вызова
нативных функций из мобильного приложения. Запускается из Makefile
(цель build-android).
Детали — в rustdoc соответствующих крейтов.