FAQ
What are x-duckray- custom headers?
DuckRay Client can read special HTTP headers starting with x-duckray-, which are sent by the server along with the subscription file.
How to add custom parameters?
You can pass any parameters to your clients (e.g., a link to your rules, Telegram support contact, or any other text). The only requirement is that the header must start with the prefix x-duckray-.
Instructions for Remnawave panel
- Open the Subscription section.
- Go to Settings.
- Find the Extra Headers section.
- Enter the Key: starting with
x-duckray-(e.g.x-duckray-faqorx-duckray-support). - Enter the Value: your text or URL.
Supported Subscription Headers
DuckRay Client reads standard HTTP headers returned by the panel along with the subscription file.
profile-title— subscription name, displayed in the appannounce— admin message, shown on connectsupport-url— support link (shown as a button in the app)profile-update-interval— auto-update interval in hourssubscription-userinfo— traffic info (upload=...; download=...; total=...; expire=...)x-duckray-*— custom parameters from admin (see card above)
How to add a configuration or subscription?
An external subscription is a URL pointing to a configuration file hosted on your server. The client downloads and automatically updates it when needed.
How to connect
- Copy your subscription URL, e.g.:
https://your-server.com/sub/token - Paste it into the key input field in the DuckRay client.
- The client will automatically download the configuration and connect.
Direct Keys
If you don't have a subscription URL, you can paste a single direct key: vless://..., vmess://..., trojan://..., ss://.... This is a one-time connection without auto-update.
Configuration Auto-Update
If the server returns the profile-update-interval header, the client will automatically update the subscription at the specified interval (in hours).
What does the client send to the server?
On every subscription update, the client appends a few headers to the request. This allows administrators to see device statistics and manage access.
Transmitted headers
x-hwid— unique device ID (max 36 characters)x-device-model— device modelx-device-os— operating system (Windows, macOS, Android, etc.)x-ver-os— OS versionX-App-Version— app versionX-App-Platform— platform (windows, macos, android, etc.)
How to disable
HWID and device data transmission can be disabled in the client settings: Settings → disable "Send HWID".
How does auto-update work?
DuckRay Client automatically updates the configuration on every launch and periodically if the server sets an interval.
How to set the auto-update interval
The server must return this header in the subscription response:
profile-update-interval: 12— update every 12 hoursprofile-update-interval: 24— update once a day
Manual update
Tap the subscription refresh button on the main app screen. The configuration will update without reconnecting.
profile-update-interval header, auto-update will not run. Update manually.