Eggdrop 1.10.2 介绍与选型指南
介绍 Eggdrop IRC 机器人的定位、架构与 1.10.2 版本要点,与 Limnoria、Sopel 两款主流机器人逐项对比并给出选型建议。
Eggdrop 1.10.2 介绍与选型指南
目标:介绍经典 IRC 机器人 Eggdrop 的定位、架构与 1.10.2 版本要点,与 Limnoria、Sopel 两款主流 Python 系 IRC 机器人逐项对比,给出可落地的选型建议。全文版本与社区数据均于 2026-10-25 经官方仓库/官方镜像仓实查核实。
一、Eggdrop 是什么
Eggdrop 是历史最悠久、仍在活跃维护的 IRC 机器人(IRC bot),1993 年由 Robey Pointer 发起,现由 Eggheads Development Team 维护。它常驻 IRC 频道,承担频道管理(自动 op/voice、封禁防护、洪水控制)、用户管理(分级权限、便签)、日志记录与脚本扩展等职责,是 IRC 社区事实上的「频道管家」标准件。
一句话定位:用 C 写的极轻量 IRC 频道守护机器人,靠 Tcl 脚本与模块扩展,单机内存占用仅数 MB。
二、版本信息与发布形态
2.1 最新稳定版实查
经 GitHub Releases 实查(2026-10-25):当前最新稳定版为 v1.10.2,发布于 2026-09-06,源码包 eggdrop-1.10.2.tar.gz,官方公布 sha256:
d6646b630879e1acd9b053ffa12f46667f907145f29af1df0f82749ef3032a94
仓库另有 1.10.x 系列的滚动开发(develop 分支),生产环境只用带 tag 的稳定版。
2.2 交付形态
| 形态 | 来源 | 说明 |
|---|---|---|
| 源码 tar 包 | GitHub Releases / ftp.eggheads.org | 主流交付形态,C 源码需 gcc + tcl-dev + libssl-dev 编译 |
| 发行版仓库 | Ubuntu universe 等 | Ubuntu 22.04 收录的是 1.8.4(2021 年打包),落后两个大版本 |
| 官方镜像 | 镜像仓库官方 library | 1.10.2 起有官方维护镜像(镜像名 eggdrop,library 官方镜像计划),2026-10-21 更新至 1.10.2 |
⚠️ 实查说明(与部分二手资料不符,以实查为准):网上常见引用
eggheads/eggdrop镜像——那是 2016 年前后的社区旧镜像,早已停止更新,不要再用;当前官方镜像是 library 计划下的eggdrop。两者的辨识与用法详见《Eggdrop 1.10.2 Docker Compose 部署指南》。
三、核心特性(含 1.10.x 新特性)
Eggdrop 的传统强项:
- 频道防护体系:40 种封禁掩码模板(ban-type 0-39)、六类洪水检测(消息/deop/kick/join/ctcp/改名)、临时封禁自动解除、revenge 报复模式、netsplit 感知。
- 分级权限系统:owner/master/op/voice 等 30+ 细粒度用户标志,按全局或按频道授予。
- partyline 管理通道:telnet/DCC 接入的实时管理总线,100+ 条
.命令完成全部运维。 - botnet:多个 Eggdrop 互联成网,共享用户库(share 模块)、跨机管理。
- 极低资源占用:实测常驻内存约 3MB,可跑在任何小机器上。
1.10.x 系列(1.10.2 所属)相对 1.8/1.9 的新增能力:
| 新特性 | 说明 |
|---|---|
| extban 支持 | 识别 Libera.Chat 等网络的扩展封禁(如 $a:账号 按账号封禁),partyline 新增 .+extban |
| WebUI 模块 | 新增 Web 管理界面(loadmodule webui + listen 8080 webui) |
| Python 模块 | Tcl 之外可用 Python ≥3.8 写扩展(loadmodule python + pysource) |
| autobotchk 增强 | 看门狗脚本支持直接生成用户级 systemd 单元(-systemd -unitname) |
| IRCv3/SASL 完善 | CAP 能力协商、SASL PLAIN/EXTERNAL/SCRAM 认证、account 跟踪 |
| PBKDF2 口令哈希 | 1.9 起取代 blowfish 成为默认,blowfish 计划 2.0 移除 |
四、架构与扩展体系
┌────────────────────────────────────────────┐
│ Tcl 脚本层(scripts/*.tcl)/ Python 脚本 │
├────────────────────────────────────────────┤
│ 功能模块(.so:server/irc/channels/ctcp/ │
│ transfer/share/notes/webui/pbkdf2/...) │
├────────────────────────────────────────────┤
│ Eggdrop C 内核(事件循环/用户库/partyline) │
├────────────────────────────────────────────┤
│ Tcl 8.6 解释器 + OpenSSL(TLS) │
└────────────────────────────────────────────┘
- 内核:C 编写,单进程事件循环,负责 IRC 协议、用户库、partyline。
- 模块:以
loadmodule按需加载 .so,核心场景(频道/服务器/CTCP/便签/共享)全是模块,可裁剪。 - 脚本:Tcl 是传统生态(scripts/ 目录自带 alltools/userinfo 等),1.10 起可加 Python;配置文件本身就是 Tcl 脚本。
五、同类对比:Eggdrop vs Limnoria vs Sopel
三款均为活跃维护的开源 IRC 机器人。以下数据 2026-10-25 实查:
| 维度 | Eggdrop | Limnoria | Sopel |
|---|---|---|---|
| 最新版本 | 1.10.2(2026-09-06) | 2026.10.4(2026-10-18) | 8.0.4 |
| 实现语言 | C + Tcl 扩展 | Python 3 | Python 3 |
| 官方仓库 | eggheads/eggdrop | ProgVal/Limnoria | sopel-irc/sopel |
| GitHub Stars | 584 | 676 | 983 |
| 资源占用 | 极低(实测约 3MB 内存) | 中(Python 运行时) | 中(Python 运行时) |
| 安装方式 | 源码编译 / apt(版本旧) | pip / 发行版仓库 | pip |
| 扩展生态 | Tcl 脚本 + C 模块,生态老而全 | Python 插件,Supybot 系遗产丰富 | Python 插件,PyPI 有插件市场 |
| 频道防护 | 最强(40 种掩码、六类洪水、botnet 协同) | 基础(需插件补足) | 基础(需插件补足) |
| botnet 多机互联 | 原生支持(share 模块共享用户库) | 无原生支持 | 无原生支持 |
| 管理界面 | partyline(telnet/DCC)+ 1.10 新增 WebUI | IRC 命令 + 插件 Web | IRC 命令 + 插件 Web |
| 学习曲线 | 陡(Tcl、conf 1700 行、概念多) | 平缓 | 平缓 |
| 适用侧重 | 频道长期值守、防护、多机 botnet | 通用功能机器人、命令扩展 | 快速开发业务型机器人 |
六、版本矩阵(Eggdrop 自身)
| 版本线 | 状态 | 说明 |
|---|---|---|
| 1.10.2 | 当前稳定版(2026-09-06) | 推荐生产使用;extban/WebUI/Python 模块/autobotchk systemd 全量具备 |
| 1.9.x | 上一代稳定线 | PBKDF2、SASL、CAP 自 1.9 引入;无 WebUI/extban |
| 1.8.x | 老旧但仍流通 | Ubuntu 22.04 apt 仓库即此版(1.8.4);用户库与 1.9+ 不兼容,仅适合临时体验 |
| develop 分支 | 开发中 | 1.10.x 滚动开发,生产勿用 |
⚠️ 兼容性提示:1.8 及更早的用户库迁移到 1.9+/1.10 时,需同时加载 pbkdf2 与 blowfish 模块完成口令哈希平滑升级(用户首次登录自动升级),细节见《Eggdrop 1.10.2 配置参数详解》。
七、选型建议
选 Eggdrop 1.10.2,如果:
- 核心诉求是 IRC 频道长期值守与防护(防洪水、防夺权、自动 op),这是它的主场,三十年打磨的防护逻辑无出其右;
- 需要多机器人 botnet 互联、共享用户库;
- 部署环境资源紧张(嵌入式、低配 VPS、容器小实例),3MB 内存的 C 进程优势巨大;
- 团队愿意接受 Tcl 配置体系的一次性学习成本。
选 Limnoria,如果:
- 要的是「插各种功能插件的通用机器人」,Supybot 系插件遗产(资讯、天气、问答等)直接可用;
- 团队熟悉 Python,不写 Tcl。
选 Sopel,如果:
- 以 Python 快速开发业务逻辑型机器人(对接内部系统、定制命令流)为主;
- 看重 PyPI 插件市场与现代 Python 工程化。
一句话结论:频道防护与值守选 Eggdrop,功能插件生态选 Limnoria,Python 二次开发选 Sopel。三者不互斥,大型 IRC 社区常见 Eggdrop 管频道 + Python 系机器人跑业务命令的组合。
八、安装方式概览
| 方式 | 适合 | 指引 |
|---|---|---|
| 源码编译(推荐) | 生产部署,要 1.10.2 全量特性 | 见《Ubuntu 22.04 安装 Eggdrop 1.10.2 指南》 |
| apt 仓库 | 临时体验(版本为 1.8.4) | 同上文档方案 A |
| 官方镜像 | 快速起量、标准化交付 | 见《Eggdrop 1.10.2 Docker Compose 部署指南》 |
配置体系与命令运维分别见《Eggdrop 1.10.2 配置参数详解》《Eggdrop 1.10.2 常用 CLI 命令与工具详解》。
九、参考链接
- Eggdrop 官方仓库与 Releases:https://github.com/eggheads/eggdrop
- Eggdrop v1.10.2 Release Notes:https://github.com/eggheads/eggdrop/releases/tag/v1.10.2
- Eggheads 官方文档站:https://docs.eggheads.org/
- Limnoria 官方仓库:https://github.com/ProgVal/Limnoria
- Sopel 官方仓库:https://github.com/sopel-irc/sopel