AudionAudion

Disk Tools

github.com/Tensionix/disk-tools ↗
Сборки этого проекта: версии, файлы и контрольные суммы.
Disk Tools

Необычный способ копировать и зеркалить данные между дисками, сетевыми и облачными ресурсами — через пресеты и маски. Архивация множественных источников с масками, работа с RClone в окне, а не в консоли. Отвалившийся сетевой диск выглядит для системы как обычная пустая папка — и зеркало честно стирает в приёмнике всё. Здесь этого не случится: в обоих корнях требуется файл-якорь, и без него прогон не начинается. Удалённое можно не удалять, а уводить в карантин с отметкой времени; у любой операции есть пробный прогон и потолок удалений. Сверять файлы можно по размеру и дате, а можно по хешу — вплоть до строгого режима, который не верит даже совпавшему времени. Маршрут задаётся любой: локальный диск, внешний, сетевая шара, S3, SFTP, облако по OAuth. Терабайты не нужно втягивать внутрь программы, а движок под конкретную пару выбирается сам — Robocopy на папки и шары, RClone на облака и сверку по хешу — и назван в окне до старта, так что невозможная пара видна раньше, чем тронется первый байт. Отправку мелких файлов спасает упаковка на лету: замерено 24 МБ/с одним архивом против 0,46 МБ/с россыпью. Интерфейс не подменяет команды: он их составляет, показывает целиком и запускает — источником правды остаётся консольное ядро.

4.0.1
3 загрузки с GitHub

Audion Disk Tools

English · Руководство · Справочник команд

Содержание

Портативный набор для работы с дисками и файлами в Windows: сверить, обновить, зеркалировать, отфильтровать по типам, упаковать, передать по сети или в облако.

Зачем это сделано

Синхронизация файлов — задача, где ошибка обходится дороже всего остального. Программа, которая «просто копирует», однажды удаляет то, чего в источнике уже нет, — и выясняется это, когда источник тоже потерян. Программа, которая «умно решает», делает это молча.

Здесь всё наоборот: направление, удаление и способ сравнения объявлены явно, а перед любой серьёзной операцией есть шаг, который ничего не меняет.

Лестница безопасности, по которой идут:

1. сравнить            что вообще различается — без записи на диск
2. предпросмотр        что именно будет скопировано, обновлено, удалено
3. запуск              то, что показал предпросмотр

Для повседневного зеркалирования держат безопасный способ сравнения; строгий включают, когда важны файлы одного размера с одинаковым временем.

Принципы

Никаких двух фиксированных папок. Источник и назначение выбираются произвольно: внешний диск, сетевой путь, большой каталог. Терабайты не копируются внутрь проекта, чтобы с ними поработать.

Способ сравнения назван вслух.

способкак сравнивает
быстрыйразмер и время
безопасныйплюс контрольная сумма там, где размер совпал, а время разошлось
строгийсумма для всех файлов одного размера, даже при совпавшем времени

Безопасный не ловит случай «тот же размер, то же время, другое содержимое» — для этого есть строгий.

Удаление — это отдельная политика, а не побочный эффект. Одностороннее обновление ничего не удаляет. Жёсткое зеркало удаляет то, чего нет в источнике, — и называется жёстким. Есть промежуточный вариант: лишнее уезжает в карантин, а не стирается.

Облака отделены от файлов. Обычные пути — локальные и внешние диски, сетевые папки, смонтированные удалённые хранилища — идут через файловый движок. Настоящие облачные хранилища живут в отдельном разделе на своём движке. Токены доступа и содержимое его настроек в файлы проекта не попадают.

Пропавший диск — не пустая папка. Отключившийся сетевой монтаж Windows показывает как существующий и пустой каталог, и зеркало прочитало бы это как «удалить в приёмнике всё». Поэтому у профилей с сетевым корнем стоит якорь: файл .audion-anchor должен лежать в обоих корнях до начала обхода. Он создаётся один раз отдельной командой и никогда не создаётся сам во время прогона — иначе защита защищала бы от чего угодно, кроме настоящего случая.

Перед запуском показывают, чем рискуете. Карточка над командой называет три вещи: на месте ли якорь, хватает ли свободного места под планируемую запись и сколько файлов будет удалено — числом и долей от приёмника. Для зеркальных политик там же выдаётся подтверждение, привязанное к просмотренному плану: запустить можно ровно то, что показали.

Проверено на настоящих папках, а не на примерах. В последнем прогоне: копирование по маске *.docx перенесло 29 документов, слепок сумм построен на 2478 записей, проверка этого слепка прошла. Интерактивным остаётся только выбор папки системным окном — он требует живого нажатия.

Что умеет

