owenyoung 14小时前
使用Actionsflow在Github上免费部署Rsshub
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

文章介绍了一种将 RSSHub 部署在 GitHub Actions 上的轻量级、免费且按需使用的方法。与官方推荐的 Docker 部署方式相比,此方案更适合轻量级用户。通过 Actionsflow 这个开源的 GitHub Actions 工作流工具,可以利用 GitHub Actions 的配置格式来创建自定义工作流。文章以监控豆瓣小组关键词并发送 Telegram 消息为例,详细展示了如何配置 RSSHub Trigger 和 Telegram Action,并提供了部署步骤,包括初始化项目、安装 RSSHub Trigger、编辑工作流文件以及本地测试方法,旨在帮助用户更灵活地使用 RSSHub。

💡 RSSHub 是一种强大的工具,能将网页数据统一为 RSS 格式,但官方 Docker 部署方式对轻量级用户稍显繁重。本文提供了一种基于 Actionsflow 的轻量化部署方案,利用 GitHub Actions 实现免费、按需的 RSSHub 服务。

🚀 Actionsflow 是一个开源的 GitHub Actions 工作流工具,允许用户通过 YAML 文件配置自动化任务,类似于 IFTTT 或 Zapier。文章以一个监控豆瓣小组关键词并发送 Telegram 消息的实例,展示了如何利用 Actionsflow 集成 RSSHub Trigger 和 Telegram Action。

⚙️ 部署步骤包括:使用 Actionsflow 默认模板创建 GitHub 项目,clone 至本地,编辑 `.github/workflows/actionsflow.yml` 取消 `schedule` 注释,安装 `@actionsflow/trigger-rsshub` 插件,并在 `workflows/` 目录下创建自定义的 workflow 文件(如 `rsshub.yml`),最后提交更改至 GitHub。

🔧 文章还提供了配置示例,展示了如何设置 RSSHub Trigger 的 `path` 和 `query` 参数,例如使用 `filter_title` 和 `filterout_title` 来精确筛选信息。同时,也列举了常用的 GitHub Actions 和 Actionsflow 相关资源,方便用户进一步学习和实践。

Rsshub是一个很棒的工具,把很多知名或不知名的网页数据通通统一为RSS 格式,堪称中文互联网的 W3C. 但是官方推荐的部署方式是Docker 部署,对于大多数轻量使用的用户来说有点重,所以这里介绍一种免费,轻量,按需使用的部署方式,利用Actionsflow部署在 GitHub 的 Actions 上。

Actionsflow是一个基于 Github Actions 上的 IFTTT/Zapier 的开源替代,使用 Github Actions 的配置格式来配置你需要的工作流, 更多关于 Actionsflow 的使用可以看我的另一篇文章介绍,或者官方文档

比如我自己在用的一个工作流就是监控豆瓣车组的一些我需要的关键词,如果有提到关键词的帖子,那么发送一个 telegram 消息给我,配置如下:

on:  rsshub:    path:      - path: /douban/group/669481        query:          filter_case_sensitive: false          filter_title: 罐头|狗粮|爱肯拿|渴望|姐妹们快|牛奶|牛肉|羊肉|来伊份岩烧|来伊份面包|烤箱|生鲜|螺蛳粉|米诺|果酸|杏仁酸|鸡蛋|大米|薅|cr海盐|洗头膏|崔娅蓬松|洗鼻|橙          filterout_title: 求|转|求购|交流|已购|专楼|蒙牛|伊利|讨论|华为|停车|代拍|完|分装|意向|拼单|删|一元jobs:  ifttt:    name: Make a Request to telegram    runs-on: ubuntu-latest    steps:      - name: Send a telegram message        uses: appleboy/telegram-action@v0.1.0        with:          to: ${{ secrets.TELEGRAM_TO }}          token: ${{ secrets.TELEGRAM_TOKEN }}          message: |            <b>${{ on.rsshub.outputs.title}}</b>            <a href="${{on.rsshub.outputs.link}}">${{on.rsshub.outputs.description}}</a>          format: html          disable_web_page_preview: true

配置来自这里

接下来介绍下如何部署:)

因为 rsshub 这个 trigger 没有内置在 Actionsflow 里,所以按照官方的教程初始化之后,需要主动安装下@actionsflow/trigger-rsshub这个 trigger

    使用这个链接用 Actionsflow 的默认模板创建一个新的 GitHub 项目,一个典型的 Actionsflow 项目长这样:

    ├── .github   └── workflows       └── actionsflow.yml├── .gitignore├── README.md└── workflows   └── rss.yml   └── webhook.yml└── package.json

    clone 你刚创建的项目到本地

    git clone git@github.com:<your-github-username>/<repo-name>

    在本地编辑 .github/workflows/actionsflow.yml 文件,取消schedule的注释

    安装@actionsflow/trigger-rsshub

    npm i @actionsflow/trigger-rsshub

    workflows/文件夹创建你自己的 workflow 文件

    workflow 的写法和 rsshub trigger 的用法清参考官方文档Actionsflow Workflow Syntax, Actionsflow rsshub trigger

    可以参考这里列出的 常用 Github Action,以及这个Actionsflow 的 Awesome 项目

    示例(/workflow/rsshub.yml):

    on:  rsshub:    path: /smzdm/keyword/女装jobs:  print:    name: Print    runs-on: ubuntu-latest    steps:      - name: Print Outputs        env:          title: ${{on.rsshub.outputs.title}}          description: ${{on.rsshub.outputs.description}}          link: ${{on.rsshub.outputs.link}}        run: |          echo title: $title          echo description: $description          echo link: $link

    保存并提交你的文件到 Github

如果你想本地测试的话,需要先安装Docker, 并运行 npm run start

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

RSSHub Actionsflow GitHub Actions 自动化 轻量化部署
相关文章