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
-
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