Защищенный мессенджер с End-to-End шифрованием
О проекте • Функциональность • Запуск • Безопасность • Стек
OpenKey — это веб-приложение для обмена сообщениями, ставящее во главу угла приватность пользователей. В отличие от классических мессенджеров, OpenKey использует сквозное шифрование (E2EE) на стороне клиента. Это означает, что сервер, база данных и администраторы видят только зашифрованный "мусор", а ключи для расшифровки хранятся исключительно на устройствах участников беседы.
Миссия: Предоставить простой и безопасный инструмент общения, где ваши данные принадлежат только вам.
- 🔐 Сквозное шифрование (E2EE): Все текстовые сообщения шифруются алгоритмом
AES-GCM(256 бит) прямо в браузере. - 🔑 Ежедневная ротация ключей: Уникальные ключи шифрования генерируются каждый день.
- 📂 Обмен файлами: Поддержка отправки изображений и документов (хранение на сервере).
- 🌗 Темная тема: Автоматическая поддержка темной/светлой темы для комфорта глаз.
- 📱 Адаптивность: Полностью отзывчивый интерфейс, работающий на ПК и мобильных устройствах.
- ⚡ Мгновенные обновления: Быстрый интерфейс на базе React и Vite.
- Core: React 19, TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS (предполагается по классам), Lucide React (иконки)
- Crypto: Web Crypto API (Native browser standard)
- Runtime: Node.js
- Framework: Express.js
- Database: SQLite (легковесная, файловая БД)
- Auth: JWT (JSON Web Tokens)
- Security: Bcrypt.js (хеширование паролей)
Для запуска проекта вам понадобится установленный Node.js.
git clone [https://github.com/your-username/openkey.git](https://github.com/your-username/openkey.git)
cd openkey