Привет, Хабр!

Несколько недель назад, в этом посте, мы представили CLI для Eppie — p2p почты с шифрованием и открытым протоколом. Сегодня мы хотим рассказать о GUI приложении, которое уже доступно на GitHub. Если вы читали нас раньше, можете пропустить введение и сразу перейти к разделу «Как пользоваться». Ну а все остальные, кто увлекается децентрализованными технологиями и думает о приватности данных, — поехали.

Что такое Eppie?

Eppie — это электронная почта с шифрованием и открытым протоколом, работающая в P2P сети. Она сейчас в разработке. Недавно мы начали постепенно открывать доступ к прототипу в разных странах и собирать обратную связь. Собственно, здесь мы именно для этого, и будем рады новым пользователям. Если хотите не просто попробовать, но и поучаствовать в бета тестировании, записывайтесь в лист ожидания.

Децентрализованный протокол Eppie гарантирует конфиденциальность данных независимо от уровня доверия к разработчику, то есть к нам, и предоставляет пользователю настоящее владение учетной записью и данными (здесь мы писали на тему владения). Eppie сможет получать сообщения с обычной электронной почты IMAP/SMTP, а также подключаться к нескольким существующим децентрализованным сетям, таким как Ethereum или Bitcoin. И мы уделяем особое внимание UX: хочется чтобы приложение было интуитивно понятным любому пользователю, независимо от технической подготовки.

contacts

Что касается стека технологий, по умолчанию Eppie будет хранить данные в инфраструктуре IPFS и использовать SBBS в качестве транспортного уровня. Но архитектура позволяет легко подключать другие технологии хранения и транспортировки. E2E шифрование основано на криптографии с эллиптическими кривыми. GUI приложение пишем на C# с Uno. GUI работает пока только на Windows, но позже будет поддержка macOS, Linux, iOS и Android.

settings

Где мы сейчас

Децентрализованный обмен сообщениями уже работает в тестовой сети. Но это еще не настоящая децентрализованная сеть — там всего несколько нод, которые мы держим в облаке. Между тем, Eppie функционирует как обычный почтовый клиент, поддерживающий основных провайдеров электронной почты — Google, Microsoft Outlook и т. д. Локальная учетная запись создается с использованием сид-фразы в соответствии со стандартом BIP39 и принадлежит пользователю. Дополнительные функции безопасности — поддержка PGP и возможность аутентификации на серверах Proton Mail (чего, насколько нам известно, не умеет ни один из существующих настольных клиентов).

compose

Вот список функций, доступных сейчас:

  • Создание локальной учетной записи с использованием сид-фразы BIP39

  • Поддержка PGP шифрования (WIP)

  • Подключение любого количества сторонних учетных записей электронной почты (например, Gmail, Microsoft Outlook)

  • Подключение учетной записи Proton Mail

  • Создание локальной резервной копии

  • Просмотр почтовых ящиков и чтение сообщений

  • Написание и отправка сообщений

proton

Новые функции будут добавляться по мере развития проекта.

Зачем вам стоит попробовать 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 MenuBuild ➤ Build Solution). Чтобы запустить проект, выберите Visual Studio MenuDebug ➤ Start Debugging.

Что ещё

Уже сказали выше и повторим еще раз: мы приветствуем любую активность на GitHub. Как минимум поставьте нам звезду — для нас это очень ценно! Также не стесняйтесь комментировать и задавать вопросы. Спасибо за внимание!

