cloudflared:基于 Cloudflare Tunnel 的客户端工具,实现安全流量代理与内网服务访问

Cloudflare Tunnel client

分支2Tags268
当前项目代码仓暂无内容

Cloudflare Tunnel client

包含 Cloudflare Tunnel 的命令行客户端,这是一个隧道守护进程,用于将流量从 Cloudflare 网络代理到您的源站。 此守护进程位于 Cloudflare 网络与您的源站(例如 Web 服务器)之间。Cloudflare 接收客户端请求,并通过此守护进程将其发送给您,无需您在防火墙上打开端口——您的源站可以保持尽可能封闭的状态。 详细文档可在 Cloudflare 文档的 Cloudflare Tunnel 部分 中找到。 所有与代理到源站相关的用法都可通过 cloudflared tunnel help 获取。

您还可以使用 cloudflared 访问 Tunnel 源站(受 cloudflared tunnel 保护的源站)的第 4 层 TCP 流量(即非 HTTP/WebSocket 流量),这适用于 SSH、RDP 等使用场景。 此类用法可通过 cloudflared access help 获取。

您也可以使用 WARP client 访问 Tunnel 后的私有源站以进行第 4 层流量传输,而无需在客户端执行 cloudflared access 命令。

开始使用前

在使用 Cloudflare Tunnel 之前,您需要在 Cloudflare 仪表板中完成几个步骤:您需要将网站添加到您的 Cloudflare 账户。请注意,目前可以在没有网站的情况下使用 Tunnel(例如用于私有路由),但由于历史原因,此要求仍然存在:

  1. 将网站添加到 Cloudflare
  2. 将您的域名服务器更改为 Cloudflare

安装 cloudflared

可通过独立二进制文件、Docker 镜像、Debian、RPM 和 Homebrew 软件包进行下载。您也可以在 cloudflared GitHub 仓库的 此处 找到发布版本。

Cloudflare Tunnel 的用户文档可在 https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/ 找到。

创建隧道与流量路由

安装完成后,您可以将 cloudflared 认证到您的 Cloudflare 账户,并开始创建隧道以将流量导向您的源站。

TryCloudflare

想在将网站添加到 Cloudflare 之前测试 Cloudflare Tunnel 吗?您可以使用 TryCloudflare 进行测试,相关文档可在此处获取。

已弃用版本

Cloudflare 目前支持的 cloudflared 版本为距离最新版本一年内的版本。可能会引入与功能可用性无关的重大变更,这些变更将影响一年多以前发布的版本。您可以在我们的开发者文档中了解有关升级 cloudflared 的更多信息。

例如,截至 2023 年 1 月,Cloudflare 将支持 cloudflared 版本 2023.1.1 至 cloudflared 2022.1.1。

开发

要求

构建

要在本地构建 cloudflared,请运行 make cloudflared

测试

要在本地运行测试,请运行 make test

代码检查

若要格式化代码并保持良好的代码质量,请使用 make fmtmake lint

模拟

修改接口后,可能需要重新生成模拟,因此请运行 make mocks

Git 钩子

为避免 CI 错误,您可以安装预推送钩子,在每次推送前运行代码检查和测试:

make install-hooks

这将配置 git 使用 .githooks/ 中的钩子,在每次推送前运行 make fmt-check lint test

项目介绍

云flare隧道客户端(原名Argo隧道)【此简介由AI生成】

定制我的领域
13715.51 K1.42 K访问 GitHub