Cloudflare是一家提供全球性云平台服务的公司,帮助您提升网站和应用的性能、安全性和可靠性。Argo Tunnel是Cloudflare提供的免费隧道应用,能够让您在无需公开IP的情况下安全地暴露本地服务器。
本文将介绍如何在Android设备上使用Argo Tunnel。首先,您需要安装Termux,这是一个为Android设备提供Linux环境的应用,允许您在Android设备上运行各种Linux命令和程序。
安装Termux
- 从这里下载安装Termux。
- 打开Termux应用,并输入以下命令来更新软件包。
1
| pkg update && pkg upgrade
|
安装proot Debian
为了获得更完整的Linux环境模拟,您需要安装proot Debian。proot Debian是在Termux中运行的Debian系统,提供更多的Linux软件和功能。
1 2
| pkg install proot-distro proot-distro install debian
|
1
| proot-distro login debian
|
安装cloudflared
在proot Debian环境下,输入以下命令来下载和安装cloudflared。
1 2
| wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb dpkg -i cloudflared-linux-arm64.deb
|
创建Argo Tunnel
- 输入以下命令来认证cloudflared,这会自动打开系统浏览器并需要您登录Cloudflare账号。
1
| cloudflared tunnel login
|
- 输入以下命令来创建一条隧道,记下隧道的UUID,您可以自己指定隧道的名称。
1
| cloudflared tunnel create 隧道名
|
- 在.cloudflared目录下创建config.yml文件并写入以下内容,替换本地服务端口和Tunnel-UUID。
1 2 3
| url: http://localhost:<本地服务端口> tunnel: <Tunnel-UUID> credentials-file: /root/.cloudflared/<Tunnel-UUID>.json
|
路由隧道
- 分配一条将流量指向隧道子域的CNAME记录。hostname为您托管在Cloudflare用于隧道的域名。
1
| cloudflared tunnel route dns <UUID or NAME> <hostname>
|
运行隧道
使用如下命令运行隧道。
1
| cloudflared tunnel run <UUID or NAME>
|
您可以创建多条隧道,并在.cloudflare目录下创建不同的.yml配置文件,使用--config /path/your-config-file.yml
指定配置文件。如果QUIC协议无法在您设备上稳定连接,使用以下命令:
1
| cloudflared tunnel --config /path/your-config-file.yml --no-autoupdate --protocol http2 run <UUID or NAME>
|
使用Argo Token启动隧道
除了上述方法,您还可以使用Argo Token来启动隧道。此方法更加便捷,不用再去安装proot系统,直接在termux内:
- 安装cloudflared
生成Argo Token:
登录Cloudflare账号,前往“Zero Trust Dashboard” - 网络 创建隧道生成Argo Token。
使用生成的Argo Token启动隧道:
1
| cloudflared tunnel --edge-ip-version auto --protocol http2 --heartbeat-interval 10s run --token <您的Argo Token>
|
以上两种方式,都可以让您在Android设备上轻松使用Cloudflare Tunnel。
参考:
Termux PRoot
Cloudflare Tunnel Documentation