Repolode
ergochat

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. 1

    从发布页面下载最新版本

  2. 2

    将默认配置复制为 ircd.yaml

    cp default.yaml ircd.yaml
  3. 3

    生成 TLS 证书

    ./ergo mkcerts
  4. 4

    运行服务器

    ./ergo run

使用前须知

  • 快速开始需要下载发布版本,运行前必须自行编辑配置文件。
  • 用于生产环境需要额外工作,例如获取有效的 TLS 证书并配置 systemd,README 对此有说明。

收录于专题

标签

#irc#ircd#ircv3#chat-server#go#self-hosted#sasl#bouncer#daemon#irc-daemon

常见问题

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 数据每日更新。

相关项目