Skip to content

Auto ​

Auto keeps the connection on a server from the chosen subscription and switches only when the current server stops responding. A faster server showing up is not a reason to switch: as long as the current one responds, the app stays on it.

Auto can be on in only one subscription at a time. When you turn it on, the app picks the server with the best score (more on that below) and, if the VPN is connected, reconnects to it.

Server score ​

To pick a server, Auto gives each one a score based on its recent measurements. The score has three parts:

  • the server's typical ping;
  • how much the ping jumps between measurements;
  • 1000 for every measurement the server didn't answer.

The server with the lowest score wins. The score doesn't say whether a server works, it sets the queue: all servers in the subscription line up by score, and Auto takes the first one.

For example, three servers each have three recent measurements:

ServerMeasurements, msTypical pingJumps byNo answerScore
Finland60, 61, 626120 times63
Germany20, 25, 300252800 times305
Netherlands15, 18, no answer1831 time1021

Auto picks Finland. Germany's best measurement is faster, but its ping jumps a lot. The Netherlands is the fastest, but it failed to answer once.

Servers without a ping go after the scored ones: first those with a speed test result (fastest first), then those never checked, and last those whose latest measurement got no answer. With equal scores the subscription order is kept.

Exact definition

A server keeps its last 5 measurements. The score uses those made with the same method as the latest one (TCP, URL or ICMP) and no older than 24 hours. Let r1≤r2≤⋯≤rn be the delays of the answered measurements in milliseconds, and f the number of measurements with no answer. Then

S={r~+(rn−r1)+1000⋅f,n≥2rlast+1000⋅f,n<2

where r~ is the median (“typical ping”; for even n the larger of the two middle values is taken), rn−r1 is the spread (“jumps by”), and rlast is the result of the latest measurement.

When a check starts ​

The server stopped respondingFinlandNetherlandsFinlandFinland is silent→ Netherlandscheck:Finland is silentFinland answered,1 time out of 2answered again→ back0 min5 min10 min15 min20 min25 min30 minThe network droppedFinlandno networkchecks after 15 s, 30 s, 1 min, 2 min…all silent, neighborsubscriptions too → staynetwork is back,nothing changed0 min5 min10 min15 min20 min25 min30 min
The bar shows which server the connection goes through. If a server is silent while others answer, Auto switches to another one and later switches back. If everything is silent, the network is gone, and Auto leaves things alone.

While the VPN is on, the app watches the traffic. A check starts if:

  • data goes out but nothing comes back for 2 seconds in a row (5 seconds on a computer);
  • the core couldn't connect to the server;
  • nothing came in for 30 seconds even though something was sent;
  • 5 minutes have passed since the last scheduled check and there was traffic during that time. While nobody is using the device, Auto leaves the servers alone.

On Android a check doesn't start if the phone has no network at all right now.

How a check works ​

The app checks the current server and up to 9 servers with the best scores from the same subscription, the same way HTTP ping does. A scheduled check looks at fewer servers: the current one, the server to switch back to, and a couple of the best ones.

  • The current one answered: the app stays on it, even if another server answered faster.
  • The current one didn't answer but others did: the app switches to the answering server with the best score.
  • Nobody answered: the app asks the neighboring subscriptions, more on that below.

When switching, the score is calculated the same way, except the ping from this check replaces the typical ping. So a server that answered quickly just now but jumped around all day still loses to a steady one.

Exact definition

Let L be the server's ping in this check, A the set of L and the server's answered measurements over 24 hours, and f the number of measurements with no answer over the same time:

S′=L+(maxA−minA)+1000⋅f

If the selected server disappears from the subscription after an update, Auto immediately puts the best of the remaining ones in its place and reconnects.

When the whole subscription is silent ​

One subscription alone can't tell you whether its servers went down or the network dropped. So the app asks the neighbors: the 2 best servers from the nearest subscription above and from the nearest one below in the list.

The neighbors are silent too. Then the network is gone. The app stays on the server and doesn't record these measurements in the history, otherwise after a ride in an elevator the best servers would carry a penalty for a whole day. The next attempt comes after

Tk=min(15⋅2k−1, 120) s,

where k is the attempt number in a row: 15, 30, 60 seconds, then every 2 minutes. On Android a network change, for example from mobile data to Wi-Fi, ends the pause right away.

The neighbors answer. Then the network is fine and your own subscription is down. The next check looks at it more widely, up to 30 servers. If the subscription is still silent (that check comes within 5 minutes at most), Auto switches to the best server of the neighboring subscription.

Switching back ​

When leaving a server, the app remembers it. Scheduled checks look at it too, and if it answers twice in a row, Auto switches back to it.

While you're on a server from a neighboring subscription, your own subscription is checked once a minute. After 5 failures in a row these checks pause for 15 minutes, so the app doesn't keep measuring servers for your whole subway ride.

Limits ​

  • No more than 3 switches in 3 minutes. If servers go down one after another, the app doesn't hop around in circles, it waits.
  • No new check starts for 5 seconds after a switch and for 15 seconds after a regular check: the reconnect itself looks like a failure for a couple of seconds.

Servers that Auto skips ​

Press and hold the “Auto” button to mark servers that Auto won't switch to. On Android TV hold OK on the remote, with a mouse use the right button.

  • You can't mark the last unmarked server.
  • If after an update only marked servers remain in the subscription, Auto picks from them.
  • If you mark the server you're connected to, after “Done” the app switches to the best of the rest.

Marks are kept when the subscription updates.