How to read this: the guide moves through five steps — install the client, import the subscription, grant VPN permission, set a battery whitelist, verify it works. No root, no extra tools; a stock Android phone is enough.
How a VPN Works on Android
Android has shipped the VpnService interface since 4.0. A third-party client uses it to create a virtual network adapter inside the system: packets sent by apps are intercepted there first, and the client then decides, according to its rules, whether to push them into the encrypted tunnel or hand them straight to the local network. Once that layer makes sense, every prompt and toggle further down has an explanation. The system needs to know who is taking over traffic, so you have to grant it yourself — and after reinstalling an app you will usually be asked to confirm again.
Compared with desktop, two Android-specific differences are worth remembering. First, only one VPN app can be active at a time: run two clients and the second displaces the first, which shows up as a connection that "randomly" drops. Second, the system manages background processes far more aggressively — the UI may still say connected while the underlying connection has already been reclaimed. The first affects installation and coexistence, the second affects keep-alive; later sections deal with each.
The protocol a client and a route use to talk to each other determines the handshake and how sensitive the connection is to the surrounding network. The table below lists the common ones on Android; when a node won't connect, check the symptoms against it first instead of blindly switching nodes.
Every route on this service uses military-grade encryption; the protocol you pick in the client affects the handshake, the transport characteristics and, on some networks, whether the connection gets through at all. Don't confuse the two: encryption is guaranteed by the service, while the protocol only decides how you connect.
There aren't many parameters that actually matter when picking a route. These are the figures this service publishes, and you can check them directly:
120+
Countries / regions covered
Unlimited
Simultaneous devices
14 days
No-questions-asked refund
There's no cap on devices, so a tablet, a spare phone and an old handset can all share one account — no need to buy a second plan just to add one more device. The refund terms leave room to experiment: get one device working with the steps below, then decide whether to roll it out.
Install the Client and Import a Subscription
Step 1: Install the client
Get the Android client from the download page on this site; you'll need to sign in first. The page doesn't offer a static direct link to the installer — what you get after signing in is the build and subscription information tied to your account. During installation Android may warn about apps from unknown sources; that's the normal sideloading prompt, so just let the current file manager finish the install.
Don't rush to hit Connect once it's installed. Android shows a system-level authorisation dialog the first time you connect, so setting up the subscription beforehand saves you one round trip.
Step 2: Import the subscription
A subscription link is an address starting with https that the client polls periodically to pull the node list. When routes are added or removed on the server, one tap on "Update subscription" in the client fetches the new list — no adding nodes by hand one at a time. That's the biggest difference between a subscription-based client and manual configuration.
- After signing in, open the download page and copy the full subscription link. These links are long: don't drop trailing characters, and don't pick up leading or trailing spaces.
- Open the Android client, find the "Subscription" or "Profile" section, create a new entry, paste the link in and save.
- Go back to the list, tap "Update" and wait for the nodes to load. If loading fails, first confirm the phone's own connection is working, then check that the link is complete.
- Pick a route from the list and connect. Don't go by the name alone — choose the region where the service you actually want to reach is located.
Note: a subscription link is as good as an account credential. Anyone who gets hold of it can import it and burn through your plan's traffic. So don't paste it into group chats, public repos or screenshots, and disconnect before handing your device to someone else.
Subscription vs. manual configuration
Some clients also let you enter the server address, port, password and protocol parameters by hand. The upside is independence from the subscription service; the downside is that whenever routes change on the server you have to edit each one yourself. Unless your client can't import subscriptions, prefer the subscription: less work, and far fewer chances to mistype a parameter.
Grant VPN Permission and System Settings
The first time you tap Connect, the system shows a "Connection request" dialog listing the client's name and the scope it will take over. That dialog doesn't come from the client — Android is checking on your behalf. You have to tick "I trust this application" and then tap OK before the connection is established. Tap Cancel and the client sits on "Connecting" indefinitely, and the prompt may not reappear next time.
Three system toggles worth changing
- Always-on VPN: under Settings → Network & internet → VPN. Once enabled, the system tries to connect automatically at boot — handy for a device you use every day.
- Block connections without VPN: once on, the device loses network access entirely when the tunnel drops instead of falling back to the local network. Good for situations where the exit region matters, but confirm first that the client survives reliably in the background — otherwise the whole phone may go offline once the screen locks.
- Private DNS: Android 9 and later support DNS over TLS. If you enter a specific hostname here, resolution is pinned to that server and may not match the DNS handed out inside the tunnel — which shows up as "connected, but a few apps fail to resolve". Set it to Automatic while troubleshooting.
Order matters: finish the battery whitelist in the next section before you turn on "Block connections without VPN". Do it the other way round and the device may go offline as soon as the screen locks — and you'll blame the route.
Per-app split tunneling
Most Android clients support per-app proxying: only the apps you tick go through the tunnel, everything else connects directly. Set banking apps, the corporate intranet and local services to direct so they don't trip risk controls when the exit region changes, and tick the apps that need an international route separately. These rules live on the device — they don't sync to a new phone, so you'll set them up again.
Battery Whitelist and Background Keep-Alive
Android's battery policies restrict background networking once the screen goes off, which cuts long-lived connections. The symptom: lock the phone for ten minutes, pick it up, the client still says "Connected" but no web page loads — and only a manual disconnect and reconnect fixes it. That isn't a route quality problem; the system has taken the process's network access away.
Standard paths
- Settings → Apps → find the client → Battery → choose "Unrestricted" or "Allow background activity".
- Settings → Apps → Special app access → Battery optimization → switch to "All apps" → find the client → choose "Don't optimize".
- Vendor ROMs such as Xiaomi, Huawei, OPPO and vivo add their own "Autostart" and "Run in background" toggles. Names and locations vary, usually under app management or battery settings — turn on the ones for the client.
- Don't swipe the client out of Recents. Some systems treat that as stopping the service.
- ✅ In system battery optimization, the client is set to "Don't optimize"
- ✅ The vendor ROM's autostart and background-run toggles are on
- ✅ The client stays in Recents and isn't cleared by hand
- ❌ Adding the client to "Deep sleep" or "Smart power saving" lists
- ❌ Using a third-party cleaner to kill background processes on a schedule
Once these are done, turn the screen off for a few minutes and come back: check whether the client is still connected and whether pages open straight away. If traffic still stalls, try another route — some networks reclaim UDP sessions that sit idle too long, and QUIC-based protocols are hit harder than TCP-based ones.
Verify Connectivity: Four Checks
"Connected" only means the client thinks it's connected; it doesn't prove traffic is actually leaving through the route. Run the four checks below in order — they cover the vast majority of "connected but unusable" cases.
Check 1: Exit address and region
Open any IP lookup page in the phone's browser and look at two things: whether the address shown belongs to the region of the route you picked, and whether the carrier or ASN matches the route type. If it still shows a local address, traffic isn't entering the tunnel — go back a section and check permissions and split-tunneling rules.
Check 2: DNS leaks
Open a DNS leak test page; it lists the DNS servers currently in effect. Ideally those servers sit near the route's exit rather than at your local carrier. If local DNS servers still show up, check in order: whether Private DNS is pinned to a fixed hostname, whether the client's DNS mode is set to remote resolution, and whether "bypass LAN" was switched on by mistake.
Check 3: Recovery after a drop
Turn on airplane mode, wait ten seconds, turn it off and watch whether the client recovers on its own. If it does, your keep-alive settings are working; if you have to tap Connect manually, the background is still being restricted — go back and finish the whitelist.
Check 4: Split tunneling behaves as intended
Open one app set to direct and one that goes through the tunnel, and look up the exit address in each — they should differ. If both show the same address, the split-tunneling rules aren't taking effect; check whether global mode is on.
Pass criteria: if all four checks come out as expected, this device is essentially set up correctly. When something goes wrong later, repeat these four first — it pinpoints the cause faster than switching routes.
Summary: steps four and five are the ones people skip most often. The first decides whether the connection lasts the night; the second decides whether the "Connected" you see is real. Get both done before comparing which route is faster — only then does the comparison mean anything.
Common Issues and Quick Fixes
The table below is organised as symptom → likely cause → fix. Check it first when something goes wrong. Most cases don't need a different route — one toggle is simply out of line.
If you've tried everything in the table and still can't connect, check whether the same account works on desktop. Desktop fine and Android not: the problem is almost certainly in the phone's system settings. Both failing: the route or the account itself is the issue.
Troubleshooting order: most connection failures on Android live in the system layer, not the route layer. Check permissions, battery saving and Private DNS first, and only then consider switching routes. This service offers a 14-day no-questions-asked refund, so experimenting is cheap — but getting the settings right saves most of the hassle.