Привет, Хабр!
Несколько недель назад, в этом посте, мы представили 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. Как минимум поставьте нам звезду — для нас это очень ценно! Также не стесняйтесь комментировать и задавать вопросы. Спасибо за внимание!
Комментарии (31)
nin-jin
05.08.2024 14:10+1Что касается стека технологий, по умолчанию 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+1Англоязычная статья полнее и актуальнее, и там есть отсылка на UWP, которой нет в русскоязычной статье
Что такое приложение UWP? - UWP applications | Microsoft Learn
BaJlepa Автор
05.08.2024 14:10+1Skype стал PWA-приложением в 2019 году:
The new Skype for Web is here | SkypeBaJlepa Автор
05.08.2024 14:10+1Вы с чем спорите? У Микрософт на самом деле политика переводить все свои нативные приложения в PWA. Skype и Teams и теперь ещё Outlook все они PWA приложения. И скорее всего дойдёт дело до Office. И Skype действительно был нативным до 2019 года, но теперь это не так.
nin-jin
05.08.2024 14:10Это вы с чем спорите? Я же вроде ясно дал понять, что говорил про нативную версию, а не веб.
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Протокол прост, но он вам не поможет, ибо надо сами данные хранить по особому.
Пытаться расшифровывать все сообщения подряд не выглядит разумным. Лучше каждому адресату иметь свой инбокс с правами на добавление всем подряд.
MAXH0
05.08.2024 14:10Каждый раз, когда кто-то начинает разговор о распределенном p2p хранении информации у меня возникает один простой вопрос:
- Вот появится в сети некий провокатор и он перешлет федеральному агенту под прикрытием чертежи атомной бомбы, то как будет защищена цепочка поставки от визита. Особенно выходные ноды.А с недавних пор возникает еще один вопрос:
- Вы о прецеденте Торнадо-кэш внимательно подумали? Когда задним числом поменяли правила игры и посадили создателя сервиса, за противоправные действия, которые были осуществлены ДРУГИМИ людьми...+=
Поймите меня правильно. Я - ЗА!!! Веб свернул не туда и пора возвращаться к истокам. Только сегодня утром, слушая Кэндис, думал, что надо иметь запасной план, на случай глобального шухера.- =
Только пока мы не увидим протокола и этот протокол не пройдет аудит, то все это "новости из будущего". Пока мы видим почтовый клиент. Ну.. ОК!BaJlepa Автор
05.08.2024 14:10Проблема защиты пользователей от действий провокаторов/злоумышленников решается асимметричным шифрованием и разбиением на фрагменты.
Что касается ответственности разработчиков, это, конечно, сложный вопрос, и мы его одним децентрализованным протоколом не решим. Технология сама по себе нейтральна — ее можно использовать во благо и во зло. Для того чтобы опасный прецедент Торнадо-кэш не повторился, нужно законодательство, соответствующее современному состоянию технологий. Но это все же частный случай. Браузер тоже можно использовать для преступных целей, однако разработчиков браузеров за это не преследуют. Простите за упрощение.
Что касается протокола, вы его увидите обязательно. Мы проведем независимый аудит, как только он будет готов. Прозрачность — краеугольный камень в таком проекте, мы это понимаем. А пока – добро пожаловать на наш GitHub: https://github.com/Eppie-io/
ky0
Звучит неплохо. Какая будет монетизация?
BaJlepa Автор
Основная функциональность будет бесплана. Платная подписка — за дополнительные возможности. Мы сейчас рассматриваем, например, возможность не отдавать место на локальном жестком диске для нужд сети. В P2P сети каждый пользователь участвует в хранении и передаче данных, соответственно, приложение использует дисковое пространств и сетевой канал. Мы можем освободить пользователя от этой обязанности, поддерживая свои служебные ноды.