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

2021-02-26 各種折騰

什麼是 Matrix 協議 ?

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

上圖展示了不同 Matrix home server 上的客戶之間是如何通訊的,這是一種類似電子郵件的方式

架構圖展示的是不同伺服器之間的關係

什麼是 Element ?

Element 原來叫 Riot.im,是一個基於 Matrix 協議的協作平臺,可以在 iOS、Android、Web 端運行,完全由自身控制的通用安全聊天應用程式。支持多大25種語言(支持中文),且還在不斷地增加!可以應用到:即時通訊、視頻會議、智能通知、機器人等。

您可以在 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。

SSH 登錄到群暉

# 生成配置文件
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 中的參數

# Enable registration for new users.
# 允許註冊新用戶,默認值是 false
enable_registration: true

新建用戶

當然你也可以關閉註冊,自己在後臺新建用戶

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

安裝 Web 端 riot-web

在 Docker 註冊表中搜索 vectorim ,選擇 vectorim/riot-web,版本選擇 latest。


關於 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 的內容。

之後直接在卷裡 添加文件


埠只要不衝突即可

運行

第一次運行居然顯示不支持瀏覽器

而實際上我的瀏覽器已經是最新版本的 Chrome 了

修改語言

中文看起來習慣多了

登入

如果已經在後臺建好了帳號,可以直接選擇 登入

需要手動修改伺服器地址,如果沒有備案,記得把埠也帶上

輸入帳號、密碼

登錄成功後,需要設置安全備份

安全密鑰是這樣的

安全密碼設置

如果密碼不符合要求,會有相應的提示

這個密碼夠強悍,可自己也記不住,還是要靠 bitwarden 才行

個人感覺如果是在不同的機器上使用 Element ,還是安全密碼更方便一些

首界面

使用

除網頁版之外,在 https://element.io/get-started 可以下載桌面和移動端應用

Android移動端如果下載存在問題,可以去 F-Droid 下載

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

可以拉到底直接下載 apk 文件,也可以先下載 F-Droid 客戶端,不過速度有點慢,不行可以多下幾次。

網頁版加聯繫人

建聊天室

邀請用戶

移動端

選 Other

自己輸入伺服器地址

註冊或者登陸

登陸後會收到邀請

音視頻呼叫

不需要依賴第三方應用,開箱即用,這點比較方便。

小結

目前測試的幾款通訊軟體,雖然各有特點,但畢竟都號稱是 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/

有建議或者疑問,歡迎留言

