【开源】cftunnel — OpenClawClaude Code 生成的网页想分享?本地项目要远程调试?一条命令实现内网穿透,强化OpenClaw能力,从玩具过渡为实用生产力工具!

2026-04-11 10:521阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

各位佬友好,之前发过 ClawApp 和 OpenClaw汉化版 的帖子,感谢大家的反馈和支持,现在为大家带来了一款新的实用工具cftunnel,仓库内附带skills,安装提示词等,可以快速接入你的生产力工具,提高生产力以及可玩性,便捷性等,出门后,碰到急事,直接远程指挥openclaw来办公,预览调试,超级方便!出门还要干活,这谁顶得住

项目地址:GitHub - qingchencloud/cftunnel: 本地开发/AI 产出无法远程预览?一条命令让 localhost 秒变公网域名 | Cloudflare Tunnel CLI Manager
介绍单页:cftunnel — Cloudflare Tunnel 一键管理 CLI | 内网穿透工具

起因

最近 OpenClaw 太火了,佬友们应该都在玩,用它写代码、生成页面、搭 API 确实爽

但有个问题一直困扰我:AI 生成的东西跑在本地,没法给别人看,也没法远程用

不管你是谁,只要用 AI 在本地跑东西,迟早会遇到这些场景:

  • 想分享预览:让 OpenClaw 生成了个网页/文档/作品集,跑在 localhost:3000,想发给朋友或客户看一眼——没公网 IP,打不开
  • 远程调试:用 Claude Code 写了个后端 API,远程同事要联调——连不上
  • 项目维护:本地跑着个管理后台或监控面板,出差在外想看一眼——访问不了
  • 接回调:本地服务要接 GitHub Webhook、支付回调——收不到

之前的方案要么花钱(自己搭 frp 还得有台服务器),要么折腾(ngrok 免费版各种限制、域名随机变),要么就是 Cloudflare Tunnel 原生方案——免费是免费,但配置流程属实劝退:

装 cloudflared → 登录认证 → 创建隧道 → 手写 YAML 配置 → 去 Dashboard 建 DNS 记录 → 写 systemd 服务文件 → …

所以用 Go 写了个 CLI 把这些全封装了,叫 cftunnel

长什么样

免域名模式(零配置,装好就能用):

cftunnel quick 3000 # ✔ 隧道已启动: https://xxx-yyy-zzz.trycloudflare.com

一条命令,不需要 Cloudflare 账户、不需要 API Token、不需要域名。生成一个 *.trycloudflare.com 的随机公网地址,Ctrl+C 退出就没了,适合临时分享

自有域名模式(固定域名,稳定持久):

cftunnel init # 填 API Token 和账户 ID(一次性) cftunnel create my-tunnel # 创建隧道(一次性) cftunnel add app 3000 --domain app.example.com # 添加路由 cftunnel up # 启动

然后 app.example.com 就能访问你本地的 3000 端口了,DNS CNAME 记录是自动创建的,不用手动去 Dashboard 操作

免费、安全、无需公网 IP,走的是 Cloudflare 全球网络

和直接用 cloudflared 比

操作 原生 cloudflared cftunnel
免域名穿透 cloudflared tunnel --url 手动操作 cftunnel quick <端口> 一条命令
创建隧道 浏览器登录 + 手动配 一条命令
DNS 记录 手动去 Dashboard 建 CNAME 自动创建
多个域名 手动改 YAML 配置文件 add / remove / list
开机自启 自己写 systemd/launchd cftunnel install
不用了清理 手动删隧道 + 删 DNS + 删配置 cftunnel destroy 一键搞定
自更新 cftunnel update

安装

macOS / Linux 一行命令:

curl -fsSL https://raw.githubusercontent.com/qingchencloud/cftunnel/main/install.sh | bash

Windows(PowerShell):

irm https://raw.githubusercontent.com/qingchencloud/cftunnel/main/install.ps1 | iex

支持 6 个平台:macOS Intel / Apple Silicon、Linux amd64 / arm64、Windows amd64 / arm64

也可以去 Releases 手动下载,或者 git clone 下来 make build

方式一:免域名模式(零配置)

无需账户、Token、域名,装好就能用:

cftunnel quick 3000 # ✔ 隧道已启动: https://xxx-yyy-zzz.trycloudflare.com

