< Resime gitmek için tıklayın > Merhaba arkadaşlar, Bir süredir boş zamanlarımda tek başıma geliştirdiğim, açık kaynak bir Windows bakım aracını paylaşmak istiyorum: SysScrub. Şu an 0.14.0-alpha sürümünde, C# / WPF ile yazıldı. Neden yaptım? Kullandığım temizlik programlarının hemen hepsinde beni rahatsız eden bir şey vardı: şişirilmiş "şu kadar GB kazandınız" sayıları, geri alınamayan silmeler, arka planda sürekli çalışan servisler, ücretli sürüm duvarları, telemetri... Temizlik, sürücü kontrolü ve disk sağlığı için üç ayrı program kullanmak da ayrı bir dertti. Ben de bunları tek arayüzde toplayan, ne yaptığını açıkça söyleyen ve yaptığı her şeyi geri alabilen bir şey yazmaya karar verdim. Kendime koyduğum birkaç kural var:
Tarama hiçbir şey silmez. Her modül önce okur, ne bulduğunu ve neden bulduğunu gösterir, sonra bekler. Neyin silineceğine siz karar verirsiniz.
Yapılan her değişiklik geri alınabilir. Temizlik, registry, başlangıç gibi değişikliklerin hepsi tek bir zaman tünelinde tutuluyor.
Sayılar gerçek. Kazanılan alan tahmin edilmiyor, işlemden önce ve sonra diskten ölçülüyor. "Sisteminiz %40 hızlandı" gibi uydurma bir şey yok.
Bilmediği şeye "iyi" demez. Örneğin S.M.A.R.T. verisi okunamayan bir disk yeşil rozet almaz, neden okunamadığı yazılır.
Hesap yok, reklam yok, telemetri yok, ücretli sürüm yok.
ÖZELLİKLER 1) Temizlik Temizleyici: Windows, tarayıcılar, uygulamalar, oyun platformları, geliştirici araçları ve gizlilik izleri için toplam 48 kural var. Her kural neyi sildiğini ve bunun sonucunu açıkça yazıyor; hoş olmayan kısımlar da dahil (örneğin "Windows.old silinirse önceki Windows sürümüne geri dönülemez"). Silinmeden önce her dosya bir güvenlik denetiminden geçiyor: korumalı Windows klasörleri, belgeleriniz, junction/symlink'ler ve bulut yer tutucu dosyaları reddediliyor. Düz bir temp klasörü dışındaki her şey önce karantinaya gidiyor ve tek tıkla geri getirilebiliyor. Kurallar koda gömülü değil, JSON dosyalarında duruyor; yani yeni bir temizlik hedefi eklemek için programı değiştirmek gerekmiyor.
Registry: Hedefi artık var olmayan kayıtları bulan on iki tarayıcı var (paylaşılan DLL'ler, dosya uzantıları, ProgID/CLSID, COM bileşenleri, kabuk uzantıları, kaldırma girdileri, başlangıç kayıtları, MUICache vb.). Her bulguda tam anahtar yolu ve neden "ölü" sayıldığı gösteriliyor. Silmeden önce etkilenen anahtarların .reg yedeği alınıyor ve bir sistem geri yükleme noktası oluşturuluyor; yedek alınamazsa hiçbir şey silinmiyor. Servisler, DriverStore, WinSxS, .NET, Defender gibi Windows'un ihtiyaç duyduğu anahtarlar zaten dokunulmaz listede.
2) Sürücü ve Yazılım Güncelleme Sürücüler: Donanım envanterini çıkarıp güncelleme kaynağı olarak yalnızca Windows Update'i kullanıyor. Oradan gelen sürücüler WHQL imzalı ve Microsoft tarafından o donanım için onaylanmış oluyor; üçüncü parti bir sürücü arşivi kullanmıyorum. Liste iki gruba ayrılıyor: Windows Update'in gerçekten yenisini sunduğu sürücüler ve iki yıldan eski olup hiçbir kaynağın yenisini sunmadığı sürücüler. İkinci gruba bilerek "güncel değil" değil, "eski olabilir" diyorum, çünkü emin olmadığım bir şeyi iddia etmek istemiyorum. Herhangi bir şey kurulmadan önce tüm üçüncü parti sürücüleri tek tıkla bir klasöre yedekleyebiliyorsunuz.
Güncellemeler: Kurulu programların yeni sürümlerini winget üzerinden buluyor; tek tek ya da toplu güncelleyebiliyorsunuz. Her paket kendi yayıncısının kaynağından iniyor.
3) Disk Sağlığı ve Disk Analizi Disk sağlığı: NVMe sağlık günlüğünü ve ATA S.M.A.R.T. verisini doğrudan diskten okuyor. Sıcaklık, açık kalma süresi, açılma sayısı, yazılan toplam veri, kalan ömür, yedek bloklar, güvensiz kapanmalar, düzeltilemeyen hatalar gibi değerlerin yanına ne anlama geldiklerini sade bir dille yazıyor. Kendi makinemde NVMe sıcaklığı Windows'un kendi ölçümüyle birebir tuttu.
Disk analizi: "Diskimi ne dolduruyor?" sorusu için treemap görünümü, en büyük dosyalar ve dosya türü dağılımı gösteriyor. Tamamen salt okunur; hiçbir dosyayı silmiyor, açmıyor bile. Bulut dosyalarını indirmiyor, okunamayan klasörleri de sessizce atlamak yerine sayıp bildiriyor. Yinelenen dosya bulucu üç aşamada karşılaştırıyor (önce boyut, sonra dosyanın ilk ve son 4 KB'ı, en son tam SHA-256), böylece gereksiz yere her dosyanın hash'ini almıyor.
4) Diğer Modüller Başlangıç: Açılışta çalışan her şey tek listede: Run/RunOnce anahtarları, başlangıç klasörleri, oturum açınca çalışan zamanlanmış görevler ve Microsoft dışı otomatik servisler. Devre dışı bırakma, Görev Yöneticisi'nin kullandığı mekanizmayla yapılıyor, yani ikisi birbiriyle çelişmiyor. Açılış gecikmesi tahmin değil, Windows'un olay günlüğünden okunan gerçek ölçüm.
Programlar: Toplu program kaldırma. Kaldırıcıların çıkış kodu pek güvenilir olmadığı için sonuç, programın kaydının gerçekten kaybolup kaybolmadığına bakılarak doğrulanıyor. Kaldırmadan sonra kurulum klasörü yerinde kaldıysa boyutuyla birlikte bildiriliyor ve Geri Dönüşüm Kutusu'na taşınabiliyor.
Zaman tüneli: Uygulamanın sistemde yaptığı her değişiklik kronolojik olarak kaydediliyor: ne silindi, kaç bayt, hangi kuralla, geri alınabilir mi. Karantinaya alınan temizlikler tek tıkla geri geliyor.
Ayarlar ve diller: Arayüz Türkçe, İngilizce, Almanca, Japonca, Korece ve Basitleştirilmiş Çince olarak geliyor. İlk açılışta dil Windows ayarınıza göre seçiliyor, istediğiniz zaman yeniden başlatmadan değiştirebiliyorsunuz. (Ekran görüntüleri İngilizce arayüzden, uygulama Türkçe de kullanılabiliyor.) Uygulama günde bir kez GitHub'daki yeni sürümleri kontrol ediyor; indirilen paket, sürümle birlikte yayınlanan SHA256SUMS.txt ile doğrulanıyor ve özet tutmazsa hiçbir şey çalıştırılmıyor. Bu kontrol sadece sürüm numarasını okuyor, hiçbir veri göndermiyor ve Ayarlar'dan kapatılabiliyor.
SysScrub-Setup-0.14.0-alpha.exe - Önerilen. Çift tıklayıp kurun. .NET 8 Masaüstü Çalışma Zamanı eksikse kurulum onu indirmeyi teklif ediyor.
SysScrub-0.14.0-alpha-portable-x64.zip - Taşınabilir, kendi içinde her şeyi barındıran sürüm. Klasöre çıkartıp çalıştırmanız yeterli, ön koşul yok. Exe'nin yanına boş bir portable.flag dosyası koyarsanız tüm ayar ve günlükleri kendi klasöründe tutar, sisteme hiçbir şey yazmaz (USB bellekten kullanmak için).
SysScrub-0.14.0-alpha-portable-min.zip - Küçük taşınabilir sürüm, .NET 8 Masaüstü Çalışma Zamanı gerektirir.
SHA256SUMS.txt - Dosya bütünlüğünü kontrol etmek isteyenler için. PowerShell'de: Get-FileHash SysScrub-Setup-0.14.0-alpha.exe -Algorithm SHA256
GEREKSİNİMLER
Windows 10 1809 veya üstü, 64-bit
.NET 8 Masaüstü Çalışma Zamanı (kurulum paketi eksikse indirmeyi teklif ediyor; self-contained taşınabilir sürümde gerekmez)
Yönetici yetkisi: Uygulama yönetici olarak çalışıyor, çünkü Windows Update önbelleği, servis durdurma ve S.M.A.R.T. okuma bu yetki olmadan mümkün değil.
ALFA UYARISI VE BİLİNEN EKSİKLER Program hâlâ alfa aşamasında ve aktif olarak geliştiriliyor. Dokuz modül çalışıyor ve gerçek sistem verisi okuyor, 496 otomatik test var; ama sonuçta tek kişilik bir proje ve her donanım/Windows kombinasyonunda denenmiş değil. Lütfen önemli bir makinede kullanmadan önce yedeğinizin olduğundan emin olun. Şu an bildiğim eksikler:
Arka plan modu ve sistem tepsisi yok; uygulama kapalıyken hiçbir şey çalışmıyor.
Sürücü kaynağı olarak yalnızca Windows Update var; üretici siteleri ya da başka kaynaklar henüz eklenmedi.
USB kutulardaki harici disklerin çoğunda S.M.A.R.T. okunamıyor (uygulama bunu açıkça söylüyor). RAID / donanım denetleyicileri (Intel RST vb.) henüz desteklenmiyor.
Taşınabilir sürüm kendini otomatik güncellemiyor; yeni sürüm çıktığında bildiriyor, indirmesi size kalıyor.
Almanca, Japonca, Korece ve Çince çeviriler henüz anadili konuşan biri tarafından incelenmedi.
Komut paleti (Ctrl+K) gibi bazı planlanmış özellikler henüz yok.
AÇIK KAYNAK VE LİSANS SysScrub MIT lisanslı, kaynak kodun tamamı GitHub'da: github.com/SametEge/SysScrub Katkı vermek için C# bilmenize gerek yok: yeni bir temizleme kuralı eklemek data/rules altına bir JSON girdisi eklemek, çeviri yapmak da data/i18n altındaki tek bir dosyayı düzenlemek demek. GERİ BİLDİRİM Denerseniz fikirlerinizi duymak isterim. Karşılaştığınız hataları, garip davranışları ya da "şu da olsa iyi olurdu" dediğiniz şeyleri buraya yazabilir veya GitHub'da issue açabilirsiniz. Hata bildirirken Windows sürümünüzü ve mümkünse ekran görüntüsünü eklerseniz çok yardımcı olur. Beğenirseniz GitHub'da bir yıldız da bırakabilirsiniz, motivasyon açısından çok şey fark ettiriyor. Okuduğunuz için teşekkürler.
Merhaba arkadaşlar,
Bir süredir boş zamanlarımda tek başıma geliştirdiğim, açık kaynak bir Windows bakım aracını paylaşmak istiyorum: SysScrub. Şu an 0.14.0-alpha sürümünde, C# / WPF ile yazıldı.
Neden yaptım? Kullandığım temizlik programlarının hemen hepsinde beni rahatsız eden bir şey vardı: şişirilmiş "şu kadar GB kazandınız" sayıları, geri alınamayan silmeler, arka planda sürekli çalışan servisler, ücretli sürüm duvarları, telemetri... Temizlik, sürücü kontrolü ve disk sağlığı için üç ayrı program kullanmak da ayrı bir dertti. Ben de bunları tek arayüzde toplayan, ne yaptığını açıkça söyleyen ve yaptığı her şeyi geri alabilen bir şey yazmaya karar verdim.
Kendime koyduğum birkaç kural var:
< Resime gitmek için tıklayın >
ÖZELLİKLER
1) Temizlik
Temizleyici: Windows, tarayıcılar, uygulamalar, oyun platformları, geliştirici araçları ve gizlilik izleri için toplam 48 kural var. Her kural neyi sildiğini ve bunun sonucunu açıkça yazıyor; hoş olmayan kısımlar da dahil (örneğin "Windows.old silinirse önceki Windows sürümüne geri dönülemez"). Silinmeden önce her dosya bir güvenlik denetiminden geçiyor: korumalı Windows klasörleri, belgeleriniz, junction/symlink'ler ve bulut yer tutucu dosyaları reddediliyor. Düz bir temp klasörü dışındaki her şey önce karantinaya gidiyor ve tek tıkla geri getirilebiliyor. Kurallar koda gömülü değil, JSON dosyalarında duruyor; yani yeni bir temizlik hedefi eklemek için programı değiştirmek gerekmiyor.
< Resime gitmek için tıklayın >
Registry: Hedefi artık var olmayan kayıtları bulan on iki tarayıcı var (paylaşılan DLL'ler, dosya uzantıları, ProgID/CLSID, COM bileşenleri, kabuk uzantıları, kaldırma girdileri, başlangıç kayıtları, MUICache vb.). Her bulguda tam anahtar yolu ve neden "ölü" sayıldığı gösteriliyor. Silmeden önce etkilenen anahtarların .reg yedeği alınıyor ve bir sistem geri yükleme noktası oluşturuluyor; yedek alınamazsa hiçbir şey silinmiyor. Servisler, DriverStore, WinSxS, .NET, Defender gibi Windows'un ihtiyaç duyduğu anahtarlar zaten dokunulmaz listede.
< Resime gitmek için tıklayın >
2) Sürücü ve Yazılım Güncelleme
Sürücüler: Donanım envanterini çıkarıp güncelleme kaynağı olarak yalnızca Windows Update'i kullanıyor. Oradan gelen sürücüler WHQL imzalı ve Microsoft tarafından o donanım için onaylanmış oluyor; üçüncü parti bir sürücü arşivi kullanmıyorum. Liste iki gruba ayrılıyor: Windows Update'in gerçekten yenisini sunduğu sürücüler ve iki yıldan eski olup hiçbir kaynağın yenisini sunmadığı sürücüler. İkinci gruba bilerek "güncel değil" değil, "eski olabilir" diyorum, çünkü emin olmadığım bir şeyi iddia etmek istemiyorum. Herhangi bir şey kurulmadan önce tüm üçüncü parti sürücüleri tek tıkla bir klasöre yedekleyebiliyorsunuz.
< Resime gitmek için tıklayın >
Güncellemeler: Kurulu programların yeni sürümlerini winget üzerinden buluyor; tek tek ya da toplu güncelleyebiliyorsunuz. Her paket kendi yayıncısının kaynağından iniyor.
< Resime gitmek için tıklayın >
3) Disk Sağlığı ve Disk Analizi
Disk sağlığı: NVMe sağlık günlüğünü ve ATA S.M.A.R.T. verisini doğrudan diskten okuyor. Sıcaklık, açık kalma süresi, açılma sayısı, yazılan toplam veri, kalan ömür, yedek bloklar, güvensiz kapanmalar, düzeltilemeyen hatalar gibi değerlerin yanına ne anlama geldiklerini sade bir dille yazıyor. Kendi makinemde NVMe sıcaklığı Windows'un kendi ölçümüyle birebir tuttu.
< Resime gitmek için tıklayın >
Disk analizi: "Diskimi ne dolduruyor?" sorusu için treemap görünümü, en büyük dosyalar ve dosya türü dağılımı gösteriyor. Tamamen salt okunur; hiçbir dosyayı silmiyor, açmıyor bile. Bulut dosyalarını indirmiyor, okunamayan klasörleri de sessizce atlamak yerine sayıp bildiriyor. Yinelenen dosya bulucu üç aşamada karşılaştırıyor (önce boyut, sonra dosyanın ilk ve son 4 KB'ı, en son tam SHA-256), böylece gereksiz yere her dosyanın hash'ini almıyor.
< Resime gitmek için tıklayın >
4) Diğer Modüller
Başlangıç: Açılışta çalışan her şey tek listede: Run/RunOnce anahtarları, başlangıç klasörleri, oturum açınca çalışan zamanlanmış görevler ve Microsoft dışı otomatik servisler. Devre dışı bırakma, Görev Yöneticisi'nin kullandığı mekanizmayla yapılıyor, yani ikisi birbiriyle çelişmiyor. Açılış gecikmesi tahmin değil, Windows'un olay günlüğünden okunan gerçek ölçüm.
< Resime gitmek için tıklayın >
Programlar: Toplu program kaldırma. Kaldırıcıların çıkış kodu pek güvenilir olmadığı için sonuç, programın kaydının gerçekten kaybolup kaybolmadığına bakılarak doğrulanıyor. Kaldırmadan sonra kurulum klasörü yerinde kaldıysa boyutuyla birlikte bildiriliyor ve Geri Dönüşüm Kutusu'na taşınabiliyor.
< Resime gitmek için tıklayın >
Zaman tüneli: Uygulamanın sistemde yaptığı her değişiklik kronolojik olarak kaydediliyor: ne silindi, kaç bayt, hangi kuralla, geri alınabilir mi. Karantinaya alınan temizlikler tek tıkla geri geliyor.
< Resime gitmek için tıklayın >
Ayarlar ve diller: Arayüz Türkçe, İngilizce, Almanca, Japonca, Korece ve Basitleştirilmiş Çince olarak geliyor. İlk açılışta dil Windows ayarınıza göre seçiliyor, istediğiniz zaman yeniden başlatmadan değiştirebiliyorsunuz. (Ekran görüntüleri İngilizce arayüzden, uygulama Türkçe de kullanılabiliyor.) Uygulama günde bir kez GitHub'daki yeni sürümleri kontrol ediyor; indirilen paket, sürümle birlikte yayınlanan SHA256SUMS.txt ile doğrulanıyor ve özet tutmazsa hiçbir şey çalıştırılmıyor. Bu kontrol sadece sürüm numarasını okuyor, hiçbir veri göndermiyor ve Ayarlar'dan kapatılabiliyor.
< Resime gitmek için tıklayın >
İNDİRME VE KURULUM
Son sürüm: github.com/SametEge/SysScrub/releases/latest
- SysScrub-Setup-0.14.0-alpha.exe - Önerilen. Çift tıklayıp kurun. .NET 8 Masaüstü Çalışma Zamanı eksikse kurulum onu indirmeyi teklif ediyor.
- SysScrub-0.14.0-alpha-portable-x64.zip - Taşınabilir, kendi içinde her şeyi barındıran sürüm. Klasöre çıkartıp çalıştırmanız yeterli, ön koşul yok. Exe'nin yanına boş bir portable.flag dosyası koyarsanız tüm ayar ve günlükleri kendi klasöründe tutar, sisteme hiçbir şey yazmaz (USB bellekten kullanmak için).
- SysScrub-0.14.0-alpha-portable-min.zip - Küçük taşınabilir sürüm, .NET 8 Masaüstü Çalışma Zamanı gerektirir.
- SHA256SUMS.txt - Dosya bütünlüğünü kontrol etmek isteyenler için. PowerShell'de: Get-FileHash SysScrub-Setup-0.14.0-alpha.exe -Algorithm SHA256
GEREKSİNİMLER- Windows 10 1809 veya üstü, 64-bit
- .NET 8 Masaüstü Çalışma Zamanı (kurulum paketi eksikse indirmeyi teklif ediyor; self-contained taşınabilir sürümde gerekmez)
- Yönetici yetkisi: Uygulama yönetici olarak çalışıyor, çünkü Windows Update önbelleği, servis durdurma ve S.M.A.R.T. okuma bu yetki olmadan mümkün değil.
ALFA UYARISI VE BİLİNEN EKSİKLERProgram hâlâ alfa aşamasında ve aktif olarak geliştiriliyor. Dokuz modül çalışıyor ve gerçek sistem verisi okuyor, 496 otomatik test var; ama sonuçta tek kişilik bir proje ve her donanım/Windows kombinasyonunda denenmiş değil. Lütfen önemli bir makinede kullanmadan önce yedeğinizin olduğundan emin olun. Şu an bildiğim eksikler:
- Arka plan modu ve sistem tepsisi yok; uygulama kapalıyken hiçbir şey çalışmıyor.
- Sürücü kaynağı olarak yalnızca Windows Update var; üretici siteleri ya da başka kaynaklar henüz eklenmedi.
- USB kutulardaki harici disklerin çoğunda S.M.A.R.T. okunamıyor (uygulama bunu açıkça söylüyor). RAID / donanım denetleyicileri (Intel RST vb.) henüz desteklenmiyor.
- Taşınabilir sürüm kendini otomatik güncellemiyor; yeni sürüm çıktığında bildiriyor, indirmesi size kalıyor.
- Almanca, Japonca, Korece ve Çince çeviriler henüz anadili konuşan biri tarafından incelenmedi.
- Komut paleti (Ctrl+K) gibi bazı planlanmış özellikler henüz yok.
AÇIK KAYNAK VE LİSANSSysScrub MIT lisanslı, kaynak kodun tamamı GitHub'da:
github.com/SametEge/SysScrub
Katkı vermek için C# bilmenize gerek yok: yeni bir temizleme kuralı eklemek data/rules altına bir JSON girdisi eklemek, çeviri yapmak da data/i18n altındaki tek bir dosyayı düzenlemek demek.
GERİ BİLDİRİM
Denerseniz fikirlerinizi duymak isterim. Karşılaştığınız hataları, garip davranışları ya da "şu da olsa iyi olurdu" dediğiniz şeyleri buraya yazabilir veya GitHub'da issue açabilirsiniz. Hata bildirirken Windows sürümünüzü ve mümkünse ekran görüntüsünü eklerseniz çok yardımcı olur. Beğenirseniz GitHub'da bir yıldız da bırakabilirsiniz, motivasyon açısından çok şey fark ettiriyor.
Okuduğunuz için teşekkürler.