使用Cloudflare Worker 运行一个简单的RSS 代理

使用github账号 登录 https://dash.cloudflare.com/ 

在构建->计算->Workers 和 Pages菜单中,创建应用程序

image

 选择从HelloWorld!开始

 =

image

 点击部署

image

 点击编辑代码,

image

 示例代码,与预览请求,效果OK后,就可以点击部署。

image

 然后这个URL就可以访问了,但有一点,*.workers.dev 这个官方域名国内网络链路不稳定,国内访问不通畅,需要看情况自行决定是否使用。

示例js文件如下。

// 博客园RSS代理,只访问 me
const TARGET_RSS = "https://www.cnblogs.com/uoky/rss";

const corsHeaders = {
  "Access-Control-Allow-Origin": "*",
  "Access-Control-Allow-Methods": "GET, OPTIONS",
  "Access-Control-Allow-Headers": "*",
  "Access-Control-Max-Age": "86400"
};

export default {
  async fetch(request, env, ctx) {
    // 处理浏览器跨域预检 OPTIONS
    if (request.method === "OPTIONS") {
      return new Response(null, { status: 204, headers: corsHeaders });
    }

    // 只允许GET
    if (request.method !== "GET") {
      return new Response("Method Not Allowed", { status:405 });
    }

    try {
      const res = await fetch(TARGET_RSS, {
        headers: {
          "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
        },
        cf: { cacheTtl: 300 } // 缓存5分钟,减少向博客园请求
      });

      const newHeaders = new Headers(res.headers);
      // 追加跨域头
      Object.entries(corsHeaders).forEach(([k,v])=>newHeaders.set(k,v));

      return new Response(res.body, {
        status: res.status,
        headers: newHeaders
      });
    } catch(e) {
      return new Response("RSS代理异常:"+e.message, {status:502});
    }
  }
}

  

 

posted @ 2026-08-20 16:35  人间春风意  阅读(1)  评论(0)    收藏  举报