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.
- Providers:
jitsi,telemost,wbstream - Transports:
datachannel,vp8channel,seichannel,videochannel - Platforms: Linux, macOS, Windows, Android (gomobile), embeddable Go library
Recommended start: jitsi + datachannel.
Generate a shared key (the same on server and client):
openssl rand -hex 32You need Podman and git.
git clone https://github.com/openlibrecommunity/olcrtc --recurse-submodules
cd olcrtc
./scripts/srv.shFull instructions are in docs/fast.md and docs/manual.md.
| Document | Contents |
|---|---|
| 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 |
mage build # current platform
mage cross # cross-compilation
mage test # tests
mage lint # golangci-lint
mage mobile # gomobile bindings (Android)- Telegram: @openlibrecommunity
- Issues: github.com/openlibrecommunity/olcrtc/issues
- Community UI client: alananisimov/olcbox
WTFPL
Telegram: zarazaex
Email: zarazaex@tuta.io
Site: zarazaex.xyz
