# Crypstie для Node.js Пакет создаёт и открывает зашифрованные ссылки Crypstie без браузера и Kotlin. Он совместим со старыми ссылками `crypstie.com`. ## Установка ```shell npm install --global crypstie ``` Требуется Node.js 18 или новее. ## Командная строка Создать многоразовую ссылку: ```shell printf 'секретный текст' | crypstie create crypstie create ./document.txt --days 7 ``` Создать ссылку, удаляемую после чтения: ```shell crypstie create ./secret.txt --burn ``` Прочитать крипстю: ```shell crypstie open 'https://crypstie.com/_id#key' crypstie open "$CRYPSTIE_URL" --output ./document.bin crypstie open "$CRYPSTIE_URL" --json ``` Ссылку следует заключать в кавычки: иначе shell воспримет `#` как начало комментария. Полная ссылка является секретом — любой получивший её сможет расшифровать содержимое. ## Программный API ```js const { createCrypstie, openCrypstie } = require('crypstie'); const created = await createCrypstie('секрет', { deleteAt: new Date(Date.now() + 7 * 86400_000), burnOnShow: false, }); const opened = await openCrypstie(created.url); console.log(opened.text); ``` Точные исходные байты находятся в `opened.data`, а `opened.text` является их представлением в UTF-8. ## Модель безопасности - Случайный 256-битный ключ создаётся локально. - `unicrypto` использует AES-256-CTR и Encrypt-then-Authenticate с HMAC/SHA-256. - Сервер получает только BOSS-контейнер с зашифрованными данными. - Ключ находится после `#` и не передаётся в HTTP-запросе. - Не помещайте полные ссылки в публичные логи, задачи и сообщения.