$ show bepass-org/oblivion
Oblivion is a cross-platform VPN/tunneling application that provides secure internet access through Cloudflare Warp technology (unofficially) and supports Zero Trust authentication. The application uses a hybrid architecture with a Flutter frontend for the UI and a Rust core for tunnel logic, communicating via FFI on desktop and platform channels on mobile. It supports multiple tunneling protocols (MASQUE over QUIC/HTTP-3, WireGuard) and includes features like split tunneling, traffic obfuscation, and geo-location-based exit node selection. The codebase demonstrates strong engineering practices in platform abstraction, configuration management, and privilege separation, though build complexity and dependency management introduce maintenance challenges.
The LLM identified 5 files worth highlighting for reuse:
Encapsulates FFI interactions with the Rust core for desktop platforms, providing a type-safe Dart API for tunnel operations. Demonstrates skill in managing pointers, structs, and memory safety across language boundaries while isolating platform-specific complexity.
Centralized configuration model defining tunnel parameters (protocol, transport, routing rules) with methods to generate platform-specific configs (e.g., hevYaml for Rust core). Shows excellent use of Dart enums and classes for type-safe settings management and conversion to native formats.
Manages the lifecycle of the tunnel core process, handling logging, crash recovery, and privilege escalation via helper binaries. Demonstrates robust process supervision patterns with stdout/stderr communication and log rotation, crucial for secure tunneling applications.
Abstracts persistent storage using shared_preferences with a clean, typed API for app settings. Provides default values and encapsulates storage logic, making settings management reusable across the application with minimal boilerplate.
Platform-specific DNS implementation (Unix) with complementary Windows version, showcasing effective use of #[cfg] attributes to isolate platform differences. The core logic remains agnostic to OS-specific details while maintaining a consistent interface.