Matrix聊天快速指南

可以参考我在2017年软件自由日上的演讲,比本文更加详细: https://matrixim.cc/sfd2017-matrix.pdf

矩阵一入深似海,从此电幕是路人。

为什么用Matrix?

Matrix是一个近些年来快速发展起来的去中心化的消息协议,通过服务器间的联合使不同服务器上的用户可以通信,同时用户的聊天记录存放在他们选择的服务器上。

我们应该选择什么聊天软件/协议?

于是我们选择Matrix,它符合以上所有特征。在近几年,Matrix网络的流量也在高速上升(可见此Matrix官方博文)。同时,Matrix官方也提供到IRC的桥接服务,方便用户在Matrix中使用IRC聊天室。当然了,你也可以用fishroom等工具进行桥接。

还有一些优秀的聊天协议:

选择 Matrix 服务器

首先,Matrix是一个去中心化的网络,我们需要先选择一个服务器。和XMPP有https://xmpp.net一样,我们也可以先找找有哪些Matrix服务器。Hello Matrix为我们提供了一份非官方Matrix服务器列表

如果你还在犹豫选择哪个服务器,你可以选择下面中的其中一个:

或者,你可以自己搭一个服务器!

使用 Riot

当前功能最丰富的Matrix客户端是Riot,它有网页版,Android版和iOS版,把网页版封装后安装到本地硬盘就变成了桌面版。以下介绍网页版。

网页版 Riot 由静态 HTML 页面和 JS 脚本组成,它可以放在本地使用,也可以把它放在 web 服务器上让用户访问。不少 Matrix 服务提供者都会提供一个 Riot web,其默认服务器是他们自己的服务器,例如 https://riot.lcpu.club 是我自己部署的 Riot,默认服务器是 https://matrixim.cc,而官方的 Riot 位于 https://riot.im/app,默认服务器是 https://matrix.org,而 https://riot.im/develop 是开发中的 Riot 不稳定版本,会提供一些在后续版本中出现的新功能。

以下我以 https://riot.lcpu.club 为例介绍 Riot 的用法。之后再简单地介绍 Android 版和 iOS 版的用法。

注册和登录

打开 Riot web 之后,我们可以看到下图所示的登录界面。如果你用的是 https://riot.im/app 等其他 Riot 实例,可能会以 guest 的身份登录,你可以点击左上方的 Login 或 Register 进行登录或注册。

sign in
sign in

注意 Sign in 按钮下方选择的是 Default server,因此,如果你用的是 https://riot.lcpu.club,则服务器已经是 https://matrixim.cc. 如果你需要换服务器,你可以选择 Custom server,效果如下。

custom server
custom server

注意,这里填 https://matrix.org 或者 https://matrixim.cc,是因为Matrix使用HTTP作为客户端-服务端接口。 客户端访问服务器的方式是向服务器发送HTTP请求。一般来说,Matrix服务器都会打开HTTPS作为用户访问服务器上Matrix服务的方式。 Identity server是用来管理第三方ID(如邮箱)和Matrix ID的关系的,推荐保持中心化的 https://vector.im 不变。

首先我们还是创建一个账户。点击下方的 Create a new account 即可,你只需要填写用户名和密码,再重复一次密码,之后点 Register 即可,不需要绑定邮箱或者手机号。

成功注册之后,Riot会自动用刚注册号的帐号登陆。如果你想在其他设备上登录,打开 Riot web 然后填写用户名和密码,点 Sign in 即可。

Android 版和 iOS 版的登录和注册界面类似,因此不再过多介绍。

开始聊天

登录后,可以看到 Riot web 的首页,为了方便,我在下图中标出常用的功能。

Riot home
Riot home

点击左下角的目录图标,可以看到你用的服务器中的公开聊天室列表。你也可以直接填写要加入的房间,如#lcpu:matrixim.cc,然后回车就能加入。

要和其他人私聊,可以点左下角的Start chat(图案是一个人),填写你要联络的人的MXID.

你也可以点击图案是加号的按钮,创建一个房间,然后拉其他人进来。