İçeriğe geç

Kanallar ve imza

İmzalı sürüm bilgisi

latest.json Ed25519 ile imzalanır; genel anahtar çekirdeğe gömülüdür. Çekirdek şunları reddeder:

  • imzasız veya geçersiz manifest,
  • süresi dolmuş manifest (30 gün),
  • kurulu sürümden eski sürüm (geri düşürme saldırısı).

Reddedilince Güncellemeler ekranı "İmza doğrulanamadı" der, güncelle düğmesi pasifleşir ve hiçbir şey indirilmez.

Özel güncelleme kanalı

Bir sürümü önce yalnızca belirli bir siteye (örn. ana site) göndermek için özel kanal kullanılır:

  • Kanal dosyaları sunucuda channels/<kanal>/ altında durur; kararlı latest.json ve kurulum paketi etkilenmez.
  • Site, AACP → Güncellemeler → "Özel güncelleme kanalı" alanındaki ada göre kararlı ile kanalın yüksek olanını görür.
  • Yayın: KANAL=<kanal> bash yayinla.sh <sürüm> hepsi.
  • Kanal sürümü, ileride çıkacak kararlı sürümden küçük olmalıdır (kanal 2.2.49 → sonra kararlı 2.2.50).

Kanal sürümü hangisi kazanır

Bir site kanal adı girdiyse güncelleme denetimi iki kaynağa bakar: kararlı latest.json ve kanalın latest.json dosyası. İkisinden sürümü yüksek olan önerilir; ikisi de imzalı olmak zorundadır. Kanal adı boşsa yalnızca kararlı kanal izlenir. Kanal adı tahmin edilemez olmalıdır (6–64 karakter: küçük harf, rakam, tire), çünkü adresi bilen herkes o kanalı okuyabilir; ona şifre gibi davranın ve herkese açık metinlere yazmayın.

Neden önce özel kanal

Sürümü önce yalnızca kendi sitenize göndermek, gerçek bir canlı sitede denemek demektir. Sorun çıkarsa kararlı kanalı izleyen kimse etkilenmez. Sorun çıkmazsa sürüm kararlı kanala yayınlanır.

Hangi dosya ne işe yarar

Dosya İçerik
latest.json Güncel sürüm, paket adresi, SHA-256, expires_at, min_allowed_version; imzalı
versions.json Yayınlanmış sürümlerin listesi
releases/<sürüm>.md Sürüm notu (İngilizce; Türkçe karşılığı -tr.md)
packages/cpalius-<sürüm>.zip Güncelleme paketi (tam paketle aynı dosya)

min_allowed_version, bir sitenin geri dönemeyeceği en düşük sürümü belirler; kritik bir güvenlik düzeltmesinden sonra eski sürümlere düşmeyi engeller.

İmza yenileme

Manifest 30 gün geçerlidir. Yeni sürüm çıkmıyorsa: bash yayinla.sh <mevcut sürüm> imzala (kanal için KANAL=… ile).

Güncelleme sırasında olanlar

Kilit alınır, 503 bakım sayfası açılır, veritabanı anlık görüntüsü alınır, dosyalar önce yan yana hazırlanıp sonra hızlıca yerine konur. Dosya, migration veya güncelleme adımı hata verirse dosyalar ve veritabanı birlikte geri yüklenir; süreç ortada ölürse bir sonraki istek public/index.php içinde kendini onarır.

Bilinen sınır

Geri alma, anlık görüntü ile hata arasında veritabanına yazılan her şeyi siler. Büyük veritabanlarında anlık görüntü süre ve disk alanı harcar.

Son güncelleme: 13.10.2026