moismailzai.protonmail_bridge_headless

Ansible-Rolle: ProtonMail Bridge (headless)

Installiert die ProtonMail Bridge (optional mit Anfrage für 2FA), registriert sie als headless Dienst und konfiguriert Postfix zur Nutzung. Unterstützt RedHat/CentOS, Debian/Ubuntu und Archlinux Server.

Hintergrund

Die ProtonMail Bridge App für Linux ermöglicht es Ihnen, Ihr ProtonMail-Konto mit IMAP- und SMTP-E-Mail-Programmen wie Thunderbird und Evolution zu integrieren. Die Bridge steht allen ProtonMail-Nutzern mit einem kostenpflichtigen Abonnement zur Verfügung.

Ziel dieser Rolle ist es, die Installation der Bridge zu automatisieren, so dass sie auf einem headless Rechner ohne GUI verwendet werden kann.

Konkret wird diese Rolle:

  • die neueste Version der Bridge herunterladen
  • sicherstellen, dass das Paket korrekt signiert ist, bevor es installiert wird
  • die Bridge mit Ihren Benutzerinformationen konfigurieren
  • einen Dienst erstellen, der die Bridge im Hintergrund laufen lässt
  • einen gesperrten Benutzer erstellen, um den Dienst auszuführen
  • Postfix für die Nutzung mit der Bridge konfigurieren (SASL)
  • auf RHEL-Systemen (oder optional) die SELinux-Kontexte konfigurieren

Anforderungen

Benötigt RedHat/CentOS 8, Ubuntu 18 oder höher oder ein aktuelles Debian-, Archlinux- oder Manjaro-System.

Rollenvariablen

Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml):

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

Ihre ProtonMail-Anmeldeinformationen und Domain. Diese werden verwendet, um Ihr Konto zur ProtonMail-Bridge hinzuzufügen und Postfix zu konfigurieren. HINWEIS: Wenn protonmail_enable_2fa auf true gesetzt ist, wird diese Rolle interaktiv ausgeführt und Sie werden nach einem 2FA-Code gefragt.

# configure_selinux: ""

Ob SELinux konfiguriert werden soll. Standardmäßig auf RHEL-Systemen auf true und sonst auf 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

Diese Einstellungen werden verwendet, um einen lokalen GPG-Schlüssel zu erstellen. Der Schlüssel ist erforderlich, damit die ProtonMail-Bridge und pass kommunizieren können. Zusätzliche Änderungen können in der Datei templates/protonmail-bridge.gpg.j2 vorgenommen werden. HINWEIS: Die Standardeinstellungen erzeugen einen neuen ungeschützten Schlüssel, der ausschließlich für die Bridge verwendet werden soll. Um ein Passwort für den Schlüssel hinzuzufügen, müssen Sie die Standardwerte sowie templates/protonmail-bridge-headless.service.sh.j2 ändern.

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

Kann verwendet werden, um Aufgaben in dieser Rolle zu überspringen.

protonmail_lib_dir: "/var/lib/protonmail"

Der Ort, an dem Konfigurations- und Dienstdateien gespeichert werden.

protonmail_user: "protonmail"
protonmail_user_flags: "-L"

Der Name und die Flags des Dienstbenutzers.

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

Einstellungen, die Sie in main.cf überschreiben können.

selinux_httpd_can_sendmail: "true"

Ob SELinux-Richtlinien für httpd hinzugefügt werden sollen, wenn Postfix konfiguriert wird.

Abhängigkeiten

Ein kostenpflichtiger ProtonMail-Account.

Beispielverwendung

Zuerst installieren Sie eine aktuelle Version von 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

Dann erstellen Sie eine Datei namens main.yml und fügen Sie das Folgende hinzu (ersetzen Sie your_username, your_password und your_domain durch die tatsächlichen Werte):

- name: "installiere und konfiguriere die protonmail-bridge als headless Dienst"
  become: "yes"
  hosts: "all"
  vars:
    protonmail_username: "your_username"
    protonmail_password: "your_password"
    protonmail_custom_domain: "your_domain"
  roles:
    - "moismailzai.protonmail_bridge_headless"

Führen Sie dann von der Befehlszeile im selben Verzeichnis Folgendes aus:

# installiert diese Rolle von Ansible Galaxy
ansible-galaxy install moismailzai.protonmail_bridge_headless

# stellt sicher, dass Ansible die gerade heruntergeladene Rolle finden kann
ln -s ~/.ansible/roles roles

# führt das Playbook aus, das Sie im vorherigen Schritt erstellt haben
sudo ansible-playbook -c local -i localhost, main.yml

Sobald der Prozess abgeschlossen ist, senden Sie sich eine Testnachricht von der Befehlszeile:

echo "Wenn Sie dies sehen, wurde die Bridge korrekt konfiguriert." | mail -s "ProtonMail-Bridge Testnachricht" -r your@email.address recipients@email.address

Lizenz

MIT

Autorinformationen

Diese Rolle wurde 2021 von Mo Ismailzai erstellt.

Über das Projekt

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

Installieren
ansible-galaxy install moismailzai.protonmail_bridge_headless
Lizenz
mit
Downloads
197
Besitzer
ismailzai.com/keys/ssh.pub ismailzai.com/keys/gpg.asc