在刷了OpenWrt的迅雷赚钱宝一代(WS1408)上部署Cloudflare Tunnel
前言
手上的迅雷赚钱宝一代(ws1408)刷了openwrt,然后装了samba4、qbit、wol、filebrowser、ttyd、minidlna,除了这些以总想着还能在这个电子垃圾上挖掘出什么功能,最后想到它作为一个24小时开机的下载机,再弄个cloudflared给我的cloudflare tunnle做冗余connector是个不错的主意。
之前的博客里提到过,cloudflare tunnel的官方文档里就写了,想要提高一个tunnel的稳定性,有花钱的方案也有免费的方案,免费的方案就是自己多弄几个机器装cloudflared来作为tunnel的connector,这样哪怕其中一个connector崩了,还有其它几个connector备份可用。
我实测一个tunnel配置两个connector(cloudflared)就再没见过degrade
或者down
的标识了。但这玩意多多益善,3个总是比2个稳定,那就开始吧~
安装
第一步:下载
openwrt说到底还是魔改的linux,所以找到合适版本的cloudflared就行了。
实测clouflare官方提供的二进制包就可以直接使用,项目地址:【cloudflare/cloudflared】
ws1408用的芯片是大家的老朋友amlogic s805,我们都很熟悉它是armv7l/armhf的架构。
可以选择复制下载链接,然后ssh连上openwrt,再用wget下载。也可以直接下载到本地,然后通过winscp或者其它方法上传到机器。
我在机器上插了一张sd卡挂载到/mnt/sdcard
作为软件安装目录,因为ws1408自带存储只有72MB太金贵啦。
# 进入目录
cd /mnt/sdcard/cloudflared
# 下载
wget -O cloudflared https://github.com/cloudflare/cloudflared/releases/download/2024.4.1/cloudflared-linux-armhf
# 添加可执行权限
chmod +x cloudflared
第二部:安装
软件下载完以后,首先需要登录cloudflare官网,进入tunnel配置页面,找到自己的tunnel,在configure页面的overview标签页,找到自己的这个tunnel的token。
打码的就是token了,复制以后先放一边备用。
然后依然是ssh连上openwrt,开始安装
# 进目录
cd /mnt/sdcard/cloudflared
# 安装服务
./cloudflared service install [token]
执行install
命令以后,终端会有一些信息输出,提示在环境变量$PATH中找不到可执行文件。
这里可以先不管它,我们手动启动。
# 进入init.d目录
cd /etc/init.d
确定目录下有cloudflared的服务配置文件。
然后启动cloudflared
service cloudflared start
然后用htop
确认cloudflared是否启动
到这里就完成在openwrt上安装cloudflare tunnel的connector惹。
🎉
一些已知问题
我的ws1408装的opwnwrt版本是21.02.7,内核是3.10.33。
按照上文的方法安装好cloudflared以后,可以启动,但是没法把它添加到开机自启。执行service cloudflared enable
会提示不支持enable
命令。
在openwrt的后台——启动项中显示cloudflared的启动项是禁用
,点击启用,会提示启用失败。
如果你熟悉init.d的启动脚本语法,可以试试调整/etc/init.d/cloudflared
能否解决这个bug。
我用了另外的办法解决,那就是在本地启动脚本里手动添加一条命令。
service cloudflared start
😂