Remnawave Integration
1. Applying HTTP Response Headers
Section titled “1. Applying HTTP Response Headers”Remnawave supports two ways to apply HTTP response headers to subscription profiles.
Method 1 — Global (for all apps)
Section titled “Method 1 — Global (for all apps)”In the Remnawave admin panel, open Subscription → Settings → Response Headers. Add any headers there — they will be returned to all clients on every subscription fetch.
For External Squads, headers are configured per squad: Users → External Squads → Headers.
Method 2 — Per-App via Response Rules (Prizrak-Box specific)
Section titled “Method 2 — Per-App via Response Rules (Prizrak-Box specific)”Response Rules let you apply headers only when the request comes from a specific client,
identified by the User-Agent header. This way you can send Prizrak-Box–specific settings
without affecting other apps.
Go to Subscription → Response Rules and create a new rule. Place it at the top of the list to ensure priority.
Prizrak-Box identifies itself with a User-Agent of the following format on every platform:
| Platform | User-Agent |
|---|---|
| Desktop | prizrak-box/{version} (Desktop Build; {OS} OS; Prizrak-Core {core}) |
| Android | prizrak-box/{version} (Android Build; Prizrak-Core {core}) |
| Apple | prizrak-box/{version} (Apple Build; Prizrak-Core {core}) |
For example, prizrak-box/1.0.21-beta06 (Desktop Build; Windows OS; Prizrak-Core v1.19.33-r1).
The condition prizrak-box/ matches all of them. Older versions sent a string with a Clash-Meta/ prefix
(Clash-Meta/Prizrak-Box (...)), so a rule written as Clash-Meta/Prizrak-Box ( no longer matches new versions —
use prizrak-box/ instead.
Use the following JSON as a template — it covers all headers supported by Prizrak-Box:
{ "name": "Prizrak-Box", "description": "Headers for Prizrak-Box clients", "enabled": true, "operator": "AND", "conditions": [ { "headerName": "user-agent", "operator": "CONTAINS", "value": "prizrak-box/", "caseSensitive": false } ], "responseType": "MIHOMO", "responseModifications": { "headers": [ { "key": "profile-logo", "value": "https://example.com/logo.png" }, { "key": "announce-url", "value": "https://t.me/your_channel" }, { "key": "fallback-domain", "value": "backup.example.com" }, { "key": "pxa-latency-dots", "value": "1" }, { "key": "pxa-simple-mode", "value": "1" }, { "key": "pxa-global-mode-mp", "value": "1" }, { "key": "pxa-conns-view-mp", "value": "1" }, { "key": "pxa-rp-mp", "value": "1" } ] }}Remove the headers you don’t need. For a full description of each header see Supported Headers.
2. Custom Mihomo Template
Section titled “2. Custom Mihomo Template”To deliver a fully custom Mihomo config to Prizrak-Box clients — for example,
one with the Smart proxy group — specify a subscriptionTemplate in the Response Rule:
{ "name": "Prizrak-Box Smart Template", "description": "Custom Mihomo template with Smart proxy group for Prizrak-Box", "enabled": true, "operator": "AND", "conditions": [ { "headerName": "user-agent", "operator": "CONTAINS", "value": "prizrak-box/", "caseSensitive": false } ], "responseType": "MIHOMO", "responseModifications": { "subscriptionTemplate": "SmartPrizrak" }}The subscriptionTemplate value (SmartPrizrak in the example) must match the name of a template
configured in your Remnawave panel.
For details on the Smart proxy group type and its configuration parameters, see Smart Proxy Group.
3. AGE Encryption
Section titled “3. AGE Encryption”Remnawave can encrypt the Mihomo config with age before delivering it to Prizrak-Box. Only the client that holds the matching secret key can decrypt and apply the config.
For a complete setup guide — key generation, Remnawave response rule configuration, and Prizrak-Box client setup — see AGE Encryption.
4. Remnawave-Specific Mihomo Keys for Subscription Templates
Section titled “4. Remnawave-Specific Mihomo Keys for Subscription Templates”Remnawave supports special keys that extend the standard Mihomo configuration and are available inside subscription templates. These keys allow fine-grained control over proxy groups and providers directly from the template.
Full reference: docs.rw/guides/templates/mihomo
5. Proxy and Group Descriptions
Section titled “5. Proxy and Group Descriptions”Prizrak-Box shows a short description next to a server or a proxy group in the proxy list. Keep it up to 30 characters — that is the limit of the field in the Remnawave panel.
Server description (proxies)
Section titled “Server description (proxies)”Set it in the host settings of the Remnawave panel:
- Open the host for editing.
- In the Options block press Add.
- In the Subscription section choose Server description.
- Enter the text (up to 30 characters) and save the host.
Prizrak-Box reads it from the serverDescription key of the proxy in the subscription.
Remnawave sends this key only to the clients it recognises, and a User-Agent that starts with
prizrak-box/ is one of them, so no extra setup is needed.
Group description
Section titled “Group description”The description of a proxy group is added to the Mihomo template, like the other group parameters,
with the description key:
proxy-groups: - name: 👻 Prizrak type: select description: Auto-pick the best location proxies: - 🇩🇪 Germany - 🇫🇮 FinlandThe group description is shown in the row of the group when it is nested in another proxy group.
All keys and display rules are described in Proxy and Group Descriptions.
6. Prizrak-Core Feature Support
Section titled “6. Prizrak-Core Feature Support”Prizrak-Box runs on the Prizrak-Core core, which has features that regular Mihomo does not. To deliver them to users through the subscription, add the required options to the proxy with the Remnawave host mapper, in the mihomo list. Only the Mihomo subscription changes, and clients on regular Mihomo ignore keys they do not know.
How to set up the host mapper and ready mapper JSON for every feature are in the Prizrak-Core docs: Remnawave integration.
| Feature | Mapper example |
|---|---|
| mux.cool multiplexing | mux.cool |
| REALITY ML-DSA-65 | REALITY ML-DSA-65 |
| finalmask | finalmask |
A kcp host: VLESS over mKCP, xdns DNS tunnels | mKCP and xdns |
XHTTP flow governor (h2-flow) | XHTTP h2-flow |
QUIC reject (udp-443) | udp-443 |