|  |
| Автор |
Сообщение |
Eloquence ®
Стаж: 11 лет 7 мес.
Сообщений: 584
Ratio: 0.666
Поблагодарили: 799
100%
Откуда: Чеченская Республика
|
FNDup 2.2 [Ru/En] (Авторская раздача)
Версия программы: 2.2 Язык интерфейса: Русский, Английский Лечение: не требуется Системные требования: Описание:FNDup — это мощное и интуитивно понятное приложение, предназначенное для освобождения места на жестком диске путем интеллектуального поиска и безопасного удаления дубликатов файлов и папок. Программа предлагает пользователю множество гибких методов сканирования: от самого быстрого побайтового сравнения до продвинутых алгоритмов анализа схожести изображений, музыкальных треков и видеороликов. FNDup станет незаменимым помощником как для домашнего использования. Программа создана с упором на скорость работы и удобство. Встроенные механизмы индексации сохраняют результаты расчетов, позволяя многократно ускорить повторные проверки одних и тех же директорий. Интерфейс адаптирован для комфортной работы с большими массивами данных: он поддерживает темную и светлую темы, динамическую фильтрацию форматов, функцию Drag&Drop и имеет встроенные средства предпросмотра медиафайлов. Вы можете использовать списки исключений для системных файлов и гибко управлять результатами с помощью продуманного контекстного меню. - Многообразие алгоритмов: Поиск точных копий, схожих названий, визуально похожих изображений (с использованием перцептивных хешей) и аудио/видео файлов с одинаковым звучанием.
- Метод - Быстрое сканирование. Это самый производительный алгоритм. Сначала программа группирует файлы по размеру (так как разные по весу файлы не могут быть идентичны), затем для файлов с одинаковым размером мы читаем только первые 64 КБ и сравниваем их.Это происходит очень быстро даже для тысяч файлов. Только если совпали и размер, и первые 64 КБ, программа читает хеш файла целиком. Это отсеет 99% ложных совпадений без необходимости читать гигабайты хеш данных.
- Метод - Полное сканирование. Это комбинированный метод который включает в себя возможности других методов, а именно "Быстрое сканирование", "Похожие изображения", "Похожие аудиофайлы", "Похожие видеофайлы". Метод сначала делает сканирование методом "Быстрое сканирование" и паралельно прогоняет файлы остальными методами. Приоритет отдается методу "Быстрое сканирование" так как он самый точный, ибо сканирует и сравнивает файлы по хеш. В метод "Полное сканирование" также включены опции из остальных групп включая поиск дубликатов папок, поиск пустых папок и т.д.
- Метод - Сканирование по схожести. Анализирует имена файлов и частичное совпадение содержимого (размер и байтовая структура). Поиск документов с похожими названиями, дубликатов с небольшими изменениями.
- Метод - Поиск по начальным символам. Сравнивает имена файлов по первым N символам (от 3 до 30). Поиск версий файлов (например, Doc_v1, Doc_v2) или файлов с похожей структурой именования. Этот метод позволяет найти файлы, имеющие общий «корень» в названии. Это полезно, когда файлы копировались с добавлением суффиксов (например, ИмяФайла (1), ИмяФайла (2)). Вы можете задать порог длины, чтобы исключить слишком короткие совпадения. Поддерживает двуязычные поиск названий (например, GdePosylka и ГдеПосылка) будут считаться одинаковыми.
- Метод - Похожие изображения. В отличие от обычного хеширования, перцептивное хеширование «видит» изображение. Использует перцептивное хеширование (dHash, pHash, wHash) для анализа визуального контента. dHash (Difference Hash): Анализирует градиент яркости между соседними пикселями. pHash (Perceptual Hash): Рекомендуемый метод. Использует дискретное косинусное преобразование для поиска общих визуальных черт. wHash (Wavelet Hash): По логике наиболее точный метод, использующий вейвлет-преобразование для анализа деталей на разных частотах. Порой может вызывать ложные срабатывания. Поиск дубликатов фото, которые были сжаты, перевернуты, обрезаны или немного отредактированы. Рекомендуемый уровень схожести для поиска не ниже 90% для предотвращения ложных срабатываний.
В методе похожие изображения, после сканирования, в каждой группе по-умолчанию выбирается изображение "эталон". Алгоритм выбирает его сам как изображение с лучшим качеством. Эталон всегда находится в левом блоке предросмотра, а в правом показывается изображение на который вы кликаете мышкой. Чтобы самому задать эталон, поставьте галочку напротив нужной картинки.
- Метод - Похожие аудиофайлы (Акустический анализ). Используется утилита fpcalc (библиотека AcoustID). Программа извлекает звуковую «подпись» (аудио-фингерпринт) из файла. Этот отпечаток уникален для конкретной мелодии. Даже если файл перекодирован из WAV в MP3 или изменен битрейт, «отпечаток» останется идентичным, что позволяет программе найти дубликат там, где обычный поиск по хешу файла бессилен. Тест показал отличный результаты определив схожесть ~85% даже между треками на разных языках: t.A.T.u. - Я сошла с ума.mp3 и треком t.A.T.u. - All The Things She Said.mp3
Это одна и та же песня на русском и на английском, но мотив музыки один. Отличается лишь язык на котором поет исполнитель (русский и английский). Акустический анализ определил схожесть как раз по мотиву песни.
- Метод - Похожие видео (только с аудио). Анализирует только аудиодорожку видеофайла на предмет совпадения звукового ряда. По сути тот же метод что и "Похожие аудиофайлы" только адаптированный под видеофайлы. В отличии от нейросетей, которые требуют очень много ресурсов и времени, данный метод значительно эффективен. Единственный недостаток - не найдет дубликаты видео в которых нет звука.
- Продвинутый предпросмотр: Воспроизводите найденную музыку прямо из списка результатов, открывайте видео в системном плеере и сравнивайте похожие фотографии в специальном блоке с подсвечиванием лучшего разрешения и размера.
- Индексация результатов: Ускорение повторных поисков за счет сохранения хешей и данных сканирования на диске.
- Гибкие фильтры: Поддержка Live-фильтрации расширений и категорий в реальном времени, а также продвинутые фильтры по размеру файлов.
- Безопасность: Ведение подробного лог-файла удаленных элементов и возможность восстановления удаленных файлов прямо из программы.
- Поддержка темной темы
- Поддержка Drag & Drop
- Глубина сканирования. Можно задать глубину сканирования до 99 папок. 0 папок означает сканирование только выбранной папки без учета подпапок
- Опция "Только файлы второй папки, совпадающие с первой": Эта опция - инструмент для умного сравнения и очистки. Представьте, что у вас есть «Эталонная папка» (первая) и «Рабочая папка» (вторая). Опция «Только файлы второй папки, совпадающие с первой» помогает вам найти и выделить в «Рабочей папке» именно те файлы, которые уже есть в «Эталонной». Это нужно если вы занимаетесь коллекционированием и обновлением файлов внутри эталонной папки. Это как если бы вы скачивали обновления и новые версии программ, но у вас уже есть старая версия скачанной программы. Чтобы не сканировать весь каталог где у вас старая версия на наличие дубликатов, можно сканировать только каталог с новой программой на наличие дубликатов с каталогом старой версии программы. Простыми словами: «Покажи мне из второй папки всё то, что является дубликатом содержимого первой папки».
Как это работает (на примере):
Представьте, что у вас есть две папки: Папка №1 (Программы): Содержит куча программ по типу Adobe Photoshop 2025, 7-zip 18.0, PotPlayer 250112 и сотни других Папка №2 (Загрузки): Содержит скачанные файлы из интернета среди которых Adobe Photoshop 2026, DaVinci Resolve 21, Google Chrome и другие
Если вы выберете эту опцию: Программа проигнорирует DaVinci Resolve 21, Google Chrome (так как его нет в первой папке) и покажет схожесть только между Adobe Photoshop 2026 и Adobe Photoshop 2025.
Эту опцию отчасти можно считать функцией сравнения двух папок между собой.
Добавлено:- Добавлен новый метод "Полное сканирование". Это комбинированный метод который включает в себя возможности других методов, а именно "Быстрое сканирование", "Похожие изображения", "Похожие аудиофайлы", "Похожие видеофайлы". Метод сначала делает сканирование методом "Быстрое сканирование" и паралельно прогоняет файлы остальными методами. Приоритет отдается методу "Быстрое сканирование" так как он самый точный, ибо сканирует и сравнивает файлы по хеш. В метод "Полное сканирование" также включены опции из остальных групп включая поиск дубликатов папок, поиск пустых папок и т.д.
- Сделана единая индексация и кэширование с базой данных (SQLite) которая хранит для каждого файла: путь, размер, mtime, хеш (MD5 для точных дубликатов), perceptual-хеши (для изображений), отпечатки аудио/видео (как BLOB), а также метаданные (длительность, разрешение и т.д.). При сканировании проверяется, изменился ли файл (по mtime и размеру), если нет – берутся данные из базы данных (SQLite), если да - идет пересчитывание. Это дало огромный выигрыш при повторных сканах одной и той же папки и позволили обновлять индексы инкрементально.
- В логирование добавлена возможность восстановить удаленный файлы из корзины. Перед каждым файлом перед названием имеется кнопка восстановить. Также в логирование добавлены опции показать "Только папки" или "Только файлы"
- Выполнено ускорение обхода файловой системы. os.walk заменен на os.scandir в комбинации с рекурсивным обходом возвращает объекты DirEntry, что ускорило сканирование для всех методов, так как избегает лишних системных вызовов.
- Добавлена поддержка взаимосвязи между файлами/папками в группах. Если один и тот же файл или папка будет указан в качестве дубликата в нескольких группах, то удаление этого файла в одной группе, удалит его во всех остальных группах тоже. Также добавлен мутьтивыбор. Выделение файла из одной группы, выделит его и в других группах если он там есть.
- Добавлена опция показать сетку для списка результатов. Теперь столбцы и группы лучше разграничиваются и визулально более понятно где/что.
- Для разных типов(расширений) файлов в результатах теперь используются разные иконки для лучшего визуального восприятия. Иконки добавлены для видеофайлов, музыки, картинок, документов, файлов программирования, системных файлов Windows и других. В будушем будут дополняться.
- Нажатие кнопки delete удаляет добавленную папку. Также можно перемещать папки мышкой и менять их местами в блоке добавленные папки.
- В метод "Быстрое сканирование" добавлены опции "Искать дубликаты только папок" и "Искать пустые папки"
- Добавлена возможность менять масштаб интерфейса (80% 90% 100% 110% 115% 125%) в настройках, а также зажатием клавиши CTRL+Прокрутка колеса мышки в окне результатов.
- В настройки добавлена опция "Сохранять настройки". Для каждого метода сохраняются последние использованные настройки, масштаб интерфейса, а также расположение столбцов и их ширину, чтобы при перезапуске были применены последние использованные настройки в программе.
- В главное окно программы добавлена рамка "Добавьте или перетащите файлы" при нажатии на которую открывается диалоговое окно добавления папок. Также добавлена такая же рамка если поиск не дал результатов, рамка покажет "Ничего не найдено".
- В контексное меню добавлена опция "Свойства" которая открывает системное свойство файла.
Изменено:- Обновлен метод "Быстрое сканирование". Он стал еще быстрее. Применено двухэтапное хеширование (Partial Hashing). Сначала файлы группируются по размеру, затем для файлов с одинаковым размером мы читаем только первые 64 КБ и сравниваем их. Это происходит очень быстро даже для тысяч файлов. Только если совпали и размер, и первые 64 КБ, программа читает хеш файла целиком. Это отсеет 99% ложных совпадений без необходимости читать гигабайты хеш данных.
- Обновлены методы "Похожие изображения", "Похожие аудиофайлы", "Похожие видео". Для изображений применен метод хеширования Locality Sensitive Hashing (LSH) и организован поиск по битовому расстоянию Хэмминга через multi-index hashing. Для аудиофайлов/видеофайлов также применен Locality Sensitive Hashing (LSH) для векторов отпечатков. И другие изменения. В целом, скорость работы методов сканирования улучшилось в пределах ~15-20%
- Опция "Сохранить результаты" заменена на "Импорт сессии" и "Экспорт сессии". При экспорте сессии сохраняется состояние сканирования вместе со списком файлов, метод сканирования который использовался для поиска файлов, отмеченные файлы, фильтры из "Исключения" и "Фильтр расширений". Данная возможность позволит отложить на потом удаления файлов, а затем вернуться к задаче в подходяшее врмя.
- Убрано автоматическое выставление чекбока для всех папок при добавлении новой папки в программу. Раньше, при добавлении папки в программу, чекбокс выставлялся не только для него, но и также для всех остальных добавленных папок для которых пользователь снял чекбокс.
- В главном окне программы изменен параметр "Всего файлов:" который показывал количество найденных дубликатов на "Всего просканировано/найдено:" который показывает сколько файлов просканировано и сколько найдено дубликатов.
- Шкала прогресса стала немного "живой", чтобы пользователь не подумал, что программа зависла в процессе сканирования.
- Обновлен визуальный вид контекстное меню.
- Окно предпросмотра изображения теперь автоматически скрывается при клике в любом свободном месте программы.
- (Экспериментально) Изменен метод прогрузки результатов в списке результатов при большом количестве дубликатов. Раньше, если программа находила большое количество дубликатов(несколько тысяч), она могла зависнуть пытаясь все это отобразить в списке результатов. Новый метод при тестах показал устойчивость к отображению ~10000 дубликатов.
- (Экспериментально) Переработан механизм задействования GPU для ускорения сканирования
- Некоторые визуальные и косметические изменения в интерфейсе
Исправлено:- Программа не могла удалить воспроизводимый аудиофайл пока не будет переключено воспроизведение на другой файл. Теперь это исправлено и файл можно удалить даже прямо во время воспроизведения.
- Исправлено отображение размера файлов которые весят меньше 1кб. Теперь размер файла в байтах отображается правильно.
- Исправлена ошибка неправльного отображения размера удаленной папки в сплывающем окне, а также в логе программы. Для удаленных папок везде отображался размер 4кб, вместо реального размера.
- Если после удаления нескольких файлов из группы дубликатов, в группе остается один дубликат файла или одна папка, то такая группа будет убрана полностью. В версии 2.1 могли оставаться группы дубликатов с одним файлом после удаления из группы файлов дубликатов. В группе дубликатов с одним файлов нет никакого смысла.
- Текст "Группа дубликатов" не переводился на английский язык при смене языка. Исправлено.
- В окне предпросмотра фото, если найдены дубликаты иконок (файлы .ico) то в окне предпросмотра отображался минимальный размер иконок 16x16. Все было размыто и растянуто, хотя в самой иконке есть размеры выше, к примеру 128x128. Теперь для иконок отображается максимально доступный размер.
- В темной теме, шкала вертикальной и горизонтальной прокрутки (Scrollbar) выходил за границу стрелки (кнопки) прокрутки, а точнее накладывается на него, хотя должен отстанавливаться когда доходит до стрелки а не пересекать его. Исправлено.
- Опять/Снова заработало сортировка столбцов.
Скриншоты:
Время раздачи: 24/7 до первых устойчивых сидов (минимум до появления первых 3-5 скачавших) |
|
|
|
|
 |
