红米 AX6 解锁以及 Clash 折腾记录技术
记录 Redmi AX6 科学上网折腾记录,据说 AX6 停产后涨价了。
先讲讲,为什么是 AX6,因为我之前为了实现 WiFi Mesh,所以买了它,这一买就荒废了一年,因为 Mesh 有一些 Bug,导致端口转发不能用,信号也没有什么改善,所以,这个花了不少钱买个东西搁置了一年,期间差一点卖掉了。
再讲一下完成的感受,两个字,真爽。我以前虽然能科学上网,但是多多少少都有一点点麻烦,对于一些古董机器没有路由层面的实现,仍然是不行的。这次完成了之后,我觉得可以打分 90 分,以前的体验只能是 80 分。就像我以前讲的,科学上网是不完美的,因为多多少少会误伤,某些 APP 会异常,所以比较完美的解决方案是,两个路由,一个原始网络,一个科学网络。
其实,整个过程,真的折腾,我从下午开始弄,第二天下午两点完成。整整一天的时间,我每一步都非常谨慎,会认真反复的查看文档,记录过程,并不是求快。另外,我折腾的原因是,我的设备和硬件条件不算好,以至于很多时候我是不断的切换无线网络来管理路由器,这样也埋下了问题,其实效率也是低下的。
我觉得整个的过程,大概分为两个时期,第一个是解锁 SSH 和 Telnet,另一个是安装 Clash。其实 Clash 的命令行程序文件真的迷你,我并没有按照前人的经验来安装管理 UI,发现整个也就大了几兆的空间,核心 Clash 程序几百KB,太完美了,并且能够自动的选择有用的节点。
我主要参考了这个帖子,https://qust.me/post/hong-mi-ax6-jie-suo-ssh-an-zhuang-shi-yong-shellclash-jiao-cheng/,虽然帖子已经过时了,但是很有参考价值。帖子里面有另外一个帖子:https://xn--m80a.ml/#/posts/2。
很重要的一个链接 https://github.com/shell-script/unlock-redmi-ax3000/archive/refs/heads/master.zip 下载这个包,这个包里面有固件,有 wireless.sh,有后面的 SSH hack 固化,唯一没有的就是 Clash,所以第二个重要链接是:https://github.com/juewuy/ShellClash/archive/refs/tags/1.6.3.tar.gz,下载这个包后,使用 tar 解压,将它里面的 ShellClash-1.6.3/bin/clashfm.tar.gz 下载下来,准备这么多东西,就够了。
解锁 AX6 SSH 的方法,如网上所说的,一定要有一个 OpenWrt 路由器。当然这个 OpenWrt 是用来折腾的,最后的 Wireless.sh 脚本会修改它,所以这个 OpenWrt 一定不能用现有的,一定得临时弄一个,大不了折腾坏了不要紧的那种。
而我,不喜欢虚拟机,我也不喜欢在现有的电脑上装太多软件,于是我选择使用 U 盘做一个 OpenWrt 路由器,临时用一用。其实我在上面列举的那两个重要的链接,是不够的,这里还需要一个,就是 OpenWrt 的固件链接。至于为什么没有将 OpenWrt 固件链接放在上面,是因为后面的折腾,让我忘记前面其实也挺痛苦的。
我现在写博客,已经不太喜欢放图片了,但是,这篇文章,我还是要放一放。
我们到了 OpenWrt 的固件下载页面 https://downloads.openwrt.org/releases/。我选择了 22.03.2 最新版,进去,里面有 packages 和 targets,我们进入 targets,因为用电脑安装,我选择了 x86/,进入,再进入 64 文件夹,然后出现了下面的文件列表。
Index of (root) / releases / 22.03.2 / targets / x86 / 64 / Image Files These are the image files for the x86/64 target. Check that the sha256sum of the file you downloaded matches the sha256sum below. Shortened image file names below have the same prefix: openwrt-22.03.2-x86-64-... Image for your Device sha256sum File Size Date generic-ext4-combined-efi.img.gz e94da64bf897e005447fffcb8bf3e7700c5169e00ada7d1571dacd0382ecd710 11757.5 KB Sun Oct 16 01:16:26 2022 generic-ext4-combined.img.gz d5c93fe92ab722d12942d864ad33bd2f428f61f16734e64eb778b401e8ad3a62 11576.0 KB Sun Oct 16 01:16:25 2022 generic-ext4-rootfs.img.gz e8d170956597ce8a5887d943887743c71da735dc8bad08c3ad90e2ec6b2595b6 6081.5 KB Sun Oct 16 01:16:24 2022 generic-kernel.bin 4e20c48acf9a12bd730bc907daa5386a1463c7565a6598e50670ff051bef7ac6 5110.2 KB Sun Oct 16 01:15:40 2022 generic-squashfs-combined-efi.img.gz a9e53fa5b60ce0e4d8ccd6ab93cfe59a41c91fae830d73dedd1e742f9163774c 10507.9 KB Sun Oct 16 01:16:30 2022 generic-squashfs-combined.img.gz 3b0b4b34ebbfedb2eedd22747727362d54d0de8ec110f1bf6da40338106915af 10329.6 KB Sun Oct 16 01:16:30 2022 generic-squashfs-rootfs.img.gz 80201052b7da7dff3ba1709cd39faef01ef6cb34b4226de71c4e6c775304dbb9 4830.7 KB Sun Oct 16 01:16:28 2022 rootfs.tar.gz 5dbc55591fd554e6075a9bf4cfb4ba4780720568a37327add1f4963794f713d2 4542.2 KB Sun Oct 16 01:15:45 2022 Supplementary Files These are supplementary resources for the x86/64 target. They include build tools, the imagebuilder, sha256sum, GPG signature file, and other useful files. Filename sha256sum File Size Date kmods/ - - Sun Oct 16 01:22:44 2022 packages/ - - Sun Oct 16 01:22:43 2022 config.buildinfo 086152f302c6ffefe8a496f232c845f189669275e2f4506fd5bfa4745f1c000c 2.2 KB Sun Oct 16 01:20:48 2022 feeds.buildinfo 86136a4aa1d80d9cfc927b30227cf447dfa36ba46ab6eaecdc9fa6d65d64edb9 0.3 KB Sun Oct 16 01:20:48 2022 kernel-debug.tar.zst 3ee7da134802a58453c089ac1165e6ad967387299c325e957fbe1c46f17d7f07 94014.8 KB Sun Oct 16 01:15:39 2022 llvm-bpf-13.0.0.Linux-x86_64.tar.xz 921c650aff08b40cd86c019a83dd7d0ceb72aea32d00333aab10cce20d38fe3b 37509.0 KB Sun Oct 16 01:16:24 2022 openwrt-22.03.2-x86-64.manifest 7b70795a8ccd98b8a46475ed906e1e917a281318c8a18172dfa76f3b5cacadea 3.9 KB Sun Oct 16 01:16:30 2022 openwrt-imagebuilder-22.03.2-x86-64.Linux-x86_64.tar.xz 077b94838df372c5758f6879a4b5e41bb77b4ea37f5114040c92d72ab7c3e0fb 40216.1 KB Sun Oct 16 01:18:01 2022 openwrt-sdk-22.03.2-x86-64_gcc-11.2.0_musl.Linux-x86_64.tar.xz d5718b743004f6b16996c439f35833c89e1a38b056c599b2917f22b24dc467f8 162757.7 KB Sun Oct 16 01:20:18 2022 openwrt-toolchain-22.03.2-x86-64_gcc-11.2.0_musl.Linux-x86_64.tar.xz 832362d33e7e3c60b1be8ee7c77e6200773d455f6ca06160144c9fe68145842f 48786.4 KB Sun Oct 16 01:16:19 2022 profiles.json 4f545534f7e89aa184cf3b7b57d3a6ca287eab99ccc4d7547da46af46125e1f4 2.4 KB Sun Oct 16 01:21:07 2022 sha256sums - 114.8 KB Sun Oct 16 01:21:31 2022 sha256sums.asc - 0.9 KB Sun Oct 16 01:22:43 2022 sha256sums.sig - 0.1 KB Sun Oct 16 01:22:43 2022 version.buildinfo 24d8d7439fd90d8cf7edebf0c45a9f652100c21e73a15aed8dfbaee44e4e15f9 0.0 KB Sun Oct 16 01:20:48 2022
暂且不说上面的文件夹很深,很多人根本不知道进入哪个。现在找到了目的地,我请问你,你说下载哪一个?反正我是不知道,我折腾了好久,终于下载对了。
正确的是选择第一个 generic-ext4-combined-efi.img.gz,下载后的文件名是:openwrt-22.03.2-x86-64-generic-ext4-combined-efi.img.gz。我其实没有直接将这个 dd 到 U 盘,我是解压之后再写入 U 盘的,测试可以正常的使用。不知道不解压行不行?
再说说我的情况,我是用 U盘 插在电脑上启动,用一根网线插在路由器的 LAN 口,另一口连接电脑的网口,这里好像必须要借助路由器,因为我是用无线管理的,手机啊,或者另外一台电脑都行,你如果 OpenWrt 本身就是路由器的话,那可能会方便很多。下面展示一下我遇到的错误:
{"msg":"wifi connect faild!","code":1655} {"msg":"对端路由器不支持此功能","code":1646} {"code":401,"msg":"Invalid token"} {"msg":"connect succces!","code":0} {"token":"; nvram set ssh_en=1; nvram set uart_en=1; nvram set boot_wait=on; nvram commit; uci set wireless.@wifi-iface[0].key=`mkxqimage -I`; uci commit; sed -i 's/channel=.*/channel=\u0022debug\u0022/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;","code":0}
你们看看我的错误,就知道我有多折腾。
下面文字讲解步骤,U盘系统启动后,连接好路由器,真正的 OpenWrt 完成,如下图所示:
其实官方的固件,没有科学上网功能,只不过是一个更加专业的路由器。
我们准备好了 OpenWrt,接下来就是登录 AX6 管理界面,上传前面下载好的固件 miwifi_ra69_firmware_45a77_1.0.18.bin。这个固件一定要传输到可以管理 AX6 的那台机器上,可以是手机,也可以是电脑,然后就是降级固件,这个没什么好讲的,无非就是花时间,需要重启。降级了固件之后,我们需要登录到 OpenWrt 路由器,因为我是电脑安装,可以直接在命令行处理。至于怎么将 Wireless.sh 文件传输到 OpenWrt,我觉得很多办法,我现在都有点忘记了,我好像是拿 U 盘直接拷贝过去了的,在终端执行 sh /root/wireless.sh。现在 OpenWrt 这边完成了。我遇到了一些问题,我的 OpenWrt 执行完成 wireless 文件后并没有改变 SSID 和 密码,我是手动改的,大家注意了,这才有我上面遇到的报错。wireless 执行过程:
root@OpenWrt:~# sh /tmp/wireless.sh [Warning] Please make sure your router has wireless support! [Warning] Please make sure your router is restored to factory settings (not configured)! [Warning] Please make sure you've backed up the network and wireless settings! [Warning] Please make sure you've connected the router via *wired ethernet*! [Warning] Running this script will change your *network* settings! Use Ctrl+C to exit or press enter key to continue... [Info] Adding xqsystem controller... [Info] Changing network settings... + uci set 'dhcp.lan.ignore=1' + uci set 'network.lan.ipaddr=169.254.31.1' + uci set 'wireless.@wifi-iface[0].ssid=MEDIATEK-ARM-IS-GREAT' uci: Entry not found + uci set 'wireless.@wifi-iface[0].encryption=psk2' uci: Entry not found + uci set 'wireless.@wifi-iface[0].key=ARE-YOU-OK' uci: Entry not found + uci set 'wireless.@wifi-iface[0].mode=ap' uci: Entry not found + uci set 'wireless.@wifi-iface[0].network=LAN lan' uci: Entry not found + uci -q commit + set +x [Success] All settings are applied. [Info] Please now disconnect from this router, and connect to your Xiaomi/Redmi router. [Info] For Xiaomi AX6000/AX9000: Open your browser, access the following URL: http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqsystem/extendwifi_connect_inited_router?ssid=MEDIATEK-ARM-IS-GREAT&password=ARE-YOU-OK&admin_username=root&admin_password=admin&admin_nonce=xxx [Info] For Redmi AX6 AX3000: Open your browser, access the following URL: http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/extendwifi_connect?ssid=MEDIATEK-ARM-IS-GREAT&password=ARE-YOU-OK If the return code is 0, then access this URL: http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqsystem/oneclick_get_remote_token?username=xxx&password=xxx&nonce=xxx [Info] If the return code is 0, now you can connect to your router via SSH. [Info] SSH login password is 5GHz wireless connection password. [Success] Thanks for usage. Staff: yyjdelete, Robert Marko, Tianling Shen [Warning] Restarting network...
接下来登录 AX6,每次登录后的 stok 值都不一样,按照最后一次的来。接下来两次请求:
http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/extendwifi_connect?ssid=MEDIATEK-ARM-IS-GREAT&password=ARE-YOU-OK
我是直接手动将 OpenWrt 的路由器名字和密码改成了上面的 MEDIATEK-ARM-IS-GREAT 和 ARE-YOU-OK。至于为什么会这样,可能是因为我是电脑外接路由器,这个脚本没有那么厉害。当然它可能还做了一些其他的事情。
http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqsystem/oneclick_get_remote_token?username=xxx&password=xxx&nonce=xxx
将 STOK 以及尖括号修改为正确的值后,依次请求。不出意外,两次都是 code: 0,这样 SSH 会被打开。刷新 AX6 路由器首页,点击查看 WiFi 密码那里看到的就是 SSH 的密码,网上也有完成了这一步之后再通过 SN 和一个在线的服务网站实现获取 SSH 密码的,这个我不是很清楚怎么回事,可能前面的步骤不同导致他们需要一个在线网站和 SN 来计算。
接下来,我们可以 SSH root@AX6 来登录。类似如下:
lindeMBP:Downloads lin$ ssh [email protected] The authenticity of host '192.168.30.1 (192.168.30.1)' can't be established. RSA key fingerprint is SHA256:1OtFFLWivCqc40xh96DoxLT9tt5VkUwERil2hkbuIdk. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.30.1' (RSA) to the list of known hosts. [email protected]'s password: BusyBox v1.25.1 (2021-07-08 08:49:39 UTC) built-in shell (ash) ----------------------------------------------------- Welcome to XiaoQiang! ----------------------------------------------------- $$$$$$\ $$$$$$$\ $$$$$$$$\ $$\ $$\ $$$$$$\ $$\ $$\ $$ __$$\ $$ __$$\ $$ _____| $$ | $$ | $$ __$$\ $$ | $$ | $$ / $$ |$$ | $$ |$$ | $$ | $$ | $$ / $$ |$$ |$$ / $$$$$$$$ |$$$$$$$ |$$$$$\ $$ | $$ | $$ | $$ |$$$$$ / $$ __$$ |$$ __$$< $$ __| $$ | $$ | $$ | $$ |$$ $$< $$ | $$ |$$ | $$ |$$ | $$ | $$ | $$ | $$ |$$ |\$$\ $$ | $$ |$$ | $$ |$$$$$$$$\ $$$$$$$$$ | $$$$$$ |$$ | \$$\ \__| \__|\__| \__|\________| \_________/ \______/ \__| \__| root@XiaoQiang:~# root@XiaoQiang:~# root@XiaoQiang:~# df -h Filesystem Size Used Available Use% Mounted on mtd:ubi_rootfs 23.0M 23.0M 0 100% / tmpfs 196.5M 744.0K 195.8M 0% /tmp ubi1_0 23.1M 2.3M 19.6M 11% /data ubi1_0 23.1M 2.3M 19.6M 11% /userdisk mtd:ubi_rootfs 23.0M 23.0M 0 100% /userdisk/data ubi1_0 23.1M 2.3M 19.6M 11% /etc ubi1_0 23.1M 2.3M 19.6M 11% /ini tmpfs 512.0K 28.0K 484.0K 5% /dev mtd:ubi_rootfs 23.0M 23.0M 0 100% /userdisk/appdata/chroot_file/lib mtd:ubi_rootfs 23.0M 23.0M 0 100% /userdisk/appdata/chroot_file/usr/lib root@XiaoQiang:~# free -m total used free shared buffers cached Mem: 402472 270444 132028 796 16384 60064 -/+ buffers/cache: 193996 208476 Swap: 0 0 0 root@XiaoQiang:~# free total used free shared buffers cached Mem: 402472 270336 132136 796 16384 60068 -/+ buffers/cache: 193884 208588 Swap: 0 0 0
后面是备份步骤:
mkdir /tmp/syslogbackup/ dd if=/dev/mtd9 of=/tmp/syslogbackup/mtd9
接下来 SSH hack 固化:
scp ax3000.sh [email protected]:/etc/ax3000.sh scp fuckax3000 [email protected]:/etc/fuckax3000 sh /etc/ax3000.sh unlock sh /etc/ax3000.sh hack
我在执行 unlock 命令之后,路由器完全失联了,没有了 WiFi,急忙之下,以为变砖了,还重置了几次,结果还没有 WiFi,如果是使用有线就没有这个问题了。我现在想到了一点,如果将两个命令连在一起执行不知道行不行?
最后在通过网线的情况下,使用 telnet 登录了。然后执行 hack ,WiFi 回来了。我在网上找到了和我一样的经历的帖子:https://www.right.com.cn/forum/thread-4684135-1-1.html。
然后,就是 AX6 升级,升级,升级,当然你也可以不升级。升级之后 SSH 自然又不行了,但是 Telnet 还在。看看路由器默认开了多少端口:
➜ ~ telnet 192.168.31.1 Trying 192.168.31.1... Connected to 192.168.31.1. Escape character is '^]'. BusyBox v1.25.1 (2020-08-19 02:55:57 UTC) built-in shell (ash) ----------------------------------------------------- Welcome to XiaoQiang! ----------------------------------------------------- $$$$$$\ $$$$$$$\ $$$$$$$$\ $$\ $$\ $$$$$$\ $$\ $$\ $$ __$$\ $$ __$$\ $$ _____| $$ | $$ | $$ __$$\ $$ | $$ | $$ / $$ |$$ | $$ |$$ | $$ | $$ | $$ / $$ |$$ |$$ / $$$$$$$$ |$$$$$$$ |$$$$$\ $$ | $$ | $$ | $$ |$$$$$ / $$ __$$ |$$ __$$< $$ __| $$ | $$ | $$ | $$ |$$ $$< $$ | $$ |$$ | $$ |$$ | $$ | $$ | $$ | $$ |$$ |\$$\ $$ | $$ |$$ | $$ |$$$$$$$$\ $$$$$$$$$ | $$$$$$ |$$ | \$$\ \__| \__|\__| \__|\________| \_________/ \______/ \__| \__| root@XiaoQiang:/# root@XiaoQiang:/# netstat -ntl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State in out tcp 0 0 0.0.0.0:8098 0.0.0.0:* LISTEN 0 0 tcp 0 0 0.0.0.0:8999 0.0.0.0:* LISTEN 0 0 tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 0 0 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 0 0 tcp 0 0 0.0.0.0:784 0.0.0.0:* LISTEN 0 0 tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 0 0 tcp 0 0 192.168.31.1:53 0.0.0.0:* LISTEN 0 0 tcp 0 0 127.0.0.1:8920 0.0.0.0:* LISTEN 0 0 tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 0 0 tcp 0 0 ::1:53 :::* LISTEN 0 0 tcp 0 0 :::23 :::* LISTEN 0 0 root@XiaoQiang:/# root@XiaoQiang:/# root@XiaoQiang:/# ls /etc TZ dnsmasq.d inittab openwrt_release rc.local sysstat ath dropbear intercept_wlist openwrt_version remove.conf sysupgrade.conf banner e2fsck.conf iproute2 opkg resolv.conf traffic.d banner.failsafe easy-rsa iptv opkg.conf security uci-defaults board.d ethers iwevent.d os-release services udhcpc.user board.json filesystems lbd.config-mesh parentalctl shadow user_password.txt clear.sh firewall.d lbd.config-router passwd shadow- wireless.ftm config firewall.user localtime passwd- shells with_os_1 crontabs fstab modules-boot.d ppp smartvpn xattr.conf custom_hosts group modules.d preinit ssl xl2tpd datacenterconfig hosts mosquitto profile statisticsservice xqDb ddns hotplug-preinit.json mtab protocols sysctl.conf device_info hotplug.d nginx rc.button sysctl.d diag.sh hotplug.json odhcp6c.user rc.common syslog-ng.conf dnsmasq.conf init.d openvpn rc.d syslog-ng.d root@XiaoQiang:/# ls /etc/ax3000* ls: /etc/ax3000*: No such file or directory root@XiaoQiang:/# ls /etc/ax* ls: /etc/ax*: No such file or directory root@XiaoQiang:/# wget http://192.168.31.14:8888/ax3000.sh Connecting to 192.168.31.14:8888 (192.168.31.14:8888) wget: can't open 'ax3000.sh': Read-only file system root@XiaoQiang:/# pwd / root@XiaoQiang:/# ls bin data etc lib mnt proc rom sbin tmp usr www cfg dev ini lib64 overlay readonly root sys userdisk var root@XiaoQiang:/# cd /etc root@XiaoQiang:/etc# ls -alrt ax* ls: ax*: No such file or directory root@XiaoQiang:/etc# wget http://192.168.31.14:8888/ax3000.sh Connecting to 192.168.31.14:8888 (192.168.31.14:8888) ax3000.sh 100% |******************************************************************************************************| 2944 0:00:00 ETA root@XiaoQiang:/etc# wget http://192.168.31.14:8888/fuckax3000 Connecting to 192.168.31.14:8888 (192.168.31.14:8888) fuckax3000 100% |******************************************************************************************************| 71240 0:00:00 ETA root@XiaoQiang:/etc# ls -alrt ax3000.sh -rw-r--r-- 1 root root 2944 Aug 19 11:25 ax3000.sh root@XiaoQiang:/etc# ls -alrt fuckax3000 -rw-r--r-- 1 root root 71240 Aug 19 11:25 fuckax3000 root@XiaoQiang:/etc# root@XiaoQiang:/etc# sh /etc/ax3000.sh hack get ssh_en=0 telnet_en=0 uart_en=0 set ssh_en=1 telnet_en=1 uart_en=1 set ssh default usesrname:root password:2e2f3e19 mtd locked [Success] Now you've got permanent Telnet/SSH access.
替换配置文件,找回 SSH,如下:
sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear /etc/init.d/dropbear start
替换之前可以备份一下,其实就是将一行的判断内容替换成了 debug,其实替换成其他都可以,这样让 if 不能执行,以至于开启 SSH。
到此,SSH 完成。
后面开始 Clash,其实整个教程需要一个人懂一点技术知识,比如你不知道如何在你的情况下将文件传输给另外一个系统,你复制文件发现不能写入,等等这样的问题,还是得自己解决的。
其实 Clash 需要的很少,github 地址我已经给了,我刚开始直接将整个包给了脚本,发现存储不够,后来只给了里面的小包 clashfm.tar.gz,教程中的脚本已经不行了,所以,需要修改下脚本内容。
原来的脚步命令如下:
sh -c "$(curl -kfsSl https://cdn.jsdelivr.net/gh/juewuy/ShellClash@master/install.sh)" && source /etc/profile &> /dev/null
我们下载中间的 install.sh 后,做一些修改,然后:
sh install.sh && source /etc/profile &> /dev/null
修改的内容如下:
tarurl="http://192.168.30.217:9999/clashfm.tar.gz"
将 tarurl 改为自定义的一个 http 服务,如果有能力直接让程序读取这个文件也可以的,我懒得再折腾,就直接创建了一个 http 服务。
整个安装过程有点和前人的帖子不同,不能安装正式版,然后我没有安装 UI,因为 UI 也是下载不了包,我懒得折腾,直接不装 UI 了。
root@XiaoQiang:~# sh /tmp/install.sh && source /etc/profile &> /dev/null *********************************************** ** 欢迎使用 ** ** ShellClash ** ** by Juewuy ** *********************************************** ----------------------------------------------- 请选择想要安装的版本: 1 Shellclash正式版 2 Shellclash测试版 ----------------------------------------------- 请输入相应数字 > 1 无法切换版本,尝试安装测试版! 最新版本: ----------------------------------------------- 如遇问题请加TG群反馈: t.me/ShellClash 支持各种基于openwrt的路由器设备 支持Debian、Centos等标准Linux系统 ----------------------------------------------- 检测到当前设备为小米官方系统,请选择安装位置 1 安装到/data目录(推荐,支持软固化功能) 2 安装到USB设备(支持软固化功能) 3 安装到/etc目录(不推荐) 0 退出安装 ----------------------------------------------- 请输入相应数字 > 1 目标目录/data空间剩余:19.2M 确认安装?(1/0) > 1 ----------------------------------------------- 开始从服务器获取安装文件! ----------------------------------------------- https://raw.githubusercontents.com/juewuy/ShellClash/bin/clashfm.tar.gz ################################################################################################################################################################################ 100.0% ----------------------------------------------- 开始解压文件! clash.service clash.sh clashservice getdate.sh misnap_init.sh start.sh ----------------------------------------------- ShellClash 已经安装成功! ----------------------------------------------- 输入 clash 命令即可管理!!! -----------------------------------------------
root@XiaoQiang:~# clash ----------------------------------------------- 欢迎使用ShellClash! 版本: Clash服务没有运行(纯净模式),未设置开机启动! TG频道:https://t.me/ShellClash ----------------------------------------------- ----------------------------------------------- 欢迎使用ShellClash新手引导! ----------------------------------------------- 请先选择你的使用环境: (你之后依然可以在设置中更改各种配置) ----------------------------------------------- 1 路由设备配置局域网透明代理 2 Linux设备仅配置本机代理 ----------------------------------------------- 请输入对应数字 > 1 ----------------------------------------------- 是否需要代理UDP流量(主要用于连接外服游戏)? ----------------------------------------------- 1 不代理UDP流量(推荐) 2 使用Tun虚拟网卡代理UDP流量 ----------------------------------------------- 请输入对应数字 > 1 ----------------------------------------------- 安装本地Dashboard面板,可以更快捷的管理clash内置规则! ----------------------------------------------- 需要安装本地Dashboard面板吗?(1/0) > 1 检查更新失败!请检查网络连接或切换安装源! ----------------------------------------------- 安装本地版dashboard管理面板 打开管理面板的速度更快且更稳定 ----------------------------------------------- 请选择面板安装类型: ----------------------------------------------- 1 安装官方面板(约500kb) 2 安装Meta面板(约800kb) 3 安装Yacd面板(约1.1mb) 4 安装Yacd-Meta魔改面板(约1.5mb) 5 卸载本地面板 0 返回上级菜单 请输入对应数字 > 3 ----------------------------------------------- 请选择面板安装目录: ----------------------------------------------- 1 在/data/clash/ui目录安装 2 在/www/clash目录安装 ----------------------------------------------- 0 返回上级菜单 请输入对应数字 > 1 ----------------------------------------------- 正在连接服务器获取安装文件………… ################################################################################################################################################################################ 100.0% ----------------------------------------------- 文件下载失败! ----------------------------------------------- ----------------------------------------------- 安装本地版dashboard管理面板 打开管理面板的速度更快且更稳定 ----------------------------------------------- 请选择面板安装类型: ----------------------------------------------- 1 安装官方面板(约500kb) 2 安装Meta面板(约800kb) 3 安装Yacd面板(约1.1mb) 4 安装Yacd-Meta魔改面板(约1.5mb) 5 卸载本地面板 0 返回上级菜单 请输入对应数字 > 0 ----------------------------------------------- 请输入正确的数字! ----------------------------------------------- 是否导入配置文件?(这是运行前的最后一步) 你必须拥有一份yaml格式的配置文件才能运行clash服务! ----------------------------------------------- 现在开始导入?(1/0) > 1 ----------------------------------------------- 欢迎使用导入配置文件功能! ----------------------------------------------- 1 在线生成Clash配置文件 2 导入Clash配置文件链接 3 还原配置文件 4 更新配置文件 5 设置自动更新 ----------------------------------------------- 请输入对应数字 > 1 ----------------------------------------------- 欢迎使用在线生成配置文件功能! ----------------------------------------------- ----------------------------------------------- 本功能依赖第三方在线subconverter服务实现,脚本本身不提供任何代理服务! 严禁使用本脚本从事任何非法活动,否则一切后果请自负! ----------------------------------------------- 支持批量(<=99)导入订阅链接、分享链接 ----------------------------------------------- 1 开始生成配置文件(原文件将被备份) 2 设置节点过滤关键字 3 设置节点筛选关键字 4 选取在线配置规则模版 5 选取在线生成服务器 0 撤销输入并返回上级菜单 ----------------------------------------------- 请直接输入第1个链接或对应数字选项 > https://t.com&_t=clash ----------------------------------------------- 本功能依赖第三方在线subconverter服务实现,脚本本身不提供任何代理服务! 严禁使用本脚本从事任何非法活动,否则一切后果请自负! ----------------------------------------------- 支持批量(<=99)导入订阅链接、分享链接 ----------------------------------------------- 1 开始生成配置文件(原文件将被备份) 2 设置节点过滤关键字 3 设置节点筛选关键字 4 选取在线配置规则模版 5 选取在线生成服务器 0 撤销输入并返回上级菜单 ----------------------------------------------- 请直接输入第2个链接或对应数字选项 > 1 ----------------------------------------------- 正在连接服务器获取配置文件…………链接地址为: https://api.dler.io/sub?target=clash&insert=true&new_name=true&scv=true&udp=true&exclude=&include=&url=https://t.com&_t=clash&config=https://github.com/juewuy/ShellClash/raw/master/rules/ShellClash.ini 可以手动复制该链接到浏览器打开并查看数据是否正常! 已成功获取配置文件! ----------------------------------------------- 很好!现在只需要执行启动就可以愉快的使用了! ----------------------------------------------- 立即启动clash服务?(1/0) > 1 ----------------------------------------------- 未找到clash核心,正在下载! 未找到GeoIP数据库,正在下载! clash服务已启动! 请使用 http://192.168.30.1:9999/ui 管理内置规则 ----------------------------------------------- 其他设备可以使用PAC配置连接:http://192.168.30.1:9999/ui/pac 或者使用HTTP/SOCK5方式连接:IP{192.168.30.1}端口{7890} ----------------------------------------------- 欢迎使用ShellClash! 版本: Clash服务正在运行(Redir模式),未设置开机启动! 当前内存占用:15448 kB,已运行:00小时00分03秒 TG频道:https://t.me/ShellClash ----------------------------------------------- 1 启动/重启clash服务 2 clash功能设置 3 停止clash服务 4 允许clash开机启动 5 设置定时任务 6 导入配置文件 7 clash进阶设置 8 其他工具 9 更新/卸载 ----------------------------------------------- 0 退出脚本 请输入对应数字 > 4 ----------------------------------------------- 已设置Clash开机启动! ----------------------------------------------- 欢迎使用ShellClash! 版本: Clash服务正在运行(Redir模式),已设置开机启动! 当前内存占用:15448 kB,已运行:00小时00分38秒 TG频道:https://t.me/ShellClash ----------------------------------------------- 1 启动/重启clash服务 2 clash功能设置 3 停止clash服务 4 禁用clash开机启动 5 设置定时任务 6 导入配置文件 7 clash进阶设置 8 其他工具 9 更新/卸载 ----------------------------------------------- 0 退出脚本 请输入对应数字 > ----------------------------------------------- 请输入正确的数字! root@XiaoQiang:~#
整个的操作过程完成,实际过程中比较折腾,但是不管怎么样,只要 SSH 被解锁,clash 出问题,可以再次安装,安装完成后相比先前占用了大概 3M 空间。后面的心得就是,原来路由解锁这么爽!