Subscriber panel
The self-serve page your users get at /sub/{key}, with usage, QR codes and one-tap import.
Overview
The subscriber panel is the public page served at /sub/{key}, and it is the
only part of Nasnet Linux your users ever see. It is the same URL as the
subscription link: when a VPN client fetches it the server returns a Base64
config feed, but when a browser opens it the request is redirected to this
page instead, provided SUB_PANEL_URL is configured. Point users here so they
can check their own usage and re-import their config without asking you.
Before you start
- Set
SUB_PANEL_URL(andapp_base_url) in Settings → Server, or a browser hitting the link gets raw config text instead of the page. - The page is public by key. Treat the link key as the credential it is.
Steps
- Copy a subscription’s link from Subscriptions and give it to the user.
- The user opens it in a browser and sees their subscription status, a Copy Link button, and their usage figures.
- From the server list they can import a specific server into a client app, or scan its QR code.
- Usage over time is shown as a heatmap and a trend chart, alongside a forecast of when the data will run out.
- If WireGuard is in play, the user manages their devices from the same page.
- A user can supply their Telegram chat ID from this page to connect their Telegram identity to the subscription.
Reference
| Area | What the user gets |
|---|---|
| Header | Subscription status badges and a Copy Link button. |
| Stats grid | Data used, data remaining and time remaining. |
| Server list | The servers in the subscription, with QR codes and one-tap import to client apps. |
| WireGuard devices | Per-device WireGuard configuration for this subscription. |
| Data forecast | Projected exhaustion based on recent usage. |
| Usage heatmap and trend chart | Usage over time. |
| Telegram chat ID | Links the subscription to a Telegram identity. |
The panel ships icons for v2rayNG, v2rayN, V2Box, Shadowrocket, Streisand and
Quantumult X, and the subscription endpoint auto-detects the client from its
User-Agent, so one link works across v2rayNG, v2rayN, Clash-family clients,
sing-box and Shadowrocket without the user choosing a format.
Troubleshooting
Opening the link in a browser downloads a blob of text. SUB_PANEL_URL is
not set, so the server has nowhere to redirect a browser to. Set it in
Settings → Server.
The page reports the subscription was not found. The link key is wrong, or the subscription was deleted. Re-copy the link from Subscriptions; link keys are rotated rather than reused.