Files
netrunner-proxy/server
nineap 72246f986a Переключить дев-инстанс прокси на порт 8443
Локальный debug-server и задеплоенный на DEV_IP systemd-сервис раньше
использовали 4443/443 соответственно — развели их на общий 8443, чтобы не
пересекаться с портами, занятыми другими дев-сервисами (например, Caddy на 443).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-07 18:17:20 +07:00
..

Крейт server — серверная часть прокси

Тонкая обвязка вокруг ядра (core): принимает замаскированные TLS-соединения, проверяет, что это валидный Netrunner-клиент, и проксирует трафик во внешнюю сеть. Вся бизнес-логика — в ядре; здесь точка входа, листенер и серверная диагностика.

Детали — в rustdoc: cargo doc --open -p netrunner-server.

Файлы

Файл Роль
src/main.rs CLI (--host/--port), логгер, tokio-рантайм, запуск.
src/network.rs TCP-листенер; на каждое соединение спавнит ServerHandler.
src/diagnostics.rs Логгер диагностики ядра → netrunner_diagnostics.jsonl.

Жизненный цикл соединения (в ядре)

accept TCP → core::ServerHandler::run:
  1. ClientHello → ServerHello   (невалидный/чужой → stealth-fallback на ubuntu.com:443)
  2. проверка auth-payload       (неверный → отказ)
  3. прицепить ногу к Muxer сессии и крутить TunnelEngine → проксировать к целям

Один общий SessionManager мультиплексирует несколько ног одной сессии на один Muxer. Фоновая задача периодически делает health-check и печатает топологию.

Запуск и деплой

Локально: make debug-server (биндится на 0.0.0.0:8443). Релиз/деплой: make build-servermake deploy-server (systemd-сервис на VPS, см. server/netrunner-server.service и Makefile).