适合临时分享和调试,Ctrl+C 退出后域名自动失效。需要固定域名请用方式二。

方式二:自有域名模式(前置条件)

6707dda2cb928589bd13bdf7f4a73c511380×560 39.4 KB
c4c17ce9ff68c03ecc40c3b14698acdf1380×674 142 KB

需要一个 Cloudflare 账户 + 一个域名,然后创建一个 API Token

Token 创建步骤(这里有个坑,我自己踩过好几次):

  1. 打开 https://dash.cloudflare.com/profile/api-tokens
  2. 点「创建令牌」→「创建自定义令牌」→「开始使用」
  3. 令牌名称随便填,比如 cftunnel
  4. 添加 3 条权限(点「+ 添加更多」逐条加):
    • 帐户 | Cloudflare Tunnel | 编辑
    • 区域 | DNS | 编辑
    • 区域 | 区域设置 | 读取
  5. 区域资源 → 包括 → 特定区域 → 选你的域名
  6. 创建后立即复制令牌,只显示一次

踩坑提醒:第 2、3 行要把左边的下拉框从「帐户」切换成「区域」,而且 DNS 权限要选「DNS」不是「DNS 设置」,这俩在 CF 中文界面里长得很像但不是一个东西,选错了调 API 会报权限不足

账户 ID 获取:Cloudflare 首页点域名,右下角「API」区域就能看到。或者首页账户名称旁边点「⋯」也能复制

配合 OpenClaw / Claude Code 的典型用法

场景 1:AI 生成的内容给别人预览(普通人最常用)

OpenClaw 生成了个网页、作品集、文档站,想发给朋友或客户看看效果:

cftunnel add preview 3000 --domain preview.example.com cftunnel up # 把 preview.example.com 发给对方就行,不用了 cftunnel remove preview 自动清掉

场景 2:远程调试 / 联调 API(开发者刚需)

本地跑着后端服务,远程同事要对接,或者自己在外面要调试家里的项目:

cftunnel add api 8080 --domain api.example.com cftunnel up # 同事直接调 api.example.com,跟线上环境一样

场景 3:远程访问本地项目(出差 / 移动办公)

家里或公司跑着管理后台、监控面板、数据库 UI,出门在外想看一眼:

cftunnel add admin 8888 --domain admin.example.com cftunnel install # 注册系统服务,开机自启,7×24 在线

场景 4:接 Webhook 回调

GitHub Actions、支付平台的 Webhook 需要公网地址:

cftunnel add webhook 9801 --domain webhook.example.com cftunnel up

场景 5:同时暴露多个服务

一个隧道可以挂多条路由,不用建多个隧道:

cftunnel add api 8080 --domain api.example.com cftunnel add web 3000 --domain web.example.com cftunnel add grafana 3001 --domain monitor.example.com cftunnel list # 看看都挂了哪些

全部命令

quick <端口> 免域名内网穿透(零配置,终端挂起) init 配置 API Token + 账户 ID create <名称> 创建隧道 add <名称> <端口> 添加路由(--domain 指定域名) remove <名称> 删除路由(自动清理 DNS) list 列出所有路由 up / down 启停隧道 status 查看状态 logs [-f] 查看日志(-f 实时跟踪) install / uninstall 系统服务(macOS launchd / Linux systemd / Windows Service) destroy [--force] 删除隧道 + 所有 DNS 记录 reset [--force] 完全重置(删隧道 + 清本地配置) version [--check] 版本信息 / 检查更新 update 自动更新到最新版

一些技术细节

技术栈:Go + cobra(CLI 框架)+ cloudflare-go/v6(CF API SDK)+ huh(交互式 TUI)

架构:单二进制文件,零运行时依赖,配置存在 ~/.cftunnel/config.yml,cloudflared 二进制自动下载到 ~/.cftunnel/bin/

跨平台:用 Go 的 build tags 做平台适配,macOS 用 launchd plist,Linux 用 systemd unit,Windows 用 sc.exe 注册系统服务,cftunnel install 一条命令搞定

CI/CD:goreleaser + GitHub Actions,推 tag 自动构建 6 个平台的二进制发到 Releases

