bepass-org/oblivion
65.0
Adequate · 19 September 2026
14.9k
lines of production code
Dart
with Rust, Kotlin
1
measurement over time
What this system is
This system is a cross-platform VPN client, primarily built with Flutter, that manages network tunneling through the Aether and Psiphon core engines. It provides connectivity features such as split tunneling, MTU optimization, and protocol chaining across Android, iOS, Windows, macOS, and Linux. The application handles platform-specific system integrations, including VPN services, proxy management, and native core bindings, while supporting localization in English and Persian.
Features
Added national flag assets for the macOS application
The macOS application now includes a set of national flag icons (SVG files for countries including Austria, Australia, Azerbaijan, Belgium, Canada, Switzerland, Czechia, Germany, Denmark, Estonia, Spain, Finland, France, the United Kingdom, and Croatia) in the assets directory, enabling the app to display these flags in its user interface.
assets, macos · high confidence
Android app rewritten in Flutter with Aether core integration
The Android application has been completely rewritten using Flutter, replacing the previous implementation. This change introduces the Aether core as the underlying VPN engine, with the Kotlin \OblivionPlugin\ handling platform-specific interactions such as VPN service preparation, status streaming, and log management. The app now supports Android TV via leanback launcher intents and includes separate version reporting for the Aether and Psiphon components. Build infrastructure has been updated to Gradle 9.1.0, and ProGuard rules have been configured to preserve the necessary VPN services and Flutter engine classes.
android · high confidence
Desktop tunnel backend and core bindings introduced
The application now supports desktop platforms (Linux, Windows, macOS) by adding a new \DesktopTunnelBackend\ and \DesktopCoreBindings\ in \lib/data/services\. These files implement FFI-based communication with native core libraries (\oblivion\_core.dll/.so/.dylib\), handling binary discovery, connection, status polling, and logging. This change adds the necessary service layer to run the tunnel on desktop, complementing the existing mobile implementation via native channels.
lib/data/services · high confidence
Initial English and Persian localization for Oblivion
The app now supports English and Persian (Farsi) interfaces, providing full translation coverage for the connection status indicators, settings panels (including Cloudflare Zero Trust, split tunneling, and protocol options), and the introductory memorial content honoring activists.
lib/l10n · high confidence
New build and deployment tooling for Linux and Android
Added three new shell scripts to the tools directory to support the app's new Flutter-based architecture. build-psiphon-aar.sh automates the compilation of the Psiphon Android Archive (AAR) using gomobile, handling environment setup and library alignment checks. bundle-linux-libs.sh ensures Linux desktop bundles are self-contained by copying necessary shared libraries and patching their runpaths to avoid dependency conflicts with system libraries. run-linux-root.sh provides a safe wrapper to launch the Linux bundle with elevated privileges, correctly forwarding display and session environment variables.
tools · high confidence
New data models for tunnel configuration, MTU handling, and connection status
This change introduces a new set of data models in \lib/data/models\ that define the structure for tunnel settings, MTU (Maximum Transmission Unit) plans, and connection status. The \TunnelSettings\ model now supports multiple core engines (Aether, Psiphon, Chain) and protocols (Masque, WireGuard, Gool), along with detailed configuration options like obfuscation profiles, scan modes, and IP versions. The \MtuPlan\ and \MtuProfile\ classes provide logic for calculating optimal MTU sizes based on the selected protocol and carrier, handling overheads for both IPv4 and IPv6. Additionally, \GeoEndpoint\ models geographic location data including ISP and Cloudflare Warp status, while \TunnelStatus\ and \TunnelCapability\ models track the current state, statistics, and capabilities of the active tunnel connection.
lib/data/models · high confidence
Behavioural changes
Android VPN app rewritten in Flutter with integrated Psiphon support
The Android VPN application has been rewritten in Flutter and integrated with the Aether core and Psiphon tunneling capabilities. This change introduces a new architecture where the app manages the Aether core binary and a Psiphon tunnel wrapper, handling configuration bundling, status publishing, and logging. Users benefit from separate version reporting for Aether and Psiphon, improved split tunneling and MTU handling, and a redesigned notification interface.
android/aether-vpn · high confidence
Android VPN service rewritten in Kotlin with Psiphon and Aether core support
The Android VPN service (AetherVpnService) has been rewritten in Kotlin, replacing the previous implementation to support both the Aether core and the Psiphon core. This change introduces a new architecture where Psiphon can be used as a standalone tunnel or chained behind the Aether core, enabling users to bypass censorship via Psiphon's CDN and conduit modes. The service now manages tunnel configuration, validation, and statistics through dedicated Kotlin classes (TunnelConfig, TunnelStage, TProxyService) and integrates with the HEV SOCKS5 tunnel for proxy functionality.
aether-vpn · high confidence
App rewritten in Flutter with new Aether-based UI screens
The app has been rewritten in Flutter, replacing the previous implementation with a new set of presentation screens (About, Advanced, Home, Logs, Psiphon, Settings, Split Tunnel, and Zero Trust) that manage the Aether core engine. Users can now view separate Aether and Psiphon core versions in the About screen, configure advanced tunnel settings including MTU optimization and split tunneling, and manage Psiphon-specific options like CDN fronting and conduit peers. The Home screen provides a unified connection toggle with status feedback, while the Logs screen retains previous log history on open and supports copying. The Settings screen allows switching between Aether, Psiphon, and chained core engines, and the Zero Trust screen enables team-based access configuration.
lib/presentation/screens · high confidence
Introduces Flutter-based app state management and version display providers
The application now uses a new set of Riverpod providers in the presentation layer to manage app preferences, tunnel settings, and geo-location state. This change introduces separate version providers for the core engine and Psiphon, allowing users to see these versions displayed independently. Additionally, the new provider structure supports a faster initial connection strategy and ensures the connect flow does not block on notification prompts, improving the responsiveness of the connection process.
lib/presentation/providers · medium confidence
Native build system integrates Aether, Psiphon, and Oblivion core components
The native build process now compiles and bundles three distinct tunnel engines: the Oblivion FFI bridge and privileged helper (Rust), the Aether tunnel engine (Rust), and the Psiphon tunnel engine (Go). On Windows, the build system detects and includes the hev-socks5-tunnel helper executable for proxy functionality, while on other platforms it attempts to build and link the hev-socks5-tunnel static libraries directly into the application. The build is conditional, issuing warnings if Aether or Psiphon source directories are missing, and allows users to disable the tunnel mode entirely by unsetting the OBLIVION\_REQUIRE\_HEV environment variable if the hev-socks5-tunnel sources are unavailable.
native · high confidence
Native core rewritten with platform-specific tunneling and DNS management
The native core has been completely rewritten to provide a robust, cross-platform tunneling engine. On Windows, the tunnel device now runs as a bundled helper process (oblivion-helper) to manage system routes and DNS overrides, while Unix systems use a direct library integration. The new core introduces a fast-first-connect strategy that attempts a quick connection before falling back to a thorough scan, and adds support for chaining Psiphon behind the Aether core. It also includes comprehensive system proxy management for GNOME, KDE, Windows, and macOS, along with a connectivity probe to verify tunnel health.
_native/oblivion\core · high confidence
Oblivion Linux desktop app rewritten in Flutter
The Linux desktop client has been rewritten in Flutter, replacing the previous implementation. This change introduces a new native shell that manages the application window, system tray integration (with dynamic icons and labels for connection states), and a PolicyKit policy for tunnel mode elevation. The app now features a consistent visual identity with a custom theme (Vazirmatn font, orange primary color) and light/dark mode support, along with utility formatters for data and time display.
lib/core, linux · high confidence
Project initialized with Flutter framework and Aether core integration
The repository has been restructured as a Flutter application, introducing standard project configuration files such as \.gitignore\, \analysis\_options.yaml\, and \l10n.yaml\ for localization. The app now integrates the Aether core via a Git submodule (\aetherproject\) and includes build infrastructure for Android (using a custom PSiphon AAR and Hev-socks5-tunnel) and Windows (MSYS2 build). Additionally, the project license has been set to MIT.
(repo-wide) · high confidence
Windows app now uses a Flutter-based UI with bundled native core libraries
The Windows application has been rewritten using Flutter, replacing the previous implementation. This change introduces a new build system (CMake) and runner architecture that integrates the 'oblivion' core, the 'aether' core, and the 'psiphon' core as bundled native libraries. The UI now runs on the Flutter engine and registers standard plugins for screen retrieval, tray management, URL launching, and window management, ensuring the application bundles all necessary native assets and helper binaries for a self-contained installation.
windows · high confidence
iOS app rewritten in Flutter with Aether core integration
The iOS application has been completely rewritten using Flutter, replacing the previous native implementation. This change introduces a new architecture where the iOS \PacketTunnelProvider\ communicates with the \AetherCoreBridge\ to manage the underlying tunnel, while the \OblivionPlugin\ handles method channels for connection control and status reporting. Users will experience the app running on the Flutter framework, which standardizes the UI and backend logic across platforms.
ios, lib · high confidence
Test coverage
Added tests for tunnel configuration, MTU handling, and localization
Added comprehensive test coverage for the tunnel settings model, including chain engine logic (aether/psiphon port allocation), Goool endpoint parsing and hop configuration, MTU plan resolution and probing, split tunnel modes, and tunnel status capabilities. Also added tests for the developer note widget's localization (English and Persian) and layout direction, as well as the settings store's persistence behavior for tunnel settings, app preferences, and installed app data.
test · high confidence
Dependencies
Android build infrastructure and core dependencies established
The Android build system has been restructured to support the new Flutter-based application and the integrated Aether core. The \aether-vpn\ module now compiles the Rust core for Android ABIs using NDK 29 and targets Android SDK 37, while the main \app\ module is configured for Flutter with SDK 37 and Java 17. The project includes a new \psiphon\ module that consumes a prebuilt AAR, and the Rust \oblivion\_core\ dependencies (such as \serde\ and \windows-sys\) are pinned in the lockfile. Additionally, the Flutter application dependencies are defined in \pubspec.yaml\, including \flutter\_riverpod\ and \flutter\_svg\.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 65.
Lenses
- Code Health 90
- Architecture 91
- Maturity 55
- Readiness 59
- Security 82
- Domain Modelling 100
Changes since last survey
- 251 commits — 169 feature/other, 82 fixes
By area
- app/src — 108 commits
- .github/workflows — 49 commits
- (root) — 20 commits
- app/build.gradle — 18 commits
- (repo) — 11 commits
- android/aether-vpn — 11 commits
- app/libs — 7 commits
- native/oblivion_core — 6 commits
- lib/l10n — 4 commits
- lib/presentation — 4 commits
- tun2socks/go.mod — 4 commits
- android/app — 2 commits
- lib/data — 2 commits
- .github/dependabot.yml — 1 commit
- tools/build-psiphon-aar.sh — 1 commit
- tun2socks/README.md — 1 commit
- tun2socks/tun2socks.go — 1 commit
- windows/CMakeLists.txt — 1 commit
Notable commits
- fix: Exepmt fix sdk 34
- fix: Fix CI
- fix: Fix Data sync/reset
- fix: Fix Font override
- fix: Fix Notification and VPN service, Add Copy log feature
- fix: Fix Translation Logic Issue
- fix: Fix country flag of connected country in main screen (#392)
- fix: Fix duplicate connection state change callback calls
- fix: Fix endpoints
- fix: Fix issue #77 - Location change bug
- fix: Fix premature CONNECTED state when psiphon mode is on
- fix: Fix setting scroll issue
- fix: Fix stuck connection when another VPN app connects
- fix: Fix: gradle golang lib build part
- fix: Fixed Executor and Lint and TV
- fix: Fixed battery issue, improved VpnService performance
- fix: Fixed bugs and made improvements for GitHub issues
- fix: HotFix Release V5
- fix: HotFix, Filemanager
- fix: HotFix, Locale/Filemanager
- …and 231 more
Architecture
- 0 containers · 1 bounded contexts · 0 dependency edges (baseline)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
bepass-org/oblivion was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 12a62f79672b4062d3fd5e509ed7f15569fbd7c4 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.