This commit is contained in:
2026-06-11 14:44:54 +03:00
parent 6d25d43ce2
commit bfc3628e09
4 changed files with 6 additions and 6 deletions
+1 -1
View File
@@ -152,4 +152,4 @@ Authentication: pass `x-node-auth-key` as gRPC metadata (or in the `authKey` fie
The node sends `ReportNodeStats` every 2 s. `GET /admin/nodes/:id/runtime-status` returns the latest stored snapshot without polling the node; `?fromNode=true` forces a live HTTP fetch instead. The node sends `ReportNodeStats` every 2 s. `GET /admin/nodes/:id/runtime-status` returns the latest stored snapshot without polling the node; `?fromNode=true` forces a live HTTP fetch instead.
The node sends `ReportOnlineUsers` every 5 s. Core sets `online:user:{userId}` and `online:inbound:{nodeProtocolId}:user:{userId}` Redis keys with TTL 20 s. Existing `(userId, ip)` rows only receive a new `lastSeenAt`; missing pairs are inserted. When IPinfo is configured, a daily job stores formatted country and ASN data in `user_ips.info`. Core also emits a `user.online` domain event when the user had a gap > 10 s. The node sends `ReportOnlineUsers` every 5 s. Core sets `online:user:{userId}` and `online:inbound:{nodeProtocolId}:user:{userId}` Redis keys with TTL 20 s. Existing `(userId, ip)` rows only receive a new `lastSeenAt`; missing pairs are inserted. IP information enrichment supports IPinfo.io and ip-api.com. A daily job refreshes all known addresses, while a job running every 10 minutes processes addresses with `firstSeenAt > now - 10 minutes`. Results are stored in `user_ips.info`. Core also emits a `user.online` domain event when the user had a gap > 10 s.
+1 -1
View File
@@ -208,7 +208,7 @@ This file lists the current HTTP routes exposed by Core, grouped by access level
| `PATCH` | `/admin/settings/panel` | `PanelSettingsDto` | Updates panel settings | | `PATCH` | `/admin/settings/panel` | `PanelSettingsDto` | Updates panel settings |
| `PATCH` | `/admin/settings/subscription` | `SubscriptionSettingsDto` | Updates subscription delivery settings | | `PATCH` | `/admin/settings/subscription` | `SubscriptionSettingsDto` | Updates subscription delivery settings |
| `PATCH` | `/admin/settings/telegram` | `TelegramSettingsDto` | Updates Telegram bot settings | | `PATCH` | `/admin/settings/telegram` | `TelegramSettingsDto` | Updates Telegram bot settings |
| `PATCH` | `/admin/settings/ipinfo` | `IpInfoSettingsDto` | Updates the IPinfo Lite API token | | `PATCH` | `/admin/settings/ipinfo` | `{ provider?: "ipinfo" \| "ip-api", token?: string, language?: "ru" \| "en" }` | Updates the IP information provider settings. `token` is required by IPinfo.io; `language` is used by ip-api.com and defaults to `en`. The route name is retained for compatibility. |
## Admin routes - broadcasts ## Admin routes - broadcasts
+3 -3
View File
@@ -16,8 +16,8 @@ This page is public operator documentation. It describes behavior, API, environm
- Routing rule sets with rules, balancers, and blocking options. - Routing rule sets with rules, balancers, and blocking options.
- External subscription source ingestion and testing. - External subscription source ingestion and testing.
- Public subscription exports for VPN clients. - Public subscription exports for VPN clients.
- Platform settings management (panel, subscription delivery, Telegram, IPinfo). - Platform settings management (panel, subscription delivery, Telegram, IP information provider).
- User IP history with optional daily country and ASN enrichment through IPinfo Lite. - User IP history with country, city, ISP, and ASN enrichment through IPinfo.io or ip-api.com.
- Telegram broadcast messages with user filtering and delivery tracking. - Telegram broadcast messages with user filtering and delivery tracking.
- Referral system with code-based self-approval for pending users. - Referral system with code-based self-approval for pending users.
- Audit logs, usage queries, metrics, and health checks. - Audit logs, usage queries, metrics, and health checks.
@@ -176,7 +176,7 @@ Missing or unknown `format` falls back to `v2ray`.
- `/admin/nodes` - nodes, protocols, sync, runtime operations, masking sites, outbounds, observatory, routing balancers. - `/admin/nodes` - nodes, protocols, sync, runtime operations, masking sites, outbounds, observatory, routing balancers.
- `/admin/routing-rule-sets` - reusable routing templates. - `/admin/routing-rule-sets` - reusable routing templates.
- `/admin/external-subscriptions` - external source CRUD and URL testing. - `/admin/external-subscriptions` - external source CRUD and URL testing.
- `/admin/settings` - platform settings (panel, subscription delivery, Telegram, IPinfo). - `/admin/settings` - platform settings (panel, subscription delivery, Telegram, IP information provider).
- `/admin/broadcasts` - Telegram broadcast messages with delivery tracking. - `/admin/broadcasts` - Telegram broadcast messages with delivery tracking.
- `/admin/logs` - audit log viewer data. - `/admin/logs` - audit log viewer data.
- `/admin/usage` - traffic usage rows. - `/admin/usage` - traffic usage rows.
+1 -1
View File
@@ -70,7 +70,7 @@ This page is public operator documentation. It describes panel capabilities, rou
- Configure panel access settings (allowed hosts, root path). - Configure panel access settings (allowed hosts, root path).
- Configure subscription delivery settings (update interval, display name, support URL). - Configure subscription delivery settings (update interval, display name, support URL).
- Configure Telegram bot token. - Configure Telegram bot token.
- Configure the IPinfo Lite token used for daily user IP enrichment. - Configure the user IP information provider: IPinfo.io with an API token, or ip-api.com with Russian or English result language. English is the default for ip-api.com.
### User IP History ### User IP History