摘要
1) 一句话总结 OpenClash 是一款基于 MIT 协议开源、专为 OpenWrt 路由器设计的 Clash 客户端插件,通过提供多协议支持、策略分流和可视化面板,实现局域网底层的统一网络流量接管与精细化路由。
2) 核心要点
- 底层架构:基于 Dreamacro 的 Clash 内核,并在 frainzy1477 的 Luci For Clash 基础上进行二次开发。
- 多协议兼容:支持 Shadowsocks、ShadowsocksR、Vmess、Trojan、Snell 等多种常见代理协议。
- 流量分流与管理:支持服务器与策略组管理、配置文件订阅与本地管理,可针对游戏、流媒体、网页等进行精细化路由。
- 可视化与辅助工具:内置 clash-dashboard 和 yacd 控制面板,集成 IP 检查(MyIP)与流媒体解锁检测(RegionRestrictionCheck)。
- 规则库扩展:支持引入 lhie1、ConnersHua、SSTap-Rule 等第三方规则库以及 GeoLite2 数据库。
- 部署方式:作为 LuCI 插件运行,用户可通过预编译的 IPK 文件安装,或将源码克隆至 OpenWrt SDK 随固件一同编译。
3) 风险与不足
- 环境依赖较多:系统需安装大量依赖包,包括
luci-base、dnsmasq-full、ruby、ipset、curl及多种iptables模块。 - 特定功能依赖内核模块:启用 TUN 模式需
kmod-tun;处理进程名需kmod-inet-diag;在 Firewall4 环境下需kmod-nft-tproxy。 - 版本兼容性要求:部分依赖包(如
luci-compat)要求路由器的 LuCI 版本必须在 19.07 或以上。
功能与定位
OpenClash 是一个专为 OpenWrt 路由器系统设计的 Clash 客户端插件。它通过灵活的规则配置来实现策略代理,帮助用户在路由器底层对网络流量进行统一接管与分流。
典型使用场景
- 在 OpenWrt 路由器上部署代理环境,为局域网内的设备提供统一的网络策略分流服务。
- 需要同时兼容多种代理协议,并根据不同目标(如游戏、流媒体、常规网页)进行精细化流量路由的网络环境。
核心功能
- 多协议兼容:支持 Shadowsocks、ShadowsocksR、Vmess、Trojan、Snell 等多种常见代理协议。
- 策略与规则分流:支持服务器与策略组管理、规则与策略组配置(包含游戏规则设置)。
- 配置管理:提供配置文件订阅功能以及本地配置文件管理。
- 可视化面板:内置 clash-dashboard 和 yacd 控制面板,支持通过图形界面查看运行状态、全局设置及运行日志。
- 辅助检测与规则库:集成了 IP 检查(MyIP)、流媒体解锁检测(RegionRestrictionCheck),并支持引入多种第三方规则库(如 lhie1 规则、ConnersHua 规则、SSTap-Rule 游戏规则)及 GeoLite2 数据库。
特色与差异点
- 深度集成 OpenWrt:作为 LuCI 插件运行,与 OpenWrt 系统无缝结合。
- 支持 TUN 模式:通过依赖特定的内核模块(
kmod-tun),支持更底层的 TUN 模式流量接管。 - 生态整合度高:将 Clash 核心、多种 Web 控制面板、主流分流规则及流媒体/IP 检测工具整合在一个插件中,提供一站式体验。
使用方式概览
- 安装方式:用户可以获取预编译的 IPK 文件进行安装,或者将项目源码克隆至 OpenWrt SDK 的 Package 目录下,随路由器固件一同编译。
- 配置与运行:安装后,通过 OpenWrt 的 LuCI 图形界面进入 OpenClash,进行节点订阅、策略组分配及全局参数设置,即可启动代理服务。
限制与注意事项
- 环境依赖较多:插件运行需要 OpenWrt 系统安装大量依赖包,包括但不限于
luci-base、dnsmasq-full、ruby、ipset、curl以及多种iptables模块。 - 特定功能需内核支持:例如启用 TUN 模式需要
kmod-tun;处理进程名需要kmod-inet-diag;在 Firewall4 环境下需要kmod-nft-tproxy。 - 版本兼容性:部分依赖(如
luci-compat)要求 LuCI 版本在 19.07 或以上。
- 合规边界:本仓库仅做项目信息归档,不复述可操作细节、命令、脚本片段或下载镜像直链。