快轉到主要內容

自架網頁RSS閱讀器FreshRSS,取回閱讀自主權,不被社群媒體演算法控制

· 民國115年丙午年
·
切換繁體/簡體 ·
分類 Linux系統 Self-hosting自架
標籤 RSS Feed Social Media
目錄

用Docker架設一個自動爬取網站RSS資訊的「FreshRSS」伺服器兼閱讀器,隨時隨地用電腦與手機瀏覽。

這是一個簡單的網頁RSS閱讀器,可以自定義主題。

1. 使用RSS的動機
#

為什麼要用RSS?如果你不想再依賴社群媒體演算法被動餵食訊息,決定你能看到什麼,推送垃圾rage-baiting內容,你必須開始學會用RSS訂閱網站更新!主動找你想看的內容,打造自己的資訊流,不被社群媒體平臺綁架。

RSS是20年前就有的標準,網站作者只要發佈一個XML檔案就能向讀者廣播有新文章的訊息,而且也不用透過E-mail接收。讀者可以使用任意程式閱讀RSS。本文介紹的FreshRSS就是一個例子。

即使在現在,演算法與AI當道的時代,RSS依然是社群媒體以外一個很好的資訊來源管道,協助你整合資訊,不被演算法控制,取得閱讀自主權。

Ivon使用RSS的目的,除了打造自己的資訊流以外,就是將一些臭味相投的小眾部落格收集起來,他們可能轉瞬即逝,所以用RSS訂閱起來就不會錯過了。

你可能會說現在很多網站壓根就沒考慮到RSS功能,或是根本就把該功能移除了。

沒有RSS,那麼隨機看到超ㄅㄧㄤˋ的網頁該怎辦?你應該馬上將那個網頁送到Internet Archive拍快照,永久封存。

我還幫你挑了很酷的標本罐

…沒有啦,你有「RSS Bridge」可以自動依照網頁產生RSS,所以即使網站不支援RSS還是有辦法訂閱。最主要是掌握資訊自主權。

回到正題,如何搞RSS閱讀器呢?

我不想依賴他人的RSS訂閱服務(例如Feedly),免得哪天網站倒了資料也沒了,所以自架。話說我在Feedly看到Ivon的網站RSS有百餘人訂閱很感動,謝謝各位的支持。

關於自架RSS訂閱服務,選擇有:FreshRSS、Miniflux、Tiny Tiny RSS

我選擇FreshRSS,一款簡單易用的RSS伺服器,提供網頁界面,隨時用電腦或手機讀RSS文章。

FreeRSS的介面看起來就像2010年的Gmail。是的,真的蠻復古的介面,嘿,但是速度很快!

若是嫌FreshRSS界面太醜,修改自訂主題。

或者你可以用API的方式,將其分享給比較漂亮的RSS閱讀器,例如跨平台的Fluent Reader。

2. 架設FreshRSS伺服器
#

  1. 在Linux安裝Docker

  2. 新增儲存資料目錄

mkdir -p ~/freshrss

cd ~/freshrss
  1. 參考FreshRSS官方範本,撰寫docker-compose.yml
services:
  freshrss:
    ports:
      - 8192:80 #暴露的通訊埠,我把80改成8192
    image: freshrss/freshrss:latest
    container_name: freshrss
    hostname: freshrss
    restart: unless-stopped
    logging:
      options:
        max-size: 10m
    volumes:
      - ./data:/var/www/FreshRSS/data
      - ./extensions:/var/www/FreshRSS/extensions
    environment:
      TZ: Asia/Taipei
      CRON_MIN: '3,33'
      TRUSTED_PROXY: 172.16.0.1/12 192.168.0.1/16
  1. 啟動服務
docker compose up -d
  1. 瀏覽器開啟http://Linux電腦區域IP:8191,新增帳號登入FreshRSS。

  2. 關於要如何從外網存取FreshRSS,你可以做個Cloudflare Tuneel,或是用內網穿透軟體

3. FreshRSS訂閱RSS
#

你只要點選左上角新增訂閱源,輸入RSS網址完成訂閱。在這裡你可給不同的網站分類,例如我會分成「新聞專欄」與「部落格」

FreshRSS預設會以新訂閱的RSS來排序文章(而非RSS Feed所提供的時間),所以版面會被新加入的網站佔滿,請按「全部已讀」,才能讀取其他網站的文章。

建議已經有一批RSS訂閱列表的人,一開始就完成全部訂閱動作。在訂閱後等個幾天,你的FreshRSS版面應該就會依照不同網站的文章的時間排序了。

4. 一些FreshRSS的小問題
#

如果該網站明明有RSS Feed但是FresshRSS無法抓取,出現Unknown error for feed,那麼可能是被Cloudflare擋住了,這個用flaresolverr擴充功能繞過。

有些網站沒有提供RSS Feed,得用RSS Bridge設定規則,爬取HTML或CSS網頁元素製成RSS Feed,再傳給FreeRSS訂閱。

5. 將FreshRSS與Fluent Reader連線
#

Fluent Reader是一款跨平台的RSS閱讀器,你不用在Fluent Reader加入RSS訂閱,只要讓Fluent Reader去連FreshRSS的伺服器,從那裡爬取資訊就行了。

  1. 進入FreshRSS後台,設定API管理,設定密碼,再點一下下方網址

  2. 複製顯示的Fever API端點網址

  3. 於Fluent Reader的服務貼上網址即可。

6. Ivon的RSS訂閱源
#

目前Ivon訂閱RSS主要是追蹤一些小眾主題的部落格,還有專門主題網站的更新。我不太會訂大雜燴的新聞網站RSS,起碼不會是只會寫殺人標題的下流媒體,得是提供獨家觀點的媒體。

部份舉隅:

如果你要訂閱本站「Ivon的部落格」的RSS,請戳這裡

相關文章


感謝您的閱讀。我寫作是為了誠實表達想法,而不是追逐社群互動與流量。我很樂意傾聽你在仔細閱讀我文章之後的心得。若有內容勘誤 or 技術問題 or 回饋想法,歡迎透過本站「關於」頁面的Email與我聯絡。