Skip to content

v2rayV 2.4.0 — keeps working past the first few days

Choose a tag to compare

@github-actions github-actions released this 21 Aug 16:36
· 24 commits to automode since this release

It no longer stops working after the first few days

Users in Iran reported the same thing: it worked well for the first few days, then stopped finding servers. It was one line. The background refresh decided whether to run by counting the reserve, and the count never moves — a run writes ten servers and nothing removes one when it dies. Ten dead servers still counted as ten, so every scheduled refresh after the very first was declined, permanently. Free servers die within days, which is exactly how long the app worked for.

The schedule now reads the reserve's age, stamped when the reserve is rebuilt rather than when a run starts — a week of runs that failed must not look like a week of runs that worked.

A VPN left on all day gets refreshed too

A refresh is always declined while the tunnel is up, and rightly so: a run starts a dozen throwaway cores and saturates the radio, which you would feel immediately. But for anyone who switches the VPN on in the morning and leaves it on, declining meant declining forever.

The core now asks for a run as it shuts down, which is the first moment one is allowed.

A blocked network can no longer disable every source

A subscription link is switched off after five runs that produced nothing, and a network that blocks the list host produces nothing from every link at once. So a few hours of heavy filtering — exactly when this app matters — could switch the whole source list off on evidence that was never about the links. Nothing brought it back either: the recovery probe written for that state sat behind an early return that made it unreachable.

A run that reached nothing at all now records the attempt without passing a verdict, and a list that has switched itself off entirely is treated as the network's doing and reopened in full.

Notes

versionName 2.4.0, signed with the same key as 2.3.4, so an existing install takes this as an update.

Releases can also be published now without a GPG key configured, instead of failing the job and publishing nothing. The APKs are still signed with the app's own key, which is what Android actually verifies.