Blog/public/rss-read/index.html
2024-04-23 16:41:21 +08:00

357 lines
17 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<title>Dich&#x27;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=5">
<meta name="robots" content="noodp"/>
<link rel="stylesheet" href="https://blog.dich.ink/style.css">
<link rel="stylesheet" href="https://blog.dich.ink/color/blue.css">
<link rel="stylesheet" href="https://blog.dich.ink/color/background_dark.css">
<link rel="stylesheet" href="https://blog.dich.ink/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.ink/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.ink">
<meta property="twitter:url" content="https://blog.dich.ink/rss-read/">
<link rel="alternate" type="application/atom+xml" title="RSS" href="https://blog.dich.ink/atom.xml">
</head>
<body class="">
<div class="container">
<header class="header">
<div class="header__inner">
<div class="header__logo">
<a href="https://blog.dich.ink" style="text-decoration: none;">
<div class="logo">
Dich&#x27;blog
</div>
</a>
</div>
</div>
<nav class="menu">
<ul class="menu__inner">
<li class="active"><a href="https://blog.dich.ink">blog</a></li>
<li><a href="https://blog.dich.ink/tags">tags</a></li>
<li><a href="https://blog.dich.ink/archive">archive</a></li>
<li><a href="https://blog.dich.ink/about">about me</a></li>
<li><a href="https://blog.dich.ink/links">links</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.ink/rss-read/">搭建个人信息流:RSS阅读指南</a></h1>
<div class="post-meta-inline">
<span class="post-date">
2024-01-20
</span>
</div>
<span class="post-tags-inline">
:: tags:&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/rss/">#RSS</a>&nbsp;
<a class="post-tag" href="https://blog.dich.ink/tags/tech/">#Tech</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>RSSReally 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 是一个开源项目旨在为用户提供一个集中化、可定制的RSSReally 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>AndroidNews在Fdorid里可下载中文名为“新闻”界面简洁功能全面支持本地或连接自建服务端。</p>
</li>
<li>
<p>IOSInoreader 其提供了方便的阅读体验,支持离线阅读、标签和快速搜索。</p>
</li>
<li>
<p>WindowsFluent Reader,在github上开源界面优雅支持本地或连接自建服务端。</p>
</li>
<li>
<p>linuxFluent 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: &#39;3.4&#39;
</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> - &quot;127.0.0.1:8080:8080&quot; #调整一增加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> - &quot;BASE_URL=https://enter.your.url&quot; # 调整二输入想用来访问Miniflux的域名
</span><span>
</span><span> healthcheck:
</span><span>
</span><span> test: [&quot;CMD&quot;, &quot;/usr/bin/miniflux&quot;, &quot;-healthcheck&quot;, &quot;auto&quot;]
</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: [&quot;CMD&quot;, &quot;pg_isready&quot;, &quot;-U&quot;, &quot;miniflux&quot;]
</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.ink/chatogpt/">
<span class="button__icon"></span>&nbsp;
<span class="button__text">如何高效地向 ChatGPT 提问</span>
</a>
</span>
<span class="button next">
<a href="https://blog.dich.ink/awesome-podcast-use/">
<span class="button__text">搭建个人信息流:播客收听指北</span>&nbsp;
<span class="button__icon"></span>
</a>
</span>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="footer__inner">
<div class="copyright">
<span>©
2024
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>
<script async defer src="http://173.249.208.93:12345/tracker.js" data-website-id="cluckwxwg0005qf4n55m737sz"></script>
</div>
</body>
</html>