介紹#
此前我的圖床是基於 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
的地址。 - 現在您應該可以上傳圖片了,您可以在
image
bucket 中的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