раздело чём
Сравнениечто различается между двумя папками, без изменений на диске
Одностороннее обновлениеновые и изменённые уходят в приёмник, ничего не удаляется
Зеркалоточная копия источника, включая удаление лишнего в приёмнике
Зеркало с карантиномто же, но лишнее уезжает в карантин
Двусторонняя сверкаобмен недостающим и более новым, без автоматических удалений
Слепок и разницасписок путей с контрольными суммами, применяемый как обновление или зеркало
Копирование по маскеразовая выборка: только документы, только медиа, только своё
АрхивацияZIP, 7Z, SFX, TAR и его сжатые варианты; шифрование, самораспаковка
Передача данныхпапка, сетевая шара, сервер и облако наравне; движок под пару выбирается сам

Фильтр по типам файлов — не список расширений в поле, а браузер: группы для документов, разработки, медиа, архивов, приложений, временного, плюс свои маски.

Дальше


Техническая часть

Запуск

launcher_project.cmd     основной
launcher_profiles.cmd    сохранённые профили синхронизации

Оба работают и через быстрый выбор, и через обычное меню.

Режимы и с чего начинать

сценарийкоманданаправлениеудаляетс чего начать
проверка папкиauditодна папканетсразу
сравнениеcompareисточник → приёмникнетперед любой серьёзной операцией
одностороннее, пробноsync --dry-runисточник → приёмникнетпосле сравнения
одностороннееsyncисточник → приёмникнетпосле пробного
зеркало, пробноbackup --previewисточник → приёмникнетпо желанию
зеркалоbackupисточник → приёмникдакогда это нужно
зеркало с карантиномbackup --operation-policy mirror_safeисточник → приёмникв карантинпо желанию
двусторонняя, пробноsync2 --dry-runв обе сторонынетперед запуском
двусторонняяsync2в обе сторонынетпосле пробного
копирование по маскеcopy_by_mask --mask-globsисточник → приёмникнетпробный прогон
сохранённый профиль--pairпо настройкепо политикесравнение → предпросмотр → запуск

Устаревший ключ dry_run_default игнорируется с предупреждением — направление и удаление задаются явной политикой операции.

Что где лежит

config\sync_presets.json    предустановки фильтров
config\sync_pairs.json      сохранённые пары папок и политики
config\rclone\rclone.conf   портативные настройки облаков

Границы файлового движка

Основной движок работает с тем, что Windows и Python видят обычной папкой: локальные и внешние диски, сетевые пути, смонтированные сетевые папки, локальные папки облачных клиентов, смонтированные удалённые хранилища.

Настоящие облачные хранилища — раздел передачи данных: он ходит своими движками, по умолчанию через портативные настройки в проекте, и не хранит ни токенов, ни содержимого этих настроек в файлах проекта.

Названия в рабочей области

Единый словарь для всех проектов Audion: Источник, Добавить файл…, Назначение, Сбросить, Удалить, Список. По-английски: Source, Add file…, Target, Reset, Delete, List.

Сбросить возвращает проектные папки и файлов не трогает. Удалить очищает текущие источник и назначение только после подтверждения. Слова «Цель», «Очистить», Destination и Clear для этих кнопок не используются.

Версии
4.0.1
Audion_Disk_Tools_v4.0.1_Full.zip233 МБ4 сентября 2026sha256только здесь
Audion_Disk_Tools_v4.0.1.zip7.7 МБ4 сентября 2026sha256только здесь
README_EN.dark.pdf125 КБ4 сентября 2026
README_EN.light-sand.pdf125 КБ4 сентября 2026
README_EN.md7.7 КБ4 сентября 2026
README_RU.dark.pdf148 КБ4 сентября 2026
README_RU.light-sand.pdf148 КБ4 сентября 2026
README_RU.md12.9 КБ4 сентября 2026
USER_GUIDE_EN.dark.pdf119 КБ4 сентября 2026
USER_GUIDE_EN.light-sand.pdf119 КБ4 сентября 2026
USER_GUIDE_EN.md6.7 КБ4 сентября 2026
USER_GUIDE_RU.dark.pdf139 КБ4 сентября 2026
USER_GUIDE_RU.light-sand.pdf139 КБ4 сентября 2026
USER_GUIDE_RU.md11.1 КБ4 сентября 2026
Установка

Программа портативная: распакованная папка и есть установленная программа. Реестр не трогается, удаление — удалить папку.

$name = "Audion_Disk_Tools_v4.0.1_Full.zip"
Invoke-WebRequest "https://audion.dev/get/disk-tools/4.0.1/Audion_Disk_Tools_v4.0.1_Full.zip" -OutFile $name
Invoke-WebRequest "https://audion.dev/get/disk-tools/4.0.1/Audion_Disk_Tools_v4.0.1_Full.zip.sha256" -OutFile "$name.sha256"

$want = (Get-Content "$name.sha256").Split(" ")[0]
$have = (Get-FileHash $name -Algorithm SHA256).Hash.ToLower()
if ($want -ne $have) { throw "сумма не сошлась: загрузка повреждена" }

Expand-Archive $name -DestinationPath ".\disk-tools"
Все загрузки · На главную