olcrtc configurator built with Kotlin Multiplatform and Compose.
Alpha version. Not intended for production use.
Support options are not publicly listed. Contact the author if needed.
Автор ничего не продаёт.
Не продаются приложение, доступ, конфигурации, подписки или услуги поддержки.
Возможен только добровольный донат.
This software is intended for development, testing and research purposes only.
The author does not provide any guarantees regarding:
- availability of network access
- compatibility with specific services
- compliance with any external restrictions
Users are solely responsible for how they use this software and must comply with applicable laws.
This software is not intended to be used for bypassing access restrictions or violating applicable laws. The author does not support or encourage such use.
- One-tap tunnel start/stop with live relay status.
- Saved connection profiles with active location selection.
- Providers: Jazz, Telemost, WB Stream, Jitsi.
- Transports: DataChannel, VP8, SEI.
- VP8 tuning: FPS and batch size.
- Connectivity checks for individual locations.
- Config import from clipboard/file and export to clipboard.
- Diagnostics log view with log export.
- Android TUN/proxy modes, SOCKS5 credentials, split tunneling.
- Network migration, reconnect handling, and watchdog recovery.
| Platform | Modes | Runtime |
|---|---|---|
| Android | TUN, proxy | VpnService, hev-socks5-tunnel, local olcrtc SOCKS5 |
| iOS | Proxy | local olcrtc SOCKS5 hosted by a Swift shell |
| macOS | Proxy | local olcrtc SOCKS5 with OS PAC settings |
| Windows | TUN | local olcrtc SOCKS5, hev-socks5-tunnel, Wintun |
| Linux | TUN | local olcrtc SOCKS5, hev-socks5-tunnel, policy routes |
| Area | Requirement |
|---|---|
| JVM | JDK 17+ |
| Android | Android Studio, Android SDK, Android NDK |
| Desktop native assets | Go and local olcrtc fork |
| Linux TUN | iproute2, /dev/net/tun, root/Polkit/sudo privileges |
| Windows TUN | UAC elevation when TUN starts and bundled Wintun runtime |
Default local olcrtc path:
../olcrtc
Override it with OLCRTC_REPO:
OLCRTC_REPO=/path/to/olcrtc ./gradlew :desktopApp:runRelative OLCRTC_REPO values are resolved from the olcbox project root:
OLCRTC_REPO=../olcrtc-ansible-deploy/olcrtc ./gradlew :androidApp:assembleRelease$env:OLCRTC_REPO="C:\path\to\olcrtc"
.\gradlew.bat :desktopApp:run| Task | Command |
|---|---|
| Android debug APK | ./gradlew :androidApp:assembleDebug |
| Install Android debug APK | ./gradlew :androidApp:installDebug |
| iOS simulator app | xcodebuild -project iosApp/iosApp.xcodeproj -scheme iosApp -sdk iphonesimulator -configuration Debug build |
| Run desktop app | ./gradlew :desktopApp:run |
| Run desktop app with hot reload | ./gradlew :desktopApp:hotRun --auto |
| Build desktop native assets | ./gradlew :desktopApp:buildDesktopNativeAssets |
| Package current host OS | ./gradlew :desktopApp:packageReleaseDistributionForCurrentOS |
| Main checks | ./gradlew :sharedUI:jvmTest :desktopApp:compileKotlin :androidApp:assembleDebug |
| JVM tests | ./gradlew :sharedUI:jvmTest |
| Target | Command | Output |
|---|---|---|
| Android debug | ./gradlew :androidApp:assembleDebug |
androidApp/build/outputs/apk/debug/androidApp-debug.apk |
| Android release | ./gradlew :androidApp:assembleRelease |
androidApp/build/outputs/apk/release/androidApp-release.apk |
| iOS simulator | xcodebuild -project iosApp/iosApp.xcodeproj -scheme iosApp -sdk iphonesimulator -configuration Debug build |
Xcode DerivedData app product |
| macOS DMG | ./gradlew :desktopApp:packageReleaseDmg |
desktopApp/build/compose/binaries/main-release/dmg/Olcbox-1.0.0.dmg |
| Windows EXE | .\gradlew.bat :desktopApp:packageReleaseExe |
desktopApp\build\compose\binaries\main-release\exe\Olcbox-1.0.0.exe |
| Windows MSI | .\gradlew.bat :desktopApp:packageReleaseMsi |
desktopApp\build\compose\binaries\main-release\msi\Olcbox-1.0.0.msi |
| Linux AppImage | ./gradlew :desktopApp:packageReleaseLinuxAppImage |
desktopApp/build/compose/binaries/main-release/appimage/Olcbox-1.0.0-amd64.AppImage |
| Asset | Path |
|---|---|
macOS olcrtc |
desktopApp/build/generated/desktopNativeResources/native/olcrtc-darwin-arm64 |
Linux olcrtc |
desktopApp/build/generated/desktopNativeResources/native/olcrtc-linux-amd64 |
Linux olcrtc ARM |
desktopApp/build/generated/desktopNativeResources/native/olcrtc-linux-arm64 |
Windows olcrtc |
desktopApp/build/generated/desktopNativeResources/native/olcrtc-windows-amd64.exe |
Linux hev-socks5-tunnel |
desktopApp/build/generated/desktopNativeResources/native/hev-socks5-tunnel-linux-amd64 |
Linux hev-socks5-tunnel ARM |
desktopApp/build/generated/desktopNativeResources/native/hev-socks5-tunnel-linux-arm64 |
Windows hev-socks5-tunnel |
desktopApp/build/generated/desktopNativeResources/native/hev-socks5-tunnel-windows-amd64.exe |
| Windows Wintun runtime | desktopApp/build/generated/desktopNativeResources/native/wintun.dll |
- Android native ABIs:
armeabi-v7a,arm64-v8a,x86_64. - Android release builds require
keystore.propertiesin the repository root. - macOS DMG output is not notarized unless signing/notarization is configured separately.
- Windows installers must be built on Windows with
jpackageand WiX available. - Linux TUN interface:
olcbox0. - Linux stop removes policy routes and reverts
systemd-resolvedsettings whenresolvectlis available.
keystore.properties:
storeFile=/absolute/path/to/release.keystore
storePassword=...
keyAlias=...
keyPassword=...Linux privilege override:
Linux privilege override:
OLCBOX_LINUX_PRIVILEGE=sudo ./gradlew :desktopApp:run
OLCBOX_LINUX_PRIVILEGE=pkexec ./gradlew :desktopApp:run

