转到正文
封面
    自画像

    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


    如无特别说明,本作品采用CC BY-NC-SA 4.0进行许可。
    发表于: 2023/2/13 17:55:45, 更新于: 2023/2/13 17:55:45
    标签: 技术 CloudFlare