Replies: 1 comment 7 replies
-
|
可能在有些场景下会有额外的问题
|
Beta Was this translation helpful? Give feedback.
7 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
tldr:
将js代码转化为独立的规则,降低开发维护和社区贡献成本
rsshub与规则库,可以类比 adblock与过滤规则,或者xray与xray poc
ref: https://blog.xlab.app/p/9c76cef/
最近Feed43凉了,替代品似乎也不多,为什么不能把RSSHub变成Feed43呢
RSSHub大部分的路由实现的套路都差不多
其中最核心部分有两个
核心部分都是通过js代码实现,想要支持一个新的RSS成本比较高
装环境,部署调试,提交pr,pr合并,更新自己的RSSHub,订阅新的RSS
有很多很多次,我想加一个RSS,都是因为这个功能Feed43也能实现,只要在网页上点几下就能制作好,而放弃RSSHub
这其实也不利于RSSHub的发展,扩充支持站点
RSS-proxy
https://github.com/damoeb/rss-proxy
是一个比较理想的Feed43替代品
获取数据的地址和提取规则都是通过url传递,实时处理
增加新的RSS成本很低,但处理规则没有固化和分享
缝合
为什么不把RSSHub和RSS-proxy结合起来呢
将RSSHub处理路由和提取数据,参考RSS-proxy的模式,规则化
举一个例子
结构化描述步骤2和4,就是一条规则
RSSHub引擎负责执行这个规则就好
而且2中规则还可以复用给Radar,来告知哪些可以订阅
这样新支持一个RSS会非常简单,把规则随便扔给一个实例测一下,没问题就可以直接用了
用户的实例订阅官方规则库,自动同步更新
可以参考XPath,CSS选择器,正则表达式,JSONPath等,或者cel
RSSHub自己定义实现也不是不行
比如在同一个url下,可能存在多个api,也就是多个规则
可以规则定义一个名字来区分,来实现区分订阅比如
用户投稿和用户点赞,类似获取url参数,根据host过滤规则库,在规则库中遍历执行规则2,匹配出合适规则
根据type参数取出对应的规则,引擎执行,输出RSS
Beta Was this translation helpful? Give feedback.
All reactions