mirror of
https://github.com/Dichgrem/Blog.git
synced 2025-02-23 14:08:37 -05:00
360 lines
17 KiB
HTML
360 lines
17 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
|
||
<head>
|
||
<title>Dich'blog</title>
|
||
|
||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
|
||
<meta name="robots" content="noodp"/>
|
||
|
||
<link rel="stylesheet" href="https://blog.dich.bid/style.css">
|
||
<link rel="stylesheet" href="https://blog.dich.bid/color/blue.css">
|
||
|
||
<link rel="stylesheet" href="https://blog.dich.bid/color/background_dark.css">
|
||
|
||
<link rel="stylesheet" href="https://blog.dich.bid/font-hack-subset.css">
|
||
|
||
<meta name="description" content="">
|
||
|
||
<meta property="og:description" content="">
|
||
<meta property="og:title" content="Dich'blog">
|
||
<meta property="og:type" content="article">
|
||
<meta property="og:url" content="https://blog.dich.bid/about-rss-read/">
|
||
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<meta name="twitter:description" content="">
|
||
<meta name="twitter:title" content="Dich'blog">
|
||
<meta property="twitter:domain" content="blog.dich.bid">
|
||
<meta property="twitter:url" content="https://blog.dich.bid/about-rss-read/">
|
||
|
||
<link rel="alternate" type="application/atom+xml" title="Dich'blog Atom Feed" href="https://blog.dich.bid/atom.xml" />
|
||
|
||
|
||
<link rel="icon" type="image/png" href=/dich.webp />
|
||
|
||
</head>
|
||
|
||
<body class="">
|
||
<div class="container">
|
||
|
||
<header class="header">
|
||
<div class="header__inner">
|
||
<div class="header__logo">
|
||
|
||
<a href="https://blog.dich.bid" style="text-decoration: none;">
|
||
<div class="logo">
|
||
|
||
Dich'blog
|
||
|
||
</div>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<nav class="menu">
|
||
<ul class="menu__inner">
|
||
<li><a href="https://blog.dich.bid">blog</a></li>
|
||
|
||
<li><a href="https://blog.dich.bid/tags">tags</a></li>
|
||
|
||
<li><a href="https://blog.dich.bid/archive">archive</a></li>
|
||
|
||
<li class="active"><a href="https://blog.dich.bid/about">about me</a></li>
|
||
|
||
<li><a href="https://blog.dich.bid/links">links</a></li>
|
||
|
||
<li><a href="https://blog.dich.bid/search">search</a></li>
|
||
|
||
<li><a href="https://blog.dich.bid/weekly">weekly</a></li>
|
||
|
||
<li><a href="https://github.com/Dichgrem" target="_blank" rel="noopener noreferrer">github</a></li>
|
||
</ul>
|
||
</nav>
|
||
|
||
|
||
|
||
</header>
|
||
|
||
|
||
<div class="content">
|
||
|
||
<div class="post">
|
||
|
||
<h1 class="post-title"><a href="https://blog.dich.bid/about-rss-read/">搭建个人信息流:RSS阅读指南</a></h1>
|
||
<div class="post-meta-inline">
|
||
|
||
<span class="post-date">
|
||
2024-03-05
|
||
</span>
|
||
|
||
</div>
|
||
|
||
|
||
<span class="post-tags-inline">
|
||
:: tags:
|
||
<a class="post-tag" href="https://blog.dich.bid/tags/luan-qi-ba-zao/">#乱七八糟</a></span>
|
||
|
||
|
||
<div class="post-content">
|
||
<p>前言 RSS 提供了一种数据格式,以 XML(可扩展标记语言)的形式组织信息,包括文章标题、摘要、链接和发布日期等。这些信息形成了所谓的“订阅源”(Feed),用户可以使用RSS阅读器(Feed Reader)来订阅这些源。</p>
|
||
<span id="continue-reading"></span><h2 id="yi-shen-me-shi-rss">一.什么是RSS</h2>
|
||
<p>如果你使用过类似红板报,轻芒杂志,摸鱼 kiki,今日热榜等 APP,应该对 RSS 并不陌生。</p>
|
||
<p>RSS(Really Simple Syndication)是一种用于发布经常更新的内容的标准,通常用于博客、新闻网站和其他线上发布的信息。RSS 允许用户订阅这些站点的内容,以便在内容有更新时,用户能够获得及时的通知。</p>
|
||
<p>基本上,RSS 提供了一种数据格式,以 XML(可扩展标记语言)的形式组织信息,包括文章标题、摘要、链接和发布日期等。这些信息形成了所谓的“订阅源”(Feed),用户可以使用 RSS 阅读器(Feed Reader)来订阅这些源。</p>
|
||
<p>RSS 的主要优势包括:</p>
|
||
<ul>
|
||
<li>
|
||
<p>即时通知:用户订阅了 RSS 源后,当源中的内容有更新时,用户将立即收到通知,而无需手动检查网站。</p>
|
||
</li>
|
||
<li>
|
||
<p>集中管理:使用 RSS 阅读器,用户可以集中管理多个网站的更新,而无需逐个访问这些站点。</p>
|
||
</li>
|
||
<li>
|
||
<p>隐私保护:RSS 订阅不需要提供个人信息,用户只需关注感兴趣的内容,而无需注册账户。</p>
|
||
</li>
|
||
<li>
|
||
<p>定制内容:用户可以选择订阅感兴趣的主题或网站,定制他们的信息流。</p>
|
||
</li>
|
||
<li>
|
||
<p>减少信息过载:通过只关注真正感兴趣的内容,用户可以减少信息过载,集中注意力在最关键的信息上。</p>
|
||
</li>
|
||
</ul>
|
||
<p>如果我们想更高效地获取信息,不在多个应用间来回切换,另一方面拒绝算法给我们推荐的内容,那么建议用回原始的 RSS。</p>
|
||
<p>虽然 RSS 曾经非常流行,但随着社交媒体和其他信息传递方式的兴起,逐渐成为时代的眼泪。然而,RSS 仍然是一种有效的信息分发和获取方式,许多网站和博客仍提供 RSS 源。题主曾经计划使用 Kindle 作为专门的RSS阅读器,后来由于过于昂贵而作罢。</p>
|
||
<h2 id="er-ru-he-jin-xing-rssyue-du">二.如何进行RSS阅读</h2>
|
||
<p>基本上有以下几步:</p>
|
||
<ul>
|
||
<li>
|
||
<p>寻找 RSS 订阅源</p>
|
||
</li>
|
||
<li>
|
||
<p>确定 RSS 客户端</p>
|
||
</li>
|
||
<li>
|
||
<p>自建 RSS 服务端(可选)</p>
|
||
</li>
|
||
</ul>
|
||
<p><strong>寻找RSS订阅源</strong></p>
|
||
<p>要知道一个网站是否支持 RSS 订阅,最直接的方法就是看网站的底部或侧边栏是否有 RSS 图标。一般来说,图标所指向的地址就是该网站的订阅链接,可以直接点击 跳转到 RSS 客户端内进行订阅,也可以复制粘贴按钮中的地址到自己在用的 RSS 服务中订阅这些网站中的内容。</p>
|
||
<p>在浏览器中推荐使用 RSS Hub radar 插件,可以自动找到可用的RSS源并提示。</p>
|
||
<p>有时候网站不会直接给出订阅源,这时候你也可以尝试在网站域名后面加上 /feed 或 /rss 或许可以碰巧猜中,比如少数派的 RSS 订阅链接就是 https://sspai.com/feed。当然,你也可以直接通过搜索引擎通过 网站名 + RSS 的关键字进行搜索,往往都能找到支持网站的 RSS 链接。</p>
|
||
<p>MoreRSS,这个网站提供中、英文的RSS源,并且显示源的订阅量,对于一些受欢迎的英文 RSS,还提供了中文翻译。但此网站还在建设中,收录量不大、功能也不完善,可以关注其更新。</p>
|
||
<p>有一些中文博客聚合网站,收录了多则1000+少则几百的中文博客(PS.经查世界上现存的大熊猫数量约2600只),知名的有十年之约、博友圈、BlogFinder 、积薪、川流 等,不一一列举了。</p>
|
||
<p>Feedsearch,如果在网站的首页看不到 RSS 信息,可以使用这个 RSS 源搜索服务,实测准确度很高,我用它找出来很多隐藏的 RSS 源,如果这个网站搜不到,那可能是网站确实没有提供 RSS。</p>
|
||
<p>RSSAnything ,如果 RSSHub 也没有找到需要的 RSS,可以尝试使用这个网站生成 RSS,这是我试过的效果最好的,但要看运气,有的时候效果很好,有的时候达不到期望值。</p>
|
||
<p>有一些针对具体的社会化媒体生成 RSS 的服务,但或者收费,或者稳定性欠佳失效,或者收费且稳定性欠佳失效(我就订阅了一个微信公众号的 RSS 服务,没用多久就失效了还不退款),想了下,就不在这里列举了,感兴趣可以直接在https://morerss.com/tools_zh.html查找。</p>
|
||
<blockquote>
|
||
<p>英文RSS源翻译<br />
|
||
可以把外语信息源翻译为中文的,这里推荐的服务器是 RSS-Translator,功能强大但需要一定的能力。MoreRSS 基于 RSS-Translator 的服务,翻译了一批优质的外语信息源,可以直接订阅。</p>
|
||
</blockquote>
|
||
<p>当然,我们也可以直接导入现有的订阅源,一般为 OPML 文件,如 RSS Source;或者调用第三方的 RSS 服务,如 anyfeeder,等等。</p>
|
||
<p>这里介绍一个 RSS 神器,由 DIygod 发起的RSShub项目:</p>
|
||
<p>RSSHub 是一个开源项目,旨在为用户提供一个集中化、可定制的RSS(Really Simple Syndication)源的生成器。该项目的目标是通过从各种网站和平台获取信息,将其聚合到用户自定义的RSS源中,从而使用户能够方便地订阅他们关心的内容。</p>
|
||
<ul>
|
||
<li>
|
||
<p>开源性质: RSSHub 是一个开源项目,其源代码可以在 GitHub 上找到。这意味着任何人都可以查看、使用、修改和贡献代码。</p>
|
||
</li>
|
||
<li>
|
||
<p>支持的站点: RSSHub 支持从各种网站和平台提取数据,包括但不限于新闻网站、社交媒体、博客、视频分享平台等。用户可以根据自己的需求选择要订阅的站点。</p>
|
||
</li>
|
||
<li>
|
||
<p>自定义生成: 用户可以通过指定参数和规则来定制他们的 RSS 源,以便获取特定主题或关键字的更新。这使得用户能够灵活地定制他们的订阅流。</p>
|
||
</li>
|
||
<li>
|
||
<p>社区参与: RSSHub 是一个社区驱动的项目,有很多开发者和贡献者参与其中。社区可以通过 GitHub 进行讨论、报告问题和提交代码。</p>
|
||
</li>
|
||
<li>
|
||
<p>部署方式: RSSHub 可以自行部署,用户可以在自己的服务器上搭建RSSHub实例,以便更好地控制和定制生成的RSS源。</p>
|
||
</li>
|
||
</ul>
|
||
<p><strong>确定RSS客户端</strong></p>
|
||
<p>RSS客户端非常丰富,包括 Android 端,IOS 端,Windows 端,linux 端,浏览器插件,甚至 Vscode 插件(用来摸鱼)等等。这里推荐一些阅读器,当然,也可以选择类似 Feedly 的服务商。</p>
|
||
<ul>
|
||
<li>
|
||
<p>Android:News,在Fdorid里可下载,中文名为“新闻”,界面简洁,功能全面,支持本地或连接自建服务端。</p>
|
||
</li>
|
||
<li>
|
||
<p>IOS:Inoreader, 其提供了方便的阅读体验,支持离线阅读、标签和快速搜索。</p>
|
||
</li>
|
||
<li>
|
||
<p>Windows:Fluent Reader,在github上开源,界面优雅,支持本地或连接自建服务端。</p>
|
||
</li>
|
||
<li>
|
||
<p>linux:Fluent Reader或Newsboat, 是 Newsbeuter 的一个分支,一款文本控制台 RSS/Atom 订阅阅读器。</p>
|
||
</li>
|
||
</ul>
|
||
<p><strong>自建RSS服务端</strong></p>
|
||
<p>开源的RSS服务端软件可以用来搭建个人的RSS阅读服务:</p>
|
||
<ul>
|
||
<li>
|
||
<p>FreshRSS: FreshRSS 是一款简单易用的自建 RSS 服务端软件。它提供了丰富的功能,包括标签、筛选器、阅读统计等,并支持多用户。</p>
|
||
</li>
|
||
<li>
|
||
<p>Miniflux: Miniflux 是一个轻量级的 RSS/Atom 阅读器服务,支持自建。它采用 Go 语言编写,具有快速响应和简洁的用户界面。</p>
|
||
</li>
|
||
<li>
|
||
<p>Tiny Tiny RSS (tt-rss): Tiny Tiny RSS 是一款功能丰富的自建RSS服务端软件,提供了类似于 Google Reader 的界面,并支持标签、过滤器、插件等。</p>
|
||
</li>
|
||
<li>
|
||
<p>Selfoss: Selfoss 是一款支持多种数据源(包括RSS)的自建聚合器。它的界面简洁,支持标签、过滤器和插件,同时也提供了跨平台的客户端。</p>
|
||
</li>
|
||
<li>
|
||
<p>Miniflux 2: 不要与上面提到的 Miniflux 混淆,Miniflux 2 是 Miniflux 的一个全新版本,同样支持自建 RSS 服务。</p>
|
||
</li>
|
||
</ul>
|
||
<p>这里以MiniFlux为例,其优势在与:</p>
|
||
<ul>
|
||
<li>
|
||
<p>程序设计极简,不处理任何订阅之外的事情。</p>
|
||
</li>
|
||
<li>
|
||
<p>程序无外部依赖,运行性能高。</p>
|
||
</li>
|
||
<li>
|
||
<p>支持自动抓取并缓存图片,加速浏览。</p>
|
||
</li>
|
||
<li>
|
||
<p>有限支持自动将摘要替换为全文进行抓取。</p>
|
||
</li>
|
||
<li>
|
||
<p>支持多账号登录,支持 Fever API ,允许客户端从外部登录。</p>
|
||
</li>
|
||
<li>
|
||
<p>支持集成 PinBoard 、Instapaper、 Pocket、Wallabag、Nunux Keeper 等服务。</p>
|
||
</li>
|
||
<li>
|
||
<p>提供 Open API、书签快速订阅脚本。</p>
|
||
</li>
|
||
<li>
|
||
<p>维护者和社区相对活跃,更新频率高。</p>
|
||
</li>
|
||
</ul>
|
||
<p><strong>步骤:</strong></p>
|
||
<p>1.安装docker 和docker-compose(略)</p>
|
||
<p>2.Docker 安装 miniflux:</p>
|
||
<p>(1)创建并进入你想安装 Miniflux 的文件夹:</p>
|
||
<p><code>mkdir ~/miniflux</code> # 在根目录创建名为miniflux的文件夹</p>
|
||
<p><code>cd ~/miniflux</code> # 进入miniflux文件夹</p>
|
||
<p>(2)创建docker-compose.yml文件:</p>
|
||
<p><code>nano docker-compose.yml</code> # 使用nano编辑器创建,会自动打开文件以写入内容</p>
|
||
<p>(3)在文件中写入以下内容并保存:</p>
|
||
<pre style="background-color:#151515;color:#e8e8d3;"><code><span>version: '3.4'
|
||
</span><span>
|
||
</span><span>services:
|
||
</span><span>
|
||
</span><span> miniflux:
|
||
</span><span>
|
||
</span><span> image: miniflux/miniflux:latest
|
||
</span><span>
|
||
</span><span> ports:
|
||
</span><span>
|
||
</span><span> - "127.0.0.1:8080:8080" #调整一:增加localhost ip 并改port为8080
|
||
</span><span>
|
||
</span><span> depends_on:
|
||
</span><span>
|
||
</span><span> - db
|
||
</span><span>
|
||
</span><span> environment:
|
||
</span><span>
|
||
</span><span> - DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
|
||
</span><span>
|
||
</span><span> - RUN_MIGRATIONS=1
|
||
</span><span>
|
||
</span><span> - CREATE_ADMIN=1
|
||
</span><span>
|
||
</span><span> - ADMIN_USERNAME=admin # 登录Miniflux的用户名,可自定义
|
||
</span><span>
|
||
</span><span> - ADMIN_PASSWORD=password # 登录Miniflux的密码,可自定义,至少6位
|
||
</span><span>
|
||
</span><span> - "BASE_URL=https://enter.your.url" # 调整二:输入想用来访问Miniflux的域名
|
||
</span><span>
|
||
</span><span> healthcheck:
|
||
</span><span>
|
||
</span><span> test: ["CMD", "/usr/bin/miniflux", "-healthcheck", "auto"]
|
||
</span><span>
|
||
</span><span> db:
|
||
</span><span>
|
||
</span><span> image: postgres:latest
|
||
</span><span>
|
||
</span><span> environment:
|
||
</span><span>
|
||
</span><span> - POSTGRES_USER=miniflux
|
||
</span><span>
|
||
</span><span> - POSTGRES_PASSWORD=secret
|
||
</span><span>
|
||
</span><span> volumes:
|
||
</span><span>
|
||
</span><span> - miniflux-db:/var/lib/postgresql/data
|
||
</span><span>
|
||
</span><span> healthcheck:
|
||
</span><span>
|
||
</span><span> test: ["CMD", "pg_isready", "-U", "miniflux"]
|
||
</span><span>
|
||
</span><span> interval: 10s
|
||
</span><span>
|
||
</span><span> start_period: 30s
|
||
</span><span>
|
||
</span><span>volumes:
|
||
</span><span>
|
||
</span><span> miniflux-db:
|
||
</span></code></pre>
|
||
<p>该 docker-compose.yml 文档内容基于 Miniflux 官方文档 ,并在细节上进行了调整。调整有两处:一是将 port 改为127.0.0.1:8080:8080,主要目的是错开常用port 80,并调整 localhost 为127.0.0.1来跟 nginx 的设置一致(如不调整, miniflux 将使用0.0.0.0,无法顺利运行 nginx );二是在 miniflux 的environment 中加入新的 configuration BASE_URL,请将内容换为你想用来访问 Miniflux 的域名。</p>
|
||
<p>//如何用 nano 保存文件:可以使用 ctrl+X,在退出编辑时,选择Y来保存所有更改,再敲一次回车便可以回到命令行。//</p>
|
||
<p>(4)运行以下代码进行安装:</p>
|
||
<p><code>docker-compose up -d</code></p>
|
||
<p>在浏览器中访问服务器ip:端口号(如http://123.45.67.890:8080),如显示登录界面,即代表安装成功。域名解析和反代步骤略。</p>
|
||
<h2 id="hou-ji">后记</h2>
|
||
<p><a href="https://morerss.com/tools_zh.html">RSS源</a></p>
|
||
|
||
</div>
|
||
|
||
|
||
<div class="pagination">
|
||
<div class="pagination__title">
|
||
<span class="pagination__title-h">Thanks for reading! Read other posts?</span>
|
||
<hr />
|
||
</div>
|
||
<div class="pagination__buttons">
|
||
<span class="button previous">
|
||
<a href="https://blog.dich.bid/opensource-software/">
|
||
<span class="button__icon">←</span>
|
||
<span class="button__text">开源世界:常用跨平台开源软件</span>
|
||
</a>
|
||
</span>
|
||
|
||
|
||
<span class="button next">
|
||
<a href="https://blog.dich.bid/about-podcast-use/">
|
||
<span class="button__text">搭建个人信息流:播客收听指北</span>
|
||
<span class="button__icon">→</span>
|
||
</a>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
<footer class="footer">
|
||
<div class="footer__inner">
|
||
<div class="copyright">
|
||
<span>©
|
||
2025
|
||
Dichgrem</span>
|
||
<span class="copyright-theme">
|
||
<span class="copyright-theme-sep">:: </span>
|
||
Theme: <a href="https://github.com/pawroman/zola-theme-terminimal/">Terminimal</a> by pawroman
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
|
||
</div>
|
||
</body>
|
||
|
||
</html> |