Tüm sistemler çalışıyor Yeni: v2026.7.54 yayınlandı Sürüm notları →
satis@onox.com.tr Yardım Merkezi Türkçe
— SÜRÜM NOTLARI

ONOXSOFT sürüm geçmişi

Her panel sürümünde neler değişti — otomatik güncellemeyle sunucularınıza gelir. Toplam 63 sürüm, sol menüden gruba göre inceleyin.

2026.07 · 48 sürüm
v2026.7.54 GÜNCEL 49.9 MB 2026-07-12

ONOXSOFT v2026.7.54 «Kalkan»

Yayın tarihi: 2026-07-12
Kanal: stable

Güvenlik yaması + disk hijyeni tamamlaması. Taze 7.53 tabanında yapılan bağımsız güvenlik denetiminin (26 ajan, düşman-doğrulamalı) 7 doğrulanmış bulgusu kapatıldı.

🛡️ Güvenlik düzeltmeleri (7 bulgu)

  • [KRİTİK] Veritabanı içe aktarma yetki kaçağı: Müşteri SQL dump'ları MariaDB root yetkisiyle import ediliyordu — dump içine yerleştirilen `GRANT` ifadeleriyle çapraz-kiracı veritabanı ele geçirme mümkündü. Artık her import, yalnız hedef veritabanıyla sınırlı geçici bir kullanıcıyla çalışır (GRANT OPTION / FILE / SUPER yok). Kötü niyetli GRANT içeren dump'lar reddedilir. Not: farklı-DEFINER'lı view/trigger içeren dump'lar da güvenlik gereği reddedilir.
  • E-posta kota kaçağı: Müşteri, mailbox kotasını paket limitinin üzerine ayarlayabiliyordu → paket kapağı zorunlu kılındı.
  • DNS zone sahiplik kontrolü: Müşteri DNS uçlarında domain-sahiplik doğrulaması sıkılaştırıldı (başka müşterinin zonuna kayıt yazma kapatıldı).
  • SSRF sertleştirme: İç istek koruması artık yönlendirmeleri (redirect) takip etmiyor — redirect-üzerinden-iç-ağ erişimi kapandı.
  • SFTP parola sızıntısı: Uzak yedek push'unda parola komut satırından (`ps`'te görünür) değil ortam değişkeninden (`sshpass -e`) geçer.
  • Yardım araması XSS: Arama sonuçları vurgulamasında HTML kaçışı düzeltildi.
  • Sieve whitelist kaçağı: BoxTrapper tarzı whitelist yazımında filtre kaçışı kapatıldı.

💽 Disk hijyeni tamamlaması (7.53 devamı)

  • sudo I/O yakalama bilinçli olarak kapatıldı: 7.53'teki 7-günlük retention'a rağmen sysapi I/O-denetim kaydı günde ~780 bin dosya + ~3 GB üretiyor ve ~29 GB tabanda oturuyordu; pratikte hiç okunmuyordu. Artık sudo yalnız komut-çalıştırma izini journald'a yazar (standart denetim korunur), devasa replay kaydı alınmaz. Canlıda sunucu başına ~29 GB geri kazanıldı. Sıfır kurulumlar da (`install.sh`) aynı davranışla gelir; retention cron'u savunma katmanı olarak korunur.
  • Hesap-sonlandırma yedeklerine retention: Sonlandırma öncesi güvenlik yedekleri (`/var/onox/term-backups`) sınırsız birikiyordu → 30 günlük prune-on-write eklendi (kurtarma penceresi 30 gün).

♻️ Devralınan (7.45–7.53)

  • Kaynak-sükûneti, atomik güncelleme, MariaDB tuning, 413 upload, 7.51 güvenlik sertleştirmesi, 7.52 backup hijyeni, 7.53 disk retention.
v2026.7.53 49.9 MB 2026-07-12

ONOXSOFT v2026.7.53 «Kalkan»

Yayın tarihi: 2026-07-12
Kanal: stable

Disk hijyeni düzeltmesi. Sunucu diskini sessizce dolduran bir log-birikmesi kapatıldı.

💽 sudo I/O log retention (disk sızıntısı)

  • Kök neden: Panel, güvenlik denetimi için her sysapi (`sudo onx-*`) çağrısının girdi/çıktısını `/var/log/sudo-io`'ya kaydeder (v3.75). Panel saatte binlerce çağrı yaptığından bu ~3 GB/gün birikiyordu ve hiç sınırlanmıyordu (canlıda 60 GB / ~2 milyon oturum görüldü). Backup ile ilgisi yoktu (yedekler yalnız ~4 GB).
  • Neden eski retention işlemedi: Tasarlanan `systemd-tmpfiles` yaş-temizliği, sudo-io'nun iç içe + sürekli yeniden-kullanılan dizin yapısında (`00/00/01/…`) derin dosyalara recurse etmiyor — üst dizinlerin zaman damgası hep taze kaldığından eski oturumlar hiç silinmiyordu. Kurulum-anı temizliği de tek seferlikti.
  • Fix: find-tabanlı periyodik budama (`onx-sudo-io-prune`, her dosyanın kendi zaman damgasına bakar) + günlük cron. Denetim loglaması korunur, disk 7 günle sınırlanır. Budama düşük öncelikli (`ionice-idle`) çalışır → prod'da I/O yükü yaratmaz; sudo sıra sayacına dokunmaz. Mevcut dev birikim düşük öncelikle geriye dönük temizlenir.
  • Hem sıfır kurulum (`install.sh`) hem mevcut kurulum güncellemesi (`self-update`) retention'ı otomatik kurar.

♻️ Devralınan (7.45–7.52)

  • Kaynak-sükûneti, atomik güncelleme, MariaDB tuning, 413 upload, 7.51 güvenlik sertleştirmesi, 7.52 backup hijyeni.
v2026.7.52 49.9 MB 2026-07-11

ONOXSOFT v2026.7.52 «Kalkan»

Yayın tarihi: 2026-07-10
Kanal: stable

Yedek (backup) hijyeni ve doğruluk sürümü. 7.51 «Kalkan» güvenlik tabanının üzerine, yedek alt-sisteminde 4-ajanlı kök-neden analiziyle bulunan görünürlük + veri-hijyeni pürüzlerini kapatır. Silme/push mantığına dokunulmadı — tüm değişiklikler okuma-filtresi, UI-notu ve fail-safe temizlik katmanındadır (sıfır veri-kaybı yüzeyi).

🗂️ Yedek doğruluğu

  • "keep=N ama çok yedek görünüyor" yanılgısı giderildi (asıl şikayet) — Hesap detay ve bayi yedek listeleri, retention'ın budadığı (soft-silinmiş) tombstone kayıtları da "completed + indirilebilir" gibi gösteriyordu. Aslında saklama politikası doğru çalışıyordu (ör. keep=2 → 2 canlı yedek); yalnızca ekran, silinmiş kayıtları da sayıyordu. Listeler artık yalnız canlı yedekleri gösterir; offsite'a yüklenip yerel dosyası silinmiş yedekler ☁ offsite rozetiyle işaretlenir (uzak hedeften geri yüklenebilir).
  • Tombstone tablo şişmesi temizliği — retention keep uygularken biriken soft-silinmiş satırlar `backups` tablosunu sınırsız büyütüyordu. Yeni haftalık bakım (`onox:backup:tombstone-prune`) yalnız 90 günden eski VE uzak (offsite) objesi de silinmiş ölü kayıtları temizler; canlı yedeğe veya uzak-objesi-hâlâ-duran kayda asla dokunmaz.

🛡️ Çapraz-ortam yedek hijyeni

  • Offsite hedef sızıntısı koruması — Bir panelin veritabanı başka bir kuruluma geri yüklendiğinde (ör. üretim → test), yedek hedefleri (canlı erişim jetonu dâhil) devralınıp test yedekleri kaynak sahibin kişisel hesabına gönderilebiliyordu. Yeni `onox:backup:offsite-guard` (günlük), hedefleri oluşturan kurulumun kimliğini (`.env` host'u — geri yükleme ile taşınmaz) DB'deki talebe karşı doğrular; yabancı kurulum tespit ederse uzak hedefleri pasifleştirir (veri silmez). Belirsizlikte fail-open — mevcut kurulumların yedeklemesini asla yanlışlıkla durdurmaz.

♻️ Devralınan (7.45–7.51)

  • Kaynak-sükûneti (Apache restart fırtınası 0, taban load ~1.3), atomik güncelleme swap, KillSwitch salt-DB, MariaDB tuning, 413 upload fixi + tema/plugin yükleme, ve 7.51 güvenlik sertleştirmesi (2 KRİTİK + 9+29 YÜKSEK).

📌 Not

  • Yedek saklama motoru zaten doğru çalışıyordu; bu sürüm görünürlük + tablo-hijyeni + çapraz-ortam sızıntısını kapatır. Zamanlama editöründeki eski "keep" alanları artık aktif saklama politikasının Yedek → Yapılandırma sayfasında olduğunu belirten bir uyarı taşır.
v2026.7.51 49.9 MB 2026-07-10

ONOXSOFT v2026.7.51 «Kalkan»

Yayın tarihi: 2026-07-10
Kanal: stable

Güvenlik-sertleştirme sürümü. 7.50 «Sükûnet» konsolidasyon tabanının üzerine, kapsamlı yapısal güvenlik denetiminin (çok-ajanlı, TDD-doğrulamalı) bulgularını taşır. Bu sürüm güvenlik odaklıdır — mümkünse tüm kurulumların uygulaması önerilir.

🛡️ Güvenlik (bu sürümün özü)

  • 2 KRİTİK + 9 YÜKSEK — durum/yarış (race/state) sertleştirmesi ve 29 YÜKSEK — yapısal denetim bulguları kapatıldı. Başlıca sınıflar:

- sysapi komut-enjeksiyonu (SQL/shell) — kullanıcı-girdisiyle kurulan komutlarda parametrizasyon/escape sertleştirmesi.
- çapraz-kiracı (cross-tenant) chown/dosya erişimi — path-guard + sahiplik doğrulaması; bir hesabın başka hesabın dosyasına dokunması engellendi.
- Yedek/geri-yükleme, vhost ekleme, hesap sonlandırma, mailbox oluşturma, cPanel/DirectAdmin içe-aktarma ve DNS kayıt işlemlerinde girdi-doğrulama + yarış-durumu (TOCTOU/kilit) sertleştirmesi.

  • Tüm KRİTİK fixler TDD (önce başarısız test → fix) ile doğrulandı; değişiklikler brick-safe (lisans Tier-1 dosyaları ve imza-akışı değişmedi; bütünlük manifesti deploy sırasında yeniden üretildi).

♻️ 7.50 tabanından devralınan

  • Turbo kaynak-sükûneti (Apache restart fırtınası 0; taban load ~2.5→~1.3), self-update/deploy atomik build swap, KillSwitch salt-DB, www FPM quiesce, MariaDB tuning seed, Health gerçek-bellek, tema/plugin/medya 413 upload fixi, pdns SERVFAIL onarımı, queue:prune-failed.

📌 Not

  • Bu sürüm iki paralel geliştirme kolunun (kaynak-optimizasyonu + güvenlik-denetimi) birleşik ve içerik-doğrulanmış (20/20 marker) halidir. Ayrıntılı denetim raporu geliştirme dalında tutulur.
v2026.7.50 49.9 MB 2026-07-10

ONOXSOFT v2026.7.50 «Sükûnet»

Yayın tarihi: 2026-07-10
Kanal: stable

«Sükûnet» hattının konsolidasyon ve kararlılık sürümü. 7.45–7.49 boyunca canlı-kanıtla olgunlaşan tüm kaynak-sükûneti, stabilite ve güvenlik fixlerini tek temiz pakette birleştirir; bu turda küçük bir kuyruk-hijyeni eklenir.

🆕 Bu sürümde yeni

  • Başarısız kuyruk işleri otomatik budama — `queue:prune-failed` günlük 04:35'te 14 günden (336h) eski `failed_jobs` kayıtlarını temizler. Uzun ömürlü node'larda başarısız-iş tablosunun sınırsız şişmesi (DB büyümesi + Horizon UI yavaşlaması) önlenir.
  • Sürüm-regresyon nöbetçisi (operasyonel) — paralel geliştirme kollarının yayınlarında fix-kaybını yakalayan içerik-marker doğrulayıcısı devrede (20 kritik marker). Sürüm numarası değil, dosya içeriği denetlenir → yanlışlıkla eski-tabandan ezme anında yakalanır.

♻️ 7.45–7.49'dan birleştirilen (özet)

  • Turbo: Apache full-restart fırtınası biter (91/gün→0); taban load ~2.5→~1.3 (warm dozu günde 4 tur + scheduler diyeti); sistem-subdomain filtresi (sahte filo 108→54); heal 12h back-off.
  • Yükleme: tema/plugin/medya 413 fixi — ModSec `ProcessPartial` + PHP upload tabanı 2M/8M→128M (tüm sitelerde 2MB üstü yükleme artık açık).
  • Güncelleme: self-update + deploy atomik build swap (güncelleme sırasında "Vite manifest not found" 500 penceresi kapandı); fresh-install `install.sh` MariaDB tuning seed (buffer pool RAM'e göre; sıfır kurulumda 128MB varsayılan utancı biter).
  • Lisans/servis: KillSwitch salt-DB (ölü sudo-systemctl spam'i biter; 2266 denied/6h→0).
  • Kaynak/ölçüm: www FPM pool quiesce (~321MB idle RSS geri); Health gerçek bellek (memory.stat anon) + cache_mb; MariaDB buffer pool tuned; pdns SRV SERVFAIL seli söndü; slowness-slap kalibrasyonu.
  • Mail: Mail Teslimat Raporları maillog yerine DB'den (14 gün retention; "her gün sıfırlanma" biter).

📌 Takipte (7.50 kapsamı DIŞI)

  • Kapsamlı yapısal güvenlik denetimi (3 KRİTİK + 29 YÜKSEK) ayrı bir konsolide sürümde (7.51) toplanacak — bu sürüme dahil DEĞİL.
  • Encoded LicenseManager saat-başı nadir false-positive `system_health` flap'i (zararsız, encode-pipeline işi).
  • install.sh sieve politikası kolları (flag-only vs Junk) reconcile bekliyor.
v2026.7.49 49.9 MB 2026-07-10

ONOXSOFT v2026.7.49 «Sükûnet»

Yayın tarihi: 2026-07-10
Kanal: stable

«Sükûnet» hattının birikimli kararlılık sürümü. 7.45–7.48'in tüm kaynak-sükûneti + stabilite fixlerini içerir; üzerine bu sürümde iki canlı olay fixi eklendi. (Not: bu tarball, aynı gün paralel yürütülen iki çalışma kolunun birleştirilmiş temiz halidir — daha önce yayınlanan 7.49 artifact'ı eksik/regresyonlu idi, bu sürüm onu değiştirir.)

🆕 Bu sürümde

  • Tema/plugin/medya yükleme 413 fixi (canlı olay, error_log kanıtlı) — WordPress'ten büyük dosya yüklerken "Request Entity Too Large" alınıyordu. İki katman: (1) ModSecurity `SecRequestBodyLimitAction Reject → ProcessPartial` (12.5MB tarama penceresi korunur, üstü artık reddedilmez — cPanel EA4 yaklaşımı); (2) global PHP `upload_max_filesize`/`post_max_size` fabrika 2M/8M'deydi (tüm sitelerde 2MB üstü yükleme fiilen kapalıydı!) → 128M/128M. Yeni PHP kurulumları da yalnız fabrika-default'taysa bu tabanı alır (kullanıcı/panel değerine dokunmaz).
  • Mail Teslimat Raporları kalıcılaştırma — olaylar maillog tail'i yerine DB'ye yazılır (14 gün retention) → "her gün sıfırlanma" biter, logrotate'ten etkilenmez.
  • Self-update onox-license-check tazeleme — güncelleme artık license-enforcement binary'lerini de senkronlar (ionCube-güvenli PHP + MTA fail-open fixleri filoya ulaşır).

♻️ 7.45–7.48'ten devralınan (özet)

  • Turbo reload fırtınası biter (Apache full-restart 91/gün→0); taban load ~2.5→~1.3 (warm dozu + scheduler diyeti); sistem-subdomain filtresi (sahte filo 108→54).
  • Self-update/deploy atomik build swap (güncelleme sırasında "Vite manifest not found" 500 penceresi kapandı).
  • KillSwitch salt-DB (ölü sudo-systemctl spam'i biter); www FPM pool quiesce (~321MB idle RSS geri).
  • Health gerçek bellek (memory.stat anon) + cache_mb; MariaDB tuning seed (sıfır kurulumda buffer pool artık boş değil); pdns SRV SERVFAIL seli söndü; slowness-slap kalibrasyonu.

📌 Takipte

  • Encoded LicenseManager saat-başı nadir false-positive `system_health` flap'i (zararsız, encode-pipeline işi).
  • Kapsamlı yapısal güvenlik denetiminin (3 KRİTİK + 29 YÜKSEK) YÜKSEK fixleri ayrı bir konsolide sürümde (7.50) toplanacak.
v2026.7.48 49.9 MB 2026-07-10

ONOXSOFT v2026.7.48 «Sükûnet»

Yayın tarihi: 2026-07-10
Kanal: stable

«Sükûnet» hattının kapanış sürümü — 7.45 (restart fırtınası) ve 7.47 (taban yük) sonrası kalan tüm yapısal pürüzler: güncelleme-anı UI kesintisi, KillSwitch'in ölü systemctl yolu, boşta bekleyen paylaşımlı PHP havuzları ve sıfır-kurulum MariaDB tabanı. Tümü canlı kanıt + beta yıkıcı-testiyle doğrulandı.

🔄 Self-update — güncelleme sırasında panel artık HİÇ 500 atmıyor

  • `onx-panel-self-update` atomik public/build swap — tar, build'i canlı dizinin üzerine dosya-dosya açıyordu; tarball'da manifest.json 625 asset'ten ÖNCE geldiği için her güncellemede saniyeler süren "Vite manifest not found" 500 penceresi + yeni-manifest/eski-asset karışımı oluşuyordu. Artık build yan-stage'e açılır, ana extract build'i atlar, tek `mv` (rename=atomik) ile takas edilir. Stage'de doğrulama başarısızsa canlıya hiç dokunulmaz; swap başarısızsa eski build anında geri konur + tam rollback. Beta yıkıcı-test kanıtı: tam güncelleme boyunca saniyelik prob — 0×500, build_swap=ok, artık dosya yok.
  • `onx-panel-deploy` aynı fix — geliştirme-yayın akışındaki `npm run build` de canlı build'i boşaltıyordu (bugünkü 500 patlamalarının asıl kaynağı buydu); build.new→swap kalıbına geçirildi.
  • Not: bash `pipefail` altında `printf | head` bile SIGPIPE üretebiliyor — swap bloğu pipe'sız (parametre-genişletme + herestring) yazıldı; ilk beta testinde bizzat yakalandı ve giderildi.

🔑 KillSwitch — ölü systemctl yolu kaldırıldı (salt-DB state)

  • Panelin (apache) `sudo systemctl stop/start` çağrıları sudoers'ta HİÇBİR ZAMAN izinli değildi — 6 saatte 2266+ "command not allowed", hiçbir stop/start fiilen çalışmıyordu; saf journal kirliliği + fork yüküydü. 7.48: KillSwitch yalnız DB state yazar. Gerçek yaptırım zaten onoxd'de (root, 30sn): KILLSWITCH_HOLD lisanssızda auto-start'ı keser, enforce-mode stop+mask uygular, recovery'de lisanslı+kapalı+`svcExists` servisleri ≤30sn'de başlatır (kurulu olmayan opendkim/opendmarc'a dokunmaz — DKIM'i rspamd imzalar). Davranış birebir korunur; kanıtlanabilir sıfır fark.

🧊 Paylaşımlı "www" PHP-FPM havuzları quiesce edildi

  • 4-5 PHP sürümünün paket-default `www` pool'u hiç trafik almadığı halde (tüm worker'lar cputime=0) `pm=dynamic` ile sürüm başına 5 idle worker tutuyordu: ~321MB boşa RSS, apache kullanıcısıyla system.slice'ta = cgroup izolasyonu dışında. `pm=ondemand + idle_timeout=10s` → 0 idle worker; listen socket master'ca yaratıldığından default-handler fallback'i 503 yemez (olası ilk istekte fork). Kalıcılık: `onx-webserver-fpm-pool-prepare` (driver switch'lerde) + `onx-php-install` (yeni PHP sürümü kurulumunda) otomatik uygular.

🗄 Sıfır kurulum — MariaDB tabanı artık boş değil

  • `install.sh` artık `/etc/my.cnf.d/zz-onox-tuning.cnf` tohumluyor: `innodb_buffer_pool_size` = RAM'in ~%12'si (256M–4096M clamp; örn. 12GB kutu→1434M, 64GB→4096M), tmp_table/max_heap 64M. Panel-yönetimli onox.cnf'ten ayrı dosya (panel "Kaydet & Uygula" ezemez); `[[ ! -f ]]` guard'ı elle ayarlanmış mevcut değerleri korur. (7.47 denetiminin bulduğu "62GB üretim sunucusunda buffer pool 128MB varsayılanda" utancı bir daha yaşanmaz.)

🧪 Test altyapısı — License suite yeşile döndü

  • Beta harness'taki 7 kırmızı License testi tek tek yargılandı: 7'si de bayat test, sıfır kod bug'ı. Üç kök: (1) harness'ın kasıtlı PermissiveLicenseManager bypass'ı (gerçek-manager testleri artık `forgetInstance` ile rebind ediyor), (2) 7.44 grace-period (tek heartbeat fail'i artık KillSwitch tetiklemez — eşik 7 ardışık fail; testler grace-aware yazıldı), (3) 7.9/LIC-07 admin route-gate (`/lisans/ip-transfer` testleri admin rolü atıyor). Suite: 7 failed → 0 failed (63 passed); davranış değişikliği yok, güvenlik kararları korunuyor.

