Android App¶
The R-VPN Android app creates a full-tunnel VPN connection using Android's built-in VPN service. All device traffic is routed through an encrypted tunnel without requiring manual proxy configuration.
Requirements¶
- Android 14.0 or later (API 35+)
- A deployed R-VPN server
- Server address, identity key, and prekey bundle
Install¶
Google Play (recommended)¶
Direct APK¶
Then open the APK on your device to install it.
Setup¶
1. Configure Server¶
In Settings, enter your server WebSocket address:
2. Generate Identity¶
Your identity key enables end-to-end encryption.
In Settings → Identity, tap Generate Identity. Wait for completion.
3. Import Prekey Bundle¶
The prekey bundle is provided by your server administrator.
In Settings → Prekey Bundle, tap Import Prekey Bundle and select the JSON file or paste the bundle data.
Connect¶
On the Home screen, tap Connect. The app will:
- Connect to your server via encrypted WebSocket
- Establish forward-secret encryption (X3DH + Double Ratchet)
- Receive a tunnel IP address from the server
- Route all traffic through the Android VPN tunnel
Tap Disconnect to stop.
Split Tunnel¶
Route domestic traffic (e.g., local services) outside the VPN while everything else goes through it.
- Go to Settings → Traffic
- Enable Split Tunnel
- Enter country codes to bypass:
CN, HK, SG, JP, KR, TW
Traffic to those countries uses your normal internet connection. Everything else goes through the VPN.
Block Ads¶
Block known ad and tracker domains at the DNS level.
- Go to Settings → Traffic
- Enable Block Ads
Blocked domains return NXDOMAIN immediately — no connection is made.
DNS Servers¶
By default, DNS is resolved through the VPN tunnel. To use custom servers:
- Go to Settings → Network
- Enter DNS servers (comma-separated):
1.1.1.1, 8.8.8.8
Server Identity¶
Trust on First Use (enabled by default) accepts and pins the server's identity on first connection.
For additional verification, enter the server's fingerprint in Settings → Server Fingerprint.
Troubleshooting¶
"Failed to start VPN"¶
- Verify server address is correct and includes
wss:// - Ensure identity key is generated
- Ensure prekey bundle is imported
- Check your server is running
- Ensure another VPN is not already active
"No IP assigned"¶
The server's IP pool is full. Contact your server administrator to check the DHCP range configuration.
Split tunnel not working¶
- Verify split tunnel is enabled
- Verify country codes are correct (e.g.,
CN, notChina) - Try toggling Airplane mode to refresh routes
Slow connection¶
- Try different DNS servers
- Check server load
- Verify split tunnel isn't excluding too much traffic
For more troubleshooting help, see the Troubleshooting Guide.