Це репозиторій з вихідним кодом SafeDisk Cleaner disk analysis tool. Готовий продукт деплоїться в: https://github.com/ajjs1ajjs/SafeDisk-Cleaner Офіційний сайт: https://ajjs1ajjs.github.io/SafeDisk-Cleaner/
Безпечний аналіз, очищення та пошук дублікатів для Windows та macOS
WPF · MVVM · Material Design 3 · .NET 10 LTS — захищає ваші дані, дає повний контроль над кожним кроком очищення.
Інші «чистильники» видаляють файли наосліп. SafeDisk Cleaner будує рейтинг безпеки для кожного файлу та ніколи не чіпає те, що може зламати систему.
| 🧠 Confidence System | Кожен файл отримує оцінку 0–100% із поясненням, чому його можна (чи не можна) видаляти. |
| 🛡️ Safety Engine | Не чіпає системні шляхи, захищені розширення, файли в роботі та підписи Microsoft. |
| 🔍 Прозорість | Ви бачите весь список, категорії, розміри, ризики та причини — до будь-якого видалення. |
| ♻️ Recovery System | Малі файли → Кошик, великі → Карантин з відновленням і журналом. |
| 📋 Audit Log | Повний журнал кожного очищення (SQLite). |
| 🎨 Неоновий інтерфейс | 2 теми × 4 акценти, темна та світла — перемикається миттєво. |
Огляд (Dashboard)
![]() |
![]() |
| Сканування — фільтри, ризики, експорт | Дублікати — BLAKE3-хеші, keep-one-per-group |
![]() |
![]() |
| Карантин — відновлення та очищення | Налаштування — тема та акцент |
- Scanner Engine — багатопотоковий обхід і пошук сміття: Temp, Crash Dumps, Browser Cache, Logs, Package Cache, Windows Update cache, Windows.old, Delivery Optimization, Error Reporting, Prefetch та інші.
- Пошук дублікатів за BLAKE3-хешем; «Вибрати все» завжди залишає одну найновішу копію кожної групи.
- 4 режими очищення: Analyze, Interactive, Auto, Dry Run.
- Фільтри кандидатів — пошук за шляхом, категорія, рівень ризику, «Тільки безпечні».
- Експорт звіту в CSV/JSON.
- Очищення кошика Windows одним кліком.
- Автооновлення з GitHub-релізів в один клік.
- CLI для сценаріїв автоматизації.
Програма ніколи не видаляє:
- 📁
Windows,Program Files,ProgramData,System32,Drivers,EFI,Recovery,Boot - 📄 файли з розширеннями
.dll .sys .exe .cat .inf .msi .msp - 🔐 файли з атрибутом
SYSTEM, відкриті процесами або використані за останні N днів - ✍️ файли з цифровим підписом Microsoft (Advanced-категорії)
- 🚫 пакети драйверів у Windows DriverStore — навіть якщо файл схожий на кеш
Помилка під час очищення ніколи не перериває весь процес: невдалий файл логується в Audit, решта обробляється. Будь-яке очищення можна скасувати.
Виберіть на сторінці релізів:
| Платформа | Файл | Опис |
|---|---|---|
| 🪟 Windows | SafeDiskCleaner-<ver>-setup-win64.exe |
Універсальний інсталятор — встановлення в %LOCALAPPDATA%\Programs, ярлик у меню «Пуск», коректне видалення через «Програми та компоненти». Підтримує весь функціонал застосунку. |
| 🍎 macOS | SafeDiskCleaner-<ver>-macos-x64.tar.gz |
Самодостатня збірка (Avalonia) для macOS 13+. |
Для Windows використовуйте інсталятор — він встановлює повний набір функцій (сканування, дублікати, карантин, планувальник, автооновлення) і правильно реєструється в системі.
- Windows 10/11 або macOS 13+
- .NET 10 SDK (для розробки; готові збірки не потребують встановленого runtime)
dotnet restore
dotnet build -c Release # збірка
dotnet run --project src/SafeDiskCleaner.App # WPF UI
dotnet test # тести (165)dotnet run --project src/SafeDiskCleaner.Cli -- analyze --roots C:\Users\Me\AppData\Local\Temp
dotnet run --project src/SafeDiskCleaner.Cli -- clean --dry-run
dotnet run --project src/SafeDiskCleaner.Cli -- clean --auto
dotnet run --project src/SafeDiskCleaner.Cli -- duplicates --roots D:\
dotnet run --project src/SafeDiskCleaner.Cli -- drives
dotnet run --project src/SafeDiskCleaner.Cli -- audit
dotnet run --project src/SafeDiskCleaner.Cli -- quarantine list
dotnet run --project src/SafeDiskCleaner.Cli -- updateТег v* запускає CI: тести → Windows-інсталятор (Inno Setup) + збірка macOS (Avalonia) → автоматичне опублікування релізу.
git tag v1.6.0 && git push origin v1.6.0| Шар | Технологія |
|---|---|
| Платформа | WPF, .NET 10 LTS |
| UI | MaterialDesignInXamlToolkit (Material Design 3), темна/світла тема + 4 акценти |
| Архітектура | MVVM (CommunityToolkit.Mvvm), Dependency Injection, Generic Host |
| Дані | Entity Framework Core + SQLite |
| HTTP | HttpClientFactory + Refit + Polly (Retry/Timeout/Circuit Breaker) |
| Логування | Serilog (async sink, rolling file) |
| Валідація | FluentValidation |
| Хешування | BLAKE3 |
| Тести | xUnit + FluentAssertions + Moq |
| Релізи | GitHub Actions + Inno Setup |
| Що | Шлях |
|---|---|
| SQLite база (audit, карантин) | C:\ProgramData\SafeDisk\SafeDisk.db |
| Карантин | C:\ProgramData\SafeDisk\quarantine\ |
| Звіти | C:\ProgramData\SafeDisk\reports\ |
| Логи (Serilog) | C:\ProgramData\SafeDisk\logs\ |
| Налаштування | C:\ProgramData\SafeDisk\settings.json |
Якщо
C:\ProgramDataнедоступний — використовується%LOCALAPPDATA%\SafeDisk.
SafeDiskCleaner.slnx
├── Directory.Build.props # спільна версія
├── src/
│ ├── SafeDiskCleaner.Core/ # домен: моделі, rules, confidence, safety, scanner, Windows interop
│ ├── SafeDiskCleaner.Infrastructure/ # EF Core, Refit+Polly, Serilog, сервіси, DI
│ ├── SafeDiskCleaner.ViewModels/ # спільні ViewModels для WPF і Avalonia
│ ├── SafeDiskCleaner.App/ # WPF UI (MaterialDesign, MVVM)
│ ├── SafeDiskCleaner.Avalonia/ # Avalonia UI (Windows/macOS)
│ └── SafeDiskCleaner.Cli/ # консольний застосунок
├── scripts/ # build-release.ps1, installer.iss
└── tests/
└── SafeDiskCleaner.Tests/ # xUnit + FluentAssertions + Moq
- Автозапуск при старті Windows
- Планувальник автоматичного очищення
- Сповіщення про завершення
- Локалізація (EN/UA/PL)
SafeDisk Cleaner — MIT © ajjs1ajjs
⭐ Сподобалось? Поставте зірочку!