📌 Takipte (bilinen, 7.48 kapsamı dışı)

  • Encoded (ionCube) LicenseManager checkpoint'i saat sınırlarında nadir false-positive `system_health` flap'i üretiyor (183 kayıt; saniyeler içinde kendi kendine kapanıyor, 7.48 sonrası zararı yalnız DB satırı) — encode pipeline'ında ele alınacak.
  • mysql_server_config tablosundaki innodb/tmp_table seed'leri panel UI'dan "Kaydet & Uygula" ile onox.cnf'e yazılırsa zz-tuning değerleri sessizce baskın kalır (latent UX; ayrı iş).
v2026.7.47 49.9 MB 2026-07-10

ONOXSOFT v2026.7.47 «Sükûnet»

Yayın tarihi: 2026-07-10
Kanal: stable

Taban-yük sürümü — «Sükûnet» hattının ikinci adımı. 7.45 restart fırtınasını bitirmişti; 7.47, 6-boyutlu ölçüm denetiminin (176 canlı ölçüm + çapraz doğrulama) bulduğu SENTETİK taban yükü kaldırır: 8 çekirdekli üretim node'unda load taban 2.5-2.8 → 1.3-1.4 (canlı kanıtlı, fix sonrası 15. dakika).

⚡ Turbo Cache — warm dozu (taban yükün %55-65'i buydu)

  • turbo-warm-all: 30 dakikada bir × site başına 150 URL taraması döngüyü ~30 dakikada bitiriyordu = 7/24 kesintisiz crawl — crawler 0.7 çekirdek + crawl'ı serve eden müşteri PHP-FPM'i ile tek başına ~1.4-1.7 load. Artık günde 4 tur (03/09/15/21) × 40 URL. Sayfa önbelleği organik ziyaretlerde zaten dolar; warm yalnız soğuk-sayfa ön-ısıtmasıdır — ziyaretçi deneyimi değişmez.
  • turbo-intelligence 5dk→10dk; turbo-crisis-sync 1dk→2dk.
  • `onx-turbo-shield-stats`: her dakika TÜM filonun bugün+dün telemetri dosyalarını baştan sona tarıyordu (6sn/dk, 26sn spike'lar). Artık dün-dosyası yalnız gün dönümünde, dosyanın son 4MB'ı taranır, date fork'ları döngü dışında.

⏱ Scheduler diyeti (~0.6 çekirdek → ~0.2)

  • Boş-işken dakikalık tam-Laravel-boot yapan işler seyreltildi: replication-health 1dk→5dk, cluster-reconcile 5dk→30dk, migration-recover 1dk→günlük 05:20 (göç dönemi geldiğinde sıklaştırılır), backup:dispatch-due 1dk→5dk (yedek saatinde ≤5dk gecikme), turbo-crisis-sync 1dk→2dk.
  • Telemetri: cgroup:snapshot + fpm-rebind 1dk→2dk; resources:snapshot 2dk→5dk + arka plan (4sn'lik foreground koşu scheduler zincirini bloklamaz artık).
  • WP Kontrol Merkezi filo taraması (site başına 4-5 tam WordPress boot'u) hourly→6 saatte bir; sayfa açılışındaki on-demand tazeleme güncelliği korur.
  • 4 watchdog 5dk→10dk.
  • `onx-wp-cron-set`: yeni sitelerin WP cron'una dakika-ofseti — tüm sitelerin */N cron'u aynı dakikada ateşlenince oluşan senkron PHP-boot dalgası (1m-load tepeleri) dağıtılır; sıklık değişmez.

🗄 MariaDB — "15GB RAM" gizemi çözüldü

  • Buffer pool hiç ayarlanmamıştı (128MB varsayılan); 14.6GB RSS'in ~13.8GB'ı glibc malloc arena fragmantasyonu + THP şişmesiydi (RAM yüzdesinin yavaş tırmanışının kökü). Kurulumlarda `zz-onox-tuning.cnf` ile pool/tmp_table değerleri makul taban alır (panel-yönetimli onox*.cnf'ten AYRI dosya — panel "Kaydet & Uygula" ezemez). Mevcut sunucularda online (kesintisiz) uygulandı. Arena fix'i (MALLOC_ARENA_MAX) planlı restart penceresine bırakıldı — kozmetik.

🌐 PowerDNS — SERVFAIL seli söndü

  • 891 SRV kaydında çift-öncelik (content 4-alan + prio kolonu) → her sorguda "Exception building answer packet" = günde ~840 bin SERVFAIL ve resolver retry fırtınası. Veriler normalize edildi (kayıt şablonu 7.27+ zaten doğruydu; bozuk veri eski-format restore kalıntısıydı). ÖNEMLİ: veri düzeltmesi sonrası `pdns_control purge` şart — query-cache eski bozuk içeriği servis etmeye devam eder.
  • journald `SystemMaxUse=1G` tavanı (SERVFAIL seli 2.3GB doldurmuştu).

🛡 Slowness Slap kalibrasyonu

  • `debounce 4→10`, `recover_below 65→55`: gece yedek/AV pencerelerindeki kısa tepeler sahte ELEVATED/kriz flap'i üretip (57 siteye TTL/AV churn'ü) geri dönüyordu; histerezis genişletildi. Koruma davranışı aynı, yalancı alarm azalır.

📌 Bilinen konular (takipte, ayrı iş)

  • Admin Servisler sayfası açıkken panel mail servislerine ~2sn'de bir başarısız `sudo systemctl` deniyor (sudoers reddediyor; servisler etkilenmiyor, log kirliliği) — sysapi'ye taşınacak; opendkim/opendmarc "rspamd-DKIM kullanılıyor" olarak işaretlenecek.
  • Panel self-update'in tar-extract'i `public/build`'i atomik değiştirmiyor → güncelleme sırasında birkaç saniyelik UI 500 penceresi (release-build tarafı 7.45'te atomikleşti; self-update yolu sırada).
  • php84 paylaşımlı "www" pool'una düşen siteler cgroup izolasyonu dışında (0.58 çekirdek) — per-user pool'a taşınacak.
v2026.7.46 49.9 MB 2026-07-10

ONOXSOFT v2026.7.46 «Monolith»

Yayın tarihi: 2026-07-10
Kanal: stable

Mail sistemi kusursuzlaştırma sürümü — «Monolith» hattının, günlük tekrar eden "SSL Aktif" mail-spam'ini kökten kesen, gerçek spam'i Junk'a ayrıştıran ve barındırılan hesaplara gelen kayıp mailleri operatöre görünür kılan güncellemesi. 2026.7.45 «Sükûnet» (sunucu-sağlık/turbo/kaynak fixleri) üzerine kümülatiftir; o sürümün tüm iyileştirmelerini de içerir.

📧 Mail — SSL bildirim-spam döngüsü kökten çözüldü (KRİTİK)

  • Aynı domainlere her gün gelen "SSL Aktif" maili durdu — Bazı domainler (ör. tipiserteknik, golbasimetal, anadolucekici) her sabah tekrar "SSL Aktif" bildirimi alıyordu. Kök neden panelde değil, disk sertifikasındaydı: eski bir elle-kopya (manual) sertifika, taze Let's Encrypt sertifikasını gölgeliyordu → sistem bitiş tarihini hep bayat okuyor, AutoSSL süpürücüsü domaini her 30 dakikada "süresi doluyor" sanıp yeniden işliyor, her işlemede müşteriye mail gidiyordu. Artık sertifika çözücü tüm adayları tarar ve en geç biteni seçer (meşru elle-cert senaryosu korunur; bayat kopya taze LE tarafından ezilir) → döngü kırıldı.

🧹 Mail — Spam artık Junk'a ayrıştırılıyor (KRİTİK)

  • Yakalanan spam artık gelen kutusunda kalmıyor, Junk'a düşüyor — Anti-spam (rspamd) spam'i hep yakalayıp `X-Spam: Yes` etiketliyordu, ama teslim filtresi (sieve) bunu Junk klasörüne ayrıştırmıyordu → etiketli spam gelen kutusunda kalıyordu. Artık global bir teslim-öncesi kural, `X-Spam: Yes` işaretli her maili otomatik Junk klasörüne alır (kullanıcının kendi filtre kuralları bunun üstüne çalışmaya devam eder). Junk klasörü her kullanıcıda otomatik görünür/abonedir. cPanel-eşdeğeri davranış.
  • Mevcut sunuculara da ulaşır — Bu kural eskiden yalnız yeni kurulumlarda yazılıyordu; artık her sunucuda idempotent bir "sieve garanti" mekanizması (saatlik + güncelleme-anında, yalnız gerçekten değişince dovecot reload) sayesinde tüm sunucular otomatik kazanır.

👁️ Mail — "Ulaşılamayan Mail" görünürlüğü (YENİ)

  • Barındırdığın hesaplara gelen ama kutusu olmayan adresler artık görünür — Yeni açılan/taşınan hesaplarda, henüz oluşturulmamış bir adrese (ör. `info@site.com`) gelen meşru mailler sessizce geri çevriliyor ve operatör bunu fark etmiyordu. Yeni Mail → Ulaşılamayan Mail sayfası, Postfix loglarından bu adresleri zarf-only (kimden/kime/kaç kez) listeler; kaç farklı gönderenin yazdığını göstererek meşru boşlukları (ör. "info@'ya 9 farklı kişi yazmış ama kutu yok") sözlük-saldırısı gürültüsünden ayırır. Operatör tek bakışta hangi kutuyu açması gerektiğini görür.
  • Güvenli tasarım (catch-all DEĞİL): Bu bir yakalama-kutusu değildir — mail gövdesi asla okunmaz/saklanmaz, hiçbir mail bir yere düşürülmez. Yalnızca sunucunun kendi logundaki zarf meta verisi gösterilir → spam-mıknatısı, disk-şişmesi ve çapraz-kiracı gizlilik açığı oluşmaz.

📌 Not

2026.7.45 «Sükûnet» üzerine kümülatiftir (sunucu-sağlık/turbo-soft-reload/kaynak-izolasyon/health iyileştirmeleri dahil). Sürüm kimliği (codename/öne-çıkanlar) release notes'tan otomatik türetilir.

v2026.7.45 49.9 MB 2026-07-10

ONOXSOFT v2026.7.45 «Sükûnet»

Yayın tarihi: 2026-07-10
Kanal: stable

Sunucu-sağlık ve kaynak-sükûneti sürümü — «Monolith» hattının, arka planda sessizce biriken yük, gereksiz servis yeniden-başlatmaları ve yanıltıcı sağlık ölçümlerini kökten dindiren güncellemesi.

🌀 Turbo — Servis yeniden-başlatma fırtınası kesildi (KRİTİK)

  • Web sunucusu artık gün boyu gereksiz yere yeniden başlamıyor — Turbo tarayıcı-önbellek ve fastpath adımları her uygulamada ağır bir yeniden-başlatma tetikliyordu (günde ~91 kez). Artık yumuşak-reload (configtest + graceful; yalnız gerçekten gerekince, ölüyse kurtarma-restart) kullanılır → gün boyu 0 gereksiz restart.
  • Sistem alt-alan adları filo dışına alındı — Turbo listesi, paylaşılan docroot'tan beslenen sistem alt-alanlarını (webdisk vb.) sahte-site olarak sayıyordu (filo 108→54). Artık bunlar atlanır; ana sitenin önbelleği yanlışlıkla sökülmez.
  • İyileştirme geri-çekilmesi (heal backoff) — Tekrar tekrar başarısız olan iyileştirme denemeleri artık 12 saat geri-çekilir → boşuna döngü ve yük yok.

🩺 Sağlık & Kaynak — Doğru ölçüm

  • Bellek ölçümü artık gerçek anonim kullanımı gösterir — Servis-durumu belleği ControlGroup'tan doğru path çözümüyle (nested slice dahil) `anon` üzerinden hesaplar; page-cache şişmesi artık RAM kullanımı gibi görünmez. Sağlık paneli önbellek (Cached) değerini `/proc/meminfo`'dan okur (eskiden 0 sabitti).
  • Lisans KillSwitch idempotent — Geçişte servisleri yalnızca bir kez durdurur; başlat/durdur öncesi "zaten aktif mi" kontrolü ile gereksiz systemctl gürültüsü kesildi.

🔒 Altyapı

  • Atomik frontend derleme — Sürüm derlemesi artık `build.new → swap` ile atomiktir; derleme sırasında Vite-manifest 500 penceresi kapandı.
  • 38 vhost SSL onarımı — Sertifika eşleşmesi eksik/hatalı çok sayıda vhost onarıldı.

📌 Not

2026.7.44 «Monolith» üzerine kümülatiftir. Sürüm kimliği (codename/öne-çıkanlar) release notes'tan otomatik türetilir.

v2026.7.44 49.8 MB 2026-07-09

ONOXSOFT v2026.7.44 «Monolith»

Yayın tarihi: 2026-07-09
Kanal: stable

Operatör görünürlüğü + PHP uyumluluğu sürümü — «Monolith» hattının, panelin başına gelenleri anlaşılır kılan ve müşteri sitelerinin PHP-sürüm kaynaklı 500'lerini önleyen güncellemesi.

👁️ Operatör Görünürlüğü

  • Başarısız işler artık anlaşılır gösterilir — Operasyon → Observability → Kuyruk sayfasında başarısız işler eskiden ham teknik satırla (`RuntimeException: ... in /opt/.../Job.php:52`) görünüyordu; operatör ne olduğunu anlamıyordu. Artık her başarısız iş düz-Türkçe ad (ör. "Turbo Tarayıcı-Önbellek"), hedef site, sade neden, ciddiyet rozeti (Bilgi/Uyarı/Ciddi) ve ne-yapmalı ipucu ile gösterilir; ham teknik detay "Teknik detay" altında katlanır. Örn: geçici bir zaman aşımı artık [Bilgi] "Zararsız — önbellek zaten uygulandı" olarak görünür.

🌐 DNS — Nameserver tek-kaynak + gece-senkron güvenliği (KRİTİK)

  • Nameserver artık her yerde ayarlardan gelir (hardcode kaldırıldı) — Zone oluşturmanın bazı yolları (6-saatte-bir backfill, cPanel içe-aktarım) NS parametresi geçmediğinden sistem sabit `ns3/ns4.onoxsoft.com.tr` değerine düşüyor, admin'in DNS/Nameservers ayarını eziyordu ("NS'ler kendi kendine değişmiş" görünümü). Artık NS'in tek kaynağı ayarlardır: tüm zone-oluşturma yolları ayarı açıkça geçer; ayar okunamazsa bile sysapi ayar tablosundan okur.
  • Gece DNS senkronu artık NS kayıtlarına HİÇ dokunmaz — Gece uzlaştırıcısı (reconciler) NS tipini tamamen muaf tutar: içeri almaz, silmez, drift saymaz. NS yönetimi yalnız bilinçli/elle yapılır — "sabah kalktım NS değişmiş" bir daha yaşanmaz.
  • Harici-DNS'li alan adlarında gece senkronu SALT-RAPOR — DNS'i panel dışında yönetilen (external) alan adlarında canlı DNS bizde olmadığından, şablon kayıtlarını panele basıp müşterinin gerçek kayıtlarını ezme davranışı tamamen kapatıldı; bu alan adlarında senkron yalnız rapor üretir, asla yazmaz.
  • CNAME çakışması artık otomatik silme yapmaz — Aynı ada hem A hem CNAME düştüğünde eski davranış müşterinin gerçek CNAME'ini (ör. `www → sites.framer.app`) sistem kaydı lehine otomatik siliyordu; artık çakışmalar da muhafazakâr sınıflandırıcıdan geçer — net cPanel-çöpü imzası yoksa asla otomatik silinmez, insan onayına düşer.

🧩 PHP Uyumluluğu

  • ionCube sürüm-uyumsuzluğu artık tespit edilip çözüm önerilir (KRİTİK) — ionCube ile belirli bir PHP sürümüne şifrelenmiş premium WordPress tema/eklentileri, site daha yeni bir PHP'de çalışınca fatal hata → 500 verir (ionCube kurulu olsa bile — sorun sürüm uyumsuzluğudur). Panel bunu artık PHP Hata Logu sayfasında tespit edip net bir uyarı + önerilen PHP sürümü + tek-tık "PHP Sürümünü Değiştir" bağlantısıyla gösterir. Operatör "ionCube kurulu mu?" diye uğraşmaz.
  • Yeni sitelerin varsayılan PHP sürümü artık 8.3 — Yeni hesap/site oluşturulurken varsayılan PHP en-yeni sürüm (8.4) yerine ekosistem-uyumlu 8.3'tür. Şifreli WP tema/eklentilerin çoğu en-yeni PHP'de henüz uyumlu encode içermediğinden, bu varsayılan müşteri-500'lerini baştan önler. (Admin sistem-varsayılanı veya `PHP_DEFAULT_VERSION` ile değiştirilebilir.)

🧩 Eklenti Mağazası (Marketplace)

  • Gerçek katalog + imzalı kurulum + sol menü + Eklenti Konsolu — Eklenti Mağazası artık canlı katalogdan beslenir; kurulumlar Ed25519 imzayla doğrulanır (imza/anahtar yoksa kurulum fail-closed reddedilir). Kurulu eklentiler sol menüde görünür ve her eklenti için genel bir Eklenti Konsolu sayfası açılır. İlk yayınlanan eklentiler: Onox Bildirim (ücretsiz) ve Onox Cloudflare DNS.
  • Bilinen kısıt: Ücretli eklenti akışı (satın alma senkronu + premium indirme) panelin lisans imza anahtarını gerektirir; imza anahtarı boş olan (eski aktivasyonlu) kurulumlarda ücretli akış geçici olarak çalışmaz — ücretsiz eklentiler tam çalışır. Lisans yeniden-aktivasyonu bu anahtarı doldurur.

🖥️ Panel Deneyimi

  • Site DNS Durumları listesi yeniden düzenlendi — DNS-Pasif domainler ve askıdaki hesapların domainleri artık listenin en altında ayrı gruplar halinde (başlık satırlı); askıdaki hesap satırları sarı arkaplan + "Askıda" rozetiyle ayrışır. Domain ve Hesap kolonları tıklanarak sıralanabilir. Liste içinden hesap detayına yanlışlıkla atlama kaldırıldı.
  • Sol menü konumu korunur — Admin menüsünde bir sayfaya tıklayınca menü artık başa dönmez; kaldığınız scroll konumu sayfalar arası korunur.
  • Lisans doğrulama sayfası sakinleştirildi — Panel güncellemesi sırasında lisans doğrulaması geçici olarak tamamlanamadığında gösterilen korkutucu "bağlamayı sıfırlatın" yönergesi düzeltildi: doğrulama artık kısa aralıkla otomatik yeniden denenir (geçici durum kendini toparlar, sayfa çoğu zaman hiç görünmez); görünse de mesaj net: lisansınız güvende, yeni lisans gerekmez, birkaç dakika sonra yenileyin.
  • Mail Kuyruğu istatistikleri artık gerçek veri gösterir — "Bugün gönderilen" sayacı hiç var olmayan bir tablodan okunduğu için hep 0 görünüyordu; artık gerçek günlük mail istatistiklerinden beslenir.

📌 Not

2026.7.43 «Monolith» üzerine kümülatiftir. Sürüm kimliği (codename/öne-çıkanlar) release notes'tan otomatik türetilir.

v2026.7.43 49.8 MB 2026-07-08

ONOXSOFT v2026.7.43 «Monolith»

Yayın tarihi: 2026-07-08
Kanal: stable

Web sunucusu geçişi (Apache↔OpenLiteSpeed) sağlamlaştırma sürümü — «Monolith» hattının dayanıklılık güncellemesi. Çoklu-sunucu (matrix/beta) canlı switch testi + 15-ajan adversarial denetim ile.

🔀 Web Sunucusu Geçişi (Switch) — KÖK sağlamlaştırma

  • Panel :666 artık OLS'te de doğru servis edilir (KRİTİK) — Apache→OpenLiteSpeed geçişinde panelin çalıştığı `:666` portu için ne dinleyici ne de `virtualhost` kaydı üretiliyordu; panel vhconf dosyası tek başına yeterli olmadığından OLS paneli yüklemiyor, `:666` tanımsız-vhost'a yönlenip 404 dönüyor ve panel düşüyordu. Artık panel virtualhost kaydı, `:666` dinleyicisi ve gerçek sertifika (bayat şablon-cert otomatik onarımı) geçişin parçası olarak garanti edilir.
  • Geçiş kendini doğrular → otomatik geri-alma (auto-rollback) — Geçiş sonrası smoke testi artık panel :666'yı ve catch-all placeholder'a düşen siteleri de kapsar. Panel geçiş öncesi çalışıyor + sonrası düşüyorsa, veya siteler catch-all'a düşüyorsa geçiş otomatik olarak eski sürücüye geri döner — panel/siteler asla ölü kalmaz.
  • Müşteri siteleri artık catch-all'a düşmez — OLS'te vhost dosyası üretilse de listener eşleme (map) kaydı "virtualhost var mı" kontrolünün içinde kaldığından, eşlemesi bozuk kalan alan adı kalıcı olarak placeholder gösterebiliyordu. Eşleme artık her çalıştırmada garanti edilir (nested-brace güvenli); eşleme yazılamazsa sessizce geçilmez, geçiş güvenle geri alınır.
  • Meşru müşteri yönlendirmesi geçişi bloklamaz — Müşterinin kendi `.htaccess`'iyle başka bir alan adına 301 yapması "yanlış yönlendirme" sanılıp geçişi geri alıyordu. Artık yalnız geçiş öncesi çalışan bir alan adı sonradan alakasız hosta yönlenirse gerçek regresyon sayılır.

🔐 SSL / AutoSSL

  • Sertifika bildirim spam'i düzeltildi — AutoSSL taraması her 30 dakikada aynı alan adını yeniden işleyip, sertifika geçerli olsa bile "SSL verildi" + "SSL yenilendi" ikilisini üretiyordu (panelde/mail'de yığılma). Artık alan adı başına belirli pencerede tek bildirim; tekrarlar bastırılır.

⚡ Turbo Önbellek

  • "Tümünü Aç" artık zaman aşımına uğramaz — Tüm sitelerde Turbo'yu açma işlemi sıralı tek-tek isteklerle yapılıyordu; yük altında tek bir istek 60sn ağ geçidi sınırını aşıp 504 Gateway Timeout veriyordu. Artık tek istek arka plan işine devreder, ilerleme canlı çubukla gösterilir — kesinti/timeout olmaz.

📌 Not

2026.7.42 «Monolith» üzerine kümülatiftir. Sürüm kimliği (codename/öne-çıkanlar) release notes'tan otomatik türetilir. Bu sürümdeki switch sağlamlaştırması çoklu-sunucuda canlı test edilerek doğrulanmıştır.

v2026.7.42 49.8 MB 2026-07-08

ONOXSOFT v2026.7.42 «Monolith»

Yayın tarihi: 2026-07-08
Kanal: stable

Kararlılık ve dayanıklılık sürümü — «Monolith» hattının çok-katmanlı sağlamlaştırma güncellemesi. Çoklu-sunucu (matrix/beta/prime) canlı denetim + adversarial doğrulama ile.

🔒 Lisans

  • Menü fail-open savunması — Lisans özellik listesi anlık boş/belirsiz geldiğinde (deploy penceresi, integrity yeniden-derlenirken; veya Inertia bayat-cache) admin/müşteri menüsü artık tüm özellikleri topluca kilitlemez. Gerçek erişimi sunucu-taraf `EnforceFeature` koruduğundan menü-ipucu güvenle açık gösterilir. (Deploy penceresinde "her şey kilitli" korkusu biter.)

🧩 PHP

  • PHP eklenti yöneticisine ionCube desteği — ionCube (kapalı-kaynak Zend-extension, dnf/pecl paketi değil) artık listede: loader'ı olan sürümlerde "Kur/Kaldır", olmayanlarda "bu sürümde yok". Panelin çalıştığı PHP sürümünden ionCube kaldırılması engellenir (panel şifreli çalışır).
  • memory_limit paket-cap'i (panel-yönetimli) — Admin ve müşteri PHP bellek limitini artık paketin üst sınırına (cgroup RAM) kadar ayarlayabilir; üstü reddedilir. cgroup'u aşan eşzamanlı istek → OOM-kill zinciri önlenir.
  • `.onox-edge/bootstrap.php` orphan self-heal — Turbo Edge'in bootstrap.php'siz bıraktığı hesaplarda `auto_prepend_file` fatal'ı siteyi komple düşürüyordu; eksik bootstrap fail-safe içerikle otomatik geri yazılır (30dk'da bir, lisans-bağımsız).

🔐 SSL / AutoSSL

  • Çoklu-SAN sertifika SAN-404 fix (KRİTİK) — Sistem-subdomain'leri (mail/webmail/panel/webdisk/autodiscover/autoconfig) içeren çoklu-SAN sertifikalar, bu subdomain'lerin acme-challenge Alias'ı olmadığından HTTP-01'de 404 alıp tüm sertifikayı başarısız yapıyordu. Artık main-context global Alias tüm vhost'lara uygulanır (mevcut+gelecek), reprovision gerekmez.

📢 Bildirim (Telegram)

  • Servis-alarmı flap-debounce — Servisin geçici (reload penceresi) tek-döngü "down" görünmesi artık anında bildirim üretmez; en az bir döngü onaylanmadan gönderilmez, bu sürede toparlanırsa sessizce çözülür. "2 dakika düştü" sahte-alarm gürültüsü biter.
  • Sunucu kimliği — "çözüldü" ve bağlantı-testi mesajlarına sunucu adı eklendi (birden fazla sunucu aynı gruba bağlıyken hangisi belli olur).

⚡ Turbo / Kararlılık

  • Browser-cache job timeout — Yük altında health-check + reload 30s sysapi bütçesini aşıp job'u sahte-başarısız yapıyordu; 75s'e çıkarıldı (job bütçesi içinde).
  • logrotate düzeltmesi — `/etc/logrotate.d/onoxsoft` `su apache apache` kullanıyordu ama loglar root:root → "Permission denied" → logrotate.service FAILED → loglar dönmüyordu (disk-şişme). `su root root` ile düzeltildi.

📌 Not

2026.7.40 «Monolith» üzerine kümülatiftir. Sürüm kimliği (codename/öne-çıkanlar) release notes'tan otomatik türetilir.

v2026.7.40 49.8 MB 2026-07-07

ONOXSOFT v2026.7.40 «Monolith»

Yayın tarihi: 2026-07-07
Kanal: stable

MAJOR — lisans-gating, webserver-switch, göç-sağlamlık, mail-admin ve kararlılık geniş-fix paketi. 15-ajan denetim + adversarial doğrulama ile.

🔒 Lisans

  • Cluster (Multi-Server) + Reseller artık enterprise-only (KRİTİK) — `` (unlimited) lisansı Cluster ve Reseller/HA'yı açıyordu; bunlar enterprise-ek satış kalemi. Artık `` bunları AÇMAZ — yalnız enterprise tier (açık-listeli) veya JWT'de explicit entitlement açar. Backend (`LicenseManager` STAR_EXEMPT) + frontend (nav gizleme) senkron; unlimited nav'da gizli, enterprise'da görünür.

🌐 Web Sunucu

  • Webserver switch artık orphan vhost'ta ölmüyor — OpenLiteSpeed'e geçişte, `configFile` eksik veya `docRoot`'suz TEK bir orphan vhost `lshttpd -t`'yi fatal `[ERROR]`'a düşürüp switch'i başlatmadan öldürüyordu (göç artığı). Yeni `onx-ols-orphan-prune` (yedek + `lshttpd -t` GATE) switch öncesi orphan'ları karantinaya alır. Ayrıca config-test hatası artık gerçek sebebiyle (missing docRoot vb.) gösterilir — eskiden "boş hata" görünüyordu.
  • Cross-webserver .htaccess çevirisi (nginx/caddy) — Kaynak Apache `.htaccess` kuralları (redirect/rewrite/deny) yalnız OLS hedefine çevriliyordu; nginx/caddy hedefinde sessizce kayboluyordu. `HtaccessTranslator` artık nginx + caddy sözdizimine de çevirir (`translateTo`); `onx-htaccess-translate --target`. (nginx/caddy vhost enjeksiyonu takip sürümünde.)

📦 Göç / Transfer

  • Kaynak PHP sürümü artık taşınıyor — Göçte domain'ler hedefin default'una (8.4) düşüyordu; 7.4/8.1 kaynaklı eski kod 8.4'te fatal olabiliyordu. Artık kaynak `php_version` manifest'ten taşınır (`clampToInstalled` güvenlik-ağı ile — hedefte kurulu değilse güvenli default).
  • Devasa göç queue-worker'ı çökertmiyor (KRİTİK) — Native göç restore'unun büyük mysql-import stderr'i (~30-49MB) audit-log INSERT'inde 128M worker belleğini patlatıp FATAL veriyordu (iş sonsuz retry). Audit stderr artık 16KB'a kırpılır (3 katman); teşhis için yeterli, çökme yok.

📧 Mail

  • Postfix aktifken Exim-varsayımı guard'landı — `/admin/mail/exim` Postfix'te hata ekranı veriyordu (readConfig fail); artık aktif MTA Exim değilse Postfix sayfasına yönlendirir. DkimService `\Throwable` latent-fatal düzeltildi.
  • AutoSSL sistem-subdomain HTTP-01 — webmail/mail/panel :80 vhost'larına acme-challenge Alias eklendi → HTTP-01 cert issue/renew artık 404 vermez.

📌 Not

2026.7.38 üzerine kümülatiftir. Sürüm kimliği (codename/öne-çıkanlar) release notes'tan otomatik türetilir. ns3/ns4 registry glue + secret rotasyon operasyonel takip maddeleridir.

🛡️ Kararlılık (7.40 hotfix)

  • Lisans menüsü fail-open savunması — Lisans özellik listesi anlık boş/belirsiz geldiğinde (deploy penceresi — integrity yeniden-derlenirken; veya Inertia bayat-cache) admin/müşteri menüsü artık tüm özellikleri topluca kilitlemez. Gerçek erişim sunucu-taraf `EnforceFeature` ile korunduğundan menü-ipucu güvenle açık gösterilir. (7.40 öncesinden gelen kırılganlık; boş-listede tüm nav kilitleniyordu.)
v2026.7.38 49.8 MB 2026-07-07

ONOXSOFT v2026.7.38 «Monolith»

Yayın tarihi: 2026-07-07
Kanal: stable

Mail-admin + sürüm-kimliği geniş-fix paketi (Postfix MTA-farkındalık + güncelleme UX).

🛠️ Düzeltmeler

  • Rspamd "Bloklanan Mailler" gönderici/alıcı artık dolu — Panelde bloklanan mailler skoru/tetikleyeni gösteriyor ama Gönderen + Alıcı sütunları boştu. Kök: rspamd `/history` endpoint'i legacy in-memory ring-buffer'ı sunuyordu (o formatta sender/recipient alanları YOK); tam veri redis'te (valkey db11) duruyordu. Fix: `history_redis` modülü explicit enable (`local.d/history_redis.conf`) → `/history` redis-v2 formatı (sender_smtp/rcpt_smtp dolu) döndürür. Panel kodu değişmedi (zaten doğru parse ediyordu).
  • Sürüm kimliği (codename + öne çıkanlar) artık self-maintaining — Kod adı («Monolith») ve sürüm öne-çıkanları elle güncellenen bir config haritasından geliyordu; harita 2026.7.26'da bitiyordu → yeni sürümlerin codename'i çıkmıyor, header "Lavender"e düşüyordu. Artık codename + öne-çıkanlar release notes'tan (LCS changelog) otomatik türetilir → her yayın kendi kimliğini taşır, elle harita bakımı gerekmez. "Son sürümü kur = yeter" (kümülatif tam-snapshot) zaten mimari olarak böyleydi.
  • Boş changelog dolu kaydı ezmiyor — Güncelleme kontrolü bir sürümün changelog'unu boş manifest ile null'layıp codename/öne-çıkanları kaybediyordu (7.36 NO_CHANGELOG). Artık boş manifest alanları mevcut dolu kaydı ezmez.
  • Mail kuyruğu gönderen kolonu (dolu kuyrukta) — `onx-postqueue-status` arrival kolonunu 5 token okuyup göndereni yutuyordu → dolu kuyrukta Gönderen sütunu boş kalıyordu. Arrival artık 4 token (weekday/month/day/time), gönderen doğru.
  • Setup MTA driver tek-kaynak — Kurulum sihirbazı mail-driver'ı yanlış ayar anahtarından (`active_mail_driver`/`mail_driver`) okuyordu; kanonik anahtar `mailserver_driver`. Artık `MailServerFactory` (gerçek çalışan MTA) tek-kaynak.

📌 Not

Bu sürüm 2026.7.37 üzerine kümülatiftir. Rspamd history redis-geçişi kurulumda otomatik; mevcut sunucularda eski legacy-format history kayıtları bir kez temizlenir (yeni maillerle dolar).

v2026.7.37 54.8 MB 2026-07-07

ONOXSOFT v2026.7.37 «Monolith»

Yayın tarihi: 2026-07-07
Kanal: stable

Sıfır-kurulum bütünlüğü + mail/webmail/kota + dağıtım geniş-fix paketi.

🛠️ Düzeltmeler

  • Sıfır-kurulumda mail auth artık otomatik (KRİTİK) — RHEL/AlmaLinux kurulumunda `dovecot-mysql` paketi eksikti ve sanal-mailbox SQL auth (Dovecot passdb/userdb → panel `email_accounts`) hiç kurulmuyordu → temiz kurulumda mail login "Oturum açılamadı" veriyordu. Artık `install.sh` `dovecot-mysql`'i kurar ve `onx-mail-virtual-auth-setup`'ı otomatik çağırır (dovecot-sql.conf.ext + auth-onox-sql + `onox_dovecot` MySQL user + `/var/vmail` uid/gid 5000, crash-safe: configtest + rollback).
  • Fresh-install dağıtım noktası düzeltildi (KRİTİK) — `get.onox.com.tr` yeni sunucuya taşınınca vhost'u oluşmadığından `curl get.onox.com.tr/install.sh | bash` bile placeholder indiriyordu (kurulum çökerdi). Dağıtım vhost'u + `public/onoxsoft.tar.gz` "latest" işaretçisi düzeltildi → sıfır kurulum her zaman güncel tam sürümü indirir.
  • Webmail artık açılıyor — `mail./webmail.<domain>` sistem-subdomain vhost'ları sertifika basılmadan önce `:443` bloğu içermiyordu → HTTPS'te "Site kullanılamıyor" placeholder. Artık `onx-vhost-add` `:443`'ü fallback self-signed ile HER ZAMAN yazar; AutoSSL cert basınca gerçek sertifikaya yükseltir.
  • E-posta kotası artık gerçek + düzeltildi — (1) Göçte sınırsız (`-1`) kotalar bir regex hatasıyla 1024MB'ye düşüyordu; artık `-1` korunur. (2) Byte yanlış-yazımı (1GB'nin byte değeri) MB'ye normalize edilir. (3) Kota Dovecot'ta artık uygulanıyor (quota plugin + userdb `quota_rule`) — önceden kozmetikti.
  • Kota düzenleme (müşteri paneli, kullanıcı-dostu) — Mailbox detay sayfasında (Depolama Kullanımı) artık "Kotayı Düzenle" var: preset butonlar (256MB/512MB/1GB/2GB/5GB/Sınırsız) + serbest MB girişi. Önceden kota yalnız oluşturmada set edilebiliyordu, mevcut kutuda değiştirilemiyordu. `-1` = sınırsız; sınırsız kutularda çubuk/uyarı gösterilmez. Değişiklik bir sonraki bağlantıda geçerli olur (SQL userdb canlı okur).
  • Alias/park domain göçü → DNS + webmail — Alias domain taşınırken `domains` kaydı + DNS zone oluşmuyordu (sadece e-posta hesapları geliyordu) → alias'ın DNS'i ve webmail'i yoktu. Alias artık park-domain olarak tam provision edilir: `domains` row + Apache vhost + taze temiz DNS zone (sunucu IP'sine A/MX/SPF/DMARC, eski sunucuya işaret eden kayıt kopyalanmaz) + webmail/mail sistem-subdomain'leri + AutoSSL.
  • Gelen mail reddi düzeltildi (KRİTİK) — Göç/backfill `email_accounts`'u ham SQL ile yazınca Eloquent observer'ı bypass ediliyordu → Postfix virtual-mailbox lmdb haritası bayat kalıyor → gelen mail `550 User unknown in virtual mailbox table` ile reddediliyordu (21 mailbox etkilenmişti). Ayrıca parked/alias domainler `virtual_mailbox_domains`'ten hariç tutuluyordu → `554 Relay access denied`. Fix: (1) vdomains-sync artık `main`+`addon`+`parked` + mailbox'u olan her domain'i içerir; (2) göç-restore sonunda sync GARANTİ çağrılır; (3) saatlik self-heal reconcile (`onox:mail-vdomains-reconcile`) herhangi bir bypass'ı otomatik düzeltir.
  • Mail istemci sertifika uyarısı düzeltildi (55 domain) — Wildcard cert kullanan domainlerde `onx-mail-cert-link` `DNS:mail.<domain>` literal arıyordu; wildcard SAN'ı (`DNS:*.<domain>`) tanımıyor → mail SNI mapping atlanıyor → `mail.<domain>:993/587` DEFAULT self-signed cert sunuyordu (Apple Mail/Outlook/Thunderbird uyarısı). Fix: wildcard-farkında SAN kontrolü. Ayrıca `installManual` (manuel/wildcard cert kurulumu) artık mail SNI'yi de linkler (önceden yalnız AutoSslManager yapıyordu). Dovecot SNI mapping 31→82 domain.
  • Sistem-subdomain SSL fallback + SSO URL — `onx-vhost-add` sistem-subdomain (webmail/mail) cert çözümü artık manuel-cert dizinini (`/etc/onoxsoft/ssl/manual/`) da dener (yalnız `letsencrypt/live` değil) → wildcard-cert domainlerinde webmail self-signed'a düşmez. Webmail SSO URL'indeki çift-slash (`webmail.host//?_user=`) `rtrim` ile düzeltildi.
  • Webmail oto-giriş + gönderim düzeltildi (KRİTİK) — (1) Oto-giriş: Webmail SSO Dovecot master-user'ı kurulumda oluşturulmuyordu → göç/eski hesaplar (düz parolası olmayan) webmail'de "Oturum açılamadı" veriyordu. Artık `install.sh` `onox:webmail-master-setup`'ı çağırır → TÜM kutular parola-reset gerekmeden tek-tıkla açılır. (2) Gönderim: Roundcube SMTP `localhost:25` düz bağlanıyordu; master-SASL auth + Postfix submission (587, STARTTLS zorunlu) ile `530 Must issue STARTTLS command first` veriyordu → webmail'den mail GÖNDERİLEMİYORDU. Artık `tls://localhost:587` (STARTTLS) kullanılır.
  • Denetim kaydı kaybı düzeltildi — `audit_log.outcome` ENUM'una `warning`/`info` eklendi; kaynak-limit-aşımı gibi denetim kayıtları artık sessizce kaybolmuyor.
  • FTP taban dosyası + build sahipliği — kurulumda `pureftpd.passwd` provision'dan önce garanti edilir (FTP-add hatası dalgası önlenir); `public/build` sahipliği normalize edilir (deploy penceresinde panel 500 önlenir).

