Skip to content

psauxwwf/olcrtc

 
 

Repository files navigation

License Golang

About

olcRTC - across the sea

Project that allows users to bypass blocking by parasitizing and tunneling on unblocked and whitelisted services in Russia, use legal webRTC services

Status

Beta
See all info in issues
Issues? contact us at @openlibrecommunity
Or wait for the release or at least a release
Community ui client: alananisimov/olcbox

Read docs for start

Configuration

For noobs

Manual

Setting matrix

More info

Client URI format

Client subscription format

Build

# install mage first
go install github.com/magefile/mage@latest

# build cli + ui
mage build

# build cli only
mage buildCLI

# build cli with b codec, clones b repo, builds libb.so, compiles with -tags b
mage buildCLIB

# cross-compile for linux / windows / darwin
mage cross

# android aar via gomobile
mage mobile

# container image
mage podman
mage docker

# lint / test / clean
mage lint
mage test
mage clean

Telegram: zarazaex
Email: zarazaex@tuta.io
Site: zarazaex.xyz
Made for: olcNG

Deploy

  1. Prepare server config from the current checkout
./script/srv-docker.sh

By default the script prepares jitsi + datachannel.

The script:

  • asks for carrier, transport, room and optional transport settings
  • generates or reuses the shared encryption key in olcrtc/key.hex
  • writes .env.olcrtc for docker compose
  • points the container to /var/lib/olcrtc/key.hex via the mounted ./olcrtc state directory
  • pulls the image and writes connection details and run hints to LOCAL.md

For jitsi, the script can generate a room URL automatically or accept a full room URL. For telemost and wbstream, provide an existing room created in the service UI. The shared key is stored in olcrtc/key.hex, not in .env.olcrtc.

  1. Copy artifacts to remote server (if needed)
ssh server mkdir -p /opt/docker/olcrtc
scp -r LOCAL.md olcrtc docker-compose.yml .env.olcrtc server:/opt/docker/olcrtc
  1. Run via docker
docker compose --env-file .env.olcrtc -f docker-compose.yml up -d --no-build olcrtc-server

The compose file mounts ./olcrtc into /var/lib/olcrtc, so the container reads the same persistent key from olcrtc/key.hex.

  1. Download client
wget -O olcrtc-linux-amd64 https://github.com/psauxwwf/olcrtc/releases/latest/download/olcrtc-linux-amd64
wget -O olcrtc-linux-arm64 https://github.com/psauxwwf/olcrtc/releases/latest/download/olcrtc-linux-arm64
wget -O olcrtc-windows-amd64.exe https://github.com/psauxwwf/olcrtc/releases/latest/download/olcrtc-windows-amd64.exe
wget -O olcrtc-darwin-amd64 https://github.com/psauxwwf/olcrtc/releases/latest/download/olcrtc-darwin-amd64
  1. Connect via client (all connection details are in LOCAL.md)
./script/cnc.sh

The current olcrtc CLI starts from YAML config only: olcrtc <config.yaml>. For GUI/mobile clients, use the URI from LOCAL.md.

  1. Check proxy
curl -x socks5h://127.0.0.1:1080 ident.me

Links:

  1. Unoficcial android app UNIVERSAL CARRIER LINK

About

olc - implementation of BB22, using side channels to access web outside the whitelist

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 89.2%
  • Python 5.7%
  • Shell 4.9%
  • Dockerfile 0.2%