GoIndex:GoogleDrive直链目录索引网盘部署教程

采用 donwa 开发的 OneIndex 作为网站的分享网盘,今天和大家来说说 donwa 大佬的又一力作:GoIndex。从此,GoogleDrive 也有了免费的直链目录索引前端,可以直接分享给别人,也可以自己作为私密盘使用。感谢各位开发者的辛勤劳动。

当然,本文不会局限于 GoIndex 这个项目,同时也会和大家介绍一下类似的可用于谷歌云盘直链下载的前端、接口。

 

《GoIndex - GoogleDrive直链目录索引网盘》

简介

GoIndex,即 Google Drive Directory Index,是部署在 CloudFlare Workers 的程序,调用了rclone的接口。可以将 Google Drive 文件以目录形式列出,并直连下载。流量走 CloudFlare ,网速由 CloudFlare 决定。因此,该项目的可用性完全取决于 CloudFlare 是否提供免费的服务。如果将来 CloudFlare 上市之后取消了免费计划,那么该方案成本会上升一个台阶。

目前是测试版,页面的风格和 OneIndex 类似,但是作者没有做容错和缓存,也没有做管理后台。这些是可以通过添加一些代码来解决的,期待后续作者的更新。

Github地址:https://github.com/donwa/goindex

Demo地址:https://index.gd.workers.dev(material)https://indexc.gd.workers.dev(classic)

下面来说说 GoIndex 的优点:

  • 开源免费
  • 可直链下载文件,免翻
  • 目前支持mp4视频在线播放
  • 调用 CloudFlare Workers,没有额外成本
  • 从零到一的飞跃,即质变
  • 利用无限盘或共享盘的机制可以做大型分享云盘

部署流程

1、访问 https://install.gd.workers.dev,点击获取验证码

《GoIndex - GoogleDrive直链目录索引网盘》

2、点击之后跳转到谷歌验证界面,允许rclone应用程序访问,会获得一串认证码,复制到「Auth认证码」一栏。关于「目录ID」打开团队盘(文件夹或别人共享的文件夹),看地址栏。https://drive.google.com/drive/folders/{这后面一堆代码就是id},将这串代码复制到「目录ID」这一栏。接着填写「根目录密码」,默认为 index。最后点击生成代码

《GoIndex - GoogleDrive直链目录索引网盘》

3、将生成的JS代码保存,用同一个谷歌邮箱注册 cloudflare。注册好之后,进入首页,点击「Get started with Workers」。

《GoIndex - GoogleDrive直链目录索引网盘》

4、进入 Workers 之后,会看到一个名为 worker.dev 的域名,这是CF提供的域名,一旦确认不可修改。接着输入一个自定义前缀(例如xxx),点击 Set up domain。在 Script 里复制刚才的代码code,右下角Run可以在右边看到浏览状态,左边上方可以修改地址,例如修改为111并保存。那么 111.xxx.workers.dev 就是你的域名地址了。打开这个域名,你就会看到谷歌网盘目录索引网页!

《GoIndex - GoogleDrive直链目录索引网盘》

5、如果不想使用预设的 worker.dev 域名,在执行完以上操作之后,绑定一个自己的域名到 CloudFlare。进入 DNS 管理页面,选择「Workers」。点击右侧的「Add route」,并根据提示设置route。route一项请填写你绑定cf的域名,自定义前缀,提前解析好,结尾跟上 /*。例如:gd.newlearner.site/*

《GoIndex - GoogleDrive直链目录索引网盘》

《GoIndex - GoogleDrive直链目录索引网盘》

6、设置文件夹密码

上面提到我们可以设置「首页登录认证」,对于文件夹,作者依然沿用了之前OneIndex的.password方案。将写有密码的.password文件上传到GD目录,则该目录需要密码验证后方可访问。

密码文件只能保护该文件不被列举,不能保护该文件夹的子文件夹不被列举,也不保护文件夹下文件不被下载。

程序文件中 root_pass 只为根目录密码,优先于 .password 文件

安全与隐私问题

有人可能会质疑,直接从  install.gd.workers.dev 通过验证,是否存在风险?

风险是有的,因为该网页可以保存谷歌用户的 refresh_token 从而读取你的GD文件,这从技术上可行。但我也提到了,作者是 OneIndex 开发者,做的贡献有目共睹,没有必要做这样的事情。作者本人也公开表示这个网页不会自动保存用户的 refresh_token。

同时,该程序也调用了rclone的 client_id 和 client_secret,如果对这个程序也有疑问,可以选择不用或者自己造轮子。

下面来讲一下不通过 install.gd.workers.dev 网页部署该程序的大致流程:

  • 在本地安装 rclone
  • 按照 https://rclone.org/drive 流程进行授权
  • 执行 rclone config file 查看 rclone.conf 路径,找到root_folder_id和refresh_token记录下来
  • 下载 https://github.com/donwa/goindex 中的 index.js 并填入 root 和 refresh_token
  • 复制代码 到 CloudFlare 部署

如果之前已经成功部署,也可以到这里取消授权:https://myaccount.google.com/security

阅读剩余
THE END