2026-05-09 11:38:04 +03:00
2026-05-06 15:59:53 +03:00
2026-05-06 15:59:53 +03:00
2026-05-04 01:19:04 +03:00
2026-05-06 15:59:53 +03:00
2026-05-06 15:59:53 +03:00
2026-05-06 15:59:53 +03:00
2026-05-06 15:59:53 +03:00
2026-05-06 15:59:53 +03:00
2026-05-06 15:59:53 +03:00
2026-05-04 01:19:04 +03:00
2026-05-04 01:19:04 +03:00
2026-05-04 01:19:04 +03:00

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.
  • Detaylı Durum Çubuğu: Toplam, Tamamlanan, Aktif, Duraklatılan ve Hatalı indirme sayılarını anlık olarak gösteren renkli istatistik paneli.
  • Akıllı Kuyruk Yönetimi: Uygulama açılışında tüm indirmelerin otomatik başlamasını engelleyen, kullanıcı kontrolünde "Bekleyenleri Başlat" ve "Tümünü Duraklat" özellikleri.
  • Tekil Örnek (Single Instance): Uygulamanın birden fazla kopyasının açılmasını engelleyen Mutex tabanlı koruma.

🛠 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. Arka plan işlemleri için Scope tabanlı asenkron erişim ile yüksek stabilite sağlanmıştır.

📦 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 Web Store üzerinden yükleyebilir veya geliştirici modunda browser-extension klasörünü seçerek yükleyebilirsiniz.
  • Chrome Web Store ID: Eklenti yayınlandığında sabitlenen ID'yi manifest.json içindeki allowed_origins kısmına eklemeyi unutmayın.

🖱 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.
  • Kuyruk Yönetimi: "Bekleyenleri Başlat" butonu ile duraklatılmış tüm indirmeleri sıraya alabilir, "Tümünü Duraklat" ile ağ trafiğini anında durdurabilirsiniz.
  • 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:

  • Stabilite: DbContext eşzamanlılık (concurrency) hataları Transient servis ömrü ve Scope yönetimi ile tamamen çözüldü.
  • Kuyruk Kontrolü: "Tümünü Duraklat" komutunun ardından indirmelerin kendiliğinden tekrar başlaması sorunu, veritabanı durum kontrolü ile giderildi.
  • ılış Hızı: Uygulama açıldığında bekleyen indirmelerin otomatik başlaması engellenerek sistem kaynakları korundu.
  • Görsel Detaylar: Alt kısma indirme durumlarını (Tamamlanan, Hata, Aktif vb.) özetleyen detaylı bir durum çubuğu eklendi.
  • Tekil Örnek: Tarayıcıdan gelen çoklu tetiklemelerin arka planda süreç (process) biriktirmesi Mutex ile engellendi.

🛡 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

Description
hOLOlu Download Manager Modern, hızlı ve kullanıcı dostu, .NET 8 ve WPF tabanlı Ücretsiz bir indirme yöneticisidir.
http://www.mustafaozkaya.tr/hdm
Readme 50 MiB
Languages
C# 99.7%
JavaScript 0.2%
HTML 0.1%