Skip to content

v2rayV 2.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 29 Aug 18:32
· 9 commits to automode since this release

Iran mode connects now — it never did — and the app checks between runs whether the servers it kept still work.

Iran mode was asking the wrong question

Turning on "connect through an Iranian IP" and getting nothing was not bad luck with the servers. Every test the app ran pointed at a foreign host: it timed each candidate against gstatic.com, measured its speed against Cloudflare, and looked up where it came out through api.ip.sb.

Through a server that comes out inside Iran, all three of those leave the country over the one link that is throttled and filtered by design. So a perfectly good Iranian server answered slowly or not at all, was dropped for being over the 2.5-second limit before it was ever speed tested, and the run reported — accurately, and uselessly — that nothing came out inside Iran.

It is also the wrong question on its own terms. Nobody turns this mode on to reach Google. They turn it on to reach an Iranian bank.

So the app now asks an Iranian server whether it can reach Iran. The time limit rises to six seconds, because the route runs into the country rather than out of it. Download speed stops being a pass/fail test and becomes a preference, because that download leaves Iran and a server that works fine for your bank can legitimately measure zero.

A server still has to prove it is alive — it just proves it by answering, rather than by winning a race to Cloudflare.

Your servers are checked between runs, not just when you run out

Until now the app only looked for new servers when you had worked through all ten and asked for more. Meanwhile nothing ever removed a dead server from that list of ten, so ten dead servers still counted as ten, and the background refresh that was supposed to replace them kept deciding it was not needed. That is the whole of "it worked for the first few days".

The app now sends one small check to each saved server every few hours — a few kilobytes, not a download — and refreshes when they have actually stopped answering. It runs while the VPN is connected too, which matters if you leave it on: before this, that was a setup that got no maintenance at all, ever.

The full refresh now waits for Wi-Fi. It costs a few hundred megabytes and you did not ask for it, so it should not come out of your mobile data. The small check still runs on any connection.

The power button shows that you pressed it

Pressing power starts a search that takes minutes, and for those minutes the button looked exactly as it did before you pressed it — same colour, same icon, same empty ring. It now turns violet, carries a stop icon, and its ring sweeps while the search runs. Pressing it again stops the search.

It also stops claiming to be connecting when it is not: a refresh you started from the Auto Mode card says Scanning, because it will not connect at the end of it.

Also

  • Server names quoting a data allowance as "50 GB" were being read as servers in Great Britain. In Iran mode that deleted them before they were ever tested.
  • The offline fallback lists shipped inside the app were nineteen days old and are now current — 1541 proxies instead of 263. They only matter on a phone that has never once managed to download anything, which is exactly the phone that cannot afford them to be stale.

Notes

versionName 2.5.0, versionCode 748, same signing key — an existing install takes this as an ordinary update.

Iran mode is off unless you turn it on, and none of its changes affect you if you do not.