Library / SDK
UnboundTechCo/defyxVPN avatar
UnboundTechCo/defyxVPN

defyxVPN: a Flutter client that puts Warp, Psiphon, Xray and Outline behind one button

A modern, secure VPN application built with Flutter that provides internet freedom and privacy protection.

875 stars82 forksDartMIT

At a glance

What is it?
defyxVPN is a Flutter VPN application whose protocol work is delegated to DXcore, which unifies Warp, Psiphon, Xray and Outline alongside proprietary protocols. The client is open source and MIT licensed, but the core that does the connecting is a separate project.
Who is it for?
defyxVPN suits someone who wants a single tap to connect through a provider operated service without configuring a protocol by hand, and who is comfortable with an app whose networking core sits in a separate DXcore project. It does not suit anyone who needs to audit the tunnel implementation or run their own server, because the README documents neither.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Dart, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

One button in front of five protocol families

defyxVPN is a Flutter application for VPN connectivity, and its pitch is that you should not have to know which protocol is carrying your traffic. The README describes it as requiring no manual configuration, with one-tap connect and disconnect, and it calls the app relatively smart rather than clever or automatic.

The variety comes from DXcore, a separate project by the same organisation, which the README says unifies Warp, Psiphon, Warp-in-Warp, Xray, Outline and exclusive proprietary protocols. The repository topics list the same names, plus WireGuard, and add serverless, which suggests some of the transport options do not need a server you operate.

That combination is the reason the app exists. Each of those protocols is individually hard to set up for a non-specialist, and the value of the client is that it hides the choice, picks something that works and gives you a speed test to judge the result. The README lists the ability to test internet speed and quality as a feature in its own right, which tells you the app treats connectivity quality as a user-facing concern rather than an implementation detail.

The audience is therefore a general user on a phone or desktop who wants privacy and reachability, not an operator who wants a tunnelling library to embed in a service.

The app is the interface, DXcore is the network

The repository is a client, and it is worth being precise about where the boundary sits. Everything the user sees and taps lives in this repository, written in Dart with Flutter, while the work of establishing and maintaining the tunnel comes from DXcore, which the README links to its own repository.

The repository layout is consistent with a multi-platform application rather than a library. There are platform directories for android/, ios/, linux/, macos/, windows/ and web/, along with assets/, lib/, test/, scripts/ and docs/ directories. Supporting files include pubspec.yaml and pubspec.lock, analysis_options.yaml, devtools_options.yaml, distribute_options.yaml, a l10n.yaml for localisation, a Makefile, a CHANGELOG.md and an .env.exmaple file whose name carries a typo, which is the kind of small detail that tells you the repository is maintained by people doing real work rather than by a release process.

There is also a .github/ directory with the images used by the README, including the store download badges and the cover image. The releases are published in step with the app stores: v5.12.5 on 2026-10-19, v5.12.4 on 2026-10-14 and v5.12.2 on 2026-10-04, and the last push to the repository was on 2026-10-19.

Native platform channels are where the tunnel is created

The technical architecture section of the README lists four ingredients: the Flutter framework with Dart, Riverpod for state management, native platform channels for the VPN functionality, and a custom interface built from Material Design components.

That third item is the one that matters for anyone assessing the project. The interface cannot create a tunnel itself, so the app reaches into the operating system through platform channels and the native side handles it. The practical consequence is that the behaviour of the tunnel depends on code that is not in the Dart layer, and that a change to the native side is a change to the platform directories rather than to lib/.

Riverpod handles the state, which matters in an application whose central state is a connection that can be up, down, connecting or failed. Material Design components and a custom interface cover the presentation, with l10n.yaml and an assets/ directory indicating that the user-facing strings are localised and that the visuals ship with the bundle.

None of this is unusual for a Flutter application with a native requirement. It does mean the repository is not the whole product, and it means the interesting questions about how the tunnel is established are answered by DXcore and by the native platform code rather than by this README.

Building from source takes a Flutter SDK and a Makefile target

The installation section lists three prerequisites: Flutter SDK 3.7.0 or newer, Dart SDK 3.0.0 or newer, and Xcode for iOS and macOS development. From there the setup is the standard Flutter path.

Dependencies first:

bash
flutter pub get

Then run the application on a connected device or emulator:

bash
flutter run

