Platform Support#

Platform Minimum system Distribution Download
iOS iOS 15 App Store, IPA App Store, IPA
macOS (Mac App Store) macOS 13 Mac App Store App Store
macOS (Outside App Store) macOS 13 Homebrew, ZIP brew install --cask onexrayse
Universal ZIP
Android Android 10, arm64-v8a or x86_64 Google Play, APK Google Play, Universal APK
Windows x86_64 Windows 10 winget, EXE, ZIP EXE, ZIP
Windows ARM64 Windows 11 winget, EXE, ZIP EXE, ZIP
Linux x86_64 glibc 2.39 DEB, ZIP DEB, ZIP
Linux arm64 glibc 2.39 DEB, ZIP DEB, ZIP

Android supports only arm64-v8a and x86_64. 32-bit ARM is not supported.

iOS IPA#

Self-installing the IPA requires re-signing both OneXray and its Packet Tunnel extension with a provisioning profile that authorizes the Network Extension capability. Apple does not support this capability for free Personal Team accounts, so a paid Apple Developer Program membership is required. Without it, the app may open and ping nodes, but the VPN cannot start.

See Apple Developer Forums and Supported capabilities (iOS).

macOS Outside App Store#

Homebrew and the Universal ZIP contain the same Developer ID macos_se package and install OneXraySE.app. The Mac App Store build is a separate package.

brew install --cask onexrayse
brew uninstall --cask onexrayse

Universal ZIP#

  1. Download and extract OneXray-macos-universal.zip.
  2. Move OneXraySE.app to /Applications. Do not run it directly from Downloads or another folder; macOS requires an app containing a System Extension to be installed in a system Applications directory.
  3. Open OneXraySE from Applications and accept the macOS launch confirmation.

For the first VPN connection:

  1. Import a subscription or node, select a node, and click Start.
  2. Open System Settings > General > Login Items & Extensions.
  3. Under Extensions, open Network Extensions, enable OneXraySE, and click Done.
  4. If Privacy & Security also shows an approval request, click Allow and restart the Mac if requested.
  5. Return to OneXraySE and click Start again.

To update the ZIP build, quit OneXraySE, replace the existing app in /Applications with the newly extracted OneXraySE.app, and reopen it. Approve the System Extension update if macOS asks.

See Installing System Extensions and Drivers and Change Login Items & Extensions settings.

Windows#

Winget selects the installer matching x86_64 or ARM64:

winget install --id YuanDevLLC.OneXray -e
winget uninstall --id YuanDevLLC.OneXray -e

Linux DEB#

The DEB installs under /opt/OneXray and grants the bundled Core its required network capabilities during installation.

sudo apt install ./OneXray-linux-x86_64.deb
sudo apt remove onexray

Use OneXray-linux-aarch64.deb on arm64.

Linux ZIP#

Install dependencies, then grant capabilities to the Core inside the extracted directory:

sudo apt install -y procps libcap2-bin libayatana-appindicator3-1
sudo setcap cap_net_admin,cap_net_raw+eip OneXray/bin/OneXrayCore

Run the command from the directory containing the extracted OneXray folder, or replace the path with its absolute path. GNOME may also require the AppIndicator extension.

Linux arm64 currently falls back to English for CJK locales.