ergochat/ergo
用 Go 编写的现代 IRC 服务器,集成了 ircd、账号服务与 bouncer 功能。
- Star
- 3,357
- Fork
- 249
- 未关闭 Issue
- 213
- 最近提交
- 6天前
这是什么?
Ergo 是一个用 Go 编写的 IRC 服务器(ircd)。它内置 NickServ 账号管理和 ChanServ 频道注册,能够存储并回放历史消息,并允许多个客户端共用同一个昵称,因此既可作为聊天服务器使用,也可充当 bouncer。项目广泛支持 IRCv3 规范,目标是成为 IRCv3 的参考实现。
部署流程较为简单:复制默认 YAML 配置,用内置命令生成 TLS 证书,然后运行二进制文件即可。配置和 TLS 证书可在运行时热重载。密码使用 bcrypt 存储,并支持 SASL、客户端证书、IP 隐藏以及作为 Tor 隐藏服务运行。
项目提供发布版二进制、Docker 镜像,也可以从源码构建,依赖已随代码一起打包。
核心功能
- 01内置 NickServ、ChanServ 和 HostServ,用于账号、频道注册和自定义主机名
- 02存储并回放历史消息,允许多个客户端共用同一昵称
- 03原生支持 TLS,包括客户端证书认证
- 04广泛支持 IRCv3 规范及 SASL 认证
- 05支持运行时热重载 YAML 配置和 TLS 证书
- 06可选 LDAP 集成,并提供统一封禁系统 UBAN
适用场景
- 搭建带账号和频道注册功能的私有或社区 IRC 网络
- 部署保存历史记录的 IRC 服务器,让用户重连后不丢失消息
- 作为参考服务器测试 IRCv3 客户端功能
- 运营可通过 Tor 访问的 IRC 网络
快速上手
- 1
从发布页面下载最新版本
- 2
将默认配置复制为 ircd.yaml
cp default.yaml ircd.yaml - 3
生成 TLS 证书
./ergo mkcerts - 4
运行服务器
./ergo run
使用前须知
- 快速开始需要下载发布版本,运行前必须自行编辑配置文件。
- 用于生产环境需要额外工作,例如获取有效的 TLS 证书并配置 systemd,README 对此有说明。
收录于专题
标签
常见问题
- ergo 是什么?
- 用 Go 编写的现代 IRC 服务器,集成了 ircd、账号服务与 bouncer 功能。 Ergo 是一个用 Go 编写的 IRC 服务器(ircd)。它内置 NickServ 账号管理和 ChanServ 频道注册,能够存储并回放历史消息,并允许多个客户端共用同一个昵称,因此既可作为聊天服务器使用,也可充当 bouncer。项目广泛支持 IRCv3 规范,目标是成为 IRCv3 的参考实现。
- ergo 可以免费使用吗?用的什么许可证?
- ergo 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- ergo 还在维护吗?
- 活跃维护中。ergo 最近一次提交是在 2026年11月1日。
- ergo 适合用来做什么?
- 搭建带账号和频道注册功能的私有或社区 IRC 网络 部署保存历史记录的 IRC 服务器,让用户重连后不丢失消息 作为参考服务器测试 IRCv3 客户端功能 运营可通过 Tor 访问的 IRC 网络
- ergo 怎么安装和运行?
- 从发布页面下载最新版本 将默认配置复制为 ircd.yaml: cp default.yaml ircd.yaml 生成 TLS 证书: ./ergo mkcerts 运行服务器: ./ergo run
- 在哪里获取 ergo?
- 源代码和安装说明在 GitHub 上:https://github.com/ergochat/ergo
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一款轻量、可移植的免费 IRC 服务器,适合小型或私有网络,使用 C 语言编写。
584+2 本周84CGPL-2.0更新于 14天前
一款面向类 UNIX 和 Windows 系统的高性能 IRCv3 聊天服务器,使用 C++ 编写。
1361+4 本周281C++无许可证维护活跃更新于 7天前
一个可自托管的现代化网页版 IRC 客户端,离线时也能保持服务器连接。
6366+5 本周790TypeScriptMIT维护活跃更新于 前天
用 Go 编写的可自托管即时通讯服务端,配套 Android、iOS 与 Web 客户端,并提供 gRPC 接口。
1.4万+10 本周2092GoGPL-3.0更新于 13天前
基于 Java 的 XMPP 实时协作服务器,用于即时通讯,采用 Apache 2.0 许可证。
30741399JavaApache-2.0维护活跃更新于 24小时前