moochenik
Стаж: 10 лет 2 мес.
Сообщений: 17
Ratio: 13.207
5.75%
|
Интересное решение, вот бы ещё портативную версию сделать  |
|
|
 |
Eloquence ®
Стаж: 11 лет 7 мес.
Сообщений: 584
Ratio: 0.666
Поблагодарили: 799
100%
Откуда: Чеченская Республика
|
moochenik писал(а):  | Интересное решение, вот бы ещё портативную версию сделать  |
Так она можно сказать портативная. Запускайте и пользуйтесь. Создает немного файлов в Temp которые удаляются при перезагрузке, и папку рядом откуда запускаете программу, в котором хранится log и папка index. P.S. Почему-то скорость отдачи стоит по нулям, хотя подключились ~20 Leechers. Возможно провайдер начал блокировать p2p. Попробую раздать через VPN. |
|
|
 |
kotpos2
Стаж: 14 лет 7 мес.
Сообщений: 10
Ratio: 2.627
55.56%
Откуда: Moskow
|
Eloquence Спасибо за обновление. |
|
|
 |
covex_sev
Стаж: 17 лет 5 мес.
Сообщений: 62
Ratio: 2.326
34.72%
|
Добрый день, спасибо за утилиту и ее раздачу. Вопрос к автору - будет ли работать с папками подключенными по сети? Нет ли планов собрать утилиту для Nix систем, в частности Debian? интересует вариант без GUI |
|
|
 |
