Привет, Хабр!
Несколько недель назад, в этом посте, мы представили CLI для Eppie — p2p почты с шифрованием и открытым протоколом. Сегодня мы хотим рассказать о GUI приложении, которое уже доступно на GitHub. Если вы читали нас раньше, можете пропустить введение и сразу перейти к разделу «Как пользоваться». Ну а все остальные, кто увлекается децентрализованными технологиями и думает о приватности данных, — поехали.
Что такое Eppie?
Eppie — это электронная почта с шифрованием и открытым протоколом, работающая в P2P сети. Она сейчас в разработке. Недавно мы начали постепенно открывать доступ к прототипу в разных странах и собирать обратную связь. Собственно, здесь мы именно для этого, и будем рады новым пользователям. Если хотите не просто попробовать, но и поучаствовать в бета тестировании, записывайтесь в лист ожидания.
Децентрализованный протокол Eppie гарантирует конфиденциальность данных независимо от уровня доверия к разработчику, то есть к нам, и предоставляет пользователю настоящее владение учетной записью и данными (здесь мы писали на тему владения). Eppie сможет получать сообщения с обычной электронной почты IMAP/SMTP, а также подключаться к нескольким существующим децентрализованным сетям, таким как Ethereum или Bitcoin. И мы уделяем особое внимание UX: хочется чтобы приложение было интуитивно понятным любому пользователю, независимо от технической подготовки.
Что касается стека технологий, по умолчанию Eppie будет хранить данные в инфраструктуре IPFS и использовать SBBS в качестве транспортного уровня. Но архитектура позволяет легко подключать другие технологии хранения и транспортировки. E2E шифрование основано на криптографии с эллиптическими кривыми. GUI приложение пишем на C# с Uno. GUI работает пока только на Windows, но позже будет поддержка macOS, Linux, iOS и Android.
Где мы сейчас
Децентрализованный обмен сообщениями уже работает в тестовой сети. Но это еще не настоящая децентрализованная сеть — там всего несколько нод, которые мы держим в облаке. Между тем, Eppie функционирует как обычный почтовый клиент, поддерживающий основных провайдеров электронной почты — Google, Microsoft Outlook и т. д. Локальная учетная запись создается с использованием сид-фразы в соответствии со стандартом BIP39 и принадлежит пользователю. Дополнительные функции безопасности — поддержка PGP и возможность аутентификации на серверах Proton Mail (чего, насколько нам известно, не умеет ни один из существующих настольных клиентов).
Вот список функций, доступных сейчас:
Создание локальной учетной записи с использованием сид-фразы BIP39
Поддержка PGP шифрования (WIP)
Подключение любого количества сторонних учетных записей электронной почты (например, Gmail, Microsoft Outlook)
Подключение учетной записи Proton Mail
Создание локальной резервной копии
Просмотр почтовых ящиков и чтение сообщений
Написание и отправка сообщений
Новые функции будут добавляться по мере развития проекта.
Зачем вам стоит попробовать Eppie
Это может быть интересно тем, кто хочет поучаствовать в разработке на GitHub — мы будем вам очень рады! Еще это возможность первым попробовать P2P функциональность, как только она будет готова. И наконец, можно пользоваться Eppie как обычным почтовым клиентом вместе с Proton, Gmail или Outlook.
Как пользоваться
Загрузите установщик в разделе релизов на GitHub. Сейчас есть версия только для Windows. Версии для остальных платформ появятся позже, и мы о них еще напишем.
Чтобы собрать Eppie из исходников, вам понадобится Windows 10 или более поздняя версия.
Установите Visual Studio 2022 со следующими компонентами:
-
.Net Multi-platform App UI development
Android SDK setup (with Android SDK Platform 31)
.NET profiling tools
Xamarin
-
Windows application development
Universal Windows Platform tools
Windows 11 SDK (10.0.22621.0)
Windows 10 SDK (10.0.19041.0)
Клонируйте репозиторий:
git clone --recursive https://github.com/Eppie-io/Eppie-App.git eppie-app
Чтобы собрать проект, откройте файл src/Eppie.App/Eppie.App.sln в Visual Studio.
Установите Eppie.App.UWP в качестве стартового проекта и выберите платформу x64. Запустите сборку (Visual Studio Menu: Build ➤ Build Solution). Чтобы запустить проект, выберите Visual Studio Menu: Debug ➤ Start Debugging.
Что ещё
Уже сказали выше и повторим еще раз: мы приветствуем любую активность на GitHub. Как минимум поставьте нам звезду — для нас это очень ценно! Также не стесняйтесь комментировать и задавать вопросы. Спасибо за внимание!
Комментарии (20)
nin-jin
05.08.2024 14:10Что касается стека технологий, по умолчанию Eppie будет хранить данные в инфраструктуре IPFS и использовать SBBS в качестве транспортного уровня. Но архитектура позволяет легко подключать другие технологии хранения и транспортировки. E2E шифрование основано на криптографии с эллиптическими кривыми.
Как насчёт интегрироваться с CRUS-DB? Там уже встроено e2e шифрование и цифровые подписи. Более того, она позволяет не только хранить, но и редактировать данные без конфликтов синхронизируя их в реальном времени. Например, можно расшарить с коллегой драфт письма и вместе его редактировать. Или начал вводить письмо на одном девайсе, а продолжить на другом - восстановится даже позиция каретки.
Что такое SBBS?
GUI приложение пишем на C# с Uno. GUI работает пока только на Windows, но позже будет поддержка macOS, Linux, iOS и Android.
Сделали бы на веб технологиях - работало бы сразу везде. Идеально было бы сделать PWA приложение + расширение к браузеру для соединения по IMAP/SMTP/POP3 или микросервис для этого в виде демона/службы. Вот, набросал интерфейс за пару минут.
Revertis
05.08.2024 14:10+6Сделали бы на веб технологиях - работало бы сразу везде.
Вот поэтому всё так всрато у нас сейчас :(
nin-jin
05.08.2024 14:10Revertis
05.08.2024 14:10Страница в браузере (которую часто неверно называют приложением) всегда будет намного медленнее, чем нативное приложение.
nin-jin
05.08.2024 14:10Открываем любое веб-приложение на $mol и всё летает.
Открываем нативный Microsoft Store и любуемся страшными тормозами.
Revertis
05.08.2024 14:10И как работают мессенджеры с миллионом сообщений в браузерах, и особенно с вашим $mol?
nin-jin
05.08.2024 14:10Прекрасно работают. Да уже побыстрее этого вашего нативного скайпа, который и без сообщений умудряется тормозить.
BaJlepa Автор
05.08.2024 14:10+2Вы ошибаетесь, скайп не нативный. Он WEB приложение.
nin-jin
05.08.2024 14:10https://ru.wikipedia.org/wiki/Skype
newintellimouse
05.08.2024 14:10Англоязычная статья полнее и актуальнее, и там есть отсылка на UWP, которой нет в русскоязычной статье
Что такое приложение UWP? - UWP applications | Microsoft Learn
BaJlepa Автор
05.08.2024 14:10Skype стал PWA-приложением в 2019 году:
The new Skype for Web is here | Skype
BaJlepa Автор
05.08.2024 14:10+2В Eppie будет максимально просто добавлять дополнительные слои транспорта и хранения, так что CRUS-DB тоже можно будет интегрировать. Кстати, если у вас под рукой есть описание протокола CRUS-DB, дайте, пожалуйста ссылку.
SBBS — расшифровывает как Secure Bulletin Board System. Вот здесь можно почитать: https://github.com/BeamMW/beam/wiki/Secure-bulletin-board-system-%28SBBS%29
Что касается PWA и WEB технологий, мы, честно говоря, не большие их поклонники.
nin-jin
05.08.2024 14:10Протокол прост, но он вам не поможет, ибо надо сами данные хранить по особому.
Пытаться расшифровывать все сообщения подряд не выглядит разумным. Лучше каждому адресату иметь свой инбокс с правами на добавление всем подряд.
ky0
Звучит неплохо. Какая будет монетизация?
BaJlepa Автор
Основная функциональность будет бесплана. Платная подписка — за дополнительные возможности. Мы сейчас рассматриваем, например, возможность не отдавать место на локальном жестком диске для нужд сети. В P2P сети каждый пользователь участвует в хранении и передаче данных, соответственно, приложение использует дисковое пространств и сетевой канал. Мы можем освободить пользователя от этой обязанности, поддерживая свои служебные ноды.