This commit is contained in:
2026-06-01 02:48:06 +03:00
parent 43f24fe25f
commit ee4c6211ae
8 changed files with 165 additions and 45 deletions
+20 -15
View File
@@ -16,6 +16,9 @@ This page is public operator documentation. It describes behavior, API, environm
- Routing rule sets with rules, balancers, and blocking options.
- External subscription source ingestion and testing.
- Public subscription exports for VPN clients.
- Platform settings management (panel, subscription delivery, Telegram).
- Telegram broadcast messages with user filtering and delivery tracking.
- Referral system with code-based self-approval for pending users.
- Audit logs, usage queries, metrics, and health checks.
## Environment Variables
@@ -23,6 +26,7 @@ This page is public operator documentation. It describes behavior, API, environm
| Variable | Required | Default | Description |
| --- | --- | --- | --- |
| `PORT` | No | `3000` | HTTP port. |
| `GRPC_PORT` | No | `3002` | gRPC port for node-to-core communication. Expose this port to node servers. |
| `NODE_ENV` | No | `development` | Runtime mode. |
| `DB_HOST` | Yes | `localhost` | Database host. |
| `DB_PORT` | No | `5432` | Database port. |
@@ -63,6 +67,7 @@ services:
restart: unless-stopped
environment:
PORT: 3000
GRPC_PORT: 3002
DB_HOST: your-postgres-host
DB_PORT: 5432
DB_USER: postgres
@@ -77,6 +82,7 @@ services:
CORS_ORIGINS: https://panel.example.com
ports:
- "3000:3000"
- "3002:3002"
depends_on:
- redis
networks:
@@ -155,19 +161,22 @@ Missing or unknown `format` falls back to `v2ray`.
| `GET` | `/me/links` | User subscription links. |
| `GET` | `/me/configs` | Available configs for the user. |
| `POST` | `/me/links` | Create a public link. |
| `PATCH` | `/me/subscriptions/links/:id` | Rename, enable, disable, or reconfigure a link. |
| `DELETE` | `/me/subscriptions/links/:id` | Delete a link. |
| `POST` | `/me/subscriptions/:id/reset` | Reset a link UUID. |
| `PATCH` | `/me/links/:id` | Rename, enable, disable, or reconfigure a link. |
| `DELETE` | `/me/links/:id` | Delete a link. |
| `POST` | `/me/links/:id/reset` | Reset a link UUID. |
| `PATCH` | `/me/subscriptions/:id/auto-renew` | Toggle auto-renew. |
## Admin API Groups
- `/admin/users` - users, approval status, block flag, profile fields, stats.
- `/admin/users` - users, approval status, block flag, profile fields, stats, referees.
- `/admin/tariffs` - tariff CRUD.
- `/admin/subscriptions` - subscriptions and subscription links.
- `/admin/nodes` - nodes, protocols, sync, runtime operations, masking sites, outbounds.
- `/admin/links` - subscription link operations (reset, update, delete).
- `/admin/nodes` - nodes, protocols, sync, runtime operations, masking sites, outbounds, observatory, routing balancers.
- `/admin/routing-rule-sets` - reusable routing templates.
- `/admin/external-subscriptions` - external source CRUD and URL testing.
- `/admin/settings` - platform settings (panel, subscription delivery, Telegram).
- `/admin/broadcasts` - Telegram broadcast messages with delivery tracking.
- `/admin/logs` - audit log viewer data.
- `/admin/usage` - traffic usage rows.
- `/admin/xray/parse-link` - parse a proxy share link into outbound settings.
@@ -176,18 +185,14 @@ See [Core API routes](./core-routes.md) for the detailed route table.
## Node-Private API
Node agents consume the private `/node/*` API:
Node agents use two transports:
- `POST /node/register`
- `POST /node/heartbeat`
- `GET /node/config/latest`
- `POST /node/config/applied`
- `POST /node/usage`
- `POST /node/outbound-usage`
- `POST /node/session-events`
- `POST /node/error`
- **HTTP** — registration only (`POST /node/register`).
- **gRPC** (`GRPC_PORT`, default `3002`) — heartbeat, usage reporting, config sync, and live stats. This is the primary node transport.
See [Core private node routes](./core-private-routes.md) for the payload contract.
HTTP fallback routes (`/node/heartbeat`, `/node/usage`, etc.) remain available but the node agent uses gRPC by default.
See [Core private node routes](./core-private-routes.md) for the full payload contract and gRPC method table.
## Data Behavior