Public Status Page
Xray Checker includes a built-in public status page that allows you to share proxy availability information with your users without exposing sensitive configuration details.
Overview
The public status page provides:
- Real-time proxy status (online/offline)
- Latency information for each proxy
- Clean, responsive interface
- Automatic updates
When enabled, sensitive information like server addresses, ports, and configuration details are hidden from view.
Enabling Public Mode
Set the environment variable:
WEB_PUBLIC=trueOr use the CLI flag:
xray-checker --web-publicWhat’s Hidden in Public Mode
| Information | Public Mode | Normal Mode |
|---|---|---|
| Proxy Name | ✓ Visible | ✓ Visible |
| Status | ✓ Visible | ✓ Visible |
| Latency | ✓ Visible | ✓ Visible |
| Protocol | ✗ Hidden¹ | ✓ Visible |
| Server Address | ✗ Hidden | ✓ Visible |
| Port | ✗ Hidden | ✓ Visible |
| Local Proxy Port | ✗ Hidden | ✓ Visible |
| Configuration Details | ✗ Hidden | ✓ Visible |
¹ The protocol badge is hidden in public mode by default. See Protocol Badge below to enable it.
Protocol Badge
Each proxy card shows a small colored badge with its protocol (VLESS, VMess, Trojan, Shadowsocks, Hysteria2, WireGuard, SOCKS, HTTP). It is always shown in normal mode.
In public mode the badge is hidden by default. To show it without exposing any other server details, enable WEB_PUBLIC_SHOW_PROTOCOL=true. This affects only the badge — server addresses, ports and config links stay hidden.
Grouped View
Proxies that share a group_name (for example, nodes expanded from a balancer) are shown as collapsible groups with a per-group online count. Ungrouped proxies appear first, followed by each group.
Custom Subscription Name
You can set a custom name for your status page using the subscription info from your provider, or set it manually:
# Will be displayed as the page titleSUBSCRIPTION_URL=https://provider.com/sub#MyVPNURL Customization
The status page supports URL parameters to customize the view:
| Parameter | Description |
|---|---|
hideHeader=true | Hide header with logo and controls |
hideStats=true | Hide statistics cards |
hideServersHeader=true | Hide “Servers” heading |
hideControls=true | Hide search and filters |
hideStatusInfo=true | Hide technical info footer |
hideFooter=true | Hide page footer |
hideBackground=true | Transparent background |
Example: Minimal Embed
https://your-server.com/?hideHeader=true&hideFooter=true&hideControls=trueUse Cases
Sharing with Users
Provide your users with a link to check proxy availability:
https://status.yourdomain.com/Embedding in Documentation
Use iframe to embed the status page:
<iframe src="https://status.yourdomain.com/?hideHeader=true&hideFooter=true" width="100%" height="400" frameborder="0"></iframe>Integration with Status Services
The public page works well behind reverse proxies like Nginx or Cloudflare for additional security and caching.