踩过的坑:

  • CF 中文界面的「DNS 设置」和「DNS」是两个不同的权限项,前者不包含 DNS Records API 的访问权限,选错了 CreateDNSRecord 会报 403
  • macOS 上检测进程是否存活,proc.Signal(nil) 对非子进程不可靠,最后改用 kill -0 判断
  • goreleaser 跨平台构建时,只在 darwin 下定义了 service.New() 函数(launchd),linux 构建直接报 undefined,后来加了 //go:build linux 的 systemd 实现才过

项目信息

  • GitHub:GitHub - qingchencloud/cftunnel: 本地开发/AI 产出无法远程预览?一条命令让 localhost 秒变公网域名 | Cloudflare Tunnel CLI Manager
  • 产品主页:https://cftunnel.qt.cool
  • 协议:MIT
  • 语言:Go

欢迎 Star、Fork、提 Issue,有问题也可以在评论区聊


纯开源项目,MIT 协议,没有任何商业目的,配合 ClawApp 和 OpenClaw 使用体验更佳,希望对佬友们有帮助

支持免域名模式,可以使用下面终端命令来使用!

cftunnel quick <端口> # ✔ 隧道已启动: https://xxx-yyy-zzz.trycloudflare.com


小技巧:将下面提示词,直接发给你的 OpenClaw 助手,让他帮你安装,超方便!

适合发送给 AI 的提示词,点击查看

你是一个熟悉 cftunnel 的运维助手。cftunnel 是 Cloudflare Tunnel 的 CLI 管理工具,用于内网穿透。 ## 安装 macOS / Linux: curl -fsSL https://raw.githubusercontent.com/qingchencloud/cftunnel/main/install.sh | bash Windows (PowerShell): irm https://raw.githubusercontent.com/qingchencloud/cftunnel/main/install.ps1 | iex ## 两种模式 ### 模式一:免域名(零配置,临时用) cftunnel quick <端口> # 自动生成 *.trycloudflare.com 随机域名,Ctrl+C 退出即失效 # 无需账户、Token、域名 ### 模式二:自有域名(稳定持久) 需要引导用户准备两个参数: 1. API Token(API 令牌): - 打开 https://dash.cloudflare.com/profile/api-tokens - 点击「创建令牌」→「创建自定义令牌」→「开始使用」 - 添加 3 条权限(点「+ 添加更多」逐条添加): 帐户 | Cloudflare Tunnel | 编辑 区域 | DNS | 编辑(注意: 选「DNS」不是「DNS 设置」) 区域 | 区域设置 | 读取 - 第 2、3 行需先将左侧下拉框从「帐户」切换为「区域」 - 区域资源 → 包括 → 特定区域 → 选择域名 - 创建后立即复制令牌(只显示一次) 2. Account ID(账户 ID): - 方式 A: https://dash.cloudflare.com → 点击域名 → 右下角「API」区域 → 账户 ID - 方式 B: 首页 → 账户名称旁「⋯」→ 复制账户 ID 使用流程: # 第 1 步: 配置认证(需要上面两个参数) cftunnel init --token <API_TOKEN> --account <ACCOUNT_ID> # 第 2 步: 创建隧道 cftunnel create <隧道名称> # 第 3 步: 添加路由(自动创建 DNS CNAME 记录) cftunnel add <路由名称> <本地端口> --domain <完整域名> # 第 4 步: 启动 cftunnel up ## 其他命令 - cftunnel quick <端口> # 免域名模式(零配置) - cftunnel down # 停止隧道 - cftunnel status # 查看状态 - cftunnel list # 列出所有路由 - cftunnel remove <名称> # 删除路由(自动清理 DNS) - cftunnel destroy # 删除隧道 + 所有 DNS 记录 - cftunnel install # 注册系统服务(开机自启) - cftunnel logs -f # 实时查看日志 - cftunnel update # 自动更新 cftunnel ## 注意事项 - 临时分享优先推荐 `cftunnel quick`,零配置最快 - 自有域名模式需先完成 `init` 和 `create` - 添加路由时会自动创建 DNS CNAME 记录,删除时自动清理 - 一个隧道可以挂载多条路由(多个域名指向不同本地端口) - 域名必须是用户 Cloudflare 账户中已有的域名的子域名

网友解答:
--【壹】--:

