简介
本插件是一个可运行在 OpenWrt 上的 Clash 客户端
兼容 Shadowsocks、ShadowsocksR、Vmess、Trojan、Snell 等协议,根据灵活的规则配置实现策略代理
说简单点,就是提供一个翻墙的工具。
使用手册:https://github.com/vernesong/OpenClash/wiki
下载地址:https://github.com/vernesong/OpenClash/releases
安装
卸载dnsmasq
1 2 |
opkg remove dnsmasq mv /etc/config/dhcp /etc/config/dhcp.bak |
这是因为接下来需要安装
dnsmasq-full
,它会与之冲突
1
|
opkg install dnsmasq-full
|
安装依赖
根据官方文件,目前有两种方案:
旧版本基于iptables的Firewall3防火墙
1 2 3 |
#iptables opkg update opkg install coreutils-nohup bash iptables dnsmasq-full curl ca-certificates ipset ip-full iptables-mod-tproxy iptables-mod-extra libcap libcap-bin ruby ruby-yaml kmod-tun kmod-inet-diag unzip luci-compat luci luci-base |
新版本基于nftables的Firewall4防火墙
1 2 3 |
#nftables opkg update opkg install coreutils-nohup bash curl ca-certificates ipset ip-full libcap libcap-bin ruby ruby-yaml kmod-tun kmod-inet-diag unzip kmod-nft-tproxy luci-compat luci luci-base |
Firewall4 现已替代 firewall3 成为 OpenWrt 镜像中的默认防火墙配置软件. Firewall4 使用了 nftables 代替 iptables 来配置 Linux 的网络过滤规则。
Firewall4 的 UCI 配置界面与之前的防火墙配置界面一致。旧的防火墙配置会无缝迁移到基于 nftables 的 firewall4。
/etc/firewall.user
文件中的自定义防火墙规则需要手动将其标记为兼容,方能够正常工作。同时,Firewall4 还支持引入 nftables 片段的功能。防火墙相关文档详细描述了如何在 firewall4 下自定义防火墙规则。 部分社区维护的软件包添加的自定义规则可能在此版本无法使用,这些规则将在 22.03 后续更新中逐步迁移到 firewall4。iptables工具集不再默认在固件中安装。若有需要,你可以通过 opkg 或者 ImageBuilder 来安装。
iptables-nft
,arptables-nft
,ebtables-nft
和xtables-nft
软件包可以在使用nftables
的情况下,提供与之前的工具相同的命令接口。
我们安装的为官方22.03版本,是基于nftables的Firewall4防火墙
通过SSH连接至OpenWrt,依次输入命令即可安装。
安装程序文件
在 Github Release 下载最新的程序文件,上传软件包进行安装。
刷新页面无法看到程序的话,重新登录一下OpenWrt
配置
更新内核
首先打开【插件设置】-【版本更新】,这边文件不存在的都要进行更新,如果本地网络无法更新的话,点击右侧的【下载到本地】上传到相应目录即可。
订阅设置
增加订阅文件,也就是机场,这个网上找找应该有免费的。
如果你不清楚你的机场是什么类型的,建议将【在线订阅转换】打开,【添加Emoji】和【UDP支持】也可以启用。
插件设置
- 选择【模式设置】,拉到底下点击【切换页面到Fake-IP模式】,勾选【使用Meta内核】,保存配置;
关于不同模式间的区别,可以参考:浅谈在代理环境中的 DNS 解析行为
- 选择【DNS设置】,在【本地DNS劫持】选项默认【使用Dnsmasq转发】,我们选择【禁用】,保存配置;
如果【使用Dnsmasq转发】,那么流量就不经过SmartDns,直接到OpenClash
- 选择【GEO数据库订阅】,勾选【自动更新 GeoIP MMDB 数据库】【自动更新 GeoIP Dat 数据库】【自动更新 GeoSite 数据库】,保存配置;
覆写设置
来到【DNS设置】,勾选【自定义上游 DNS 服务器】【追加上游 DNS】【追加默认 DNS】【Fake-IP 持久化】。
在下方【自定义上游 DNS 服务器】中添加:
这边填写的是SmartDNS的地址,添加 UDP/TCP/TLS/HTTPS 四种协议,如果没有安装SmartDNS,就直接添加正常的公共DNS。
接着来到【Meta设置】,勾选【启用 TCP 并发】:
剩余的是一些比较基础的设置,可以自行设置
如果有不清楚的地方,可以参阅 OpenClash使用手册,上面写的非常详细。
启动与测试
回到主界面,点击【启动OpenClash】。
如果无法成功启动,一定要检查【运行日志】,根据日志的内容进行排查!
在访问 SpeedTest 网页时,显示的IP为国内宽带,也就说明它的分流规则已经生效,经过测速,也是自身宽带速率。
结束
在使用OpenClash之前,OpenVPN占据了比较重要的位置,但是鉴于它是全局代理,所以要频繁连接,现在使用OpenClash后,全部交给它,我们只要上网就可以了!
最后
在我实际使用过程中,发现OpenClash的分流做的不是特别理想,比如访问一个香港域名,明明本地线路访问就很快,它会默认为国外线路,另外在访问Nvidia这类国际化网站时,基本也都是走的国外线路,之前下载显卡驱动的时候就是国外线路的网速,而不是国内网络的速度。
后来在设置自定义规则中,发现失灵时不灵,而且类似google这类网站,都划分到漏网之鱼里面去了,有点没搞懂。。。
但是它目前是唯一一款基于nftables的软件,其他这类软件都还只支持iptables,因此这个取舍非常难。
补充
说一下我目前使用的方案:
我的需求是只有某些网站需要走代理,其余90%都是直连。
- 使用【Fake-IP】模式,并且不要使用 Meta 内核,在我实际使用过程中,使用Meta内核后,自定义规则不生效;
- 在【覆写设置】-【规则设置】,勾选【第三方规则】、【仅代理命中规则流量】以及【自定义规则】,在出现的自定义规则框内根据其中说明填写;比如在访问
google.com
和github.com
时,走代理模式,则在rules
下面填入:
1 2
- DOMAIN-SUFFIX,google.com,🔰 节点选择 - DOMAIN-SUFFIX,github.com,🔰 节点选择
这个方法非常适合访问一些知名度不高的网站时所用。
- 在底部的【设置第三方规则】栏内,点击【添加】-【获取策略组】,然后根据自己需求自定义规则方式。
应用配置后,那么现在已经基本完美了。在现阶段基于nftables的openwrt来说,比强行使用SSR +要好。
评论(0)