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
|
1
| proot-distro login debian
|
安装cloudflared
- 在proot Debian环境下,输入以下命令来下载cloudflared。
1
| wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb
|
1
| 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协议无法在您设备稳定连接,也可以添加 --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