В Eppie каждое клиентское приложение это нода в p2p-сети. Каждый пользователь автоматически участвует в хранении и транспортировке данных. Это базовый принцип децентрализованной модели. Для тех, кто не хочет выделять свои ресурсы, у нас будет платная опция использовать нашу собственную инфраструктуру: служебные ноды, которые мы будем поддерживать и масштабировать по мере роста сети.
Я доработал скрипт: теперь он использует переменную LOCAL для получения локальной части адреса от Postfix. Письма с To: xxx...yyy@domain.com пересылаются на xxx...yyy@eppie в p2p через eppie-console В скрипте нужно указать пароль, заданный при инициализации eppie-console, и адрес отправителя, созданный командой add-account -t Dec (в скрипте задан: agb2mmvsnjpsri8vubbhucmifmapnykc2ajk32unarzr8pk4dmraq@eppie, но у вас будет свой. Нужно указать его). Посмотреть адрес: list-accounts Подробности настройки: https://blog.eppie.io/post/dec_tut/
@Abyss777 если будет время, не могли бы вы протестировать интеграцию?
новый скрипт вот:
#!/bin/bash
# Sample
# cat email.txt | ./send-to-eppie.sh
# Paths and parameters
EPPIE_CONSOLE=./eppie-console
SUBJECT="Forwarded via email bridge"
PASSWORD="mypassword" # here we need to specify the password set during initialization of eppie-console
SENDER="agb2mmvsnjpsri8vubbhucmifmapnykc2ajk32unarzr8pk4dmraq@eppie" # here we need to specify the sender address created with eppie-console
# Read the entire email from stdin
EMAIL=$(cat)
# Use LOCAL environment variable for recipient address
if [ -z "$LOCAL" ]; then
echo "Environment variable LOCAL is not set" >&2
exit 1
fi
RECIPIENT="${LOCAL}@eppie"
# Send commands directly to eppie-console via stdin
{
echo "open"
echo "$PASSWORD"
echo "send -s $SENDER -r $RECIPIENT -t \"$SUBJECT\""
echo "$EMAIL"
echo "EOF"
echo "exit"
} | "$EPPIE_CONSOLE"
exit 0
Спасибо за ваш интерес к проекту! Мобильные устройства будут, без них действительно никуда. Но там есть дополнительные сложности в разработке. Как только появится предварительная сборка, мы сообщим.
Децентрализованный адрес создается в Identity Manager -> Connect Service -> Decentralized Account. Но в текущей сборке для macOS эта возможность отключена, да и в других сборках децентрализованная отправка сообщений пока работает только в пределах тестовой сети. Сейчас Eppie в основном функционирует как клиент для традиционной почты с дополнительными privacy-first функциями: поддержка Proton Mail и PGP шифрования. Разработка идет, мы постепенно добавляем новые функции. Подписывайтесь на новости на https://eppie.io, если еще нет. Как только запустим бета-тест сборки с p2p сетью для macOS, вы сразу об этом узнаете.
У меня получился следующий скрипт для вызова eppie-console:
#!/bin/bash
# Пример
# ./send-to-eppie.sh aensai6tk7gsjuqar95c649xretii5bmnad49p37ym6h9gu82pa8i@eppie < ./email.txt
# Пути и параметры
EPPIE_CONSOLE=./eppie-console
PASSWORD="mypassword" # тут надо указать пароль установленный при инициализации eppie-console
# Предопределённый отправитель
SENDER="$1" # сюда надо передать отправителя который был предварительно создан в eppie-console
# Читаем письмо из stdin
EMAIL=$(cat)
# Парсим адрес получателя
TO_LINE=$(echo "$EMAIL" | grep -m1 "^To:")
TO_ADDRESS=$(echo "$TO_LINE" | sed -E 's/^To:[[:space:]]*//; s/<([^>]+)>/\1/')
LOCAL_PART=${TO_ADDRESS%@*}
RECIPIENT="${LOCAL_PART}@eppie"
# Парсим тему
SUBJECT=$(echo "$EMAIL" | grep -m1 "^Subject:" | sed 's/^Subject:[[:space:]]*//')
# Отделяем тело письма от заголовков (после первой пустой строки)
BODY=$(echo "$EMAIL" | awk 'BEGIN{body=0} /^[[:space:]]*$/ {body=1; next} body')
# Передаём команды напрямую через stdin
{
echo "open"
echo "$PASSWORD"
echo "send -s $SENDER -r $RECIPIENT -t $SUBJECT"
echo "$BODY"
echo
echo "exit"
} | "$EPPIE_CONSOLE"
Он принимает адрес отправителя и текстовый файл с письмом, парсит адрес, тему и текст письма. Затем передаёт eppie-console.
Адрес отправителя (в моём примере agb2mmvsnjpsri8vubbhucmifmapnykc2ajk32unarzr8pk4dmraq@eppie у вас будет другой) это адрес который создан в eppie с помощью команды: add-account -t Dec
Чтобы посмотреть созданный адрес надо выполнить: list-accounts Подробности настройки eppie-console в этой статье: https://blog.eppie.io/post/dec_tut/
Предлагаю попробовать разобраться на одном сценарии: пересылка писем из обычной почты в p2p. Например, через postfix и mailbox_command можно настроить вызов eppie-cli, который будет пересылать письмо на нужный p2p-адрес.
В eppie-cli есть команда отправки, но она интерактивная, можно добавить неинтерактивный режим или передавать интерактивные команды пачкой. Хотелось бы понять, какой формат и поведение было бы удобнее.
Кажется что структура должна выглядеть как-то так:
[SMTP-сервер] ↓ письмо на aaa...bbb@yourdomain.com ↓ [Postfix?] ↓ [mailbox_command?] ↓ eppie-cli --send -s <sender address> -r <receiver address> -t <subject>
Интеграция с IPFS ещё не сделана, но план следующий: сделать каждого клиента Eppie нодой IPFS, которые будут объединены в один кластер, чтобы все необходимые данные хранились надёжно и не удалялись.
Спасибо, что завели issue! На текущем этапе Eppie-CLI умеет работать как консольный почтовый клиент: он поддерживает IMAP/SMTP, Gmail, Outlook, Proton Mail, и может отправлять и получать сообщения в тестовой p2p-сети. Мне кажется, это позволяет использовать его вместо fetchmail, postfix и т.д. Нужно только реализовать команды, которые делают работу по пересылке. Что думаете?
Здесь позволим себе частично не согласиться. То что бизнес и государство следят за нами в интернете - это уже общее место, и раздражение растет, как видно по опросам во всем мире, в том числе в развитых демократиях. Так что запрос на решения, подобные нашему, есть. Но вы совершенно правы в том, что пользователям нужна простота, и в этом смысле существующие технологии находятся еще на ранней стадии развития. Рано или поздно кто-то реализует эти принципы с правильным пользовательским интерфейсом. Мы надеемся, что это будем именно мы :-) Во всяком случае, мы делаем все что от нас зависит, чтобы сделать продукт удобным и понятным не только гикам.
Спасибо за вопрос. Инструкций пока нет, потому что мосты у нас ещё не реализованы. Но есть CLI, который можно интегрировать с почтовыми серверами, которые вас интересуют. Посмотрите страницу на GitHub: https://github.com/Eppie-io/Eppie-CLI - здесь можно завести issue для решения проблем с интеграцией.
Проблема не только в доменной системе: федеративная децентрализация SMTP, хоть и лучше централизации, всё равно уязвима - крупные игроки вроде Gmail все равно будут доминировать, собирая данные, а пользователи зависят от серверов и регистраторов. Везде где есть персональные данные и цифровое identity, тенденция к централизации вступает в конфликт с приватностью, и первое всегда рано или поздно побеждает. Мы делаем почту, в которой такого конфликта нет в принципе.
Спасибо за ваш комментарий. Мы опубликуем подробное руководство по запуску моста, как только эта функциональность будет готова. Мы очень рассчитываем на участие и интерес сообщества. И вы правы, человекочитаемые имена очень важны. Сокращатель имен будет, и формат alice@eppie, упомянутый в статье, про это.
Менеджмент ключей пользователем - это действительно сложная проблема. Мы делаем все от нас зависящее, чтобы сделать этот процесс понятным и удобным. На этом этапе мы как раз на крипто-гиков и ориентируемся, а широкую аудиторию будем привлекать позже.
Да, при компрометации ключа восстановление невозможно. Зато потерять доступ к адресу значительно сложнее: никто не может заблокировать вас, удалить ящик или отобрать домен. Сейчас мы фокусируемся на конкретной задаче: полном контроле пользователя над адресом. Как будет реализована синхронизация между устройствами, расскажем в следующих статьях. Следите за обновениями!
Ну да, диктовать мы не предлагаем :) На первом этапе можно будет обменяться адресами по любому удобному каналу. После, когда подключим сервисы имен, можно будет и голосом.
Мы делаем почту для обмена сообщениями в p2p сети. Внутри сети нет никаких ограничений. При этом мы понимаем, что существует традиционная почта, и четыре миллиарда пользователей за один день с нее не слезут. Поэтому мы реализуем частичную совместимость. Это важная, но не основная часть работы. Более того, отправляя письмо на сервер централизованной почты, пользователь автоматически теряет преимущества шифрования и децентрализации. Для такой переписки Eppie функционирует как обычный почтовый клиент. Ну, а когда участники переписки захотят перейти в приватный режим (на что мы очень рассчитываем), они оба заведут себе децентрализованные адреса.
Да, мосты нужны чтобы пересылать обычные письма в p2p сеть. Если пользователь, например, из веб-интерфейса своего Gmail, хочет отправить вам письмо в сеть Eppie, он использует адрес ahejy...nig@bridge.com.
Но есть и другие уровни совместимости с обычной почтой:
Гибридный адрес позволяет получать на один адрес обычные и p2p письма. То есть, пользователь может письмо на адрес alice+ahejy...nig@gmail.com как из обычного почтового клиента / веб-интерфейса, так и из клиента Eppie. В первом случае письмо придет на alice@gmail.com, во втором - в децентрализованную сеть Eppie на адрес ahejy...nig.
Третий вариант - подключить к Eppie обычный почтовый аккаунт и пользоваться Eppie как обычным почтовым клиентом.
В Eppie каждое клиентское приложение это нода в p2p-сети. Каждый пользователь автоматически участвует в хранении и транспортировке данных. Это базовый принцип децентрализованной модели. Для тех, кто не хочет выделять свои ресурсы, у нас будет платная опция использовать нашу собственную инфраструктуру: служебные ноды, которые мы будем поддерживать и масштабировать по мере роста сети.
Я доработал скрипт: теперь он использует переменную
LOCAL
для получения локальной части адреса от Postfix. Письма с To: xxx...yyy@domain.com пересылаются на xxx...yyy@eppie в p2p через eppie-consoleВ скрипте нужно указать пароль, заданный при инициализации eppie-console, и адрес отправителя, созданный командой
add-account -t Dec
(в скрипте задан: agb2mmvsnjpsri8vubbhucmifmapnykc2ajk32unarzr8pk4dmraq@eppie, но у вас будет свой. Нужно указать его). Посмотреть адрес:list-accounts
Подробности настройки: https://blog.eppie.io/post/dec_tut/
Нужная версия eppie-console доступна на https://github.com/Eppie-io/Eppie-CLI/releases
@Abyss777 если будет время, не могли бы вы протестировать интеграцию?
новый скрипт вот:
Спасибо за ваш интерес к проекту! Мобильные устройства будут, без них действительно никуда. Но там есть дополнительные сложности в разработке. Как только появится предварительная сборка, мы сообщим.
Децентрализованный адрес создается в Identity Manager -> Connect Service -> Decentralized Account. Но в текущей сборке для macOS эта возможность отключена, да и в других сборках децентрализованная отправка сообщений пока работает только в пределах тестовой сети. Сейчас Eppie в основном функционирует как клиент для традиционной почты с дополнительными privacy-first функциями: поддержка Proton Mail и PGP шифрования. Разработка идет, мы постепенно добавляем новые функции. Подписывайтесь на новости на https://eppie.io, если еще нет. Как только запустим бета-тест сборки с p2p сетью для macOS, вы сразу об этом узнаете.
У меня получился следующий скрипт для вызова eppie-console:
Он принимает адрес отправителя и текстовый файл с письмом, парсит адрес, тему и текст письма. Затем передаёт eppie-console.
Использовать примерно так:
Адрес отправителя (в моём примере agb2mmvsnjpsri8vubbhucmifmapnykc2ajk32unarzr8pk4dmraq@eppie у вас будет другой) это адрес который создан в eppie с помощью команды: add-account -t Dec
Чтобы посмотреть созданный адрес надо выполнить: list-accounts
Подробности настройки eppie-console в этой статье: https://blog.eppie.io/post/dec_tut/
Версию eppie-console для проверки брать тут: https://github.com/Eppie-io/Eppie-CLI/actions/runs/16075149184#artifacts
Посмотрите пожалуйста, получится ли таким образом интеграция?
email.txt у меня выглядит так:
Спасибо большое за вашу помощь.
Предлагаю попробовать разобраться на одном сценарии: пересылка писем из обычной почты в p2p. Например, через postfix и mailbox_command можно настроить вызов eppie-cli, который будет пересылать письмо на нужный p2p-адрес.
В eppie-cli есть команда отправки, но она интерактивная, можно добавить неинтерактивный режим или передавать интерактивные команды пачкой. Хотелось бы понять, какой формат и поведение было бы удобнее.
Кажется что структура должна выглядеть как-то так:
[SMTP-сервер]
↓
письмо на aaa...bbb@yourdomain.com
↓
[Postfix?]
↓
[mailbox_command?]
↓
eppie-cli --send -s <sender address> -r <receiver address> -t <subject>
Интеграция с IPFS ещё не сделана, но план следующий: сделать каждого клиента Eppie нодой IPFS, которые будут объединены в один кластер, чтобы все необходимые данные хранились надёжно и не удалялись.
Такой формат называется subaddressing и описан в RFC 5233.
Спасибо, что завели issue! На текущем этапе Eppie-CLI умеет работать как консольный почтовый клиент: он поддерживает IMAP/SMTP, Gmail, Outlook, Proton Mail, и может отправлять и получать сообщения в тестовой p2p-сети. Мне кажется, это позволяет использовать его вместо fetchmail, postfix и т.д. Нужно только реализовать команды, которые делают работу по пересылке. Что думаете?
Здесь позволим себе частично не согласиться. То что бизнес и государство следят за нами в интернете - это уже общее место, и раздражение растет, как видно по опросам во всем мире, в том числе в развитых демократиях. Так что запрос на решения, подобные нашему, есть. Но вы совершенно правы в том, что пользователям нужна простота, и в этом смысле существующие технологии находятся еще на ранней стадии развития. Рано или поздно кто-то реализует эти принципы с правильным пользовательским интерфейсом. Мы надеемся, что это будем именно мы :-) Во всяком случае, мы делаем все что от нас зависит, чтобы сделать продукт удобным и понятным не только гикам.
Спасибо за вопрос. Инструкций пока нет, потому что мосты у нас ещё не реализованы. Но есть CLI, который можно интегрировать с почтовыми серверами, которые вас интересуют. Посмотрите страницу на GitHub: https://github.com/Eppie-io/Eppie-CLI - здесь можно завести issue для решения проблем с интеграцией.
Проблема не только в доменной системе: федеративная децентрализация SMTP, хоть и лучше централизации, всё равно уязвима - крупные игроки вроде Gmail все равно будут доминировать, собирая данные, а пользователи зависят от серверов и регистраторов. Везде где есть персональные данные и цифровое identity, тенденция к централизации вступает в конфликт с приватностью, и первое всегда рано или поздно побеждает. Мы делаем почту, в которой такого конфликта нет в принципе.
Спасибо за ваш комментарий. Мы опубликуем подробное руководство по запуску моста, как только эта функциональность будет готова. Мы очень рассчитываем на участие и интерес сообщества. И вы правы, человекочитаемые имена очень важны. Сокращатель имен будет, и формат alice@eppie, упомянутый в статье, про это.
Проект полностью открытый, каждый кому нужен мост может запустить сам.
Менеджмент ключей пользователем - это действительно сложная проблема. Мы делаем все от нас зависящее, чтобы сделать этот процесс понятным и удобным. На этом этапе мы как раз на крипто-гиков и ориентируемся, а широкую аудиторию будем привлекать позже.
Да, при компрометации ключа восстановление невозможно. Зато потерять доступ к адресу значительно сложнее: никто не может заблокировать вас, удалить ящик или отобрать домен. Сейчас мы фокусируемся на конкретной задаче: полном контроле пользователя над адресом. Как будет реализована синхронизация между устройствами, расскажем в следующих статьях. Следите за обновениями!
Ну да, диктовать мы не предлагаем :) На первом этапе можно будет обменяться адресами по любому удобному каналу. После, когда подключим сервисы имен, можно будет и голосом.
Например bob@eppie или bob.eth
Мы делаем почту для обмена сообщениями в p2p сети. Внутри сети нет никаких ограничений. При этом мы понимаем, что существует традиционная почта, и четыре миллиарда пользователей за один день с нее не слезут. Поэтому мы реализуем частичную совместимость. Это важная, но не основная часть работы. Более того, отправляя письмо на сервер централизованной почты, пользователь автоматически теряет преимущества шифрования и децентрализации. Для такой переписки Eppie функционирует как обычный почтовый клиент. Ну, а когда участники переписки захотят перейти в приватный режим (на что мы очень рассчитываем), они оба заведут себе децентрализованные адреса.
Тут мы рассчитываем на активное сообщество. Любой, кому нужен такой шлюз, сможет сам его запустить и поддерживать.
Да, мосты нужны чтобы пересылать обычные письма в p2p сеть. Если пользователь, например, из веб-интерфейса своего Gmail, хочет отправить вам письмо в сеть Eppie, он использует адрес ahejy...nig@bridge.com.
Но есть и другие уровни совместимости с обычной почтой:
Гибридный адрес позволяет получать на один адрес обычные и p2p письма. То есть, пользователь может письмо на адрес alice+ahejy...nig@gmail.com как из обычного почтового клиента / веб-интерфейса, так и из клиента Eppie. В первом случае письмо придет на alice@gmail.com, во втором - в децентрализованную сеть Eppie на адрес ahejy...nig.
Третий вариант - подключить к Eppie обычный почтовый аккаунт и пользоваться Eppie как обычным почтовым клиентом.