Xray client for Android — with Material 3, AmneziaWG, olcRTC and OpenFlux.
Download APK · Obtainium · Screenshots · Documentation · Русский
Veil 1.0.0 is out — the first stable release, with AmneziaWG profiles, a Compose main screen and an AMOLED theme. See the releases · report an issue.
An open-source Xray client for Android. Supports the standard Xray protocols, AmneziaWG, olcRTC and OpenFlux. Config-compatible with v2rayNG.
- Protocols — VMess, VLESS, Shadowsocks, Trojan, SOCKS, HTTP, WireGuard and Hysteria2, plus three tunnelled profile types: AmneziaWG, olcRTC and OpenFlux.
- AmneziaWG — AWG 1.5–3.x obfuscation, import from
.conf/amneziawg:///vpn://, and a nativeamneziawg-godevice over a gVisor netstack (primary profile only for now). - olcRTC — Jitsi / Telemost / WbStream carriers; DataChannel / VP8 / SEI transports.
- OpenFlux — Yandex Docs / Volga / Board / MAX / Cups.online / Mail.ru / Avito transports through the upstream OpenFlux mobile bridge; requires a self-hosted exit node.
- Modes — VPN (TUN), proxy-only (SOCKS5), hybrid (SOCKS5 with an in-app TUN toggle) and root.
- Proxy chains — route a connection through several servers in order.
- Routing — one-tap presets (bypass RU / CN / IR), ad and tracker blocking, per-app proxy, custom rules, GeoIP / Geosite asset downloads.
- Subscriptions — URL import with custom HTTP headers and HWID, per-subscription update and ping.
- Import / export — QR codes, clipboard, files, share links,
v2rayng://install-sub, backup and restore. - Interface — Material 3 Expressive, AMOLED theme, nine languages, home-screen widget. No analytics or telemetry.
Android 8.0 (API 26) or newer.
| APK | For |
|---|---|
veil_*_arm64-v8a.apk |
Most modern phones — recommended |
veil_*_armeabi-v7a.apk |
Older 32-bit devices |
veil_*_x86_64.apk |
x86_64 emulators |
veil_*_x86.apk |
x86 emulators |
veil_*_universal.apk |
Any device; larger download |
Download from Releases. For automatic updates, add the repository to Obtainium; Veil also checks GitHub for new versions itself (About → Update).
| Topic | EN | RU |
|---|---|---|
| Architecture | architecture.md | architecture.md |
| Building | build.md | build.md |
| olcRTC | olcrtc.md | olcrtc.md |
| AmneziaWG | amneziawg.md | amneziawg.md |
All docs: docs.
See Building — JDK 17+, Android SDK 37, NDK, Go 1.27 and gomobile. The release AAR is a custom build that bundles Xray, olcRTC, OpenFlux and AmneziaWG; the stock upstream AAR does not include them.
If you find Veil useful, you can support development with USDT:
| Network | Address |
|---|---|
| Tron (TRC-20) | TSv3rM2MS7Q9Nyrc1JR43y4xRjDrZmWDSU |
| BNB Smart Chain (BEP-20) | 0x2dfCb2fd70Dd8d03D1c831CC4635Edcb9De80F45 |
Thank you ❤️
For lawful use only. You are responsible for complying with the laws of your jurisdiction and for the servers you choose to use. The author does not endorse or encourage illegal activity.
| Project | Role |
|---|---|
| Xray-core / v2ray-core | Core engine |
| hev-socks5-tunnel | TUN → SOCKS5 |
| olcRTC | WebRTC transport |
| OpenFlux | Pluggable-transport tunnel |
| amneziawg-go | AmneziaWG device |
| gVisor | Userspace network stack |
| v2rayNG | Upstream base |
| Google Sans | Typeface (SIL OFL 1.1) |


