转到正文
封面
自画像

dsy4567

关注: 加载中 | 粉丝: 加载中 | 码龄: 加载中

一言

加载中

查看详细信息

使用 Cloudflare Workers 获取别人的 IP 地址

本文将教你怎么顺着网线找到别人(

准备工作

  • 一个 CF 账号
  • 一个已绑定到 Cloudflare 的域名(*.workers.dev 域名已被屏蔽)

创建 Worker

登录 Cloudflare Dashboard,点击右边的 Workers,再点右边的创建服务。

Workers 面板

服务名称随意填写,然后点击创建服务。

创建服务

点击快速编辑。

管理面板

粘贴以下代码,然后点击保存并部署。

export default {
    async fetch(request, env) {
        let namespace = env.ip,
            u = new URL(request.url),
            ip = request.headers.get("CF-Connecting-IP");
        u.pathname == "/114514" && // 免费版每天只有一千次读写, 防滥用
            (await namespace.put(new Date().toUTCString(), ip));
        return new Response(ip);
    },
};

创建和绑定 KV 命名空间

返回,依次点击右边的 Workers > KV,然后点击创建命名空间 > 添加。

KV

回到 Worker 详情页,点击设置 > 变量 > KV 命名空间绑定。

变量名称填 ip,KV 命名空间选刚才创建的那个,保存并部署。

设置页

绑定自定义域

点击触发器 > 自定义域。

自定义域

https://<你的自定义域>/114514 这个网址发给别人访问,一段时间后,回到之前创建的 KV 命名空间,IP 就出来了。

KV 命名空间管理面板

参考资料

Cloudflare Workers 文档 https://developers.cloudflare.com/workers/

恢复原始访问者 IP - Cloudflare 帮助中心 https://support.cloudflare.com/hc/zh-cn/articles/200170786-恢复原始访问者-IP


知识共享许可协议
如无特别说明,本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
发表于: 2023/2/13 17:55:45, 更新于: 2023/2/13 17:55:45
标签: 技术 CloudFlare