感谢反馈!这个问题已经在 v0.4.2 修复了。
根因是 add 命令推送 ingress 配置到 Cloudflare 远端时,如果失败了只打了个警告,没有中断,导致后续 up 启动时从远端拉到的是旧配置,缺失新路由

v0.4.2 改了两点:

  1. add 命令 ingress 推送失败现在会直接报错中断,不再静默吞掉
  2. up 命令启动前会自动同步本地路由到远端,兜底保证一致性

所以现在先 add 再 up(文档原顺序)是没问题的。你观察到的"先 up 再 add 就好了",是因为 cloudflared 运行中会实时监听远端配置变更,add 推送成功后立刻生效。

运行 cftunnel update 即可升级到 v0.4.2

image1306×194 16 KB


--【贰】--:

感谢大佬,用上了


--【叁】--:

感谢佬友分享


--【肆】--:

[!tip]感谢分享


--【伍】--:

感谢大佬 !好用


--【陆】--:

不错,懒人必备


--【柒】--:

好用!!!


--【捌】--:

用上了 好用 感谢


--【玖】--:

大佬太强了


--【拾】--:

感谢分享!


--【拾壹】--:

谢谢老板


--【拾贰】--:
  1. 要是整理成skill应该就更完美了
  2. 是不是不支持自定义协议 比如http ssh之类的?

--【拾叁】--:

感谢大佬 !


--【拾肆】--:

感谢佬友分享,用上了。
但是我在配置过程中,感觉文档中的操作顺序好像有点偏差,不知道是我环境问题还是怎么样

win10环境,下面这两个步骤,感觉要调换一下,需要先cftunnel up,下图的状态才能处于正常状态,这个时候执行cftunnel add才会生效,不然的话会缺失localhost指向tunnel的路径。(另外一段域名指向tunnel的是正常的)


4. 添加路由

将 app.example.com 指向本地 3000 端口 cftunnel add myapp 3000 --domain app.example.com

5. 启动隧道

cftunnel up


image623×697 33.6 KB

另外补充下,cftunnel up后,实测添加路由和删除路由都是实时生效的,不需要重启服务。


--【拾伍】--:

好用!!


--【拾陆】--:

[!tip]+感谢分享


--【拾柒】--:

感谢教程


--【拾捌】--:

非常不错,晚点试下


--【拾玖】--:

感谢大佬分享

问题描述:

各位佬友好,之前发过 ClawApp 和 OpenClaw汉化版 的帖子,感谢大家的反馈和支持,现在为大家带来了一款新的实用工具cftunnel,仓库内附带skills,安装提示词等,可以快速接入你的生产力工具,提高生产力以及可玩性,便捷性等,出门后,碰到急事,直接远程指挥openclaw来办公,预览调试,超级方便!出门还要干活,这谁顶得住

项目地址:GitHub - qingchencloud/cftunnel: 本地开发/AI 产出无法远程预览?一条命令让 localhost 秒变公网域名 | Cloudflare Tunnel CLI Manager
介绍单页:cftunnel — Cloudflare Tunnel 一键管理 CLI | 内网穿透工具

起因

最近 OpenClaw 太火了,佬友们应该都在玩,用它写代码、生成页面、搭 API 确实爽

但有个问题一直困扰我:AI 生成的东西跑在本地,没法给别人看,也没法远程用

不管你是谁,只要用 AI 在本地跑东西,迟早会遇到这些场景:

  • 想分享预览:让 OpenClaw 生成了个网页/文档/作品集,跑在 localhost:3000,想发给朋友或客户看一眼——没公网 IP,打不开
  • 远程调试:用 Claude Code 写了个后端 API,远程同事要联调——连不上
  • 项目维护:本地跑着个管理后台或监控面板,出差在外想看一眼——访问不了
  • 接回调:本地服务要接 GitHub Webhook、支付回调——收不到

之前的方案要么花钱(自己搭 frp 还得有台服务器),要么折腾(ngrok 免费版各种限制、域名随机变),要么就是 Cloudflare Tunnel 原生方案——免费是免费,但配置流程属实劝退:

装 cloudflared → 登录认证 → 创建隧道 → 手写 YAML 配置 → 去 Dashboard 建 DNS 记录 → 写 systemd 服务文件 → …

所以用 Go 写了个 CLI 把这些全封装了,叫 cftunnel

长什么样

免域名模式(零配置,装好就能用):

