RSSWorker:一个运行在 Cloudflare Worker 上的 RSS 生成工具

查看 30|回复 0
作者:v2yllhwa   
RSSWorker:一个运行在 Cloudflare Worker 上的 RSS 生成工具
链接: https://github.com/yllhwa/RSSWorker
主要灵感来源是 RSSHub(非常齐全)。
我想每次刷新就拿到最新的内容(不要缓存),但是又不想折腾反爬问题,所以就在 Cloudflare Worker 上面跑一个。
路由支持
目前只支持了我自己用的几个:
  • bilibili 动态 (/bilibili/user/dynamic/:uid)
  • telegram 频道 (/telegram/channel/:username)
  • weibo 用户 (/weibo/user/:uid)

    不过添加支持很简单,因为都是 js ,格式也差不多,可以很轻松地从 RSSHub 的代码迁移过来(微博相关就是直接 copy 的 RSSHub )。
    其他
    我重度使用的是 bilibili 的路由,所以很 hack 地用 fetch api 手搓了一个 grpc 请求( bilibili 对 grpc 的反爬不严格)。
    因为刚入坑 RSS ,所以可能很多细枝末节的东西没有考虑到,欢迎提 issue 和 pr 。
    使用的一些工具
    Cloudflare Worker 有打包 gzip 压缩后的文件大小限制(免费用户 1 MB ,付费用户 10MB ),所以需要尽量用 Cloudflare Worker 提供的接口,比如 HTML 解析使用 HTMLRewriter 等。
    然后就是构造 bilibili 的 grpc 请求用了第三方的库@bufbuild/buf,因为官方的在 Worker 环境下面跑不起来。
    路由框架使用的是 Hono , 模板引擎则使用 mustache ( Worker 环境好像不能使用带 eval 的库)
    感想
    Cloudflare 确实牛, 不过这个 Worker 环境比较特殊,基础设施还是好多没有建设好,好多地方要手搓。
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部