Import and sharing formats
Choose the right format
| Item | Format |
|---|---|
| Server | Supported protocol share link, node JSON, or OneXray link |
| Subscription | HTTPS URL or OneXray link |
| Custom Routing | Complete route JSON or OneXray link |
| Raw JSON | Complete configuration JSON or OneXray link |
| Custom GeoData | File name/type and HTTPS source link |
| Connection backup | OneXray-backup.json through Backup & restore |
Standard protocol links cannot represent every Xray outbound field. Use complete node JSON or the OneXray format when preserving those fields matters.
VMess and VLESS links follow the VMessAEAD / VLESS share-link standard. Legacy VMessQrCode links (vmess://Base64(JSON)) are not supported. Hysteria2 (hysteria2:// / hy2://), SS, SOCKS, Trojan, and Base64 / age subscription wrappers are supported.
Server import extracts nodes only. Complete configuration import belongs in Custom Routing or Raw JSON. A connection backup uses the separate Backup & restore entry, not a configuration import. Old ZIP backups are not supported. Unlike subscription sharing, a backup includes existing Age keys and HWID; never publish it as a share link.
OneXray links
onexray://onexray.com/config/add?type=outbound|raw|custom|custom-advanced&data=<percent-encoded-base64-json>#Name
onexray://onexray.com/sub/add?url=<percent-encoded-https-url>&age=x25519|hybrid&panel=generic|remnawave&mode=appManaged|providerManaged&userAgent=<percent-encoded-user-agent>#Name
onexray://onexray.com/dat/add?type=domain|ip&url=<percent-encoded-https-url>#NameChoose one value wherever alternatives are shown; omit age for an unencrypted subscription. The fragment supplies a display name. Retired profile/full/setting configuration types are not supported.
age links include only the algorithm. The receiving device generates new keys; your existing private or public key is not shared. Subscription exports also omit the HWID and its enabled flag. Importing a link cannot enable HWID; the receiving user must opt in for that subscription.
An optional percent-encoded userAgent preserves the source’s explicit download UA. If omitted or cleared, the receiving device uses its compatible default for every panel. It does not enable HWID or include secret keys.
Route dependencies
A complete shared configuration may declare custom data:
{
"geodata": {
"assets": [
{"file": "other.dat", "url": "https://example.com/other.dat"}
]
}
}This is a dependency fragment, not a complete runnable configuration. Replace the example URL with your source.
Default geoip.dat and geosite.dat are omitted. Ordinary Custom exports empty entry slots, optional Fragment and a controlled dnsOut helper for an explicit direct/empty-answer DNS policy; Advanced also keeps its other auxiliary outbounds. Supported DNS, sniffing and proxy-selection settings remain in the saved format. Generated proxy nodes, runtime balancer selectors/fallback tags and App direct/block definitions are not exported. Import checks dependencies, rejects filename conflicts and removes transfer-only geodata metadata before storage.
Ordinary Custom routes store and export their local DNS address using the standard dns.servers entry tagged app-dns-direct. Runtime-only direct-domain matching is generated by the app. See the custom-route JSON example.
Sharing from the app
iOS, Android, macOS, and Windows open the system share interface. Linux offers an explicit copy action. Closing or cancelling a share panel leaves the source page open; the app does not treat dismissal as successful delivery. A share error shows the available cause.
Opening links
Installed mobile/macOS apps, Windows EXE/MSIX, and Linux DEB register onexray://. Windows/Linux ZIP does not register it automatically; use clipboard/file import instead. When multiple Mac editions are installed, the OS chooses the link handler.
Sharing can expose credentials and URL tokens. Review the content first. Complete configurations and dependencies retain a confirmation flow even though ordinary node imports no longer have a second preview.
Ordinary Custom links use custom; Advanced JSON uses custom-advanced; complete Raw uses raw. A bare file gets its type from the chosen editor. Never infer the type from DNS fields or open an Advanced template in the ordinary rule form.
HTTPS subscription responses use a separate format-detection flow: complete Xray objects/arrays can be stored as provider configurations, without discarding routing or DNS. Normal pasted node/file import still extracts ordinary nodes.
Subscription links may omit panel/mode: panel defaults to generic and a new source can determine mode from its first response. Generated links include the saved values. A duplicate URL refreshes its existing source without overwriting panel/mode. Complete provider sharing uses an adapted Raw copy, not a new subscription URL. Ordinary exports retain the supported DNS, sniffing and selection settings; generated node tags and runtime probes are omitted.
Cold launch and redirects
Subscription links are held in memory during initialization and Setup, then opened once the main interface is ready. Broadcast delivery and the initial pending-link read share one claim, so the same pending link opens once. Imports wait for the current dialog to close. After completion or cancellation, opening the same link again is a new action.
For a web redirect wrapping an onexray:// URI, percent-encode the entire inner URI as one outer parameter. The redirect server must parse/decode that outer parameter once and return the original custom-scheme URI in Location, including panel, mode, userAgent and the name fragment when present. The App cannot restore fields discarded by the redirect.