cftunnel quick 3000 # ✔ 隧道已启动: https://xxx-yyy-zzz.trycloudflare.com

一条命令,不需要 Cloudflare 账户、不需要 API Token、不需要域名。生成一个 *.trycloudflare.com 的随机公网地址,Ctrl+C 退出就没了,适合临时分享

自有域名模式(固定域名,稳定持久):

cftunnel init # 填 API Token 和账户 ID(一次性) cftunnel create my-tunnel # 创建隧道(一次性) cftunnel add app 3000 --domain app.example.com # 添加路由 cftunnel up # 启动

然后 app.example.com 就能访问你本地的 3000 端口了,DNS CNAME 记录是自动创建的,不用手动去 Dashboard 操作

免费、安全、无需公网 IP,走的是 Cloudflare 全球网络

和直接用 cloudflared 比

操作 原生 cloudflared cftunnel
免域名穿透 cloudflared tunnel --url 手动操作 cftunnel quick <端口> 一条命令
创建隧道 浏览器登录 + 手动配 一条命令
DNS 记录 手动去 Dashboard 建 CNAME 自动创建
多个域名 手动改 YAML 配置文件 add / remove / list
开机自启 自己写 systemd/launchd cftunnel install
不用了清理 手动删隧道 + 删 DNS + 删配置 cftunnel destroy 一键搞定
自更新 cftunnel update

安装

macOS / Linux 一行命令:

curl -fsSL https://raw.githubusercontent.com/qingchencloud/cftunnel/main/install.sh | bash

Windows(PowerShell):

irm https://raw.githubusercontent.com/qingchencloud/cftunnel/main/install.ps1 | iex

支持 6 个平台:macOS Intel / Apple Silicon、Linux amd64 / arm64、Windows amd64 / arm64

也可以去 Releases 手动下载,或者 git clone 下来 make build

方式一:免域名模式(零配置)

无需账户、Token、域名,装好就能用:

cftunnel quick 3000 # ✔ 隧道已启动: https://xxx-yyy-zzz.trycloudflare.com

适合临时分享和调试,Ctrl+C 退出后域名自动失效。需要固定域名请用方式二。

方式二:自有域名模式(前置条件)

6707dda2cb928589bd13bdf7f4a73c511380×560 39.4 KB
c4c17ce9ff68c03ecc40c3b14698acdf1380×674 142 KB

需要一个 Cloudflare 账户 + 一个域名,然后创建一个 API Token

Token 创建步骤(这里有个坑,我自己踩过好几次):

  1. 打开 https://dash.cloudflare.com/profile/api-tokens
  2. 点「创建令牌」→「创建自定义令牌」→「开始使用」
  3. 令牌名称随便填,比如 cftunnel
  4. 添加 3 条权限(点「+ 添加更多」逐条加):
    • 帐户 | Cloudflare Tunnel | 编辑
    • 区域 | DNS | 编辑
    • 区域 | 区域设置 | 读取
  5. 区域资源 → 包括 → 特定区域 → 选你的域名
  6. 创建后立即复制令牌,只显示一次

踩坑提醒:第 2、3 行要把左边的下拉框从「帐户」切换成「区域」,而且 DNS 权限要选「DNS」不是「DNS 设置」,这俩在 CF 中文界面里长得很像但不是一个东西,选错了调 API 会报权限不足

账户 ID 获取:Cloudflare 首页点域名,右下角「API」区域就能看到。或者首页账户名称旁边点「⋯」也能复制

配合 OpenClaw / Claude Code 的典型用法

场景 1:AI 生成的内容给别人预览(普通人最常用)

OpenClaw 生成了个网页、作品集、文档站,想发给朋友或客户看看效果:

cftunnel add preview 3000 --domain preview.example.com cftunnel up # 把 preview.example.com 发给对方就行,不用了 cftunnel remove preview 自动清掉

场景 2:远程调试 / 联调 API(开发者刚需)

本地跑着后端服务,远程同事要对接,或者自己在外面要调试家里的项目:

cftunnel add api 8080 --domain api.example.com cftunnel up # 同事直接调 api.example.com,跟线上环境一样

场景 3:远程访问本地项目(出差 / 移动办公)

家里或公司跑着管理后台、监控面板、数据库 UI,出门在外想看一眼:

