Xray VPN for Android — VLESS Setup Guide 2026
Xray-core is the engine behind the most advanced VPN protocols available today — including VLESS, XTLS, and XHTTP. Unlike WireGuard or OpenVPN, Xray-based connections are designed to be undetectable by Deep Packet Inspection systems used in Iran, Turkey, UAE, and India. This guide covers two approaches: the easy way (Veilora app) and the manual way (v2rayNG with your own config).Why Xray on Android?
Standard Android VPN apps use WireGuard or OpenVPN. Both are excellent for privacy in uncensored regions, but both are blocked in Iran, Turkey, UAE, and throttled by Indian ISPs. Xray-core (the successor to v2ray-core) supports VLESS + XTLS-Reality — a protocol combination that:- Routes your traffic through what appears to be a normal HTTPS connection
- Copies Chrome's TLS fingerprint to avoid fingerprint detection
- Cannot be distinguished from regular web browsing by DPI systems
Option 1: Veilora (Recommended)
Veilora is built on Xray-core and handles all configuration automatically. No technical knowledge required.Setup Steps
Step 1: Get Veilora via Telegram bot or get a config directly (recommended in Iran/Turkey) Step 2: Open the app. VeilShift™ (VLESS+XTLS-Reality) is enabled by default. Step 3: Tap Connect and select a server:- Iran users: Frankfurt or Amsterdam
- Turkey users: Bulgaria, Romania, or Germany
- India users: Singapore
- UAE users: Frankfurt or Amsterdam
Step 4: Connected. Your traffic is now routed through VLESS+XTLS-Reality.
The app automatically:
- Enables CDN Mode (Cloudflare fallback) if direct connection fails
- Updates server configs when they change
- Switches protocols if the primary method is blocked
CDN Mode (Iran/UAE only)
In Iran and UAE, enable CDN Mode for maximum reliability:- Open Veilora → Settings → CDN Mode → ON
- This routes traffic through Cloudflare's CDN, which cannot be blocked without taking down most of the legitimate internet
Option 2: Manual v2rayNG Setup
If you prefer to use your own server or a custom config, here's how to set up v2rayNG manually.Install v2rayNG
Download v2rayNG from GitHub releases or F-Droid. It is not available on Google Play (Coming Soon) in some regions.Import a VLESS Config
- Open v2rayNG
- Tap the + button → Import config from clipboard or Scan QR code
- If you have a
vless://URI, paste it into the clipboard import
Manual Config (JSON)
For advanced users, a minimal VLESS+XTLS-Reality config looks like:{
"outbounds": [{
"protocol": "vless",
"settings": {
"vnext": [{
"address": "YOUR_SERVER_IP",
"port": 443,
"users": [{
"id": "YOUR_UUID",
"encryption": "none",
"flow": "xtls-rprx-vision"
}]
}]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"serverName": "www.microsoft.com",
"fingerprint": "chrome",
"publicKey": "YOUR_PUBLIC_KEY",
"shortId": "YOUR_SHORT_ID"
}
}
}]
}
Key parameters:
serverName: A real domain hosted on Cloudflare or similar CDN (the "camouflage" site)fingerprint:chrome— tells Xray to emulate Chrome's TLS fingerprintflow:xtls-rprx-vision— enables XTLS-Vision for better performance
Getting a Working Config
The hardest part of manual setup is obtaining a working server and config. Options:- Run your own server with Marzban or 3x-ui panel
- Use Veilora's Telegram bot to get free VLESS configs without running a server
Troubleshooting
Connection drops every few minutes:- Enable XHTTP transport instead of TCP in your config
- This provides better stability on unstable mobile connections
App blocked by ISP:
- Switch to CDN Mode if using Veilora
- Try a different server location
- Get a fresh config from the Telegram bot
High latency:
- Choose a geographically closer server
- Disable traffic shaping in settings (slightly more detectable but faster)
Can't download v2rayNG:
- Use Veilora instead — available via Telegram bot without Play Store
Frequently Asked Questions
Is Xray/VLESS legal? The underlying protocols are open source software. Using them for privacy and circumventing censorship is legal in most countries. In countries where VPN use is regulated (Iran, UAE), the legal risk falls on providers, not individual users. VLESS vs VMess — which should I use? VLESS with XTLS-Reality. VMess is an older V2Ray protocol that is heavier and has weaker obfuscation. VLESS is its replacement, and with XTLS-Reality it is significantly harder to detect. Does Xray drain battery? Xray-core is more CPU-intensive than WireGuard (which uses kernel-space implementation). On modern Android phones, you'll see ~5-10% more battery drain during active use compared to WireGuard. Veilora optimizes this through connection lifecycle management. Can I use VLESS on iOS? VLESS+XTLS-Reality is supported by Shadowrocket and Streisand on iOS. Get compatible configs from Veilora's Telegram bot.Try Veilora Free
10 GB/month free. No sign-up required — just download and connect. Download for Android | Get configs via TelegramReferences & Further Reading
- Xray-core on GitHub — Official Xray proxy framework repository and documentation
- OONI Project — Real-world data on internet censorship and network interference
- EFF: Android Security and Privacy — Best practices for mobile security
- Android Security & Privacy Year in Review — Official Android security guidelines
- Cloudflare: What is a VPN? — Technical explanation of VPN technology
Start Free Today
10 GB/month free. No credit card required.