GDIndex 是一個基於 Google Drive 並支持上傳下載的開源專案,有了他,便可以輕鬆打造個人網盤或離線下載網盤。因為是部署在 CloudFlare Workers 中,量小的話不用負擔頻寬費用,所以對普通用戶來說是相當的經濟實惠。
但是,當然還是要講一下,如果已經財富自由,最好是弄一台 VPS + S3 (或 NAS + HDD) 來存放檔案,畢竟使用 Google Drive 和 CloudFlare 並不是長久之計。
我之所以會選擇 Google Drive 而不選擇 COS (Cloud Object Storage) 有三個原因。第一,IBM COS 的影片公鏈有時候會變成只剩音檔。這真的是個很奇怪的坑,網路上也都找不到原因所以作罷。第二個是因為 IBM 有一套基於自己的通訊協定 FASP 的傳輸技術 Aspera,這台伺服器裝不了。第三,最主要的一點就是我一個月才20G頻寬,放幾個檔案就滿了。
如果你問 COS 為什麼不用 AWS 的 S3?這是因為 IBM 的免費方案規格比較好啊......
部屬 GDIndex 有兩個方法:自動及手動。而自動真的太簡單了,只要依照 GDIndex 生成器 (更:Google OAuth 申請一直沒過,請至github原專案查看)上提示的步驟做即可,所以就不多述了。(該網站還在申請Google OAuth 驗證,如果急用的話可以上網找別人的站點使用)
Rclone
Rclone 是一個開源、多執行緒、命令行界面的電腦程式,可用於管理雲存儲。其功能包括檔案同步、文件傳輸、加密、緩存和掛載。rclone 共支持包括 Amazon S3 和 Google 雲端硬碟在內的五十多種雲存儲服務。(節錄自維基百科)
一言以蔽之,我們可以通過 Rclone 管理各種雲端硬碟。所以,我們首先就是要部署一個 Rclone 並接入 google drive,詳見官方文檔。
部署工作
接下來,輸入 rclone config file
以查找rclone.conf
的檔案路徑,打開文件後,找到root_folder_id
及refresh_token
,如此,獲取授權碼的工作就結束了。
前往原專案編輯 worker/dist/worker.js
title
是站點的名字default_root_id
是欲設定的雲端硬碟根目錄client_id
和client_seret
是從google API Oauth 生出來的東西refresh_token
便是剛剛從rclone.conf
獲得的東西serveice_accunt
跟 GCP (Google Cloud Platform) 的服務帳戶有關,因為我沒試過,所以就不多說了。auth
提供站點加密服務,開啟的話訪問時會先跳出一個 alert 要你分別填入下方設定的user
和pass
。upload
開啟的話,就可以透過 CloudFlare Route 上傳檔案。lite
開啟的話,就會設定站點主題為一個類似 WebDAV 的精簡主題 (其實就是一點CSS都沒有的plain html)
剩下的工作就只有去 Cloudflare Workers 部署囉。
在有了 Cloudflare 郵箱驗證帳號的前提下,可以前往 Cloudflare Workers 或普通版建立 worker。
如圖,貼上程式碼後。即可在右側即時預覽結果。接著打開他們提供的網址,如果有看到跟預覽視窗一樣的畫面的話就大功告成了!
如果要使用自訂域名
這裡有個小坑是自訂域名填寫 DNS 的 A 紀錄後,還要開啟 Cloudflare 的 proxy,這樣在workers 設定路由後,才能在自訂網域看到想看的東西。
後記
我目前是打算弄個資源鏡像網站,之後還會把圖床慢慢轉移到那邊,畢竟用 Imgur 的話,很有可能幾個月後圖片全都失效。