多功能的RSS工具RSS Funnel

在这里插入图片描述

什么是 RSS Funnel ?

RSS Funnel 是一个模块化的 RSS 处理管道系统。它可以以多种方式操作 RSS/Atom 源。

例如:

  • 提取完整内容
  • HTML 页面生成 RSS 订阅
  • 删除不需要的元素和文本
  • 使用正则表达式进行文字编辑或替换
  • 保留或删除与关键词或模式匹配的文章
  • 突出显示关键词
  • 将单个 RSS 文章拆分为多个文章
  • 将多个订阅合并为单个订阅
  • 运行 JavaScript 代码来转换订阅或文章
  • 在不同的订阅格式之间进行转换
  • 又有更多用法:https://github.com/shouya/rss-funnel/wiki/Filter-config

准备

RSS Funnel 是通过一个名为 funnel.yaml 的配置文件,来定义源和服务器设置的,原本老苏博客上的 RSS 源只提供了摘要而不是全文

在这里插入图片描述

下面是老苏准备的一个示例文件,可以提取到全文

endpoints:- path: /laosu-blog.xmlnote: 老苏的博客source: https://laosu.tech/atom.xmlfilters:- full_text: {}- simplify_html: {}
  • path:是访问地址,例如上面的写法,可以通过 http://群晖IP:端口/laosu-blog.xml 访问;
  • note:是简介,因为是中文,所以 funnel.yaml 保存时编码使用 UTF-8
  • source:是源地址;
  • filters:过滤器;
    • full_text:此过滤器从文章中获取文章的完整 HTMLlink并将其填充到content文章的字段中;
    • simplify_html:此过滤器利用readability 库简化了 HTML

更多filters 参数设置请参考官方文档:https://github.com/shouya/rss-funnel/wiki/Filter-config

安装

ghcr.io 镜像下载

官方的镜像没有发布在 docker hub,而是在 ghcr.io,所以直接用命令行来安装。

在这里插入图片描述

SSH 客户端中依次执行下面的命令

# 下载镜像
docker pull ghcr.io/shouya/rss-funnel:latest

如果没有科学上网,很可能会拉不动,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤

# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/shouya/rss-funnel:latest# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/shouya/rss-funnel:latest ghcr.io/shouya/rss-funnel:latest# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/shouya/rss-funnel:latest

当然代理网站也不是什么时候都好使,有时候也会报错,例如下面👇这样的

Error response from daemon: received unexpected HTTP status: 500 Internal Server Error

所以有一个稳定的科学上网环境还是很重要的

docker cli 安装

现在可以开始运行了

# 新建文件夹 rss-funnel 和 子目录
mkdir -p /volume1/docker/rss-funnel# 进入 rss-funnel 目录
cd /volume1/docker/rss-funnel# 将 funnel.yaml 放入当前目录# 运行容器
docker run -d \--restart unless-stopped \--name rss-funn \-p 4090:4090 \-v $(pwd)//funnel.yaml:/funnel.yaml \-e RSS_FUNNEL_CONFIG=/funnel.yaml \-e RSS_FUNNEL_BIND=0.0.0.0:4090 \-e RSS_FUNNEL_WATCH=true \ghcr.io/shouya/rss-funnel:latest

目前项目支持的环境变量如下:

可变默认值描述
RSS_FUNNEL_BIND127.0.0.1:4080服务器绑定地址
RSS_FUNNEL_INSPECTOR_UItrue是否提供检查器 UI
RSS_FUNNEL_WATCHfalse是否监视配置文件更改并自动重新加载
RSS_FUNNEL_CONFIG未指定配置文件的位置。

docker compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'services:rss-funne:image: ghcr.io/shouya/rss-funnel:latestcontainer_name: rss-funnerestart: unless-stoppedports:- 4090:4090volumes:- ./funnel.yaml:/funnel.yamlenvironment:- RSS_FUNNEL_CONFIG=/funnel.yaml- RSS_FUNNEL_BIND=0.0.0.0:4090- RSS_FUNNEL_WATCH=true

