From d45fd908656898a01453fe70d2de6ecc72565cc6 Mon Sep 17 00:00:00 2001 From: q <301774981+audit0@users.noreply.github.com> Date: Sun, 4 Oct 2026 12:01:56 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=B5=D0=BD=D0=B4=D0=B8=D0=BD=D0=B3=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20GitHub=20Pages:=20docs/index.html?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/icon.png | Bin 0 -> 21080 bytes docs/index.html | 396 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 396 insertions(+) create mode 100644 docs/icon.png create mode 100644 docs/index.html diff --git a/docs/icon.png b/docs/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cb9dbb140cdd01885178608e9a5175510b0419c9 GIT binary patch literal 21080 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 SIr-N+@y_jghUK@M{{0Um#i`!_ literal 0 HcmV?d00001 diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..13534cc --- /dev/null +++ b/docs/index.html @@ -0,0 +1,396 @@ + + + + + +OffLoadAI — место на Mac без риска потерять данные + + + + + + + + + + + +
+ +
+ +
+
+
+ Иконка OffLoadAI +

Освободите место на Mac.
Ничего не потеряв.

+

OffLoadAI переносит большое в зашифрованный сейф на внешнем диске, чистит кеши и Docker и делает бэкап проектов и ключей. Каждую копию он проверяет, прежде чем удалить оригинал.

+ +
+

Установка на Mac — одна команда в Терминале:

+
+ curl -fsSL https://raw.githubusercontent.com/audit0/Offload/main/scripts/install.sh | zsh + +
+
+ +

Бесплатно · macOS 14+ · без регистрации · открытый код (MIT)

+ +
+ Обзор OffLoadAI: порядок работы, диск Mac и память +
+
+
+ +
+
+
+
Оригинал удаляется только после того, как копия перечитана с диска и совпала с ним байт в байт.
+
    +
  1. Копирование в сейф или на внешний диск.
  2. +
  3. Сверка: копия перечитывается с диска, и её SHA-256 сравнивается с оригиналом.
  4. +
  5. Проверка, что оригинал не менялся, пока шло копирование.
  6. +
  7. Удаление оригинала. Вернуть всё можно в любой момент, на любом Mac.
  8. +
+
+
+
+ +
+
+

Нажать «Начать» и ответить «да» или «не сейчас»

+

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

+
+
+
+
🔐

Зашифрованный сейф

Образ AES-256 на внешнем диске. Пароль знаете только вы. Сейф сам закрывается при сне, блокировке экрана и простое.

+
🧹

Разбор мусора

Кеши Xcode, Homebrew, npm, pip, Cargo, Gradle, браузеров и IDE, а также старые установщики. Всё уходит в Корзину, и любой пункт можно вернуть.

+
🐳

Docker

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

+
💾

Бэкап проектов и ключей

Обновляемая копия проектов без node_modules. ~/.ssh, .env, токены и ключи кладутся только в сейф.

+
🧠

Привычки

OffLoadAI учится на ваших ответах, только на этом Mac и без сети, и сам раскладывает похожее по нужным вопросам.

+
✨

AI-помощник

Подскажет, что в папке важно, а что мусор. Работает через Claude Code, ваш ключ API или локальную модель Ollama. Удаляет только то, что разрешают правила.

+
+
+
+ +
+
+

Как это выглядит

+
+ + + + + +
+
Разобрать: вопросы о найденном с ответами «да» и «не сейчас»
+

Вопросы о найденном: удалить мусор, очистить Docker, удалить лишние копии.

+
+
+ +
+
+

Что OffLoadAI не даст сломать

+

Эти правила выросли из реальных случаев, когда простой перенос папки ломал систему.

+
    +
  • Виртуальные машины и медиатеки (UTM, «Фото») не переносятся, иначе приложение их потеряет.
  • +
  • Данные приложений в ~/Library, ~/.ssh и ~/.config не трогаются.
  • +
  • Открытые файлы не переносятся, пока приложение их держит.
  • +
  • Права доступа на exFAT сохраняются рядом с архивом и возвращаются при восстановлении.
  • +
  • Выход посреди копирования не оставляет на диске недокопированных скрытых папок.
  • +
  • Docker: OffLoadAI следит за Docker.raw и прерывает операцию, если тот начинает расти.
  • +
+
+
+ +
+
+

Бесплатно всё, что нужно для ваших данных

+

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

+
+
+
+
+

OffLoadAI

+
0 ₽ навсегда
+
    +
  • Сейф: создание, смена пароля, копия заголовка
  • +
  • Перенос в сейф со сверкой и возврат
  • +
  • Разбор: мусор, Docker, установщики, крупное
  • +
  • Ключи и токены в сейф
  • +
  • Восстановление из бэкапа restic в iCloud
  • +
+ Скачать +
+
+
Для тех, у кого Mac — рабочий инструмент
+

OffLoadAI Pro

+
1 490 ₽ или $19 один раз
+
    +
  • Всё из бесплатной версии
  • +
  • Лишние копии: одинаковые файлы по SHA-256
  • +
  • Привычки: похожее само попадает в нужный вопрос
  • +
  • Бэкап проектов: обновляемая копия в сейф
  • +
  • Тома Docker в сейф: упаковка со сверкой
  • +
+ Купить в Telegram +

14 дней Pro бесплатно с первого запуска, без ключа и регистрации. Год обновлений, продление за полцены. Один ключ на все ваши Mac и ПК. Возврат в течение 14 дней.

+
+
+

Оплата: Telegram Stars, СБП, криптовалюта (USDT, TON). Ключ приходит в боте сразу после оплаты.

+
+
+ +
+
+

Есть версия для Windows

+

Те же разделы, тексты и правила. Сейф — образ VHDX с BitLocker (нужна Windows Pro). Ключ Pro один на обе системы. Установка одной командой в PowerShell:

+
+ irm https://raw.githubusercontent.com/audit0/Offload/main/windows/scripts/install.ps1 | iex + +
+

Windows 10 или 11, x64 или ARM. Права администратора не нужны. Ставить .NET отдельно не надо.

+
+
+ +
+
+

Вопросы

+
+
+
+ Куда уходят мои файлы и данные? +

Никуда. OffLoadAI работает без сети и без серверов, телеметрии нет. Ключ Pro проверяется подписью прямо на компьютере. В сеть выходят только AI-помощник, когда вы сами его спрашиваете и согласились, и проверка новых версий, если вы её включили.

+
+
+ macOS пишет, что не может проверить разработчика +

Приложение пока не прошло нотаризацию Apple. Поставьте его командой из Терминала: тогда предупреждения не будет. Если скачали DMG, откройте «Системные настройки → Конфиденциальность и безопасность» и нажмите «Всё равно открыть».

+
+
+ Что будет, если я забуду пароль от сейфа? +

Данные в сейфе не восстановить: пароль знаете только вы, OffLoadAI его не хранит. Храните пароль в менеджере паролей. Резервную копию заголовка сейфа OffLoadAI делает сам.

+
+
+ Чем это отличается от CleanMyMac? +

OffLoadAI не просто удаляет, а переносит на внешний диск: в зашифрованный сейф и со сверкой каждого файла. Перенесённое возвращается одной кнопкой. Он знает подводные камни разработчика (Docker, Xcode, виртуальные машины, ключи) и работает полностью офлайн.

+
+
+ Нужен ли внешний диск? +

Для сейфа и переноса — да, подойдёт любой: SSD, флешка или диск exFAT. Разбор мусора, кешей и Docker работает и без него.

+
+
+ Можно ли посмотреть код? +

Да, весь код открыт на GitHub под лицензией MIT. Модель угроз и известные ограничения описаны в SECURITY.md.

+
+
+
+ +
+
+

Попробуйте на своём Mac

+

Пара минут на установку, и вы увидите, сколько места можно вернуть.

+ +
+
+
+ + + + + +