Eloquence ®
Стаж: 11 лет 7 мес.
Сообщений: 584
Ratio: 0.666
Поблагодарили: 799
100%
Откуда: Чеченская Республика
|
kotpos2 писал(а):  | Спасибо за обновление. |
Всегда пожалуйста) Исправил ошибку о котором Вы писали. Добавлено спустя 4 минуты 1 секунду: covex_sev писал(а):  | Вопрос к автору - будет ли работать с папками подключенными по сети? |
Не проверял, так что не могу дать точный ответ. covex_sev писал(а):  | Нет ли планов собрать утилиту для Nix систем, в частности Debian? |
Я давно об этом думаю. Вроде ничего сложного быть не должно. Рассматриваю именно вариант с GUI, портативного формата AppImage, чтобы не возиться с пакетами deb и rpm. А вот опыта создания CLI у меня нет, хотя по идее должно быть намного проще без возни с интерфейсом. |
|
|
 |
covex_sev
Стаж: 17 лет 5 мес.
Сообщений: 62
Ratio: 2.326
34.72%
|
Eloquence писал(а):  | Я давно об этом думаю. Вроде ничего сложного быть не должно. |
где бы подписаться )) ? чтобы не пропустить Добавлено спустя 1 час 15 минут 59 секунд: covex_sev писал(а):  | Вопрос к автору - будет ли работать с папками подключенными по сети? |
проверил, нормально работает (во всяком случае по SMB), если у пользовтаеля все нужные разрешения есть, то файлы удаляются без проблем. пока не разобрался как массово выбрать файлы, а не поштучно выделять для удаления |
|
|
 |
