Skip to main content

Clients

A client is an app on the user's device. It receives a subscription link and builds the config from it itself: it picks local ports, DNS, and the operating mode. That is why one subscription fits both a phone and a computer.

The main requirement is support for the protocol from your Xray configuration. For VLESS+Reality you need a client on Xray-core or a Meta core; for VLESS+WS+TLS, almost any will do.

Client list​

ClientPlatformsCoreOfficial repository
HappAndroid, iOS, macOS, WindowsXrayhapp.su (closed source)
v2rayNGAndroidXray2dust/v2rayNG
StreisandiOSXrayApp Store (closed source)
sing-boxAndroid, iOS, macOS, Windows, Linuxsing-boxSagerNet/sing-box
mihomo (Clash Meta)core, cross-platformmihomoMetaCubeX/mihomo
Clash Meta for AndroidAndroidmihomoMetaCubeX/ClashMetaForAndroid
StashiOS, macOSmihomo (Clash)stash.ws (closed source)
FoxrayiOSXrayApp Store (closed source)
FlClashAndroid, Windows, macOS, Linuxmihomochen08209/FlClash
Clash Verge RevWindows, macOS, Linuxmihomoclash-verge-rev/clash-verge-rev
KaringAndroid, iOS, Windows, macOSsing-boxKaringX/karing
NekoBox for AndroidAndroidsing-boxMatsuriDayo/NekoBoxForAndroid
v2rayNWindowsXray2dust/v2rayN
NekoRayWindows, LinuxXray, sing-boxMatsuriDayo/nekoray
tip

For open-source clients, the link goes to the official repository; for closed ones (Happ, Streisand, Stash, Foxray), it goes to the official website or app store. Download builds only from there: third-party mirrors often contain extra code.

  1. Copy the subscription link. It is issued by the panel or the subscription page — it is an address of the form https://panel.example.com/api/sub/<shortUuid>.
  2. Open the client and add the subscription:
    • v2rayNG — "+" → "Import from clipboard", or the "Subscriptions" section → add a URL.
    • sing-box / Karing — "Profiles" → create → "Remote" → paste the URL.
    • mihomo, Clash Meta for Android, Clash Verge Rev — "Profiles" → new → "Import from URL".
    • Stash — "Configurations" → import by link.
    • Happ, Streisand, Foxray — import a link or subscription on the main screen.
  3. Update the subscription inside the client. The values come from the server; you do not need to enter the address, port, and UUID manually.
warning

A subscription link contains a user identifier. Do not forward it in public chats and do not publish it: whoever receives the link uses your access.

Subscription format​

Xray-core clients (v2rayNG, Streisand, Happ, Foxray) understand base64 with a list of links. Clients of the Clash/mihomo/Stash family request YAML — the subscription server determines the required format itself from the User-Agent header.

note

Do not serve a single shared JSON config to all clients: it hard-codes the local ports and DNS of a specific app. A subscription link is universal. A ready-made YAML template is covered in mihomo Subscription Template.

What's next​