用Cloudflare Snippet实现反代blogspot
前言 最近看到有人应用 cloudflare 的 snippet 实现 像 worker 一样的节点功能. 思路 看来, 一方面, 免费用户也有机会使用 snippet 了. 另一方面, snippet 的功能也增强了, 和worker 的区别更小了. 那么我就想用snippet实现之前用worker实现的反代blogspot的效果. 实践 uniproxy里面的语法比较老, 是这样的 addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) 用在snippet的话, 要改成这样的 export default { async fetch(request, env, ctx) { try { return await handleRequest(request, env, ctx); } catch (e) { return new Response(e.message || "Internal Error", { status: 500 }); } }, }; 我让GPT做了转换. 从结果来看, 就除了这一点变化, 其它代码全部保持原样. 已上传Github https://github.com/crazypeace/cloudflare-workers-uniproxy/blob/master/snippet.js 反代blogspot的worker代码 把需求发给GPT 当我把同样一份代码用于 worker 和 snippet 有没有办法识别当前环境是 worker 还是 snippet, 从而 打开 或关闭 KV相关的代码逻辑? 结果是判断是否存在绑定KV的环境变量. 这个逻辑本身也挺好的, 即使是用于worker, 也可以避免在worker的环境下, 用户没有绑定KV而产生异常. 已上传Github https://github.com/crazypeace/cf-wo...