chawrt Logo

chawrt

专业商用认证 WiFi OpenWrt 发行版

💬 加入 chawrt 技术交流群,获取刷机支持和技术交流
查看二维码

项目介绍

关于 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 IPSec VPN 流控 DPI
内核层
eBPF XFRM tc netfilter
OpenWrt 核心
Linux Kernel uClibc/musl busybox

功能模块

🔐

APFree-WiFiDog

高性能认证门户系统,支持多种认证方式(微信、短信、账号密码),提供完整的用户管理和流量统计功能。

Portal 认证 流量统计 用户管理
🌐

xfrpc

轻量级内网穿透工具,支持 TCP/UDP/HTTP/HTTPS 协议,实现远程管理和服务发布。

内网穿透 远程管理 服务发布
🔒

IPSec VPN

基于 strongSwan 的企业级 VPN 解决方案,使用 swanctl 配置管理,结合 XFRM 框架实现高性能加密传输。

strongSwan swanctl XFRM

流量控制

基于 eBPF 和 tc 的高性能流量整形系统,支持多级队列、带宽限制、优先级调度等功能。

eBPF tc qdisc QoS
🔍

深度包检测 (DPI)

基于 eBPF 和用户态模块的 DPI 系统,实现应用层协议识别、行为分析和内容过滤。

协议识别 行为分析 内容过滤

公安三所认证

完整实现公安部信息安全产品检测中心(公安三所)的技术要求,满足国内网络安全合规需求。

日志审计 实名认证 行为管控

编译指南

1

安装依赖

在 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
2

拉取源码

克隆 chawrt 仓库到本地:

git clone https://github.com/liudf0716/chawrt.git
cd chawrt
git checkout 24.10
3

更新 feeds

更新并安装软件包源:

./scripts/feeds update -a
./scripts/feeds install -a
4

配置编译选项

使用 menuconfig 配置目标设备和功能模块:

# 使用预设配置(可选)
cp configs/your-device.config .config

# 或手动配置
make menuconfig
配置说明:
  • Target System: 选择你的设备平台(如 MediaTek Ralink MIPS、Rockchip ARM 等)
  • Target Profile: 选择具体设备型号
  • LuCI → Applications: 选择需要的功能模块
5

开始编译

首次编译建议单线程以便查看错误信息:

# 下载所需软件包
make download V=s -j$(nproc)

# 开始编译(首次建议单线程)
make V=s

# 后续编译可使用多线程
make -j$(nproc)
注意:首次编译可能需要 1-3 小时,具体时间取决于网络速度和硬件性能。
6

获取固件

编译完成后,固件位于:

bin/targets/<platform>/<subtarget>/

固件文件通常包括:

  • *-squashfs-sysupgrade.bin - 用于升级已安装 OpenWrt 的设备
  • *-squashfs-factory.bin - 用于从官方固件刷入
  • *-initramfs-kernel.bin - 临时启动镜像(不会写入 flash)

常见编译问题

编译失败:下载软件包超时

解决方案:

  1. 使用国内镜像源加速下载
  2. 手动下载失败的包到 dl/ 目录
  3. 重新执行 make download V=s
软件包依赖冲突

解决方案:

  1. 检查 make menuconfig 中是否选择了冲突的包
  2. 清理编译缓存:make clean
  3. 重新配置并编译
内核模块编译错误

解决方案:

  1. 确认内核版本与模块兼容
  2. 检查是否安装了所有依赖包
  3. 查看详细错误信息:make V=s
磁盘空间不足

解决方案:

  1. 编译至少需要 20GB 可用空间
  2. 清理旧的编译文件:make clean
  3. 删除下载缓存: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 技术交流群,与其他用户和开发者交流使用经验、分享刷机技巧、反馈问题建议。

  • ✓ 刷机技术支持
  • ✓ 固件使用交流
  • ✓ 设备适配讨论
  • ✓ 问题快速响应

其他联系方式

GitHub: liudf0716/chawrt

Issues: 提交问题和建议

QQ 交流群二维码

扫码加入 QQ 交流群

参与贡献

🐛 报告问题

发现 Bug 或有功能建议?欢迎在 GitHub Issues 中反馈。

提交 Issue

💻 提交代码

欢迎提交 Pull Request 改进代码、修复 Bug 或添加新功能。

提交 PR

📖 完善文档

帮助完善设备刷机教程、使用文档和常见问题解答。

查看项目