介紹#
此前我的圖床是基於 Cloudflare + Telegraph 這兩位大善人的,我本以為他們會比我的博客活得更久,因此我默認這是一個長期的解決方案,足夠可靠易用,最重要的是免費。
但最近 Telegram CEO 被捕,韓國也因為審查方面的原因和 Telegram 有衝突,可能受此影響,Telegraph 的圖床服務已經不能上傳新的圖片,舊的圖片尚且可以訪問,但也不知道什麼時候就會完蛋。
於是我開始尋找新的圖床解決方案,我的期望是可靠易用,最好免費,Cloudflare R2+PicGo+WebP Cloud 就是這樣的解決方案。
本文主要參考了 **這篇文章**,另外包括了 WebP Cloud 自定義域名 和 從 Telegraph 遷移圖片到 R2 圖床 的內容。
部署#
我可以保證,在 2024 年 9 月這個時間點,我的部署方式是行之有效的。
您需要#
- Cloudflare 帳號,並綁定信用卡(開啟 R2 的必要條件)
- 一個域名(非必須,但有的話更帥)
接下來讓我們開始吧...
啟用 Cloudflare R2#
- 打開 Cloudflare 控制台,選擇 R2,在這裡您可以看到R2的免費額度,點擊同意啟用。
- 新建一個 bucket(Create bucket)- 輸入你喜歡的名字,例如 image。
- 選擇你希望的地區,例如 APAC。
- 點擊 Create bucket進行創建。
 
- 輸入你喜歡的名字,例如 
- 點擊剛創建的名為 image的 bucket。- 如果您有域名,進入 setting,設置Custom Domains(如果您的域名就在 Cloudflare,可以很快速得直接添加)。
- 如果您沒有域名,進入 setting,點擊R2.dev subdomain旁的Allow Access,輸入allow,你將會獲得一個xxxxxx.r2.dev的地址。
- 現在您應該可以上傳圖片了,您可以在 imagebucket 中的Objects板塊中上傳圖片進行測試。
 
- 如果您有域名,進入 
- 現在點擊頁面左邊的 R2,回到 Overview,在Account details下,點擊Account ID下的Manage R2 API Tokens。- 點擊 Create API token創建一個新的 API token。
- 取一個名字,例如 image-R2。
- Permission選擇- Object Read & Write。
- Specify buckets下選擇剛剛創建的- image。
- 點擊 Create API Token創建。
- 您將獲得 PicGo 所需的信息,包括 Access Key ID、Secret Access Key以及endpoints。只會顯示一次,請先保存下來。
 
- 點擊 
- 至此,Cloudflare dashboard 中的操作已經完全結束。
設置 PicGo#
- 下載 PicGo。
- 安裝後點擊插件設置,搜索 s3,找到作者為WayJam So的插件,安裝。
- 進入圖床設置,找到 Amazon S3,添加或者修改默認的設置。- 圖床配置名隨便寫,如 r2。
- 應用密鑰 ID為- Access Key ID。
- 應用密鑰為- Secret Access Key。
- 桶名為您設置的 bucket 名字,在這裡為- image。
- 自定義節點為- endpoints。
- 自定義域名為 您設置的- Custom Domains或 Cloudflare 為您分配的- xxxxxx.r2.dev地址。
- 點擊確定。
 
- 圖床配置名隨便寫,如 
- 至此,您應該可以通過 PicGo上傳照片了。
使用 WebP Cloud 對您的地址進行代理。#
- 進入 WebP Cloud Dashboard,登錄。
- 進入左側的 Price板塊中您可以看到免費額度。
- 進入左側的 Home板塊,往下拉,點擊Create Proxy。- 選擇你喜歡的地區,這裡我選擇 Hillsboro, OR。
- Proxy Name隨便填,例如- R2-image。
- Proxy Origin URL填入您設置的- Custom Domains或 Cloudflare 為您分配的- xxxxxx.r2.dev地址。
- 點擊 Create進行創建。
- 這時候將會給您分配一個 xxxxxx.webp.li地址。
 
- 選擇你喜歡的地區,這裡我選擇 
- 如果您希望設置自定義域名,進入剛創建的這條 Proxy,點擊 Custom domain,根據提示在你的 DNS 解析中添加對應的條目,稍等片刻後您就可以在Custom domain中 activate 您的自定義域名了。
- 接下來您需要在 PicGo中更改自定義域名為您在WebP Cloud中設置的自定義域名或者是WebP Cloud為您分配的xxxxxx.webp.li地址。
遷移#
我有一大堆圖片保留在 Telegraph 的圖床中,我希望將其全部遷移到 R2 中,PicGo 的插件 pic-migrater 是一個好的選擇,開發者為 Molunerfinn。
- 下載插件後,點擊插件設置,點擊插件右下角的小齒輪,點擊 配置 plugin - picgo-plugin-pic-migrater。
- 新文件名後綴隨便填,例如 _new。
- 我將 舊內容寫入新文件設置為 no,被轉換過的文件就會被命名為源文件名_new.md,我可以方便對這些文件進行檢查。
但對於某些 markdown 文件, pic-migrater 會出現無法遷移的情況,尚且不知道如何解決。我的做法是針對落單的文件一個一個手動處理。
結尾#
言盡於此。
此文由 Mix Space 同步更新至 xLog 原始鏈接為 https://xxu.do/posts/geek/Cloudflare-R2%2BPicGo%2BWebP-Cloud