TR-069 开源项目现状详细总结
TR-069(CPE WAN Management Protocol,简称 CWMP)是 Broadband Forum 定义的宽带设备远程管理协议,主要用于 ACS(Auto Configuration Server)对 CPE(Customer Premises Equipment,如路由器、机顶盒、光猫等)的配置、监控、固件升级等。开源实现分为服务器端(ACS)和客户端端(CPE)两大类。
截至 2026 年 1 月,开源 TR-069 项目整体活跃度中等。GenieACS仍是 ACS 端绝对主流项目,社区活跃、更新频繁;客户端端以easyCWMP最成熟,常用于嵌入式系统(如 OpenWrt)。其他项目维护较慢,但仍有零星贡献。TR-369(USP)协议兴起后,一些项目开始支持双协议(如 Oktopus 基于 GenieACS 的企业版),但纯 TR-069 开源实现仍以 GenieACS 和 easyCWMP 为核心。
1. 服务器端(ACS)主要开源项目现状
GenieACS(https://github.com/genieacs/genieacs)
最流行、最活跃的开源 ACS。Node.js 实现,高性能、声明式配置、故障容错强。支持百万级设备规模部署。2025-2026 年仍有版本迭代(最新 1.2.x 系列),论坛活跃,社区讨论频繁。优势:API 丰富、Provisioning 脚本强大、内置 UI。缺点:学习曲线稍陡,需要 MongoDB/Redis 支持。FreeACS(https://github.com/freeacs/freeacs)
Java 实现,MIT 许可证,完全免费。功能较完整,支持多租户、脚本化配置。2024-2025 年有更新,定位为“最完整的免费 TR-069 ACS”。适合企业自建,但社区活跃度低于 GenieACS。Oktopus Controller(https://www.oktopus.app.br/controller)
基于开源(疑似 GenieACS fork),号称“全球最广泛使用的开源 CWMP/USP 控制器”。提供企业级特性与付费支持。社区版功能强大,但核心仍是开源基础。
其他较老项目(如 OpenACS、ACS by BroadBand Forum 示例)基本停止维护,不推荐生产使用。
2. 客户端端(CPE)主要开源项目现状
easyCWMP(https://github.com/pivasoftware/easycwmp)
最成熟的开源 CPE 实现,GPLv2 许可证。由 PIVA Software 维护,支持 TR-069 全 RPC、TR-181 数据模型。完美集成 OpenWrt,常用于路由器固件。2025 年仍有 issues 处理和 bugfix,支持 HTTP 302/307 等边缘特性。优势:轻量、合规性高、易移植。Rocket CWMP(NLnet 资助项目)
模块化 C 语言实现,支持 TR-069、TR-181 等多个技术报告。目标是高可配置性,适合嵌入式设备。维护中等。iCWMP(iopsys 项目)
OpenWrt 原生客户端实现,依赖 OpenWrt 库。功能完整但更新较慢。
其他如 FreeCWMP(easyCWMP 前身)已基本合并或停止活跃。
3. 重点项目详解
(1)GenieACS(ACS 端主流项目)
架构特点:
分布式设计,包括 genieacs-cwmp(处理 CWMP 协议)、genieacs-nbi(北向 API)、genieacs-fs(文件服务)、genieacs-ui(Web 界面)。使用 MongoDB 存储设备数据,Redis 做缓存,支持横向扩展。核心优势:
- 高性能:单实例支持数万并发会话。
- 声明式 Provisioning:用 JavaScript 脚本定义配置逻辑,支持条件判断、循环、外部 API 调用。
- 故障容错:自动重试、虚拟参数、刷新机制。
- 丰富功能:固件升级、批量操作、诊断、实时监控、WebSocket 推送设备状态。
最新状态(2026 年):
1.2.13+ 版本稳定,社区论坛活跃(常见问题:固件升级跟踪、Connection Request 认证、参数刷新)。支持 TR-069 Amendment 5+,部分兼容 TR-369。文档完善(https://docs.genieacs.com),部署简单(Docker 一键)。商业公司(如 Oktopus)基于其提供付费支持。适用场景:运营商、大型 ISP、家庭网关批量管理。全球部署案例最多。
(2)easyCWMP(CPE 端主流项目)
架构特点:
C 语言 + JSON 配置 + libcurl/libmicroxml。分为 daemon(主进程)和 data model 处理模块。支持 OpenWrt uci 配置系统。核心优势:
- 完全符合 TR-069 标准(所有必选 RPC、事件、认证方式)。
- 轻量级:资源占用低,适合嵌入式设备。
- 易集成:提供 OpenWrt 包,直接 opkg 安装。
- 支持扩展:自定义 data model、脚本 hook。
最新状态(2026 年):
GitHub issues 仍在处理(如 wget 链接失效、HTTP 重定向支持)。与 GenieACS 联调案例最多,常用于测试 ACS 兼容性。官方提供商业支持版本(添加 TR-369/USP)。适用场景:路由器、ONT、IPTV 机顶盒固件开发。OpenWrt 生态默认推荐客户端。
(3)FreeACS(ACS 端备选项目)
架构特点:Java + Spring + MySQL/PostgreSQL。模块化设计,支持单元管理、脚本、触发器。
核心优势:多租户支持强、Web UI 友好、完全免费(MIT)。功能覆盖 TR-069 核心 + 部分扩展。
最新状态(2026 年):2025 年有文章称其为“最完整的免费解决方案”,GitHub 有少量 commit。适合不想用 Node.js 生态的用户。
适用场景:中小型自建 ACS,不追求极致性能。
4. 总体结论与建议
- 现状趋势:GenieACS 一枝独秀,占据 80%+ 开源 ACS 市场份额;客户端以 easyCWMP 为主。TR-369(USP)逐渐流行,部分项目开始双协议支持。
- 推荐:
- 生产级 ACS → 优先 GenieACS(免费 + 社区强)。
- 嵌入式 CPE → easyCWMP(合规性最佳)。
- 需要商业支持 → 考虑 Oktopus(GenieACS 基础)或 PIVA 的 easyCWMP 企业版。