💾 Archived View for betahowto.duckdns.org › yggdrasil:email:yggmail captured on 2024-05-10 at 11:23:55. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-03-21)

-=-=-=-=-=-=-

Yggmail

Это электронная почта ( gemini://betahowto.duckdns.org/yggdrasil:email ), но немного не такая, какой вы ее знаете.

В мире существует множество всевозможных служб обмена сообщениями, но асинхронная связь по-прежнему востребована и широко распространена. Yggmail разработан в соответствии со стандартами, которые большинству людей хорошо знакомы и понятны.

( gemini://betahowto.duckdns.org/Yggdrasil:Yggdrasil ) хорошо подходит для доставки электронной почты и позволяет Yggmail работать даже в закрытых сетях, где Интернет или другие возможности подключения ограничены или просто недоступны. Yggmail гарантирует сквозное шифрование и достаточно хорошо работает в сетях с изменчивой топологией.

Введение

Yggmail - это агент электронной почты, реализованный в одном бинарном файле, который может отправлять и получать сообщения через сеть ( gemini://betahowto.duckdns.org/Yggdrasil:Yggdrasil ).

Адреса электронной почты формируются на основе ваших публичных ключей. Пример:

617b5772c6d10feda41fc6e0e43b976c4cc9383d3729310d3dc9e1332f0d9acd@yggmail.

Быстрый старт

Используйте последнюю версию Go ( gemini://betahowto.duckdns.org/go:go ) для установки Yggmail:

go install github.com/neilalexander/yggmail/cmd/yggmail@latest

(подробнее об установке или обновлении Go можно прочесть здесь ( gemini://betahowto.duckdns.org/go:go_installation ))

Yggmail будет установлен в директорию, указанную в переменной окружения GOPATH, для удобства вы можете указать этот путь в переменной PATH:

export PATH=$PATH:`go env GOPATH`/bin

Создайте свой почтовый ящик и установите пароль. База данных Yggmail будет автоматически создана в вашей рабочей директории, если она еще не существует:

yggmail -password

Запустите Yggmail, используя созданную в рабочей директории базу данных, указав при запуске либо multicast, либо статический узел Yggdrasil, либо и то и другое:

yggmail -multicast
yggmail -peer=tls://...
yggmail -multicast -peer=tls://...

Адрес вашей электронной почты будет выведен в log при запуске Yggmail. Так же, этот адрес необходимо будет использовать в качестве имени пользователя для подключений SMTP/IMAP.

Подключитесь к Yggmail с помощью вашего почтового клиента. Примеры параметров подключения:

Теперь вы можете попробовать отправить электронное письмо другому пользователю Yggmail!

Параметры запуска

Поддерживаются следующие параметры командной строки:

Пример

При запуске на локальном компьютере без Yggdrasil, достаточно указать один пир ( https://publicpeers.neilalexander.dev/ ) (а в настройках почтового клиента - localhost):

yggmail -peer=tls://94.140.114.89:4708

Так можно запустить Yggmail, чтобы он был доступен для подключения по SMTP / IMAP из локальной сети:

yggmail -peer=tls://192.168.1.4:22953 -database=/home/user/go/bin/yggmail.db -smtp=192.168.1.4:1025 -imap=192.168.1.4:1143

Здесь:

Таким образом мы подключаем Yggmail к нашему пиру Yggdrasil и открываем на этом устройстве в локальной сети порты 1025 и 1143.

На любом другом устройстве в этой локальной сети настраиваем почтовый клиент (например, Thunderbird (notebook) или Почта (iPhone)) для подключения к получившемуся мини почтовому серверу, указав в настройках адрес 192.168.1.4 и соответствующие порты для SMTP и IMAP протоколов: 1025 и 1143.

В дальнейшем работаем, как с любой другой почтой на других серверах.

В этом примере -peer=tls://192.168.1.4:22953 можно заменить на -multicast, тогда Yggmail будет пытаться сам найти Yggdrasil в локальной сети с помощью отправки широковещательных пакетов.

Пример systemd-unit'a для запуска yggmail:


[Unit]
Description=Yggmail
Documentation=https://github.com/neilalexander/yggmail
After=network-online.target

[Service]
Type=simple
ExecStart=/home/user/go/bin/yggmail -peer=tcp://192.168.1.4:22953 -database=/home/user/go/bin/yggmail.db -smtp=192.168.1.4:1025 -imap=192.168.1.4:1143 2>&1
Restart=always
RestartSec=1
TimeoutStopSec=0

[Install]
WantedBy=multi-user.target

Unit нужно сохранить в файл /lib/systemd/system/yggmail.service и выполнить команду: sudo systemctl enable --now yggmail (не забудьте указать корректные пути к yggmail и yggmail.db).

Если все сделано правильно systemctl status yggmail покажет: "Active (running)".

Таким же образом можно установить и запустить Yggmail на ( gemini://betahowto.duckdns.org/VPS ) [cо статическим ("белым") IP-адресом], тогда этот почтовый сервер может стать доступным не только из локальной сети, но и через Интернет, и вы сможете отправлять и получать почту Yggmail со смартфона, находясь, где угодно, имея любое подключение к Интернет. Дополнительно соединения и аутентификацию на SMTP / IMAP можно защитить c помощью VPN.

C учетом описанных ниже ограничений ( gemini://betahowto.duckdns.org/.:yggmail#Замечания ) Yggmail [на данный момент] больше подходит для использования с мессенджером Delta Chat ( https://delta.chat/ru/ ), однако другие e-mail клиенты так же можно настроить для работы с ним.

Пример настроек Delta Chat

Мессенджер доступен для популярных настольных операционных систем, а так же для iOS ( https://ru.wikipedia.org/wiki/IOS ) и Android ( https://ru.wikipedia.org/wiki/Android ). Ниже пример настроек клиента iOS, с учетом описанного выше.

+-----------------------------+--------------------------------------------------------------------------+
| Параметр                    | Значение                                                                 |
+-----------------------------+--------------------------------------------------------------------------+
| Адрес эл. почты             | 36ef9bc3a91ffbcc511b33faa3bb72b31c140f18e3ef143559a0128be440de49@yggmail |
| Пароль                      | * (ваш пароль)                                                           |
| Дополнительные параметры    |                                                                          |
| Параметры безопасности IMAP | Выкл.                                                                    |
| IMAP логин                  | 36ef9bc3a91ffbcc511b33faa3bb72b31c140f18e3ef143559a0128be440de49@yggmail |
| IMAP сервер                 | 192.168.1.4                                                              |
| IMAP порт                   | 1143                                                                     |
| Параметры безопасности SMTP | Выкл.                                                                    |
| SMTP логин                  | 36ef9bc3a91ffbcc511b33faa3bb72b31c140f18e3ef143559a0128be440de49@yggmail |
| SMTP пароль                 | * (ваш пароль)                                                           |
| SMTP сервер                 | 192.168.1.4                                                              |
| SMTP порт                   | 1025                                                                     |
| Проверка сертификатов       | Принимать недействительный                                               |
+-----------------------------+--------------------------------------------------------------------------+

Delta Chat

Пример настроек аккаунта электронной почты в Mozilla Thunderbird

аккаунта Yggmail в Mozilla Thunderbird

Для настроенного аккаунта можно в его свойствах задать отображаемое имя (Account Name), чтобы выглядело примерно так:

выглядит аккаунт в Thunderbird

Резервные копии

Чтобы полностью сохранить копию аккаунта и почтовые сообщения для переноса или восстановления - достаточно скопировать файл, указанный при инициализации сервера:

yggmail -database=/path/to/yggmail.db

Если данный путь не указан явно, файл можно найти в домашней директории профиля.

Приватный ключ (private_key) и хеш пароля (password) расположены в таблице config.

Также нужно отдельно сохранить пароль инициализации базы данных (при выполнении команды yggmail -password), поскольку в исходном виде он не сохраняется.

Замечания

Несколько важных замечаний:

Известные проблемы

Вероятно, Yggmail содержит большее количество багов, ниже упомянуты пара из них:

Так же, код немного запутан, простите нас за это ;) (neilalexander ( https://github.com/neilalexander ))

Адреса пользователей

Желающие могут оставить здесь свой адрес, чтобы другие пользователи могли его найти и связаться с вами.

(если в таблице наберется большое количество контактов, перенесём её на отдельную страницу, а здесь оставим ссылку)

+---------------+--------------------------------------------------------------------------+
| Никнейм / Имя | Адрес                                                                    |
+---------------+--------------------------------------------------------------------------+
| TomasGl       | f6065c4d768d5b40e40c942ca77bd40079ed3cc2df266562b9f4546ebe2c13d6@yggmail |
| BiGLapa       | b6c2beb9ed1d8847bd5dba85d0623200435625fb2f9e155b8dd703a53b8c734d@yggmail |
+---------------+--------------------------------------------------------------------------+

Ссылки

Репозиторий проекта на GitHub: https://github.com/neilalexander/yggmail

Материалы

gemini://betahowto.duckdns.org/yggdrasil:email

gemini://betahowto.duckdns.org/Yggdrasil:Yggdrasil

gemini://betahowto.duckdns.org/yggdrasil:mpd

gemini://betahowto.duckdns.org/go:go

gemini://betahowto.duckdns.org/go:go_installation

gemini://betahowto.duckdns.org/yggdrasil:public_peer

https://publicpeers.neilalexander.dev/

https://github.com/neilalexander/yggmail

gemini://betahowto.duckdns.org/VPS

gemini://betahowto.duckdns.org/.:yggmail#Замечания

https://delta.chat/ru/

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

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

https://github.com/neilalexander/yggmail/issues/1#issuecomment-1930768430

https://github.com/neilalexander/yggmail/issues/33

https://github.com/neilalexander/yggmail/issues/35

https://github.com/neilalexander

Навигация

Поиск

Главная страница

Редактировать

Проект β-Doku

Алиас

[0200::/7]

Alfis / Yggdrasil