# Audion Disk Tools — руководство

[English](USER_GUIDE_EN.md) · [О программе](README_RU.md) · [Справочник команд](COMMAND_REFERENCE_RU.md)

**Содержание**

- [Запуск](#запуск)
- [Рабочий маршрут](#рабочий-маршрут)
- [Лестница безопасности](#лестница-безопасности)
- [Режимы](#режимы)
- [Параметры безопасности](#параметры-безопасности)
- [Фильтры](#фильтры)
- [Облака](#облака)
- [Отчёты и терминал](#отчёты-и-терминал)
- [Проверка после изменений](#проверка-после-изменений)
- [Техническая часть](#техническая-часть)

Как работать: маршрут, лестница безопасности, режимы, фильтры, облака, отчёты.

## Запуск

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

Оба поднимаются и через быстрый выбор, и через обычное меню — если первого нет,
второе работает.

## Рабочий маршрут

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

| кнопка | что делает |
|---|---|
| Источник | выбрать папку-источник |
| Добавить файл… | выбрать один файл |
| Назначение | выбрать приёмник |
| Сбросить | вернуть проектные папки, файлов не трогая |
| Удалить | очистить текущие источник и назначение после подтверждения |
| Список | вывести имена файлов текущего источника |

Поля помнят историю путей; закреплённый поднимается наверх.

## Лестница безопасности

Для важных папок — четыре шага:

1. **Сравнение.** Что вообще различается. Ничего не пишется на диск.
2. **Пробный прогон** выбранного режима.
3. **Чтение отчёта:** что скопируется, что обновится, что уедет в карантин, что
   будет удалено.
4. **Настоящий запуск.**

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

## Режимы

| режим | направление | удаляет | когда |
|---|---|---|---|
| Проверка папки | одна папка | нет | контроль целостности по слепку сумм |
| Сравнение | источник → приёмник | нет | перед любой серьёзной операцией |
| Одностороннее | источник → приёмник | нет | обычный перенос: новое и изменённое |
| Зеркало | источник → приёмник | **да** | точная копия, включая удаление лишнего |
| Зеркало с карантином | источник → приёмник | в карантин | то же, но лишнее сохраняется |
| Двусторонняя | в обе стороны | нет | свести две рабочие папки |
| Слепок и разница | источник → приёмник | по действию | отфильтрованная разница как обновление или зеркало |
| Копирование по маске | источник → приёмник | нет | разовая выборка, например только `*.docx` |

## Параметры безопасности

### Способ сравнения

| значение | как сравнивает | когда |
|---|---|---|
| `quick` | размер и время | быстро, больше веры метаданным |
| `safe` | плюс сумма при совпавшем размере и разном времени | **по умолчанию**, для рабочих операций |
| `strict` | сумма для всех файлов одного размера | когда важны совпавшие размер и время |

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

| значение | что делает с лишним в приёмнике |
|---|---|
| `copy_update` | оставляет |
| `mirror_safe` | переносит в `_audion_quarantine` |
| `mirror_hard` | удаляет после успешных ранних фаз |

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

### Якорь

`anchor=true` в профиле требует файла `.audion-anchor` в обоих корнях **до**
начала обхода.

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

Якорь ставится один раз, отдельной командой:

```bat
runtime\python.exe system_core\main.py anchor N:\Projects
```

**Сам во время прогона он не создаётся никогда.** Иначе защита срабатывала бы от
чего угодно, кроме того единственного случая, ради которого заведена.

### Проверка перед запуском

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

Для зеркальных политик там же выдаётся подтверждение, привязанное к
просмотренному плану: запустить можно ровно то, что показали.

## Фильтры

Фильтр складывается из включающих и исключающих правил:

| правило | что делает |
|---|---|
| включающие маски | ограничивают рабочий набор |
| исключающие маски | вычитают лишнее из выбранного |
| предустановки | ссылаются на `config\sync_presets.json` |
| исключаемые каталоги | убирают `.git`, `node_modules`, кэши |
| скрытые | исключают пути, начинающиеся с точки |

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

Подробно — `tools\SYNC_PROFILES_RU.md`.

## Облака

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

Настройки по умолчанию портативные, внутри проекта. **Токены доступа и содержимое
этих настроек в файлы проекта не пишутся.**

Установка, перенос настроек, диагностика — `tools\RCLONE_PORTABILITY_RU.md` и
`tools\RCLONE_OPERATIONS_RU.md`; операции передачи — `tools\TRANSFER_RU.md`.

## Отчёты и терминал

Живой вывод с кириллицей и цветом, отчёты по каждой операции, последний отчёт
одной кнопкой.

Медленный канал не выглядит зависанием: ход выполнения показывается отдельно.

Подробно про рабочую область, терминал, подсказки и кэши —
`tools\WORKBENCH_AND_GUI_RU.md`.

## Проверка после изменений

Короткий набор команд — [список проверок](SMOKE_TEST_RU.md).

---

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

### Что где лежит

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

### Устаревшее

Ключ `dry_run_default` игнорируется с предупреждением. Направление и удаление
задаются явной политикой операции — это и было причиной замены: пробный прогон
не должен зависеть от настройки, о которой легко забыть.

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

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

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

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

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