AI summary
An open-source Android Xray client for managing profiles, subscriptions, split tunneling, and custom routing. Version 1.5.5 adds connection analytics and an updated embedded core; saved connection history is optional and off by default.
Generated by AI. May contain inaccuracies.
Screenshots
About this app
Yet Another Xray Client (for Android) with tun0 defense, sock5 auth, support of antifilter.download subnets, geo files, per-app split, core routing and more
An Android client for Xray-core: manage subscriptions, compare servers and choose how your apps connect.
Latest release Requires Android 8.0 or newer MIT license
yaxc is a client, not a VPN service. Bring a subscription or a compatible server configuration from a provider you trust. The standard Android VPN mode does not require root.
Features
Profiles and subscriptions Import subscriptions and profile share links from the clipboard or a QR code. Keep multiple sources organized alongside your manually created profiles. Refresh subscriptions manually or automatically; see traffic usage and expiry when your provider supplies them. Check a single profile or compare a group with batch latency checks. Choose HTTP GET, HTTP HEAD or TCP checks. Routing you control Per-app split tunneling: route all apps through the VPN, exclude selected apps or include only selected apps. Core routing: build ordered rules in the visual editor or edit routing JSON directly. Send matching traffic through the proxy, directly or to a blocking outbound. Match domains, IP ranges, ports, protocols and TCP/UDP transport; import and export routing JSON through the clipboard. Download or import GeoIP, GeoSite and Antifilter lists in the app. Choose a bundled provider preset or your own geodata URLs. Tools for everyday use and advanced setups A full-screen JSON editor with syntax diagnostics, formatting, undo/redo and find/replace. Connection details and live runtime logs for troubleshooting. English and Russian interfaces, system-following appearance and four theme presets, including Mint Graphite and Light Slate. In-app release checks and APK updates. A Quick Settings tile for connection control, plus optional start on boot. Optional root/transparent-proxy settings for advanced hotspot and tethering setups. Screenshots Captured from the 1.5.3 development build on an isolated Android emulator. All profile names, endpoints and subscription usage are fictional demo data. These are real app screens, not mockups; the VPN is not connected.
Profiles & subscriptions Core routing Per-app routing Connect screen in Mint Graphite with a fictional demo subscription and server profiles Visual core routing editor with ordered rules and a domain strategy selector Per-app routing with Off, Exclude and Include modes, search and app selection JSON workspace Routing resources Preferences & themes Full-screen JSON editor showing a credential-free local routing example GeoIP and GeoSite resource management in Mint Graphite with download and file import controls Light Slate preferences with the five-choice App Theme dialog open Select any screenshot to view it at full resolution.
Themes Choose Settings → Preferences → Basic → App Theme, then save. Each preset below shows the same Connect and Core Routing screens with identical demo data so you can compare the colors directly.
Midnight Blue · Connect Midnight Blue · Core Routing Midnight Blue theme on the Connect screen with fictional demo profiles Midnight Blue theme in the visual Core Routing editor Graphite · Connect Graphite · Core Routing Graphite theme on the Connect screen with fictional demo profiles Graphite theme in the visual Core Routing editor Mint Graphite · Connect Mint Graphite · Core Routing Mint Graphite theme on the Connect screen with fictional demo profiles Mint Graphite theme in the visual Core Routing editor Light Slate · Connect Light Slate · Core Routing Light Slate theme on the Connect screen with fictional demo profiles Light Slate theme in the visual Core Routing editor System default — light and dark previews
Download Download APKs from GitHub Releases. Requires Android 8.0 or newer.
APK Choose this for universal Any supported architecture; the simplest choice if you are unsure. Available starting with 1.5.3. arm64-v8a Most current Android phones and tablets; smaller than universal. armeabi-v7a Older devices running 32-bit ARM Android. x86_64 Devices and emulators running 64-bit x86 Android. x86 Devices and emulators running 32-bit x86 Android. Allow your browser or file manager to install apps from this source if Android asks. When updating, install over the existing app using the same signing source to keep your profiles and preferences. If Android reports a signing conflict, do not uninstall just to bypass it: uninstalling removes app data.
Getting started
Install yaxc using the APK for your device. Add your configuration. Copy an HTTPS subscription URL or a supported profile share link, then use From Clipboard on the Connect screen. You can also use Scan QR code, or create a manual group and a JSON profile. Prepare routing resources. Open Settings → Assets and download geoip.dat and geosite.dat for the default routing rules. Configurations without geodata references do not need these files. Choose a profile. Open its group, select a server and optionally run a latency check. Connect. Tap the power button and approve Android's VPN request. Use the same button to disconnect. For split tunneling, open Routing → Apps Routing, choose Off, Exclude or Include, select apps and save. For domain/IP rules, open Routing → Core Routing. Rules are evaluated from top to bottom; higher rules take precedence.
Subscription updates Automatic refresh is optional. Enable Settings → Preferences → Auto-refresh subscriptions and set the refresh interval; provider-supplied intervals are used when available. Android may defer background work.
Each source is updated as a complete batch: a failed or malformed refresh keeps that source's previous profiles. Cancellation before commit also keeps them; an update already committing finishes before reporting its result. An unchanged active configuration keeps the existing connection running. A changed configuration is validated before replacing the active core; an invalid replacement keeps the previous connection and reports an error. If an update removes the selected profile, the VPN stops rather than silently using a deleted profile. When refreshing multiple sources, successful sources can still update; the result reports any partial failures.
FAQ
Does yaxc include servers or a subscription? No. You need your own compatible configuration or an HTTPS subscription from a provider. Availability, speed and server-side privacy depend on that provider and your network.
Which configuration formats can I use?
Use Xray JSON configurations or supported profile share links, including VLESS. You can also open a local JSON file with yaxc. Subscription sources can provide raw JSON or supported share-link lists, including base64-encoded subscriptions. A feature supported by Xray-core is not necessarily available through every share-link format.
Why does the connection ask for GeoIP or GeoSite?
A routing rule references geoip.dat, geosite.dat or a group inside one of those files. On the error dialog, choose Resources, download or import a compatible file, then return and tap Retry. If a group is missing, choose a rule set containing it or change the rule. Recovery does not automatically download files or connect.
Do I need root? Can this replace a kill switch?
Normal VPN use does not require root. Transparent-proxy mode is an advanced, root-dependent path and requires a separately installed Xray executable in Assets. Root/iptables behavior varies by device and is not as broadly verified as VPN mode.
Experimental TUN protection is not a guaranteed kill switch. Do not rely on yaxc to prevent every possible traffic leak.
What information is sent over the network?
Subscription requests go to your provider and can include the configured User-Agent, x-hwid identifier and Android/device headers. Review global values in Preferences and per-source overrides in Links. Release checks contact GitHub; resource downloads and latency checks contact their configured endpoints. Treat subscription URLs and exported configurations as secrets, and choose providers you trust.
What should I include in a bug report?
Open an issue with your app version, Android version, device model, steps to reproduce and the relevant error or log excerpt. Note whether you use VPN or root mode. Redact subscription URLs and tokens, server addresses, UUIDs, passwords, keys and local proxy credentials before sharing logs, JSON or screenshots.
Contributing
Bug reports, reproducible examples and focused pull requests are welcome. Build instructions, native dependency details and verification workflows live in the development guide, not in this user guide.
Credits and license
yaxc is an independently maintained fork of SaeedDev94/Xray, powered by Xray-core and hev-socks5-tunnel.
The app is licensed under MIT. Bundled third-party components retain their respective licenses.
What's new
- Connection analytics
- Tap the large connection card on Connect to inspect connections by app or by configuration, with active/finished filters, destinations, protocol, runtime route and upload/download payload counters. Attribute Live Routing traffic to the actual member used by each connection. Established streams retain their original member and captured labels after live routing changes. Keep bounded history in memory: up to 5,000 connections / 8 MiB, with finished rows expiring after 24 hours. Capture continues when the analytics screen closes; buffer pressure and incomplete counters are shown explicitly. Added optional private on-device history, off by default and excluded from Android backups. Turning it off deletes saved history; clearing finished history preserves active connections and never stops traffic. App attribution requires Android 10+ VPN owner lookup and authenticated local SOCKS identities. Unknown owners remain unknown; shared UIDs list all associated packages. Reused UIDs or changed shared-UID membership are not reassigned to another app's history. Internal DNS and availability-check traffic is excluded from user connection analytics. Root-mode analytics is explicitly unavailable. Counters cover logical proxy payloads, not transport overhead or provider quota; UDP rows represent associations rather than separate per-destination totals.
- Routing
- Ordinary profile connections now operate independently of the saved Live Routing plan, using the selected profile, global settings and Core Routing only. Saving Live Routing rules or changing its availability-check interval updates only an active Live Routing session. Invalid plans or missing members no longer prevent ordinary profile connections.
- Embedded core
- Switched the embedded core to the derundevu/proxide fork, version 26.11.9.1, based on Xray 26.11.9, while retaining the fork's Live Routing and connection-observation support. Settings now identifies the core as "derundevu/proxide (Xray fork)" instead of "Xray"; the core version remains displayed separately. The package ID and Room schema are unchanged. The separately managed root-mode Xray executable is not upgraded by this release. Connection destinations and app identities are sensitive: enable saved history only when needed.
About this version
- Version
- 1.5.5 (1177)
- Size
- 51.33 MB
- Requires Android
- 8.0
- Target SDK
- 26
- Architecture
- arm64-v8a
- Downloads
- 9
- Updated
- Nov 10, 2026
- Package
- io.github.derundevu.yaxc
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10