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, — под одним интерфейсом, плюс адаптивный роутер по приложениям, панель управления на Cloudflare Worker и бустер игрового пинга, нацеленные на обход сетевых ограничений.
Это одно VPN-приложение или набор отдельных приложений для каждого протокола?Это единое Android-приложение, где у каждого движка (Xray, AmneziaWG, WARP, Psiphon, Tor, Geph, OpenVPN, Aether) своя плитка на главном экране, плюс экспериментальный MLM Adaptive Engine (MAE), который может автоматически маршрутизировать разные приложения через разные движки в одном туннеле.
Как собрать и запустить это приложение?Откройте проект в Android Studio с Android SDK (compileSdk 34) и подходящим JDK для Android Gradle Plugin; сборка даёт debug APK в app/build/outputs/apk/debug/.
Нужно ли что-то сверх Android Studio для сборки?Да — Git LFS. Нативные библиотеки .so в jniLibs/ и файлы geoip.dat/geosite.dat трекаются через Git LFS, поэтому нужно установить его и после клонирования выполнить git lfs pull, иначе эти файлы окажутся лишь маленькими заглушками-указателями.
Что в этом приложении экспериментальное или капризное?MLM Adaptive Engine (MAE) прямо помечен как экспериментальный. Кроме того, функции домен-фронтинга без сервера нужен установленный локально сгенерированный TLS-сертификат, а на Android 11+ ОС больше не позволяет приложению тихо устанавливать собственный сертификат, так что пользователю придётся пройти через Настройки вручную.
Куда попадает сертификат домен-фронтинга?Он генерируется на устройстве (RSA-2048, сырой DER/X.509, без сторонних крипто-библиотек) и остаётся только на этом устройстве; используется для локального завершения TLS перед повторным подключением к настоящему хосту с другим SNI.
Что такое MLM Adaptive Engine (MAE)?MAE — экспериментальный роутер по приложениям: вы указываете, какими приложениями/сайтами пользуетесь, а он для каждой сети учит, какой путь каждому реально нужен — прямой, serverless, WARP или проверенный зарубежный выход, — маршрутизируя всё через один туннель Xray, с 5-шаговой лестницей починки, когда что-то «не открылось».
Что делает Game Booster?Он сравнивает по реальному пингу Cloudflare/UAE Dedicated DNS со встроенным движком Aether и, когда возможно, использует лёгкий локальный VPN только для DNS вместо полного туннеля, чтобы снизить игровой пинг.
Что можно делать из панели Cloudflare Cloud?Подключите свой аккаунт Cloudflare и, не трогая панель Cloudflare, разворачивайте в один тап самохостинговые Worker-бэкенды (BPB, EDG, Nahan), автоматически создавайте поддомены, получайте узлы, которые генерирует ваш собственный worker, и следите за расходом бесплатной квоты в 100 000 запросов/день.
Как домен-фронтинг без сервера обходит блокировки?Приложение генерирует корневой сертификат на устройстве, локально завершает TLS по нему и заново устанавливает соединение с настоящим хостом (например, YouTube, WhatsApp, Instagram) под другим, не заблокированным SNI — прокси-сервер или Cloudflare Worker тут вообще не участвуют.
Creator
mlmvpn
Size
228.2 MB
Stars
411
Age
4mo
Commits · 90 Days