支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

2024-05-27 15:55:11 110点赞 918收藏 51评论

哈喽小伙伴们好,我是Stark-C~

在这个所谓的大数据时代,我们在互联网的一言一行可以说都无时无刻受到监控,如何最大限度的保护个人隐私,可以说是当前网络时代我们每个人的必备技能之一。

隐私第一步,先教大家怎么创建一个自己私有的在线聊天室吧~

简介

关于Matrix:

  • Matrix 是一个开放的通信协议,用于实时通信,包括即时消息、音频和视频通话。

  • 它是去中心化的,这意味着任何人都可以设置自己的 Matrix 服务器,并与其他 Matrix 服务器通信。

  • Matrix 的目标是为所有不同的通信服务提供一个统一的标准,使得不同的服务可以互相通信。

关于Element:

  • Element 是基于 Matrix 协议的一个客户端应用。

  • 它允许用户通过 Matrix 协议进行即时消息、音频和视频通话。

  • Element 有多个版本,包括 Web、桌面和移动应用。

  • 它是 Matrix 生态系统中最流行的客户端之一。

简单理解,Matrix 是一个通信协议,而 Element 是基于这个协议的一个客户端应用,我们的最终目标就是使用 Element 通过端到端加密的 Matrix 协议,来搭建一个去中心化的加密个人与团队通讯服务。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺与常见的QQ微信,Matrix的特点就是开源,可私有化部署,从而保证通信的安全和隐私。与Rocket.chat、MatterMost相比,Matrix的特点还要再加上去中心化,每个运行Matrix的服务器都是一个节点,用户可以选择在任意节点注册、连接,同一个节点内的用户可以任意通信。同时,节点与节点之间也可以通过联锁(Federation)机制进行通信,实现不同节点的用户之间进行通信,这其实就是文中标题说的“端到端加密”。

部署

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺部署之前有一个必备条件,那就是你必须有一个自己的域名(可以不用备案),并且已经做好了动态域名解析(DDNS)。一般玩NAS的这个应该都已经设置好了对吧?

如果你还没有做到这个条件,强烈建议你先部署Lucky:

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺然后打开NAS的文件管理器,在 docker 目录中(威联通默认为Container文件夹),创建一个新文件夹【matrix】,然后在 matrix文件夹中再分别新建一个子文件夹【data】 用于数据文件的持久化存储。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺接着使用SSH终端工具连接到NAS之后先启用root模式(“ sudo -i ”),之后输入以下Docker run多行命令(请注意,张大妈编辑器会删掉每行命令后面的反斜杠)并回车即可:

sudo docker run -it --rm

-v /share/Container/matrix/data:/data

-e SYNAPSE_SERVER_NAME=你的域名

-e SYNAPSE_REPORT_STATS=yes

matrixdotorg/synapse:latest generate

命令唯一需要修改的就是“-v /share/Container/matrix/data:/data”中的路径映射是matrix文件夹内的data子文件夹。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺等到命令部署完成之后,回到NAS的文件管理器,在之前创建的matrix文件夹内的data子文件夹中,可以看到一个“homeserver.yaml”文件,这个文件其实就是matrix默认生成的配置文件。将这个配置文件下载到电脑本地。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺matrix默认的配置文件并没有开启注册功能,需要我们手动开启。我们通过代码编辑器(比如Visual Studio Code、Sublime Text 或 Atom)打开配置文件,然后在配置文件最后面加入以下代码并保存:

enable_registration: true enable_registration_without_verification: true

完成后将修改后的“homeserver.yaml”配置文件替换掉NAS文件夹中原有的配置文件即可。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺最后通过docker-compose 一键部署。这里以威联通NAS为例,打开“应用程序”输入以下docker-compose 代码:

version: "3.3" services: synapse: image: "matrixdotorg/synapse:latest" container_name: "matrix_synapse" restart: unless-stopped ports: - 8008:8008 # 本地端口别冲突 volumes: - "/share/Container/matrix/data:/data" # 映射matrix文件夹下的data子文件夹 environment: VIRTUAL_HOST: "x.com" # 你的域名 VIRTUAL_PORT: 8008 LETSENCRYPT_HOST: "x.com" # 你的域名 SYNAPSE_SERVER_NAME: "x.com" # 你的域名 SYNAPSE_REPORT_STATS: "yes" element-web: ports: - '8098:80' # 本地端口别冲突 image: vectorim/element-web restart: unless-stopped

以上代码需要根据注释自行修改。

如果你习惯SSH部署,可以将修改好的docker-compose.yml文件放到NAS任意文件夹内,然后运行以下命令:

#进入文件夹 cd 文件夹实际路径 #启动容器 docker-compose up -d支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺如果不出问题,可以看到应用程序中包含了上图两个Docker容器正在运行。

