Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/openlibrecommunity/olcrtc/llms.txt

Use this file to discover all available pages before exploring further.

olcRTC ships a native CLI binary that operates in mode: cnc as a headless SOCKS5 proxy, and the ecosystem includes several full-featured GUI clients that speak the olcrtc:// URI and subscription formats. All clients connect to the same server (mode: srv) and use the same shared encryption key.
app -> SOCKS5 -> [client app / olcrtc cnc] -> WebRTC/SFU -> olcrtc srv -> internet

GUI Clients

owenclave

Main client · Android · fork of exclaveThe reference implementation for the olcrtc:// URI and subscription formats. Supports all common proxy protocols — VLESS, Hysteria2, Mieru, Trojan, VMess, TUIC, Shadowsocks, SOCKS — plus full olcrtc support. Reads olcrtc:// URIs and subscription URLs (sub.md format) directly.

veil

Community client · Android · fork of v2rayNG · Material 3A modern Material 3 redesign of v2rayNG with olcRTC support added. Protocols: VMess, VLESS, Shadowsocks, Trojan, SOCKS, WireGuard, Hysteria2, and olcrtc.

olcbox

Community client · Android / iOS / macOS / Windows / LinuxKotlin Multiplatform / Compose Multiplatform client. Supports all providers (Jitsi, Telemost, WB Stream, Jazz), all transports, split tunneling, and both TUN and proxy modes. The most feature-complete cross-platform option.

olcrtc CLI

Native binary · all platforms · headlessThe olcrtc binary itself in mode: cnc. No UI — exposes a SOCKS5 listener only. Ideal for servers, containers, and scripted environments. Configure via a YAML file; run with olcrtc client.yaml.
owenclave is the reference client for the olcrtc:// URI and the subscription format. When in doubt about URI or subscription compatibility, owenclave is the canonical implementation to test against.

Native CLI Client

The olcrtc binary in mode: cnc is a fully functional client. It starts a local SOCKS5 proxy and forwards all connections through the encrypted WebRTC tunnel. There is no GUI — it is designed for headless use cases such as containers, servers, or scripted network setups.
# client.yaml
mode: cnc
auth:
  provider: jitsi
room:
  # Use the same room URL as the server.
  id: "https://meet.small-dm.ru/myroom"
crypto:
  key: "REPLACE_ME_WITH_64_HEX_CHARS"
net:
  transport: datachannel
  dns: "8.8.8.8:53"
socks:
  host: "127.0.0.1"
  port: 8808
data: data
olcrtc client.yaml
Once running, point any SOCKS5-capable application at 127.0.0.1:8808:
curl --socks5 127.0.0.1:8808 https://example.com

Using owenclave with Subscriptions

owenclave can import a subscription URL that lists one or more olcRTC server configurations. The subscription is a plain sub.md file served from any HTTPS URL.
1

Generate the subscription file on the server

After starting srv.sh, the server prints a olcrtc:// URI. Collect one or more such URIs into a sub.md file and host it at a stable HTTPS URL, for example:
https://example.com/my-sub.md
2

Open owenclave on Android

In owenclave, navigate to Subscriptions → Add subscription and paste the URL of your sub.md file.
3

Update and connect

Tap Update to fetch the latest server list. Select an entry and connect. owenclave reads the olcrtc:// URIs from the subscription directly and establishes the tunnel.

Using the olcrtc:// URI

The olcrtc:// URI encodes all connection parameters (provider, room, key, transport) into a single shareable string. The server prints the URI for the current configuration when it starts.
Copy the olcrtc:// URI printed by srv.sh directly and use Import from clipboard in owenclave. You do not need to type any parameters manually.
1

Copy the URI from server output

When srv.sh (or olcrtc server.yaml) starts, it logs an olcrtc:// URI to stdout. Copy it.
2

Import into the client app

In owenclave (or another compatible client), tap Add server → Import from URI, paste the URI, and save.
3

Connect

Select the imported server entry and tap Connect. The client decodes all parameters from the URI and establishes the tunnel automatically.
For the full specification of the URI scheme and all supported parameters, see the URI Format reference page.

Community

Have questions, found a bug, or want to contribute?

Telegram Community

Join @openlibrecommunity on Telegram for announcements, help, and discussion.

GitHub Issues

Report bugs and request features on the official GitHub issue tracker.

Build docs developers (and LLMs) love