The project's README from github.com/mlmvpn/mlmvpn_android. As one markdown file: README.md.
A multi-engine VPN, network-scanning, and connectivity-boosting Android app.
Developed and maintained by mlmvpn.
MLM VPN is an Android application that combines several independent
connectivity engines behind one UI: a VPN node scanner/manager, multiple
tunnel protocols, a DNS/latency "game booster" for reducing in-game ping,
and a set of specialized circumvention engines for restrictive network
environments. It is built with Kotlin and Jetpack Compose, targeting
minSdk 24 / compileSdk 34.
⚠️ This project involves network circumvention and VPN technology. Use it in compliance with the laws of your jurisdiction. The maintainers do not encourage or condone illegal use.
MLM VPN is much broader than a single-protocol VPN client — it bundles a professional-grade multi-protocol tunnel core, a full Cloudflare infrastructure control panel, a self-hosted worker/relay ecosystem, and a three-tier emergency fallback system, all in one app.
NodesTab, ScannerTab,
utils/VpnConfig, VlessXrayInjector) — full VLESS/VMess/Trojan support
with REALITY, TLS, WebSocket and gRPC transports, subscription-link
import/export, batch latency/connectivity scanning of imported nodes, and
manual node editing (AddNodeModal).VlessXrayInjectorAmneziaWgInjectorkittoku-based SoftEther/L2TP WireGuard supportengines/gst)engines/edg)core/aether) — MASQUE / WireGuard / WARP-in-WARP
censorship circumvention; see AETHER.mdengines/vpngate, SoftEther/OpenVPN)engines/openvpn)engines/github) and a ready-made Quick Connect poolengines/mae) — the user picks
the apps and sites they use; MAE learns, per network, which route each one
needs (direct, Serverless, WARP, or a proven foreign exit from the user's own
configs) and routes every app separately on one Xray tunnel, so only what
truly needs a foreign IP leaves through one. "Didn't open" feedback runs a
5-step repair ladder. Gemini and Google Flow go through a US exit (a Durable
Object on the user's own Cloudflare account) set up automatically. See
MAE_ARCHITECTURE.md.configstudio) — a user/quota/device-limit panel for the
user's own Cloudflare Worker, with VLESS and Trojan links and multi-location
exits; plus the Config Arena, which races the user's cloud panels (BPB, Edge,
Nahan, MLM, Spider, Netra, Gozargah) on one clean IP.CloudTab,
data/CloudManager) — connect one or more Cloudflare accounts (email +
Global API Key or scoped API token) directly in the app and, without
touching the Cloudflare dashboard:*.workers.dev with account
verification/quota checksengines/sanction, "DNS ضد تحریم شخصی") —
a dedicated personal DNS engine that smart-routes sanctioned/geo-restricted
services, reachable from the app's side menu.engines/mlm, assets/gst,
*_worker.js) — Google Apps Script and Cloudflare Worker source for
running your own relay/DNS infrastructure, deployed via the Cloud panel.mitm/MitmCertManager, mitm/MitmProfile,
ui/mitm/MitmSetupCard) — reaches YouTube, Instagram, WhatsApp, Facebook,
Reddit and other Fastly-hosted sites in the browser with no server or
worker in the path at all: TLS is terminated locally against an RSA-2048
root certificate the app generates on-device (raw DER/X.509, no
BouncyCastle dependency), then re-established to the real host under a
different, unblocked SNI. The certificate is per-device and never leaves
it; setup is a guided in-app card that hands the certificate to Android's
own installer (or, on Android 11+, walks the user through Settings, since
the platform no longer accepts a certificate handed in by an app).app/src/main/assets/gst/, *_worker.js)app/src/main/java/com/mlmvpn/
├── core/ # Low-level engine wrappers (aether, warp)
└── scanner/
├── data/ # Node/subscription/cloud data managers
├── engines/ # Pluggable connectivity engines (one dir each)
├── mitm/ # On-device CA + server-less domain-fronting profile
├── ui/ # Compose screens
└── utils/ # Config generators, testers, watchdogs
app/src/main/assets/ # Bundled worker scripts, geo data, sanction lists
app/src/main/jniLibs/ # Prebuilt native libraries (arm64-v8a, armeabi-v7a)
Requirements: Android Studio (recent), JDK matching the Android Gradle
Plugin used in build.gradle, Android SDK with compileSdk 34 installed.
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/.
Some native binaries (
.sofiles underapp/src/main/jniLibs/) and data files (geoip.dat,geosite.dat) are large and tracked with Git LFS. Install Git LFS and rungit lfs pullafter cloning if those files show up as small pointer files.
See CHANGELOG.md for the full version history (bilingual), or the
nicer-looking changelog page.
Contributions are welcome — see CONTRIBUTING.md for
project structure, coding conventions, and how to add a new engine.
This project is licensed under GNU GPLv3, plus an additional term
(permitted under GPLv3 §7) requiring attribution — see LICENSE.
This is because the project vendors GPL-3.0 source from kittoku/mvc and
shadowsocks-android, which requires the whole combined work to be GPL. In
short:
Any use, fork, or derivative of this project — source or compiled — must clearly credit the original developer, mlmvpn (https://github.com/mlmvpn), wherever the software is presented to end users (About screen, README, store listing, etc.), in addition to the standard GPLv3 obligations (source availability, same license on derivatives, etc.).
MLM VPN یک اپلیکیشن اندرویدی است که چند موتور اتصال مستقل را زیر یک
رابط کاربری واحد گرد هم میآورد: اسکنر و مدیریتکننده نودهای VPN، چند
پروتکل تونل، سیستم «بوستر بازی» برای کاهش پینگ داخل بازی از طریق DNS و
تست تأخیر، و مجموعهای از موتورهای تخصصی دورزدن محدودیت برای شبکههای
محدودشده. این پروژه با Kotlin و Jetpack Compose نوشته شده و minSdk 24 و
compileSdk 34 را هدف قرار میدهد.
⚠️ این پروژه با فناوری VPN و دورزدن محدودیتهای شبکه سروکار دارد. لطفاً مطابق قوانین کشور خود از آن استفاده کنید. توسعهدهندگان این پروژه استفاده غیرقانونی را تشویق یا تأیید نمیکنند.
MLM VPN بسیار فراتر از یک کلاینت تکپروتکلی VPN است — یک هسته حرفهای چندپروتکلی تونل، یک پنل کامل کنترل زیرساخت کلودفلر، یک اکوسیستم ورکر/رله خوداستقرار، و یک سیستم پشتیبان اضطراری سهسطحی را در یک اپ گرد هم آورده است.
NodesTab، ScannerTab،
utils/VpnConfig، VlessXrayInjector) — پشتیبانی کامل از
VLESS/VMess/Trojan با ترنسپورتهای REALITY، TLS، WebSocket و gRPC،
وارد/صادر کردن لینک اشتراک، اسکن گروهی تأخیر/اتصال نودهای واردشده، و
ویرایش دستی نود (AddNodeModal).VlessXrayInjectorAmneziaWgInjectorkittokuengines/gst)engines/edg)core/aether) — دورزدن محدودیت با MASQUE / WireGuard /
WARP-in-WARP؛ به AETHER.md مراجعه کنیدengines/vpngate، SoftEther/OpenVPN)engines/openvpn)engines/github) و «اتصال سریع» با مجموعهای آمادهٔ سرورengines/mae) — کاربر اپلیکیشنها و
سایتهایی را که استفاده میکند انتخاب میکند؛ موتور برای هر کدام روی هر
اینترنت یاد میگیرد کدام مسیر لازم است (مستقیم، سرورلس، وارپ، یا یک خروجی
خارجیِ آزمودهشده از کانفیگهای خود کاربر) و هر اپلیکیشن را روی یک تونل
Xray جداگانه مسیریابی میکند؛ فقط آنچه واقعاً آیپی خارجی لازم دارد از
خروجی خارجی میرود. بازخورد «باز نشد» یک نردبان تعمیر ۵مرحلهای را اجرا
میکند. جمینای و گوگل فلو از یک خروجی آمریکا (Durable Object روی حساب
کلادفلر خود کاربر) میروند که خودکار ساخته میشود. به
MAE_ARCHITECTURE.md مراجعه کنید.configstudio) — پنل کاربر، حجم و محدودیت دستگاه برای
ورکر کلادفلر خود کاربر، با لینکهای VLESS و Trojan و خروجی چندکشوری؛ بههمراه
«میدان کانفیگ» که پنلهای ابری کاربر (BPB، Edge، نهان، MLM، اسپایدر، نترا،
گذرگاه) را روی یک آیپی تمیز مسابقه میدهد.CloudTab، data/CloudManager) —
اتصال یک یا چند حساب کلودفلر (ایمیل + Global API Key یا توکن محدودشده)
مستقیماً داخل اپ، بدون نیاز به داشبورد کلودفلر:*.workers.dev همراه با بررسی
تأیید حساب/سقف مصرفengines/sanction، «DNS ضد تحریم
شخصی») — یک موتور DNS شخصی اختصاصی که سرویسهای تحریمشده/محدودشده
جغرافیایی را هوشمندانه مسیریابی میکند و از منوی کناری اپ در دسترس است.engines/mlm, assets/gst,
*_worker.js) — سورس Google Apps Script و Cloudflare Worker برای اجرای
زیرساخت رله/DNS اختصاصی خودتان، که از طریق پنل ابری مستقر میشود.mitm/MitmCertManager، mitm/MitmProfile،
ui/mitm/MitmSetupCard) — یوتیوب، اینستاگرام، واتساپ، فیسبوک، ردیت و
سایر سایتهای روی Fastly را داخل مرورگر باز میکند، بدون هیچ سرور یا
ورکری در مسیر: TLS بهصورت محلی با یک گواهی ریشه RSA-2048 که خود اپ روی
گوشی میسازد (DER/X.509 خام، بدون وابستگی به BouncyCastle) باز میشود و
دوباره با یک SNI متفاوت و بلاکنشده به مقصد واقعی وصل میشود. گواهی
مخصوص هر گوشی است و هیچجا ارسال نمیشود؛ راهاندازی یک کارت هدایتشده
داخل اپ است که گواهی را به نصبکنندهی خود اندروید میسپارد (یا در
اندروید ۱۱ به بالا، چون پلتفرم دیگر گواهی دادهشده توسط اپ را قبول
نمیکند، کاربر را قدمبهقدم در تنظیمات راهنمایی میکند).app/src/main/java/com/mlmvpn/
├── core/ # لایههای پایه موتورها (aether، warp)
└── scanner/
├── data/ # مدیریت داده نود/اشتراک/کلاود
├── engines/ # موتورهای اتصال قابلافزودن (هر کدام یک پوشه)
├── mitm/ # گواهی روی گوشی + پروفایل دامینفرانتینگ بدون سرور
├── ui/ # صفحات Compose
└── utils/ # تولیدکنندههای کانفیگ، تسترها، واچداگها
app/src/main/assets/ # اسکریپتهای ورکر، داده جغرافیایی، لیست تحریم
app/src/main/jniLibs/ # کتابخانههای native از پیشکامپایلشده
پیشنیازها: Android Studio (نسخه اخیر)، JDK متناظر با Android Gradle
Plugin استفادهشده در build.gradle، Android SDK با compileSdk 34 نصبشده.
git clone https://github.com/mlmvpn/mlmvpn_android.git
cd mlmvpn_android
./gradlew assembleDebug
فایل APK دیباگ در مسیر app/build/outputs/apk/debug/ تولید میشود.
برخی فایلهای باینری native (فایلهای
.soدرapp/src/main/jniLibs/) و فایلهای داده (geoip.dat،geosite.dat) حجیم هستند و با Git LFS ردیابی میشوند. پس از clone کردن، Git LFS را نصب کرده و دستورgit lfs pullرا اجرا کنید.
برای مشاهده تاریخچه کامل نسخهها (دوزبانه) به CHANGELOG.md، یا نسخه
شیک و تصویری آن مراجعه کنید.
از مشارکت شما استقبال میشود — فایل CONTRIBUTING.md
را برای آشنایی با ساختار پروژه، استانداردهای کدنویسی، و نحوه افزودن موتور
جدید مطالعه کنید.
این پروژه تحت GNU GPLv3، بههمراه یک شرط اضافه (مجاز طبق ماده §۷ خود
GPLv3) که ذکر منبع را الزامی میکند، منتشر شده است — به فایل
LICENSE مراجعه کنید. دلیلش این است که پروژه از سورس GPL-3.0
پروژههای kittoku/mvc و shadowsocks-android استفاده میکند، که طبق
GPL کل اثر ترکیبی باید GPL باشد. بهطور خلاصه:
هرگونه استفاده، فورک یا اثر مشتقشده از این پروژه — چه بهصورت سورس و چه کامپایلشده — باید هرجا که نرمافزار به کاربر نهایی نمایش داده میشود (صفحه درباره ما، README، صفحه فروشگاه و غیره) بهطور واضح توسعهدهنده اصلی، mlmvpn (https://github.com/mlmvpn)، را ذکر کند.