GithubHelp home page GithubHelp logo

rss-bundle's Introduction

rss-bundle

将多个 RSS 源聚合到一起进行输出

为什么用 Python

本来是用 Go 的,但它的相关核心库功能不足, 自己实现 太繁琐, libxml2 binding 要引入 CGO,C to Go 还没有好方案。

所以还是用 Python 吧,毕竟 feedvalidator 也是 Python,在规范方面肯定能做得更好更方便。


组件

rss-bundle

rss-proxy

  • 输入格式: rss/atom/json
  • 输出格式: 保持原状/rss/atom
  • 修改 RSS channel 的 Elements
    • title
    • link
    • description
  • 匹配 RSS item 的 Elements
    • title
    • link
    • description
  • 编码
  • 无状态(参数全部在 URL 里)
  • 持久化(通过短网址映射到数据库)
  • insecure
  • User-Agent
  • 正文

ReDoS

TODO

  • 可以为每个源设定 tag
  • 可以自定义源的 title
  • 可以为每个源添加备注
  • 可以单独设定每个源的抓取间隔、是否允许 insecure 等等
  • 可以设定每个源是否去除锚点,也可以通过正则表达式来全局排除
  • 可以设定每个源是否以 link 为唯一 ID,全部入库
  • 可以为每个源设定过滤(考虑是否独立出来做,类似 siftrss
  • 可以为每个源设定 user-agent 等参数
  • 源的基础类型是单一的链接,但是也可以是一系列 http requests(相当于可以实现脚本化的 RSSHub)
  • 为操作提供 HTTP API
  • 为操作接入 Telegram Bot 等交互方式
  • 能够以 tag 为粒度设定聚合,可以为 tag 单独配置输出
  • 聚合方式可以是主动推送,也可以是被动生成一个新的 rss,或是别的方式
  • 推送可以设定频率,也可以设定时间点统一推送
  • 推送接入 apprise

rss-bundle's People

Contributors

hellodword avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.