在Merlin固件上使用clash
2022更新
Merlin Clash 插件已经成熟,请使用插件。
下载&安装clash
clash固件下载地址——https://github.com/Dreamacro/clash/releases
选择固件对应指令集的clash版本,我这里用的是R6300V2,即armv5,如果不清楚可以用命令查看。
这里为了方便起见将解压后的文件重命名为clash
admin@R6300V2-0518:/tmp/home/root# uname -a
Linux R6300V2-0518 2.6.36.4brcmarm #1 SMP PREEMPT Wed May 9 17:23:49 CST 2018 armv7l Merlin-Koolshare
(这里显示armv7但只有v5能用)
文件的准备工作
准备config.yaml,一般由订阅提供,修改或添加以下内容
redir-port: 7892
allow-lan: true
external-controller: 0.0.0.0:9090
dns:
enable: true
listen: 0.0.0.0:5353
enhanced-mode: fake-ip
nameserver:
- 119.29.29.29
- 223.5.5.5
下载Country.mmdb
到https://www.maxmind.com/en/home 注册账号并登录,在之后的页面里选择GeoLite2-Country下载解压,改名为Country.mmdb。
文件上传&试运行
使用Winscp上传之前的三个文件到/jffs/.koolshare/,记得给clash可执行权限,先尝试./clash -d .
确认是否能正常启动clash,如果没有报错退出即为成功。
避免使用Winscp内部的编辑器编辑config.yaml,防止因字符转码出现问题。
透明代理&开机自启
在/jffs/scripts
目录下创建iptable.sh
和firewall-start
并赋予执行权限。
chmod +x /jffs/scripts/iptable.sh
chmod +x /jffs/scripts/firewall-start
iptable.sh
#Clash
start-stop-daemon -S -b -x /jffs/.koolshare/clash -m -p /tmp/clash.pid -- -d /jffs/.koolshare/
# ports redirect for clash except port 22 for ssh connection
iptables -t nat -A PREROUTING -p tcp --dport 22 -j ACCEPT
#new
iptables -t nat -N CLASH
#Lan related
iptables -t nat -A CLASH -d 192.168.0.0/16 -j RETURN
#redirect to Clash
iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892
iptables -t nat -A PREROUTING -j CLASH
# dnsmasq to clash dns
iptables -t nat -A PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination (你的路由IP):5353
firewall-start
#!/bin/sh
/jffs/scripts/iptable.sh
如遇到端口被占用等问题,修改配置文件与上方iptables里的端口,保持一致即可
最后在路由器后台Tools==>Script中将/jffs/scripts/firewall-start
加入wan自启动即可
clash的控制
yacd控制面板http://yacd.haishan.me/#/
hostname为路由器ip,端口默认为9090,密码为空。
enjoy it :)
本文参考https://github.com/KOP-XIAO/Clash-Merlin/wiki
版权属于:NoColor
转载时须注明出处及本声明
楼主,帮帮忙,dashboard停止维护了,有没有办法?
有吗???不都在GitHub上?没发现停止维护的迹象啊
教程文件的准备工作里的准备config.yaml和下载Country.mmdb,我使用clash windows客户端里订阅和自动生成的文件可以不?我目前根据你教程的步骤都弄好了。订阅的config.yaml将你内容里的部分添加进去后。youtube能打开,但是看不了视频。google打开提示您的连接不是私密连接。。。yacd控制面板里看起来感觉有数据和连接。logs里没有东西,也不知道哪里操作不对了
./clash -d . 语句没有办法执行是为什么 显示illegal instruction
clash的版本要和cpu架构对应
我是R7K 什么都弄好了,就是测试节点也没有问题,但是就是打不开网页
我这里iptables转发后网页打开就变慢了,如果不用转发直接在客户端上配置代理连接到clash上的话就不会,大佬知道是怎么回事吗?