1.1 KiB
1.1 KiB
Repository and Package Structure
Android Project
apps/android/app
apps/android/core/domain
apps/android/core/engine
apps/android/feature/share
apps/android/service/gateway
Kotlin Packages
org.vpnshare.app
org.vpnshare.domain.model
org.vpnshare.engine
org.vpnshare.feature.share
org.vpnshare.gateway
org.vpnshare.gateway.discovery
org.vpnshare.gateway.transport
Guidelines:
- Domain module contains no Android platform APIs.
- Engine module defines Kotlin-facing core interfaces and FFI adapters.
- Gateway service module owns Android network, USB, NSD, hotspot, and foreground-service integration.
- Feature modules own Compose UI only.
Rust Workspace
crates/vpnshare-proto
crates/vpnshare-core
crates/vpnshare-transport
crates/vpnshare-ffi
clients/desktop
Guidelines:
vpnshare-protoowns stable wire format.vpnshare-coreowns packet tunnel domain logic.vpnshare-transportowns transport-independent I/O traits.vpnshare-ffiis the narrow C ABI/JNI bridge.- Platform clients bind the Rust core to virtual NIC and OS lifecycle APIs.