Все работы

FileSweep

Чистить диск страшно, потому что легко удалить не то. FileSweep сначала доказывает, что файлы одинаковые, а потом предлагает план, который можно отменить.

Клиент
Свой продукт, открытый код
Тип
Приложение для Mac и Windows
Что делали
Приложение целиком
Год
2026
FileSweep

Два прохода

Сначала файлы группируются по размеру: разные размеры не могут быть дубликатами. Потом кандидаты хешируются SHA-256 несколькими потоками сразу. Если файл изменился, пока его читали, это замечается, и он не попадает в результат.

План вместо удаления

Любое перемещение или отправка в корзину сначала попадает в план. Безопасное перемещение сверяет размер и хеш, а между дисками копирует, проверяет и только потом удаляет оригинал. Всё записывается в историю с отменой.

Сортировочная машина

Файлы едут по ленте, ворота размера разводят их по дорожкам, пресс с несколькими головками ставит отпечаток SHA-256, а одинаковые отпечатки встречаются в одном лотке. До шредера ничего не доходит, минуя ворота плана.

SHA-256
Карточки плана — копии, которые будут перенесеныЧетыре головки считают SHA-256: по одной на дорожкуЛента и упоры: файлы едут, пока головка не закончитСхема работы FileSweep — локального приложения на Wails (Go и React), которое ищет точные дубликаты в два прохода. Сначала файлы группируются по размеру: отводка раскладывает их по дорожкам. Затем пул воркеров считает SHA-256, на схеме это четыре головки, которые печатают отпечаток; файлы с одним отпечатком попадают в одну ячейку, а файл, изменившийся во время хеширования, приложение замечает. Ничего не удаляется автоматически: лишние копии становятся карточками плана, и ворота открываются только когда план запущен. Безопасный перенос сверяет размер и хеш, между томами копирует, проверяет и только потом удаляет, а история позволяет отменить. На схеме — выборка из 12 файлов.

Технически

  • Go-бэкенд на Wails, интерфейс на React и TypeScript, SQLite без внешних библиотек.
  • Хеширование SHA-256 пулом потоков и проверка изменений во время чтения.
  • Безопасное перемещение со сверкой размера и хеша, между дисками — копия, проверка, удаление.
  • История с отменой, экспорт CSV, русский и английский интерфейс, светлая и тёмная темы.
  • Сборка и проверки в GitHub Actions, код открыт.

Go · Wails · React · SQLite

Обсудим ваш проект?

Обсудить проект