Olcbox

May 25, 2026 · View on GitHub

olcrtc configurator built with Kotlin Multiplatform and Compose.

Olcbox home screen Olcbox location settings screen Olcbox split tunneling settings screen

Status

Alpha version. Not intended for production use.

Support

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.

Usage Restrictions

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.

Features

  • 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 Matrix

PlatformModesRuntime
AndroidTUN, proxyVpnService, hev-socks5-tunnel, local olcrtc SOCKS5
iOSProxylocal olcrtc SOCKS5 hosted by a Swift shell
macOSProxylocal olcrtc SOCKS5 with OS PAC settings
WindowsTUNlocal olcrtc SOCKS5, hev-socks5-tunnel, Wintun
LinuxTUNlocal olcrtc SOCKS5, hev-socks5-tunnel, policy routes

Requirements

AreaRequirement
JVMJDK 17+
AndroidAndroid Studio, Android SDK, Android NDK
Desktop native assetsGo and local olcrtc fork
Linux TUNiproute2, /dev/net/tun, root/Polkit/sudo privileges
Windows TUNUAC 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:run

Relative 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

Commands

TaskCommand
Android debug APK./gradlew :androidApp:assembleDebug
Install Android debug APK./gradlew :androidApp:installDebug
iOS simulator appxcodebuild -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

Build Outputs

TargetCommandOutput
Android debug./gradlew :androidApp:assembleDebugandroidApp/build/outputs/apk/debug/androidApp-debug.apk
Android release./gradlew :androidApp:assembleReleaseandroidApp/build/outputs/apk/release/androidApp-release.apk
iOS simulatorxcodebuild -project iosApp/iosApp.xcodeproj -scheme iosApp -sdk iphonesimulator -configuration Debug buildXcode DerivedData app product
macOS DMG./gradlew :desktopApp:packageReleaseDmgdesktopApp/build/compose/binaries/main-release/dmg/Olcbox-1.0.0.dmg
Windows EXE.\gradlew.bat :desktopApp:packageReleaseExedesktopApp\build\compose\binaries\main-release\exe\Olcbox-1.0.0.exe
Windows MSI.\gradlew.bat :desktopApp:packageReleaseMsidesktopApp\build\compose\binaries\main-release\msi\Olcbox-1.0.0.msi
Linux AppImage./gradlew :desktopApp:packageReleaseLinuxAppImagedesktopApp/build/compose/binaries/main-release/appimage/Olcbox-1.0.0-amd64.AppImage

Native Assets

AssetPath
macOS olcrtcdesktopApp/build/generated/desktopNativeResources/native/olcrtc-darwin-arm64
Linux olcrtcdesktopApp/build/generated/desktopNativeResources/native/olcrtc-linux-amd64
Linux olcrtc ARMdesktopApp/build/generated/desktopNativeResources/native/olcrtc-linux-arm64
Windows olcrtcdesktopApp/build/generated/desktopNativeResources/native/olcrtc-windows-amd64.exe
Linux hev-socks5-tunneldesktopApp/build/generated/desktopNativeResources/native/hev-socks5-tunnel-linux-amd64
Linux hev-socks5-tunnel ARMdesktopApp/build/generated/desktopNativeResources/native/hev-socks5-tunnel-linux-arm64
Windows hev-socks5-tunneldesktopApp/build/generated/desktopNativeResources/native/hev-socks5-tunnel-windows-amd64.exe
Windows Wintun runtimedesktopApp/build/generated/desktopNativeResources/native/wintun.dll

Notes

  • Android native ABIs: armeabi-v7a, arm64-v8a, x86_64.
  • Android release builds require keystore.properties in the repository root.
  • macOS DMG output is not notarized unless signing/notarization is configured separately.
  • Windows installers must be built on Windows with jpackage and WiX available.
  • Linux TUN interface: olcbox0.
  • Linux stop removes policy routes and reverts systemd-resolved settings when resolvectl is 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