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.
Возможности
- SFU-провайдеры:
jitsi,telemost,wbstream. - Транспорты внутри WebRTC:
datachannel,vp8channel,seichannel,videochannel. - Платформы: Linux, macOS, Windows, Android (gomobile), встраиваемая Go-библиотека.
- Рекомендуемая связка для старта:
jitsi + datachannel.
Быстрый старт
Сгенерируй общий ключ (одинаковый на сервере и клиенте):
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.
См. также
- Прокси-протоколы, «новые VPN».
- WebRTC — базовый транспорт.
- NaiveProxy, Mieru — другие camouflage-oriented прокси.