ergo
SHA-256一款用 Go 写的现代 IRC 服务器,集成了服务、弹跳器和 IRCv3 支持,设置简单。
简单易用且功能全面的 IRC 服务器,自带弹跳器和账户系统。
核心功能
- 集成 NickServ、ChanServ、HostServ 账户服务
- 内置弹跳器(Bouncer)支持多客户端共用昵称和历史记录回放
- 全面支持 IRCv3 协议(可作为参考实现)
- YAML 配置文件,支持运行时热重载(Rehash)
- SASL 认证与 LDAP 集成
避坑指南
- •1)生产环境建议使用有效 TLS 证书(如 Let's Encrypt),而非自签名证书;2)默认配置日志输出到 stderr,用 systemd 或重定向到文件;3)注册昵称后需在客户端启用 SASL,避免昵称被他人抢占;4)内置弹跳器需客户端支持历史回放(如 IRCv3 chathistory);5)升级前注意备份数据库文件。
适用场景
- 搭建私人或社区 IRC 聊天服务器
- 替代传统 IRC 服务+弹跳器组合的轻量方案
- 用于 IRC 客户端开发测试的 IRCv3 参考服务器
- 需要高可用和现代加密的团队内网即时通信
详细介绍
Ergo(原名 Oragono)是一款用 Go 语言编写的现代 IRC 服务器,将 IRC 守护进程、服务框架(NickServ、ChanServ、HostServ)和弹跳器(Bouncer)功能整合到一个简单的二进制文件中。它支持前沿的 IRCv3 协议、可热重载的 YAML 配置、SASL 认证、LDAP 集成、多语言界面、UTF-8 昵称以及高级安全/隐私选项。内置的弹跳器允许多个客户端同时使用同一昵称并回放历史消息,非常适合现代 IRC 使用场景。Ergo 可通过发布版、Docker 或源码轻松部署,适用于小社区和大规模网络。
常见问题与排障 (1)
故障排除如何解决在通过Halloy客户端连接Ergo IRC时出现的"Nickname is reserved by a different account"错误?
在Halloy中配置SASL PLAIN认证。在服务器配置下设置sasl = "plain",并提供您的账户用户名和密码。示例:[servers.ergo]\\nsasl = "plain"\\nusername = "your_account"\\npassword = "your_password"。确保通过TLS(端口6697)连接,以便SASL凭证被加密。password = "username:password" 变通方法也可行,但SASL是标准方法。参见示例配置:https://gist.github.com/slingamn/1a947eadd63b2625877dab0f4779fad2。
标签
快速上手
安装软件
双击下载的安装程序,按提示完成安装
步骤1:从 GitHub Releases 下载对应系统的压缩包并解压
步骤2:复制 default.yaml 为 ircd.yaml,按需修改配置(如监听端口、管理员密码)
步骤3:运行 ./ergo mkcerts 生成自签名 TLS 证书
- 步骤1:从 GitHub Releases 下载对应系统的压缩包并解压
- 步骤2:复制 default.yaml 为 ircd.yaml,按需修改配置(如监听端口、管理员密码)
- 步骤3:运行 ./ergo mkcerts 生成自签名 TLS 证书
已提供 SHA-256 校验码,下载后可自行核对文件完整性
该校验码提取自 GitHub 官方 Release 页面
SHA256 校验码
c38893560d32544ddb2701c7e4df3e185ed0221bb1df4a955122c9eebd16c296该校验码提取自 GitHub Release 页面,下载后请自行核对文件完整性
本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。
开源透明
查看 GitHub 源码卸载说明
删除解压的目录和配置文件即可。若要清理持久化数据,删除生成的 ergo.db(SQLite 数据库)和证书目录。
无额外依赖
下载后即可直接使用,无需安装其他运行环境
遇到问题?查看下方 FAQ
1 FAQ