crypstie3-node/docs/README.ru.md

70 lines
2.4 KiB
Markdown

# 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-запросе.
- Не помещайте полные ссылки в публичные логи, задачи и сообщения.
## Авторы
- **sergeych** — протокол и сервис Crypstie, первоначальные реализации
- **Codex (OpenAI)** — Node.js-модуль, CLI, тесты и навык для ИИ-агентов