Skip to content

API del pannello ​

L'API JSON è quella che usa il pannello, sulla porta di amministrazione (127.0.0.1:9090). Non è un'interfaccia stabile: può cambiare tra versioni.

Autenticazione: cookie di sessione ottenuto con POST /api/login. Le richieste con corpo devono usare Content-Type: application/json (protezione contro le richieste cross-origin).

Senza login ​

RichiestaDescrizione
GET /healthz{"status":"ok"}
GET /metricsMetriche Prometheus.
GET /api/sessionStato della sessione, se serve il setup, criterio 2FA.
POST /api/setupCrea il primo amministratore (solo se non esiste).
POST /api/login, POST /api/login/2faAccesso.
POST /api/logoutUscita.

Con login ​

RichiestaScope
GET /api/panel—
GET /api/metrics?range=1h|24h|7dmetrics:read
PUT /api/settingssettings:write
PUT /api/https, PUT /api/admin-host, PUT /api/admin-allow, PUT /api/updates, POST /api/update/checksettings:write
POST /api/domains, /api/domains/check, /api/domains/test, /api/domains/redirectdomains:write
POST /api/certs/issue, /api/certs/uploaddomains:write
DELETE /api/domains/{host}domains:write
POST /api/buckets, /api/buckets/check, /api/buckets/testbuckets:write
DELETE /api/buckets/{id}buckets:write
POST /api/rules, DELETE /api/rules/{id}routes:write
POST /api/proberoutes:read
POST /api/purge, POST /api/warmroutes:write
PUT /api/rules/{id} (link firmati e immagini al volo), POST /api/linksroutes:write
POST /api/links/rotatesettings:write
POST /api/diagnoseroutes:read
/api/users, /api/audit, /api/policy, POST /api/backup/export, POST /api/backup/restoreusers:manage
GET/PUT /api/notifications, POST /api/notifications/testnotifications:manage
/api/me, /api/me/password, /api/me/2fa/…—

Il corpo di una richiesta non può superare 64 KB.

Pagina di verifica pubblica ​

Sulla porta pubblica: GET /.well-known/otterroute/check?nonce=… risponde con una prova che il pannello usa per accertarsi che il dominio arrivi a questo nodo.

Rilasciato con licenza MIT o Apache-2.0, a scelta.