KeysArk
ark CLI

Документация ark CLI

Читайте и записывайте своё хранилище со сквозным шифрованием из терминала. Ваш открытый текст и фраза остаются локально — устройство покидает только шифртекст.

Что это

ark — это официальный клиент командной строки KeysArk. Он переносит веб-хранилище в ваш терминал: список записей, чтение по пути, сохранение локальных файлов, создание и обновление записей. Всё шифрование и расшифровка происходят локально с вашей мнемонической фразой — сервер и облачный бэкенд работают только с непрозрачным шифртекстом.

Установка

@keysark/cli@1.0.7
npm install -g @keysark/cli

Требуется Node.js 18+. Устанавливает команду ark (с псевдонимом keysark).

Первоначальная настройка

Два шага: авторизуйте это устройство, затем импортируйте свою фразу.

ark login

ark login использует авторизацию по коду устройства: терминал показывает ссылку и код; откройте его в браузере, подтвердите совпадение кода и разрешите. Предоставленный доступ эквивалентен сессии браузера — он может только перемещать шифртекст, но не вашу фразу или открытый текст.

ark import

ark import запрашивает вашу мнемоническую фразу и задаёт локальный пароль разблокировки. Фраза шифруется ключом, выведенным через Argon2id, и хранится локально (~/.keysark) — никогда не загружается. Разблокировка остаётся в кэше до 5 минут бездействия, чтобы вам не приходилось вводить пароль повторно.

Справочник команд

  • ark loginАвторизовать это устройство по коду устройства (открывает браузер для подтверждения).
  • ark importИмпортировать мнемоническую фразу и задать локальный пароль разблокировки.
  • ark statusПоказать статус входа и фразы.
  • ark infoПоказать версию, источник сервера и каталог конфигурации.
  • ark vaultsПоказать все хранилища аккаунта, отмечая, какие совпадают с вашей фразой.
  • ark lsПоказать все записи в текущем хранилище.
  • ark get <path|id> [file]Расшифровать запись по пути или ID; выводит в stdout или записывает в файл, если он указан.
  • ark save <file> [target]Сохранить локальный файл (текстовый или двоичный; двоичный хранится как зашифрованная запись-файл) в хранилище; выводит целевой путь из git origin внутри репозитория.
  • ark sync [folder]Двусторонняя синхронизация папки хранилища с локальным каталогом по mtime (побеждает более новая сторона). В git-репозитории папка необязательна (определяется по origin); показывает план и сначала запрашивает подтверждение, сохраняя относительные пути.
  • ark reset-anchor [vault]Сбросить защиту от отката хранилища. Используйте только если вы намеренно сбросили/восстановили хранилище и появляется предупреждение "index rollback detected" (при чтении) или блокировка (при записи); следующая загрузка заново привяжется к текущей удалённой версии.
  • ark logoutОчистить локальный вход (учётные данные фразы сохраняются).
  • ark forgetУдалить локально сохранённые учётные данные фразы и кэш разблокировки.

Глобальные параметры

  • --server <url>Переопределить URL сервера (по умолчанию https://keysark.com).
  • --vault <id|label>Выбрать хранилище по ID или названию (по умолчанию первое совпадающее с вашей фразой).
  • --no-browserНе открывать браузер автоматически при входе.

Распространённые примеры

Расшифровать запись в локальный файл:

ark get github.com/me/app/.env .env

Из каталога проекта сохранить .env в хранилище (путь определяется по git origin):

cd ~/my-project
ark save .env

Неинтерактивное использование в CI / скриптах (фраза передаётся через переменную окружения):

export KEYSARK_MNEMONIC="word1 word2 … word12"
ark get secure/api-key > key.txt

Переменные окружения

  • KEYSARK_SERVERURL сервера (то же, что --server).
  • KEYSARK_MNEMONICПередать мнемоническую фразу напрямую, минуя локальные учётные данные — для CI / скриптов.
  • KEYSARK_HOMEКаталог конфигурации, по умолчанию ~/.keysark.
  • KEYSARK_NO_BROWSERЕсли задано, вход не будет автоматически открывать браузер.

Безопасность

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