olcRTC
August 18, 2026 ยท View on GitHub
olcRTC
RU / EN
olcRTC (OpenLibreCommunity RTC) is an encrypted TCP-over-WebRTC tunnel. Traffic is disguised as an ordinary video call on allowed services (Jitsi, Yandex Telemost, WbStream). Inside there is XChaCha20-Poly1305 encryption and smux multiplexing over WebRTC data/video channels.
Status: Beta
app -> SOCKS5 -> olcrtc cnc -> WebRTC/SFU service -> olcrtc srv -> internet
Important: make sure the video call service you need is on the allow lists and works in your network. If not, use another one.
Features
- Providers:
jitsi,telemost,wbstream - Transports:
datachannel,vp8channel,seichannel,videochannel - Platforms: Linux, macOS, Windows, Android (gomobile), embeddable Go library
- Public Go packages:
pkg/olcrtc/client,pkg/olcrtc/tunnel,pkg/olcrtc/engineconn
Recommended start: jitsi + datachannel.
Current builds use OLC2 encryption with directional HKDF-SHA256 keys, separate data/control AAD and replay protection. There is no compatibility fallback for the old crypto format. seichannel and videochannel use OLVC frame version 5 and reject older video frames. Upgrade both endpoints together.
Display-name dictionaries are embedded. Set optional YAML field data to a directory containing names and surnames to override them.
One-click install
curl -fsSL https://raw.githubusercontent.com/openlibrecommunity/olcrtc/master/install.sh | bash
Installs Podman if missing, clones the current code, builds the binary in a container, asks a few questions (server or client, provider, transport, room, key) and starts it. Run it once on the server (mode srv) and once on the client (mode cnc) - they need the same room ID and encryption key.
If you already have the repo cloned, run ./install.sh directly instead.
Full instructions are in docs/fast.md and docs/manual.md.
Documentation
- about.md - architecture, providers, transports, public API
- fast.md - quick start for newcomers
- manual.md - manual build
- configuration.md - YAML setup
- settings.md - compatibility matrix
- uri.md - client URI format
- sub.md - subscription format
Build
mage build # current platform
mage cross # cross-compilation
mage test # tests
mage lint # golangci-lint
mage mobile # gomobile bindings (Android)
Clients
- Main client:
- owenewans/owenclave - Android proxy client (fork of exclave). Supports all common protocols (vless, hysteria2, mieru, trojan, vmess, tuic, shadowsocks, socks ...) plus
olcrtc, theolcrtc://URI format and subscriptions
- owenewans/owenclave - Android proxy client (fork of exclave). Supports all common protocols (vless, hysteria2, mieru, trojan, vmess, tuic, shadowsocks, socks ...) plus
- Community clients:
- venterum/veil - V2Ray/Xray client for Android (fork of v2rayNG), Material 3. Protocols: VMess, VLESS, Shadowsocks, Trojan, SOCKS, WireGuard, Hysteria2 +
olcrtc - alananisimov/olcbox - Multiplatform UI client (Android, iOS, macOS, Windows, Linux). Kotlin Multiplatform/Compose. All providers (Jitsi, Telemost, WB Stream, Jazz), all transports, split tunneling, TUN/proxy modes
- venterum/veil - V2Ray/Xray client for Android (fork of v2rayNG), Material 3. Protocols: VMess, VLESS, Shadowsocks, Trojan, SOCKS, WireGuard, Hysteria2 +
Community
- Telegram: @openlibrecommunity
- Issues: github.com/openlibrecommunity/olcrtc/issues
License
WTFPL
Telegram: zarazaex
Email: zarazaex@tuta.io
Site: zarazaex.xyz