goindex用cloudflare搭建Google Drive目录索引网盘
一. 简介
CloudFlare在折腾出来个1.1.1.1 DNS over TLS之后,又弄出了Workers,让我们可以部署自己的JS到它们那儿,执行一些计算,提供一些服务。
而上一篇博客,我们知道可以调用谷歌网盘提供的api,来操作谷歌的网盘。
那CloudFlare Workers+Google Drive呢?这就是goindex。
二.CloudFlare Workers
开始之前,首先要有个CloudFlare账号。
CloudFlare可以说是世界上最大的免费cdn商家了,后来折腾免手续费注册域名,然后1.1.1.1 DNS over TLS,最近又推出Workers,真是很牛逼。
三.谷歌网盘
其次,要有个谷歌网盘。可以看上篇博客获取1PB谷歌团队盘
https://wangbin.io/blog/it/gdrive-rclone.html
四. goindex
https://github.com/donwa/goindex
到这个github上,下载下来index.js文件
index.js
var authConfig = {
"siteName": "GoIndex", // 网站名称
"root_pass": "index", // 根目录密码,优先于.password
"version" : "1.0.6", // 程序版本
"theme" : "material", // material classic
"client_id": "202264815644.apps.googleusercontent.com",
"client_secret": "X4Z3ca8xfWDb1Voo-F9a7ZxJ",
"refresh_token": "", // 授权 token
"root": "root" // 根目录ID
};
xxx
authConfig是我们需要根据自己的情况要设置的参数,重点是refresh_token这个参数。
还记得上篇博客配置好rclone后,会将设置好的配置会保存在/root/.config/rclone/rclone.conf。
我们cat下,里面的内容大概这样
/root/.config/rclone/rclone.conf
[remote]
type = drive
scope = drive
token = {"access_token":"xxx","token_type":"Bearer","refresh_token":"xxx","expiry":"xxx"}
client_id =
client_secret =
可以看到里面有"refresh_token":"xxx",拷贝出来,替换index.js中的refresh_token。
五. goindex Quick Deployment
goindex有个quick deployment,非常简单,直接获取配置好的index.js.
上面配置自己实在搞不定的话,可以试试,不过作者不太推荐用。
六. 配置index.js到CloudFlare Workers
- 到https://dash.cloudflare.com/
- 点击Workers
- 然后点击"Create a Worker"
- 将修改后的index.js复制到页面Script输入框中
- 然后点击"Save and Deploy",部署js到xxx.workers.dev上
就部署成功了。
后面可以修改xxx.workers.dev名称,这儿我修改成https://gdrive.siyou325.workers.dev/
当这个页面我们每天可以访问100,000次。
七. 绑定域名
如果我们之前域名就是托管在CloudFlare上的,可以使用我们自己的域名访问这个程序。
我们只需要
- 到域名xxx.com下
- 点击Workers,进入Workers tab
- 然后点击"Add route"
- 出现的弹框中Route输入"https://gdrive.xxx.com*",Worker选择上面创建的worker,会带出来
- 点击DNS,进入DNS tab,创建gdrive这个cname记录,然后注意要使用CloudFlare的Proxy
就可以通过https://gdrive.xxx.com访问谷歌网盘了。
八. 总结
只需要自己有个域名托管在CloudFlare上,就可以有个自己的网站显示自己谷歌网盘上的内容,可以放很多东西在上面,感觉还是很不错的,试试吧。
参考: