v2rayV 2.3.4 — stays current without a rebuild
Android 7.0+, arm64-v8a.
Direct link that always points at the newest build:
https://github.com/morpheusadam/v2rayV/releases/latest/download/v2rayV-2.3.4-arm64-v8a.apk
The headline: the app stops going stale
The lists it runs on are rebuilt daily in v2ray-config, and the app has always read them live — but the copies inside the APK were frozen at build time, and those are what a blocked network falls back on. A proxy list from months ago is close to useless there.
Every successful fetch is now saved on the phone, so after one working run you carry yesterday's list rather than the build date's, whatever the network does afterwards. No new build is needed to stay current.
Also in this release
- Live DOWNLOAD/UPLOAD actually work. They read zero in every earlier build — the core was never being told to count.
- Smart Switch (off by default, under Auto Mode) now runs in the background service rather than only while the app is open. If requests stop being answered, or throughput falls to a fraction of what the server measured, it moves to the next server in the reserve. It never acts on an idle connection: a phone in a pocket reports the same zero as a dead server.
- Iranian routing by default on fresh installs. Previously a China ruleset, which pushed every Iranian site through the tunnel.
- The Auto Mode screen no longer scrolls forever. With hundreds of sources merged it listed every one; it now shows the five doing best.
- A faster route ladder. Mirrors are raced 250 ms apart instead of tried one at a time — on a blocked network that was 24 seconds of timeouts before anything else could start.
project-map/in the repo: how the project is built and why, including the decisions that look wrong until you know what they are for.
Before you install
Play Protect will warn you. Tap More details → Install anyway. It says Google has not seen an app from this developer before, which is about how many installs the signing certificate has behind it — not about this file.
Still untested
The censored-network path — mirrors, then discovered proxies, then the cache, then the bundled snapshot — compiles, has tests, and has never once run on a genuinely blocked connection. If you are in Iran, that is the part worth reporting on. Each run now ends by printing where its time went (line 8.1s · route 0.9s · fetch 7.6s · …), which is also how you see which route worked.
102 unit tests, 0 failures. GPL-3.0, forked from 2dust/v2rayNG.