docs: Gateway API — списки сервисов, DDoS-Guard заголовки, метод Виталия
This commit is contained in:
+27
-16
@@ -13,31 +13,42 @@
|
||||
**Токены НЕ ПРОТУХАЮТ до декабря 2026.** Они в `secrets/{dev,test,prod}.token`.
|
||||
Проверить дату: `python3 -c "import json,base64; t=open('secrets/test.token').read().split('.'); d=json.loads(base64.urlsafe_b64decode(t[1]+'==')); from datetime import datetime,timezone; print(datetime.fromtimestamp(d['exp'],tz=timezone.utc))"`
|
||||
|
||||
**Старый API (index.cfm) — DDoS-Guard требует 3 заголовка, иначе 403:**
|
||||
### ⛔ DDoS-Guard: ВСЕГДА нужны 3 заголовка (и старый, и новый API!)
|
||||
|
||||
**Без них — 403 Forbidden. Это НЕ протухший токен.**
|
||||
|
||||
```bash
|
||||
-H "Authorization: Bearer $TOKEN"
|
||||
-H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36"
|
||||
-H "Referer: https://deck-{stand}.ngcloud.ru/"
|
||||
```
|
||||
|
||||
### Актуальный API (Gateway) — только его использовать:
|
||||
|
||||
| Стенд | Gateway URL | Referer |
|
||||
|-------|-------------|---------|
|
||||
| test | `https://lk-api-gateway-test.ngcloud.ru/api/v1/svc` | `https://deck-test.ngcloud.ru/` |
|
||||
| dev | `https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc` | `https://deck-dev.ngcloud.ru/` |
|
||||
| prod | `https://lk-api-gateway.ngcloud.ru/api/v1/svc` | `https://deck.ngcloud.ru/` |
|
||||
|
||||
### Получить список ВСЕХ сервисов стенда:
|
||||
|
||||
```bash
|
||||
curl -s --max-time 10 \
|
||||
-H "Authorization: Bearer $(cat secrets/test.token)" \
|
||||
-H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36" \
|
||||
-H "Referer: https://deck-test.ngcloud.ru/" \
|
||||
"https://deck-api-test.ngcloud.ru/api/v1/index.cfm?endpoint=/services/90"
|
||||
```
|
||||
**Referer должен совпадать со стендом!** Без Referer — 403. Без User-Agent — 403.
|
||||
|
||||
**Новый Gateway (lk-api-gateway) — только Authorization:**
|
||||
```bash
|
||||
curl -s --max-time 10 \
|
||||
-H "Authorization: Bearer $(cat secrets/test.token)" \
|
||||
"https://lk-api-gateway-test.ngcloud.ru/api/v1/svc/services/90"
|
||||
"https://lk-api-gateway-test.ngcloud.ru/api/v1/svc/services" | jq '.results[] | {svcId, svcShort, svc}'
|
||||
```
|
||||
|
||||
| Стенд | Старый API | Новый Gateway | Referer |
|
||||
|-------|-----------|---------------|---------|
|
||||
| test | `deck-api-test.ngcloud.ru/api/v1/index.cfm` | `lk-api-gateway-test.ngcloud.ru/api/v1/svc` | `https://deck-test.ngcloud.ru/` |
|
||||
| dev | `deck-api-dev.ngcloud.ru/api/v1/index.cfm` | `lk-api-gateway-dev.ngcloud.ru/api/v1/svc` | `https://deck-dev.ngcloud.ru/` |
|
||||
| prod | `deck-api.ngcloud.ru/api/v1/index.cfm` | `lk-api-gateway.ngcloud.ru/api/v1/svc` | `https://deck.ngcloud.ru/` |
|
||||
Списки сохраняются в `TOOLS/config/{stand}/services_list.txt`.
|
||||
|
||||
### ⛔ Старый API (index.cfm) — ЗАКРЫВАЕТСЯ, НЕ ИСПОЛЬЗОВАТЬ
|
||||
|
||||
Историческая справка в `apis.txt`. Все упоминания в коде помечены `LEGACY`.
|
||||
|
||||
## API и схемы
|
||||
- Алгоритмы API-дискавери: [docs/70_api/api-discovery-algorithms.md](70_api/api-discovery-algorithms.md)
|
||||
- **Метод Виталия (получение параметров):** [docs/70_api/api-discovery-algorithms.md](70_api/api-discovery-algorithms.md)
|
||||
- Полный API-дамп: [docs/70_api/api_analysis/API_DOCUMENTATION_SUMMARY.md](70_api/api_analysis/API_DOCUMENTATION_SUMMARY.md)
|
||||
|
||||
## Discovery (полевая информация)
|
||||
|
||||
Reference in New Issue
Block a user