📌 Not

Bu sürüm 2026.7.36 üzerine kümülatiftir. Kurulum-tarafı düzeltmeler yalnız yeni/temiz kurulumlarda ve tam self-update'te devreye girer.

v2026.7.36 54.8 MB 2026-07-07

ONOXSOFT v2026.7.36 «Monolith»

Yayın tarihi: 2026-07-07
Kanal: stable

Göçte posta kutusu İÇERİĞİNİN taşınmama sorununun kök düzeltmesi (KRİTİK).

🛠️ Düzeltmeler

  • Göçte gerçek posta kutusu içeriği artık taşınıyor (KRİTİK) — Bir ONOXSOFT panelinden diğerine hesap transferinde, e-posta hesapları (panel satırları) taşınsa bile gerçek posta kutusu dosyaları hedefe hiç kopyalanmıyordu — panelde e-posta hesabı görünüyor ama gelen kutusu boş kalıyordu. Kök neden: mailbox'lar sanal (Dovecot SQL backend) olduğundan `/var/vmail/<domain>/<local>/` altında tutulur ve `home.tar.gz`'ye Maildir olarak girmez; `onx-backup-run` yalnızca e-posta meta verisini (yönlendirici/alias) yedekliyor, gerçek posta içeriğini hiç paketlemiyordu → restore tarafındaki `vmail` geri-yükleme bloğu aranan dizini bulamıyor → hedefte `/var/vmail` boş. Artık `onx-backup-run`, `include_mail` etkinken hesabın tüm e-posta domainleri için `/var/vmail/<domain>` ağacını yedeğe ekler; restore bunu bulup hedefteki `/var/vmail`'e izin/sahiplik (`vmail` 5000:5000) koruyarak geri yükler.
  • Restore vmail sahiplik güvencesi — vmail geri-yüklemesinden sonra dizin sahipliği `vmail`'e (5000:5000) sabitlenir; tar/rsync sonrası sahiplik kayması olsa bile Dovecot posta kutularını okuyabilir.

