0%

自建 RSSHub 筆記

Follow 系列文第二篇,來紀錄一下我自建 RSSHub 的過程。
包括為什麼選擇自建、部署過程、設定 domain 的過程、以及怎麼設定 twitter 路由的設定等等。

為什麼選擇自建 RSSHub?

  1. 穩定

    因為官方 RSSHub 節點太多人在使用了,很容易被各個網站封鎖,很容易更新不了內容。
    另外自建也可以設定更短的快取過期時間,更快看到新內容。

  2. 可以看社群媒體

    因為第一點的原因,官方的 RSSHub 節點基本上是爬不了社群網站的內容。
    還有有些路由支援使用自己的身份,例如 twitter,自建的話可以放入自己的 token。

部署到 GCP

GCP 在試用之外也有提供免費的額度 (參考 free-tier),如果只是簡單的應用的話不需要花到錢。

這次選擇部署在 Google Compute Engine,
選擇有免費額度的規格: us-west1 區域的 E2-Micro 規格,並將硬碟改成標準永久硬碟 10GB。
在建立 VM 時選擇直接 pull 線上的 image: diygod/rsshub:latest,省略還要安裝 docker 的功夫,
而且預設就會做好 port 的 mapping,不用另外設定。

因為 RSSHub 預設服務 port 是 1200,所以需要設定防火牆,
VPC networks 底下 Firewall 新增一條輸入規則 tcp:1200
為了資安,要設定來源ip的限制,因為我選擇用 Cloudflare 做 proxy 所以只需要開放 Cloudflare 的 IP 即可 (參考 Cloudflare IP Range)。
更嚴謹的話可以開一個新的網路並且只設定這一條規則就好。

ps. 也可以設定環境變數 PORT 將服務開放的 port 改成 443

設定 domain

為了減少以後還要更換 IP 的困擾,順手掛上 domain,
這次也請出大家的好朋友 Cloudflare,
在 DNS 新增一條 A record, proxying 到 VM 的外部 IP 上。

再來要加上 https!
RulesOrigin Rules 下新增一條規則,設定 Custom Filter 將包含指定 domain 的請求對應到 port 1200
只要 SSL 模式設成 flexible 的話 Cloudflare 就會自動幫忙處理 SSL 憑證的事,可以使用 https 開啟網頁。
現在使用瀏覽器開啟設定的 domain 的話就可以看到 RSSHub 的首頁了!
接下來就可以去 Follow 上增加 feed 了~

其他

設置 twitter

官方推薦設置 TWITTER_AUTH_TOKEN,需要使用開發者模式找到自己的 cookie 然後找到 auth_token= 後面那串就是了。
需要把它放到 VM 的環境變數,如果已經啟動 VM 了,需要重新啟動才會生效。

更新版本

因為我是直接在 VM 設定 pull image,
啟動時會去 pull 最新的 image ,所以只要重啟 VM 就會自動更新新的版本了。
(我是都點重設, IP 不會變就不用每次都去 Cloudflare 設定)

比想像中簡單就可以自建一個 RSSHub 了,祝大家順利~