You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/docs/i18n.js
+12-6Lines changed: 12 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,8 @@ module.exports = {
17
17
3. Получить общую статистику через \`GET /stats\` и статус ноды через \`GET /nodes/{id}/status\`.
18
18
4. Отключить истёкшего пользователя через \`POST /users/{userId}/disable\` и очистить устройства через \`DELETE /users/{userId}/devices\`.
19
19
5. Собрать multi-hop маршрут через \`POST /cascade/links\`, затем развернуть цепочку через \`POST /cascade/chain/deploy\`.
20
-
6. Автоматизировать действия панели через MCP: \`POST /mcp\` и \`tools/list\`.
20
+
6. Объединить несколько реальных нод в один авто-балансировщик через \`POST /nodes\` (\`type=virtual\`); HAPP/Xray-core клиенты получат Xray balancer + observatory профиль, sing-box/Clash — \`urltest\`/\`url-test\` группу.
21
+
7. Автоматизировать действия панели через MCP: \`POST /mcp\` и \`tools/list\`.
21
22
22
23
## Аутентификация
23
24
@@ -181,23 +182,28 @@ JSON-эндпоинты возвращают ошибки в таком форм
181
182
},
182
183
'POST /nodes': {
183
184
summary: 'Создать ноду',
184
-
description: 'Создаёт Hysteria или Xray ноду; `statsSecret` генерируется сервером. 409 — если на том же IP уже есть нода того же `type`. Требуется скоуп `nodes:write`.',
- \`type=hysteria\` (по умолчанию) / \`type=xray\` — обязателен \`ip\`. 409, если на том же IP уже есть нода того же \`type\`.
188
+
- \`type=virtual\` — логический балансировщик поверх реальных соседних нод. **Не передавайте** \`ip\` или \`ssh\`; передайте объект \`virtual\` с \`sources\` (или \`sourceGroup\`) и \`strategy\`. Виртуальные ноды не запускают setup, health-check, traffic collection и restart — они появляются только в подписках.
189
+
190
+
Требуется скоуп \`nodes:write\`.`,
185
191
},
186
192
'GET /nodes/{id}': {
187
193
summary: 'Получить ноду по ID',
188
194
description: 'Возвращает ноду с группами и количеством активных пользователей. Требуется скоуп `nodes:read`.',
189
195
},
190
196
'PUT /nodes/{id}': {
191
197
summary: 'Обновить ноду',
192
-
description: 'Частично обновляет настройки ноды и планирует отправку конфига при изменениях. Требуется скоуп `nodes:write`.',
198
+
description: 'Частично обновляет настройки ноды и планирует отправку конфига при изменениях. При смене `type` на `virtual` нужно передать корректный объект `virtual`; `ip` будет автоматически очищен. При результирующем `type ≠ virtual` поле `ip` (унаследованное или переданное) должно быть непустым. Требуется скоуп `nodes:write`.',
193
199
},
194
200
'DELETE /nodes/{id}': {
195
201
summary: 'Удалить ноду',
196
202
description: 'Удаляет ноду и убирает её из назначений пользователей. Требуется скоуп `nodes:write`.',
197
203
},
198
204
'GET /nodes/check-ip': {
199
205
summary: 'Проверить соседние ноды по IP',
200
-
description: 'Возвращает Hysteria/Xray ноды на том же IP. Используется интерфейсом при добавлении ноды.',
206
+
description: 'Возвращает Hysteria/Xray ноды на том же IP. Используется интерфейсом при добавлении ноды. Виртуальные ноды не имеют IP и в выдаче не появляются.',
201
207
},
202
208
'GET /nodes/{id}/status': {
203
209
summary: 'Получить сохранённый статус ноды',
@@ -213,11 +219,11 @@ JSON-эндпоинты возвращают ошибки в таком форм
213
219
},
214
220
'POST /nodes/{id}/sync': {
215
221
summary: 'Синхронизировать конкретную ноду',
216
-
description: 'Отправляет актуальный конфиг на ноду через SSH.',
222
+
description: 'Отправляет актуальный конфиг на ноду через SSH. Виртуальные ноды возвращают **400** — у них нет удалённого сервиса.',
217
223
},
218
224
'POST /nodes/{id}/setup': {
219
225
summary: 'Автонастройка ноды через SSH',
220
-
description: 'Настройка через SSH: для Hysteria — установка бинарника, конфиг, port hopping, перезапуск `hysteria-server`; для Xray — setup агента (из body используется только `restartService`). Обычно 30 секунд — 2 минуты; таймаут клиента ≥ 3 минуты. Нужны SSH-данные на ноде. Успех: `{ success, logs }`, ошибка: `500` с `{ success: false, error, logs }`.',
226
+
description: 'Настройка через SSH: для Hysteria — установка бинарника, конфиг, port hopping, перезапуск `hysteria-server`; для Xray — setup агента (из body используется только `restartService`). Виртуальные ноды возвращают **400** — у них нет удалённого сервиса для настройки. Обычно 30 секунд — 2 минуты; таймаут клиента ≥ 3 минуты. Нужны SSH-данные на ноде. Успех: `{ success, logs }`, ошибка: `500` с `{ success: false, error, logs }`.',
0 commit comments