Документация ark CLI
Читайте и записывайте своё хранилище со сквозным шифрованием из терминала. Ваш открытый текст и фраза остаются локально — устройство покидает только шифртекст.
Что это
ark — это официальный клиент командной строки KeysArk. Он переносит веб-хранилище в ваш терминал: список записей, чтение по пути, сохранение локальных файлов, создание и обновление записей. Всё шифрование и расшифровка происходят локально с вашей мнемонической фразой — сервер и облачный бэкенд работают только с непрозрачным шифртекстом.
Установка
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 шифрует и расшифровывает локально и отправляет на сервер и в облако только шифртекст. Предоставленный устройству доступ может только перемещать шифртекст — даже при утечке он не раскроет ничего внутри вашего хранилища.