Skip to content

Repository files navigation




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

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, the olcrtc:// URI format and subscriptions
  • 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

Community

License

WTFPL


Telegram: zarazaex
Email: zarazaex@tuta.io
Site: zarazaex.xyz

About

implementation of bb22 using legal meet services to access web outside the whitelist

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1.9k stars

Watchers

32 watching

Forks

Contributors

Languages