cloudflare workers 拥有很强大的作用。本文旨在教你如何免费使用cloudflare workers。
目录
2025/8/29 更新:一小时前 dpdns.org 被封了,本方法失效。以后会更新其它可用方法。
2026/3/8 更新:去年八月 dpdns.org 封了半天解封了。但是我们现在不需要 digitalplat 了,因为自 7.17.0 版本开始,v2rayN 支持 ech 配置了,可以使用 workers 原生域名访问。
获取免费域名
首先,我们需要一个域名。如果你已经有了免费或付费域名,你就可以跳过接下来的步骤。
喜报:自 7.17.0 版本开始,v2rayN 软件支持配置 ech,v2rayNG 也同步支持。这意味着无需一个域名就可以完成下面的步骤。不需要一个域名用作其它用途的读者可以跳过本章节,直接注册 cloudflare.
打开 dash.domain.digitalplat.org 并注册账号。然后点击 domain registration 并选择一个心仪的域名。目前 dpdns.org 和 qzz.io 是免费的,其它的可能要收费。
虽然说这种域名可以设置 NS 记录,比 dynv6.net 好一些,但是经过实测,它在各个搜索引擎的权重显著低于普通二级域名。同样是我的网站,Google Search 只会抓取 .top 域名的入口,而对于 cnszlijz.dpdns.org 根本不抓取、不编入。Bing webmaster 也是一样。当然这对于使用 cloudflare workers 没有影响。
设置完以后,就可以在域名管理页面设置 NS 记录了。域名有一年的有效期,在到期前180天(也就是185天以后)需要在管理页面点击一个按钮延续一年,否则到期后会按无人使用删除。
注册 cloudflare
我们先保留这个页面,然后打开 dash.cloudflare.com 注册账户。注册完成后,先在右上角切换到中文。如果没有域名的话,可以跳过本章节,直接设置 cloudflare workers. 如果有域名的话,在主页点击“加入域” (or “add domain”) 输入你刚才拿到的 ***.dpdns.org,然后一路下一步到底(计划要选免费计划),直到它弹出一个
请将 *.ns.cloudflare.com 添加到名称服务器
这时候,回到刚才的域名管理页面,在 NS Record 中填入刚才的两个域名,点 Update,然后再回到 cloudflare dashboard,点击“检查名称服务器”。等待大约5分钟,你就可以开始使用这个域名了!
设置 cloudflare workers
打开 github.com/cmliu/edgetunnel,按照“Workers 部署方法”的第一步和第三步操作。
- “在 CF Worker 控制台中创建一个新的 Worker”
回到 cloudflare dashboard 主页,点击”Compute”—“Workers 和 Pages”—“创建应用程序”—“从 Hello World! 开始”—“部署”。在部署之前可以起一个好听的名字。
- “将 worker.js 的内容粘贴到 Worker 编辑器中。”
打开 Workers 详情页面,找到右上角的“编辑代码”按钮(长得像 </>),然后把教程里要求的内容粘贴进去。
- “将第 4 行 userID 修改成你自己的 UUID 。”
可以在链接里拿一个。记下来以后要用。
- (可选)“在 workers 控制台的 触发器选项卡,下方点击 添加自定义域。”
点击“设置”—“域和路由”—“添加”,然后输入一个可用的子域名(如果你以前注册的是 abc.dpdns.org,就应该输入形如 ***.abc.dpdns.org 的域名。这里 abc.dpdns.org 是举例子用的),记得保存
牛魔的我的引用怎么被吞掉了
下载客户端
Windows 和 MacOS 建议使用 v2rayN。一般 Windows 需要 64 位版本,MacOS 视情况使用 64 或 arm64 版本。
Android 建议使用 v2rayNG。一般下载 arm64-v8a 版本
以上网站不能访问的话,也可以使用它们的官网下载。
iOS 建议使用shadowrocket,需要付费和外国 Apple ID。
其它可用客户端详见项目主页。
设置客户端
按照上一步教程的第二步访问网页,形式应该是 https://***.abc.dpdns.org/********-****-… 的样子。往下找到以 vless:// 的链接,点击一下以复制。然后的打开你的客户端,找到加号或添加,点击“从剪贴板导入”就可以用了。
如果没有自定义域名的话,这个网站大概率是不可访问的,我们需要采取以下方法手动配置:
- 在 workers 设置页面的”域与路由“栏目找到 workers 的访问链接,一般是第一项,形如”edgetunnel.12345678.workers.dev”,记下来。
- 打开客户端,找到“添加配置”或者三个点之类的菜单,选择“添加 vless 配置”
- “别名(remarks)”随便填一个好听的名字;“地址(address)”填
cloudflare-ech.com,或者留空使用下一章的办法填写;“端口(port)”填 443,也可以填 8443 或其它 cloudflare 支持的端口(不建议)。
- “用户ID(id)”填写上一章设置的 UUID,”flow””encryption”保持默认。
- 底层传输方式(transport)栏,“传输协议(network)”选”ws”,“伪装类型(type)”不变,“伪装域名(host)”填 workers 的访问链接,“路径(path)”填”/?ed=2048″。
- “传输层安全(TLS)”选”tls”,”SNI”填 workers 的访问链接,”Fingerprint”选”chrome”,”alpn”留空,”allowInsecure”留空或者填 false,”EchConfigList”填
cloudflarechallenge.com+udp://ns.cloudflare.com,”EchForceQuery”选 full,固定证书留空。
- 确认保存然后测试一下。
这样配置的好处第一是免费,只需要一个邮箱就可以;第二是不限流量:free plan 下 cloudflare workers 每天限制十万次访问,在本项目中可以建立十万个 TCP 连接。在网速良好的情况下,一个 TCP 连接可以传输至少 200 MB 的数据,所以单个 TCP 连接基本不会因为数据过量而超时。在数据不过量的情况下,访问一个新的网站需要大约 10 个 TCP 连接,访问已经访问过的网站或者使用 http1.1/http2 还会更少。所以每天可以访问 10000 个网站,普通人根本用不完。这就不得不提到 telegram desktop 每秒发起一个 TCP 连接而不使用长连接把我的额度耗完了。额度每天 08:00 重置。
如果测试显示无法正常运行,可以想办法访问访问链接查看是自己的问题还是 cloudflare 的问题。如果显示 nginx 欢迎页面或者一些看起来就很简陋的调试信息就说明 cloudflare 没问题,是你自己的问题;如果显示一个比较美观的”Error 1234″,那就是 cloudflare 端出问题了,需要参考项目主页的指南排查故障。
获得优选 IP 提升网速
打开cloudflare IP 测速工具,多测几次,然后综合选择一个最快或者延迟最低的。把这个 IP 填到客户端的 地址/address 框里(注意下面的 SNI 框和 host 框内容必须保持不变),保存即可。
cloudflare cdn 的连接性一般随时间和运营商而变化。作者使用中国移动,部分 IP 的延迟可以保持在 200ms 左右,而部分 IP 的延迟可以从 70ms 波动到 3000+ms. 一般情况下测速得到的 IP 可以至少使用一天不用变。如果你认为你的访问速度/延迟比以前显著变慢,可以考虑重新测速。
建立自己的网站
该操作需要你有一台电脑或服务器,但是不需要任何的“公网IP”。网站上部署在你的电脑或服务器上的,所以只能在它开机的时候运转。
开启 cloudflare one
回到 cloudflare dashboard,点击左侧列表里的 “Zero Trust”,然后按照 这个教程 的方法跳过信用卡认证(上面这个教程宣称借鉴了这个教程的内容,也可以参考;核心操作是在添加信用卡页面直接返回 one.dash.cloudflare.com,因为这时候已经设置好 free plan 了)。
设置 tunnel
打开“网络”—”tunnels”,点“创建隧道”,选”cloudflared”,然后按照要求下一步。在“添加公共主机名”这里,子域自己起一个好听的名字(比如w3),域选唯一选项,服务类型和 URL 一般填“http :// localhost”就可以了。这样你就可以在 https://w3.abc.dpdns.org/ 上访问你的网站了。
Q&A
暂无。有问题可以在评论区提出,我会更新到这里。
附录
网站的可访问性
目前文章中提到的网站以及其在 2025/8/19, 在中国移动网络下的可访问性详见下表。测试环境使用中国移动的 dns。
| website |
availability |
comment |
| github.com |
大多数时候不能直连,少数时候可以 |
|
| dash.domain.digitalplat.org |
在 IPv4 网络下会在 challenge 页面卡很久,但可以访问;在 IPv6 网络下可以正常访问 |
|
| dash.cloudflare.com |
在 IPv4 网络下可以正常访问 |
|
| 2dust.link |
可以正常访问 |
|
| ip.flares.cloud |
首次比较卡顿,随后可以正常访问 |
|
长时间加载不出来可以刷新一下;刷新一次没用就不要刷新第二次了,只能等。