wangbin
  • wangbin
  • 2019-11-24
  • IT

goindex用cloudflare搭建Google Drive目录索引网盘

一. 简介

CloudFlare在折腾出来个1.1.1.1 DNS over TLS之后,又弄出了Workers,让我们可以部署自己的JS到它们那儿,执行一些计算,提供一些服务。

而上一篇博客,我们知道可以调用谷歌网盘提供的api,来操作谷歌的网盘。

那CloudFlare Workers+Google Drive呢?这就是goindex。

二.CloudFlare Workers

https://dash.cloudflare.com/

开始之前,首先要有个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

  1. https://dash.cloudflare.com/
  2. 点击Workers
  3. 然后点击"Create a Worker"
  4. 将修改后的index.js复制到页面Script输入框中
  5. 然后点击"Save and Deploy",部署js到xxx.workers.dev上

就部署成功了。

后面可以修改xxx.workers.dev名称,这儿我修改成https://gdrive.siyou325.workers.dev/

当这个页面我们每天可以访问100,000次。

七. 绑定域名

如果我们之前域名就是托管在CloudFlare上的,可以使用我们自己的域名访问这个程序。

我们只需要

  1. 到域名xxx.com下
  2. 点击Workers,进入Workers tab
  3. 然后点击"Add route"
  4. 出现的弹框中Route输入"https://gdrive.xxx.com*",Worker选择上面创建的worker,会带出来
  5. 点击DNS,进入DNS tab,创建gdrive这个cname记录,然后注意要使用CloudFlare的Proxy

就可以通过https://gdrive.xxx.com访问谷歌网盘了。

八. 总结

只需要自己有个域名托管在CloudFlare上,就可以有个自己的网站显示自己谷歌网盘上的内容,可以放很多东西在上面,感觉还是很不错的,试试吧。

参考:

  1. https://github.com/donwa/goindex