Code Monkey home page Code Monkey logo

oblivion's Introduction

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.

oblivion3.jpg

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 or Google play store and install it. Get it on Google Play

  2. Connect: Launch Oblivion and hit the switch button.

Building the Project

Prerequisites

  • NDK r26b (26.1.10909125)
  • Go 1.22

Follow the steps below to build the Oblivion:

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

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.

oblivion's People

Contributors

alirezaafkar avatar ameerhossein avatar amillinium avatar binaryb3ast avatar comm4nd3rx avatar danielcoderx avatar dependabot[bot] avatar epic-r-r avatar erfansn avatar hanakdev avatar ircfspace avatar markpash avatar mmrabbani avatar mohamadkhalaj avatar mohammadshg84 avatar uoosef avatar vaccine919 avatar wqerrewetw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oblivion's Issues

Termux: permission denied

DEBUG: 2024/02/14 10:12:14 Routine: event worker - started
DEBUG: 2024/02/14 10:12:14 Interface up requested
ERROR: 2024/02/14 10:12:14 Unable to update bind: permission denied
DEBUG: 2024/02/14 10:12:14 Interface state was Down, requested Up, now Down
2024/02/14 10:12:14 permission denied
2024/02/14 10:12:14 permission denied

Infinite connecting state

It is unable to connect successfully and stucks in the connecting state infinitely.
Android: 14
Oblivion v0.0.9

Screen_Recording_20240214_153530_Oblivion.mp4

لود نکردن سایت ها

موقع استفاده از نت خانگی سایت ها لود نمیشن ولی بقیه نرم افزار ها مشکلی ندارن ولی رو نت موبایل مشکلی نیست

FR : Implement on mikrotik 🥹

Standard wireguard including standard warp can be implemented on Latest Mikrotik devices , it would be nice if this modified warp can be used on mikrotik, no need for psiphon or gool options , the simple scenario would be enough for most cases

Change default DNS

As i noticed the default DNS is set to google's 8.8.8.8 and 8.4.4.8.
Is there any way to change them to anything else?

Problem in automatic mode (occurs sometimes)

Another problem is that on the automatic mode of Psiphon, some sites and even the Google site do not work, but YouTube works, but there is no problem in the location selection like DE or US.The problem is only in automatic mode.

Some bugs, and FR

درود

۱. وقتی سایفون فعال هست، جستجوی گوگل کار نمیکنه و این ارور میده توی مرورگر:
ERR_CONNECTION_RESET
یا
ERR_QUIC_PROTOCOL_ERROR

۲. وقتی روی یک اپراتور هستیم، با قطع و وصل کردن اینترنت، برنامه در پس زمینه متصل میشه. اما اگه اپراتور رو عوض کنیم مثلا از مخابرات به رایتل سوئیچ کنیم، برنامه به صورت خودکار در پس زمینه وصل نمیشه و باید برنامه رو باز کنیم و به صورت دستی دوباره وصل بشیم

۳. اگه امکان هست قابلیت پراکسی نشدن سایت و آی پی دلخواه را هم اضافه کنید

۴. دو تا پیشنهاد داشتم برای نوار نوتیفیکیشن:

وقتی برنامه در پس زمینه در حال اجرا هست و متصل میشه، کلمه connected to
قبل از اسم برنامه نمایش داده بشه و وقتی اینترنت قطع هست بجاش کلمه connecting to
بیاد تا کاربر با نگاه به نوتیفیکیشن سریعا بفهمه که وی پی ان وصل شده یا نه

این مورد بالا رو توی صفحه اصلی برنامه هم میشه اعمال کرد

بهتره نوار نوتیفیکشن برای گوشی‌هایی که زبانشون فارسی هست، به صورت اتوماتیک راست چین و فارسی بشه

۵. وقتی دکمه وصل شدن رو میزنیم سریعا صدای اتصال میاد، در حالیکه برنامه چند ثانیه بعد وصل میشه. به نظر من بهتره این صدای اتصال نوتیفیکیشن اصلا حذف بشه

همه این موارد با ورژن ۱ تست شده است.

با تشکر

Add Windows Version

I know you made a windows version but it's annoying to always do those commands

Also it's buggy and not as stable as Oblivion

I can't enable TUN mode and there is this bug that just shuts down the whole devices internet when you Close the warp exe some times

Also I cant I can't make issues there for some reason idk why

It'd be great if you just made graphical client like oblivion for windows

The app can not connect with custom endpoint

Hi @markpash

The app will not connected with custom endpoint for example 162.159.193.1:2408
this custom endpoint is ok and working fine in official cloudflare warp for example warp-cli Linux.
Also I tried to connect via connectivity.cloudflareclient.com but no chance.
Can you check?

Thanks.

Bypass Iranian IPs

Hi

If it is possible please add an option to bypass Iranian IPs and .ir domains.

