Cloudflare是一个提供全球性的云平台服务的公司,它可以帮助您提高您的网站和应用的性能、安全性和可靠性。Argo Tunnel是Cloudflare免费提供的隧道应用,它可以让您轻松地将您的本地服务安全地公开到Internet,而无需打开防火墙端口和配置ACL。借助Argo Tunnel,您可以将本地的HTTP Web服务器、SSH服务器、远程桌面和其他协议通过Cloudflare的网络暴露给外界,从而享受Cloudflare的各种优势,如加速、缓存、防护、分析等。

要在Android设备上使用Argo Tunnel,您需要先安装Termux。Termux是一个为Android设备提供Linux环境的应用,它可以让您在Android设备上运行各种Linux命令和程序。然后,您需要安装cloudflared,这是一个用于创建和管理Argo Tunnel的命令行工具。

以下是具体的步骤:

安装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
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb
  • 输入以下命令来安装cloudflared。
1
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协议无法在您设备稳定连接,也可以添加 --no-autoupdate --protocol http2 参数来使用http2 。
1
cloudflared tunnel --config /path/your-config-file.yml --no-autoupdate --protocol http2 run <UUID or NAME>

完成以上步步骤后,您就可以在Android设备上使用Cloudflare Argo Tunnel了。

参考:

https://wiki.termux.com/wiki/PRoot

https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-local-tunnel