DIY NAS系列31 — 使用 FreshRSS 回归阅读的本质

回归阅读的本质

站在 2024 年的今天,回看过去的这么多年,各种推荐算法和信息流层出不穷,您会发现在刷某乎、头条科技栏位时,大数据会根据您的喜好推送一堆的相同文章给您,这会让我们陷入推荐算法的漩涡。在大数据加持的今天,各类平台好像比您更懂您自己,很多文章为了流量红利都会起一个吸引眼球的标题,一下子流量就上去了,大数据就开始疯狂推送,实际质量一言难尽。果断删除该应用,世界瞬间清净了。但我们始终需要通过网络获取一些"养分",于是木子开始转向阅读一些相对优质的独立博客,但这种管理起来相对比较麻烦,当我们在手机浏览器里浏览,标签页一关就忘了。所以一个良好的阅读管理工具不可少。RSS 可以说是一个古董级的信息获取手段了,但站在今天,它依然是最好的阅读管理工具之一。它可以最大限度的让您自主可控的管理您的信息流,而不会被各种算法所左右。

FreshRSS 简介

RSS 全称简易信息聚合RDF Site Summary 或 Really Simple Syndication),是一种用 XML 编写的文本格式,用于在互联网上以完全自动化的方式发布内容。RSS 属于消息来源(web/news feed)格式规范的一种,可以聚合信源网站的内容更新,并自动通知用户(订阅者)。

FreshRSS 是一个基于 PHP 语言的自托管 RSS 源聚合器。具备轻量、易于使用、功能强大且可定制等特点。功能十分丰富且强大,支持多用户,且具有匿名阅读模式。同时,支持自定义标签,并提供基于 Google Reader API (推荐)和 Fever API (功能和效率部分受限)的应用程序接口和命令行界面。但 RSS 订阅,需要对应网站开启 RSS 订阅功能,像 Rocky Linux 中文社区就开启了对应订阅: Rocky Linux RSS,如果一些网站没有开启 RSS 订阅,您又想订阅怎么办了?这时候就需要用到另一款软件 RSSHub。RSSHub 是一款开源、易用且可扩展的 RSS 源聚合器,它能从几乎所有内容生成 RSS 源。RSSHub 可以从各种来源聚合内容,并可与浏览器扩展程序 RSSHub Radar 和移动辅助应用程序 RSSBud(iOS)、 RSSAid(Android)一起使用。简单来说,我们可以通过 RSSHub 将任何不支持 RSS 的内容都聚合为 RSS 源,再添加进 FreshRSS 管理,最后借助 FreshRSS 的 GReader API 将内容导入客户端应用程序阅读。

部署 FreshRSS

说明: 基于前期构建的 traefik 网关,详见: DIY NAS系列12 — Traefik 出口网关配置
在 docker-compose.yaml 文件中,会对重要的配置进行说明,因个人网络环境等不同,需要根据自身实际情况调整配置。

[root@demo freshrss]# cat > docker-compose.yaml << \EOF
version: '3'

services:
  freshrss-db:
    image: postgres:12
    container_name: freshrss-db
    hostname: freshrss-db
    restart: unless-stopped
    volumes:
      - /SSD/Demo/freshrss/freshrss-db:/var/lib/postgresql/data
    networks:
      - traefik_net
    environment:
      POSTGRES_USER: freshrss
      POSTGRES_PASSWORD: password 
      POSTGRES_DB: freshrss

  freshrss-app:
    image: freshrss/freshrss:latest
    container_name: freshrss-app
    hostname: freshrss-app
    restart: unless-stopped
    ports:
      - "8086:8086"
    depends_on:
      - freshrss-db
    volumes:
      - /SSD/Demo/freshrss/data:/var/www/FreshRSS/data
      - /SSD/Demo/freshrss/extensions:/var/www/FreshRSS/extensions
    environment:
      CRON_MIN: '*/45'             # RSS 刷新周期,单位为分钟,*/45 表示每 45 分钟刷新一次
      TZ: Asia/Shanghai            # 时区
      LISTEN: 0.0.0.0:8086         # 这里将监听端口设置为8086,如果使用默认80,traefik 在反代的时候会出现 Bad Gateway 报错
      TRUSTED_PROXY: 192.168.0.0/16
      FRESHRSS_INSTALL: |-
        --api_enabled
        --base_url https://rss.rockylinux.cn # 配置域名
        --db-base freshrss # 数据库名称
        --db-host freshrss-db # 数据库服务器地址
        --db-type pgsql # 数据库类型
        --db-user freshrss # 数据库用户名
        --db-password password # 数据库密码
        --default_user admin # 默认管理员
        --language zh_CN # 设置语言,启动服务后,web界面并未生效,应该是存在Bug
      FRESHRSS_USER: |-
        --api_password password # 启用API,并设置API接口访问密码
        --email [email protected] # 设置邮箱,web界面并未生效,应该是存在Bug
        --language zh_CN # 设置语言,启动服务后,web界面并未生效,应该是存在Bug
        --user admin # 设置管理员
        --password password # 设置管理员密码
    networks:
      - traefik_net
    labels:
      - traefik.enable=true
      - traefik.docker.network=traefik_net
      - traefik.http.routers.rss.rule=Host(`rss.rockylinux.cn`)
      - traefik.http.routers.rss.entrypoints=websecure
      - traefik.http.routers.rss.tls=true
      - traefik.http.routers.rss.service=rss
      - traefik.http.services.rss.loadbalancer.server.port=8086
