お気に入りのIRCクライアントからマトリックスに参加してください
Matrix2051(または略してM51)は、Matrixに裏打ちされたIRCサーバーです。また、IRCサーバーの代わりにMatrix Homeserversに接続するIRCバウンサーとして見ることもできます。言い換えると:
IRC client
(eg. weechat or hexchat)
|
| IRC protocol
v
Matrix2051
|
| Matrix protocol
v
Your Homeserver
(eg. matrix.org)
目標:
ノンゴール:
このスクリーンショットに関する2つのメモ:
sudo apt install elixir erlang erlang-dev erlang-inets erlang-xmerlmix deps.getmix testmix run matrix2051.exslocalhost:2051に接続し、次の構成を使用します。user:homeserver.example.org )Webクライアントと連携するための追加の指示については、以下を参照してください。
より生産指向のガイドについては、 INSTALL.md参照してください。
matrix2051.exsはm51.applicationを開始します。これはm51.supervisorを開始します。config.ex :Global Config Agentirc_server.ex :IRCクライアントから接続を受信するDynamicSupervisor 。 irc_server.ex接続を受信するたびに、 irc_conn/supervisor.exが生成されます。
irc_conn/state.ex :接続の状態を保存しますirc_conn/writer.ex :genserverソケットを保持し、それにラインを書き込むことができます(および将来のラインのバッチ)irc_conn/handler.ex :読者からの着信コマンドを忙しくするタスク、単純なコマンドへの回答、より複雑なコマンドを派遣するmatrix_client/state.ex :Matrix Homeserverへの接続の状態を保持しますmatrix_client/client.ex :マトリックスHomeserverへの1つの接続を単一のユーザーとして処理するmatrix_client/sender.ex :Matrix Homeserverにイベントを送信し、障害時に再試行しますmatrix_client/poller.ex :Matrix Homeserverに新しいイベントを繰り返し尋ねます(初期同期を含む)irc_conn/reader.ex :入ってくる行を忙しくするタスクをハンドラーに送信しますユーティリティ:
matrix/raw_client.ex :低レベルのマトリックスクライアント / HTTPリクエストの周りの薄いラッパーirc/command.ex :IRCラインの操作。いくつかの機能をサポートしていないクライアントの「ダウングレード」を含む。irc/word_wrap.ex :ジェネリックラインラッピングformat/ :IRCのフォーマットとorg.matrix.custom.htmlを変換しますmatrix_client/chat_history.ex :IRCクライアントが要求した場合、Matrixからメッセージ履歴を取得します多くの優れたIRCクライアントがいますが、私が好きなマトリックスクライアントを見つけることができません。しかし、一部のコミュニティはIRCからマトリックスに移動しているので、私はこれを書いて、快適なクライアントと一緒に参加できるようにしました。
これはまた、最新のIRCV3機能を簡単にプロトタイプする方法であり、マトリックスプロトコルを学ぶための方法です。
理論的には、IRCクライアントは機能するはずです。特に、Gamja、Irccloud、The Lounge、およびWeechatでテストします。
クライアントに問題がある場合は、問題を開いてください。
理論的には、マトリックス仕様を読んでこれを書いたように、いずれにしても。実際には、これはシナプスでのみテストされています。
顕著な例外は登録です。マトリックス自体が登録を指定しないため、シナプス固有のAPIを使用します。
Homeserverに問題がある場合は問題を開きます(ダミーログイン/パスワードを使用して接続できます)。
執筆時点で、マトリックスとIRC/IRCV3の両方がそれらをサポートする場合、Matrix2051はおそらくそうするでしょう。オープンな「強化」の問題のリストを見てください。
マトリックスのモデルはIRCのモデルとは大きく異なるため、顕著な例外は直接的なメッセージです。
Webクライアントを接続するには、WebSocket Gatewayが必要です。 Matrix2051は、KiwiircのWebIrcgatewayでテストされました(古いGoバージョンで実行する必要がある場合は、このパッチを試してください)。
Gamjaを使用してMatrix2051に接続するように構成する方法は次のとおりです。
[ fileserving ]
enabled = true
webroot = " /path/to/gamja "
[ upstream . 1 ]
hostname = " localhost "
port = 2051
tls = false
# Connection timeout in seconds
timeout = 20
# Throttle the lines being written by X per second
throttle = 100
webirc = " "
serverpassword = " "これはXKCD 1782への参照です:
#matrix2051にIRC.Interlinked.meに参加します。 (いいえ、私は自分のドッグフードを食べていません、私はまだ「ネイティブ」IRCを好みます。)