Belgeler menüsüAPI ve komut satırı

REST API, komut satırı ve kancalar

bipanel her işlemi bir REST API üzerinden yapar. Betiklerden API tokenıyla (Authorization: Bearer) erişirsiniz, uç noktaların tam listesi paneldeki API konsolunda bulunur. Sunucuda bipanel komutu aynı API ile çalışır; Pro sürümde kanca betikleri ve eklentilerle panel işlemlerine bağlanabilirsiniz.

Son güncelleme:

Bu sayfada
  1. Genel bakış
  2. API tokenları
    1. Token oluşturma
    2. Tokenın geçersiz olduğu durumlar
  3. Kimlik doğrulama ve istekler
  4. API konsolu ve OpenAPI belgesi
  5. bipanel komut satırı aracı
    1. Komut grupları
    2. Genel seçenekler
    3. Erişimi geri kazanma
  6. Kancalar ve eklentiler (Pro)
    1. Kanca betikleri
    2. Eklentiler
  7. Giden webhook bildirimleri

#Genel bakış

Panelin arayüzü de, bipanel komutu da, yapay zekâ asistanı da aynı HTTP API'sini kullanır. Bu yüzden panelde yapabildiğiniz işlemlerin neredeyse tamamını betiklerden de yapabilirsiniz; yetki denetimi ve işlem geçmişi her yolda aynıdır.

AraçNe işe yararSürüm
REST API ve API tokenlarıBetiklerden ve dış sistemlerden panel işlemleriTopluluk ve Pro
API konsoluUç noktaları panel içinde görüp denemeTopluluk ve Pro
bipanel komutuSunucu terminalinden yönetim ve acil durum işlemleriTopluluk ve Pro
Kancalar ve eklentilerİşlemlerden önce/sonra kendi betiklerinizi çalıştırma, panele sayfa eklemeYalnızca Pro

API ile yapılan işlemler panelle aynı kurallara tabidir: Topluluk sürümündeki 3 barındırma hesabı sınırı API ve komut satırından hesap açarken de geçerlidir. Sürüm farkları için Fiyatlar sayfasına bakın.

#API tokenları

Token, oluşturan kişinin adına ve onun yetkileriyle çalışır; ayrı bir kapsam (scope) tanımı yoktur. Sunucu yöneticisinin tokenı tüm sunucuyu, bayinin tokenı yalnızca bayinin hesaplarını, barındırma hesabının tokenı yalnızca o hesabı yönetebilir. Betik için yetkisi sınırlı bir token gerekiyorsa tokenı o yetkiye sahip kullanıcıyla oluşturun.

#Token oluşturma

  • Sunucu Yönetimi: Sistem grubundaki API tokenları sayfası (sunucu yöneticisi ve bayiler).
  • Kullanıcı paneli: Gelişmiş grubundaki API Tokenları sayfası. Paket bu özelliği kapattıysa sayfa görünmez ve API de isteği reddeder.

Tokena bir ad verin ve isterseniz 1 ile 3650 gün arasında bir geçerlilik süresi seçin; süre vermezseniz token siz silene kadar geçerlidir. Token bh_ ile başlar ve yalnızca oluşturulduğu anda bir kez gösterilir: panel yalnızca özetini (SHA-256) saklar, listede ilk karakterleri, son kullanım zamanı ve bitiş tarihi görünür. Ekip üyeleri token oluşturamaz. Token oluşturma ve silme işlem geçmişine kaydedilir.

#Tokenın geçersiz olduğu durumlar

  • Token listeden silindiğinde veya süresi dolduğunda.
  • Sahibi olan hesap askıya alındığında ya da silindiğinde.
  • İstek, engellenmiş bir IP adresinden geldiğinde (token geçerli olsa da reddedilir).

#Kimlik doğrulama ve istekler

