Panel hesaplarının rolleri ve proxy listeleri

Hesaplar

Her panel hesabının bir rolü vardır. Editör ve izleyici hesaplarının bir proxy listesi de olabilir. Yönetim paneli, yönetim API'si ve proxy'lerin Panel Session kimlik doğrulaması aynı hesapları kullanır.

Roller

İşlemAdminEditörProxy listesi olan editörİzleyici
Proxy'leri okumabütün proxy'lerbütün proxy'lerlistesindeki proxy'lerbütün proxy'ler veya listesindeki proxy'ler
Proxy eklemeevetevetevet, yeni proxy listesine eklenirhayır
Proxy'yi değiştirme, silme, cache'ini temizlemeevetevetlistesindeki proxy'lerhayır
Portları, sertifikaları, ACME kayıtlarını ve erişim listelerini okumaevetevetevetevet
Portları, sertifikaları, ACME kayıtlarını ve erişim listelerini değiştirme, sertifika indirme, CDN IP aralıklarını yenilemeevetevethayırhayır
Ayarları ve hesapları okuma veya değiştirme, audit log'u okumaevethayırhayırhayır

Kurallar

Config dizinindeki accounts.toml dosyası hesapları parola hash'leriyle tutar. r3v3rs3 bu dosyayı 0600 moduyla yazar. Cluster, hesapları store'da şifreli tutar.

Hesap oluşturma

WebUI'daki "Hesaplar" sayfası hesapları listeler, ekler, değiştirir ve siler. Bu sayfayı yalnız admin açar. TOTP'si açık bir hesap eklediğinizde sayfa TOTP secret'ını bir kez gösterir. Secret'ı o anda authenticator uygulamanıza ekleyin.

Komut satırında add-user bir hesap ekler. --role verilmezse hesap admin olur:

$ r3v3rs3 add-user alice --role editor
$ r3v3rs3 add-user bob --role viewer --totp

--role şu değerleri kabul eder: admin, editor veya viewer. --password verilmezse komut parolayı sorar. Komut satırından eklenen hesabın proxy listesi olmaz. Proxy listesini "Hesaplar" sayfasında veya yönetim API'si ile ayarlayın.

Yönetim API'si

Bu endpoint'leri yalnız admin hesabı çağırabilir.

Endpointİşlem
GET /api/accountsHesapları rol, proxy listesi ve TOTP durumuyla listeler.
POST /api/accountsBir hesap ekler. TOTP açıksa yanıt totp_secret alanını taşır.
PUT /api/accounts/{username}Rolü, proxy listesini ve isteğe bağlı olarak parolayı değiştirir.
DELETE /api/accounts/{username}Hesabı siler.
$ curl -b cookies.txt -H 'Content-Type: application/json' \
    -d '{"username":"alice","password":"correct horse","role":"editor","proxies":["a1b2c3d"],"totp":false}' \
    http://localhost:46492/api/accounts
$ curl -b cookies.txt -X PUT -H 'Content-Type: application/json' \
    -d '{"role":"viewer"}' \
    http://localhost:46492/api/accounts/alice

proxies alanı olmayan güncelleme proxy listesini kaldırır. password alanı olmayan güncelleme parolayı korur.

YanıtNeden
400 password_too_shortParola 8 karakterden kısadır.
400 invalid_usernameKullanıcı adı kurallara uymuyor.
400 invalid_account_scopeAdmin hesabına proxy listesi verilmiştir.
409 account_existsBu kullanıcı adına sahip bir hesap var.
404 account_not_foundBu kullanıcı adına sahip hesap yok.

GET /api/session, giriş yapmış hesabın kullanıcı adını, rolünü ve proxy listesini döndürür.

Audit log her hesap değişikliğini ve her girişi kaydeder.