Привет, Хабр!
Если вы любите децентрализованные технологии и консольные клиенты электронной почты, у нас для вас новость. Вышла альфа версия Eppie-CLI — официального консольного клиента для Eppie. GitHub репозиторий здесь.
Что за Eppie?
Для тех, кто нас раньше не читал, Eppie — это электронная почта с шифрованием и открытым протоколом, работающая в P2P сети. Она сейчас в разработке. Кстати, подписывайтесь в лист ожидания, чтобы попасть в тестирование.
Децентрализованный протокол Eppie гарантирует конфиденциальность данных независимо от уровня доверия к разработчику, то есть к нам, и предоставляет пользователю настоящее владение учетной записью и данными (здесь мы писали на тему владения). Eppie сможет получать сообщения из обычной электронной почты, а также подключаться к другим существующим децентрализованным сетям. По умолчанию почта будет хранить данные в инфраструктуре IPFS и использовать SBBS в качестве транспортного уровня. Но архитектура позволяет легко подключать другие технологии децентрализованного хранения и транспортировки. E2E шифрование в Eppie основано на криптографии с эллиптическими кривыми. GUI приложение пишется на C# с Uno, а CLI — на чистом C#. Будем поддерживать все основные платформы — Windows, macOS, Linux, iOS и Android.
P2P часть все еще в разработке. Тем временем Eppie работает как почтовый клиент для традиционных провайдеров с локальной учетной записью, генерируемой из Сид-фразы (BIP39), и дополнительными функциями безопасности — поддержка PGP и возможность аутентификации на почтовых серверах Proton (чего, кстати, нет ни в одном из существующих нативных клиентов).
Eppie в консоли
Eppie-CLI разрабатывается одновременно с основным приложением — сейчас это альфа-версия, которую мы в основном используем для тестирования.
Зачем вам это нужно? Если уж вы дочитали до этого момента, вероятно, вы сами знаете, но на всякий случай. Это может быть интересно тем, кто желает поучаствовать в разработке Eppie (мы будем вам бесконечно рады!). Еще CLI — это возможность попробовать P2P функциональность, как только она будет готова. И наконец, можно пользоваться Proton, Gmail, Outlook — все это в консоли, да еще с PGP шифрованием. В общем, возможности не безграничны, но существенны.
Вот список доступных функций:
Генерация локальной учетной записи из Сид-фразы в соответствии со стандартом BIP39.
Поддержка шифрования PGP (почти готово)
Подключение любого количества учетных записей электронной почты (например, Gmail, Microsoft Outlook и т. д.)
Подключение учетной записи Proton Mail (почти готово)
Создание локальной резервной копии
Просмотр почтовых ящиков
Просмотр сообщения
Написание и отправка сообщений
Новые функции будут добавляться по мере развития основного приложения. В будущем Eppie-CLI станет полнофункциональным официальным консольным интерфейсом для Eppie.
Как пользоваться
Во-первых, понадобится .NET 8.0.
Клонируем репозиторий:
git clone --recursive https://github.com/Eppie-io/Eppie-CLI.git eppie-cli
Собираем:
dotnet build ./src/Eppie.CLI/
Запускаем:
dotnet run --project ./src/Eppie.CLI/Eppie.CLI/Eppie.CLI.csproj
Чтобы увидеть список доступных команд, наберите -?|-h|--help
Например:
init
— инициализирует приложение и создает учетную запись Eppie.open
— открывает существующую учетную запись Eppie.add-account
— добавляет учетную запись электронной почты.show-all-messages
— показывает сообщения со всех аккаунтов.show-message
— показывает детали конкретного сообщения.send
— отправляет сообщение
Что еще
Уже сказали выше и повторим еще раз: мы будем очень признательны за участие в разработке проекта, поэтому добро пожаловать на наш GitHub. И не забудьте поставить звезду — для нас это очень ценно! Также не стесняйтесь комментировать и задавать вопросы. Спасибо за внимание!
Vilos
Отличное начинание! Дам совет, сделайте установочные пакеты (deb, rpm... etc); собирать из GitHub для большого пласта пользователей - такое себе занятие. Наличие простого установщика сильно расширит пул потенциальных пользователей.
Обожаю когда ПО делают для консоли, особенно когда задача обычно решалась через GUI.
BaJlepa Автор
Спасибо! Приятно слышать. Установочные пакеты мы планируем, но дело определённо пойдет быстрее, если в репозитории будет заведен issue :)
Kahelman
И что мешает его завести? :)
BaJlepa Автор
Вы абсолютно правы, мне ничего не мешает создать его самому. Но мне кажется, что issue, созданное пользователем, намного более ценно. Поэтому я ещё немного подожду :)
timoxa_dev
Какая то дичь от людей с юниксом головного мозга.. Давайте еще делать автомобили с упряжью, так классно когда вместо двигателя используется лошадь