MCPcopy Index your code
hub / github.com/bepass-org/oblivion

github.com/bepass-org/oblivion @v0.0.9-test

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.0.9-test ↗ · + Follow
113 symbols 268 edges 14 files 4 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Oblivion - Unofficial Warp Client for Android

"Internet, for all or none!"

Oblivion provides secure, optimized internet access through a user-friendly Android app using cloudflare warp technology

It's leveraging bepass-sdk and a custom Go implementation of WireGuard, it's designed for fast and private online experiences.

Features

  • Secure VPN: Custom WireGuard implementation in Go.
  • Optimized Speeds: Enhanced with bepass-sdk for minimal latency.
  • User-Friendly: Simple, intuitive interface.

Quick Start

  1. Download: Grab the APK from our Releases page.
  2. Install: Open the APK file to install.
  3. Connect: Launch Oblivion and hit the switch button.

Building the Project

Prerequisites

  • Java 17
  • Gradle 8
  • Android Gradle Plugin (AGP) 8.1.2
  • NDK r26b (26.1.10909125)
  • Go 1.20.0

Follow the steps below to build the Oblivion:

Building Go libraries

Open the Terminal tab at the bottom of Android Studio.

Navigate to the libs directory:

cd app/libs

Initialize Go modules and install required packages:

go mod tidy
go install golang.org/x/mobile/cmd/gomobile@latest
go install golang.org/x/mobile/cmd/gobind@latest
go get golang.org/x/mobile/cmd/gobind
go get golang.org/x/mobile/cmd/gomobile
go get golang.org/x/mobile

Initialize Go mobile:

gomobile init

Bind the Go package to Android:

gomobile bind -ldflags '-s -w' -o tun2socks.aar -androidapi 21 -target android .

Generate Signed Bundle/APK:

  • In Android Studio, navigate to "Build" in the menu bar.
  • Select "Generate Signed Bundle/APK..."
  • Choose "APK" and proceed.

Select Keystore:

  • Click on "Choose existing..." or "Create new..." to locate your keystore file.
  • Enter the keystore password when prompted.

Configure APK Signature:

  • Select the appropriate key alias from the dropdown menu.
  • Input the key password.
  • Continue to the next step.

Select APK Destination:

  • Choose the destination folder for the signed APK.
  • Finalize by clicking "Finish" to generate the signed APK.

Get Involved

We're a community-driven project, aiming to make the internet accessible for all. Whether you want to contribute code, suggest features, or need some help, we'd love to hear from you! Check out our GitHub Issues or submit a pull request.

Acknowledgements and Credits

This project makes use of several open-source tools and libraries, and we are grateful to the developers and communities behind these projects. In particular, we would like to acknowledge:

Cloudflare Warp

  • Project: Cloudflare Warp
  • Website: Cloudflare Warp
  • License: License information
  • Description: Cloudflare Warp is a technology that enhances the security and performance of Internet applications. We use it in our project for its efficient and secure network traffic routing capabilities.

WireGuard-go

  • Project: WireGuard-go
  • GitHub Repository: WireGuard-go on GitHub
  • License: GNU General Public License v2.0
  • Description: WireGuard-go is an implementation of the WireGuard secure network tunnel. It's used in our project to provide fast, modern, and secure VPN tunneling.

Please note that the use of these tools is governed by their respective licenses, and you should consult those licenses for terms and conditions of use.

License

This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License - see the CC BY-NC-SA 4.0 License for details.

Summary of License

The CC BY-NC-SA 4.0 License is a free, copyleft license suitable for non-commercial use. Here's what it means for using this project:

  • Attribution (BY): You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.

  • NonCommercial (NC): You may not use the material for commercial purposes.

  • ShareAlike (SA): If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.

This summary is only a brief overview. For the full legal text, please visit the provided link.

Extension points exported contracts — how you extend this code

ConnectionStateChangeListener (Interface)
(no doc) [3 implementers]
app/src/main/java/org/bepass/oblivion/ConnectionStateChangeListener.java
SheetsCallBack (Interface)
(no doc)
app/src/main/java/org/bepass/oblivion/SheetsCallBack.java

Core symbols most depended-on inside this repo

set
called by 12
app/src/main/java/org/bepass/oblivion/FileManager.java
getString
called by 12
app/src/main/java/org/bepass/oblivion/FileManager.java
setChecked
called by 10
app/src/main/java/org/bepass/oblivion/TouchAwareSwitch.java
getBoolean
called by 7
app/src/main/java/org/bepass/oblivion/FileManager.java
start
called by 7
app/src/main/java/org/bepass/oblivion/EditSheet.java
setOnCheckedChangeListener
called by 6
app/src/main/java/org/bepass/oblivion/TouchAwareSwitch.java
getInstance
called by 4
app/src/main/java/org/bepass/oblivion/FileManager.java
setLastKnownState
called by 3
app/src/main/java/org/bepass/oblivion/OblivionVpnService.java

Shape

Method 90
Class 10
Function 7
Struct 3
Interface 2
Enum 1

Languages

Java90%
Go10%

Modules by API surface

app/src/main/java/org/bepass/oblivion/OblivionVpnService.java29 symbols
app/src/main/java/org/bepass/oblivion/MainActivity.java19 symbols
app/src/main/java/org/bepass/oblivion/FileManager.java13 symbols
app/src/main/java/org/bepass/oblivion/QuickStartService.java11 symbols
app/src/main/java/org/bepass/oblivion/BugActivity.java7 symbols
app/libs/tun2socks.go7 symbols
app/src/main/java/org/bepass/oblivion/SettingsActivity.java5 symbols
app/src/main/java/org/bepass/oblivion/EditSheet.java5 symbols
app/src/main/java/org/bepass/oblivion/TouchAwareSwitch.java4 symbols
app/src/main/java/org/bepass/oblivion/InfoActivity.java4 symbols
app/libs/lwip/lwip.go4 symbols
app/src/main/java/org/bepass/oblivion/SheetsCallBack.java2 symbols

For agents

$ claude mcp add oblivion \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact