Enclosed: минималистичное приложение для защищённых заметок

Enclosed: минималистичное приложение для защищённых заметок

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

Пользователи могут настраивать параметры безопасности, устанавливать пароли и задавать срок действия заметок, после чего они могут самоуничтожаться. Это отличает Enclosed от других аналогичных решений, предлагая более высокий уровень конфиденциальности и контроля над данными. Проект может быть полезен для журналистов, адвокатов или всех, кто заботится о своей приватности.

Приложение написано на JavaScript и использует клиентское шифрование с AES-GCM. Запустить его можно как в режиме демо на enclosed.cc, так и самостоятельно, следуя docker" target="_blank" rel="noopener">инструкциям по самохостингу. Учитывай, что функционал требует наличия собственного сервера, а возможность аутентификации — только по электронной почте и паролю.

Проект **Enclosed** — это минималистичное веб-приложение, предназначенное для отправки защищённых заметок и файлов с использованием сквозного шифрования. Все заметки шифруются на стороне клиента, что позволяет гарантировать, что сервер не имеет доступа к их содержимому. Пользователи могут установить пароль, задать срок действия заметки (TTL) и выбрать автоматическое уничтожение заметки после её чтения. Доступна демонстрационная версия на сайте enclosed.cc.

Основные возможности

  • **Сквозное шифрование**: Заметки шифруются на стороне клиента с использованием AES-GCM.
  • **Прикрепление файлов**: Возможность безопасной отправки файлов вместе с заметками.
  • **Отсутствие знаний сервера**: Сервер не имеет доступа к содержимому заметок и файлов.
  • **Конфигурируемые параметры безопасности**: Можно задавать пароль, срок действия и задание на автоматическое уничтожение заметки.
  • **Минималистичный интерфейс**: Удобный и простой интерфейс для быстрого обмена заметками.
  • **Поддержка многоязычности**: Приложение доступно на нескольких языках.
  • **Аутентификация**: Возможность использовать аутентификацию через email и пароль для создания заметок.
  • **Темный режим**: Поддержка темной темы для удобного использования ночью.
  • **Отзывчивый дизайн**: Приложение работает на всех устройствах, от компьютеров до мобильных телефонов.
  • **Открытый исходный код**: Проект доступен под лицензией Apache 2.0.
  • **Самостройка**: Возможность развернуть собственный экземпляр приложения.
  • **CLI**: Командная строка для создания заметок из терминала.

Установка и запуск

Чтобы быстро запустить приложение с помощью Docker, используй следующую команду:

docker run -d --name enclosed --restart unless-stopped -p 8787:8787 corentinth/enclosed

Поддерживаются образы для архитектур AMD64 и ARM64. Для ARMv7 доступна последняя версия v1.16.1. Дополнительные сведения можно найти в документации по поддерживаемым архитектурам.

Как это работает

Работа приложения заключается в следующем:

  1. Пользователь создает заметку с контентом и, при желании, задаёт пароль.
  2. Генерируется базовый ключ на стороне клиента.
  3. Из базового ключа и опционального пароля выводится мастер-ключ с помощью PBKDF2.
  4. Заметка шифруется с использованием мастер-ключа.
  5. Шифрованная заметка отправляется на сервер.
  6. Сервер хранит шифрованную заметку и предоставляет ей ID.
  7. Создается ссылка с ID заметки и базовым ключом.
  8. Ссылка передаётся получателю.
  9. Получатель открывает ссылку, и приложение извлекает шифрованную заметку с сервера.
  10. Базовый ключ извлекается из URL.
  11. Если заметка защищена паролем, получателю предлагается ввести его.
  12. Мастер-ключ выводится из базового ключа и пароля.
  13. Заметка расшифровывается и становится доступной для чтения.

CLI Приложение

С помощью CLI Enclosed можно создавать заметки из терминала. Установку можно выполнить с помощью npm, yarn или pnpm:

# с npm
npm install -g @enclosed/cli

# с yarn
yarn global add @enclosed/cli

# с pnpm
pnpm add -g @enclosed/cli

Для создания заметки можно воспользоваться следующими командами:

# Основное использование
enclosed create "Hello, World!"

# Используя stdin
cat file.txt | enclosed create

# С полными опциями
enclosed create --deleteAfterReading --password "password" --ttl 3600 "Hello, World!"

Для просмотра заметок используйте:

# Пароль будет запрашиваться, если заметка защищена
enclosed view 

# Или можно указать пароль напрямую
enclosed view --password "password" 

Для конфигурации используемого экземпляра CLI:

enclosed config set instance-url https://enclosed.cc

Ограничения

На данный момент поддерживаются архитектуры AMD64 и ARM64. Поддержка ARMv7 ограничена последней версией v1.16.1. Кроме того, для создания заметок требуется интернет-соединение для доступа к серверу и обмена зашифрованной информацией.

Открыть на GitHub: CorentinTh/enclosed →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте