Check your link

Last updated October 8, 2026

Before sharing a link with users, check it the way the app will see it. You’ll need curl, base64 and jq.

Request it like the app

curl -sS -D headers.txt -o config.json \
  -A 'CosmosClientApp/1.0.0 (iOS; sing-box 1.14.2)' \
  'https://example.com/sub/<token>'
head -1 headers.txt   # expected: HTTP/2 200

Decode X-Meta

grep -i '^x-meta:' headers.txt | cut -d' ' -f2 | tr -d '\r' | base64 -d | jq .

You should get JSON with the fields from the X-Meta header. A base64 error or empty output means the app won’t see the header.

Check the configuration

jq '[.outbounds[].type] | unique' config.json
jq '.outbounds[] | select(.type == "vless") | .tls.reality.enabled' config.json
  • Outbound types — only vless and the utility types urltest, selector, direct.
  • Every vless — true: Reality is on.

Checklist before sharing

  • The link is https://, and redirects go to https too.
  • The response is a sing-box configuration in JSON.
  • VLESS + Reality only.
  • X-Meta decodes and contains expiry and country.
  • Expired access — 403 with X-Meta, not 404.
  • Service info (if any) — version: 1, a square logo up to 256 KB.

Add the profile in the app and connect — if something’s wrong, the error message at the bottom of the screen tells you what (FAQ).