mrkeyoor.com_
Sun 27 Sept 17:36 UTC
Self-Hostedevaluationupdated 27 Sept 2026

mlmvpn_windows review

MLMVPN for Windows is a desktop anti-censorship client that puts fourteen tunnel engines, a clean-IP scanner, and Cloudflare account tools in one interface. It is aimed at networks where no single transport stays reliable, with English and Persian documentation for the Windows app.

Verdict

Our MLMVPN run installed 431 packages, then both the 4-second build and 2-second test command failed, while npm audit found 25 known vulnerabilities. Download the maintained Windows release if you specifically need its fourteen-engine fallback model, but treat the source checkout as an assembly job with security cleanup, not a ready build. The attribution license also makes it a poor base for a product that cannot keep MLMVPN credit visible.

We ran it

Lab card: what happened when we ran mlmvpn_windowsScreenshot of mlmvpn_windows (github.com/mlmvpn/mlmvpn_windows)
Install✓ · 31s431 packages · 458 MB
Build✗ · 4s
Tests✗ · 2sran, no count parsed
Known vulns251 critical · 20 high · 3 moderate · 1 low (npm audit)
Repo670 files~159,401 lines of source · 21.2 MB · 1 CI workflows · tests dir

Answers from our run

Does mlmvpn_windows build from source?

Dependencies installed in 31 seconds (431 packages), and the build failed. We cloned commit 2fa1690 into a clean Debian container with 3 CPUs and no project-specific setup.

Do mlmvpn_windows's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does mlmvpn_windows have known vulnerabilities in its dependencies?

npm audit flagged 25 known advisories in the dependency tree, including 1 critical at the time of our run.

Who should not use mlmvpn_windows?

macOS or Linux users: the supported application targets Windows 10 and 11, and it needs administrator rights for TUN, firewall, DNS, and route changes.

What are the alternatives to mlmvpn_windows?

v2rayN, Hiddify App, Clash Verge Rev. Our MLMVPN run installed 431 packages, then both the 4-second build and 2-second test command failed, while npm audit found 25 known vulnerabilities.

Setup1/5Build failed; required engine binaries are excluded
Docs5/5English and Persian guides explain binaries, recovery, and risks
Community3/5149 stars and recent issue replies, with 6 issues and PRs open
Maturity2/5v1.2.4 fixed release crashes; our checks still failed

Who it’s for

Windows users who need to switch among several circumvention engines as local filtering changes.
Operators who already have proxy configurations or their own servers and want one desktop control panel.
Developers prepared to source and verify roughly 450 MB of third-party engine files before running from source.
Cloudflare users who want clean-IP scanning and account infrastructure controls in the same app.

Who it’s NOT for

macOS or Linux users: the supported application targets Windows 10 and 11, and it needs administrator rights for TUN, firewall, DNS, and route changes.
Developers expecting a clone-and-build repository: core/ is excluded, and the documented layout requires Xray, sing-box, Wintun, Tor, Psiphon, OpenVPN, and other binaries.
Distributors who require an OSI-approved license: the project calls its MLMVPN Attribution License source-available and requires visible product, source, and announcement credit.
Teams that cannot tolerate dependency cleanup before shipping: our npm audit found 25 known vulnerabilities, including 1 critical and 20 high.
Users who need an older release supported: the security policy says fixes go only to the latest version and there is no long-term support branch.

Setup reality

Our sandbox installed 431 npm packages in 31 seconds and used 458 MB. The build failed after 4 seconds when Electron tried to rebuild cpu-features; node-gyp reported that it could not cross-compile the native module. Tests also exited 1 after 2 seconds, with missing wintun.dll and xray.exe among the reported failures.

A useful source run needs the separately obtained engine binaries in the exact core/ layout. Cloudflare management needs your API token, while several tunnel modes need your own server or account. The project says those binaries total roughly 450 MB and should be checked against their upstream projects.

The target is Windows 10 or 11 with administrator rights, not a Debian container. Packaging produces x64 and 32-bit Windows builds. Npm audit reported 25 known vulnerabilities: 1 critical, 20 high, 3 moderate, and 1 low, so dependency review belongs before distribution.

Fourteen engines address a network-specific failure

MLMVPN is built for a situation where a working tunnel today may be useless on another provider tomorrow. Its Windows interface controls fourteen engines, including Xray, sing-box, Tor, Psiphon, OpenVPN, Lantern, Geph, WARP, and WireGuard-based paths. A clean-IP scanner tests CDN addresses before handing one to a configuration. The app can also manage Workers, KV, and D1 in the user's own Cloudflare account. There is no MLMVPN relay in the traffic path.

