Follow 系列文第二篇,來紀錄一下我自建 RSSHub 的過程。
包括為什麼選擇自建、部署過程、設定 domain 的過程、以及怎麼設定 twitter 路由的設定等等。
為什麼選擇自建 RSSHub?
穩定
因為官方 RSSHub 節點太多人在使用了,很容易被各個網站封鎖,很容易更新不了內容。
另外自建也可以設定更短的快取過期時間,更快看到新內容。可以看社群媒體
因為第一點的原因,官方的 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!
在 Rules 的 Origin 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 了,祝大家順利~