Одноразовый сеанс чата : это приложение позволит двум взаимно согласованным пользователям в чате в сквозной зашифрованной среде. Само приложение не отслеживает вас и не просит никакой информации от вас. Данные принадлежат только вами и только во время чата . Ваш личный ключ генерируется на вашем устройстве и никогда не покидает ваше устройство. Это не замена для вашего обычного приложения в чате.
Проект все еще находится на этапе разработки и открыт для вклада.
Демо: https://chat-e2ee-2.azurewebsites.net
createEncodedStreams , который имеет ограниченную поддержку Sply Up Your Prontend : JS SDK и используйте бэкэнд чата -e2ee в качестве сервиса - @chate2ee/service
? Документация
Это SDK на стороне клиента для взаимодействия с службой CHAT-E2EE. Это позволяет DEV создавать собственного чата -клиента поверх сервиса Chate2ee. Он использует Socket.io для подключения к WebSocket и WEBRTC для облегчения 1-1 аудио вызовов.
Для инструкции по установке перейдите в раздел разработчика.
Как работает шифрование
Таким образом, никто другой не может расшифровать сообщение, потому что ваш личный ключ никогда не разоблачается/не разделен в Интернет. Более подробное объяснение: https://www.youtube.com/watch?v=gsids_lvrv4&t=1s
Мы используем Window Browser Window.crypto библиотека для шифрования.
Frontend (UI):
Этот проект включает в себя пользовательский интерфейс Frontend Light Weight-Boottrable Ot Create-React-App. Клиент FE находится в папке ./client .
Бэкэнд:
Бэкэнд работает на Express/Nodejs. В производственном режиме Express Server обнажает конечные точки API и обслуживает статический фронт от ./client/build .
JS SDK:
@chat-e2ee/service - расположен в ./service - SDK, который клиент использует для взаимодействия с бэкэнд. Больше информации: readme
Пользовательский фронт
Import @chat-e2ee/service SDK в вашем клиентском проекте и создайте собственного клиента в чате.
npm install в root Dir IE внутри Clone Repo.npm run dev , чтобы раскрутить ваш клиент/сервер. Это запустит ваше приложение React в режиме Dev и сервере в режиме наблюдения от Nodemon. ❗❗ Важно: если вы вносите изменения в ./service IE @chat-e2ee/service , убедитесь, что вы запустите npm run build-service-sdk чтобы отразить изменения.
ПРИМЕЧАНИЕ. По умолчанию create-react-app запускает WebPack-Dev-Server на порту 3000 . Сервер настроен на запуск на порту 3001 . Итак, убедитесь, что эти порты не заблокированы в вашей системе.
Важный:
Проверьте .env.sample , чтобы настроить файл .env .
Пожалуйста, используйте узел 16 или выше.
Чтобы начать с Docker, прочитайте инструкции.
Для нативной сборки прочитайте инструкции.
./client , который сочетается с бэкэнд../backend .@chate2ee/service для связи с бэкэнд. Расположен в ./service ../app.js ../index.js . Пожалуйста, следуйте соглашению для сообщения о коммите.
https://github.com/conventional-changelog/commitlint/#what-is-commitlint
Пример:
git commit -m"feat: some relevant message"
Это распределение включает в себя криптографическое программное обеспечение. Страна, в которой вы в настоящее время проживаете, может иметь ограничения на импорт, владение, использование и/или реэкспорт в другую страну, программного обеспечения для шифрования. Перед использованием какого-либо программного обеспечения для шифрования, пожалуйста, проверьте законы, правила и политики вашей страны, касающиеся импорта, владения или использования, и реэкспорта программного обеспечения для шифрования, чтобы увидеть, разрешено ли это. См. Http://www.wassenaar.org/ для получения дополнительной информации.
Министерство торговли правительства США, Бюро промышленности и безопасности (BIS) классифицировало это программное обеспечение как экспортный номер контроля товаров (ECCN) 5D002.c.1, который включает в себя программное обеспечение для безопасности, используя или выполняет криптографические функции с асимметричными алгоритмами. Форма и способ этого распределения дают ему право на экспорт в соответствии с исключением лицензии ENC Technology Technology Software Unserricted (TSU) исключения (см. Правила администрирования экспорта BIS, раздел 740.13) как для объектного кода, так и для исходного кода.