然后执行下面的命令

# 新建文件夹 rss-funnel 和 子目录
mkdir -p /volume1/docker/rss-funnel# 进入 rss-funnel 目录
cd /volume1/docker/rss-funnel# 将 funnel.yaml 和 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:4090 就能看到主界面

在这里插入图片描述

点击链接可以看到每篇文章都是显示的全文

在这里插入图片描述

切换到 Raw 模式

在这里插入图片描述

访问 http://群晖IP:4090/laosu-blog.xml

在这里插入图片描述

虽然中文都显示为乱码

在这里插入图片描述

但不影响在 FreshRSS 中订阅

在这里插入图片描述

参考文档

shouya/rss-funnel: An RSS multi-tool
地址:https://github.com/shouya/rss-funnel

RSS Funnel Inspector
地址:https://rss-funnel-demo.fly.dev

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/772630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年【熔化焊接与热切割】考试报名及熔化焊接与热切割找解析

题库来源:安全生产模拟考试一点通公众号小程序 熔化焊接与热切割考试报名考前必练!安全生产模拟考试一点通每个月更新熔化焊接与热切割找解析题目及答案!多做几遍,其实通过熔化焊接与热切割实操考试视频很简单。 1、【单选题】 下…

SE注意力模块学习笔记《Squeeze-and-Excitation Networks》

Squeeze-and-Excitation Networks 摘要引言什么是全局平均池化? 相关工作Deep architectures Squeeze-and-Excitation Blocks3.1. Squeeze: Global Information Embedding3.2. Excitation: Adaptive Recalibration3.3. Exemplars: SE-Inception and SE-ResNet 5. Im…

2024.3.26学习笔记

今日学习韩顺平java0200_韩顺平Java_对象机制练习_哔哩哔哩_bilibili 今日学习p273-p285 包 包的本质实际上就是创建不同的文件夹/目录来保存类文件 包的三大作用 区分相同名字的类 当类很多时,可以很好的管理类 控制访问范围 包的基本语法 package com.xx…

出席2024亚太内容分发大会,火山引擎边缘云“加速”游戏体验升级

3月26日,第十四届亚太内容分发大会暨CDN峰会在北京成功举办,火山引擎边缘云产品架构高级总监许思安出席并以《火山引擎边缘云游戏行业解决方案,“加速”游戏体验升级》为主题,分享了火山引擎边缘云在游戏行业的思考和实践。同时&a…

面试经典150题【91-100】

文章目录 面试经典150题【91-100】70.爬楼梯198.打家劫舍139.单词拆分322.零钱兑换300.递增最长子序列77.组合46.全排列39.组合总和(※)22.括号生成79.单词搜索 面试经典150题【91-100】 五道一维dp题五道回溯题。 70.爬楼梯 从递归到动态规划 public …

idea中Git项目遇到“Filename too long”错误 与 配置Git的ssh证书

一:“Filename too long”问题解决办法 错误信息: fatal: cannot create directory at xxxx: Filename too long warning: Clone succeeded, but checkout failed. You can inspect what was checked out with git status and retry with git restore …

24/03/26总结

面向对象练习题:(封装,继承,多态) 封装:对象代表什么,就得封装对应的数据,并提供数据对应的行为,(把零散的数据和行为封装成一个整体:也就是我们说的对象) 继承:当封装…

latex中的算法algorithm报错Undefined control sequence.

这里写目录标题 1. 错误原因2. 进行改正3. 爱思唯尔期刊与施普林格期刊对于算法的格式不太一样,不能直接套用总结 1. 错误原因 我在算法中使用\State 2. 进行改正 换成\STATE 3. 爱思唯尔期刊与施普林格期刊对于算法的格式不太一样,不能直接套用 总…

多线程执行一半后不往后走的坑

场景简单演示 首先演示一个简单的场景。 采用ThreadPoolExecutor提交线程的方式,直接在多线程中执行的某个地方抛出一个异常。 用submit方法提交的情况: 调用的地方: 发现一直卡在那,没有任何错误日志。 改成execute方法提交多…