dikol38
Стаж: 16 лет 3 мес.
Сообщений: 86
Ratio: 68.323
100%
|
Нельзя диски выбрать, только папки. Не очень удобно для полного поиска дубликатов |
_________________ Является ли каша в голове - пищей для ума?
|
|
 |
Eloquence ®
Стаж: 11 лет 7 мес.
Сообщений: 584
Ratio: 0.666
Поблагодарили: 799
100%
Откуда: Чеченская Республика
|
dikol38 писал(а):  | Нельзя диски выбрать, только папки. Не очень удобно для полного поиска дубликатов |
Так в чем проблема нажать добавить папку, а затем выбрать диск? Или обязательно нужна отдельная опция выбора диска? Добавлено спустя 6 минут 44 секунды: covex_sev писал(а):  | где бы подписаться )) ? чтобы не пропустить
|
Если сделаю, выложу сюда же в соответствующий раздел. Но это не скоро. covex_sev писал(а):  | пока не разобрался как массово выбрать файлы, а не поштучно выделять для удаления |
Из массового выделения есть только опция "Выбрать старые файлы" в контекстном меню, которая выбирает среди результатов старые файлы исходя из его даты изменения. Также можно выбрать зажав Shift или Ctrl нужные файлы и нажать пробел. Пока ничего лучше не придумал. В любом случае приходится смотреть и выбирать вручную для надежности. |
|
|
 |
