搭建自己的聊天服务器(Element篇)

什么是 Matrix 协议 ?

Matrix 是一種用於即時通訊的開放協定。它允許擁有一個通訊服務提供商帳戶的用戶與不同服務提供商的用戶進行網路聊天,IP語音和影片電話。也就是說,它旨在使不同服務提供商之間的即時通訊無縫工作,就像使用電子郵件一樣。採用該協定的軟體有Riot.im。 【維基百科】

title

上图展示了不同 Matrix home server 上的客户之间是如何通讯的,这是一种类似电子邮件的方式

title

架构图展示的是不同服务器之间的关系

什么是 Element ?

Element 原来叫 Riot.im,是一个基于 Matrix 协议的协作平台,可以在 iOS、Android、Web 端运行,完全由自身控制的通用安全聊天应用程序。支持多大25种语言(支持中文),且还在不断地增加!可以应用到:即时通讯、视频会议、智能通知、机器人等。

title

您可以在 https://matrix.org/docs/projects/try-matrix-now/ 找到支持 Matrix 协议的各种资源,包括服务器、客户端及 SDK 等等。

安装

element 只是支持 Matrix 协议的客户端,其客户端涵盖了 Web, Android, iOS, macOS, Windows & Linux等几个主流平台,所以我们需要自己搭建 Matrix 服务器,当然也可以直接加入已有的 Matrix 服务器。

公共服务器列表:https://www.hello-matrix.net/public_servers.php

安装服务端Synapse

Docker 注册表中搜索 Synapse ,选择 matrixdotorg/synapse,版本选择 latest

title

SSH 登录到群晖

1
2
3
4
5
6
7
8
9
10
11
12
# 生成配置文件
docker run -it --rm \
-v /volume1/docker/matrix:/data \
-e SYNAPSE_SERVER_NAME=mx.xxsu.tk \
-e SYNAPSE_REPORT_STATS=yes \
matrixdotorg/synapse:latest generate

# 运行
docker run -d --name synapse \
-v /volume1/docker/matrix:/data \
-p 8008:8008 \
matrixdotorg/synapse:latest

打开注册

修改 /volume1/docker/matrix/homeserver.yaml 中的参数

1
2
3
# Enable registration for new users.
# 允许注册新用户,默认值是 false
enable_registration: true

新建用户

当然你也可以关闭注册,自己在后台新建用户

1
register_new_matrix_user -c /data/homeserver.yaml http://localhost:8008

title

安装 Web 端 riot-web

Docker 注册表中搜索 vectorim ,选择 vectorim/riot-web,版本选择 latest

title

关于 config.json,详细的说明文档在 https://github.com/vector-im/element-web/blob/develop/docs/config.md

可以在这里 https://github.com/vector-im/element-web/blob/develop/config.sample.json 直接复制粘贴 config.sample.json 的内容。

之后直接在卷里 添加文件

title

端口

端口只要不冲突即可

title

运行

第一次运行居然显示不支持浏览器

title

而实际上我的浏览器已经是最新版本的 Chrome

title

修改语言

title

中文看起来习惯多了

title

登入

如果已经在后台建好了账号,可以直接选择 登入

title

需要手动修改服务器地址,如果没有备案,记得把端口也带上

title

输入账号、密码

title

登录成功后,需要设置安全备份

title

安全密钥是这样的

title

安全密码设置

title

如果密码不符合要求,会有相应的提示

title

这个密码够强悍,可自己也记不住,还是要靠 bitwarden 才行

title

个人感觉如果是在不同的机器上使用 Element ,还是安全密码更方便一些

首界面

title

使用

除网页版之外,在 https://element.io/get-started 可以下载桌面和移动端应用

title

Android移动端如果下载存在问题,可以去 F-Droid 下载

下载地址:https://f-droid.org/packages/im.vector.app/

可以拉到底直接下载 apk 文件,也可以先下载 F-Droid 客户端,不过速度有点慢,不行可以多下几次。

网页版

加联系人

title

建聊天室

title

邀请用户

title

移动端

Other

title

自己输入服务器地址

title

注册或者登陆

title

登陆后会收到邀请

title

title

音视频呼叫

title

不需要依赖第三方应用,开箱即用,这点比较方便。

小结

目前测试的几款通讯软件,虽然各有特点,但毕竟都号称是 slack 的替代品,所以用法大同小异,稍稍用用就习惯了

参考文档

[资源分享] Riot-IM:是一个开源免费的即时通讯聊天协作工具,功能丰富且跨平台——Riot-IM
地址:http://www.soolco.com/post/30988_1_1.html

一款开源免费的多功能聊天室:Riot.im安装教程
地址:https://www.moerats.com/archives/595/

借美国禁用微信,再谈去中心化的即时通信与Matrix协议
地址: https://matters.news/@wzmknkgzhhn/%E5%80%9F%E7%BE%8E%E5%9B%BD%E7%A6%81%E7%94%A8%E5%BE%AE%E4%BF%A1-%E5%86%8D%E8%B0%88%E5%8E%BB%E4%B8%AD%E5%BF%83%E5%8C%96%E7%9A%84%E5%8D%B3%E6%97%B6%E9%80%9A%E4%BF%A1%E4%B8%8Ematrix%E5%8D%8F%E8%AE%AE-bafyreifhum5siygw3zbb2qsunsbgsi4ol7kh2ylggc5q2zcvkdea7pprim

安装Matrix系统(Riot.im)的服务端Synapse
地址:https://www.jianshu.com/p/5c445d8698a4

How to install Matrix Synapse Home Server
地址:https://upcloud.com/community/tutorials/install-matrix-synapse/