Cloudflare Worker优选IP
Cloudflare Worker优选IP

Cloudflare Worker优选IP

要使用你的 Worker,你需要将它部署到 Cloudflare。以下是部署步骤:
登录到你的 Cloudflare 账户。
在 Cloudflare Dashboard 中,选择 "Workers"。
点击 "Create a Worker"。
在打开的编辑器中,将你的代码粘贴到左侧的 "Script" 区域。
点击 "Save and Deploy"。
这样,你的 Worker 就已经部署到了 Cloudflare 的边缘网络上,你可以通过在右侧的 "Testing" 区域输入 URL 并点击 "Send" 来测试你的 Worker。

addEventListener('fetch', event => {
    event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
    // 获取Cloudflare的IP列表
    const response = await fetch('https://www.cloudflare.com/ips-v4')
    const ipList = await response.text()
    const ips = ipList.split('\n').filter(ip => ip)

    // 对IP进行优选
    const bestIp = await selectBestIp(ips)

    // 返回优选的IP
    return new Response(bestIp, {status: 200})
}

async function selectBestIp(ips) {
    let bestIp = null;
    let bestTime = Infinity;

    for (const ip of ips) {
        try {
            const startTime = Date.now();
            const response = await fetch(`http://${ip}`);
            const endTime = Date.now();

            const time = endTime - startTime;
            if (time < bestTime) {
                bestTime = time;
                bestIp = ip;
            }
        } catch (error) {
            console.error(`Failed to fetch IP ${ip}: ${error}`);
        }
    }

    return bestIp;
}

了解 CodeCoding 的更多信息

订阅后即可通过电子邮件收到最新文章。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注