daxx0r
Uploader 100+
Стаж: 13 лет 7 мес.
Сообщений: 13
Ratio: 821.352
Раздал: 230.5 TB
Поблагодарили: 2
100%
|
Решил попробовать вашу прогу на своих 100к музыкальных треках, 3Тб объемом, где я уже заранее знаю, где и какие повторы.
1. Долго. Очень. Уже 1,5 суток. 2. Не информативно. Найдено до сих пор 0, хотя 86,3% уже прошло. И не понятно, что оно сейчас делает. Только активность проца в таск менеджере выручает. Либо добавьте лог, либо строку статуса, что оно с чем сверяет. И какой-либо счетчик обработанных/проверенных/всего, я не знаю, а то вообще не понятно, когда это закончится. Либо добавляйте по мере нахождения в список, что лучше всего. 3.Однопоточность. Серьезно? в 26 году? Не смешно. Разберитесь с этим и введите в настройки, чтобы люди могли сами ограничивать количество используемых ядер. Я бы порекомендовал для ускорения сравнения учитывать физичиские носители. Если сравниваемые папки находятся на разных физичеких носителях - их можно использовать одновременно, а не по очереди. Это опять же про многопоточность. 4. У вас какой-то странный паттерн сканирования - задом наперед. Но это ладно, мелочи. Вина питона, может быть.
По качеству пока ничего сказать не могу, дождусь окончания и сравню результаты с Similarity. Пока самые лучшие результаты показала она. Я много прог протестировал. Это про музыкальные файлы, остальное мне не интересно.
Если вы не вайбкодите, а реально сами этим занимаетесь, могу только удачи пожелать.
Добавлено спустя 1 час 3 минуты 41 секунду:
Завершилось сканирование. 1. Не сортируется правильно по столбцу схожести. Если песни уже в группе, учитывайте процент только для группы и по этим поцентам сортируйте. Так будет работать. 2. Уберите в принципе строку группа дубликатов, она мешает восприятию таблицы, она не нужна. Она как минимум на треть увеличивает список. Поросто разграничьте разные группы разными цветами, как это сделано сейчас черезстрочно, только по группам. 3. Строку воспроизведения-перемотки лучше встроить в строку имени файла с перекрытием, чтобы список не скакал, это очень бесит порой, пусть лучше перекрывает часть пути. 4. Когда выделяешь файлы, ожидаешь, что ко всем выделенным будет применено действие пкм, например - копировать. Но хрен там, только к тому, на который нажал. Это тоже надо доработать. 5. С шифтом в списке просто аномалии, я даже разобраться не с мог. Я бы сделал мльтивыделение по папке, откуда оно было начато. С контролом и пробелом наоборот все збс.
Самое главное - если будете делать автоматическое помечение, не забудьте сделать маркер мастер-папки. Это папка, в которой ни при каких обстоятельствах файлы не будут помечаться и удаляться.
Пока вроде все. Найдено много дубликатов, но без сортировки нормальной это жесть, невозможно оценить, где 90%, а где 100%. |
|
|
 |
|
|
|