📌 Not

Bu sürüm 2026.7.35 üzerine kümülatiftir. Posta-içeriği düzeltmesi transfer/restore anında devreye girer. Daha önce posta kutusu içeriği taşınmadan tamamlanmış transferler, ilgili hesap yeniden taşındığında postalarını da alır; alternatif olarak posta kutuları kaynaktan doğrudan `/var/vmail` senkronu ile köprülenebilir (kaynak panel hâlâ ayaktayken). Ayrıca hedef panelin mail yığını (Dovecot MySQL sürücüsü + SQL kimlik doğrulama) kurulu olmalıdır — bu, kurulumun tamamlanmış olduğu sistemlerde `mail-stack-install` tarafından zaten sağlanır.

v2026.7.35 54.8 MB 2026-07-07

ONOXSOFT v2026.7.35 «Monolith»

Yayın tarihi: 2026-07-07
Kanal: stable

Göç (transfer) sonrası DNS bütünlüğü + DNSSEC DS gösterimi düzeltmeleri.

🛠️ Düzeltmeler

  • Göçte müşterinin ÖZEL DNS kayıtları artık taşınıyor (KRİTİK) — Bir ONOXSOFT panelinden diğerine hesap transferinde, hedef sunucuda hesap için doğru bir varsayılan DNS bölgesi oluşuyordu (A/AAAA → yeni sunucu IP'si, yeni DKIM anahtarı, yeni sunucuya göre SPF, standart MX/SRV) — ama müşterinin kendi eklediği özel kayıtlar taşınmıyordu: şablon-dışı alt alan adları (örn. `cdn.`, `blog.`), harici doğrulama TXT'leri (Google/Facebook site-verification), harici hedefli CNAME'ler (Shopify/CDN), CAA kayıtları. Kök neden: göç modunda `onx-backup-restore` DNS geri-yükleme adımını, kaynak `domain_id`'leri hedefte geçersiz olduğu için tamamen atlıyordu (PHP tarafının yeniden oluşturması bekleniyordu ama native-göç yolu bunu yapmıyordu — `email_accounts` sorununun DNS eşleniği). Artık restore, yedeğin `dns.json`'ından yalnızca güvenli DELTA'yı (müşteri özel kayıtları) hedef bölgeye ekler; A/AAAA'ların eski sunucu IP'sini yeni sunucu IP'sine remap eder, hem panel hem PowerDNS'e idempotent (yoksa-ekle) yazar.

- Sunucu/mail altyapısı KORUNUR: Kaynağın SOA/NS/MX/SPF/DKIM/DMARC kayıtları bilinçli olarak atlanır — bunları birebir kopyalamak zararlı olurdu (A'lar eski sunucuya işaret eder, DKIM/SPF eski sunucuya göre olur → siteler ve mail bozulur). Hedefin bu kayıtları yeni sunucuya göre zaten doğrudur.
- CNAME çakışması önlenir: Aynı adda başka kayıt varken CNAME (veya CNAME varken başka kayıt) eklenmez (RFC uyumu).

  • DNSSEC "DS kayıtları" tablosunda "(Algo undefined) / (Type undefined)" düzeltildi — DNSSEC etkin bir bölgede DS kayıtları tablosunda Algorithm/Digest Type sütunları "undefined" gösteriyordu. Kök neden: `onx-dnssec-status`/`enable` canlı DS'i düz metin dizgi olarak döndürüyor (`"zone. IN DS 57568 13 2 CF76…"`) ama `DnssecPanel` bileşeni her DS'i nesne (`{keytag, algo, digest_type, digest}`) sanıp `d.algo`/`d.digest_type` okuyordu → dizgide bu alanlar `undefined`. Artık bileşen DS'i hem nesne hem dizgi biçiminde ayrıştırıp doğru gösteriyor (DNS zone editöründeki mevcut esnekliğe hizalandı).

📌 Not

Bu sürüm 2026.7.34 üzerine kümülatiftir. DNS özel-kayıt taşıması transfer/restore anında devreye girer (idempotent — tekrar çalıştırma güvenli). Daha önce özel kayıtsız tamamlanmış transferler, ilgili hesap yeniden taşındığında (veya restore tekrar çalıştırıldığında) özel kayıtlarını alır. Göç, kaynağın kayıtlarını birebir kopyalamaz — bilinçli olarak: yeni sunucuya göre doğru olan altyapı kayıtlarını korur, yalnızca müşterinin taşınabilir özel kayıtlarını ekler.

v2026.7.34 54.8 MB 2026-07-07

ONOXSOFT v2026.7.34 «Monolith»

Yayın tarihi: 2026-07-07
Kanal: stable

Sıfır kurulumda web sunucusu "split-brain" (siteler "index of" gösterir / yanlış sürücüye vhost) kök düzeltmesi.

🛠️ Düzeltmeler

  • Web sunucusu split-brain (sıfır kurulum) — KRİTİK — Apache varsayılan sürücüyken kurulum, `active_webserver_driver` ayarını veritabanına hiç yazmıyordu (boş kalıyordu) ve paket kurulumundan gelmiş/açık kalmış lsws (OpenLiteSpeed)/nginx/caddy servisleri çalışır durumda bırakılabiliyordu. Sonuç: DB sürücüsü boş + birden çok web sunucusu aktif → panel sürücüyü tahmin ediyor (httpd+lsws açıkken yanlışlıkla OLS seçiyor) → müşteri ve transfer/göç vhost'ları YANLIŞ sürücüye (OLS) üretiliyor, Apache ise vhost'suz kalıp "index of" (dizin listesi) gösteriyordu. Artık kurulum Apache seçildiğinde de: (1) DB'ye `active_webserver_driver=apache` yazar (otoriter — tahmine gerek kalmaz), (2) Apache dışındaki web sunucularını durdurup devre dışı bırakır. Böylece vhost üretimi (normal + göç) doğru sürücüye gider, siteler ilk andan itibaren servis edilir.

📌 Not

Bu sürüm 2026.7.33 üzerine kümülatiftir (native-transfer e-posta düzeltmesi + install readonly/quota düzeltmeleri dahil). Düzeltme yalnız sıfır kurulumu etkiler; mevcut sunucularda sürücü paneldeki "Sunucu Yapılandırması → Web Sunucusu"ndan sabitlenebilir.

v2026.7.33 54.0 MB 2026-07-07

ONOXSOFT v2026.7.33 «Monolith»

Yayın tarihi: 2026-07-07
Kanal: stable

Sıfır kurulum sağlamlaştırması + ONOXSOFT→ONOXSOFT (native) transferde e-posta hesaplarının taşınmama sorununun kök düzeltmesi.

🛠️ Düzeltmeler

  • Native transferde e-posta hesapları artık taşınıyor (KRİTİK) — Bir ONOXSOFT panelinden diğerine hesap transferinde, veritabanları ve domainler taşınıyor ama e-posta hesapları panelde "0" görünüyor ve taşınmıyordu. Kök neden: `onx-backup-restore`, panel kayıt tablolarından `mysql_databases` ve `mysql_grants`'ı doğrudan yazıyordu (PHP ingest kırılgan olduğu için) ama `email_accounts` tablosunu HİÇ yazmıyordu — Maildir dosyaları kopyalansa bile panelde hesap satırı oluşmuyor, dolayısıyla dovecot SQL kimlik doğrulaması + panel listesi boş kalıyordu. Artık restore, yedeğin `panel-meta.json`'ındaki e-posta meta verisinden `email_accounts` + `email_forwarders` satırlarını aynı güvenilir kalıpla (katı doğrulama, `ON DUPLICATE KEY` idempotent) yazar.
  • Sıfır kurulumda 2 kurulum-durduran bug düzeltildi — (1) `ONOX_HOME: readonly variable` — `readonly` değişkene satır-içi atama, kurulumu 15. adımda çökertiyor, admin kullanıcısı/sudoers/Horizon hiç kurulmuyordu (`env` öneki ile düzeltildi). (2) Disk quota adımı yeniden-çalıştırmada `quotacheck` dolu diski baştan tarayıp dakikalarca kilitleniyordu (quota zaten aktifse atlayan idempotency guard eklendi).

📌 Not

Bu sürüm 2026.7.32 üzerine kümülatiftir. E-posta düzeltmesi transfer/restore anında devreye girer (idempotent — tekrar çalıştırma güvenli). Daha önce e-postasız tamamlanmış transferler, ilgili hesap yeniden taşındığında (veya restore tekrar çalıştırıldığında) e-postalarını alır.

v2026.7.32 54.0 MB 2026-07-06

ONOXSOFT v2026.7.32 «Monolith»

Yayın tarihi: 2026-07-06
Kanal: stable

OpenLiteSpeed (OLS) web sunucusuna geçişte panelin bozulması KALICI olarak önlendi.

🛠️ Düzeltmeler

  • OLS'ye geçişte panel artık kırılmıyor (KÖK FIX) — Panel PHP'si ionCube-şifreli (lisans çekirdeği: JwtVerifier/EnforceLicense vb.). OLS'ye geçildiğinde panel, OLS'nin kendi `lsphp` motoruyla servis edilir; `lsphp`'de ionCube loader YOKSA şifreli dosyalar çözülemez → panel 403/500 (OLS geçişinin paneli kırmasının ASIL nedeni buydu). Artık: (1) yeni `onx-ols-ioncube-ensure` sysapi'si OLS'nin her `lsphp` sürümüne (lsphp82/83/84…) ionCube loader'ı garanti eder — kaynak olarak aynı sürümün sistem PHP loader'ını kullanır (SAPI-agnostik), idempotenttir; (2) bu, OLS aktifleşmeden önce (`onx-ols-listener-prepare` içinde) otomatik çalışır; (3) kurulum, sistem PHP'leriyle birlikte OLS `lsphp`'lerine de ionCube kurar. Sonuç: OLS'ye geçiş panelin çalışmasını bozmaz.

📌 Not

Bu sürüm 2026.7.31 üzerine kümülatiftir. Düzeltme idempotenttir ve best-effort çalışır (ionCube adımı OLS geçişini asla bloklamaz). ionCube henüz desteklemeyen çok yeni PHP sürümleri (ör. 8.5) için loader bulunamazsa temiz şekilde atlanır — panel varsayılan PHP 8.2 ile çalışmaya devam eder. OLS'ye geçiş, panel + müşteri siteleri için doğrulanmıştır.

v2026.7.31 54.0 MB 2026-07-06

ONOXSOFT v2026.7.31 «Monolith»

Yayın tarihi: 2026-07-06
Kanal: stable

Müşteri durum sayfaları (askı / hoşgeldin / kurulum / sonlandırma) artık panelin gösterdiği tasarımı ve marka ayarlarını kullanıyor.

🛠️ Düzeltmeler

  • Askı/hoşgeldin/hata sayfaları "eski sistemden" geliyordu — düzeldi — Placeholder şablonları depoda iki ayrı yerde duruyordu: panelin `/admin/branding/default-pages` önizlemesi yeni tasarımı (`config/onoxsoft/templates/default-pages/`, yeşil "timsah" v3) gösterirken, müşterilere servis edilen sayfa eski tasarımdan (`templates/default-pages/`, turuncu v1) geliyordu. İki kaynak hiçbir kurulum/güncelleme adımıyla eşitlenmiyordu → sunucuda eski v1 takılı kalıyordu. Artık tek kaynak (`config/onoxsoft/templates/default-pages/`) hem önizleme hem servis için kullanılıyor: kurulum ve her güncelleme, şablonları `/usr/local/onoxsoft/templates/default-pages/`'e senkronlar. Önizlenen = müşteriye servis edilen.
  • Özel mesaj (`custom_message`) artık render ediliyor — `/admin/branding/default-pages`'te duruma özel yazılan mesaj DB'ye kaydediliyor ve panel PHP tarafı bunu deploy'a geçiriyordu, ancak sysapi (`onx-default-page-deploy`) bu alanı okumuyordu → mesaj hiçbir zaman görünmüyordu. Artık askı/hoşgeldin/sonlandırma sayfalarında özel mesaj görünür (boşsa gizli).
  • Marka adı beyaz-etiket — Yeni tasarım sayfaların altbilgisi "Powered by ONOXSOFT" olarak sabitti; artık `${BRAND_NAME}` kullanır (bayi/platform markası neyse onu gösterir).

📌 Not

Bu sürüm 2026.7.30 üzerine kümülatiftir. Güncelleme, mevcut sunucudaki placeholder şablonlarını yeni tasarımla senkronlar; askıdaki hesapların sayfaları bir sonraki askı işlemi veya panelden "yeniden dağıt" ile güncellenir (kullanıcı içeriği daima `.user-bak`'a yedeklenir).

v2026.7.30 54.0 MB 2026-07-06

ONOXSOFT v2026.7.30 «Monolith»

Yayın tarihi: 2026-07-06
Kanal: stable

Sıfır kurulumda MariaDB "Too many connections" (panel 500) sorununun KALICI önlemi + güncelleme changelog'unun panelde görünmesi.

🛠️ Düzeltmeler

  • Sıfır kurulumda DB bağlantı havuzu sertleştirildi — MariaDB varsayılanı `max_connections=151` + `wait_timeout=8 saat`; 100+ WordPress sitesi barındıran bir sunucuda site bağlantıları saatlerce boşta (`Sleep`) kalıp birikiyor, havuz tükeniyor ve panel "SQLSTATE[HY000] [1040] Too many connections" ile 500 veriyordu. Artık kurulum, panelin yönettiği `/etc/my.cnf.d/onox.cnf` dosyasını güvenli varsayılanlarla (`max_connections=500`, `wait_timeout=600`) tohumlar — boşta bağlantılar 10 dakikada temizlenir (sızıntı birikmez) ve havuz baştan geniştir. Panel "MySQL Konfigürasyon" ekranındaki `max_connections` varsayılanı da 500'e çekildi (form ile canlı değer tutarlı).
  • Güncelleme detayları (changelog) artık panelde görünüyor — sürüm notları LCS'e boş yayınlanıyordu (`notes=''`); panelin "Güncellemeler" ekranında sürüm açıklaması boş çıkıyordu. Artık her yayın, sürüm notlarını (RELEASE-NOTES Markdown) manifest kaydına yazar; imza `version+kanal+dosya` üzerinde olduğu için notlar imzayı etkilemez (güvenli). 2026.7.27–7.29 notları da geriye dönük dolduruldu.

📌 Not

Bu sürüm 2026.7.29 üzerine kümülatiftir. DB sertleştirmesi yalnız sıfır kurulumda devreye girer — mevcut sunucuların panelden ayarladığı DB konfigürasyonu ASLA ezilmez (idempotent, `onox.cnf` yoksa yazılır). Mevcut sunucularda bağlantı limitini paneldeki "MySQL Konfigürasyon" ekranından ayarlayabilirsiniz.

v2026.7.29 54.0 MB 2026-07-06

ONOXSOFT v2026.7.29 «Monolith»

Yayın tarihi: 2026-07-06
Kanal: stable
SHA256: `9d2611cc73d522726f49a5352397a8c41fb5dc53b743c734f8066197676ee808`

Panel SSL sertifika alımında tekrarlayan başarısızlık + Let's Encrypt limit yanması ("spam") sorununun KALICI kök düzeltmesi. Sıfır kurulum ve taşımada panel/müşteri SSL'i güvenle ve tek seferde aktif olur.

🛠️ Düzeltmeler

  • Panel SSL "spam / limite takılma" düzeldi (KRİTİK) — `onx-panel-cert-issue` her çağrıda `--issue --force` ile zorla yeni sertifika alıyordu. Üstelik sertifikayı diske kurma adımı web-sunucu reload'una bağlıydı; reload başarısız olunca (ör. yanlış sürücü tespiti) sertifika diske yazılamıyor → panel self-signed kalıyor → panel/kullanıcı tekrar deniyor → her deneme 1 gerçek sertifika harcıyor → Let's Encrypt'in "aynı isim için 5 sertifika / 168 saat" limiti yanıyordu ("spam"). Artık: (1) store'da 25+ gün geçerli LE sertifikası varsa yeniden alınmaz (reuse-guard — rate-limit koruması), (2) `--force` kaldırıldı, (3) sertifikayı diske kurma adımı reload'dan ayrıldı — reload başarısız olsa bile sertifika yerinde kalır, retry/limit döngüsü oluşmaz.
  • Müşteri wildcard (DNS-01) sertifikalarında aynı koruma — `onx-cert-issue-dns` de koşulsuz `--force` kullanıyordu; aynı limit-yakma riski vardı. Artık `--force` yalnız açıkça istenince (yeni SAN / acil yenileme) uygulanır; geçerli sertifika varken acme.sh yenilemeyi atlar (renew-skip başarı sayılır) → gereksiz issue yok.

📌 Not

Bu sürüm 2026.7.28 üzerine kümülatiftir. Düzeltmeler idempotenttir ve mevcut geçerli sertifikaları korur. Panel/müşteri SSL akışları artık limit-güvenli: "SSL aktif et"e defalarca basılsa bile mevcut geçerli sertifika yeniden kullanılır, Let's Encrypt'e gereksiz istek gitmez.

v2026.7.28 54.0 MB 2026-07-06

ONOXSOFT v2026.7.28 «Monolith»

Yayın tarihi: 2026-07-06
Kanal: stable
SHA256: `e04f2fa02a1fa5272608c6d132da0132d0197ec9cffbe7324d70602d98931d79`

DNS ve mail'de tekrarlayan kalıntı/senkron sorunlarının KALICI kök düzeltmesi — sıfır kurulum, taşıma (göç) ve her güncellemede sistem kendini otomatik onarır. Artık "eski NS kalıntısı", "gelen mail loop", "mail Gmail'e gitmiyor" sorunları oluşmaz.

🛠️ Düzeltmeler

  • Nameserver ayarı kaydedilince artık TÜM zone'lara otomatik uygulanır — "Sistem Ayarları → DNS"te NS1/NS2'yi kaydettiğinde eskiden mevcut zone'lar güncellenmiyor, ayrı "Tüm Zone'lara Uygula" butonu gerekiyordu; basılmayınca zone'lar eski nameserver'da kalıp kalıntı (drift) oluşturuyordu (ör. göçten miras `ns3/ns4.onoxsoft.com.tr`). Artık kaydetmek yeter: yeni `ReconcileNameserversJob` tüm zone'ları yapılandırılmış NS'e (panel + PowerDNS) senkronlar, SOA primary'yi tazeler, eski NS kalıntısını temizler.
  • Gelen mail "loops back to myself" bounce'u düzeldi — Postfix sanal-domain listesi (`virtual_mailbox_domains`) yalnızca aktif mailbox'u olan domainleri içeriyordu; MX'i bu sunucuya bakan ama henüz mailbox'u olmayan / catch-all domainlere gelen mail "loops back to myself" ile bounce oluyordu (sıfır kurulum + taşımada tipik). Artık liste tüm hosted primary domainlerden üretilir: mailbox varsa teslim, yoksa temiz "User unknown" reddi — asla loop.
  • DNS/mail self-heal (her güncellemede) — Panel güncellemesi artık DNS/mail durumunu otomatik onarır: (1) sanal-domain listesini tazeler (tüm hosted domainler), (2) SPF/DKIM/DMARC mail-auth kayıtlarını panel DNS editöründen PowerDNS'e taşır. Göç/provision bu kayıtları PowerDNS'e yansıtmadığında dış çözüm başarısız oluyor, Gmail outbound maili "unauthenticated" (550-5.7.26) ile reddediyordu. Artık her güncellemede push edilir + zone'lar yeniden imzalanır (rectify) — mail teslim edilebilirliği garanti altına alınır.

📌 Not

Bu sürüm 2026.7.27 üzerine kümülatiftir. Düzeltmeler idempotenttir ve best-effort çalışır (onarım paneli asla rollback'e sokmaz). Mevcut sunucularda güncelleme anında, yeni kurulum/taşımalarda otomatik olarak devreye girer.

v2026.7.27 54.0 MB 2026-07-06

ONOXSOFT v2026.7.27 «Monolith»

Yayın tarihi: 2026-07-06
Kanal: stable
SHA256: `2fbef5e32190acd764ea4ee61523eaece573d07c29df42977e8ffba467395675`

Dört ciddi üretim hatasının kalıcı düzeltmesi: Turbo Önbellek tüm sitelerde açılamıyordu, Webmail iç hata (500) veriyordu, Apache ModSecurity etkinleştirilse de siteleri korumuyordu ve OpenLiteSpeed'e geçiş her seferinde başarısız oluyordu. Hepsi sıfır kurulum + mevcut sunucular için otomatik onarılır.

🛠️ Düzeltmeler

  • Turbo Önbellek hiçbir sitede açılmıyordu — Turbo etkinleştirmede tüm siteler `Sysapi script başarısız (exit=2): turbo-dropin — {"error":"drop-in kaynağı yok: /usr/local/onoxsoft/share/onox-advanced-cache.php"}` hatası veriyordu. Kök neden: kurulum yalnızca antivirüs (yara) dosyasını `/usr/local/onoxsoft/share/`'a kopyalıyor, WordPress drop-in kaynaklarını (`onox-advanced-cache.php` ve 5 kardeş dosya) hiç kopyalamıyordu. Artık kurulum bu 6 dosyayı `share/`'a kopyalar; ek olarak `onx-turbo-dropin` self-heal kazandı — kaynak eksikse `scripts/turbo/`'dan okuyup `share/`'a idempotent kopyalar. Mevcut sunucular güncellemeyle otomatik düzelir.
  • Webmail "Oops... something went wrong" (500 iç hata) — `/webmail/` açılışta `DB Error: Access denied for user 'roundcube'@'localhost' (using password: NO)` veriyordu. Kök neden: kurulumda Roundcube DB + `config.inc.php` + skin + SSO eklentisi hazırlığı, MariaDB yapılandırılmadan önce çalışıp `return 0` ile atlanıyor; sonradan tekrar çağıran bir adım yoktu → sıfır kurulumda webmail hiç yapılandırılmıyordu (DB yok, kullanıcı yok, config yok). Yeni `onx-webmail-ensure` (idempotent) DB'yi, şemayı, `config.inc.php`'yi, onox skinini ve SSO eklentisini garanti eder; hem kurulumda (MariaDB ayaktayken) hem de güncellemede (self-heal) çalışır. Sağlıklı kurulumlarda hiçbir şeye dokunmaz.
  • Apache ModSecurity etkin görünüyor ama bloklamıyordu — WAF açık, kurallar yüklü görünmesine rağmen SQLi/XSS istekleri geçiyordu (403 gelmiyor, audit log boş). Kök neden: ModSecurity kural/motor değişiklikleri Apache'de `graceful` reload (SIGUSR1) ile güvenilir şekilde yeniden yüklenmiyor — `mod_security2` kural motorunu sunucu başlangıcında kurar; graceful, büyük kural setini (CRS aktivasyonu / `SecRuleEngine On`) yeniden ayrıştırmıyordu. Yalnız tam restart sonrası koruma devreye giriyordu. Artık ModSecurity reload'ı tam `systemctl restart httpd` ile yapılır (AlmaLinux 10'da restart öncesi ProtectHome vhost-log drop-in'i garanti edilerek — `AH00019` master-exit riski elenir). SQLi testi artık anında 403 döner.
  • OpenLiteSpeed'e geçiş her denemede "Geçiş başarısız" veriyordu — panel `from=apache → to=openlitespeed` geçişinde `ols-listener-prepare` exit=4 ile ve boş hata mesajıyla patlıyordu. Kök neden: OLS config doğrulama komutu `lshttpd -t`, HATA olmasa bile (yalnız stok Example vhost'unun uid/gid `[WARN]`'larıyla) exit code 1 döner. `set -euo pipefail` altında `TEST_OUT="$(lshttpd -t 2>&1)"` ataması bu 1'i yakalayıp ERR trap → rollback → exit 4 yapıyordu — üstelik gerçek `[ERROR]` kontrolü hiç çalışmadan. Example WARN daima var olduğundan geçiş her zaman başarısızdı (split-brain'in asıl sebebi de buydu). Artık komut çıkışı nötrlenir ve karar yalnız gerçek `[ERROR]` varlığına göre verilir — geçiş artık `{"ok":true}` döner.

📌 Not

Bu sürüm 2026.7.26 üzerine kümülatiftir — 7.26 ve öncesine ait tüm göç/DNS/mail/FPM/IMAP sağlamlık ve performans düzeltmeleri dahildir.

v2026.7.26 54.0 MB 2026-07-05
Bu sürüm için not girilmemiş.
v2026.7.25 54.0 MB 2026-07-05
Bu sürüm için not girilmemiş.
v2026.7.22 54.0 MB 2026-07-05

ONOXSOFT v2026.7.22 «Monolith»

Yayın tarihi: 2026-07-05
Kanal: stable
SHA256: `5089cca8c77d66e4cf9a15f4d540d6da3772e4e24fb63628bb902f37294e5865`

2026.7.21 üzerine yedekleme saklama politikası, hesap silme hızı ve sol menü düzeni odaklı bakım sürümü. Öne çıkanlar: yedek saklama sayısı artık birebir uygulanıyor (keep_count kadar tutar, fazlasını tutmaz), yedek sayacı gerçek aktif sayıyı gösteriyor, hesap silme daha hızlı, sol menüye Eklentiler kategorisi eklendi.

🛠️ Düzeltmeler

  • Yedek saklama sayısı artık birebir uygulanıyor — "hesap başına kaç yedek tutulsun" ayarını (`keep_count_per_account`) 2 yapmanıza rağmen sistem hesap başına 10-15 yedek biriktiriyordu. Sebep: bu sayının ÜZERİNE günlük/haftalık/aylık/yıllık (GFS) katmanları sessizce ekleniyordu. Artık varsayılan "basit" saklama modu: sadece belirlediğiniz sayı kadar yedek tutulur, fazlası (yerel + Google Drive) otomatik silinir. Katmanlı (GFS) saklama isteyen, Yedek Ayarları'ndan Saklama Modu → GFS seçebilir.
  • Yedek sayacı gerçek sayıyı gösteriyor — "Anlık Durum" kartındaki toplam yedek sayısı ve boyutu, saklama politikasıyla silinmiş (soft-delete) yedekleri de sayıyordu → panel "364 yedek / 150 GB" gösterirken diskteki gerçek aktif yedek çok daha azdı. Artık yalnız aktif yedekler sayılır.
  • Hesap silme daha hızlı — toplu hesap silmede "silmeden önce yedek al" seçeneği artık varsayılan KAPALI. Bu adım hesap başına 15-40 saniye ekliyordu; hesabın mevcut yedekleri zaten korunduğu için gereksiz yere yavaşlatıyordu. İhtiyaç duyanlar tek tıkla açabilir. (2026.7.21'deki zstd hızlandırmasıyla birlikte silme belirgin şekilde hızlandı.)

✨ Arayüz

  • Sol menü — yeni "Eklentiler" kategorisi — Harp Odası, Turbo Önbellek ve eski mor "Operasyon Merkezi" grubu (Sağlık Skoru, WordPress, Observability, Container Hosting) menünün en altında tek bir Eklentiler başlığı altında toplandı; dikkat dağıtan mor premium vurgusu kaldırıldı.
  • Operasyonel modül işareti — Sağlık Skoru, WordPress, Observability ve Container Hosting modülleri, yazı yerine küçük bir sinyal ikonu ile işaretlendi ("Operasyonel modül" ipucu). Harp Odası ve Turbo Önbellek'te rozet yok.

⚙️ Yeni Ayar

  • Yedek Ayarları → Saklama Modu (`retention_mode`): `simple` (varsayılan — yalnız keep_count) veya `gfs` (günlük/haftalık/aylık/yıllık katmanlar). Yükseltmede otomatik olarak `simple` gelir.

📌 Not

Bu sürüm 2026.7.21 «Monolith» üzerine kümülatiftir — 7.20 ve 7.21'in tüm içeriğini (3× paralel göç + canlı uzak-detay, göç DB-kullanıcı panel kaydı, ana FTP garantisi, Migration Geçmişi toplu iptal/silme, zstd hızlı silme, changelog-500 fix, AL10 çökme düzeltmesi, webmail yeni tasarım) içerir.

v2026.7.21 54.0 MB 2026-07-05

ONOXSOFT v2026.7.21 «Monolith»

Yayın tarihi: 2026-07-05
Kanal: stable
SHA256: `(build sonrası doldurulacak)`

2026.7.20 üzerine hızlı bakım sürümü: toplu hesap silme ~3-4× hızlandı (yedekleme 18× hızlı), Güncellemeler sayfasının bozuk changelog'la 500'e düşmesi giderildi.

🛠️ Düzeltmeler

  • Toplu hesap silme artık ÇOK daha hızlı — silme öncesi güvenlik yedeği tek çekirdekli gzip ile alınıyordu; hesap başına 30-45 saniyelik sıkıştırma duvarı oluşuyordu ("çok yavaş siliyor"). Yedekleme artık zstd ile tüm çekirdekleri kullanıyor: ölçülen gerçek fark 414 MB hesapta 17.4 sn → 1.0 sn (~18×), üstelik arşiv daha küçük. Hesap başı toplam silme süresi ~40-60 sn'den ~15-20 sn'ye iner (20 hesap ≈ 5-6 dk). zstd olmayan sistemlerde otomatik gzip'e döner; yedek dosyaları artık `.tar.zst` uzantılı.
  • Güncellemeler sayfası — bozuk changelog'a karşı dayanıklı — sürüm changelog'u (güncelleme sunucusundan) bazen çok-baytlı karakterin (✅ gibi) ortasından kesilerek geliyor ve `/admin/updates` sayfasını "Malformed UTF-8" 500 hatasıyla tamamen düşürüyordu. Artık geçersiz baytlar otomatik temizlenir → sayfa changelog içeriği yüzünden asla çökmez.
  • Hesap silmede "terminated" sayfa şablonları — şablon dizini eksik kurulumlarda her hesap silme işlemi gereksiz bir sysapi hatası logluyordu; şablonlar pakete dahil edilip dağıtım tamamlandı.

⚠️ Yükseltme Notları

  • Silme-öncesi güvenlik yedekleri artık `/var/onox/term-backups/<hesap>-<zaman>.tar.zst` (zstd) olarak yazılır. Eski `.tar.gz` yedekler olduğu gibi kalır; açmak için: `tar -I zstd -xf dosya.tar.zst` (veya `zstd -d` + `tar xf`).

📌 Not

Bu sürüm 2026.7.20 «Monolith» üzerine kümülatiftir — 7.20'nin tüm içeriğini (3× paralel göç + canlı uzak-detay, göç DB-kullanıcı panel kaydı, ana FTP garantisi, Migration Geçmişi toplu iptal/silme, AL10 çökme düzeltmesi, webmail yeni tasarım) içerir. Ayrıntılar: RELEASE-NOTES-2026.7.20.md

v2026.7.20 54.0 MB 2026-07-05

ONOXSOFT v2026.7.20 «Monolith»

Yayın tarihi: 2026-07-04
Kanal: stable
SHA256: `13981d3516ba7ceefb0fafa85dc4d1cbcc149a8d31fdfff060585ea906054d40`

Göç (transfer) hızı + görünürlüğü, veri bütünlüğü, AlmaLinux 10 kararlılığı ve arayüz yenilemesine odaklı sürüm. Öne çıkanlar: toplu göç artık 3 hesap paralel çekiliyor (kurulum güvenli-seri), karşı sunucudaki paketleme/indirme canlı detayla izleniyor (% + MB/sn), göç edilen veritabanı kullanıcıları parolası korunarak panelde görünüyor, Migration Geçmişi'ne toplu iptal/silme geldi, AL10 panel çökmesi giderildi.

🔒 Güvenlik / Veri Bütünlüğü

  • Başarısız göç artık iz bırakıyor — cPanel/DirectAdmin göçü ortasında başarısız olursa göç kaydı da siliniyordu ("hiç olmamış gibi" kayboluyordu). Artık satır hata mesajıyla `failed` KALIR → listede görünür, "Tekrar Dene" edilebilir.
  • Göç edilen veritabanı kullanıcıları artık panelde görünüyor — cPanel/DirectAdmin göçü, veritabanı kullanıcılarını parolası KORUNARAK (MySQL native hash birebir) sistem seviyesinde oluşturuyordu, ancak panelin "Veritabanı Kullanıcıları" listesine kaydetmiyordu → arayüzde görünmüyordu. Artık import bir `mysql_users` manifesti üretir ve panel tablosuna yazar → göç edilen tüm DB kullanıcıları, orijinal adları ve parolalarıyla listede görünür. (Hem cPanel hem DirectAdmin göçünde.)
  • Web sunucu watchdog — httpd/nginx/caddy/openlitespeed beklenmedik durursa (panel dahil) 2 dakikada bir otomatik yeniden başlatılır.

🛠️ Düzeltmeler

  • AlmaLinux 10 — ilk müşteri sitesinde panel çökmesi giderildi — ProtectHome=read-only yüzünden ilk müşteri sitesinde web sunucusu tamamen kapanıyordu (80/443/666 — panel dahil). Artık otomatik yazma izni + watchdog toparlama. (AlmaLinux 9 etkilenmedi.)
  • Transfer Tool taslak temizliği — başlatılmış toplu transfer taze ziyarette otomatik geri yükleniyordu; artık kuyruğa alınınca taslak temizlenir (eski taslaklar 30 dk sonra düşer).
  • Lisans sayfası domain sayımı — provizyondaki (henüz active olmamış ama servis edilen) domainler sayılmıyordu; artık hatalı/silinmiş dışındaki tüm müşteri domainleri sayılır.
  • Pano ile üst bar canlı senkron — Panodaki Yük/RAM/Disk değerleri artık üst bardaki göstergelerle tek kaynaktan, birebir senkron.
  • Göç incelemesi (inspect) çökme düzeltmesi — cPanel arşiv incelemesi bazı durumlarda `TARGET_HOME` tanımsız hatasıyla erken kapanıyordu; artık tüm modlarda (inceleme/plan/uygulama) güvenli çalışır.
  • Taşınan hesaplara ana (sistem) FTP artık garanti — göçle gelen hesaplarda ana FTP hesabı hiç oluşmuyordu ("FTP yok"): normal hesap açılışındaki FTP kurulum zinciri göç yolunda tetiklenmiyordu. Artık göç tamamlanırken ana FTP deterministik olarak kurulur ve panelde görünür (parola belirlenmemişse göç uyarısına "panelden şifre belirleyin" notu düşülür). Mevcut FTP'siz hesaplar için: `php artisan onoxsoft:ftp:bootstrap --backfill`.

✨ Yeni

  • Toplu göç 3× paralel — "çok yavaş taşıyor" çözüldü — göç kuyruğu tek işçiyle SERİ çalışıyordu (84 hesap tek tek). Artık 3 hesap aynı anda çekilir (uzakta paketleme + indirme ağ-bağımlı, yan yana güvenli); sunucuya kurulum (hesap oluşturma, dosya açma, DB import) ise sistem kilidiyle yine TEK TEK yapılır → hız 3×'e yaklaşır, eşzamanlı-kurulum çökme riski (user-add/httpd yarışı) SIFIR kalır. Kurulum sırası bekleyen göçler "Kurulum sırası bekleniyor" olarak görünür.
  • Göç sırasında karşı sunucu CANLI detayı — "İnceleniyor'dan başka bilgi yok" çözüldü — pull fazı artık adım adım raporlanır: "Kaynak sunucuda paketleniyor" (pkgacct/DA backup çalışırken) → "İndiriliyor %42 · 12.3 MB/sn" (gerçek byte + hız, 5 sn'de bir güncellenir). Hem Migration Geçmişi listesinde hem alttaki global ilerleme panelinde görünür. (cPanel + DirectAdmin)
  • Toplu göç canlı ilerleme çubuğu (tüm panelde) — bir toplu transfer sürerken, hangi admin sayfasında olursanız olun sayfanın altında canlı bir ilerleme paneli belirir: genel ilerleme çubuğu (% tamamlanan), faz sayaçları (kuyrukta / inceleniyor / taşınıyor / tamamlandı / hata) ve o an taşınan hesaplar. Web sunucu geçişindeki ilerleme göstergesiyle aynı deneyim; aktif göç yokken gizli.
  • Webmail giriş sayfası yeni tasarım — webmail girişi, panel giriş ekranıyla aynı modern dile kavuştu: markalı koyu arka plan, Onoxsoft maskotu (sağda), ortalanmış beyaz kart. Güncellemeye dayanıklı "onox" skin.
  • Güncellemeler sayfası — Monolith sürüm banner'ı — sayfanın üstüne mevcut sürümün amblemi + codename + özeti içeren koyu banner; sağ kolonunda son 3 sürüm geçmişi (butonsuz). Sürüme göre değişir. Sayfanın geri kalanı (sistem/dnf güncellemeleri, ayarlar) korunur.
  • Migration Geçmişi — toplu iptal / silme — göç listesinde satır seçim kutuları + "tümünü seç" eklendi; seçili göçler tek tıkla toplu iptal (yalnız iptal edilebilir durumdakiler) veya toplu silme (kayıt + yüklenen arşiv dosyası) yapılabilir. Devam eden (geri yükleniyor) göçler seçilemez/atlanır. Başarısız 60+ göç kaydını temizlemek artık tek ekrandan.

⚠️ Yükseltme Notları

  • Webmail skin: Webmail artık `onox` skin'ini kullanır (elastic tabanlı, otomatik yüklenir). Kendi webmail skin özelleştirmeniz varsa gözden geçirin.
  • AlmaLinux 10: httpd için `onox-home-logs.conf` drop-in'i (`ReadWritePaths=/home/users`) + `onox-webserver-watchdog` cron'u kurulur. AL9/Debian'da no-op.

📦 Göç (Transfer) — Ne 1:1 Taşınıyor?

| Öğe | Durum | Not |
|-----|-------|-----|
| Web dosyaları (home dizini) | ✅ Birebir | rsync ile tam kopya |
| Veritabanları (şema + veri) | ✅ Birebir | Orijinal DB adı korunur → app config değişmez |
| Veritabanı kullanıcıları + parolaları | ✅ Birebir | MySQL native hash birebir (`IDENTIFIED BY PASSWORD`) → eski parola çalışır; bu sürümde artık panelde de görünür |
| E-posta hesapları + parolaları | ✅ Birebir | Dovecot hash taşınır |
| DNS zonları, cron, SSL sertifikaları | ✅ Birebir | — |
| Ana (sistem) FTP hesabı | ✅ Oluşturulur | Bu sürümde göç bitiminde garanti kurulur ve panelde görünür; parola panelden belirlenir (kaynak FTP parolası hash → taşınamaz) |
| Ek FTP hesapları | ⚠️ Parola SIFIRLANIR | cPanel/DA, FTP parolalarını geri-döndürülemez crypt (`$6$…`) hash olarak saklar — matematiksel olarak 1:1 taşınamaz. Hesaplar oluşturulur, parola yeni rastgele atanır → panelden yenilenmeli. |

> Özet: Veritabanı ve e-posta parolaları dahil her şey birebir taşınır. Tek istisna ek FTP hesap parolalarıdır — bu bir Onoxsoft kısıtı değil, kaynak panelin FTP parolalarını tersine-çevrilemez hash'lemesinin sonucudur (cPanel/Plesk/DirectAdmin tümünde aynı). Parola dışındaki FTP tanımları (kullanıcı adı, dizin) taşınır.

v2026.7.19 15.4 MB 2026-07-04

ONOXSOFT v2026.7.19 «Monolith»

Yayın tarihi: 2026-07-04
Kanal: stable
SHA256: _(tarball derlendiğinde doldurulur)_

Göç (transfer) veri bütünlüğü, AlmaLinux 10 kararlılığı ve arayüz yenilemesine odaklı sürüm. Başarısız bir göçün artık iz bırakması, AL10'da ilk müşteri sitesinde yaşanan panel çökmesinin giderilmesi, webmail giriş ekranının panel kimliğiyle modernleştirilmesi ve Güncellemeler sayfasına Monolith sürüm banner'ı eklenmesi öne çıkıyor.

🔒 Güvenlik / Veri Bütünlüğü

  • Başarısız göç artık iz bırakıyor — eskiden bir cPanel/DirectAdmin göçü ortasında başarısız olursa, yarım kalan hesap temizlenirken göç KAYDI da siliniyordu → başarısız transfer "hiç olmamış gibi" yok oluyordu (Transfer Tool listesinde görünmüyor, tekrar denenemiyordu). Artık göç satırı hata mesajıyla birlikte `failed` olarak KALIR → listede görünür, "Tekrar Dene" edilebilir. (Toplu göçte bu sınıf, sessiz veri kaybının en kritik kaynağıydı.)
  • Web sunucu watchdog — httpd/nginx/caddy/openlitespeed beklenmedik şekilde durursa (panel her zaman Apache:666'dan servis edildiği için panel dahil) 2 dakikada bir çalışan izleyici otomatik yeniden başlatır. Ölü servise reload işlemediğinden, izleyici olmadan panel kendini kurtaramıyordu.

🛠️ Düzeltmeler

  • AlmaLinux 10 — ilk müşteri sitesinde panel çökmesi giderildi — AL10'un sıkılaştırılmış Apache servisi (ProtectHome=read-only) yüzünden, ilk müşteri sitesi açıldığında web sunucusu log dosyasını açamayıp tamamen kapanıyordu (80/443/666 — panel dahil). Artık müşteri log dizini için gerekli yazma izni otomatik verilir; ayrıca beklenmedik kapanmalarda watchdog toparlar. (AlmaLinux 9 kurulumları bu sorundan etkilenmemiştir.)
  • Transfer Tool taslak temizliği — başlatılmış (kuyruğa alınmış) bir toplu transfer, taze ziyarette otomatik geri yükleniyordu (sıfır sayfa beklerken eski seçim geliyordu). Artık kuyruğa alındıktan sonra taslak temizlenir; ayrıca eski/yarım taslaklar 30 dk sonra otomatik düşer.
  • Lisans sayfası domain sayımı — provizyon sürecinde olan (henüz `active` işaretlenmemiş ama gerçekte servis edilen) müşteri domainleri sayıma dâhil edilmiyordu → domain sayısı olduğundan düşük görünüyordu. Artık hatalı/silinmiş dışındaki tüm müşteri domainleri sayılır; sayı gerçeği yansıtır.
  • Pano ile üst bar canlı senkron — Panodaki Yük/RAM/Disk değerleri artık üst bardaki canlı göstergelerle TEK kaynaktan, aynı ritimde beslenir. Eskiden ikisi ayrı uçtan farklı aralıklarla güncellendiği için birbirini tutmuyordu.

✨ Yeni

  • Webmail giriş sayfası yeni tasarım — webmail girişi, panel giriş ekranıyla aynı modern dile kavuştu: markalı koyu arka plan, yumuşak ışık efektleri, Onoxsoft maskotu (sağda) ve ortalanmış beyaz giriş kartı. Güncellemeye dayanıklı "onox" skin ile gelir (Roundcube elastic'i temel alır; yalnızca giriş sayfasını özelleştirir).
  • Güncellemeler sayfası — Monolith sürüm banner'ı — sayfanın üstüne mevcut sürümün amblemi + codename + özeti içeren koyu bir tanıtım banner'ı eklendi; sağ kolonunda son 3 sürümün geçmişi (butonsuz) yer alır. Banner sürüme göre otomatik değişir. Sayfanın geri kalanı (sistem/dnf güncellemeleri, otomatik-güncelleme ayarları) korunur.

⚠️ Yükseltme Notları

  • Webmail skin: Webmail artık `onox` skin'ini kullanır (elastic'i temel alır, otomatik yüklenir). Kendi webmail skin özelleştirmeniz varsa gözden geçirin.
  • AlmaLinux 10: httpd için `/etc/systemd/system/httpd.service.d/onox-home-logs.conf` drop-in'i (`ReadWritePaths=/home/users`) eklenir; ayrıca `onox-webserver-watchdog` cron'u kurulur. AL9/Debian kurulumlarda ProtectHome kapalı olduğundan drop-in no-op'tur.
v2026.7.18 15.5 MB 2026-07-04

ONOXSOFT v2026.7.18 «Monolith»

Yayın tarihi: 2026-07-04
Kanal: stable
SHA256: `ba514a03049bfd369636f2833e0c333186fe5799fa4c1b0e3f5ff6d32f13e76a`

Göç (transfer) veri bütünlüğü, AlmaLinux 10 kararlılığı ve arayüz yenilemesine odaklı
sürüm (2026.7.17 «Monolith» üzerine). Başarısız bir göçün artık iz bırakması, AL10'da
ilk müşteri sitesinde yaşanan panel çökmesinin giderilmesi ve webmail giriş ekranının
panel kimliğiyle modernleştirilmesi öne çıkıyor.

🔒 Güvenlik / Veri Bütünlüğü

  • Başarısız göç artık iz bırakıyor — eskiden bir cPanel/DirectAdmin göçü ortasında

başarısız olursa, yarım kalan hesap temizlenirken göç KAYDI da siliniyordu → başarısız
transfer "hiç olmamış gibi" yok oluyordu (Transfer Tool listesinde görünmüyor, tekrar
denenemiyordu). Artık göç satırı hata mesajıyla birlikte `failed` olarak KALIR →
listede görünür, "Tekrar Dene" edilebilir. (Toplu göçte bu sınıf, sessiz veri
kaybının en kritik kaynağıydı.)

  • Web sunucu watchdog — httpd/nginx/caddy/openlitespeed beklenmedik şekilde durursa

(panel her zaman Apache:666'dan servis edildiği için panel dahil) 2 dakikada bir çalışan
izleyici otomatik yeniden başlatır. Ölü servise reload işlemediğinden, izleyici olmadan
panel kendini kurtaramıyordu.

🛠️ Düzeltmeler

  • AlmaLinux 10 — ilk müşteri sitesinde panel çökmesi giderildi — AL10'un sıkılaştırılmış

Apache servisi (ProtectHome=read-only) yüzünden, ilk müşteri sitesi açıldığında web
sunucusu log dosyasını açamayıp tamamen kapanıyordu (80/443/666 — panel dahil). Artık
müşteri log dizini için gerekli yazma izni otomatik verilir; ayrıca beklenmedik
kapanmalarda watchdog toparlar. (AlmaLinux 9 kurulumları bu sorundan etkilenmemiştir.)

  • Lisans sayfası domain sayımı — provizyon sürecinde olan (henüz `active` işaretlenmemiş

ama gerçekte servis edilen) müşteri domainleri sayıma dâhil edilmiyordu → domain sayısı
olduğundan düşük görünüyordu. Artık hatalı/silinmiş dışındaki tüm müşteri domainleri
sayılır; sayı gerçeği yansıtır.

  • Pano ile üst bar canlı senkron — Panodaki Yük/RAM/Disk değerleri artık üst bardaki

canlı göstergelerle TEK kaynaktan, aynı ritimde beslenir. Eskiden ikisi ayrı uçtan farklı
aralıklarla güncellendiği için birbirini tutmuyordu.

✨ Yeni

  • Webmail giriş sayfası yeni tasarım — webmail girişi, panel giriş ekranıyla aynı modern

dile kavuştu: markalı koyu arka plan, yumuşak ışık efektleri, Onoxsoft maskotu ve
ortalanmış beyaz giriş kartı. Güncellemeye dayanıklı "onox" skin ile gelir (Roundcube
elastic'i temel alır; yalnızca giriş sayfasını özelleştirir).

  • Güncellemeler sayfası → Sürüm vitrini — "Güncellemeler" sayfası artık uzun bir

sürüm-geçmişi tablosu değil; mevcut sürümün amblemi ve öne çıkan özellikleriyle sade bir
tanıtım vitrini. Özellikler o sürümün changelog'undan otomatik türetilir.

⚠️ Yükseltme Notları

  • Webmail skin: Webmail artık `onox` skin'ini kullanır (elastic'i temel alır, otomatik

yüklenir). Kendi webmail skin özelleştirmeniz varsa gözden geçirin.

  • AlmaLinux 10: httpd için `/etc/systemd/system/httpd.service.d/onox-home-logs.conf`

drop-in'i (`ReadWritePaths=/home/users`) eklenir; ayrıca `onox-webserver-watchdog` cron'u
kurulur. AL9/Debian kurulumlarda ProtectHome kapalı olduğundan drop-in no-op'tur.

  • Güncellemeler sayfası: Sürüm geçmişi tablosu ve buradaki işlevsel "Güncelle" butonu

kaldırıldı; sayfa artık salt-bilgi (tanıtım) amaçlıdır.

v2026.7.17 36.2 MB 2026-07-04

ONOXSOFT v2026.7.17 «Monolith»

Yayın tarihi: 2026-07-04
Kanal: stable
SHA256: `bf460b4d8d9dc27094b3ff128239ce6a53b7a4cc8a5cd31b61590f7615a927f0`

Bug / mock / no-op taraması sonrası temizlik sürümü (2026.7.16 üzerine).
"Çalışıyormuş gibi görünüp aslında sahte" kod ve fonksiyonel hataların düzeltilmesi.

🔒 Güvenlik / Veri Bütünlüğü

  • DKIM sihirbazı artık gerçek anahtar üretiyor — eskiden tarayıcıda uydurma anahtar DNS'e yazılıyordu (DKIM kalıcı fail); artık sunucuda gerçek keypair kurulur.
  • Şablonlu DNS kayıtları PowerDNS'e de yazılıyor — eskiden yalnız panelde görünüp domain çözülmüyordu.
  • GFS yedek saklama zincir-bilinçli — tutulan haftalık/aylık restore noktaları gerçekten geri yüklenebilir (eskiden incremental zincirin full başı budanıyordu).
  • Bandwidth hesabı düzeltildi — dünün trafiği "erimiyor", mükerrer satırlar önlendi; kota doğru dolar.
  • nftables firewall kuralları artık silinebiliyor (ekleme ve silme aynı tablo/chain).
  • Cluster — yedek, DNS ve slave-status artık doğru düğümü, diski ve IP'yi hedefliyor (master'a karışmıyor).

🛠️ Düzeltmeler

  • Mailing-list "üyeyi çıkar" gerçekten çıkarıyor (eskiden üye ekliyordu); toplu düzenleme kaydediyor.
  • SSL "Yenile" gerçek bitiş tarihini yazıyor (sahte +90 gün yok) — süresi geçmiş sertifika servisi önlendi.
  • Web sunucu geçişinde gereksiz subdomain yeniden-üretimi ve kısa kesinti giderildi; Caddy TLS/debug ayarları düzeldi.
  • Exim/rspamd log görüntüleyici prod'da çalışıyor; exim durumu daemon'a göre; kuyruk sayaçları tutarlı.
  • cPanel göçünde mailbox kotası doğru (byte→MB); mail parça atlaması giderildi; parse hatası artık sahte demo veri göstermiyor.
  • Sistem subdomain durumu gerçek vhost'a göre; test-mail ve mailbox-parola panelleri artık görünüyor.
  • Mobil push sahte "gönderildi" demiyor (altyapı yoksa açık hata); install-stack ve skeleton no-op'ları dürüst raporluyor.
  • `template:` inline bileşenler SFC'ye taşındı — webhook formu, e-posta kurulum kartları ve dosya editörü prod'da boş kalmıyor.

✨ Yeni

  • Güncelleme rozeti — yeni sürüm çıktığında topbar'da turuncu rozet; tıklayınca güncelleme notları + "Güncellemeye git".
  • Sürüm zaman-çizelgesi — Güncellemeler sayfasında her sürüm kendi codename'i (bu sürüm «Monolith»), ikonu ve öne çıkan özellikleriyle yatay bir barda.
  • Kurulum — `php-imap` eklentisi (Mail Auth / DKIM doğrulama sayfası için); Docker kurulum hatası artık gerçek nedeni gösteriyor.

⚠️ Yükseltme Notları

  • Mobil push: SDK/altyapı kurulu değilse artık "gönderildi" demiyor, açık hata dönüyor — buna güvenen bir otomasyon varsa gözden geçirin.
  • DKIM: Artık sunucuda gerçek rspamd/opendkim altyapısı ister; yoksa dürüst hata verir.
  • `onox:install-stack` komutu artık sahte başarı yerine "not implemented" ile başarısız dönüyor.
v2026.7.16 36.2 MB 2026-07-04

ONOXSOFT v2026.7.16

Yayın tarihi: 2026-07-04
Kanal: stable
SHA256: `4730a2838c9d3e2268c559dda11e5533e3f0e7fde827e7a87196ae1fc94956ae`

Çok yönlü güvenlik ve güvenilirlik denetimi sonrası hedefli düzeltme sürümü
(2026.7.15 üzerine).

🔒 Güvenlik

  • Giriş kilidi artık email + IP bazlı. Bilinen bir hesabı tüm IP'lerden

kilitleyen hedefli DoS engellendi.

  • Bayi paket havuzu varsayılan-reddet. Havuzu tanımsız bir bayi artık tüm

paketleri (yönetici premium paketleri dahil) atayamaz.

  • ModSecurity özel kural yazımında domain doğrulaması — kök-yetkili yapılandırma

enjeksiyonu kapatıldı.

  • `db-drop-table` yalnız `onx_` önekli müşteri şemalarına izin verir; sistem

şemaları korunur. Dosya-yöneticisi betiklerine `require_root`.

  • Yönetici hesap düzenlemesinde `status` alanıyla durum-makinesi (askıya alma /

sonlandırma) atlanması engellendi.

  • WHMCS `usageBatch` token yetkisine göre filtrelenir; SSO token kapsamı alıcıda

uygulanır.

  • CI güvenlik denetimleri (npm audit yüksek+ / gitleaks) artık derlemeyi bloke eder.
  • Mail log görüntüleyicide XSS sertleştirmesi; kullanılmayan `useSafeHtml`

(yanlış güven veren) kaldırıldı.

🛠️ Düzeltmeler

  • Horizon `mailbox` kuyruğu artık işleniyor. Posta kutusu kullanım istatistiği

işi bu kuyruğa düşüyordu ama hiçbir işleyici çalıştırmıyordu (sessizce
çalışmıyordu).

  • SSL "verildi ama sunulmuyor" düzeltildi. Web sunucusuna SSL yazımı başarısızsa

sertifika artık "Aktif" işaretlenmiyor ve sonraki taramada otomatik yeniden
deneniyor.

  • cPanel geri yükleme kritik adım (veritabanı içe aktarma vb.) başarısızsa

artık "başarılı" raporlamıyor.

  • Kritik işlerde çift-çalışma / takılma koruması: posta sunucusu değişimi,

WordPress kurulumu, posta kutusu provizyonu, toplu hesap işlemleri; AutoSSL
kuyruğu tekilleştirildi.

  • Küme (cluster) kurulumlarında host-tekil zamanlanmış işlere (AutoSSL yenileme,

panel sertifikası, bütünlük taraması, replikasyon sağlığı) `onOneServer`.

  • `install.sh` başarısızlıkta net satır/komut bilgisi veren hata yakalayıcı (ERR-trap).
  • Alt-paket limit doğrulaması eksik anahtarlarda üst paket sınırını artık atlamıyor.

⚠️ Yükseltme Notu

Bayi paket havuzu artık varsayılan-reddet çalışıyor. Havuzu (alt-paket veya
`allowed_package_ids`) tanımlı olmayan bayiler bu sürümden sonra paket atayamaz —
yöneticinin bu bayiler için havuz ataması gerekir.

v2026.7.15 ZORUNLU 36.2 MB 2026-07-04

Onoxsoft Panel 2026.7.15 — Sürüm Notları

_Yayın: 2026-07-04_

Bu sürüm, panel güncelleme sistemini uçtan uca sağlamlaştırır: panelden başlatılan
güncellemenin takılması kökten giderilir, takılan işler artık otomatik kurtarılır, geri alma
(rollback) tam güvenli hâle gelir ve arayüz kullanıcıyı her durumda doğru bilgilendirir. Ayrıca
sürüm notlarının gösterimi ve panodaki bir SSL sayacı düzeltilir.

🩹 Panel güncellemesi artık takılmıyor (ve takılırsa kendini kurtarıyor)

  • %12'de donma giderildi. Güncelleme, arka plan sürecini başlatmak için kullandığı geçici

dosyayı, panel ve arka plan sürecinin ortak gördüğü kalıcı bir yola yazar (izole geçici
dizin sorunu — PrivateTmp — çözüldü). Güncelleme sonuna kadar sorunsuz ilerler.

  • Takılan işler otomatik kurtarılıyor. Bir güncelleme işi (worker/işlem ani ölümü nedeniyle)

ilerlemeden kalırsa, arka plandaki bakım görevi bunu birkaç dakika içinde "başarısız"
işaretler ve panel "uygulanıyor" durumunda kilitlenmez — güvenle yeniden denenebilir. (Bu
koruma diğer alt sistemlerde vardı; güncellemede yoktu.)

  • Arayüz artık "takıldı" diyor. İlerleme bir süre durursa, güncelleme ekranında net bir

uyarı belirir; kullanıcı sonsuza kadar dönen bir çubuğa bakmaz.

🛡️ Geri alma (rollback) tam güvenli

  • Rollback paritesi. Bir güncelleme yarıda başarısız olup geri alınırsa, sistem artık geri

yüklenen eski koda göre bütünlük (integrity) kaydını yeniler ve lisans izleyicisini yeniden
başlatır — böylece "geri alındı ama panel kapandı" durumu ortadan kalkar.

  • Veri güvenliği önce. Güncelleme öncesi veritabanı yedeği (snapshot) alınamıyorsa,

güncelleme hiç başlatılmaz (panel dokunulmadan durur). Böylece geri alınamaz bir veritabanı
değişikliği sonrası kurtarma imkânsızlığı önlenir.

🔒 Daha sağlam güncelleme akışı

  • Çift tetik koruması. İki yönetici aynı anda "Güncelle" derse artık yalnızca tek bir işlem

başlar (yarış durumu kapatıldı).

  • Bozuk sürüm bilgisi süzülür. Geçersiz biçimli sürüm/adres/sağlama (sha256) içeren bir

güncelleme bilgisi panele hiç yazılmaz — hatalı "güncelleme var" bildirimi oluşmaz.

  • Eski ilerleme dosyaları temizlenir. Güncelleme ilerleme dosyaları artık düzenli olarak

budanır (disk/inode birikmesi önlenir).

  • Sürüm dosyası güvence altında. Kurulu sürüm yazılamazsa artık sessizce geçilmez; sorun

loglanır (yanlış sürüm raporlama önlenir).

📄 Sürüm notları düzgün görünüyor

Güncelleme sayfasındaki "Değişiklikler" listesi artık düzgün metin olarak gösterilir
(başlıklar, maddeler ve paragraflar ayrışır); her satırın önüne gereksiz onay işareti (✓)
konmaz.

📊 Pano SSL sayacı düzeltildi

Panodaki "3 gün" ve "30 gün" içinde süresi dolacak SSL sertifikası sayaçları artık
ayrı ayrı ve doğru hesaplanır (önceden ikisi aynı değeri gösteriyordu).

Yükseltme

Güncelleme otomatik uygulanır; kalıcı bir müdahale gerekmez. Bu sürümle birlikte panelden
başlatılan güncellemeler güvenle sonuna kadar ilerler ve olağandışı bir durumda sistem kendini
toparlar.

v2026.7.13 36.1 MB 2026-07-03

Onoxsoft Panel 2026.7.13 — Sürüm Notları
Bu sürüm, yedekleme saklama sistemini baştan sağlamlaştırır (keep_count artık her yerde gerçekten uygulanır, mükerrer yüklemeler biter, offsite/Drive alanı geri kazanılır); hesap limitini her yerde tutarlı uygular; panelden Docker motoru yönetimi getirir; ve mail (DKIM), lisans paketleri ile replication arayüzünde önemli düzeltmeler içerir.

🐳 Panelden Docker motoru yönetimi
Docker motoru artık doğrudan panelden yönetilir: kur / başlat / durdur / durum. Kurulum arka planda (çakışmasız) yürür ve ilerlemesi canlı izlenir; motorun gerçek durumu sürekli yoklanır. Container işlemleri, motor ayakta değilken bir sağlık kapısından geçer — motor kapalıyken panel çökmez, işlem güvenle reddedilir.

🗄️ Yedekleme saklama (retention) baştan sağlamlaştırıldı
Önceki sürümlerde keep_count ayarı gerçekte uygulanmıyordu (disk + Drive'da sınırsız birikme, mükerrer yükleme, "0 B başarısız + başarılı" kayıtları). Artık tek, tutarlı saklama motoru var:

GFS modeli: her hesap için son N yedek + günlük/haftalık/aylık/yıllık katmanlar — hem yerel disk hem offsite'a birebir uygulanır.
İdempotent yükleme: aynı yedek aynı hedefe yalnızca bir kez; Drive'da mükerrer nesne oluşmaz (DB benzersizlik + eşzamanlılık kilidi).
Yer geri kazanımı: budanan yedeğin offsite kopyası da silinir; yerel tarball offsite doğrulanınca silinir.
Veri güvenliği önce: en yeni yedek asla budanmaz; doğrulanmış offsite kopyası yoksa yerel tek kopya silinmez (birim testli).
🔢 Hesap limiti her yerde tutarlı uygulanıyor
Lisans hesap limiti her zaman değere göre çözülür (paket adı "Unlimited" olsa bile lisansta sonlu limit — ör. 250 — varsa o uygulanır). Bu sürümde limiti atlayan/göstermeyen yollar hizalandı:

REST API'den hesap oluşturma artık lisans limitini + bayi havuz/oversell kurallarını zorunlu kılar (önceden atlıyordu).
cPanel göç/restore güvenilir seat-cap'e geçti (kuyruk/CLI bağlamında "son bilinen iyi" limit).
Cluster sayfası lisans limitini gösterir (ör. "84 / 250"); sınırsız node'lar "∞".
Bayi tahsisi lisans limitini aşamaz (oversell engeli).
REST API /me lisans planını panelle aynı yorumla döndürür.
Sınırsız lisanslarda bu yaptırımlar etkisizdir (davranış korunur); yalnız sonlu limitte devreye girer.

📧 DKIM üretimi artık her şemada çalışıyor
"Yeni DKIM Anahtarı Üret" bazı sunucularda Unknown column 'public_key' hatası veriyordu. Kayıt artık sunucunun gerçek tablo şemasına göre filtreleniyor — DKIM tüm sürümlerde sorunsuz.

🎫 Lisans paketleri merkezî ve dinamik
Admin Lisans sayfasındaki paket/fiyat/limit listesi artık "Satın Al" ile aynı merkezî LCS kataloğundan çekilir; LCS'te güncellenince otomatik yansır (erişilemezse son bilinen liste).

🖥️ Replication & HA arayüzü açık temaya geçti
Replication sayfaları (liste/detay/sihirbaz) açık temaya taşındı; kontrast ve boş-durum mesajları netleşti.

Yükseltme
Güncelleme otomatik uygulanır. Yedekleme ayarlarınız korunur; mevcut yedekleriniz etkilenmez, yalnızca politikayı aşan fazlalıklar (ve varsa geçmiş mükerrer/artık kopyalar) temizlenir.

v2026.7.12 36.1 MB 2026-07-03

Onoxsoft Panel 2026.7.12 — Sürüm Notları

_Yayın: 2026-07-03_

Bu sürüm, yedekleme saklama sistemini baştan sağlamlaştırır (keep_count artık her yerde
gerçekten uygulanır, mükerrer yüklemeler biter, offsite/Drive alanı geri kazanılır) ve mail
(DKIM), lisans paketleri ve replication arayüzünde önemli düzeltmeler getirir.

🗄️ Yedekleme saklama (retention) baştan sağlamlaştırıldı

Önceki sürümlerde "hesap başına en fazla N yedek" (keep_count) ayarı gerçekte uygulanmıyordu:
disk ve özellikle Google Drive/offsite tarafında yedekler sınırsız birikiyor, aynı yedek her gece
tekrar tekrar yükleniyor (mükerrer kopyalar) ve "başarısız (0 B)" + "başarılı" mükerrer kayıtlar
oluşuyordu. Kök neden: retention üç kopuk yere dağılmıştı ve ikisi tamamen ölüydü; push işleminin
idempotent (tekrar-güvenli) olmaması; ve offsite tek-dosya silme mekanizmasının hiç tamamlanmamış
olması.

Artık tek, tutarlı bir saklama motoru var:

  • GFS (Grandfather-Father-Son) saklama modeli. Her hesap için: her zaman son N yedek

(keep_count) + günlük / haftalık / aylık / yıllık arşiv katmanları. Bir yedek bu
katmanlardan herhangi birine uyuyorsa tutulur; hiçbirine uymuyorsa budanır. Aynı politika
hem yerel disk hem offsite (Drive/S3/…) için birebir uygulanır — ayarlar artık gerçekten
çalışır.

  • İdempotent yükleme. Aynı yedek aynı hedefe yalnızca bir kez yüklenir; gece görevi

zaten yüklenmiş bir yedeği tekrar yüklemez, iki farklı yol (anlık + zamanlı) aynı dosyayı
aynı anda yükleyip Drive'da mükerrer nesne oluşturamaz (veritabanı düzeyinde benzersizlik
+ eşzamanlılık kilidi). "0 B başarısız" + "başarılı" mükerrer kayıtları da ortadan kalkar.

  • Yer geri kazanımı. Yeni retention, bir yedeği budarken offsite kopyasını da siler;

yerel tarball, offsite'a güvenle ulaştığı doğrulandıktan sonra silinir. Böylece hem sunucu
diski hem Drive kotası şişmez.

  • Veri güvenliği önce. En yeni yedek asla budanmaz; tek yedekli hesaba dokunulmaz; bir

offsite hedefi tanımlıysa ve yedeğin doğrulanmış offsite kopyası yoksa **yerel tek kopya
silinmez** (offsite kesintisinde veri kaybı imkânsız). Budama kararı birim testleriyle korunur.

> Not: Bu sürümle birlikte, geçmişte biriken offsite artık (orphan) nesneler için güvenli
> bir temizleme aracı da eklendi (`onoxsoft:backup:offsite-orphan-prune`, `--dry-run` destekli) —
> yalnızca artık geçerli bir yedeğe bağlı olmayan uzak kopyaları temizler.

📧 DKIM üretimi artık her şemada çalışıyor

Panelden "Yeni DKIM Anahtarı Üret" bazı sunucularda `Unknown column 'public_key'` hatası
veriyordu (tablo şeması sürümüne göre kolon farkı). Kayıt artık sunucunun **gerçek tablo
şemasına göre** filtreleniyor — eski kolon varsa yazılır, yoksa atlanır. Mail teslimat kurulumu
(DKIM) tüm sürümlerde sorunsuz tamamlanır.

🎫 Lisans paketleri artık merkezî ve dinamik

Admin Lisans sayfasındaki paket / fiyat / limit / özellik listesi artık sabit kodlu değil —
"Satın Al" sayfasıyla aynı merkezî LCS kataloğundan çekilir. Fiyat, hesap limiti veya özellik
LCS'te güncellenince panelde otomatik yansır. LCS geçici olarak erişilemezse son bilinen liste
gösterilir (panel asla boş liste göstermez).

🖥️ Replication & HA arayüzü açık temaya geçti

Replication & Yüksek Erişilebilirlik sayfaları (liste / detay / kurulum sihirbazı) açık temaya
taşındı; kontrast ve boş-durum mesajları netleştirildi.

Yükseltme

Güncelleme otomatik uygulanır; kalıcı bir müdahale gerekmez. Yedekleme ayarlarınız korunur —
yeni retention motoru, mevcut keep_count + günlük/haftalık/aylık/yıllık ayarlarınızı olduğu gibi
kullanır. Mevcut yedekleriniz etkilenmez; yalnızca politikayı aşan fazlalıklar (ve varsa geçmiş
mükerrer/artık kopyalar) temizlenir.

v2026.7.11 19.7 MB 2026-07-02

Onoxsoft Panel 2026.7.11 — Sürüm Notları
Yayın: 2026-07-02

Bu sürüm, güncelleme sonrası panel düşmesinin gerçek kök nedenini kapatır (lisans bütünlük manifesti + uzun-ömürlü prosesler) ve dört operasyonel iyileştirme getirir: otomatik güncelleme bakım penceresinde çalışır, heartbeat kötüye kullanımı frenlenir, "Çevrimdışı" flapping'i biter, ve gereksiz "bekleyen paket" sayısı düzelir. Lisanslı sunucularda davranış aynıdır; yalnızca kararlılık ve doğruluk artar.

🩹 Güncelleme sonrası panel-down KÖK NEDEN kapatıldı (OPcache bayat manifest)
Lisans bütünlük manifesti bir PHP dosyasıdır (require config/onoxsoft/integrity.php) ve OPcache derlenmiş halini önbelleğe alır. Bir güncellemede manifest yeniden yazıldığında, uzun-ömürlü PHP prosesleri (lisans watchdog onoxd ve Horizon kuyruk işçileri) kendi OPcache'lerinde eski manifest'i tutup her döngüde dosyaları "kurcalanmış" sanıyor → integrity_mismatch kill-switch → lisans geçersiz → mail durur → panel "Çevrimdışı"ya düşüp kalkıyordu (flapping). Taze prosesler (web istekleri) doğru manifest'i gördüğü için sorun aldatıcı biçimde aralıklı görünüyordu.

Artık her manifest yenilemesi, uzun-ömürlü prosesleri de tazeliyor:

integrity:rebuild yazımdan sonra OPcache'i düşürür (opcache_invalidate).
onoxd, sürüm değişiminde manifest'i yeniden üretip kendi OPcache'ini sıfırlar (opcache_reset) ve kuyruk işçilerine yeniden-başlat sinyali bırakır (queue:restart).
Panel self-update, manifest yenilemesinden sonra onoxd'yi yeniden başlatır (queue:restart onoxd'yi etkilemiyordu — kritik boşluk).
Sistem (dnf) güncellemesi php82 paketlerini güncellerse, artık onoxd + Horizon servislerini de tazeler (bu custom systemd birimlerini hiçbir RPM sahiplenmediği için php güncellemesi onların OPcache'ini kendiliğinden sıfırlamıyordu).
Manuel panel-deploy yolu da artık self-update ile eşdeğer: manifest'i yeniden üretir ve onoxd'yi yeniden başlatır.
Sonuç: geçerli lisanslı bir panel, güncelleme sırasında veya sonrasında bütünlük-uyuşmazlığı yüzünden düşmez; hangi güncelleme yolu kullanılırsa kullanılsın manifest ve tüm prosesler tutarlı kalır.

⏱️ Otomatik sistem güncellemesi artık bakım penceresinde çalışıyor
Brick-safe otomatik güncelleyici (onox:auto-update) mevcut ve doğruydu, ancak zamanlayıcıya hiç eklenmemişti — bu yüzden otomatik güncelleme açık olsa ve bakım penceresi gelse bile hiç çalışmıyordu. Komut artık her 30 dakikada bir zamanlanır; kendini bakım penceresi + etkin-bayrak + günde-bir ile denetler (pencere dışında/kapalıysa anında çıkar).

Otomatik reboot artık ayrı bir tercih (varsayılan KAPALI). Kernel/glibc güncellemesi bir yeniden başlatma gerektirdiğinde, panel sunucuyu kendiliğinden yeniden başlatmaz: güncelleme uygulanır, "yeniden başlatma bekliyor" işaretlenir ve reboot yöneticinin kararına bırakılır (uygun bir zamanda "Şimdi Yeniden Başlat"). Böylece geceleyin beklenmedik bir prod outage'ı yaşanmaz. Otomatik reboot'u açıkça isteyen yöneticiler için update.auto_reboot tercihi vardır; açıldığında yalnızca brick-safe güvenli reboot (boot-once + otomatik geri-dönüş) tetiklenir.

Not: Bu, security_updates_auto açık (varsayılan) panellerde güvenlik güncellemelerinin bakım penceresinde otomatik uygulanmasını sağlar (reboot hariç). Pencere ve otomatik-güncelleme ayarlarını Güncellemeler sayfasından denetleyebilirsiniz.

🔒 Heartbeat kötüye kullanımına fren
Manuel heartbeat tetiklemesi (yalnızca giriş yapmış + admin + IP-allowlist'ten geçen kullanıcıya açık) artık dakikada 2 ile sınırlı (önceden 5) ve sunucu tarafında ~90 saniyelik cooldown taşır: art arda tetiklemeler lisans sunucusuna gereksiz imzalı istek seli üretmez. Zamanlanmış (6 saatlik) otonom heartbeat bundan etkilenmez; yalnızca elle tetikleme frenlenir.

📶 "Çevrimdışı" flapping'i giderildi (canlı-durum dayanıklılığı)
Topbar canlı-durum rozeti, güncelleme/FPM-yeniden-yükleme sırasındaki tek bir geçici hatada (401/402/5xx/ağ blip'i) anında "Çevrimdışı"ya düşüp, yenileyince "Canlı", biraz sonra yine "Çevrimdışı" şeklinde döngüye giriyordu (eski kodda "401 → anında çevrimdışı" dalı, ardışık-hata eşiğini atlıyordu). Artık rozet yalnızca ardışık birkaç hatadan sonra çevrimdışı olur, hatada hızlandırılmış geri-çekilmeli (backoff) yeniden deneme yapar (güncelleme biter bitmez hızla "Canlı"ya döner) ve eşiğe kadar son bilinen durumu korur.

📦 "Bekleyen paket" sayısı düzeltildi (LiteSpeed php çakışması paritesi)
LiteSpeed (lsphp) kurulu sunucularda, Remi'nin sürümsüz php- paketleri (lsphp ile dosya çakıştığı için) sistem güncellemesinde kasıtlı hariç tutuluyor — ama güncelleme kontrolü aynı hariç-tutmayı uygulamadığından, bu ~12 paket panelde sonsuza dek "bekliyor" görünüp asla kurulmuyordu. Kontrol tarafı artık aynı koşullu hariç-tutmayı uygular; panel gerçek bekleyen-paket sayısını gösterir. Panelin php82- FPM'i ve lsphp* paketleri etkilenmez.

🕘 Güncelleme geçmişi artık panel/sistem güncellemelerini gösteriyor
Güncellemeler sayfasındaki "Güncelleme Geçmişi" bölümü, panel ve sistem güncellemelerini kaydetmesine rağmen (bu kayıtlar update_jobs/panel_updates tablolarında doğru tutuluyordu) boş kalıyordu — çünkü geçmiş listesi yalnızca audit_log'un dar bir aksiyon filtresinden okuyordu ve panel/sistem güncellemesi o filtreye hiç girmiyordu. Geçmiş artık gerçek güncelleme kayıtlarından (update_jobs: panel + sistem, sürüm/durum/süre ile) okunuyor; bir güncelleme bitince geçmişe anında düşer (arka planda tazelenir, 5 dk beklemez). Mevcut diğer aktivite kayıtları (web sunucu geçişi, WP oto-güncelleme…) korunur.

Yükseltme
Güncelleme otomatik uygulanır; kalıcı bir müdahale gerekmez. Lisanslı sunucular etkilenmez. Bu sürümdeki lisans dosyaları (ionCube) 2026.7.10 ile aynıdır; değişiklikler yalnızca düz (plain) PHP/script/JS dosyalarındadır.

v2026.7.10 36.1 MB 2026-07-02

🖥️ Sistem/panel güncellemesi: güncelleme sırasında panel düşmesi + yarıda kalma düzeltmesi
Sistem (dnf) güncellemesi panelin kendi PHP-FPM'ini (php82) güncelleyip yeniden başlattığında, güncelleme işlemi panelin FPM cgroup'unda çalıştığı için systemd tarafından öldürülüyordu ("Operation aborted") — güncelleme yarıda kalıyor ve panel kısa süre düşüyordu. Güncelleme işi artık systemd-run ile ayrı bir sistem cgroup'unda (system.slice) çalışır; panelin FPM'i yeniden başlasa bile güncelleme kesintisiz tamamlanır. Aynı koruma panel kendi kendini güncellerken de uygulandı.

v2026.7.9 36.1 MB 2026-07-02

Onoxsoft Panel 2026.7.9 — Sürüm Notları
Yayın: 2026-07-02

Bu sürüm, lisans sisteminin sıfır-kırılganlık hedefine yönelik kapsamlı bir sağlamlaştırma turudur. Çok-ajanlı adversarial denetimde bulunan tüm istismar edilebilir açıklar (bypass, tier-escalation, replay yüzeyleri, fail-open yolları) kapatıldı. Lisanslı sunucularda davranış aynıdır; yalnızca kötüye kullanım yolları kapanır.

🔒 Lisans yaptırımı bypass'ları kapatıldı
REST API artık lisans yaptırımı taşıyor. Önceden /api/v1/* uçları (hesap, DNS, SSL, yedek, bayi…) lisans kapısı taşımıyordu; lisans iptal/expire/killswitch sonrası bir API token'ı ile premium işlemler sürdürülebiliyordu. Artık API grubu da lisansı zorunlu kılar (geçersizse 402).
"Geliştirici modu" bypass'ı kaldırıldı. APP_URL=127.0.0.1 gibi bir ayarla, üretim sunucusunda bile tüm özellik kapıları açılabiliyordu. Artık geliştirici modu yalnızca APP_ENV=local/testing ile açılır (deployer kararı), gizli bir bypass yüzeyi değil.
Özellik "override" artık lisansı aşamaz. Yönetici bir özelliği geçici kapatabilir (bakım), ama veritabanına doğrudan satır yazarak lisansta olmayan bir premium özelliği açamaz. Override yalnızca "kapat" yönünde etkilidir.
Bayi (reseller) API'si özellik kapısı kazandı (feature:reseller) — reseller-özelliği içermeyen bir lisansta REST'ten bayi oluşturulamaz.
🎫 Lisans token'ı (JWT) sağlamlaştırma
JWT artık sunucuya bağlı (makine-pinli). Bir sunucudan alınan geçerli JWT, başka bir sunucuya kopyalanıp kullanılamaz — panel, token'ın bound_machine_id'sini yerel makine kimliğiyle karşılaştırır; eşleşmezse reddeder. Cross-tier korsanlık kapandı.
Kitle (audience) kontrolü — panel yalnız kendisi için basılmış (aud=onoxsoft-panel) token'ları kabul eder.
KillSwitch yalnız bu sunucuya ait yeni token ile temizlenir ve integrity_mismatch killswitch'i yalnız gerçek bütünlük düzelmesiyle kalkar (yabancı/ucuz bir lisansın token'ı yapıştırılarak temizlenemez).
🛡️ Bütünlük (integrity) ve kotalar
Boş/silinmiş bütünlük manifesti artık üretimde fail-closed. Önceden manifest boşsa bütünlük kontrolü "geçti" sayılıyordu (fail-open) — yazma yetkisi olan biri manifesti silerek tüm korumayı kapatabiliyordu. Artık üretimde boş manifest = kurcalama şüphesi.
Hesap kota (seat-cap) fail-open'ı kapatıldı. Lisans geçici olarak geçersiz çözüldüğünde (kuyruk işçisi/CLI'da ağ/bütünlük hatası), hesap oluşturma limiti "son-bilinen-iyi" değerle zorlanır — göç/toplu işlemler dahil.
🔁 Dayanıklılık
Grace (heartbeat) sayacı artık cache:clear/redis yeniden başlatmaya dayanıklı — duruma ek olarak diske de yazılır ve kill kararı hem sayaç hem de geçen-süre ile verilir; önbelleği temizleyerek kill saatini sonsuz erteleme sömürüsü kapanır.
KillSwitch tüm mail yığınını durdurur (Postfix/Exim/Dovecot/Rspamd/OpenDKIM…), yalnız Postfix+Dovecot değil; yeniden başlatmada yalnız etkin (enabled) MTA başlatılır (port-25 çakışması yok).
🩹 Bütünlük self-brick koruması (deploy güvenliği)
Lisans sunucusu bir sürüm (release) manifesti döndürdüğünde (panel dosya listesi değil), panel bunu artık bir kurcalama gibi değil, "bu panele uygulanamayan manifest" olarak tanır ve yerel manifeste düşer. Önceden bu durum, geçerli lisanslı bir panelde bile her dosyayı "eksik" sayıp integrity_mismatch killswitch'ini tetikleyebiliyordu (deploy'da self-brick / mail kesintisi). Ayrıca bütünlük yeniden üretildiğinde (integrity:rebuild) integrity_mismatch killswitch'i otomatik temizlenir ve mail servisleri geri gelir.

🔁 İmza tekrar-oynatma (replay) koruması
İmzalı lisans istekleri (heartbeat / IP-transfer / crack-report / kurtarma) artık her isteğe taze zaman damgası + tek-kullanımlık nonce ekler. Ağ üzerinde yakalanan bir istek bir daha oynatılamaz (lisans sunucusu tazelik + nonce-tekilliğini zorlar). Eski panellerle tam geriye uyumlu; acil durumda .env ONOXSOFT_LICENSE_REPLAY=false ile kapatılabilir.

🖥️ Makine kimliği değişiminde kalıcı kilit çözüldü
Panelin lisans token'ı ve imza sırrı, önceden sunucunun makine kimliğine bağlı bir yolda/şifreyle saklanıyordu; bulut göçü veya makine kimliğinin yenilenmesi durumunda panel kendi token'ını okuyamaz hale gelip kilitleniyordu. Artık depolama, makine kimliğinden bağımsız kararlı bir yerel anahtarla yapılır — makine kimliği değişse bile panel token'ını çözebilir ve kurtulabilir. Lisans güvenliği korunur (token yine makineye pinlidir). Mevcut kurulumlar sorunsuz geçer: ilk açılışta token eski konumdan yeni konuma sessizce taşınır (canlı test sunucusunda kanıtlandı, kesinti/kayıp yok).

🔒 Ek yaptırım sağlamlaştırmaları
Bayilik (reseller) WHMCS uçları artık feature:reseller (Enterprise) kapısı taşır.
IP-transfer yalnız yöneticiye açık; lisans sunucusu tarafında günlük transfer sınırı eklendi (rebind-war/hijack freni).
İptal/askı/bitiş durumları artık anında devreye girer (ağ hatası gibi 7 gün beklemez).
Tier düşürme sonrası eski (yüksek-tier) token'ın geri-yazılması engellenir (iat high-water-mark).
🧵 Eşzamanlılık (race) sağlamlaştırması
Lisans token'ı ve imza sırrı artık atomik yazılır (geçici dosya + yeniden adlandırma). Aynı anda çalışan iki işlem (ör. heartbeat + kurtarma) artık token dosyasını yarım yazamaz — okuyan taraf ya tam eski ya tam yeni dosyayı görür, asla bozuk. İlk açılışta üretilen kararlı yerel anahtar da yarış-güvenli üretilir (tüm işlemler tek anahtarda buluşur), böylece eşzamanlı ilk isteklerde token kaybı olmaz.

🩹 Sistem güncellemesi: LiteSpeed/Remi PHP paket çakışması düzeltmesi
LiteSpeed (lsphp) kurulu sunucularda, Remi'nin sürümsüz php- paketleri (php-fpm, php-opcache…) /var/lib/php/opcache dosyasını lsphp ile paylaşıp dnf güncellemesini file ... conflicts hatasıyla %80'de patlatıyordu. Sistem güncellemesi artık lsphp kuruluyken bu çakışan sürümsüz php- paketlerini hariç tutar; panelin php82- FPM'i ve LiteSpeed lsphp paketleri etkilenmez. Güncelleme bu çakışmaya artık takılmaz.

⏱️ Panel güncelleme akışı — ilerleme çubuğu artık anında açılıyor
Panel güncellemesinde "Şimdi Güncelle"ye basınca, istek lisans sunucusuna senkron bir sürüm kontrolü (10 sn'ye kadar bekleme) yapıp ilerleme çubuğunu geciktiriyordu. Bu senkron kontrol kaldırıldı (sürüm zaten biliniyor); güncelleme artık sistem güncellemesi gibi anında başlar ve ilerleme çubuğu hemen görünür. Sürüm listesi tazeliği arka planda (asenkron) korunur.

Yükseltme
Güncelleme otomatik uygulanır; kalıcı bir müdahale gerekmez. Lisanslı sunucular etkilenmez; mevcut token'lar ilk açılışta yeni kararlı depolamaya sorunsuz taşınır.

Not: Bu sürümdeki bazı sağlamlaştırmalar lisans sunucusu (LCS) tarafında da güncelleme gerektirir (transfer rate-limit). Panel tarafı bu güncelleme olmadan da güvenli çalışır (geriye uyumlu).

v2026.7.8 36.1 MB 2026-07-02

Onoxsoft Panel 2026.7.8 — Sürüm Notları
Yayın: 2026-07-02

Bu sürüm lisans yaptırım (enforcement) katmanını tamamlar: lisans bittiğinde/geçersiz olduğunda premium servisler artık gerçekten durur, bütünlük (integrity) uyuşmazlığından doğan kısır döngü çözülür ve bozuk/lisanssız bir panel kendini güncelleme ile onarabilir.

⏱️ Lisans bitince premium gerçekten kapanır
Önceden lisansın bitiş tarihi (expires_at) panel tarafında hiç kontrol edilmiyordu; yalnız JWT'nin imza/süre alanına bakılıyordu. JWT 7 gün geçerli olduğundan, lisans bittikten sonra bile panel 7 güne kadar tüm premium özellikleri açık tutuyordu.

Artık panel her kontrolde expires_at + tolerans süresini değerlendirir; süre dolduysa lisansı geçersiz sayar (premium kapanır, arka plan servisleri durur). Kısa ödeme gecikmeleri için varsayılan 2 günlük tolerans vardır (ONOXSOFT_LICENSE_EXPIRY_GRACE ile ayarlanır; 0 = bitiş anında kapat).

🛑 Lisans yaptırım servisi (onoxd) düzeltmeleri
KillSwitch'e saygı: Lisans denetleyici (onoxd), bütünlük/heartbeat sorununda bilerek durdurulmuş Postfix/Dovecot'u artık 30 saniye sonra geri açmıyor. Önceden KillSwitch mail'i durduruyor, onoxd hemen diriltiyordu — yaptırım fiilen etkisizdi.
Lisans yokken servis durdurma: Lisans tamamen geçersiz/bittiğinde (enforce modunda) onoxd artık premium servisleri durdurup mask'lar. Önceden bu durumda hiçbir şey yapmadan geçiyordu — "lisans bitti ama servisler kapanmıyor" sorunu buydu. (Kritik altyapı — httpd, mariadb, sshd, firewalld — asla etkilenmez.)
Yaptırım anahtarı çalışır hâlde: Servis-başlangıç kapısı (onox-license-check) artık /opt/onoxsoft/.onox-enforce bayrağını okur — onoxd ile aynı tek anahtar. Varsayılan hâlâ advisory (yalnız raporlar); yaptırımı açmak için tek dosya yeterli.
Not: Yaptırım (enforce) modunu yalnız bütünlük ve lisans-sunucusu bağlantısı kararlıyken açın; aksi halde geçici bir sorun mail servislerini gereksiz durdurabilir.

🔁 Bozuk panel artık kendini güncelleyebilir (kısır döngü çözüldü)
Lisans geçersizken (ör. güncelleme sonrası bütünlük manifesti bayatladığında) panel her sayfayı "Lisans Satın Al" ekranına yönlendiriyordu — güncelleme sayfası dâhil. Bu, bozuk bir panelin kendini güncelleme ile onarmasını imkânsız kılan bir kısır döngüydü.

Artık Güncellemeler sayfası (ve güncelleme çalıştırma) lisans geçersiz olsa bile erişilebilir (yönetici girişi hâlâ zorunlu; güncelleme Ed25519 imzasıyla doğrulanır — güvenli).

🩹 Self-update: bütünlük manifesti yenileme düzeltmesi
Kurulum ve panel kendi-kendini-güncelleme (self-update) akışında, ionCube ile şifrelenmiş dosyalar değiştikten sonra bütünlük manifestini yeniden üreten adım fiilen çalışmıyordu (komut varlık kontrolü hiçbir zaman eşleşmiyordu). Sonuç: her güncellemeden sonra integrity_mismatch KillSwitch tetiklenip mail servislerini durduran bir döngü oluşabiliyordu.

Manifest yenileme artık doğrudan ve doğru şekilde çalışır.
KillSwitch temizliği artık servisleri de geri başlatır (önceden yalnız veritabanı kaydını kapatıyor, durdurulan mail servislerini açmıyordu).
Güncelleme sonrası kuyruk işçileri (queue:restart) yenilenir — eski kodla çalışan işçilerin yol açtığı sinsi hatalar önlenir.
Yükseltme
Kalıcı bir müdahale gerekmez; güncelleme otomatik uygulanır. Enforce modunu açmayı planlıyorsanız, önce sunucunun lisans-sunucusu bağlantısının ve bütünlük durumunun kararlı olduğunu doğrulayın.

v2026.7.7 ARŞİV · indirilemez 2026-07-02

🔒 Premium özellikler artık lisanssız çalışmaz (fail-closed)
Önceden, premium özelliklerin arka plan motorları (zamanlanmış görevler) lisans olsa da olmasa da çalışıyordu — panel arayüzü kilitliyken bile Turbo Cache ve Harp Odası/Yavaşlık Kalkanı işlemleri arka planda dönmeye devam ediyordu. Artık her premium arka plan görevi, çalışmadan önce lisansı kontrol eder:

Turbo Cache motoru (ısıtma, ölçüm, otopilot, self-heal, IndexNow, SEO ve edge-besleme görevleri) lisans yoksa/düştüyse çalışmaz (sessizce atlanır). Ayrıca Turbo Cache lisanssız etkinleştirilemez (doğrudan servis çağrısı da kapılıdır).
Harp Odası / Yavaşlık Kalkanı ingest ve senkron görevleri lisans yoksa çalışmaz.
Lisanslı sunucularda (uygun paket/tier) hiçbir değişiklik yok — her şey aynen çalışır. Bu, "kapalı gel, lisans açsın" ilkesini arka plan katmanına taşır.

🦠 Antivirüs: Aç / Duraklat / Kapat kontrolü (yeni)
Antivirüs panelinde artık tek bir master kontrol var. Önceden kapat/aç düğmesi yoktu ve Servisler sayfasından ClamAV servisini durdurmak taramayı gerçekten durdurmuyordu — çünkü panelin zamanlanmış tarama motoru servis durumundan bağımsız çalışmaya devam ediyordu (daemon kapalıyken bile tarama yapıyordu). Düzeltildi:

Aktif: tam koruma (bugünkü davranış).
Duraklat: tüm zamanlanmış/elle taramalar durur; imza güncellemesi ve daemon çalışmaya devam eder (geçici duraklatma).
Kapat: taramalar durur ve ClamAV daemon + imza güncelleyici (freshclam) durdurulur + gerçek-zamanlı tarama kapatılır (tam kapatma).
Artık tüm katmanlar (zamanlanmış görevler, kuyruk işleri, elle tarama) tek master bayrağa uyar — "durdurdum ama durmuyor" sorunu ortadan kalktı. Motor rozeti de durumu dürüst gösterir ("Duraklatıldı (panel)" / "Kapalı (panel)").

🔧 install.sh düzeltmesi (2026.7.6'dan devam)
Sıfır kurulumda ModSecurity artık engelleme (On) modunda köprülenir — canlı müşteri sitesi henüz olmadığından ilk günden korur. (İzleme/DetectionOnly modu, canlı sitesi olan mevcut sunucuda panelden manuel yeniden-köprüleme içindir.)

📝 Not
Turbo Cache ve Harp Odası'nın hangi pakete ait olduğu lisans sunucusundan dinamik yönetilir; panel, lisansın verdiği yetkiye uyar.

v2026.7.6 ARŞİV · indirilemez 2026-07-02

⚡ Turbo Önbellek paneli hız düzeltmesi
/admin/turbo-cache sayfası her açılışta filodaki tüm siteleri (644 vhost) tek tek tarayan bir sistem komutu çalıştırıyordu → soğukta ~10 saniye. Bu tarama artık arka plana (SystemProbe) alındı; sayfa yalnızca hazır veriyi okur.

Ölçüm (prime, canlı): sayfa render 8.765 ms → 19 ms.

🛡️ ModSecurity: motor açık ama kural yüklü değildi (kritik)
ModSecurity "aktif" görünüyordu ama hiçbir tespit kuralı yüklü değildi — Apache sürücüsünde CRS (OWASP Core Rule Set) kuralları hiç köprülenmiyordu, dolayısıyla saldırılar engellenmiyordu. Kanıt: ?q=<script>alert(1)</script> gibi bir XSS isteği hiçbir kurala takılmadan geçiyordu.

Düzeltmeler:

CRS artık doğru sırayla köprüleniyor (engine → crs-setup → 639 CRS kuralı → onox istisnaları). Kurulum httpd -t doğrulamasından geçmeden devreye alınmaz (yanlış config siteyi düşürmez); başarısızlıkta otomatik geri alınır.
İzleme (DetectionOnly) modu eklendi. CRS canlı sitelerde önce yalnız-logla modunda devreye alınabilir: saldırılar audit'e kaydedilir ama meşru trafik 403 yemez. Yanlış-pozitifler ayıklandıktan sonra Ayarlar'dan engelleme (On) moduna geçilir. Kurulum varsayılanı güvenli taraf = DetectionOnly.
Panel göstergesi artık dürüst: motor açık ama 0 kural durumunda "koruma yok" uyarısı türetilir (eskiden yanıltıcı biçimde "aktif" diyordu). Yüklü kural sayısı gerçek veriden okunur.
Prime kanıtı: 639 kural yüklü; XSS/SQLi test istekleri CRS kurallarına (941110, 942100, 949110) takıldı ve audit'e kaydedildi; DetectionOnly'de 200 döndü (izleme), engelleme moduna geçince 403 verecek.

🧹 WordPress araç (wp-cli) eksikliği + denetim kaydı spam'i
Sunucuda wp-cli (/usr/local/bin/wp) kurulu değildi; saatlik WordPress durum yenilemesi her site için başarısız olup denetim kaydını dolduruyordu (24 saatte 1219 hatalı kayıt).

wp-cli kurulumu install.sh'e eklendi (idempotent, indirilen binary doğrulanır).
Spam önleme (çift katman): WordPress yenileme komutu, wp-cli yoksa siteleri hiç işlemeden bir kez uyarı verip çıkar; ayrıca "komut bulunamadı" hataları için dar kapsamlı denetim-kaydı muafiyeti eklendi. wp-cli kurulunca ikisi de kendiliğinden devre dışı kalır.
Prime kanıtı: wp-cli 2.12.0 kuruldu; sonraki yenilemede 0 hata, 14 başarılı.

🗂️ Denetim Kaydı akıllı saklama (iki kademeli + parçalı silme)
Denetim tablosu 1,2 milyon satıra ulaşmıştı ve %99,9'u arka plan telemetrisiydi (servis durumu, disk/CPU okumaları), yalnızca ~600 satır gerçek insan eylemiydi. Eski temizlik tüm satırları aynı 90 günle ve tek seferde siliyordu (milyonlarca satırlık tek DELETE = tablo kilidi riski).

İki kademeli saklama: arka plan telemetrisi kısa süre (varsayılan 14 gün, ayarlanabilir), insan eylemleri uzun süre (varsayılan 90 gün) tutulur. Telemetri sınıflandırması, güvenlik/işlem eylemlerini yanlışlıkla budamayacak şekilde beyaz-liste ile yapılır.
Parçalı silme: tek dev DELETE yerine 5000'lik parçalarla, aralarda kısa nefeslerle silinir — tablo kilidi ve replikasyon gecikmesi riski ortadan kalkar.
Yeni ayar: Ayarlar → Telemetri Saklama Günü.
Prime kanıtı: 100.423 telemetri satırı 39 saniyede parçalı silindi; silme sırasında tablo yazılabilir kaldı (yeni kayıtlar geldi), insan eylemleri korundu.

🔧 Not
ModSecurity CRS köprüleme ve wp-cli kurulumu sunucu-tarafı adımlardır; yeni kurulumlarda install.sh otomatik uygular, mevcut sunucularda panelden (ModSecurity → Sürücü Kur) veya güncelleme sonrası tek sefer tetiklenir.

v2026.7.5 ARŞİV · indirilemez 2026-07-02

⚡ Panel Geneli Hız Devrimi (SystemProbe)
Sayfa geçişlerindeki bekleme/hantallık kökten çözüldü. Yavaşlığın kaynağı ölçümle kanıtlandı: ağır sayfalar her açılışta senkron sistem komutları (sysapi/subprocess) ve milyonluk tabloda cache'siz agregasyonlar çalıştırıyordu. Yeni SystemProbe katmanı ile bu maliyetlerin tamamı arka plana (dakikalık zamanlayıcı + kuyruk) taşındı — sayfalar artık yalnızca hazır veriyi okur, hiçbir tıklama sistem komutu beklemez.

Ölçülmüş kazanımlar (canlı sunucu, 1.1M denetim kaydıyla):

Sayfa Önce Sonra
Denetim Kaydı 6.5–11.5 sn 33 ms
Pano 3.1 sn 19 ms
Güncellemeler (soğuk) 6.6 sn 28 ms
Kurulum Sihirbazı (/admin/setup) ~2.1 sn/adım 35 ms
Aynı mekanizmaya bağlanan diğer sayfalar (tamamı artık ~30–115 ms): Servisler, ModSecurity, Güvenlik Duvarı, Ağ, Cron Denetimi, Terminal, Antivirüs Komuta Merkezi, Apache Yapılandırması, MySQL Yöneticisi / Sunucu Ayarları / Yavaş Sorgular, Mail Teslimat Raporları, Dovecot, SSL Yöneticisi, Web Sunucusu Yönetimi, PHP Eklentileri, Kaynak Kullanımı, Sunucu Yapılandırması, Genel Ayarlar, fail2ban.

Öne çıkan teknik düzeltmeler:

Kurulum sihirbazı hantallığı bitti: her sihirbaz adımında koşan çoklu sysapi tespit seti + tüm admin sayfalarında istek yolunda çalışan panel-SSL sağlık kontrolü (sertifika okuma/kurma denemesi dahil) arka plana alındı. İlk kurulum deneyimi artık akıcı.
Denetim Kaydı: 1.1M satırlık tabloda her açılışta koşan 5 tam-tablo agregasyon artık 15 dk'lık arka plan döngüsünde; liste satırları her zaman canlı. Filtrelerde action prefix, hedef tipi tam eşleşme ile indeks kullanır (tam-tablo taraması yok). Hiçbir veri silinmedi.
fail2ban: 17-18 sn sürebilen istatistik betiğinin bedelini artık hiçbir ziyaretçi ödemiyor (eskiden cache süresi dolduğunda ilk açan bekliyordu).
Güncellemeler: dnf kontrol zinciri (soğukta 6-75 sn) zamanlayıcıyla ısıtılıyor; "Şimdi Kontrol Et" davranışı değişmedi.
Panel SSL self-heal artık Let's Encrypt oran sınırına karşı eskalasyonlu geri-çekilme (5→10→20→40→60 dk) ile korunuyor.
Ölü maliyet temizlikleri: ClamAV durumu tek komutta (aynı betik 3 kez çağrılıyordu), var olmayan clamav-daemon unit yoklaması kaldırıldı, MySQL ayar sayfasındaki koşulsuz-boş dönen doğrulama çağrısı silindi, web/mail sunucu durum sorguları çağrı-birleştirme ile tekilleştirildi.
Aksiyonlardan sonra (servis restart, kural ekleme, ban/unban, sertifika işlemi…) ilgili görünüm arka planda otomatik tazelenir. Veriler en fazla kendi tazelik penceresi kadar (30 sn – 15 dk, sayfaya göre) gecikmeli olabilir — sayfa hızı karşılığında bilinçli tasarım.
🧭 Akıllı DNS Taşıma (yeni)
Göçte DNS kayıtları artık akıllı yeniden yazılır: yalnız kaynak sunucunun IP'sini gösteren A kayıtları yeni sunucuya çevrilir. Müşterinin harici bir hedefe yönlendirdiği kayıtlar (dış mail sunucusu, kamera/ERP, CDN, başka VPS, özel CNAME kurulumları) olduğu gibi korunur — göç sonrası harici hizmetler kırılmaz.
Kaynak IP tespiti çift sinyalli: zone'un kendi apex/www/mail/ftp kayıtları + çekim yapılan sunucunun DNS çözümü. Sinyal yoksa eski davranışa düşülür (tümü yeni sunucuya).
SPF kayıtlarındaki eski sunucu IP'si (ip4:...) otomatik yeni sunucu IP'siyle değiştirilir — taşınan hesabın giden maili SPF'den düşmez.
Harici AAAA (IPv6) kayıtları artık korunur; yalnız kaynak sunucuya işaret edenler atlanır.
Korunan her harici kayıt, transfer detayında uyarı notu olarak listelenir.
🔧 Diğer
ModSecurity saatlik istatistik sorguları veritabanı-sürücüsü uyumlu hale getirildi.
Test altyapısı: 100+ yeni otomatik test (probe katmanı + sayfa şekil/regresyon güvenceleri).

v2026.7.4 ARŞİV · indirilemez 2026-07-02

v2026.7.4 — Toplu Transfer Güvenilirlik Sürümü
cPanel/DirectAdmin/Plesk Transfer Tool toplu göç hattı uçtan uca sağlamlaştırıldı:

Kuyruğa alınan transferler artık "Kuyrukta" durumunda izlenir; göç watchdog'u sırasını bekleyen işleri yanlışlıkla başarısız sayamaz (2026-07-01 toplu düşüş kök nedeni kapatıldı).
Göç canlılık probu artık pull (yedek indirme) sürecini de sayar — saatler süren indirme sırasında yanlış-pozitif kurtarma yok.
Watchdog faz-ayrımlı: pull fazına asla restore göndermez; tamamlanmış göçler asla geriye "başarısız" çevrilmez.
Göç işleri kendi migrations kuyruğunda seri çalışır — gece yedeği/antivirüs/keşif toplu göçün arkasında açlıktan ölmez.
Başarısız transferin arşivi "Tekrar Dene" için korunur; 7 günden eski arşivleri günlük temizleyici siler.
"Kaynak paketini kullan" cPanel planlarını gerçek kotalarıyla (WHM listpkgs) klonlar; limiti okunamayan plan sınırsız paket olarak klonlanmaz.
Kaynak panelde askıda olan hesap, hedefte restore sonrası otomatik askıya alınır.
Bildirim tekilleştirme (aynı transfer için mükerrer bildirim yok), atomik arşiv indirme (yarım dosya guard'ı), iptal edilen işin dirilme yarışları kapatıldı.

v2026.7.2 ARŞİV · indirilemez 2026-07-01

v2026.7.2 - Self-Update PHP/ionCube Hotfix

Duzeltmeler
  • Panel self-update artik `php` PATH sonucuna guvenmez; panelin PHP 8.2 binary'sini tespit edip `artisan`, `migrate`, `optimize:clear` ve composer adimlarini onunla calistirir.
  • PHP 8.5 gibi sistem PHP'si kurulu sunucularda, PHP 8.2 ionCube loader'inin yanlis binary tarafindan yuklenmesiyle olusan `undefined symbol` hatasi engellendi.
  • RHEL/AlmaLinux kurulumlarinda eski `/etc/php.d/00-ioncube.ini` kalintisi temizlenir; ionCube versioned panel PHP uzerinden yuklenir.
Not
  • Bu surum 2026.7.1 paketini geri alan `migrate --force basarisiz` hatasinin kok nedenini duzeltir.
v2026.7.1 ARŞİV · indirilemez 2026-07-01

v2026.7.1 - Panel Hizlandirma ve Saat Dilimi Dogrulama

One Cikanlar
  • Admin panel sayfa gecisleri hizlandirildi.
  • Sunucu Yapilandirmasi saat dilimi kaydi gercek sistem degeriyle dogrulanir hale getirildi.
Iyilestirmeler
  • Global Vite prefetch kapatildi; admin ekranlarinda gereksiz arka plan JS indirmeleri azaltildi.
  • Topbar sistem bilgisi ilk Inertia cevabindan ayrildi ve arka planda yenilenir hale getirildi.
  • Bildirim okunmamis sayaci kisa sureli cache ile gereksiz sorgulari azaltir.
Duzeltmeler
  • Saat dilimi degistirme isleminde sysapi `time-status` sonucu esas alinir.
  • `onx-timezone-set`, `timedatectl set-timezone` sonrasi gercek timezone'u tekrar okur ve uyusmazlikta hata dondurur.
  • Canli saat gosterimi timezone degisince eski formatter'da kalmaz.