体验

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺首先咱们先确认下Matrix服务有没有问题,浏览器输入【 NAS的局域网IP:端口号(默认8008)】,如果出现上图所示提示就说明Matrix服务没问题,且在运行中。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺然后就可以登录Element聊天室了。不过想要外网使用,首先咱们需要将Element网页端(也就是我们部署时候的element-web容器)对应的端口做好反向代理,这里依然给大家安利的是Lucky,绝对是NAS必装神器之一。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺接着直接使用我们的反向代理链接打开。首次打开会有一个浏览器不兼容的提醒,我们不用理会,直接点图中所示位置然后刷新一下页面即可。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺Element默认是英文界面,不过它有原生简体中文支持。更改好语言之后我们就可以“创建账户”了。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺创建账户很简单,仅需用户名、密码以及邮箱即可。需要说明的是邮箱需要时自己的真实邮箱,因为稍后会需要验证。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺这里点“接受”条款。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺然后就提示让我们去邮箱那边验证了,验证其实就是点一下它发过来的一个链接就可以了。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺然后就会正式来到聊天页面。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺界面还是很简单清爽的,上手也很容易,每步都有详细的向导说明。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺可以通过发送邀请链接来邀请他人加入聊天室。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺我这里随意加了一个小伙伴,可以看到它显示的就是“发送加密消息”,并且还支持贴纸、语音消息、投票,以及位置信息。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺聊天界面右上角还支持发起语音与视频。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺同时,Element还有手机端APP,IOS以及安卓都支持。

支持语音和视频通话,Docker部署端到端加密的在线聊天室『Matrix&Element』

🔺它的设置可选项也比较丰富。

最后

该项目后期可设置的项目很多,我这里也不再一一展示了,只要我们部署起来,怎么折腾就在于你自己了。

好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~

展开 收起
51评论

  • 精彩
  • 最新
  • 这个还是很不错的,教程里还差个 Synapse-Admin 作为可视化的服务端管理后台,另外我测试的音视频通话总是无法成功连接,除非两台设备处于同一局域网中(服务端是否在局域网中倒无所谓),很奇怪

    校验提示文案

    提交
    我抽空试试

    校验提示文案

    提交
    可以检测一下是不是udp不通。

    校验提示文案

    提交
    收起所有回复
  • 在官方文档查到一些蛛丝马迹有助于解决音视频通话无法连接的问题,需要进行一些额外的配置,涉及 3478、5349 等端口,但官方容器好像默认将网络环境视为无需进行这些配置。文档如下:去看看

    校验提示文案

    提交
    问题解决了,需要额外部署一个 TURN 中继服务器,按照官方文档操作即可

    校验提示文案

    提交
    我也卡在视频通话这里了。有具体的教程吗?全英文的文档看不懂啊

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 感谢分享 🙏 其实在element web中应该将host account on改为部署的synpase 容器的外部url。在设置文件中也不建议打开开放注册,避免被滥用。可以使用注册码的方式或者使用synpase-admin来管理账户

    校验提示文案

    提交
  • 手机端必须443端口,个人宽带是用不了

    校验提示文案

    提交
    手机端我还真没试过 [高兴]

    校验提示文案

    提交
    挂cf,或者用cf重定向试试

    校验提示文案

    提交
    收起所有回复
  • 什么时候有p2p,且可以建群的聊天软件就好了。

    校验提示文案

    提交
    tg算不算

    校验提示文案

    提交
    国内基本不让p2p,难监管

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 请问docker-compose那部分,群晖怎么布署,求指点!

    校验提示文案

    提交
  • 有个疑问:最后把账号注册到公共服务器matrix.org,那自建服务器的意义是啥呢?不还是要走公共服务器?

    校验提示文案

    提交
  • 这个厉害啦,远程通话的架桥玩法!新发晒物求大佬支持啊

    校验提示文案

    提交
  • 刚好有条专线,可以搭来玩玩 [皱眉]

    校验提示文案

    提交
  • Sliding-Sync怎么搞?

    校验提示文案

    提交
  • 种草了,这个可以自己部署一个玩玩 [高兴]

    校验提示文案

    提交
  • 我来啦

    校验提示文案

    提交
  • 企鹅发来收购请求 [高兴]

    校验提示文案

    提交
  • 厉害了(ง •̀_•́)ง

    校验提示文案

    提交
  • 有没有可以上传短视频并管理和观看的docker

    校验提示文案

    提交
    你的想法很危险但是我喜欢 [口水]

    校验提示文案

    提交
    关注了,开张通知我

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 有机会折腾

    校验提示文案

    提交
  • 博主iOS端可以正常收到消息推送吗?

    校验提示文案

    提交
    服务端能连matrix就能推送,境内需要科学

    校验提示文案

    提交
    收起所有回复
  • ios 支持 callkit 吗

    校验提示文案

    提交
  • 这个项目太牛了

    校验提示文案

    提交
  • 插眼

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
918
扫一下,分享更方便,购买更轻松