私が中国移動(CMCC)による不快な経験 をきっかけにエンドツーエンド暗号化(e2ee)通信手段の利用を推進していることから、最も推奨されている自由なIMプロトコルであるJabberの登録ガイドを作成します。
まず最初に:JabberとXMPPは通常同じものを指します
Jabberはもともと1990年代後半に開発されたオープンソースのインスタントメッセージングプロトコルを指していました。時が経つにつれ、JabberはXMPPへと進化し、これはプロトコルの正式な標準となっています。XMPPはIETF(Internet Engineering Task Force)によって維持され、メッセージングやプレゼンス情報の交換方法を定めた仕様群を含みます。
そのため、「Jabber」と言う人もいれば「XMPP」と言う人もいますが、通常は同じものを指しています。私は「Jabber」と呼ぶのが好きなので、このガイドでも「Jabber」と表記します。
クライアントを選ぶ
他の多くのIMと同様に、Jabberを使用するにはクライアントが必要です。以下はxmpp.orgに掲載されている人気のXMPPクライアント(アルファベット順)です:
- Beagle IM (macOS)
- Conversations (Android)
- Converse.js (ブラウザ)
- Movim (ブラウザ)
- Dino (GNU/Linux)
- Gajim (GNU/Linux、Windows)
- Monal (macOS、iOS)
- Quicksy (Android)
- Siskin IM (iOS)
- Swift.IM (GNU/Linux、Windows、macOS)
- Yaxim (Android)
GNU/LinuxやMicrosoft Windowsでは、機能が豊富で使いやすいGajimを推奨します。Androidでは同様の理由でConversationsを推奨します。iOSやmacOSは使用していないため、好みに応じて上記のリストから選んでください。本ガイドではGajimとConversationsを例に進めます。
Gajimチュートリアル
ステップ1:Gajimを入手する
GNU/Linuxユーザーの場合、Gajimは通常ディストリビューションの公式リポジトリにあります。Debian、Trisquel、Ubuntuまたはその他のAPTベースのディストリビューションでは:
$ sudo apt install gajim
Windowsユーザーは公式サイト からインストーラーをダウンロードしてください。
ステップ2:アカウントを追加する
以下のようなウィンドウが表示されます。すでにアカウントをお持ちの場合は、認証情報を入力して「ログイン」をクリックし、ステップ5に進んでください。アカウントを持っていない場合は「サインアップ」をクリックします。

ステップ3:サーバーを選ぶ
「プロバイダー(provider)」を選ぶ画面が表示されます。Jabberのサービスプロバイダーとは、あなたのJabberアカウントが所属する場所で、メールアカウントにおけるメールサービスプロバイダーと同様です。どれを選べば良いか分からない場合は、このリスト を参照してください。私はCategory Aに記載されているサーバーのみを推奨します。このチュートリアルでは jabber.fr を使用します。

ステップ4:ユーザー名とパスワードを設定する
ユーザー名とパスワードを設定してください。JIDの構文は username@example.org で、メールアドレスと同様です。パスワードは大文字・小文字・数字・記号を含む、60文字以上の強力なものを推奨します。完了したら「サインアップ」をクリックしてください。

ステップ5:アカウント追加完了ウィンドウ
アカウントが追加されたことを示すウィンドウが表示されます。「接続」をクリックして続けます。

ステップ6:チャットを開始し暗号化を有効にする
「チャットを開始…」をクリックし、チャットしたい相手のJIDを入力してください。


ここで最も重要なステップが来ます! Gajimはデフォルトでエンドツーエンド暗号化を使用しません。そのため、連絡先を追加した後は毎回暗号化を有効にする必要があります。 右下の鍵マークをクリックし、OMEMOを選択してください。
また、他のクライアントで連絡先を追加した場合、Gajim側では暗号化が有効にならないため、チャットを開始する前に毎回暗号化が有効になっているか確認することを習慣にしましょう。

以上です。
Conversationsチュートリアル
ステップ1:Conversationsを入手する
まず、クライアントをインストールしてください。ConversationsはF-Droid公式リポジトリ にあります。
ステップ2:アカウントを追加する
以下の画面が表示されます。すでにアカウントをお持ちの場合は「すでにアカウントを持っています」をタップし、認証情報を入力して「次へ」をタップし、ステップ4に進んでください。アカウントがない場合は「新しいアカウントを作成」をタップします。

ステップ3:サーバーを選び、ユーザー名とパスワードを設定する
プロバイダーを選ぶ画面が表示されます。これはあなたのJabberアカウントの属するサービスです。どれを選べば良いか分からない場合は、このリスト を参照してください。私はCategory Aに記載されているサーバーのみを推奨します。このチュートリアルでは jabber.fr を使用します。「自分のプロバイダーを使う」を選択してください。

ユーザー名とパスワードを入力し、JID(XMPPアドレス)には username@example.org の構文で記入します。パスワードは大文字・小文字・数字・記号を含む60文字以上の強力なものを推奨します。「サインアップ」をタップしてください。

ステップ4:アバターを設定する
必要に応じてアバターを設定できます。設定しない場合は「スキップ」をタップしてください。

ステップ5:チャットを開始する
Conversationsが権限を求めてくる場合は、許可してください。

以上で完了です。
「+」アイコンをタップし、「連絡先を追加」を選んで、チャットしたい相手のJIDを入力してください。ConversationsはデフォルトでOMEMO暗号化を使用しているため、チャットを始める際に毎回手動で暗号化を有効にする必要はありません。

ステップ6:バッテリー最適化を無効にする
メイン画面に戻ると、バッテリー最適化を無効にするよう求められる画面が表示されます。「次へ」をタップし、その後「許可」をタップしてください。これにより、Conversationsがバックグラウンドで新しいメッセージを取得できるようになります。
