介紹#
RSS(Really Simple Syndication 或 RDF Site Summary),是一種消息來源格式規範,用以聚合多個網站更新的內容並自動通知網站訂閱者。
能看到這篇文章,想必你大概知道 RSS 是什麼了,不過多贅述了。
本解決方案使用以下服務:
- RSSHub:用於將大多數服務轉 RSS
- WeWe RSS:用於將微信公眾號轉 RSS
- FreshRSS:用於定時抓取,替代 Inoreader
- Reeder:一個簡潔舒適的 RSS 閱讀器
- Feed Creator、PolitePol:通過可互動的方式將網站轉 RSS
本解決方案的好處是:
- 將信息中心化:無需在多個網站、APP 或者社交媒體反復刷新,在一個地方看到你想看的所有內容
- 可控的抓取頻率:即便發布的內容因為各種原因被下架和諧,只要已經被抓取過,你的伺服器上就保存有這些內容,可供查看
- 完全自建:不擔心信息洩漏,所有內容保存在本地或伺服器上
完成這一切你只需要一台伺服器,廢話不多說,我們現在開始。
安裝 RSSHub#
- 安裝 Docker
curl -fsSL https://get.docker.com | bash -s docker
- 通過 Docker Compose 安裝 RSSHub
wget https://raw.githubusercontent.com/DIYgod/RSSHub/master/docker-compose.yml
vi docker-compose.yml # 或者你喜歡的編輯器
docker-compose up -d
- RSSHub Radar 是一個 Chromium 內核瀏覽器插件,通過它可以很方便得知目前該網站是否提供 RSS 訂閱地址,或 RSSHub 中是否存在該網站的相應規則。
安裝 Wewe RSS#
- 安裝
mkdir wewerss && cd $_
wget https://github.com/cooderl/wewe-rss/raw/refs/heads/main/docker-compose.yml
vi docker-compose.yml #更改服務接口請求授權碼等信息
- 啟動容器
docker compose pull && docker compose up -d
- 進入 http://ip:4000,輸入此前更改的服務接口請求授權碼後即可進入
- 先在帳號管理處添加一個帳號,然後即可根據提示添加訂閱
安裝 FreshRSS#
- 在本地創建文件夾,這兩個文件夾將映射到 Docker 容器內
mkdir -p /root/FreshRSS/data /root/FreshRSS/extensions
- 使用 Docker 啟動
docker run -d --restart unless-stopped --log-opt max-size=10m \
-p 127.0.0.1:8080:80 \
-e TZ=Asia/Shanghai \
-e 'CRON_MIN=1,16,31,46' \ #每小時拉取 4 次
-v /root/FreshRSS/data:/var/www/FreshRSS/data \
-v /root/FreshRSS/extensions:/var/www/FreshRSS/extensions \
--name freshrss \
freshrss/freshrss
- 因為 docker 啟動參數中監聽 127.0.0.1,因此需要先使用 nginx 等反代服務。如果你不需要域名,將 127.0.0.1 改為 0.0.0.0 後即可直接通過 http:// 域名:端口 的形式訪問。
- 創建新用戶後,進入設置。在認證中將允許 API 訪問勾選,隨後在帳戶的 API 密碼中輸入用於閱讀器登錄的密碼。
RSS 閱讀器#
選擇一個支持 Google Reader compatible API 的閱讀器,比如 Reeder。
在 Reeder 中選擇 FreshRSS,填入端口(通過 http:// 域名:ip/api 查看)、用戶名和密碼(剛才設置的 API 密碼)後,即可添加你想要的訂閱源,開始快樂閱讀吧。
結尾#
如果一個網站 / 服務,官方沒有提供 RSS 訂閱地址,而 RSSHub 中也沒有相應的路由規則,那麼可以通過以下方式進行訂閱:
- 根據 RSSHub 的規則,向 RSSHub 貢獻一個路由規則。
- 通過 Feed Creator、PolitePol 等服務進行訂閱,其中 Feed Creator 可帶 Cookie。
此文由 Mix Space 同步更新至 xLog 原始鏈接為 https://xxu.do/posts/geek/rss