moismailzai.protonmail_bridge_headless

Ansible Role: ProtonMail Bridge (ヘッドレス)

ProtonMail Bridgeをインストールし(必要に応じて2FAの入力を要求)、ヘッドレスサービスとして登録し、Postfixを使用するように設定します。RedHat/CentOS、Debian/Ubuntu、Archlinuxサーバーをサポートしています。

概要

Linux用のProtonMail Bridgeアプリは、ProtonMailアカウントをThunderbirdやEvolutionなどのIMAPおよびSMTPメールプログラムと統合することを可能にします。Bridgeは、有料サブスクリプションを持つすべてのProtonMailユーザーが利用できます。

このロールの目的は、GUIのないヘッドレスマシンで使用できるように、Bridgeのインストールを自動化することです。

具体的には、このロールは次のことを行います:

  • Bridgeの最新バージョンをダウンロードします
  • パッケージが正しく署名されていることを確認します
  • ユーザー情報でBridgeを設定します
  • Bridgeをバックグラウンドで実行し続けるサービスを作成します
  • サービスを実行するためのロックされたユーザーを作成します
  • Bridgeと一緒に使用するために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-bridgeにアカウントを追加し、Postfixを設定するために使用されます。: protonmail_enable_2fatrueに設定されている場合、このロールは対話的に実行され、2FAコードの入力を求められます。

# configure_selinux: ""

SELinuxを設定するかどうか。RHELシステムではデフォルトでtrue、それ以外では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ファイルで行うことができます。: デフォルト設定では、Bridge専用の新しい保護されていないキーが生成されます。キーのパスワードを追加するには、デフォルト値を変更し、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"

Postfix設定時にhttpd用のselinuxポリシーを追加するかどうか。

依存関係

有料の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_usernameyour_passwordyour_domainを実際の値に置き換えます):

- name: "プロトンメールブリッジをヘッドレスサービスとしてインストールおよび設定する"
  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 your@email.address recipients@email.address

ライセンス

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.protonmail_bridge_headless
ライセンス
mit
ダウンロード
197
所有者
ismailzai.com/keys/ssh.pub ismailzai.com/keys/gpg.asc