Files
hDM/README.md
2026-05-04 01:25:21 +03:00

79 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.
* **Tarayıcı Entegrasyonu:** Özel browser eklentisi (Chrome/Edge) ve `BrowserBridge` teknolojisi ile tarayıcıdaki linkleri otomatik yakalar.
* **Canlı Hız Grafiği:** Ana pencerenin üst kısmında, son 30 saniyelik toplam indirme hızını gösteren sağdan sola kayan 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 seçeneği.
* Sütun genişliklerini otomatik kaydetme ve geri yükleme.
* **Detaylı İndirme Özellikleri:** Her indirme için özel özellikler formu üzerinden detaylı bilgi, kopyalanabilir linkler ve hızlı dosya erişimi.
## 🛠 Teknik Mimari
Uygulama modern yazılım prensipleri (Clean Architecture) ve MVVM deseni üzerine inşa edilmiştir:
* **DownloadManager.Core:** İndirme motoru, 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 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
* 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:
```powershell
dotnet build ./src/DownloadManager.sln -c Release
```
### 🧩 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 bir indirme linkine tıkladığınızda hDM otomatik olarak açılır ve linki "Ekle" penceresine taşır.
* **Pano Desteği:** Herhangi bir linki kopyalayıp hDM içindeki "Ekle" butonuna bastığınızda link otomatik olarak yapıştırılır.
* **Sistem Tepsisi:** Uygulamayı kapattığınızda saat yanındaki simgeden sağ tıklayarak "Göster" diyebilir veya "Çıkış" ile tamamen kapatabilirsiniz.
## 📈 Son Durum ve İyileştirmeler
Son yapılan güncellemeler ile:
- [x] SVG tabanlı ikon desteği ve modern Systray entegrasyonu tamamlandı.
- [x] "Kalan Süre" (ETA) hesaplama algoritması eklendi.
- [x] "Ekle" penceresine Pano (Clipboard) otomatik yapıştırma özelliği getirildi.
- [x] Dinamik/Redirect linklerdeki "0 B" boyutu ve hatalı dosya adı sorunları giderildi.
- [x] StatusBar üzerinden anlık disk alanı ve toplam hız takibi eklendi.
- [x] Üst başlık alanına canlı hız dalgalanma grafiği eklendi.
## 🛡 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