推荐simpleX
保姆级教程:从零开始自建 SimpleX Chat SMP 服务器
前言:为什么要自建 SimpleX 服务?
SimpleX Chat 是目前世界上唯一一款没有用户 ID(User IDs)的聊天软件。它通过临时、单向的加密队列传输消息,彻底消除了元数据泄露的风险。
虽然官方提供了免费的公共服务器,但对于追求极致隐私的用户、技术极客或希望拥有完全数据掌控权的团队来说,自建 SMP (SimpleX Messaging Protocol) 服务器是最佳选择。
自建的好处:
- 数据主权:消息队列存储在自己的服务器上(虽然是加密的)。
- 网络抗性:在特定网络环境下,自建节点往往比公共节点连接更稳定。
- 社区贡献:为去中心化网络增加一个节点,提升整体健壮性。
本教程将手把手教你使用 Docker Compose 快速部署一个支持自动 HTTPS 的 SimpleX SMP 服务器。
一、 准备工作
在开始之前,你需要准备:
- 一台 Linux VPS:
- 推荐配置:1核 CPU,1GB 内存即可(SimpleX 非常轻量)。
- 系统:Debian 11/12 或 Ubuntu 20.04+。
- 一个域名:
- 解析(A记录)指向你的 VPS IP 地址。
- 例如:
smp.yourdomain.com。
- 基础知识:
- 会使用 SSH 连接服务器。
- 了解基本的 Linux 命令。
二、 环境搭建
为了简化管理,我们采用 Docker + Docker Compose 的部署方式。
1. 安装 Docker 和 Docker Compose
如果你已经是 Docker 用户,请跳过此步。如果不是,可以使用官方的一键安装脚本(适用于 Debian/Ubuntu):
1 | curl -fsSL https://get.docker.com | bash |
安装完成后,启动 Docker 并设置开机自启:
1 | systemctl enable --now docker |
三、 部署 SMP 服务器
我们将部署一套包含 Caddy(用于自动申请 SSL 证书)和 SMP Server 的组合。
1. 创建工作目录
1 | mkdir -p ~/simplex-smp |
2. 创建配置文件 (docker-compose.yml)
使用你喜欢的编辑器(如 nano 或 vim)创建 docker-compose.yml 文件:
1 | nano docker-compose.yml |
填入以下内容:
1 | name: simplex-smp |
3. 配置环境变量 (.env)
创建 .env 文件来存储你的配置信息:
1 | nano .env |
填入以下内容(请修改为你的实际信息):
1 | # 将此处替换为你解析好的域名 |
注意:
- 端口 80, 443, 5223 必须在服务器防火墙/安全组中放行。
5223是 SimpleX 核心协议端口,必须暴露。
四、 启动与验证
1. 启动服务
在 ~/simplex-smp 目录下执行:
1 | docker compose up -d |
2. 检查运行状态
查看容器日志,确认服务是否正常启动,并获取服务器指纹 (Fingerprint):
1 | docker compose logs -f smp-server |
如果一切正常,你不会看到明显的错误(Error)。Caddy 会自动为你申请 SSL 证书。
3. 获取服务器地址
你的服务器地址格式如下:
- 无密码模式:
smp://<指纹>@<域名> - 有密码模式:
smp://<指纹>:<密码>@<域名>
如何查找指纹?
指纹通常位于容器内的配置文件中。你可以通过以下命令直接查看:
1 | docker compose exec smp-server cat /etc/opt/simplex/fingerprint |
假设输出的指纹是 8kOh...5A,域名是 smp.example.com,密码是 123,那么你在客户端填写的地址就是:smp://8kOh...5A:123@smp.example.com
五、 客户端配置
现在拿出你的手机(Android 或 iOS),打开 SimpleX Chat。
- 进入 Settings (设置) -> Network & Servers (网络与服务器)。
- 点击 SMP servers (SMP 服务器)。
- 点击右上角的菜单或“Add server”按钮,选择 Add server address (添加服务器地址)。
- 输入上一步获得的完整
smp://地址。 - 开启该服务器的开关。
进阶技巧:
如果你希望完全通过自己的服务器传输消息,可以在 SMP 服务器列表中,关闭其他官方默认服务器,仅保留你自建的节点。
六、 维护与更新
备份
重要数据存储在 smp_configs 和 smp_state 目录中。建议定期备份整个 ~/simplex-smp 目录。
更新
SimpleX 开发活跃,更新命令如下:
1 | cd ~/simplex-smp |
推荐阅读与资源
为了保持技术敏感度,推荐关注以下领域的博客和资源(排名不分先后):
- SimpleX Chat 官方博客 (simplex.chat/blog):一手掌握协议更新和隐私技术动态。
- Privacy Guides (privacyguides.org):权威的隐私工具推荐和科普,适合入门到进阶。
- The New Oil:通俗易懂的隐私保护指南,适合普通用户。
- Self-Hosted (Reddit/Lemmy):全球最大的自建服务社区,可以发现更多好玩的 Docker 项目。
结语:
自建 SimpleX 服务是迈向数字主权的重要一步。虽然过程涉及命令行,但一旦部署成功,你就拥有了一个完全属于自己、无法被审查的通信基站。
祝你部署顺利,享受真正的隐私通信!
