使用Cloudflare Worker 运行一个简单的RSS 代理
使用github账号 登录 https://dash.cloudflare.com/
在构建->计算->Workers 和 Pages菜单中,创建应用程序

选择从HelloWorld!开始
=

点击部署

点击编辑代码,

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

然后这个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});
}
}
}
作者:人间春风意
扫描左侧的二维码可以赞赏

本作品采用署名-非商业性使用-禁止演绎 4.0 国际 进行许可。

浙公网安备 33010602011771号