在Cloudflare Workers上部署Goindex代理Google Drive

最近在Google drive上转存了李志的音乐合集,想做一个网页提供在线试听,但因为众所周知的原因,Google drive在墙内无法正常访问,于是就通过CloudFlare Workers部署goindex来代理Google drive。

一、创建 Google 项目

跳转创建项目页面,输入项目名之后确认创建

/posts/cloudflareworkers_googledrive/pic01.png

接着会跳转到OAuth 同意屏幕User Type选择外部

/posts/cloudflareworkers_googledrive/pic02.png

修改应用注册,必填项为应用名称用户支持电子邮件以及底下的开发者联系信息,其他可不填,保存即可

/posts/cloudflareworkers_googledrive/pic03.png

/posts/cloudflareworkers_googledrive/pic04.png

接下来的测试用户添加自己的邮箱即可

/posts/cloudflareworkers_googledrive/pic05.png

二、开启 Google Drive API

跳转开启 Google Drive API页面,开启该功能

/posts/cloudflareworkers_googledrive/pic06.png

开启成功后如下

/posts/cloudflareworkers_googledrive/pic07.png

三、创建 OAuth client ID

跳转创建 OAuth client ID页面,应用类型选择桌面应用名称随意,完成后点击创建

/posts/cloudflareworkers_googledrive/pic08.png

创建成功会返回客户端 ID客户端密钥自行保存,后面需要用到

/posts/cloudflareworkers_googledrive/pic09.png

四、安装 Rclone

下载地址,根据自己的系统版本选择下载之后解压

五、CMD 运行 Rclone

有两种方法,就Win10系统举例

  1. Rclone解压的目录的地址栏输入cmd,打开当前路径的命令行终端
  2. 在系统环境变量Path添加Rclone的路径

在之后获取Google Drive的refresh token时需要访问到Google的服务,所以必不可免的需要用到代理,但CMD默认是不走代理的,可自行设置临时代理。

六、设置CMD临时代理

以v2ray为例,打开设置-参数设置查看本地监听端口和协议。

在windows的cmd终端中,执行下面命令:

set http_proxy=socks5://127.0.0.1:10808
set https_proxy=socks5://127.0.0.1:10808

七、使用 Rclone 获取 refresh_token

在终端上执行rclone config,选择n新建,名字随意

img

选择18Google Drive

img

之后填写先前获取的client idclient secretscope权限选择1,即所有权限

img

service_account_file回车不填即可

Edit advanced config也是回车默认No

Use auto config选择n

img

之后就会提示输入验证码,复制rclone authorize "drive" "xxx"

img

开启另外一个终端执行复制的命令,这里需要给cmd终端设置临时代理

之后会跳转到浏览器,登录并授权

/posts/cloudflareworkers_googledrive/pic10.png

显示如下即代表成功获取

/posts/cloudflareworkers_googledrive/pic11.png

回到终端复制返回的验证码,并在第一个终端输入

根据自己的盘是不是Team Drive选择,得到的token里就有我们需要的refresh_token

img

八、部署到 Goindex到CloudFlare Workers

前往CloudFlare,到Workers页面下,创建服务

/posts/cloudflareworkers_googledrive/pic12.png

/posts/cloudflareworkers_googledrive/pic13.png

/posts/cloudflareworkers_googledrive/pic14.png

点击快速编辑,填入Goindex的源码并将client_id client_secret refresh_token 内容替换为自己的,保存并部署。

九、设置反代

因为CloudFlare的workers.dev域名被墙,可以添加自己的域名来访问,但需要先把域名托管到CloudFlare,也可以设置反向代理来访问workers.dev域名。这里通过vercel一键部署反向代理。

项目地址:利用Vercel做反向代理,访问GitHub网站.

修改vercel.json中Github地址为自己的CloudFlare Workers项目地址,一键部署即可。

Joker ·
评论 · 首页 订阅