加入您最喜欢的IRC客户端的矩阵
Matrix2051(或简称M51)是由Matrix支持的IRC服务器。您还可以将其视为连接到矩阵家庭服务器而不是IRC服务器的IRC保镖。换句话说:
IRC client
(eg. weechat or hexchat)
|
| IRC protocol
v
Matrix2051
|
| Matrix protocol
v
Your Homeserver
(eg. matrix.org)
目标:
非目标:
此屏幕截图的两个注释:
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 :全局配置代理irc_server.ex :一种DynamicSupervisor ,从IRC客户端接收连接。每次irc_server.ex收到连接时,它都会催生irc_conn/supervisor.ex ,以监督:
irc_conn/state.ex :存储连接的状态irc_conn/writer.ex :Genserver握住套接字并允许向其写线(将来的行批次)irc_conn/handler.ex :读者从传入命令上忙于培训的任务,对简单的命令回答并派遣更复杂的命令matrix_client/state.ex :保持连接到矩阵Homeserver的状态matrix_client/client.ex :作为一个用户,处理与矩阵Homeserver的一个连接matrix_client/sender.ex :将事件发送到Matrix Homeserver并在失败时重试matrix_client/poller.ex :反复向矩阵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,Lounge和Weechat进行了测试。
如果您的客户有任何问题,请打开问题。
从理论上讲,任何通过阅读矩阵规格写的,任何人。实际上,这仅通过突触进行测试。
一个值得注意的例外是注册,它使用特定于突触的API作为矩阵本身并未指定注册。
如果您对HomeServer有任何问题,请打开问题(我可以用来连接的虚拟登录/密码将不胜感激)。
在撰写本文时,如果矩阵和IRC/IRCV3都支持它们,则Matrix2051可能会。看看开放的“增强”问题列表。
直接消息是一个值得注意的例外,因为矩阵的模型与IRC的模型有很大不同。
要连接Web客户端,您需要一个Websocket网关。使用Kiwiirc的Webircgateway测试了Matrix2051(如果需要在旧的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的引用:
在irc.interlinked.me上加入#matrix2051。 (不,我不是在吃自己的狗食,我仍然喜欢“本地” IRC。)