相關焦點

  • 使用花生殼搭建自己的minecraft伺服器方法
    此文分析了花生殼搭建自己的minecraft伺服器方法,分析完之後,對比了類似應用nat123我的世界開服方法。首先下載,安裝花生殼。然後,配置minecraft伺服器。安裝Java環境請訪問http://www.java.com/zh_CN/下載並安裝最新版本Java配置服務端(這裡以最常用的Bukkit伺服器為例)下載bukkit服務端主文件,網址:http://dl.bukkit.org/,選擇所需版本將下載到的CraftBukkit.jar放到一個專門的文件夾中(如果下載到的文件名不是CraftBukkit.jar,請手工重命名)這裡是E:\Minecraft
  • 從零開始,搭建自己的NAS媒體伺服器,附plex和emby對比
    這篇文章的初衷很簡單,我本來也是比較頭疼折騰NAS的,因為NAS並非是小白向家電,它是個比較複雜的系統,成品NAS只是給了你一個硬體平臺,安裝各類應用都需要有一定基礎,所以寫了兩篇比較詳細的NAS原創文後,我決定綜合一下,一步一步教大家從零開始,完美搭建屬於自己的NAS遠程影音伺服器,也是基於我自己的原因,這篇文章比較詳細,從IOS和安卓,從plex到emby,
  • 如何搭建國際版我的世界伺服器
    不久前,我通過學習與摸索,成功地在雲端建了一個國際版1.16.1MC純淨版伺服器,並用HMCL客戶端開始了愉快的划水。寫這篇文章,是為了記錄一下自己的建服歷程,並且希望能幫助到一些需要的朋友。如果您沒有建服經驗,在做好支出預算的情況下,可以按照本文【除了租用伺服器以外的】內容搭建一個MC伺服器。
  • 遠程電話簿配置&伺服器搭建
    遠程電話簿配置&伺服器搭建  目錄  遠程電話簿配置&伺服器搭建 1  一、 電話簿文件編輯 1  二、Tftp伺服器的網絡電話簿配置 4  三、http伺服器的網絡電話簿配置 5  四、FTP伺服器的網絡電話簿配置 6
  • 直播軟體搭建,流媒體伺服器的應用有多重要
    直播軟體搭建,使用流媒體伺服器是必要的事,在直播軟體搭建完成後的運營中,流媒體伺服器擔負著音視頻的播放、傳遞等工作,很多運營商不能理解流媒體伺服器的重要性體現在哪,今天就給大家介紹一下。直播軟體搭建一、認識流媒體伺服器直播軟體搭建使用流媒體伺服器的核心在於,它可以向用戶提供視頻服務,主要功能是對流媒體內容進行採集、緩存、調度和傳輸播放
  • Linux 搭建 我的世界(MC) 基巖版伺服器
    Ubuntu搭建我的世界(MineCraft)基巖版(BE)服務端教程Linux搭建Java版我的世界伺服器教程:https://
  • ftp伺服器搭建並通過外網訪問
    工具/原料方法/步驟ftp搭建:1. 按【Win + R】快捷鍵打開運行對話框,輸入「optionalfeatures」後,按回車鍵,如下圖所示:2.  8.至此,一個新的FTP伺服器就搭建完成並順利啟動,在右側就可以看到新創建站點的所有信息,9.沒有實踐就沒有發言權,是時候檢驗一下勞動成果了,打開瀏覽器,清空地址欄,輸入「ftp://ip
  • 點量分享2020版詳細搭建IPTV伺服器教程
    IPTV系統伺服器搭建,首先要保證自己動一些計算機技術,在處理中能對一些簡單的事情進行處理,如果是計算機一點不了解的話,處理起來難度還是有的。先說說目前了解到的搭建IPTV伺服器的方法。如果是想自己建設一套可運營的IPTV電視直播系統,而自己也沒有技術團隊的話,比較好的方式是找第三方團隊,一個是經驗豐富,再就是IPTV電視直播系統進過市場檢驗,系統的穩定性和功能更齊全些。一般搭建IPTV伺服器,肯定得有一臺 伺服器,至於伺服器的性能,要看電視直播頻道數的多少以及是否需要回看、時移等功能需要保留多少數據。
  • 《我的世界》想要免費的伺服器?我來教你,擁有自己的伺服器!
    我的世界有兩個版本,玩家們喜歡將這兩個版本分為國際服和中國服,但是你知道可以自己搭建伺服器嗎?雖然自己搭建的伺服器只能容納幾個人一起玩,但是擁有一個自己的伺服器也是非常帥氣的事情,讓我們一起來分享一下怎樣擁有自己的伺服器吧。
  • 怎麼在無公網ip區域網內主機搭建web伺服器
    現在有很多企業都需要搭建一個屬於自己的網站、商城,來便於客戶瀏覽公司信息和購買商品。 由於網站放置在公司的伺服器,伺服器所屬網絡是內網區域網,公網IP位址資源枯竭,且寬帶屏蔽網站80埠,導致外網遠程訪問WEB伺服器面臨著諸多挑戰。
  • MC迷神父1:1等比例 搭建梵蒂岡伺服器
    近期,梵蒂岡神父ROBERT推文表示,自己想要在我的世界國際服中搭建一個梵蒂岡專屬的伺服器,以此加強世界人民的聯繫。梵蒂岡雖然領土面積比較小,但也是國際公認的主權國家,一旦神父robert完成搭建,那麼將會是MC歷史上第一個一個人等比例搭建國家伺服器的玩家。
  • Element - 餓了麼團隊出品的神級桌面 UI 組件庫
    使用現成的UI組件庫,能快速搭建項目,後期也容易維護,在敏捷開發項目中尤為常見。設計師可以下載設計文件,在做設計圖時直接使用模板,既能快速出圖,也保證了前端還原實現。我是一個喜歡研究前端開發的愛好者,當我第一次看到element時,臥槽真漂亮!
  • Vue 3下element-ui用不了怎麼辦,element-plus來幫你
    element-plus你可以理解為是element-ui支持Vue 3的版本,element-plus是一套支持Vue 3.0的組件庫,提供的組件涵蓋了絕大部分頁面UI的需求。在Vue 3的腳手架項目中,首先安裝element-plus的npm包,命令如下所示:npm install element-plus -S編輯main.js,引入整個element-plus組件和所需的樣式,由於element-plus組件內部默認使用英語,而我們項目需要使用中文
  • 【Nginx】如何使用Nginx搭建流媒體伺服器實現直播?看完這篇我會了!!
    作為在網際網路行業奮鬥了多年的小夥伴,你有沒有想過如果使用Nginx搭建一套直播環境,那我們該如何搭建呢?別急,接下來,我們就一起使用Nginx來搭建一套直播環境。安裝Nginx注意:這裡以CentOS 6.8伺服器為例,以root用戶身份來安裝Nginx。
  • 手把手教你搭建GPS系統:免費的GPS定位追蹤系統獨立伺服器部署
    首先下載GPS定位系統程序文件,然後準備一臺伺服器,搭建好伺服器端的環境在伺服器部署,首先得搭建好JAVA環境+Mysql資料庫+Redis
  • 快來搭建自己的蛋糕!
    《我的世界》現舉行生日蛋糕建築大賽為祖國母親獻上自己心意快來《我的世界》手遊親手搭建一個蛋糕送上自己的祝福吧!活動時間10月1日-10月10日活動規則上《我的世界》手遊進入伺服器國建cthuwork伺服器通過輸入指令,獲得一塊地皮在屬於自己的地皮上搭建自己的蛋糕
  • 視頻聊天需要北京伺服器插手
    Zoom公司的創始人袁徵在美國創辦這家公司,實際上根本就是一家有著「中國心」的公司,還有不少在北美發起的視頻都是從中國伺服器轉接的,並且伺服器還存在加密問題,完全沒有體現出端到端的加密。在多倫多大學的Citizen Lab實驗裡,他們研究的時候發現,美國用戶和加拿大用戶發起的視頻通話,會議內容的加密和解密密匙是由北京Zoom伺服器發出的。簡單地說,也就是「兩個北美人用Zoom視頻聊天,中國還需要北京的伺服器插手」。
  • 用Scala實現簡單的Web和API伺服器
    【CSDN 編者按】大家都知道Web和API伺服器在網際網路中的重要性,在計算機網絡方面提供了最基本的界面。本文主要介紹了怎樣利用Scala實現實時聊天網站和API伺服器,通過本篇文章,你定將受益匪淺。作者 | Haoyi譯者 | 彎月,責編 | 劉靜以下為譯文:Web和API伺服器是網際網路系統的骨幹,它們為計算機通過網絡交互提供了基本的界面,特別是在不同公司和組織之間。這篇指南將向你介紹如何利用Scala簡單的HTTP伺服器,來提供Web內容和API。
  • 涉黃直播平臺調查:也是網絡賭博平臺,藏身境外伺服器
    在這條黑色產業鏈上,有人公然叫賣色情資源,也有人以高額提成招攬色情直播人員,甚至構建伺服器在境外的色情直播平臺。新京報記者深入調查發現,從搭建平臺、招攬入會、運營分成,再到躲避監管,色情直播平臺已經有了自己的產業分工和變現模式,同時,大多數色情直播都與網絡賭博共存。