如何搭建自己的聊天服务|XMPP(归档)

2025.04.14更新:

基于XMPP协议的客户端的功能非常基本,没有定时删除以及撤回功能。如有可能,应该看看下面的SimpleX Chat教程并且改用SimpleX Chat,本篇教程已被归档以作参考作用。

1.写在前面

今天来写点搭建服务的,要不然这个网站就要变成作文网站了

让我们想象一下这个场景:

一天,你想给你的朋友发送一个文件。但是,这个文件可能对你们来说是很机密的。又或者,你们想讨论一些悄悄话,不希望让任何第三方知道的。

在你选择自托管服务的过程时,你可能听说过rocket.chat,Matrix这些服务。为什么我不用他们呢?

据本人搭建后,发现rocket.chat被墙。算了吧,谁想和朋友聊天的时候还要挂梯子。

那Matrix呢?算了吧,我用Element完全连不上(也可能是我的问题),我就只是想聊个天,怎么还有这么多复杂的功能。

那么,搭建简单又方便的XMPP无疑是你最佳的选择。

2.搭建服务

我们以ejabberd为例子,它是XMPP的其中一个服务。

首先,我们去github上获取安装包

这里我们选择run包,把它下载到你的服务器上

进入安装目录,给它777权限,然后

./ejabberd-24.02-1-linux-x64.run

这样就算成功了

然后,我们进入/opt/ejabberd-24.02/bin这个目录,注册一个账号。

./ejabberdctl register 用户名 域名 密码

之后,打开/opt/ejabberd/conf/ejabberd.yml配置文件,把这个账号设置为管理员,并且启用你的域名。

设置管理员

如果想设置为自己的证书,可以在这里设置

开放客户端注册功能

然后,开放端口

5280,5443,5222,5223,5269

进入web控制台,<你的IP>:5280/admin/

用户名和密码是设置为管理员的用户名和密码

用户忘记密码了,可以在这里重新设置

有些客户端也支持远程执行命令

3.使用

XMPP是一个聊天协议,而不是一个软件。所以要找一个好用的客户端。

这里以安卓Conversations为例

如果你要注册新号,点创建新账号。或者在下面登录管理员账号

下面注册一个新号

使用我自己的提供者

账号后面跟着域名,登录也是一样。

后面就是设置头像什么的了。

聊天默认使用OMEMO端到端加密

4.说明

如果你用一个设备使用OMEMO聊天了之后,后面的设备登录你的账号无法解密以前的消息。

ejabberd支持语音和视频聊天,但是我这里因为一些原因,一直占线。需要的可以看看官方文档

重要的是,别聊得太过火了。

作者信息:

评论

  1. oops
    Windows Firefox 131.0
    6 月前
    2024-10-23 18:40:09

    ejabberd的hosts配置能否使用ip进行配置呢,我在设置为ip时,使用conversations进行连接,显示域名无法验证。

    • 🛠️TRFCUTTF
      博主
      oops
      Windows Edge 130.0.0.0
      6 月前
      2024-10-23 20:00:29

      可以,要自签名一个证书,颁发给你的IP。

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