设备

你需要一台可以装梅林系统的路由,最简单的就去购买华硕的路由器,当然那种和华硕配件一样的其他路由器也可以配置。

我的路由器是 RT-AX56U,其实不是很推荐,因为没有usb接口且 jffs 分区过小(15M),很多功能都无法完美使用。当然,还是有优点的,WiFi6+ASUS+相对便宜的价格。

刷机

可以去官网下载官改固件,或者社区分析的梅林固件,和原版相比多了一个 ks软件中心 ,可以在线安装软件或者离线安装下载包。

新站地址:https://www.koolcenter.com/ 固件下载:https://fw.koolcenter.com

Clash

安装梯子可能是最重要的事情,下面是傻瓜安装步骤:

  1. 更新 ks软件中心
  2. 准备对于版本的 clash
  3. 准备 config.yaml , Country.mmdb
  4. 安装

可能遇到的问题写在FAQ里面。

如果自己有能力,可以自己导入内核,设置 iptable ,设置透明代理 ,设置开机自启…(如果你闲的无聊,想学习一遍计网和操作系统)。

FAQ

检测到离线安装包含非法关键词

```bash
sed -i 's/\tdetect_package/\t# detect_package/g' /koolshare/scripts/ks_tar_install.sh
```

格式化jffs分区

先尝试

```bash
kill -9 $(pidof skipd)
rm -rf /jffs/.asusrouter /jffs/.koolshare /jffs/.cert /jffs/.sys /jffs/.wtfast /jffs/*
reboot
```

如果不行,则用df -h命令查看查看具体挂载的分区名称,以jffs分区对应的挂载点是/dev/mtdblock9为例,对应的分区就是/dev/mtd9,用以下命令格式化分区:

```bash
flash_erase -j /dev/mtd9 0 0
```

格式化完成后,输入以下命令初始化软件中心:

```bash
jffsinit.sh
cd /koolshare/perp && sh perp.sh start
service restart_skipd
```

重启

```bash
reboot
```

clash RESTful API

`config.yaml` 开启 `external-controller: 0.0.0.0:9090`

浏览器访问 http://clash.razord.top/#/proxies

透明代理

要实现透明代理,按照官方文档必须启用DNS

```yaml
dns:
enable: true
listen: 0.0.0.0:55  # 53被DNSmasq占用了,iptables配置会将53转到55
enhanced-mode: redir-host # 或 fake-ip
nameserver:
    - 1.2.4.8
    - 114.114.114.114
    - 223.5.5.5
    - tls://13800000000.rubyfish.cn:853
fallback: # 与 nameserver 内的服务器列表同时发起请求,当规则符合 GEOIP 在 CN 以外时,fallback 列表内的域名服务器生效。
    - tls://13800000000.rubyfish.cn:853
    - tls://1.0.0.1:853
    - tls://dns.google:853
```

成功启动后接下来就是编写最为关键的 `iptables` 规则

clash-iptables

```bash
# ssh 的22端口
iptables -t nat -A PREROUTING -p tcp --dport 22 -j ACCEPT

# 创建链
iptables -t nat -N Clash

# 保留地址、私有地址、回环地址 不走代理
iptables -t nat -A Clash -d 0.0.0.0/8 -j RETURN
iptables -t nat -A Clash -d 10.0.0.0/8 -j RETURN
iptables -t nat -A Clash -d 127.0.0.0/8 -j RETURN
iptables -t nat -A Clash -d 169.254.0.0/16 -j RETURN
iptables -t nat -A Clash -d 172.16.0.0/12 -j RETURN
iptables -t nat -A Clash -d 192.168.0.0/16 -j RETURN
iptables -t nat -A Clash -d 224.0.0.0/4 -j RETURN
iptables -t nat -A Clash -d 240.0.0.0/4 -j RETURN

# 7892 是clash的redir端口
iptables -t nat -A Clash -p tcp -j REDIRECT --to-ports 7892
iptables -t nat -A PREROUTING -p tcp -j Clash
# 53端口到55
iptables -t nat -A PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.50.1:55
```

安装时出现 can't fork

稍等一下安装,可能processes都被用完了。

Reference