cftunnel add admin 8888 --domain admin.example.com cftunnel install # 注册系统服务,开机自启,7×24 在线

场景 4:接 Webhook 回调

GitHub Actions、支付平台的 Webhook 需要公网地址:

cftunnel add webhook 9801 --domain webhook.example.com cftunnel up

场景 5:同时暴露多个服务

一个隧道可以挂多条路由,不用建多个隧道:

cftunnel add api 8080 --domain api.example.com cftunnel add web 3000 --domain web.example.com cftunnel add grafana 3001 --domain monitor.example.com cftunnel list # 看看都挂了哪些

全部命令

quick <端口> 免域名内网穿透(零配置,终端挂起) init 配置 API Token + 账户 ID create <名称> 创建隧道 add <名称> <端口> 添加路由(--domain 指定域名) remove <名称> 删除路由(自动清理 DNS) list 列出所有路由 up / down 启停隧道 status 查看状态 logs [-f] 查看日志(-f 实时跟踪) install / uninstall 系统服务(macOS launchd / Linux systemd / Windows Service) destroy [--force] 删除隧道 + 所有 DNS 记录 reset [--force] 完全重置(删隧道 + 清本地配置) version [--check] 版本信息 / 检查更新 update 自动更新到最新版

一些技术细节

技术栈:Go + cobra(CLI 框架)+ cloudflare-go/v6(CF API SDK)+ huh(交互式 TUI)

架构:单二进制文件,零运行时依赖,配置存在 ~/.cftunnel/config.yml,cloudflared 二进制自动下载到 ~/.cftunnel/bin/

跨平台:用 Go 的 build tags 做平台适配,macOS 用 launchd plist,Linux 用 systemd unit,Windows 用 sc.exe 注册系统服务,cftunnel install 一条命令搞定

CI/CD:goreleaser + GitHub Actions,推 tag 自动构建 6 个平台的二进制发到 Releases

踩过的坑:

  • CF 中文界面的「DNS 设置」和「DNS」是两个不同的权限项,前者不包含 DNS Records API 的访问权限,选错了 CreateDNSRecord 会报 403
  • macOS 上检测进程是否存活,proc.Signal(nil) 对非子进程不可靠,最后改用 kill -0 判断
  • goreleaser 跨平台构建时,只在 darwin 下定义了 service.New() 函数(launchd),linux 构建直接报 undefined,后来加了 //go:build linux 的 systemd 实现才过

项目信息

  • GitHub:GitHub - qingchencloud/cftunnel: 本地开发/AI 产出无法远程预览?一条命令让 localhost 秒变公网域名 | Cloudflare Tunnel CLI Manager
  • 产品主页:https://cftunnel.qt.cool
  • 协议:MIT
  • 语言:Go

欢迎 Star、Fork、提 Issue,有问题也可以在评论区聊


纯开源项目,MIT 协议,没有任何商业目的,配合 ClawApp 和 OpenClaw 使用体验更佳,希望对佬友们有帮助

支持免域名模式,可以使用下面终端命令来使用!

cftunnel quick <端口> # ✔ 隧道已启动: https://xxx-yyy-zzz.trycloudflare.com


小技巧:将下面提示词,直接发给你的 OpenClaw 助手,让他帮你安装,超方便!

适合发送给 AI 的提示词,点击查看