Also please consider to add an option to set custom dns (adguaurd dns to improve speed and eliminate ads)

These options can reduce data usage significantly.

Thanks

App VPN Service Lifetime

سرویس وی پی انی که اپ میسازد، وقتی فیلترشکن دیگه ای مورد استفاده قرار میگیرد، همچنان روشن میماند و در نوار نوتیفیکیشن گوشی کاربر فعال باقی میماند.

Log page issue

The color of log page texts are white. Better to be changed to darkest color

Bug (Not loading any website or app on Shatel)

When I turn on oblivion, it doesn't open any site or app except Instagram (my net is Shatel), I suggest you use the strategy that Hidify uses for wireguard go, it works great on all internets.
The video below shows this bug

VID_20240223_111555_573.mp4

Update Checker Or Auto update install

This option must be added because the update program will be released and if it is updated inside the program, it will be better like this, there is no need to check Github or anything else.

Connecting

In app even though when you check log and it say it's connected, the UI is stock at connecting but everything is working just fine so it's a UI bug. (When warp in warp is on)

FR: status bar

نمایش سرعت
نمایش آیپی تمیز
در status bar

Some points for code optimization

  1. "switch-button" library you're using (com.github.zcweng:switch-button:0.0.3) might be outdated. please check if there are newer versions available.

  2. Why ProGaurd is disabled? (minifyEnabled false) - It is better to make it harder for attackers to reverse engineer your code.

  3. You've set the repositoriesMode to FAIL_ON_PROJECT_REPOS. Does this means that Gradle will fail if there are any project-specific repositories defined in subprojects?

  4. In gradlew.bat document: In the provided script, users can customize JVM options (like memory settings) through environment variables such as JAVA_OPTS and GRADLE_OPTS. This means users can set their own values for these variables.
    If these variables are not properly validated and sanitized (checked for harmful input), attackers could potentially manipulate them to execute malicious commands or perform unauthorized actions on the system.

Refactor and Improve Command-line Flag Parsing

Hey there,

I think the command-line flag parsing section to be a bit complex. I've made some improvements to make it more efficient. Before sending a pull request, I wanted to discuss these changes with you and ensure they align with your vision for the project.

Here's the modified code:

	fs := flag.NewFlagSet("warp-plus-go", flag.ExitOnError)

	verbose = fs.Bool("v", false, "Enable verbose logging.")
	bindAddress = fs.String("b", "127.0.0.1:8086", "Set the SOCKS bind address.")
	endpoint = fs.String("e", "notset", "Specify the Warp endpoint IP.")
	license = fs.String("k", "notset", "Your Warp license key.")
	country = fs.String("country", "", "ISO 3166-1 alpha-2 country code for Psiphon.")
	psiphonEnabled = fs.Bool("cfon", false, "Enable Psiphon over Warp.")
	gool = fs.Bool("gool", false, "Enable Warp in Warp.")
	scan = fs.Bool("scan", false, "Enable Warp scanner (experimental).")

	flag.Usage = func() {
		fmt.Printf("Usage: %s [-v] [-b addr:port] [-e warp-ip] [-k license-key] [-country country-code] [-cfon] [-gool] [-scan]\n", fs.Name())
		fmt.Println("Options:")
		fs.PrintDefaults()
	}

	err := fs.Parse(os.Args[1:])
	if err != nil {
		log.Fatalf("Failed to parse flags: %v", err)
	}

	if err := validateFlags(); err != nil {
		log.Fatalf("Validation error: %v", err)
	}

func validateFlags() error {
	if *psiphonEnabled && *country == "" {
		return fmt.Errorf("if Psiphon is enabled, country code must be provided")
	}

	// Other validations ... ( like a map for country codes )

	return nil
}

I've also added a usage message to guide users on how to use the application effectively.

Usage: warp-plus-go [-v] [-b addr:port] [-e warp-ip] [-k license-key] [-country country-code] [-cfon] [-gool] [-scan]
Options:
  -v            Enable verbose logging.
  -b            Set the SOCKS bind address.
  -e            Specify the Warp endpoint IP.
  -k            Your Warp license key.
  -country      ISO 3166-1 alpha-2 country code for Psiphon.
  -cfon         Enable Psiphon over Warp.
  -gool         Enable Warp in Warp.
  -scan         Enable Warp scanner (experimental).

would appreciate your feedback on these changes. If you find them suitable, I'll be happy to create a pull request for it

About Language

I hope the author can add language options, such as Chinese, thank you!

مشکل در بیلد شدن پروژه

سلام
موقع بیلد شدن پروژه داخل کلاس OblivionVpnService یه ارور میده من تصویر رو ضمیمه میکنم
مشکل چیه؟ ایا از وی پی ان هست مشکل؟
1

unable to change psiphon location

