olcRTC

olcRTC (OpenLibreCommunity RTC) — зашифрованный TCP-over-WebRTC туннель. Трафик маскируется под обычный видеозвонок на разрешённых сервисах (Jitsi, Yandex Telemost, WbStream). Внутри — шифрование XChaCha20-Poly1305 и мультиплексирование smux поверх WebRTC data/video-каналов.

Статус: Beta.

Как работает

Схема прохождения трафика:

app → SOCKS5 → olcrtc cnc → WebRTC/SFU сервис → olcrtc srv → интернет

Клиент устанавливает соединение с публичным SFU-сервером (Jitsi/Telemost/WbStream) как «видеозвонок». Сервер olcRTC на другой стороне отвечает по тому же «звонку». Внутри «звонка» — зашифрованный туннель.

Важно: нужный SFU-сервис должен быть в белом списке провайдера и работать в вашей сети. Если Jitsi заблокирован — используй Telemost и т.п.

Репозиторий

github.com/openlibrecommunity/olcrtc

UI-клиент сообщества: alananisimov/olcbox.

Возможности

Быстрый старт

Сгенерируй общий ключ (одинаковый на сервере и клиенте):

openssl rand -hex 32

Нужны Podman и git:

git clone https://github.com/openlibrecommunity/olcrtc --recurse-submodules
cd olcrtc
./scripts/srv.sh

Сборка

mage build   # текущая платформа
mage cross   # кросс-компиляция
mage test    # тесты
mage lint    # golangci-lint
mage mobile  # gomobile bindings (Android)

Лицензия

WTFPL.

См. также