mlmvpn_android README

The project's README from github.com/mlmvpn/mlmvpn_android. As one markdown file: README.md.

MLM VPN — Android

A multi-engine VPN, network-scanning, and connectivity-boosting Android app.
Developed and maintained by mlmvpn.

English · فارسی


English

Overview

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.

Features

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.

Tech stack

Project structure

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)

Building

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 (.so files under app/src/main/jniLibs/) and data files (geoip.dat, geosite.dat) are large and tracked with Git LFS. Install Git LFS and run git lfs pull after cloning if those files show up as small pointer files.

Changelog

See CHANGELOG.md for the full version history (bilingual), or the nicer-looking changelog page.

Contributing

Contributions are welcome — see CONTRIBUTING.md for project structure, coding conventions, and how to add a new engine.

License & Attribution

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 است — یک هسته حرفه‌ای چندپروتکلی تونل، یک پنل کامل کنترل زیرساخت کلودفلر، یک اکوسیستم ورکر/رله خوداستقرار، و یک سیستم پشتیبان اضطراری سه‌سطحی را در یک اپ گرد هم آورده است.

ساختار پروژه

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)، را ذکر کند.

mlmvpn_android (mlmvpn/mlmvpn_android)

Searching Database…

这是什么?MLM VPN 是一款 Android 应用,把多个独立的连接引擎——Xray-core(VLESS/VMess/Trojan)、AmneziaWG、WARP、Psiphon、Tor、Geph、OpenVPN 和一个自定义的基于 MASQUE 的引擎——整合到同一个 UI 之后,还带有自适应的分应用路由器、Cloudflare Worker 控制面板和游戏延迟加速器,旨在绕过网络限制。
这是单个 VPN 应用,还是每种协议一个应用的合集?它是单个 Android 应用,每个引擎(Xray、AmneziaWG、WARP、Psiphon、Tor、Geph、OpenVPN、Aether)在主屏幕上都有自己的入口磁贴,另外还有一个实验性的 MLM 自适应引擎(MAE),能在一条隧道上自动让不同的应用走不同的引擎。
这个应用怎么构建和运行?在装有 Android SDK(compileSdk 34)和与 Android Gradle Plugin 匹配的 JDK 的 Android Studio 中打开该项目;构建后会在 app/build/outputs/apk/debug/ 生成一个调试版 APK。
除了 Android Studio,构建它还需要别的吗?需要——Git LFS。jniLibs/ 下的原生 .so 库和 geoip.dat/geosite.dat 文件都用 Git LFS 跟踪,所以克隆后必须安装它并运行 git lfs pull,否则这些文件只会是很小的指针占位文件。
这个应用有什么实验性或麻烦的地方?MLM 自适应引擎(MAE)被明确标记为实验性。另外,无服务器域前置功能需要安装本地生成的 TLS 证书,而在 Android 11 及以上版本,系统不再允许应用静默安装自己的证书,用户必须手动在设置里操作。
域前置的证书放在哪里?它在设备上生成(RSA-2048,原始 DER/X.509 格式,不依赖第三方加密库),只保存在该设备上,用于在本地终止 TLS,然后以不同的 SNI 重新连接到真实主机。
MLM 自适应引擎(MAE)是什么?MAE 是一个实验性的分应用路由器:你选择自己使用的应用/网站,它会在每个网络下学习每个应用实际需要哪条路径——直连、无服务器、WARP 或验证过的国外出口——全部经由一条 Xray 隧道路由,当某个站点“打不开”时还有五步修复流程。
游戏加速器是做什么的?它通过真实 ping 测试比较 Cloudflare/UAE 专用 DNS 与内置 Aether 引擎,并在可能时使用只处理 DNS 的轻量本地 VPN 代替完整隧道,以降低游戏内延迟。
在 Cloudflare Cloud 面板里我能做什么?连接你自己的 Cloudflare 账号,无需进入 Cloudflare 控制台,即可一键部署自托管的 Worker 后端(BPB、EDG、Nahan)、自动创建子域名、获取你自己 Worker 生成的节点,并对照每天 10 万次请求的免费额度跟踪用量。
无服务器域前置是怎么在没有服务器的情况下绕过封锁的?应用在设备上生成一个根证书,用它本地终止 TLS,然后以另一个未被封锁的 SNI 重新建立到真实主机(如 YouTube、WhatsApp、Instagram)的连接——全程不涉及任何代理服务器或 Cloudflare Worker。
Creator
mlmvpn
Size
228.2 MB
Stars
416
Age
4mo
Commits · 90 Days