That breadth is the reason to consider it, and also the reason to be careful. Our checkout contained 670 files and roughly 159,401 lines of source before dependencies. This is an Electron control plane over many separate executables, network settings, and accounts. It changes DNS, routes, the Windows firewall, and the system proxy with administrator rights. A mistake can affect the whole machine, so the project's recovery journal and kill-switch behavior matter more than its polished desktop.

The source tree omits the binaries that make it useful

Running from source requires more than npm install. The repository deliberately excludes core/, which the build guide describes as roughly 450 MB of third-party software. You must obtain Xray, sing-box, Wintun, Psiphon, Tor, OpenVPN, Lantern, Geph, Tailscale, and other files from their upstream projects, then place each at the exact documented path. The test log made that boundary visible when checks could not find core/tailscale/wintun.dll or xray.exe.

The omission is defensible for licensing and supply-chain reasons, but it shifts verification to you. MLMVPN's own source uses its attribution license, while every bundled engine keeps its separate license. The project says its license is source-available rather than OSI-approved. If you redistribute a derivative, MLMVPN credit must remain in the product, source, and public listing. Teams accustomed to permissive MIT or Apache terms should settle that requirement before writing code.

What happened when we ran it

Our fresh Debian sandbox installed 431 npm packages in 31 seconds, leaving 458 MB on disk. The build then failed after 4 seconds. Electron Builder reached cpu-features, called Electron Rebuild, and node-gyp stopped with a direct message: it does not support cross-compiling native modules from source. That result describes commit 2fa1690 in our unprivileged 3-CPU, 8 GB container. It does not show whether the documented Windows build succeeds.

The test command exited 1 after 2 seconds. One group reported 122 of 147 checks passing and could not find wintun.dll. Another reported 19 of 20 passing because the binary version read back as null instead of 26.7.28. A later group stopped because xray.exe was absent, while several other groups shown in the log passed all their checks. Those are missing-artifact findings; the log does not prove defects in the corresponding engines.

Npm audit found 25 known vulnerabilities in the installed dependency tree: 1 critical, 20 high, 3 moderate, and 1 low. The repository has one CI workflow and a tests directory, but no Dockerfile. A Windows desktop VPN does not need a Docker runtime. Still, the audit result deserves resolution before a developer signs and distributes an installer that runs elevated and controls network traffic.

Windows release users avoid the assembly work

The release page supplies x64 and 32-bit installers plus portable builds for Windows 10 and 11. Version 1.2.4 was published on September 22, 2026 after version 1.2.3 could close during connection and six engines looked for binaries inside app.asar instead of the unpacked directory. The release also added a PowerShell reporting tool that reads startup state without depending on the Electron application, which is useful when the window never appears.

Recent issue activity shows why release choice matters. An open report from September 23 describes version 1.2.4 not opening on Windows 10, though it includes no startup log. Another report filed September 26 concerns version 1.2.3 on Windows 11. Those reports do not establish one shared fault, but they do rule out treating a successful installer download as proof that the app will start on every supported machine. The security policy supports only the latest release.

Recovery design is unusually explicit

The security guide names the failures a VPN client must prevent: traffic or DNS leakage, a silent fail-open state, and Windows left without a working network. Machine-wide changes are recorded before they happen so the next launch can restore stale state after a crash or power cut. Logs stay under the user's profile and are not uploaded automatically. The update path verifies Ed25519 signatures, with the private key kept outside the repository.

Those design choices are reassuring, but our 25-advisory audit keeps this from being an easy recommendation to builders. For an end user facing active censorship, the fourteen-engine fallback and clean-IP scanner may justify trying the signed release on a spare or recoverable Windows machine. For a team adopting the code, first reproduce a native Windows build, populate every core/ artifact from its named source, clear the dependency findings, and test that DNS and firewall state return cleanly after forced termination.

Alternatives

ProjectWhat it isPick it when
v2rayN gh↗A mature cross-platform GUI for Xray, sing-box, and related proxy cores.pick this instead when established proxy configuration support matters more than MLMVPN's scanner and Cloudflare tools.
Hiddify AppA multi-platform proxy client built around sing-box and several modern protocols.pick this instead when you need one client across Windows, macOS, Linux, Android, and iOS.
Clash Verge Rev gh↗A Tauri desktop client for rule-based proxy use on Windows, macOS, and Linux.pick this instead when Clash-compatible profiles and a smaller cross-platform focus meet the job.

What people are saying

  1. [github-trending] mlmvpn/mlmvpn_windows

Sources

  1. MLMVPN for Windows repository
  2. MLMVPN build guide
  3. MLMVPN security policy
  4. MLMVPN 1.2.4 release
  5. Windows 10 startup issue

More self-hosted reviews

dae · yuvomi · teable · distribution · reth · umbrel · the whole board →