Tokenı Authorization başlığında gönderin. Sunucu kurulumunda API, panelin kendi adresinden sunulur: Sunucu Yönetimi için 2087, kullanıcı paneli için 2083 portu (ikisi de aynı API'ye ulaşır). Docker/Railway kurulumunda panelin genel adresini kullanın.

curl -H "Authorization: Bearer $BIPANEL_TOKEN" https://sunucu.ornek.com:2087/api/admin/accounts
KuralAyrıntı
Yol önekleri/api/admin/… sunucu yöneticisi ve bayi, /api/user/… barındırma hesabı, /api/auth/… oturum ve tokenlar
GövdeJSON (Content-Type: application/json); dosya yüklemeleri multipart
Hatalar{ "error": { "message", "code", "details" } } biçiminde, uygun HTTP durum koduyla
Uzun işlemlerYanıt job_id döndürür; durum ve günlük GET /api/jobs/{id} ile izlenir
Çerezle erişimOturum çereziyle yapılan değiştirici isteklerde X-Bipanel-Request: 1 başlığı gerekir; token kullanan isteklerde gerekmez

#API konsolu ve OpenAPI belgesi

API'nin başvuru belgesi panelin içindedir ve kurulu sürümle birebir aynıdır. Sunucu Yönetimi'nde Sistem grubundaki API konsolu, kullanıcı panelinde Gelişmiş grubundaki API Konsolu sayfası uç noktaları gruplar hâlinde listeler. Bir uç nokta seçip parametreleri doldurarak isteği oturumunuzla gönderebilir, durum kodunu, süreyi ve yanıtı görebilir, isteği token kullanan bir curl komutu olarak kopyalayabilirsiniz.

Makine tarafından okunabilir belge OpenAPI 3.1 biçimindedir:

  • /api/admin/openapi.json: tüm API. Bayilere yalnızca sunucu yöneticisine özel uç noktalar gösterilmez.
  • /api/user/openapi.json: hesap paneli uç noktaları; paketin kapattığı özellikler listeden çıkarılır.

Kullanıcı panelindeki API Konsolu bir paket özelliğidir; paket kapattıysa menüde görünmez.

#bipanel komut satırı aracı

Sunucu kurulumunda /usr/local/bin/bipanel komutu varsayılan olarak kurulur (bileşen listesinde "Komut satırı aracı" olarak görünür, isterseniz kaldırılabilir). Docker imajında da bulunur ve konteynerin içinde çalışır. Komut, panelin açılışta oluşturduğu root tokenıyla 127.0.0.1 üzerindeki panele bağlanır. Bu token sunucuda /etc/bipanel/cli.token dosyasında (yalnızca root okuyabilir), konteynerde veri dizinindeki cli.token dosyasında durur ve yalnızca sunucunun kendisinden gelen doğrudan bağlantılarda kabul edilir.

sudo bipanel help
sudo bipanel account list --json
sudo bipanel service restart apache

#Komut grupları

Grupİşlemler
accountlist, show, create, suspend, unsuspend, terminate, password, package
package, domainPaket listesi; alan adı list, add, remove
db, emailMySQL veritabanları ve e-posta hesapları
ssl, backupSertifika listeleme ve alma; yedek alma ve geri yükleme
service, componentServis başlatma, durdurma, yeniden başlatma; bileşen kurma ve kaldırma
license, updateLisans durumu ve etkinleştirme; güncelleme denetimi ve uygulama
jobArka plan işini gösterme ve bitmesini bekleme
adminPanel kapalıyken de çalışan yerel yönetim komutları
mcpYapay zekâ istemcileri için MCP köprüsü (Pro)

Güvenlik duvarı, ülke engelleme ve DDoS engelleri için acil durum komutları da vardır; ayrıntılar Güvenlik araçları sayfasında, bipanel mcp kullanımı Yapay zekâ asistanı ve MCP sayfasındadır.

#Genel seçenekler

SeçenekAnlamı
--jsonÇıktıyı betikler için JSON olarak yazar
-y, --yesYıkıcı işlemlerde onay sormaz
-q, --quietİş günlüğünü akıtmaz, yalnızca sonucu yazar
--lang tr veya --lang enÇıktı dili
--urlPanel adresi (varsayılan http://127.0.0.1:2080)
--tokenBaşka bir API tokenı kullanır (ya da BIPANEL_TOKEN ortam değişkeni)
--no-colorRenkli çıktıyı kapatır

Çıkış kodları: 0 başarılı, 1 hata, 2 hatalı kullanım.

#Erişimi geri kazanma

Yönetici parolasını unuttuysanız veya CLI tokenı silindiyse şu komutlar panel veritabanına doğrudan yazar ve panel çalışmıyorken de çalışır:

sudo bipanel admin reset-password
sudo bipanel admin reset-password admin --disable-2fa
sudo bipanel admin reset-token

Parola sıfırlama açık oturumları kapatır ve IP engellerini kaldırır. Parola verilmezse güçlü bir parola üretilip ekrana yazılır.

#Kancalar ve eklentiler (Pro)

Pro sürümde Sunucu Yönetimi'ndeki Eklentiler ve kancalar sayfasından panel olaylarına kendi betiklerinizi bağlayabilirsiniz.

#Kanca betikleri

Olaylar üç türdendir: hesap ve alan adı olayları (hesap oluşturuldu, askıya alındı, alan adı eklendi…), panel işlemleri (hesap oluşturma, veritabanı ve e-posta hesabı oluşturma, SSL isteme, yedekten geri yükleme…) ve arka plan olayları (SSL sertifikası kuruldu, yedekleme bitti).

  • Ön kanca işlemden önce çalışır. Betik 0 ile çıkarsa işlem sürer, 1 ile çıkarsa durdurulur ve çıktısının ilk satırları kullanıcıya gerekçe olarak gösterilir. Süre sınırı en fazla 60 saniyedir.
  • Son kanca işlem tamamlandıktan sonra arka planda çalışır; süre sınırı en fazla 600 saniyedir (varsayılan 30).
  • Betik, olay verisini stdin'den JSON olarak alır; olay adı ilk argümandır. BIPANEL_EVENT, BIPANEL_USER, BIPANEL_DOMAIN, BIPANEL_ACTOR gibi ortam değişkenleri de verilir. Parolalar varsayılan olarak maskelenir.
  • Sunucu kurulumunda betikler root olarak çalışır; bu yüzden yalnızca /etc/bipanel/hooks veya /usr/local/bipanel/hooks altındaki, root'a ait ve başkalarının yazamadığı dosyalar kabul edilir (konteynerde veri dizinindeki hooks dizini de). Her çalıştırma çıktısı, süresi ve çıkış koduyla günlüğe yazılır; kancayı örnek veriyle deneyebilirsiniz.

#Eklentiler

Eklenti, kökünde plugin.json bulunan bir .tar.gz paketidir. Sunucu Yönetimi'ne ve kullanıcı paneline yalıtılmış sayfalar, kendi kanca betikleri ve isteğe bağlı bir arka uç servisi ekleyebilir. Eklenti sayfaları paneli, sayfayı açan kişinin yetkileriyle ve 15 dakikalık kısa ömürlü bir tokenla çağırır; bu token oturum, parola, token, 2FA, terminal, lisans ve eklenti yönetimi uç noktalarında kullanılamaz. Kullanıcı panelindeki Eklentiler sayfası paket özelliğiyle açılıp kapatılır.

#Giden webhook bildirimleri

İzleme uyarılarını bir adrese JSON olarak göndermek için Uyarılar ve bildirim kanalları sayfasında webhook kanalı tanımlayabilirsiniz (Pro; e-posta kanalı Topluluk sürümünde de vardır). Her istek X-Bipanel-Signature-256 başlığında HMAC-SHA256 imzası taşır; alıcı tarafta kanalın gizli anahtarıyla doğrulayın. Ayrıntılar İzleme, sınırlar ve istatistikler sayfasındadır.

Bu sayfada eksik ya da hatalı bir bilgi mi var? Bize yazın.