如何使用Cloudflare R2 + PicGo 快速實現免費圖床

這個免費圖床解決方案主要透過 Cloudflare R2 進行實現,並透過 PicGO GUI 進行快速上傳及管理。

你不一定相信免費圖床,但你一定會相信Cloudflare

Cloudflare永遠的神

前言

這篇文章主要是為了工作室旗下項目 S4N Donate System 所撰寫的教學文章,這個項目主要就是一個開源的自建實況主斗內系統,在系統中有很多可以客製的部分,包含很多的圖片部分,引此與其在項目中加入上傳系統我更傾向設定圖片連結來達到效果。

很多服務如老牌 Imgur 或是 新興的 Meee 圖床,都是一個相對快速又便利的圖窗選擇,但實際這些服務能否能長久的正常營運依舊是一個大栽問,因此建立一個可靠的自有圖床是有一定的必要性,而且你都自架實況主斗內系統了

說明

這個免費圖床解決方案主要透過 Cloudflare R2 進行實現,並透過 PicGO GUI 進行快速上傳及管理,後續建制教學會有詳細的設定說明。

這個解決方案除了完全免費(Cloudflare一般額度很難使用完,且egress免費),也仰賴於 Cloudflare 的全球邊緣節點,能夠快速的在世界各地快速訪問,且完全支援需要 S3 的相關服務。

教學

Cloudflare R2 建立

首先進到 Cloudflare 並在左側選單找到 R2物件儲存 ,點擊概觀進入頁面。

在 R2物件儲存 頁面點擊右上角藍色的 建立貯體 按鈕。

在這個介面給你的儲存空間一個你喜歡的名稱,地點的部分除非你的地點在歐盟區域否則選擇 自治 即可,並選擇靠你較近或是圖床容易被使用到的地區。預設儲存類別則可以選擇 標準 ,不頻繁訪問 並不支援免費方案。完成後直接 建立貯體 即可。

建立好後點擊設定標籤頁,這邊請牢記並好好保存您的 S3 API。到這邊為止已經創立好了我們的儲存池,邏輯上已經可以手動上傳圖片當作圖床了,但我們這邊使用 PicGo GUI 作為介面,讓我們可以更方便的操作。

這邊很建議使用 自訂網域 來讓 R2內容公開存取,而不是 公用開發 URL,公用開發 URL 允許任何人透過 r2.dev URL 檢視貯體內容。此 URL 有限速,不建議用於生產。無法使用 Access 和 Caching 等 Cloudflare 功能。

此後的該貯體的存取網址就會是 yourdomain.xx/xxxxx.png。

最後一步,回到 R2 物件儲存 頁面,找到右下角 Account Details 並點擊 API Topens 右方的 Manage 按鈕。

點擊藍色 建立 Account API 權杖 按鈕。

給予權杖一個好辨識的名稱後,權限建議給予 物件讀取和寫入 而不要給予更高的權限,同樣的在 指定貯體 選擇 僅套用至特定貯體 並選擇剛剛創立的 貯體,其他不用更改,最後點選藍色 建立 Account API 權杖 按鈕。

下一頁所提供的所有資訊請妥善保存,這些資訊在離開後不會顯示第二次且無法更改,後續請填寫至PicGo設定中。

此圖片之內容為展示數據

PicGo 設定

前往 Picgo Github 頁面 下載客戶端檔案並進行安裝。

開啟客戶端程式後進入插件設定,並搜尋 S3 下載 此插件

官方原始 插件列表 中確實有專門支援 Cloudflare R2 的插件,但大多年久失修或著已封存不再更新,因此建議使用這個 S3 插件。

下載完成後進入圖床設定,點擊加號新增設定。

Cloudflare R2設定可參考作者提供的 配置說明 進行配置,其他設定詳細說明及保留字請參考 項目說明

FYI:若有在 Cloudflare R2 設定自訂網址,需要在 自定义输出 URL 模板 選項進行配置,例如{protocol}://yourdomain.xx/{uploadedFileName}

配置好設定前往 上傳區 上傳圖片後就可以在相簿複製連結或是需要的格式進行使用。

以上,大功告成。

結語

Cloudflare R2 絕對不只作為圖床這樣簡單而已,然而其穩定性及泛用性非常適合用來作為圖床,相信你看完教學也已經配置好你的圖床了,下一步就是部署你的專屬 實況主斗內系統