Вернуться к кейсам

Infrastructure / Rust / Windows

IntNet Agent

Локальный Windows-агент управления HyperNode: запуск VM, поиск сетевой капсулы, включение SOCKS-прокси и dashboard со статусом туннеля.

RustWindows AgentHyperNodeVirtualBox
1 clickзапуск сетевой капсулы
Rustлокальный host-agent
SOCKS5маршрутизация трафика Windows
IntNet Agent

Задача

Пользователю нужно было работать с защищенной сетевой капсулой внутри Linux VM, но ручной сценарий был слишком сложным: запуск VirtualBox, ожидание API, поиск IP виртуальной машины, включение системного SOCKS-прокси Windows, контроль статуса туннеля и безопасное выключение. Без локального агента такой процесс был неудобен и требовал технических действий каждый раз.

Решение

Мы подготовили локальный Windows-агент на Rust, который работает как host-side control bridge между пользователем, VirtualBox VM и HyperNode внутри виртуальной машины. Агент поднимает dashboard, управляет VM в headless-режиме, ищет доступный IP капсулы, проверяет API статуса, включает системный SOCKS-прокси Windows и показывает online/offline-состояние, скорость и число активных пиров.

Сценарий работы

  • Пользователь запускает intnet_agent.exe.
  • Агент ищет VBoxManage.exe через переменные окружения и стандартные пути установки VirtualBox.
  • Локальный сервер запускается на динамическом порту 127.0.0.1.
  • Dashboard автоматически открывается в браузере.
  • По кнопке запуска агент стартует VM в headless-режиме.
  • Фоновый poller ищет IP сетевой капсулы через fast-path и VirtualBox guest properties.
  • Агент проверяет ответ API, фиксирует рабочий IP и включает SOCKS-прокси Windows.
  • Dashboard показывает online, скорость туннеля и число активных пиров.
  • При остановке агент выключает VM, отключает системный proxy и сбрасывает найденный IP.

Архитектура

Агент разделяет пользовательский слой и сетевую логику. На стороне Windows он управляет VirtualBox и системными настройками proxy, внутри локального dashboard дает понятный интерфейс, а сетевую капсулу опрашивает через REST API. Такой подход не вмешивается в работу протокола, но делает его доступным для пользователя без ручной настройки.

Ключевые возможности

  • Автоматический запуск dashboard в браузере.
  • Динамический локальный порт для агента.
  • Управление VirtualBox VM в headless-режиме.
  • Автоматический поиск VBoxManage.exe.
  • Автоматический поиск IP VM через VirtualBox guest properties.
  • Проверка схемы ответа API, а не только HTTP 200.
  • Локальная проксификация Windows через SOCKS5.
  • Аварийный сброс proxy при потере API или неверном JSON.
  • Dashboard со статусами ONLINE, OFFLINE, BOOTING, скоростью и active peers.

Техническая основа

  • Rust binary с async runtime Tokio.
  • Axum для локального HTTP API и dashboard server.
  • Reqwest для опроса API сетевой капсулы.
  • Serde JSON для обработки статусов.
  • Модуль proxy_manager для управления системным proxy Windows через registry.
  • Оптимизированный release-профиль для компактного executable.

Результат

IntNet Agent превращает сложный сетевой сценарий в понятную локальную кнопку: запустить, дождаться online, автоматически направить трафик Windows через SOCKS-туннель и безопасно выключить. Пользователь получает контроль без ручного поиска IP и настройки прокси, а команда получает основу для дальнейшего развития host-agent как продукта.

Еще кейсы

Другие проекты Wcoders

Посмотрите другие проекты, чтобы оценить разные форматы задач и решений.