-
Notifications
You must be signed in to change notification settings - Fork 47
Home
Welcome to the Clash-Merlin wiki!
更新说明:
2019-05-20:增加 fake-ip 部分
教程分三部分:
I. Clash的安装;
II. 透明代理的设置;
III. Clash的控制
完成第1步之后,已经可以通过在设备上设置 http/socks 代理来实现扶墙;
完成第2步后,实现透明代理,无需在设备上做任何操作;
第3步,只是提供两个方法方便的去操作调整Clash策略组
虽然接下来废话很多,但总结下来,基本上就是:
把文件准备好-> 放入合适路径->给运行权限,然后重启路由看效果吧
ps. 觉得写的不清楚不精彩的部分,可以参见另外教程(http://bit.ly/2HQfzbh)
1.1 Clash固件 --- https://github.com/Dreamacro/clash/releases
下载适合你机器的armv版本clash固件,下载完 解压缩 后建议直接改名clash,简化后续操作。。
可以用命令行
uname -a
查看合适的固件版本,但不是很准的样子(68U是 armv5)
机场提供,或自己填写,参考:
懒人规则: https://github.com/Hackl0us/SS-Rule-Snippet/blob/master/LAZY_RULES/clash.yml
神机规则:https://raw.githubusercontent.com/ConnersHua/Profiles/master/Clash/Pro.yaml
!!!请确保配置文件无任何问题,并命名config.yaml
做透明代理的话,dns部分 & redir-port & enhance-mode:redir-host/fake-ip 一定要写上。
两种模式:(redir-host 或者 fake-ip)
enhance-mode: fake-ip
关于 fake-ip 的介绍,可以参照Fndroid 大的说明 (http://t.cn/E9yTnM7)
其余操作一样
ip数据库,clash启动时会自动下载安装,但建议提前自备并上传。
链接:http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz
解压并改名 Country.mmdb
- 建议上传到**/jffs/.koolshare/** 路径下;
- 运行权限(Putty 或 terminal 连接上路由,命令行输入):
chmod +x clash
(!!!!如果想直接透明代理的,可以忽略步骤 2.2 & 2.3,直接进入第 II 部分!!!)
ssh工具:win上Putty/Xshell,Mac上如termius 等,
- 可以先尝试
./clash -d .
确认是否能正常启动clash
正常情况下,能看到clash的启动log(前提是配置文件中log-level不是silent),
但关闭ssh工具之后,此进程也会自动关闭,所以请用下面的命令行
- 启动
./clash -d . &
或者nohup ./clash -d .
此时即使关闭ssh工具,clash仍旧能在后台运行
至此,你已经可以在设备的Wi-Fi设置上,通过手动填写http代理,或者: 通过app的socks代理设置,实现扶墙
建立 clash.sh 文件, 写入(如有变动,路径改成自己的):
start-stop-daemon -S -b -x /jffs/.koolshare/clash -m -p /tmp/clash.pid -- -d /jffs/.koolshare/
放入 /jffs/scripts 目录下, 登陆路由器梅林后台:tools/scripts, 将脚本路径加入自启动项目(WAN):/jffs/scripts/clash.sh
至此,已经实现了clash的路由开机自启动,如需关闭clash进程,
start-stop-daemon -K -p /tmp/clash.pid
懒得写了,看图片吧。
按需复制粘贴,或者直接下载
iptable.sh: https://github.com/KOP-XIAO/Clash-Merlin/blob/master/clash-iptable.sh
firewall-start: https://github.com/KOP-XIAO/Clash-Merlin/blob/master/firewall-start
#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 8887
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 192.168.50.1:55
#!/bin/sh
/jffs/scripts/clash-iptable.sh
运行权限(ssh 工具内输入):
chmod +x /jffs/scripts/clash-iptable.sh
chmod +x /jffs/scripts/firewall-start
然后, 梅林后台里把 firewall-start 加入自启动(WAN), 之前clash单独的自启动可以丢了。
选择1,Clash官方Dashboard: http://clash.razord.top/#/proxies
选择2,Fndroid 大大的jsbox脚本:https://jsboxbbs.com/d/646-clash
仅限iOS&购买了jsbox软件的用户
操作过程一样,填入路由ip,以及配置文件(第一步中的config.yml)里external controller端口:默认6170
自此,你就可以方便愉快地在此控制Clash地策略组,以及查看log啦
其它参考教程:
Fndroid视频: https://www.youtube.com/watch?v=HnnYl3DFOn0
Raspberry Pi:https://github.com/nkions/clash_raspberrypi
Birkhoff的OpenWrt:https://blog.birkhoff.me/Running-Clash-on-OpenWrt-as-a-transparent-proxy/