Skip to content

feat(mobile): add iOS and Android Xray clients - #85

Draft
cunoe wants to merge 42 commits into
xrayfrom
feat/xray-mobile
Draft

cunoe wants to merge 42 commits into
xrayfrom
feat/xray-mobile

Conversation

@cunoe

@cunoe cunoe commented Sep 23, 2026 •

Copy link
Copy Markdown

MyProxy's Xray channel gains iOS and Android clients with a shared Expo interface. Users can import subscriptions, share links, QR codes or files; expand groups to select nodes; use regional priorities and basic routing rules; and inspect active connections separately from recent history.

The mobile facade compiles the existing Rust strategy, catalog, parser, node renderer and routing sources. Native Packet Tunnel/VpnService owners keep traffic running independently of JavaScript. One embedded Go runtime combines unmodified Xray protocol implementations with gVisor's packet stack; no local SOCKS/HTTP listener is added on iOS. Policy activation is bound to the prepared backend revision, and subscription refresh cannot overwrite user routing policy.

The new mobile workflow builds on GitHub Actions and leaves the existing desktop channels, feeds and release workflows unchanged. Artifacts are an ARM64 Android APK with bundled JavaScript, an iOS simulator application, and an unsigned iOS device archive. iOS distribution signing remains a separate setup step.

Validation: all seven mobile build jobs passed at cd68aac64aa1c2f6be614252b98ddcaf3b64aef6, and the existing desktop CI passed at that source. APK checks confirmed bundled offline JavaScript, Go/Rust ARM64 libraries and 16 KiB ELF alignment. The iOS archive includes the Packet Tunnel extension, matching 0.0.10 / 20.1 metadata and an offline JavaScript bundle. The only subsequent change corrects a documentation link.

Device/network acceptance is explicitly deferred at the user's request. The iOS archive still needs iOS distribution signing for device installation; this draft does not claim traffic, battery or store acceptance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant