引言
常见的 Matrix 客户端包括:
Element (最为熟知和常用):
- 跨平台支持:Element 提供了适用于多个平台的客户端,包括桌面、移动和Web版本。
- 功能丰富:Element 提供了广泛的功能,包括端到端加密、音视频通话、文件共享、插件支持等。
- 社区支持:Element 是 Matrix 社区内最受欢迎的客户端之一,拥有大量用户和支持。
Cinny (新一代 Matrix 客户端,UI 设计简洁现代):
- 轻量级:Cinny 是一个轻量级的 Matrix 客户端,适用于那些喜欢简洁界面的用户。
- 无需安装:通过浏览器即可使用 Cinny。
- 不足:发布日期较新,因此功能不如 Element 全面,例如 Cinny 暂不支持音视频通话;另外,当前 Cinny 仅有 Web 端,无 Android 和 iOS 应用;
为什么选择 Cinny 作为客户端:
- 部署简单。只需要把 Cinny 编译后的源码上传到网站根目录就可以使用了。
- UI 好看。设计语言很统一,界面简洁优雅。
Cinny 的 UI 是本人尤其青睐它的原因。
1. 下载 Cinny 源码
我们打开 Cinny 的 GitHub 项目地址:https://github.com/cinnyapp/cinny ,下载最新的 release 包。
下载后,我们将其上传到网站的根目录,并手动解压。你将得到一些文件和文件夹:
现在,只要你的 nginx 配置正确,你已经可以通过域名访问 Cinny 客户端了。
2. Cinny 客户端的配置
2.1 修改服务器列表
我们需要将自己的服务器地址添加到 Cinny 配置文件中,以便用户可以在下拉列表中选择。
我们编辑 config.json
文件:
打开 config.json
文件:
其中,"allowCustomHomeservers"
用于控制是否允许用户手动输入服务端域名。为避免用户错误配置,我们这里保持 false
不变。
"homeserverList"
里可以包含多个服务端的域名,要注意缩进和逗号分隔。
以下是原版 config.json
文件,建议保存备用:
{
"defaultHomeserver": 3,
"homeserverList": [
"converser.eu",
"envs.net",
"halogen.city",
"matrix.org",
"mozilla.org"
],
"allowCustomHomeservers": true
}
以下是一个示例配置文件,假设仅允许用户选择 server.xxx.com 登录,且不允许用户自主输入服务端地址:
{
"defaultHomeserver": 0, #默认服务器
"homeserverList": [
"<server.xxx.com 填入你的服务端域名>"
],
"allowCustomHomeservers": false #是否允许用户手动输入域名
}
完成编辑后,保存并退出。
现在我们回到浏览器,刷新客户端网页。若刚才的配置无误,你将能够选择自己的 server.xxx.com 域名作为服务端地址。
⚠ 注意:可能的坑
修改完了 config.json 文件,回到客户端网页却还是只有原来的 “matrix.org” 等五个地址可供选择?
打开浏览器 F12 开发人员工具,先禁用一下浏览器缓存就好了:
3. 完成
至此,已完成 Cinny 客户端的部署。Cinny 美中不足有两点:
- 功能仍需完善
相较于老牌客户端 Element,Cinny 缺失了很多功能,例如没有音视频通话、没有重置密码入口
其它的一些小功能也没有,比如
in-chat key verification
,不过这倒不影响核心功能
- 一些细节有问题
移动端界面仍需改善,层级逻辑有问题
所有使用 webkit 的 iOS 浏览器(Safari 等),一旦焦点定位到输入框,浏览器就会自动放大网页。查了一些资料后发现,这是因为 Cinny 默认的输入框文本大小小于
12px
,触发了 iOS 的一种缩放机制
4. 后续
其实现在你已经可以正常登录使用了,但你可以进行一些额外设置,用起来更舒服。
4.1 Cinny 汉化 (可选)
Cinny 不提供多语言设置。如果想汉化 Cinny 只能采取一种愚蠢且费力的方法。请打开 网站根目录/assets/index-xxxxxxxx.json
文件,自行将其中的英文部分汉化成中文。(没错,这文件非常长)
⚠ 注意:可能的坑
- 提前备份原版
index-xxxxxxxx.json
文件- 建议每次只修改一小部分,然后回到客户端刷新网页看看效果,避免出错
唉,完成全部文本的汉化是一个大工程,加上本人对 Matrix 一些功能表述的不熟悉,花了我好几天的时间 ಥ_ಥ
这是效果展示:
4.2 自定义品牌 (可选)
如果你希望将 Cinny 用于生产环境,并把默认的大黑鸟 logo 去掉,那么你可以打开 /assets
文件夹,将里面的图标换成你自己的。
换的时候注意每个图标的尺寸大小。可通过 某些在线工具 批量生成多尺寸 logo 图像。
4.3 第三方 OIDC 登录 (可选)
如果你还没有配置第三方账号(也就是 OIDC (OpenID Connect)
登录),可以参阅这篇文章:https://www.baiyuyu.com/304.html 。
全文完!总体而言,Cinny 还是一款比较优秀的 Matrix 客户端,希望能够被继续完善。
2023/12 补充:
注:本人部署时使用的是 v2.2.4 版本。现在版本号好像来到了 v3.2.0,应该新增了不少功能
2024/2 补充:
为能够及时在移动设备上接收消息,建议搭配 Element 之类的 App 使用,毕竟你总不能一直把浏览器网页挂在后台吧