优秀电源工程师需要的必备技能

随着电源市场的不断扩张,开关电源行业飞速发展,企业对电源工程师的需求日益增加,对电源工程师的技能要求也日渐提高,相信没有一位电源工程师会错过让自己变得更优秀的机会。作为一名数字电源从业者,今天就带大家细数一下优秀电源工程师具备的那些技能。 一、新手必备课程…

#GIT|Git Flow#Gitflow工作流程

Gitflow是一种使用功能分支和多个主分支的Git分支模型,它适用于有预定发布周期的项目,也适用于DevOps最佳实践中的持续交付。这个工作流程不会添加任何新的概念或命令,而是为不同的分支分配了非常具体的角色,并定义了它们应该如何…

串口通信标准RS232 RS485 RS422的区别

RS-232、RS-422、RS-485是关于串口通讯的一个机械和电气接口标准(顶多是网络协议中的物理层),不是通讯协议,它们之间的几个不同点如下: 一、硬件管脚接口定义不同 二、工作方式不同 RS232: 3线全双工 RS…

干货分享之反射笔记

入门级笔记-反射 一、利用反射破泛型集合二、Student类三、获取构造器的演示和使用1.getConstructors只能获取当前运行时类的被public修饰的构造器2.getDeclaredConstructors:获取运行时类的全部修饰符的构造器3.获取指定的构造器3.1得到空构造器3.2得到两个参数的有参构造器&a…

Vue2(十一):全局事件总线、消息订阅与发布pubsub、TodoList的编辑功能、$nextTick、过渡与动画

一、全局事件总线 1、思路解析 一种组件间通信的方式,适用于任意组件间通信。通俗理解就是一个定义在所有组件之外的公共x,这个x可以有vm或vc上的同款$on、$off、$emit,也可以让所有组件都访问到。 第一个问题:那怎样添加这个x才…

自省式RAG 与 LangGraph的实践

自省式 RAG 对实现 RAG 的步骤进行逻辑分析:比如,我们需要知道什么时候进行检索(基于问题和索引的构成)、何时改写问题以提升检索效率,或者何时抛弃无关的检索结果并重新检索。因此提出了自省式 RAG,自省式…

[医学分割大模型系列] (3) SAM-Med3D 分割大模型详解

[医学分割大模型系列] -3- SAM-Med3D 分割大模型解析 1. 特点2. 背景3. 训练数据集3.1 数据集收集3.2 数据清洗3.3 模型微调数据集 4. 模型结构4.1 3D Image Encoder4.2 3D Prompt Encoder4.3 3D mask Decoder4.4 模型权重 5. 评估5.1 评估数据集5.2 Quantitative Evaluation5.…

【详细讲解yarn的安装和使用】

🌈个人主页:程序员不想敲代码啊🌈 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家🏆 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提…

面向对象【Annotation注解】

文章目录 注解概述注解与注释常见的 Annotation最基本的注解使用@Override@Override@SuppressWarnings元注解@Retention@Target@Documented@Inherited自定义注解格式定义使用注解概述 注解(Annotation)是从 JDK5.0 开始引入,以“@注解名”在代码中存在。例如: @Override @D…

Git入门(Git快速下载,安装,配置,远程仓库,本地仓库,IDEA提交代码,VScode提交代码使用方案一体)

Git快速下载 通过阿里镜像可以自由挑选版本并快速下载CNPM Binaries Mirrorhttp://npm.taobao.org/mirrors/git-for-windows/ 这里安装最新版本 下载安装文件 安装完后双击文件即可开始安装git 安装 git的安装傻瓜式Next即可 配置 打开git:桌面空白处右击&#…

SolidWorks教育版本的优势是什么

随着工程设计和制造技术的不断进步,计算机辅助设计(CAD)软件在教育领域的应用越来越广泛。SolidWorks教育版本作为一款专为教育机构和学生设计的三维CAD软件,具有许多明显的优势。本文将探讨SOLIDWORKS教育版本的主要优势&#xf…