OpenWrt 平台的 ECH (Encrypted Client Hello) Workers 代理客户端。
- ✅ ECH 加密 - 基于 TLS 1.3 ECH 技术,加密 SNI 信息
- ✅ 多协议支持 - 同时支持 SOCKS5 和 HTTP CONNECT 代理协议
- ✅ 透明代理 - 内置 TPROXY 支持,LAN 设备无需任何配置即可翻墙
- ✅ 智能分流 - 三种分流模式:全局代理、跳过中国大陆、直连模式
- ✅ IPv4/IPv6 双栈 - 完整支持 IPv4 和 IPv6 地址的分流判断
- ✅ GFW 列表管理 - 支持多源下载、定时更新、DNS 防污染
- ✅ Web 界面管理 - 通过 LuCI 界面配置和管理,实时状态显示
- ✅ 独立运行 - 无需 PassWall、OpenClash 等其他插件配合
| 包名 | 说明 |
|---|---|
ech-workers |
ECH Workers 代理客户端二进制程序 |
luci-app-echworkers |
LuCI Web 界面管理插件 |
# 克隆到 package 目录
cd /path/to/openwrt
git clone https://github.com/ntbowen/echworker-for-openwrt.git package/echworker-for-openwrt
# 选择包
make menuconfig
# LuCI -> Applications -> luci-app-echworkers
# 编译
make package/echworker-for-openwrt/luci-app-echworkers/compile V=s在 feeds.conf.default 中添加:
src-git echworkers https://github.com/ntbowen/echworker-for-openwrt.git
然后:
./scripts/feeds update echworkers
./scripts/feeds install -a -p echworkers
make menuconfig
make package/luci-app-echworkers/compile V=s- 在 LuCI 界面 (服务 → ECH Workers) 配置服务器信息
- 启用"透明代理"
- 保存并应用
- 完成! LAN 下所有设备自动翻墙,无需任何客户端配置
将设备或应用的代理设置为:
- 代理类型: SOCKS5 或 HTTP
- 代理地址: 路由器 IP
- 代理端口: 30001(或你配置的端口)
详细配置说明请参考 luci-app-echworkers/README.md
- OpenWrt 21.02 或更高版本
- Go 1.21+ (编译时需要)
- nftables (透明代理需要)
- dns2socks (DNS 防污染需要,会自动安装)
- 重大修复: 解决 LuCI 界面"启用"复选框无法正确控制服务的问题
- 重写
echworkers-control直接启动进程,避免 procd 阻塞导致 UI 卡住 - 修复状态显示与实际相反的问题(使用
fs.exec_direct检查进程状态) - 修复
handleSaveApply时序问题,确保 UCI 配置先保存再执行 restart - 添加 ech-workers 进程输出重定向到 syslog,方便查看日志
- 修复 gfwlist 路径为
/etc/echworkers/gfwlist.conf - 使用
killall -HUP dnsmasq替代dnsmasq restart避免网络中断 - 所有场景测试通过:禁用服务、仅 SOCKS5、完整透明代理、场景切换
- 新增 GFW 列表管理功能(多源下载、定时更新)
- 新增 DNS 防污染(通过 dns2socks 代理 DNS 查询)
- 修复服务启停控制问题
- 修复包卸载时卡住的问题
- 优化 LuCI 界面状态实时更新
- 中文化 GFW 列表脚本输出信息
MIT License