Files
hDM/README.md
2026-05-06 15:59:53 +03:00

5.5 KiB
Raw Blame History

hOLOlu Download Manager (hDM)

Modern, hızlı ve kullanıcı dostu, .NET 8 ve WPF tabanlıık kaynaklı bir indirme yöneticisidir.

🚀 Öne Çıkan Özellikler

  • Segmentli İndirme: Dosyaları parçalara bölerek maksimum bant genişliği ile indirme sağlar.
  • Hız Limitleme (Speed Throttling): Kullanıcı tanımlı hız limiti (KB/s) belirleyerek ağ trafiğini kontrol etme imkanı.
  • Otomatik Yeniden Deneme (Auto-Retry): Kopan bağlantılarda veya hata veren indirme parçalarında artan gecikme (exponential backoff) süreleriyle otomatik tekrar deneme.
  • Kesintiye Uğrayan İndirmelere Devam Etme (Resuming): İndirmeyi duraklattığınızda ve daha sonra devam ettirdiğinizde, tam kaldığı yerden segment bazlı veya tekil devam edebilme.
  • Tarayıcı Entegrasyonu: Özel browser eklentisi (Chrome/Edge) ve BrowserBridge teknolojisi ile tarayıcıdaki linkleri otomatik yakalama.
  • Site İncele (Site Grabber): Bir web sitesindeki indirilebilir tüm dosyaları analiz edip listeleme ve seçilenleri tek tıkla indirme.
  • Canlı Hız Grafiği: Ana pencerenin üst kısmında, son 30 saniyelik toplam indirme hızını gösteren interaktif grafik.
  • Akıllı Dosya Adı Algılama: Karmaşık yönlendirmeler (redirect) ve dinamik URL'lerden gerçek dosya adını otomatik tespit eder.
  • Sistem Tepsisi (Systray) Desteği: Uygulama kapandığında sistem tepsisine küçülür, arka planda çalışmaya devam eder.
  • Gelişmiş Sıralama ve Filtreleme: İndirmeleri tarihe, boyuta, duruma veya isme göre akıllıca sıralar; kategori bazlı filtreleme yapar.
  • Kullanıcı Arayüzü Özelleştirme:ık/Koyu tema desteği, kategori panelini gizleme/gösterme ve sütun genişliklerini otomatik kaydetme.
  • Türkçe Arayüz ve Loglama: İndirme durumları ve arka plan motor loglamaları Türkçeye çevrilmiş olup SQL logları minimize edilmiştir.

🛠 Teknik Mimari

Uygulama modern yazılım prensipleri (Clean Architecture) ve MVVM deseni üzerine inşa edilmiştir:

  • DownloadManager.Core: İndirme motoru, Hız Sınırlayıcı (SpeedThrottler), HTTP protokol yönetimi, SQLite veritabanı katmanı ve temel modelleri içerir.
  • DownloadManager.WPF: CommunityToolkit.Mvvm kullanılarak geliştirilmiş, ModernWpf UI kütüphanesi ile zenginleştirilmiş kullanıcı arayüzü.
  • DownloadManager.BrowserBridge: Tarayıcı eklentisinden gelen verileri Named Pipe üzerinden ana (hDM) uygulamaya aktaran hafif köprü uygulaması.
  • Veritabanı: Ayarlar ve indirme geçmişi SQLite üzerinde Entity Framework Core ile yönetilir.

📦 Kurulum ve Çalıştırma

Gereksinimler

  • .NET 8.0 SDK (Eğer Self-Contained olarak derlenmediyse .NET Desktop Runtime 8.0 gereklidir)
  • Windows 10/11
  • Google Chrome veya Microsoft Edge (Eklenti için)

Derleme

Proje kök dizininde aşağıdaki komutu kullanarak Release modunda derleme yapabilirsiniz:

dotnet build ./src/DownloadManager.sln -c Release

Daha gelişmiş dağıtım seçenekleri (Self-Contained veya Advanced Installer kullanımı) için lütfen docs/DEPLOYMENT.md rehberini okuyun.

🧩 Tarayıcı Eklentisi Kurulumu

hDM'nin tarayıcı ile entegre çalışabilmesi için aşağıdaki iki adımı tamamlamanız gerekir:

1. Köprü Uygulamasını Kaydetme (Windows Registry)

Tarayıcının eklenti üzerinden ana uygulama ile konuşabilmesi için "Native Messaging" köprüsünü Windows'a tanıtmalısınız:

  • src/DownloadManager.BrowserBridge/register_bridge.reg dosyasına sağ tıklayıp Birleştir (Merge) diyerek kayıt defteri ayarlarını uygulayın.
  • Not: Kayıt defterindeki path değerinin derlediğiniz DownloadManager.BrowserBridge.exe dosyasının gerçek yolu ile eşleştiğinden emin olun.

2. Eklentiyi Tarayıcıya Yükleme

  • Chrome veya Edge tarayıcınızda chrome://extensions adresine gidin.
  • Geliştirici Modu (Developer Mode) seçeneğini aktif hale getirin.
  • Paketlenmemiş öğe yükle (Load unpacked) butonuna tıklayın.
  • Proje içindeki browser-extension klasörünü seçerek yükleyin.

🖱 Kullanım

  • Otomatik Yakalama: Eklenti yüklendikten sonra tarayıcıda sağ tık menüsünden "hDM ile indir" diyerek veya desteklenen uzantılara tıklayarak otomatik yakalama sağlayabilirsiniz.
  • Site İncele: Sayfa içindeyken sağ tıklayıp "Siteyi hDM ile incele" diyerek sayfadaki tüm dosyaları topluca analiz edebilirsiniz.
  • Pano Desteği: Herhangi bir linki kopyalayıp hDM içindeki "Ekle" butonuna bastığınızda link otomatik olarak yapıştırılır.

📈 Son Durum ve İyileştirmeler

Son yapılan güncellemeler ile:

  • Derleme adı hDM.exe olarak güncellendi. Özel ikonlar (Down_nb-02) eklendi.
  • İndirme hızı limitleme (SpeedThrottler) ve otomatik yeniden deneme (Auto-Retry) motoru yazıldı.
  • İndirme duraklatma ve devam ettirme mekanizmasındaki ilerleme (progress) sıfırlanma hataları giderildi.
  • UI Durum bildirimleri ve arka plan logları Türkçeleştirildi. EF Core SQL logları temizlendi.
  • Tarayıcı eklentisinden bağlam menüsü entegrasyonu (Context Menu) ile URL'nin doğrudan Site İncele paneline aktarılması sağlandı.

🛡 Güvenlik ve Gizlilik

hDM, kullanıcı verilerini sadece yerel SQLite veritabanında saklar. Şifreler ve kimlik bilgileri ProtectedData (DPAPI) ile Windows seviyesinde şifrelenerek korunur.


Geliştirici: hOLOlu
Lisans: MIT