Комментарии (31)


  1. ky0
    05.08.2024 14:10
    +1

    Звучит неплохо. Какая будет монетизация?


    1. BaJlepa Автор
      05.08.2024 14:10
      +2

      Основная функциональность будет бесплана. Платная подписка — за дополнительные возможности. Мы сейчас рассматриваем, например, возможность не отдавать место на локальном жестком диске для нужд сети. В P2P сети каждый пользователь участвует в хранении и передаче данных, соответственно, приложение использует дисковое пространств и сетевой канал. Мы можем освободить пользователя от этой обязанности, поддерживая свои служебные ноды.


  1. 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 или микросервис для этого в виде демона/службы. Вот, набросал интерфейс за пару минут.


    1. Revertis
      05.08.2024 14:10
      +6

      Сделали бы на веб технологиях - работало бы сразу везде.

      Вот поэтому всё так всрато у нас сейчас :(


      1. nin-jin
        05.08.2024 14:10

        1. Revertis
          05.08.2024 14:10

          Страница в браузере (которую часто неверно называют приложением) всегда будет намного медленнее, чем нативное приложение.


          1. nin-jin
            05.08.2024 14:10

            Открываем любое веб-приложение на $mol и всё летает.

            Открываем нативный Microsoft Store и любуемся страшными тормозами.


            1. Revertis
              05.08.2024 14:10

              И как работают мессенджеры с миллионом сообщений в браузерах, и особенно с вашим $mol?


              1. nin-jin
                05.08.2024 14:10

                Прекрасно работают. Да уже побыстрее этого вашего нативного скайпа, который и без сообщений умудряется тормозить.


                1. BaJlepa Автор
                  05.08.2024 14:10
                  +2

                  Вы ошибаетесь, скайп не нативный. Он WEB приложение.


                  1. nin-jin
                    05.08.2024 14:10

                    https://ru.wikipedia.org/wiki/Skype


                    1. newintellimouse
                      05.08.2024 14:10
                      +1

                      Skype - Wikipedia

                      Англоязычная статья полнее и актуальнее, и там есть отсылка на UWP, которой нет в русскоязычной статье

                      Что такое приложение UWP? - UWP applications | Microsoft Learn


                    1. BaJlepa Автор
                      05.08.2024 14:10
                      +1

                      Skype стал PWA-приложением в 2019 году:
                      The new Skype for Web is here | Skype


                      1. nin-jin
                        05.08.2024 14:10

                        Ага-ага, так же как и фотошоп с оффисом.


                      1. BaJlepa Автор
                        05.08.2024 14:10
                        +1

                        Вы с чем спорите? У Микрософт на самом деле политика переводить все свои нативные приложения в PWA. Skype и Teams и теперь ещё Outlook все они PWA приложения. И скорее всего дойдёт дело до Office. И Skype действительно был нативным до 2019 года, но теперь это не так.


                      1. nin-jin
                        05.08.2024 14:10

                        Это вы с чем спорите? Я же вроде ясно дал понять, что говорил про нативную версию, а не веб.


                      1. BaJlepa Автор
                        05.08.2024 14:10

                        Уточните пожалуйста номер версии Skype о которой вы говорите.


    1. 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 технологий, мы, честно говоря, не большие их поклонники.


      1. nin-jin
        05.08.2024 14:10

        Протокол прост, но он вам не поможет, ибо надо сами данные хранить по особому.

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


        1. BaJlepa Автор
          05.08.2024 14:10

          Спасибо


      1. egribanov
        05.08.2024 14:10

        Может тогда флаттер?


        1. BaJlepa Автор
          05.08.2024 14:10

          Можно конечно, но не в этот раз.


  1. comradeleet
    05.08.2024 14:10
    +1

    Классная идея, а почему выбрали UWP, а не MAUI или Авалонию?


    1. BaJlepa Автор
      05.08.2024 14:10
      +1

      Выбрали Uno

      Не выбрали MAUI потому что ещё сырой, а не Авалония потму что основана на WPF что наоборот довольно древний.


      1. vabka
        05.08.2024 14:10

        Скорее не основано, а берёт многие вещи от него. Также, как и UWP в принципе.


        1. BaJlepa Автор
          05.08.2024 14:10

          WPF приложения можно собирать с помощью Авалония под другие OS практически без изменений.


          1. vabka
            05.08.2024 14:10
            +1

            XPF есть, чтобы совсем без изменений собирать хъ


      1. vabka
        05.08.2024 14:10
        +1

        А что древнего в авалонии?


        1. BaJlepa Автор
          05.08.2024 14:10

          WPF древнее, к Авалонии нет претензий.


  1. MAXH0
    05.08.2024 14:10

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

    А с недавних пор возникает еще один вопрос:
    - Вы о прецеденте Торнадо-кэш внимательно подумали? Когда задним числом поменяли правила игры и посадили создателя сервиса, за противоправные действия, которые были осуществлены ДРУГИМИ людьми...

    +=
    Поймите меня правильно. Я - ЗА!!! Веб свернул не туда и пора возвращаться к истокам. Только сегодня утром, слушая Кэндис, думал, что надо иметь запасной план, на случай глобального шухера.

    - =
    Только пока мы не увидим протокола и этот протокол не пройдет аудит, то все это "новости из будущего". Пока мы видим почтовый клиент. Ну.. ОК!


    1. BaJlepa Автор
      05.08.2024 14:10

      Проблема защиты пользователей от действий провокаторов/злоумышленников решается асимметричным шифрованием и разбиением на фрагменты.

      Что касается ответственности разработчиков, это, конечно, сложный вопрос, и мы его одним децентрализованным протоколом не решим. Технология сама по себе нейтральна — ее можно использовать во благо и во зло. Для того чтобы опасный прецедент Торнадо-кэш не повторился, нужно законодательство, соответствующее современному состоянию технологий. Но это все же частный случай. Браузер тоже можно использовать для преступных целей, однако разработчиков браузеров за это не преследуют. Простите за упрощение.

      Что касается протокола, вы его увидите обязательно. Мы проведем независимый аудит, как только он будет готов. Прозрачность — краеугольный камень в таком проекте, мы это понимаем. А пока – добро пожаловать на наш GitHub: https://github.com/Eppie-io/