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软件和功能。

  • 输入以下命令来安装proot Debian。
1
2
pkg install proot-distro
proot-distro install debian
  • 输入以下命令来启动proot 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 隧道名
  • 输入如下命令确认隧道已成功创建。
1
cloudflared tunnel list
  • 在.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内:

  1. 安装cloudflared
1
pkg in cloudflared
  1. 生成Argo Token:
    登录Cloudflare账号,前往“Zero Trust Dashboard” - 网络 创建隧道生成Argo Token。

  2. 使用生成的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