你是一个熟悉 cftunnel 的运维助手。cftunnel 是 Cloudflare Tunnel 的 CLI 管理工具,用于内网穿透。 ## 安装 macOS / Linux: curl -fsSL https://raw.githubusercontent.com/qingchencloud/cftunnel/main/install.sh | bash Windows (PowerShell): irm https://raw.githubusercontent.com/qingchencloud/cftunnel/main/install.ps1 | iex ## 两种模式 ### 模式一:免域名(零配置,临时用) cftunnel quick <端口> # 自动生成 *.trycloudflare.com 随机域名,Ctrl+C 退出即失效 # 无需账户、Token、域名 ### 模式二:自有域名(稳定持久) 需要引导用户准备两个参数: 1. API Token(API 令牌): - 打开 https://dash.cloudflare.com/profile/api-tokens - 点击「创建令牌」→「创建自定义令牌」→「开始使用」 - 添加 3 条权限(点「+ 添加更多」逐条添加): 帐户 | Cloudflare Tunnel | 编辑 区域 | DNS | 编辑(注意: 选「DNS」不是「DNS 设置」) 区域 | 区域设置 | 读取 - 第 2、3 行需先将左侧下拉框从「帐户」切换为「区域」 - 区域资源 → 包括 → 特定区域 → 选择域名 - 创建后立即复制令牌(只显示一次) 2. Account ID(账户 ID): - 方式 A: https://dash.cloudflare.com → 点击域名 → 右下角「API」区域 → 账户 ID - 方式 B: 首页 → 账户名称旁「⋯」→ 复制账户 ID 使用流程: # 第 1 步: 配置认证(需要上面两个参数) cftunnel init --token <API_TOKEN> --account <ACCOUNT_ID> # 第 2 步: 创建隧道 cftunnel create <隧道名称> # 第 3 步: 添加路由(自动创建 DNS CNAME 记录) cftunnel add <路由名称> <本地端口> --domain <完整域名> # 第 4 步: 启动 cftunnel up ## 其他命令 - cftunnel quick <端口> # 免域名模式(零配置) - cftunnel down # 停止隧道 - cftunnel status # 查看状态 - cftunnel list # 列出所有路由 - cftunnel remove <名称> # 删除路由(自动清理 DNS) - cftunnel destroy # 删除隧道 + 所有 DNS 记录 - cftunnel install # 注册系统服务(开机自启) - cftunnel logs -f # 实时查看日志 - cftunnel update # 自动更新 cftunnel ## 注意事项 - 临时分享优先推荐 `cftunnel quick`,零配置最快 - 自有域名模式需先完成 `init` 和 `create` - 添加路由时会自动创建 DNS CNAME 记录,删除时自动清理 - 一个隧道可以挂载多条路由(多个域名指向不同本地端口) - 域名必须是用户 Cloudflare 账户中已有的域名的子域名

网友解答:
--【壹】--:

感谢反馈!这个问题已经在 v0.4.2 修复了。
根因是 add 命令推送 ingress 配置到 Cloudflare 远端时,如果失败了只打了个警告,没有中断,导致后续 up 启动时从远端拉到的是旧配置,缺失新路由

v0.4.2 改了两点:

  1. add 命令 ingress 推送失败现在会直接报错中断,不再静默吞掉
  2. up 命令启动前会自动同步本地路由到远端,兜底保证一致性

所以现在先 add 再 up(文档原顺序)是没问题的。你观察到的"先 up 再 add 就好了",是因为 cloudflared 运行中会实时监听远端配置变更,add 推送成功后立刻生效。

运行 cftunnel update 即可升级到 v0.4.2

image1306×194 16 KB


--【贰】--:

感谢大佬,用上了


--【叁】--:

感谢佬友分享


--【肆】--:

[!tip]感谢分享


--【伍】--:

感谢大佬 !好用


--【陆】--:

不错,懒人必备


--【柒】--:

好用!!!


--【捌】--:

用上了 好用 感谢


--【玖】--:

大佬太强了


--【拾】--:

感谢分享!


--【拾壹】--:

谢谢老板


--【拾贰】--:
  1. 要是整理成skill应该就更完美了
  2. 是不是不支持自定义协议 比如http ssh之类的?

--【拾叁】--:

感谢大佬 !


--【拾肆】--:

感谢佬友分享,用上了。
但是我在配置过程中,感觉文档中的操作顺序好像有点偏差,不知道是我环境问题还是怎么样

win10环境,下面这两个步骤,感觉要调换一下,需要先cftunnel up,下图的状态才能处于正常状态,这个时候执行cftunnel add才会生效,不然的话会缺失localhost指向tunnel的路径。(另外一段域名指向tunnel的是正常的)


4. 添加路由

将 app.example.com 指向本地 3000 端口 cftunnel add myapp 3000 --domain app.example.com

5. 启动隧道

cftunnel up


image623×697 33.6 KB

另外补充下,cftunnel up后,实测添加路由和删除路由都是实时生效的,不需要重启服务。


--【拾伍】--:

好用!!


--【拾陆】--:

[!tip]+感谢分享


--【拾柒】--:

感谢教程


--【拾捌】--:

非常不错,晚点试下


--【拾玖】--:

感谢大佬分享