mlmvpn/mlmvpn_android
DevOps & Self-hostingMulti-engine Android VPN client with Xray, WARP, Tor, Psiphon and Cloudflare panels, plus a serverless messenger.
Overview
MLM VPN is an Android application that bundles many independent connectivity engines behind one launcher-style home screen. It combines a V2Ray/Xray client with a clean-IP scanner, adaptive routing engines (FLUX and MAE), WARP/MASQUE/WireGuard, AmneziaWG, Psiphon, Tor, Geph, Lantern, OpenVPN and others, plus Cloudflare Worker management tools and a serverless messenger called Gereh. The app is written in Kotlin and Jetpack Compose with minSdk 24, targetSdk 34 and compileSdk 36; the repository also carries Gereh's Rust core, its protocol spec and relay code.
It targets users on restricted networks who need to compare and switch between many circumvention methods, and developers who want to extend the engine set. MAE learns per-network, per-app which route works, and FLUX races multiple routes and verifies the real exit after connecting.
Build from source
Requirements: a recent Android Studio, a JDK matching the Android Gradle Plugin declared in build.gradle, and an Android SDK with compileSdk 36.
git clone https://github.com/mlmvpn/mlmvpn_android.git
cd mlmvpn_android
./gradlew assembleDebug
The debug APK is written to app/build/outputs/apk/debug/. Native libraries under app/src/main/jniLibs/ and data files such as geoip.dat and geosite.dat are large and tracked with Git LFS: install Git LFS and run git lfs pull after cloning if those files appear as small pointer files. Prebuilt binaries (.so, .aar, .dat) are not committed and ship inside each release APK.
Configuration and data handling
Before publication, the maintainers replaced their own server addresses and keys with placeholders (203.0.113.x, *.redacted.invalid, redacted-…), so a source build will not point at working infrastructure by default. Several features depend on the user's own accounts: Cloudflare accounts for the cloud panel, Config Studio and MAE exits; Firefox accounts for FENIX; Proton VPN and Windscribe accounts for their free servers; a GitHub account's free allowance for the GitHub Tunnel; and Google Apps Script in the user's own account for the Google relay in Gereh. The code documents what the app itself sends to the maintainers — crash reports, the Quick Connect pool and Game Booster statistics.
Gereh runs in its own process and provides key-based identity (name·4821), Olm/Megolm end-to-end encryption, delivery over shared Wi-Fi, Bluetooth, volunteer internet paths or a Google relay, plus groups and channels. The interface is a fork of Telegram for Android.
Licensing and compatibility
The project is GPLv3 with an additional GPLv3 §7 attribution term: any use, fork or derivative, source or compiled, must credit mlmvpn wherever the software is shown to end users, in addition to standard GPL obligations. Because it includes GPL code (kittoku/mvc, shadowsocks-android and Telegram for Android), the combined work is GPL. Russian and Chinese translations arrived in 1.2.43; menus, buttons and messages are translated, but some in-page text remains English. The README also notes that the project deals with circumvention technology and that users should comply with local law.
HotRepo's take
The project entered the Java daily list on 2026-11-02 at position 5 with 636 stars and 23 gained that day; no all-language daily rank has been recorded. That single snapshot shows same-day traction in the Java list, but the available data contains no comparable time series, so it does not establish a lasting trend. What stands out technically is the breadth of engines combined with self-hosted Cloudflare tooling in one codebase — useful for readers comparing circumvention paths, though the placeholder infrastructure and user-account requirements mean a fresh build is a starting point rather than a turnkey client.
Written by AI from the project's README, updated . The project's own docs are the source of truth.