When I want to change the location of the Psiphon, after exiting the settings menu, it returns to automatic mode, and even after connecting, it does not give the location I want. Another problem is that all kinds of check ip sites don't open and this is another problem and I can't check the ip location, but these problems were not in the previous version. Please fix the problems, thank you

Feature request

Please ....

add proxy only mode , both socks5 and http
Twitter only supports http proxy

support custom doh , dot or doq like adguard dns to use adblocking or other dns related tools

Save previously used endpoint for future connections

سلام و تشکر بابت این برنامه. واقعا می‌تونه نجات بخش باشه.
به نظر میرسه چند ثانیه تا یک دقیقه طول می‌کشه تا برنامه نود و نحوه مناسب اتصال رو پیدا کنه. خیلی خوب میشه اگر آخرین نود و نحوه اتصال در برنامه ذخیره بشه تا برای دفعات بعد ابتدا از اون روش استفاده بشه و بعد مسیر های دیگه تست بشه.
اگر حرفی که زدم از نظر فنی اشتباه یا غیر قابل اجرا هست، عذرخواهی میکنم و لطفاً issue را ببندید

اضافه کردن toggle button

خواهشا یک تاگل باتن به برنامه اضافه کنید تا مثل وی تو ری بتونیم با یک گزینه اتصال رو برقرار کنیم و نیازی به رفتن به داخل برنامه نباشه. اضاف کردن این گزینه در حال حاضر به نظر بنده و خیلی های دیگه ضروری ترین چیزه چون بدون هیچ مشکلی برنامه الان داره کار میکنه و فیچر های دیگه مثل اسپلیت ترافیک و برنامه ها فعلا ضروری نیس. با تشکر از شما بابت ساخت این برنامه شگفت انگیز توی این اوضاع نابسامان اینترنتی

What happens next?

As many of you know, @uoosef isn't around to work on the various apps and projects. We can't let his vision get lost, and his apps have enough users that it's very valuable to keep the app working and make it better.

Myself personally, I have barely any Java and Android app development experience. I've just managed to get the local environment running for building and testing, but anything with a GUI is not for me. But I am the owner and I have to accept responsibility for what gets published here, so here's what I'm thinking we should do.
I am currently in the process of getting the app published on the play store, this is essential to build and maintain the trust of all users. This was already the plan before @uoosef disappearing and I'd already started the process. As a result, I will take care of tagging releases and publishing assets. APKs will be signed locally on my machine, and my key will not leave my machine for the foreseeable future.
I will also take care of the Go side of things, that's where I'm most capable.
@ircfspace has kindly done a bunch of work for UI/UX, so they can take on that responsibility.

What we need next is to determine what the state of the Java codebase is. Find any critical bugs in that part and fix them. There's likely a lot of issues with state management and coordinating with the Go bindings.

We need some volunteers with good Java and Android dev skills to evaluate the code and start proposing changes.
We've had good contributions so far, let's keep that going.

I'll keep this post updated with more info and decisions.

Connection in apps

بعد کانکت شدن حتی با آپشن گول فقط اپ تلگرام کار میکنه ولی همون سرعتش عالیه ولی بقیه اپ ها مثل یوتوب حتی مرورگر هیچ سایتی رو بالا نمیاره
نت همراه اول اندروید ۱۱

report bugs

Hello.
1.When activating the gool option The VPN will automatically disconnect and not connect
2.Output country feature in psiphon settings It does not work properly and does not turn on when activating the VPN application
3.The program relies on the manual IP of Warp and the ability to find the IP automatically has not been applied.
Thanks

مشکلات ورژن 1

در صورت خالی بودن پورت کانکت نمیشه ( ورژن های قبل میشد)
در صورت زدن لایسنس کانکنت نمیشه ( ورژن های قبل میشد)
دکمه اتصال دائم روی حالت اتصال برقرار نشد باقی میمونه در صورتی که هریک از موارد بالا رعایت نشه . و کرش میکنه توی این حالت ( حداقل توی شیائومی)

App Version

Hi,
App version isn't match with github version. App version is 1.9 but it should be 0.0.9.

(Proxy mode)پروکسی مود

درود، اگه میشه پروکسی مود رو هم در نظر بگیرید چون خودتون که میدونید توی دنیای مجازی پر از تبلیغات آزار دهنده‌س
که باعث میشه مصرف اینترنت به شدت افزایش پیدا کنه واسه ما ایرانی ها معضله بزرگیه پس مجبوریم از اد بلاک‌ استفاده کنیم تا مصرف نتمون رو کنترول کنیم با تشکر.
خیلی ممنونم بابت زحماتی که میکشین بدرود.

Add app toggle

Apps like nekobox and v2rayng has app toggle and its very useful, it let you connect without opening the app. please add this feature

iOS app

I'm not sure if it is possible or not to make an iOS version. I'm sure many would appreciate it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.