链接: https://github.com/yllhwa/RSSWorker
主要灵感来源是 RSSHub(非常齐全)。
我想每次刷新就拿到最新的内容(不要缓存),但是又不想折腾反爬问题,所以就在 Cloudflare Worker 上面跑一个。
目前只支持了我自己用的几个:
不过添加支持很简单,因为都是 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 环境比较特殊,基础设施还是好多没有建设好,好多地方要手搓。
1
caomingjun 2023-10-13 01:25:23 +08:00 via Android
好东西,star 了
建议清理一下代码,bilibili 里面好像有不少用不到的代码 |
2
yuhangch 2023-10-13 08:59:06 +08:00
我也有类似的需求,技术力不足,我是跑一个 rsshub 实例,用 cf worker 反代,做一些路由的自定义和其他的处理。。
|
3
wdssmq 2023-10-13 08:59:41 +08:00 1
wdssmq/rsshub-cf: Cloudflare Worker 反代 RSSHub
https://github.com/wdssmq/rsshub-cf 我到是不要求即时性,阅读器多试几次最终能拿到就行,Worker 后边套了多个 RSSHub 站点,每次随机选一个抓取。。 "https://vercel.mizuno2023.xyz/", "https://rsshub.mizuno2023.xyz/", 这两个是我自己的服务。。 |
4
AboutRSS 2023-10-13 10:49:37 +08:00
谢谢分享创造! star 了。
|
5
THESDZ 2023-10-13 11:00:51 +08:00 1
|
6
glogo 2023-10-13 12:02:20 +08:00
你们用什么 rss 阅读器?
|
7
xygod 2023-10-16 11:42:05 +08:00
我自己也搞了类似的解析网页生成 rss 的 worker ,不知道是因为免费的 cpu 时间太短了还是解析 html 太占内存,解析有些网站的时候有时候会超时失败
|
8
v2yllhwa OP @xygod 我是付费的,因为还有其他项目跑在 worker 上面,顺便就做了这个。
你是用 htmlrewriter 解析的 html 吗,用 cheerio 之类的可能会很慢 |
10
MoriEcho 2023-10-17 23:47:43 +08:00
感谢!
平时我用的是 bilibili 的投稿,想补充进去,大致看了一眼发现好像不是简单地在 user 下新建一个 video.js 就能解决 可能有时间再研究一下 |