hack.chat 中文教程:从零搭建极简匿名聊天室
2026-08-22发表于
编程语言一、hack.chat 是什么?
入门
hack.chat 是一个极简、无干扰的聊天应用。它没有账号体系、不保留消息历史、也没有复杂表情包,打开网页输入昵称和频道就能发言。适合临时会议、朋友快速沟通,或者作为学习实时通信的示例项目。
提示:这个仓库(AndrewBelt/hack.chat)已标记为 deprecated,官方建议改用新仓库 hack-chat/main。不过它的结构简单,很适合用来理解聊天服务的部署流程。本文仍以本仓库代码为例。
二、部署前需要准备什么?
入门
需要准备一台能联网的 Linux 服务器或本地电脑,以及三个基础工具:Git、Node.js、npm。Git 可以理解为“代码下载器”,负责把 GitHub 上的代码复制到本地;Node.js 是让 JavaScript 在服务器上运行的环境;npm 是 Node.js 自带的软件包管理器,像手机应用商店一样安装项目需要的模块。
先用以下命令确认环境是否可用:
node -v
npm -v
git --version
如果命令没有输出或提示未找到,需要先安装对应工具。Node.js 版本满足 0.12 以上即可运行本项目,但建议直接安装较新的 LTS 版本,避免老版本的安全问题。
三、部署服务端
入门
先下载代码。git clone 会把远程仓库完整复制到当前目录:
git clone https://github.com/AndrewBelt/hack.chat.git
cd hack.chat
进入项目目录后,安装服务端依赖:
npm install
npm install 会读取项目里的 package.json,自动下载运行所需模块。完成后,把样本配置复制成正式配置:
cp config-sample.json config.json
默认配置即可启动,不需要额外修改。接着启动服务端:
npm start
也可以使用:
node server.js
服务端会以前台方式运行,保持终端窗口不要关闭。如果需要继续操作,可以新开一个终端窗口。
四、部署客户端
入门
客户端代码在 client 目录,先进入:
cd client
客户端构建需要三个全局工具:less、jade、http-server。less 负责处理样式,jade 负责生成 HTML,http-server 用来启动静态文件服务。用以下命令安装:
npm install -g less jade http-server
-g 表示全局安装,类似给系统安装命令。如果遇到权限错误,可以在前面加 sudo。安装完成后执行构建:
make
构建完成后启动客户端预览:
http-server
默认访问地址是 http://127.0.0.1:8080。如果 8080 端口被占用,可以换一个端口运行:
http-server -p 8088
然后在浏览器打开 http://127.0.0.1:8088。

五、修改首页文字
进阶 · 推荐细读
默认客户端首页有一些英文说明文字。如果想改成自定义内容,可以编辑 client 目录下的 client.js 文件,找到 frontpage 相关文本并替换。
修改后需要重新执行构建,让改动生效:
make
然后重启 http-server。建议备份原文件再修改,避免改坏后无法恢复。
六、常见问题
进阶 · 推荐细读
- 端口冲突:客户端默认占用 8080,被占用时用
-p参数换端口;服务端端口可在 config.json 中调整。 - 权限问题:全局安装 npm 包报 EACCES 错误,通常是权限不足,可尝试加 sudo 或使用用户级 npm 配置。
- 云服务器无法访问:本地安全组或防火墙需要放行服务端和客户端使用的端口。
- 没有历史消息:hack.chat 本身不保存聊天记录,服务重启或刷新页面后历史消息消失,这属于设计行为。
七、运维进阶:反向代理与 SSL
深入 · 老手可选
如果希望用域名访问聊天室,并启用 HTTPS,可以在服务前面加一个反向代理。反向代理像一个“总台”,接收外部请求后转发给内部服务。
常见做法是使用 Nginx 或 Caddy 监听 443 端口,再把请求转发到本地服务端口。由于原仓库没有提供官方代理配置,这里不给出具体端口假设;你可以在 config.json 中确认服务端口后,让反向代理指向 http://127.0.0.1:<端口>。
本项目没有数据库,因此无需备份数据。唯一需要保留的是你修改过的配置文件和 client.js。
八、升级与迁移建议
进阶 · 推荐细读
本仓库已停止维护,不建议作为长期生产环境使用。官方推荐迁移到新仓库 hack-chat/main,那里会有更现代的依赖和后续修复。
可以把本文看作理解旧版 hack.chat 部署流程的入门路径。跑通之后,再用同样的思路去部署新仓库会更容易上手。
项目信息
| 项目 | 值 |
|---|---|
| 仓库 | AndrewBelt/hack.chat |
| 语言 | JavaScript |
| Star | 2,419 |
| Fork | 335 |
| 主页 | https://hack.chat/ |
参考链接
延伸阅读
想继续探索?这些同领域的教程可能也适合你:
121
72
1
1344
文章目录
评论