搭建永久免費的圖牀
整理版優先睇
搭建永久免費圖牀:用Cloudflare、GitHub、Telegram等免費服務組合
本文係作者分享親身搭建永久免費圖牀嘅完整覆盤。作者想解決「圖片儲存要付費、國內訪問慢」嘅問題。整體結論係透過組合多個免費服務,可以做到無限容量、CDN加速、防盜鏈,而且完全免費。
工具包括GitHub(代碼倉庫)、Cloudflare(Pages、R2、KV)、Telegram(Bot同Channel)、EdgeOne(國內CDN)同一個自訂域名。作者特別提醒新版Cloudflare儀錶板有改動,同埋R2地區揀亞太區會快啲。
部署過程需要先Fork倉庫用Pages部署,然後建立R2同KV並綁定,再配置自訂域名同EdgeOne加速。最後設定Telegram做備用空間同防盜鏈。注意預設URL前綴若留空會自動生成連結。
- 結論:呢套方案可以永久免費,唔使俾錢,容量幾乎無限(靠TG)。
- 方法:用Cloudflare Pages部署圖牀代碼,R2做對象儲存,KV記錄圖片URL,EdgeOne做CDN加速。
- 差異:相比其他付費圖牀,呢個方案完全自託管,控制權喺自己手,而且有國內CDN。
- 啟發:免費服務嘅免費層足夠砌出一個完整系統,關鍵係識得組合同妥協(例如R2得10GB,但TG有無限容量做備份)。
- 可行動點:按步驟註冊EdgeOne拎免費額度、Fork倉庫、綁定域名,好快就有自己嘅圖牀。
詳細部署教程
包含每一步截圖,適合新手
EdgeOne免費計劃活動
完成測速即可獲得永久免費無限額度
Telegram Bot & Channel 配置教程
配置TG備用儲存嘅完整步驟
整體方案與工具介紹
呢篇教程係作者親身覆盤,教你點樣用免費服務砌一個永久圖牀。工具清單包括一個域名、GitHub、Cloudflare、Telegram同EdgeOne。
- 域名:自訂圖片URL,做CDN加速
- GitHub:Fork圖牀倉庫代碼
- Cloudflare:用Pages部署、R2對象儲存(免費10GB)、KV記網址
- Telegram:Bot同Channel做備用無限儲存
- EdgeOne:國內CDN加速,永久免費無限額度
域名建議託管到Cloudflare,唔開橙雲國內訪問會正常啲
整體流程包括部署代碼、配置儲存、綁定域名同加速、設定Telegram備份、調整圖牀設定同防盜鏈。
部署圖牀代碼同配置R2/KV
- 1 先去GitHub Fork倉庫:https://github.com/MarSeventh/CloudFlare-ImgBed
- 2 喺Cloudflare Pages新建頁面(㩒右上角加號,唔好㩒建立應用程式),連接GitHub揀剛Fork嘅倉庫
- 3 導入Git倉庫後,構建命令填 npm install,然後保存並部署
部署完之後,要建立R2儲存桶同KV命名空間,然後綁定到Pages項目。
- 1 喺Cloudflare R2創建儲存桶,地區揀亞太區(APAC)加快國內訪問,變量名 img_r2
- 2 喺Cloudflare KV創建命名空間,叫 img_url
- 3 返去Pages項目設定 -> 綁定,分別添加R2同KV:變量名 img_r2 同 img_url
- 4 綁定完重新部署一次
R2地區揀亞太區,境內訪問會快啲
配置域名、CDN同TG備份
首先為Pages項目添加自訂域名,例如 img.hackdeacon.com。然後為R2儲存桶都加一個自訂域名,例如 r2.hackdeacon.com,呢個會用嚟做CDN回源地址。
R2自定義域名會用作CDN回源地址,記住呢個域名
跟住配置EdgeOne CDN:去EdgeOne活動網址拎免費計劃,完成測速同分享後就有無限額度。喺EdgeOne綁定一個加速域名,源站類型揀對象儲存,填寫R2自訂域名同API密鑰。
最後配置Telegram Bot同Channel作為備用儲存。詳細步驟請參考資源入面嘅TG配置教程。
圖牀設定同防盜鏈
喺圖牀站點設定你可以改LOGO、背景、站點名稱等。有兩個重點要注意。
如果開咗CDN加速,記得改默認URL前綴,否則圖片連結會錯
默認URL前綴留空,圖片連結會變成「站點連結/file/圖片名」
防盜鏈方面,Cloudflare主頁Scrape Shield嘅Hotlink保護開啓後,第三方網站引用圖片會403。如果你想某些圖片公開俾人用,可以放喺 hotlink-ok 文件夾。
用到嘅工具有:一個域名、GitHub、Cloudflare、Telegram、EdgeOne。
域名用嚟自定義圖片 URL、公開域、CDN 加速,GitHub 用嚟 Fork 圖牀倉庫代碼,並同步更新上游,Cloudflare 會用到 R2 對象存儲(免費 10GB)、Pages、KV,Telegram 會用到 Bot 同 Channel 作為備用存儲空間(無限容量),EdgeOne 作為國內 CDN 加速。
呢個教程只係覆盤,純小白請睇超詳細嘅部署教程文檔:https://cfbed.sanyue.de
一、部署圖牀
https://github.com/MarSeventh/CloudFlare-ImgBed
Fork 倉庫代碼去自己嘅 GitHub,並用 Cloudflare Pages 部署。

