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 onexrayseUniversal 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 onexrayseUniversal ZIP#
- Download and extract
OneXray-macos-universal.zip. - Move
OneXraySE.appto/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. - Open OneXraySE from Applications and accept the macOS launch confirmation.
For the first VPN connection:
- Import a subscription or node, select a node, and click Start.
- Open System Settings > General > Login Items & Extensions.
- Under Extensions, open Network Extensions, enable OneXraySE, and click Done.
- If Privacy & Security also shows an approval request, click Allow and restart the Mac if requested.
- 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 -eLinux 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 onexrayUse 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/OneXrayCoreRun 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.