protonmail_bridge_headless

Ansible Роль: ProtonMail Bridge (бездефолтный)

Устанавливает ProtonMail Bridge (по желанию с запросом 2FA), регистрирует его как бездействующий сервис и настраивает Postfix для его использования. Поддерживает серверы RedHat/CentOS, Debian/Ubuntu и Archlinux.

Общая информация

Приложение ProtonMail Bridge для Linux позволяет интегрировать вашу учетную запись ProtonMail с программами для электронной почты IMAP и SMTP, такими как Thunderbird и Evolution. Бридж доступен всем пользователям ProtonMail с платной подпиской.

Цель этой роли — автоматизировать установку бриджа так, чтобы его можно было использовать на бездействующей машине без графического интерфейса.

В частности, эта роль:

  • загружает последнюю версию бриджа
  • проверяет, что пакет правильно подписан перед установкой
  • настраивает бридж с вашей пользовательской информацией
  • создает сервис для работы бриджа в фоновом режиме
  • создает заблокированного пользователя для запуска сервиса
  • настраивает Postfix для использования с бриджем (SASL)
  • на системах RHEL, (по желанию) настраивает контексты SELinux

Требования

Требуются системы RedHat/CentOS 8, Ubuntu 18 или выше, или обновленная система Debian, Archlinux или Manjaro.

Переменные роли

Доступные переменные перечислены ниже с значениями по умолчанию (см. defaults/main.yml):

protonmail_username: ""
protonmail_password: ""
protonmail_custom_domain: ""
protonmail_enable_2fa: false

Ваши учетные данные ProtonMail и домен. Они используются для добавления вашей учетной записи в ProtonMail Bridge и для настройки Postfix. ПРИМЕЧАНИЕ: если protonmail_enable_2fa установлен на true, эта роль будет выполняться интерактивно и запросит у вас код 2FA.

# configure_selinux: ""

Следует ли настраивать SELinux. По умолчанию true для систем RHEL и false для остальных.

gpg_key_settings:
    type: default
    length: default
    subkey_type: default
    subkey_length: default
    expire_date: 0
    name: protonmail-bridge-headless service key
    email: root@localhost

Эти настройки используются для создания локального GPG ключа. Ключ необходим для связи ProtonMail Bridge и pass. Дополнительные изменения можно внести в файл templates/protonmail-bridge.gpg.j2. ПРИМЕЧАНИЕ: значения по умолчанию создают новый незашифрованный ключ, который будет использоваться исключительно для бриджа. Чтобы добавить пароль к ключу, вам нужно изменить значения по умолчанию, а также templates/protonmail-bridge-headless.service.sh.j2.

configure_gpg: "true"
configure_pass: "true"
configure_postfix: "true"
configure_service: "true"
configure_user: "true"

Можно использовать для пропуска задач в этой роли.

protonmail_lib_dir: "/var/lib/protonmail"

Место, где будут храниться файлы конфигурации и сервиса.

protonmail_user: "protonmail"
protonmail_user_flags: "-L"

Имя и флаги пользователя-сервиса.

postfix_hostname: "{{ protonmail_custom_domain }}"
postfix_localhost_address: "127.0.0.1"

Настройки, которые вы можете переопределить в main.cf.

selinux_httpd_can_sendmail: "true"

Следует ли добавлять политики selinux для httpd при настройке Postfix.

Зависимости

Платный аккаунт ProtonMail.

Пример использования

Сначала установите актуальную версию Ansible:
Archlinux:

sudo pacman -Syu ansible

RHEL:

sudo dnf -y install epel-release
sudo dnf repolist
sudo dnf -y install ansible

Debian:

sudo apt update
sudo apt install -y software-properties-common
sudo apt-add-repository -y -u ppa:ansible/ansible
sudo apt install -y ansible

Затем создайте файл под названием main.yml и добавьте следующее (замените your_username, your_password и your_domain на их реальные значения):

- name: "установить и настроить protonmail-bridge как бездействующий сервис"
  become: "yes"
  hosts: "all"
  vars:
    protonmail_username: "your_username"
    protonmail_password: "your_password"
    protonmail_custom_domain: "your_domain"
  roles:
    - "moismailzai.protonmail_bridge_headless"

Затем из командной строки в том же каталоге выполните:

# устанавливает эту роль из Ansible Galaxy
ansible-galaxy install moismailzai.protonmail_bridge_headless

# обеспечивает, что Ansible сможет найти загруженную вами роль
ln -s ~/.ansible/roles roles

# запускает плейбук, который вы создали на предыдущем шаге
sudo ansible-playbook -c local -i localhost, main.yml

После завершения процесса отправьте себе тестовое сообщение из командной строки:

echo "Если вы видите это сообщение, бридж был правильно настроен." | mail -s "Тестовое сообщение ProtonMail-bridge" -r [email protected] [email protected]

Лицензия

MIT

Информация об авторе

Эта роль была создана в 2021 году Mo Ismailzai.

О проекте

Installs the ProtonMail bridge (optionally prompting for 2FA), registers it as a headless service, and configures Postfix to use it.

Установить
ansible-galaxy install moismailzai/ansible-role-protonmail-bridge-headless
Лицензия
mit
Загрузки
181
Владелец
ismailzai.com/keys/ssh.pub ismailzai.com/keys/gpg.asc