一个 DDNS 的替代方案 --- Cloudflare worker 302 重定向。好像部分地区 DDNS + web 服务会被查水表,所以想到了 302 重定向。免费的 Cloudflare Worker 能实现,完美!
Worker 代码如下,要在设置里绑定 KV (代码中 KV 名是“test”)。记得把 token 改一下。
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const clientIP = request.headers.get('CF-Connecting-IP')
const url = new URL(request.url)
const token = url.searchParams.get('token')
if (token === "123") {
await test.put('ip', clientIP)
return new Response(`Client IP: ${clientIP} Token: ${token}`)
} else {
let ip = await test.get('ip')
return new Response(`${ip}`)
//return Response.redirect(`http://${ip}:5000`, 302)
}
}
设置 crontab 定时任务 或者
群晖 NAS 打开“控制面板”-->“任务计划”--> 新增 --> “用户定义的脚本” 每分钟执行。
curl https://test123.speed.ga/?token=123
测试链接:
打开 https://test123.speed.ga/ 查看 ip 。
现在是查看 ip ,为了方便测试。推荐改为 302 重定向到 ip+端口。
用 https://test123.speed.ga/?token=123 更新访问者 ip
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.