Packaging for iOS goes through a Makefile target:

bash
make build-ios

The README explains what that target does, and the Makefile at the root of the repository confirms it in three steps: a clean of the Flutter build, a clean of the pub cache, and a build of the IPA file. Cleaning the pub cache before a release build is the kind of detail that avoids a stale dependency in a shipped artefact, at the cost of a longer build.

For ordinary users the README takes a different route entirely. It points to the App Store listing, the Google Play listing, the Microsoft Store listing and the GitHub releases page, with badges for each in the download section. The usage steps are correspondingly simple: launch the app, tap connect, use the speed test to check the connection, and share the app.

So there are two audiences here with two different entry points, and only one of them needs a Flutter toolchain.

MIT on the client, dependency risk on the core

The README states that the project is licensed under the MIT License and points to the LICENSE file in the repository root. That licence covers this repository: the Dart code, the native platform code and the assets.

It does not automatically cover DXcore, which the README describes as unifying protocols including exclusive proprietary ones. A proprietary protocol inside a stack that is otherwise open source is not a contradiction, but it means the full path from your traffic to the server cannot be audited from this repository alone. Read the DXcore repository and the terms of the provider service for that part, and treat this as a pointer rather than legal advice.

The MIT terms themselves are permissive in the usual way, with the usual obligation to keep the copyright and licence text with redistributed copies. For a client that people install from a store rather than build themselves, that obligation lands on whoever redistributes the build, which in practice is the vendor.

Change activity is high and recent. Three tagged releases in October 2026, the last one on 2026-10-19, and a push on the same date, with the repository not archived. The CHANGELOG.md at the root is where the release notes live.

Where defyxVPN is the wrong choice

The clearest case is a requirement to inspect the tunnel. If you need to know exactly how packets leave your device, or you need to prove that the code path is the code you read, this repository does not let you, because the protocol work is in DXcore and the native side is behind platform channels.

The second case is self-hosting. The README documents no server configuration, no credential file for a private endpoint and no way to point the app at your own server. The topics list mentions serverless, which cuts the other way, and the claim that no manual configuration is needed is true precisely because there is nothing for you to configure. If you need to run the exit server yourself, this client is the wrong layer and the protocols it names are the thing you should look at instead.

The third case is trust in the build. The application you install from the App Store, Google Play or the Microsoft Store is a binary compiled by the vendor. The repository you can read is the source, and the README does not describe a reproducible build for the store artefacts. For a tool whose entire purpose is to carry your traffic, that gap between the source you can inspect and the binary you run is worth thinking about rather than assuming away.

The fourth is honesty about what is known. The README does not publish protocol parameters, describe how a protocol is selected, or explain what the speed test measures, so you cannot check from here whether the selection logic picks what you expect in your network.

Editorial conclusion

defyxVPN suits someone who wants a single tap to connect through a provider operated service without configuring a protocol by hand, and who is comfortable with an app whose networking core sits in a separate DXcore project. It does not suit anyone who needs to audit the tunnel implementation or run their own server, because the README documents neither. Before installing it, check what DXcore is pinned to in pubspec.lock and remember that the App Store, Play and Microsoft builds are compiled by the vendor rather than from the repository you read here.

Frequently asked questions

What is defyxVPN built with?

It is a Flutter application written in Dart, using Riverpod for state management, native platform channels for the VPN functionality and a custom interface built from Material Design components. The protocol work is delegated to DXcore.

How do I build defyxVPN from source?

You need Flutter SDK 3.7.0 or newer, Dart SDK 3.0.0 or newer and Xcode for iOS and macOS. Then run flutter pub get, flutter run to launch it, and make build-ios to produce the IPA, which cleans the Flutter build and the pub cache first.

Which protocols does defyxVPN support?

The README says the app is powered by DXcore, which unifies Warp, Psiphon, Warp-in-Warp, Xray, Outline and exclusive proprietary protocols. The repository topics also list WireGuard.

Can I use defyxVPN with my own server?

The README does not document any server configuration, credentials or custom endpoint options, and it states that the app requires no manual configuration. Pointing it at a server you operate is therefore not covered by the documentation.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. UnboundTechCo/defyxVPN on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/unboundtechco-defyxvpn.svg)](https://hysenlabs.com/projects/unboundtechco-defyxvpn)

Was this useful?