3.2 KiB
3.2 KiB
Netrunner Core
Netrunner Core — это высокопроизводительный сетевой комплекс, реализующий TLS-инкапсуляцию с мультиплексированием потоков для обхода сетевых ограничений. Система состоит из легковесного клиента (поддерживающего Android и Linux) и серверной части.
Архитектура
Проект построен на принципах:
- Мультиплексирование потоков: Передача независимых кадров (Frames) внутри единого зашифрованного TLS-туннеля.
- TLS-маскировка: Имитация рукопожатия TLS 1.3 (ClientHello/ServerHello) для скрытия факта проксирования.
- Безопасность: Кадры защищены AEAD-шифрованием (ChaCha20-Poly1305) с контролем целостности через auth_tag.
- Кроссплатформенность: Ядро на Rust, готовое к интеграции в мобильные (Android) и десктопные системы.
Основные компоненты
- core/: Сетевая логика, кодек протокола и реализация AEAD-шифрования.
- tlseng/: Движок формирования TLS-отпечатков (Fingerprinting Engine) для маскировки под браузеры.
- client/: Клиентская часть для формирования туннеля и обработки кадров.
- server/: Серверная часть, принимающая TLS-соединения и разбирающая кадры.
- tools/: Утилиты для генерации связующего кода (Android/Kotlin) и дебага.
Быстрый старт
Требования
- Rust (latest stable)
- cargo-ndk (для Android-сборки)
Локальная разработка
Запуск клиента в режиме отладки
make debug-client
Запуск сервера локально (порт 4443)
make debug-server
Деплой сервера
- Настройте IP сервера в Makefile (переменная SERVER_IP).
- Подготовьте удаленную машину: make setup-server
- Соберите и деплойте сервер: make build-server make deploy-server
Команды Makefile
| Команда | Описание |
|---|---|
| make build-android | Сборка библиотек для всех ABI и генерация Kotlin-биндингов |
| make deploy-server | Сборка, копирование бинарника и обновление systemd-сервиса |
| make logs | Просмотр логов удаленного сервера |
| make ssh | Быстрый вход на сервер |