請注意新版本 Cloudflare 嘅 Workers and Pages 嘅儀表盤有改動,請撳頁面右上角嘅加號新建頁面,而唔係撳嗰頁上面嘅創建應用程序。

連接你嘅 GitHub 賬號之後,揀我哋頭先 Fork 嘅倉庫。

構建命令填寫 npm install,然後撳 保存並部署。

二、配置 R2 及 KV
創建 R2
Cloudflare -> 存儲和數據庫 -> R2 對象存儲 -> 概述 -> 創建存儲桶
起一個你鍾意嘅名,地區我哋揀 亞太地區 (APAC) 咁樣境內訪問會快啲。

創建 KV
Cloudflare -> 存儲和數據庫 -> Workers KV
創建 KV 命名空間 img_url

綁定 R2 同 KV 到 Pages 項目
返去頭先嘅 Pages 項目:Workers 和 Pages -> cloudflare-imgbed (項目名稱) -> 設置 -> 綁定 -> 添加 R2 存儲桶
變量名 img_r2,R2 存儲桶揀頭先創建好嘅。

繼續添加 KV 命名空間,變量名 img_url。

R2 同 KV 綁定完成之後,撳部署 -> 重試部署。

三、配置域名同 CDN
配置圖牀前端自定義域名
喺 Pages 項目入面撳自定義域,添加你嘅域名,例如 img.hackdeacon.com,請提前做好解析,推薦將域名託管到 Cloudflare,唔開橙雲國內訪問速度會正常啲(僅作為 DNS 解析)。

配置 R2 存儲桶自定義域名
例如 r2.hackdeacon.com,呢度嘅自定義域名後面會用嚟作為 CDN 加速回源地址。

EdgeOne 配置 CDN 加速
大家可以揀唔同廠家嘅 CDN,呢度我揀 EdgeOne,因為有永久免費無限額度。
完成測速並分享去唔同平台,就可以得到四個域名嘅託管額度。
活動地址 https://edgeone.ai/zh/get-free-plan

進入套餐管理頁面
https://console.tencentcloud.com/edgeone/package
撳去綁定域名,跟住提示做好域名嘅解析,呢度我揀 CNAME 接入,因為我嘅域名 NS 託管咗喺 Cloudflare。

返去 Cloudflare 創建 R2 存儲桶嘅 API 訪問密鑰。R2 -> Account Details -> Manage

創建 Account API 令牌,權限建議改成 對象讀和寫,其他保持默認,撳創建之後,保存好 Access Key ID 和 Secret Access Key。

加速域名:後續作為圖牀嘅主連結,例如 pic.hackdeacon.com。
源站配置揀 對象存儲源站,S3 兼容,源站地址填寫頭先作為 R2 存儲桶嘅自定義域名。 將頭先創建嘅公鑰同私鑰填寫入相應嘅位置,推薦模板揀 網站加速。

添加完之後配置 HTTPS 證書。

生效之後我哋可以用
https://www.itdog.cn/http
測試一下加速效果,僅供參考。


四、配置 TG
呢個教程最核心嘅配置 EdgeOne CDN 加速已經結束。
下面懶得寫,請睇 TG Bot & Channel 配置教程:
https://cfbed.sanyue.de/deployment/prerequisites.html
配置完之後喺圖牀嘅設置入面添加 Telegram 上傳渠道。

五、配置圖牀
圖牀站點 LOGO、背景、名字等等。
有一個需要注意嘅點,如果配置咗 CDN 加速,記得修改默認 URL 前綴。
仲有一個需要注意嘅點,如果默認 URL 前綴留空唔填嘅狀態下,默認圖片連結將會係圖牀站點嘅連結後面加 /file 路徑。
例如 https://img.hackdeacon.com/file/123.png

六、防盜鏈
Cloudflare 主頁 -> Scrape Shield -> Hotlink 保護

