Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

Element / Matrixをインストールしてプラットフォームに検閲・AI学習されないコミュニティを作ろう

Elementというアプリがある。これはプライバシーを強化したDiscordやSlackみたいなもので、検閲や監視、そしてAI無断学習を受けずにコミュニケーションをとり続けることができる。これは通信が暗号化されて届くため、運営からは画像が見えないのだ。

あいにくElementのサイトは日本語化されていないので、日本語でインストール手順と基礎的な使い方をメモしておく。

Elementのサイトに行く

element.io

https://element.io/ にアクセスする。するとDownloadという項目があるのでクリックする。

OSごとの選択肢が出てくるので、自分が使っているOSを選択する。

とはいえ、インストール自体の手順はそんなに難しくない。Macであればdmgファイルがダウンロードされるので、アプリケーションディレクトリにドラッグすれば終わり。Windowsであれば、インストーラのexeファイルがダウンロードされるので、これを実行して指示に従えば終わり。Linuxの場合も、Ubuntuの場合は指示通りにコマンドを実行すればよい。Community maintained packagesをクリックすると、他のLinuxディストリビューション用のインストール手順も表示される。

Elementの起動

初めてElementを起動すると、ログイン画面が表示される。アプリ自体はありがたいことに日本語化されている。

既にアカウントを持っているならそれを入力するだけだが、今回はアカウントを作成する手順も示しておく。

アカウントを作成をクリックすると、サーバを選択する画面が表示される。

Discordは自動でサーバに接続するのに、Elementは違うのがちょっと気になるかもしれない。何故かというと、Elementは非常に自由なシステムで動いているからだ。

自由なシステムを支えるのがMatrixプロトコルだ。ElementはMatrixプロトコルという仕組みで通信を行っている。同じMatrixプロトコルを利用するアプリであればElement以外のソフトとも相互に通信ができるし、Matrixの公式サーバを使わずに自分でサーバを立ち上げてその中で通信することもできる。そういう仕組みになっているのだ。

例えば、会社が自分たちのMatrixサーバを起動して、外部とは隔離されたより安全な環境を用意することだってできる。

少し長話してしまったが、ふつうは公式サーバを使えば十分だ。Matrixプロトコルはエンドツーエンド暗号化という仕組みを取り入れているので、通信を盗聴することはできないし、通信内容が暗号化されてからサーバに届くから、Matrixサーバの管理者でも通信内容を知ることはできない。暗号化を解除するための鍵は、自分のPCやスマホにしか入っていない。だから公式サーバでも十分に安全だ。

このまま「続行」をクリックしよう。

アカウントを作成する

すると、ユーザIDを設定する画面があらわれる。好きなIDを設定しよう。今後、ユーザIDは@windymeltという@が頭についた形で表記される(Twitterなどと同じ)。また、Elementはサーバをまたいで会話ができる仕組みなので、Matrix公式サーバのユーザであることを明示するときは@windymelt:matrix.orgのように表記する。これにより、他のサーバから

Continue with email address を選ぶと、自分のメールアドレスでアカウントを作れる。メールアドレスではなく他のサービスでアカウントを作成したいならContinue with Googleなどを選べるが、せっかくプライバシーを重視したサービスなのにアカウントの命運がGoogleに依存することになるのであまりおすすめしない。

Continue with email address を選ぶと、メールアドレスとパスワードを決める画面が出てくる。Proton Passなどのパスワードマネージャを使ってパスワードを覚えてもらうのが便利だ。

メールアドレスとパスワード(確認のためにもう一度入力する必要がある)を入力してContinueをクリックすると、メールアドレスに認証コードが送られる。

メールアドレスから認証コードをコピペする。

次の画面では、自分の表示される名前を設定できる。Skipを選択すると、ユーザIDがそのまま表示名として使われる。

これでアカウントが作成された。最後にElementに戻ってログインする画面が表示されるので、Continueを選べばElementが起動する。

DMを送る

「ホーム」の右にある新規作成みたいなボタンを押すと、チャットを開始という選択肢があらわれるので、これをクリックするとDMを送れる。

ユーザIDを入力するところに相手のIDを入力すると候補があらわれるから、これをクリックするとDMに人を追加できる(複数人のグループチャットも可能)。

続行をクリックすると相手に招待が送られ、相手が承諾すると会話が開始される。この時点から会話の内容は暗号化される(Elementではデフォルト設定で暗号化される)ため、プラットフォームからも見えない状態で会話できる。

ファイルのアップロードや絵文字も利用できる。このへんはDiscordと同じ。

ルームを作る

ルームとは、複数人でチャットを行える機能で、Discordにおける「チャンネル」とほぼ同じ機能だ。ルームを作成するには、「ホーム」の右にある新規作成みたいなボタンを押し、新しいルームという選択肢をクリックする(後述するスペースを先に作成する方法もあるので、いったん全部読んでから試すことをおすすめする)。

すると、ルーム名を入力する枠が表示されるので、ここに適当な名前を入力する。

非公開ルーム(招待者のみ参加可能)の部分をクリックすると、参加していなくても検索可能になる公開ルームという選択肢も選べるが、普通は非公開のままにしておく。

また、エンドツーエンド暗号化を有効にするはオンのままにしておいてよい。

するとルームを作成できる。

ユーザを呼びたいときはルーム一覧の画面から招待できる。

また、画面上部のルーム名をクリックするとメニューが表示され、設定を開ける。

設定では、ルームに参加した時点でどの範囲の会話まで遡れるか(最初から、招待した時点から、参加した時点から)を設定できる。

Discordではサーバ単位で設定することが多いが、Element / Matrixではルームが独立しており、これ単体で設定するのが普通だ。

スペースを作る

スペースとは、複数のルームをまとめたもので、Discordにおける「サーバ」とほぼ同じ機能だ。スペースを作成するには、画面の一番左端の+記号をクリックする。

Discordのサーバ同様、基本的に招待した人しか参加できないようにしたいことが多いはず。ここでは非公開を選ぶ。

スペースの名前を聞かれるので、適当に設定する。

するとスペースが作成される。ここからルームを作成すると、「スペースの参加者には見えるルーム」を作成できるので、先にスペースから作ったほうがいいかもしれない。

新しいルームをクリックすると、単体のルームを作ったとき同様にルームを作成できる。ただし、ここでは「スペースの参加者には見えるルーム」を作れるようになっている。これを選んでおくと、スペースに招待するだけで色々なルームが見えるようになって便利(Discordでの体験と同じ)にできるので、これを選ぶことをおすすめする。

これでスペースが使えるようになった。

まとめ

この記事では、Element / Matrixのごく基本的な使い方を説明した。不足があれば随時追記する。

もし分からないことがあるときは、Twitterの@windymeltか、Elementで@windymelt:matrix.orgにDMしてみてほしい。また、自分はWindymeltのアジトというスペースもやっているので、興味があったら覗いてみてほしい。

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?