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 -> интернет
Важно: проверяйте, что нужный сервис видеозвонков есть в белых списках и работает в вашей сети. Если нет - используйте другой.
Возможности
- Провайдеры:
jitsi,telemost,wbstream - Транспорты:
datachannel,vp8channel,seichannel,videochannel - Платформы: Linux, macOS, Windows, Android (gomobile), встраиваемая Go-библиотека
Рекомендуемый старт: jitsi + datachannel.
Быстрый старт
Нужны Go 1.26+ и mage.
go install github.com/magefile/mage@latest
git clone https://github.com/openlibrecommunity/olcrtc --recurse-submodules
cd olcrtc
mage build
Сгенерируй общий ключ (одинаковый на сервере и клиенте):
openssl rand -hex 32
Запусти сервер и клиент с YAML-конфигами:
./build/olcrtc-linux-amd64 server.yaml
./build/olcrtc-linux-amd64 client.yaml
Клиент поднимает локальный SOCKS5 на 127.0.0.1:8808. Проверка:
curl --socks5-hostname 127.0.0.1:8808 https://icanhazip.com
Полные инструкции и примеры конфигов - в docs/fast.md и docs/configuration.md.
Документация
| Документ | Содержание |
|---|---|
| about.md | архитектура, провайдеры, транспорты, публичный API |
| fast.md | быстрый старт для новичков |
| manual.md | ручная сборка |
| configuration.md | настройка YAML |
| settings.md | матрица совместимости |
| uri.md | формат URI клиента |
| sub.md | формат подписки |
Сборка
mage build # текущая платформа
mage cross # кросс-компиляция
mage test # тесты
mage lint # golangci-lint
mage mobile # gomobile bindings (Android)
Для videochannel нужен ffmpeg.
Сообщество
- Telegram: @openlibrecommunity
- Issues: github.com/openlibrecommunity/olcrtc/issues
- UI-клиент сообщества: alananisimov/olcbox
Лицензия
WTFPL
Telegram: zarazaex
Email: zarazaex@tuta.io
Site: zarazaex.xyz