開啓之後你嘅圖片只可以喺你域名下嘅站點使用,第三方域名站點將會 403。
當然都可以上傳圖片去 hotlink-ok 文件夾下,該文件夾入面嘅圖片無防盜鏈保護。
用到的工具有:一個域名、GitHub、Cloudflare、Telegram、EdgeOne。
域名用來自定義圖片 URL、公開域、CDN 加速,GitHub 用來 Fork 圖牀倉庫代碼,並同步更新上游,Cloudflare 會用到 R2 對象存儲 (免費 10GB)、Pages、KV,Telegram 會用到 Bot 和 Channel 作為備用存儲空間 (無限容量),EdgeOne 作為國內 CDN 加速。
本教程只作為覆盤,純小白請看超級詳細的部署教程文檔:https://cfbed.sanyue.de
一、部署圖牀
https://github.com/MarSeventh/CloudFlare-ImgBed
Fork 倉庫代碼到自己的 GitHub,並用 Cloudflare Pages 部署。

請注意新版本 Cloudflare 的 Workers and Pages 的儀表盤有所改動,請點擊頁面右上角的加號新建頁面,而不是點擊該頁面上的創建應用程序。

連接你的 GitHub 賬號後,選擇我們剛剛 Fork 的倉庫。

構建命令填寫 npm install,然後點擊 保存並部署。

二、配置 R2 及 KV
創建 R2
Cloudflare -> 存儲和數據庫 -> R2 對象存儲 -> 概述 -> 創建存儲桶
起一個你喜歡的名字,地區我們選擇 亞太地區 (APAC) 這樣境內訪問會快一點。

創建 KV
Cloudflare -> 存儲和數據庫 -> Workers KV
創建 KV 命名空間 img_url

綁定 R2 和 KV 到 Pages 項目
回到剛剛的 Pages 項目:Workers 和 Pages -> cloudflare-imgbed (項目名稱) -> 設置 -> 綁定 -> 添加 R2 存儲桶
變量名 img_r2,R2 存儲桶選擇剛剛創建好的。

繼續添加 KV 命名空間,變量名 img_url。

R2 和 KV 綁定完成之後,點擊部署 -> 重試部署。

三、配置域名及 CDN
配置圖牀前端自定義域名
在 Pages 項目中點擊自定義域,添加你的域名,例如 img.hackdeacon.com,請提前做好解析,推薦將域名託管到 Cloudflare,不開橙雲國內訪問速度會正常一些(僅作為 DNS 解析)。

配置 R2 存儲桶自定義域名
例如 r2.hackdeacon.com,此處的自定義域名後面會用來作為 CDN 加速回源地址。

EdgeOne 配置 CDN 加速
大家可以選擇不同廠家的 CDN,這裏我選擇 EdgeOne,因為有永久免費無限額度。
完成測速並分享至不同平台,即可獲得四個域名的託管額度。
活動地址 https://edgeone.ai/zh/get-free-plan

進入套餐管理頁面
https://console.tencentcloud.com/edgeone/package
點擊去綁定域名,按照提示做好域名的解析,這裏我選擇 CNAME 接入,因為我的域名 NS 託管在了 Cloudflare。

回到 Cloudflare 創建 R2 存儲桶的 API 訪問密鑰。R2 -> Account Details -> Manage

創建 Account API 令牌,權限建議改成 對象讀和寫,其他保持默認,點擊創建後,保存好 Access Key ID 和 Secret Access Key。

加速域名:後續作為圖牀的主連結,例如 pic.hackdeacon.com。
源站配置選擇 對象存儲源站,S3 兼容,源站地址填寫剛剛作為 R2 存儲桶的自定義域名。 將剛剛創建的公鑰和私鑰填寫進相應的位置,推薦模板選擇 網站加速。

添加完後配置 HTTPS 證書。

生效後我們可以用
https://www.itdog.cn/http
測試一下加速效果,僅作參考。


四、配置 TG
本教程最核心的配置 EdgeOne CDN 加速已結束。
下面懶得寫了,請看 TG Bot & Channel 配置教程:
https://cfbed.sanyue.de/deployment/prerequisites.html
配置完後在圖牀的設置裏添加 Telegram 上傳渠道。

五、配置圖牀
圖牀站點 LOGO、背景、名字等等。
有一個需要注意的點,如果配置了 CDN 加速,記得修改默認 URL 前綴。
還有一個需要注意的點,如果默認 URL 前綴放空不填的狀態下,默認圖片連結將是圖牀站點的連結後加 /file 路徑。
例如 https://img.hackdeacon.com/file/123.png

六、防盜鏈
Cloudflare 主頁 -> Scrape Shield -> Hotlink 保護

開啓之後你的圖片只能在你域名下的站點使用,第三方域名站點將會 403。
當然也可以上傳圖片到 hotlink-ok 文件夾下,該文件夾內的圖片無防盜鏈保護。