diff --git a/projects/edd08c64-97c3-47f2-9d10-224833752a50/Cloudflare Worker proxy-worker 部署完成并通过 WebSocket 全链路验证.md b/projects/edd08c64-97c3-47f2-9d10-224833752a50/Cloudflare Worker proxy-worker 部署完成并通过 WebSocket 全链路验证.md new file mode 100644 index 0000000..e722c7e --- /dev/null +++ b/projects/edd08c64-97c3-47f2-9d10-224833752a50/Cloudflare Worker proxy-worker 部署完成并通过 WebSocket 全链路验证.md @@ -0,0 +1,42 @@ +--- +title: Cloudflare Worker proxy-worker 部署完成并通过 WebSocket 全链路验证 +type: checkpoint +permalink: main/projects/edd08c64-97c3-47f2-9d10-224833752a50/cloudflare-worker-proxy-worker-部署完成并通过-web-socket-全链路验证 +stable_id: 4d0456e2-c1e6-49c5-b079-a7f7e0fc3654 +scope: project +memory_type: checkpoint +project_id: edd08c64-97c3-47f2-9d10-224833752a50 +usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998 +status: active +revision: 1 +request_id: cf-worker-vless-sub-20260929-1 +created_at: '2026-09-29T03:50:25.223843+00:00' +updated_at: '2026-09-29T03:50:25.223843+00:00' +tags: +- cloudflare +- worker +- wrangler +- vless +- websocket +- deploy +- idn +--- + +目标:为论坛福利节点(CF 入口 + WARP 出口的 VLESS-WS 节点)部署中转 Cloudflare Worker 并验证订阅链路。 + +做了什么: +1. 工作区 E:\code\Cloudflare Worker 创建项目:src/index.js(按教程原样转发所有请求到 http://2602-f9f3-0-2--749.sslip.io:54630/sub)、wrangler.toml(name=proxy-worker)、package.json、.gitignore。 +2. npm install 后需 `npm install-scripts approve esbuild workerd`(新 npm allowScripts 策略拦截安装脚本),wrangler 4.143.0 就绪。 +3. `wrangler login` OAuth 交互式登录成功(guaotiantang@gmail.com / Nixevol / 账号 ID a9639fc53c11f2cc300d54c0f7b28d94)。 +4. `wrangler deploy` 成功:https://proxy-worker.nixevol.workers.dev(版本 ee6ebf12-6cdc-4164-93c9-3b927d55e674)。 + +验证结果: +- 普通 HTTP 探测 Worker 返回 400/404 "handshake error: bad Upgrade header"——这是 VLESS over WebSocket 后端的正常拒绝,不是部署故障。 +- 订阅服务 β.nyc.mn 的正确 punycode 是 xn--nxa.nyc.mn(β=U+03B2;手写 xn--zca 是错的,会 NXDOMAIN)。用 node:url 的 domainToASCII 计算。 +- 订阅 URL:https://xn--nxa.nyc.mn/?host=proxy-worker.nixevol.workers.dev 返回 200 + base64 订阅,解码得 7 个 VLESS 节点(端口 80/8080/8880/2052/2082/2086/2095,域名 *.cf.090227.xyz,host=proxy-worker.nixevol.workers.dev,ws path 各不相同)。 +- 用 Node 原生 WebSocket 连 ws://proxy-worker.nixevol.workers.dev/woewvqw6dy1w(订阅中 80 端口节点的 path)握手成功,证明 CF 边缘→Worker→VLESS 后端整条链路连通。 + +坑与经验: +- 本机 Clash 类代理 TUN/fake-IP 模式(DNS 返回 198.18.0.0/15,HTTP 代理端口 7897),部分域名 curl/schannel/Node 直连 TLS 握手失败;对 IDN 域名一律用 Node domainToASCII 算 punycode,不要手写。 +- Worker 报 400/404 不一定是部署失败,先看响应体文本区分错误来源(后端服务会带自己的错误文案)。 +- 后续:用户在客户端导入订阅 https://xn--nxa.nyc.mn/?host=proxy-worker.nixevol.workers.dev 即可使用;遇节点不可用直接更新订阅。 \ No newline at end of file