networks:
  traefik_net:
    external: true
EOF

# 启动服务
[root@demo freshrss]# docker-compose up -d

配置 FreshRSS

FreshRSS 的基础设置这里不做详细介绍,主要介绍一下怎样添加订阅以及怎样开启 API 管理功能。打开 https://rss.rockylinux.cn 账号密码为我们在 docker-compose.yaml 中设置的账号密码,输入后,点击【登录】。

点击右上角的设置图标 -- 管理 ,进行详细的配置,包括: 语言、时区、主题、内容显示宽度等。

添加订阅源

点击【订阅管理】

在这里可以添加分类,然后基于添加的分类再添加订阅源。

注意对应添加的订阅源,确保订阅地址可以打开。

添加成功以后,会自动获取标题、描述等信息。

在左侧边栏,优质博客中我们可以看到订阅成功,并且已经刮取了对应最新的文章信息。点击对应文章,我们就可以安心阅读了。

启用 API 管理

设置允许 API 访问,主要是为了方便使用 Fluent Reeder 等客户端软件连接 FreshRSS 服务器。
使用管理员登录 Web 界面,点击右上角的设置,点击 认证(Authentication)勾选 允许 API 访问(Allow API access)

在账户 -- API 管理,设置 API 密码。这个 Password 是 RSS 客户端连接时用的,与网页版登录密码可以设置相同也可以不同。

API 密码设置下方有一个 API 连接地址,点击进去,查看详细的 API 信息。如果 Google Reader API 和 Fever API 两项都显示 ✓PASS,则恭喜您,您的服务器一切正常。对应的 API 地址可以记录下来,一会配置客户端需要用到。

Fluent Reader 客户端配置

安卓 Android 客户端: GitHub - readrops/Readrops: Android
Windows macOS 客户端: irreade 阅读器 - FATECORE
Windows macOS iOS Android 全能选手: GitHub - yang991178/fluent-reader

Fluent Reader 客户端可以自己单独添加订阅,也可以同步服务器端订阅,我们可以根据自己实际需求进行配置,建议统一走服务器端配置。

单独添加订阅

这里以 macOS 客户端为例,打开 Fluent Reader ,点击右上角的【设置】-- 【订阅源】,输入 URL,添加即可。

通过服务器端同步

点击【服务】,选择 Google Reader API,输入端点: https://rss.rockylinux.cn/api/greader.php ,以及登录的账号密码,保存即可。

特别说明
这里有一个导出至 Fluent Reader Lite 的功能,会弹出一个二维码,但在配置手机客户端的时候,并未发现可以扫描二维码的功能,实际是需要使用手机自带浏览器或相机扫描,安装 Fluent Reader Lite 并导入配置。

后述语

在推荐算法的漩涡和爆炸式信息流的今天,静心阅读更加珍贵,它能够让我们具有独立思考能力。而我们更应该珍惜还在默默写着独立博客的原创作者。如果您有发现优质的独立博客,请不要吝啬分享,欢迎留言。

参考文献

[1] Github FreshRSS
[2] Docker 部署 README.md
[3] 手机客户端配置说明

Avatar photo

关于 木子

Founder of the Rocky Linux Chinese community, MVP、VMware vExpert、TVP, advocate for cloud native technologies, with over ten years of experience in site reliability engineering (SRE) and the DevOps field. Passionate about Cloud Computing、Microservices、CI&CD、DevOps、Kubernetes, currently dedicated to promoting and implementing Rocky Linux in Chinese-speaking regions.
用一杯咖啡支持我们,每一篇 [文档] 都经过我们实操,并非从网上一味的copy,期间花费了大量的心思,希望能够帮忙到您。
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