56 lines
3.2 KiB
Markdown
56 lines
3.2 KiB
Markdown
# 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
|
||
|
||
## Деплой сервера
|
||
|
||
1. Настройте IP сервера в Makefile (переменная SERVER_IP).
|
||
2. Подготовьте удаленную машину:
|
||
make setup-server
|
||
3. Соберите и деплойте сервер:
|
||
make build-server
|
||
make deploy-server
|
||
|
||
## Команды Makefile
|
||
|
||
| Команда | Описание |
|
||
| :----------------- | :--------------------------------------------------------- |
|
||
| make build-android | Сборка библиотек для всех ABI и генерация Kotlin-биндингов |
|
||
| make deploy-server | Сборка, копирование бинарника и обновление systemd-сервиса |
|
||
| make logs | Просмотр логов удаленного сервера |
|
||
| make ssh | Быстрый вход на сервер |
|