v15
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user