# Audion Disk Tools

Двухпанельный файловый менеджер для Windows: вкладки и диски как в Total Commander, фильтр масками, сохранённые панели, копирование через robocopy с проверкой BLAKE3, синхронизация, архивация и распаковка — в одном окне, без установки.

Программа на .NET 10 и Avalonia; всё нужное лежит в папке проекта: сама программа со своей средой выполнения, архиватор PeaZip, rclone, редакторы Microsoft Edit и micro и портативный Windows Terminal (все под MIT).

## Запуск

`Start.exe` в корне папки. Ничего ставить не нужно: .NET, PeaZip и rclone едут вместе с программой. Папку можно переносить куда угодно — настройки и история работы лежат в ней же, в `config\`.

## Что умеет

- **Две панели** с вкладками, дисками, «хлебными крошками» и раскраской строк по типам файлов из MASKS (темы Audion Dark, Audion Code Dark, Audion Vault Dark — интерфейс в цветах Audion DPI Manager, у панелей меняется только фон, — и Audion Light).
- **Фильтр масками** на панель: показывает только нужные файлы вместе со структурой папок; копирование из отфильтрованной панели берёт только их.
- **Сохранённые панели**: папка и отмеченное одной или обеих панелей — одной кнопкой туда и обратно.
- **Совместимость с Total Commander**: файлы вкладок `.tab` (в TC — «Сохранить вкладки в файл») импортируются и экспортируются: папки вкладок, закрепление (заблокированные вкладки TC), подписи, сортировка, активная вкладка, одна панель или обе. Отметки и фильтры масок хранит только свой формат `.json`.
- **Копирование и перенос** (F5, F6) через robocopy: потоки NTFS, времена создания и изменения, атрибуты, папки в 8 потоков. Или rclone — переключается в SETTINGS.
- **COPY, MIRROR, BISYNC** (F11, F12): долить новое, сделать точную копию (сначала считает, сколько удалится), двусторонняя синхронизация.
- **Проверка BLAKE3**: после копирования источник и копия читаются ещё раз, копия — с диска, мимо кэша; перенос удаляет исходный файл только после совпадения.
- **Архивация** (ALT+F5): ZIP, 7Z, SFX, TAR, TAR.GZ, TAR.ZSTD; сжатие, шифрование AES-256, приставки и окончания имён с номером, раскладка, тест архива после создания.
- **Распаковка** (ALT+F9) пакетом: в соседнюю панель или здесь, «умно» или каждый архив в свою папку; тома и TAR внутри GZ/ZSTD/XZ открываются сами.
- **Вход в архив** по Enter: ZIP, 7Z, RAR, TAR, ISO и TAR в GZ/BZ2/XZ/ZSTD открываются как папка; F5 распаковывает отмеченное в соседнюю панель, Ctrl+A и F5 — архив целиком. Внутри — только чтение.
- **Меню Проводника** по правой кнопке, корзина по F8, мимо корзины — SHIFT+DEL.
- **Три языка** интерфейса: русский, английский, немецкий — на лету.
- **COLORS**: свои цвета окна, панелей и типов файлов для каждой темы; фон списка — градиент с плёночным зерном.
- **Быстрый запуск и трей**: знак Audion появляется сразу после щелчка, окно — раньше своих списков. По желанию программа сворачивается в трей, запускается в нём и вместе с Windows — SETTINGS · ЗАПУСК И ТРЕЙ.
- **Обновления**: в середине верхней строки — программа, PeaZip и rclone с версиями и точками: зелёная — последняя, светло-оранжевая — на GitHub есть новее.

## Папки проекта

| Папка | Что внутри |
| --- | --- |
| `Start.exe` | запуск программы |
| `App\` | собранная программа со средой выполнения .NET и данными: словарь переводов, цвета TC, группы масок |
| `Tools\` | PeaZip (только его движки архивации `7z` и `zstd` с лицензиями) и rclone |
| `config\settings.json` | вид и выборы: язык, тема, шрифты, цвета, движок; переживают чистку |
| `config\history\` | история работы: вкладки, сохранённые панели, свои маски, пары BISYNC; уходит при чистке |
| `._runtime\` | одноразовое: журнал операций, ответ GitHub о версиях, промежуточные папки сборки |
| `Source\` | исходный код программы |
| `Engine\` | сборка: программа, запускатель, инструменты, проверка |
| `Docs\` | документация |

## Сборка и выпуск

Программа в `App\` уже собрана и едет в выпуск как есть. Пересобирать её нужно только после правки кода — это требует .NET 10 SDK и делается намеренно.

`builder_main.cmd`:

- `[01] BUILD APP` — сначала проверки `[03]`, затем пересборка программы в `App\` (нужен .NET 10 SDK); если проверка не прошла, `App\` не трогается;
- `[02] START LAUNCHER` — пересобрать `Start.exe` с иконкой программы;
- `[03] CHECKS` — сценарии, в которых программа когда-то теряла или портила данные (аудиты 24.09.2026): перенос с проверкой BLAKE3, СТОП, маски на обоих движках, пересечение путей, junction, архивы, настройки, установщик. Идут на одноразовых файлах во временной папке Windows с настоящими robocopy, rclone и PeaZip; корзина не используется. Отчёт — в `._runtime\tests\`;
- `[05] PEAZIP`, `[07] RCLONE` — переустановить инструмент принудительно;
- `[06] TOOLS IF NEWER` — сверить PeaZip и rclone с GitHub и скачать только то, что устарело или отсутствует;
- `[70] CLEAN CACHE` — убрать промежуточные файлы сборки;
- `[71] VERIFY` — проверить, что всё на месте и версии сходятся; предупреждает, если `App\` собран раньше последней правки в `Source\`.

Перед выпуском достаточно `[06]`, `[70]`, `[71]`.

`cleanup_project.cmd` убирает историю работы (`config\history`), одноразовое (`._runtime`) и остатки сборки (`Source\bin`, `Source\obj`, `Engine\Tests\bin`, `Engine\Tests\obj`, `tmp`); программа, инструменты и `config\settings.json` остаются.

## Автор

Tensionix · [tensionix.com](https://tensionix.com) · [audion.dev](https://audion.dev)
