项目介绍
关于 chawrt
chawrt 是基于 OpenWrt 的深度优化版本,专注于专业商用认证 WiFi 场景,面向企业、运营商及公共场所网络部署。支持 CMCC RAX3000M、小米 AX3000T、小米 WR30U、小米 AC2100、JCG Q30 Pro、JCG Q20、诺基亚 EA0326GMP、奇虎 360 T7、H3C Magic NX30 Pro 等多款 MediaTek 平台路由器。
项目在保持 OpenWrt 核心特性的基础上,集成了认证门户、内网穿透、VPN、流控、DPI 等企业级功能,并通过公安三所认证要求,满足国内网络安全合规需求。
核心优势
- ✓ 公安三所认证合规
- ✓ 企业级认证门户
- ✓ 完整的 VPN 解决方案
- ✓ 高性能流量控制
- ✓ 深度包检测(DPI)
系统架构
功能模块
APFree-WiFiDog
高性能认证门户系统,支持多种认证方式(微信、短信、账号密码),提供完整的用户管理和流量统计功能。
xfrpc
轻量级内网穿透工具,支持 TCP/UDP/HTTP/HTTPS 协议,实现远程管理和服务发布。
IPSec VPN
基于 strongSwan 的企业级 VPN 解决方案,使用 swanctl 配置管理,结合 XFRM 框架实现高性能加密传输。
流量控制
基于 eBPF 和 tc 的高性能流量整形系统,支持多级队列、带宽限制、优先级调度等功能。
深度包检测 (DPI)
基于 eBPF 和用户态模块的 DPI 系统,实现应用层协议识别、行为分析和内容过滤。
公安三所认证
完整实现公安部信息安全产品检测中心(公安三所)的技术要求,满足国内网络安全合规需求。
编译指南
安装依赖
在 Ubuntu/Debian 系统上安装编译所需的依赖包:
Ubuntu 24.04 (Python 3.12+)
sudo apt update
sudo apt install build-essential clang flex bison g++ gawk \
gcc-multilib g++-multilib gettext git libncurses5-dev libssl-dev \
python3-setuptools rsync swig unzip zlib1g-dev file wget
Ubuntu 22.04 (Old Python 3.xx)
sudo apt update
sudo apt install build-essential clang flex bison g++ gawk \
gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \
python3-distutils python3-setuptools rsync swig unzip zlib1g-dev file wget
拉取源码
克隆 chawrt 仓库到本地:
git clone https://github.com/liudf0716/chawrt.git
cd chawrt
git checkout 24.10
更新 feeds
更新并安装软件包源:
./scripts/feeds update -a
./scripts/feeds install -a
配置编译选项
使用 menuconfig 配置目标设备和功能模块:
# 使用预设配置(可选)
cp configs/your-device.config .config
# 或手动配置
make menuconfig
- Target System: 选择你的设备平台(如 MediaTek Ralink MIPS、Rockchip ARM 等)
- Target Profile: 选择具体设备型号
- LuCI → Applications: 选择需要的功能模块
开始编译
首次编译建议单线程以便查看错误信息:
# 下载所需软件包
make download V=s -j$(nproc)
# 开始编译(首次建议单线程)
make V=s
# 后续编译可使用多线程
make -j$(nproc)
获取固件
编译完成后,固件位于:
bin/targets/<platform>/<subtarget>/
固件文件通常包括:
*-squashfs-sysupgrade.bin- 用于升级已安装 OpenWrt 的设备*-squashfs-factory.bin- 用于从官方固件刷入*-initramfs-kernel.bin- 临时启动镜像(不会写入 flash)
常见编译问题
编译失败:下载软件包超时
解决方案:
- 使用国内镜像源加速下载
- 手动下载失败的包到
dl/目录 - 重新执行
make download V=s
软件包依赖冲突
解决方案:
- 检查
make menuconfig中是否选择了冲突的包 - 清理编译缓存:
make clean - 重新配置并编译
内核模块编译错误
解决方案:
- 确认内核版本与模块兼容
- 检查是否安装了所有依赖包
- 查看详细错误信息:
make V=s
磁盘空间不足
解决方案:
- 编译至少需要 20GB 可用空间
- 清理旧的编译文件:
make clean - 删除下载缓存:
rm -rf dl/(谨慎操作)
清理命令
| 命令 | 说明 |
|---|---|
make clean |
删除编译生成的文件,保留配置和下载的包 |
make dirclean |
删除编译文件和交叉编译工具链 |
make distclean |
完全清理,包括配置文件(不删除 dl/ 目录) |
设备支持列表
chawrt 支持以下设备型号的刷机:CMCC RAX3000M(中国移动)、小米 AX3000T、小米 WR30U、小米 AC2100、诺基亚 EA0326GMP、奇虎 360 T7、JCG Q30 Pro、JCG Q20、H3C Magic NX30 Pro 等多款 MediaTek MT7981B 和 MT7621 平台路由器。所有设备均提供详细的 OpenWrt 刷机教程。点击设备查看完整刷机步骤。
更多设备支持
chawrt 正在适配更多设备型号。如有设备适配需求或愿意贡献设备支持,欢迎在 GitHub Issues 中提出。
联系我们
加入 QQ 交流群
欢迎加入 chawrt 技术交流群,与其他用户和开发者交流使用经验、分享刷机技巧、反馈问题建议。
- ✓ 刷机技术支持
- ✓ 固件使用交流
- ✓ 设备适配讨论
- ✓ 问题快速响应
扫码加入 QQ 交流群
支持项目
chawrt 是一个开源项目,如果您觉得这个项目对您有帮助,欢迎打赏支持我们的开发工作。您的支持是项目持续更新的最大动力!
支付宝支持
微信支付支持