Добавить опциональную авторизацию клиента и динамические лимиты трафика
Сервер получает флаги --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>
This commit is contained in:
@@ -194,10 +194,15 @@ async fn run_virtual_user(
|
||||
|
||||
let started = Instant::now();
|
||||
|
||||
let muxer =
|
||||
match ClientHandler::connect(&server_addr, "example.com", rx_from_engine, tx_to_engine)
|
||||
.await
|
||||
{
|
||||
let muxer = match ClientHandler::connect(
|
||||
&server_addr,
|
||||
"example.com",
|
||||
None,
|
||||
rx_from_engine,
|
||||
tx_to_engine,
|
||||
)
|
||||
.await
|
||||
{
|
||||
Ok(m) => m,
|
||||
Err(_) => {
|
||||
stats.handshake_failures.fetch_add(1, Relaxed);
|
||||
|
||||
Reference in New Issue
Block a user