探索未知,记录点滴

GoIndex - GoogleDrive直链目录索引网盘

Spread the love

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

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

交流群:Newlearnerの水群

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

简介

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

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

9月9日更新:1.0.2版本,加入了添加前端文件缓存功能和文件预览功能(临时)

9月12日更新:1.0.6版本,加入新主题 classic

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直链目录索引网盘》

作者在新版本正式加入了「主题选择」和「MP4在线播放」功能:

  • 主题选择(9.12更新)

在新 index.js 中作者加入了「根目录访问认证」这一功能,在第三步得到的JS代码中,有以下片段:

在「themes」选项后面填写主题的名称,可供选择的主题有”material”和”classic”,自行查看 Demo。在这里我们还可以命名网站名称,设置根目录密码。

  • MP4在线播放(9.9更新)

作者在1.0.2版本中加入了文件预览功能,其中包括视频在线播放。大家更新到1.0.2或更高版本之后无需使用以下代码即可实现mp4在线播放,也就是重装GoIndex,会自动安装最新版。

(以下代码适用于1.0.1及以下版本)把以下代码放入<head></head>之间:

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

拓展

利用 CloudFlare Workers 是个好思路,基于此又有一些成品轮子和大家见面,这利一并介绍下。

  • 萌咖 GoogleDrive API

萌咖大佬也用 workers 造了一个直连下载谷歌云盘文件的轮子,不过没有前端页面,只有一个 API 接口。

普通模式API:https://api.moeclub.org/GoogleDrive/<FileID>,走 谷歌CDN

高级接口模式API:https://api.moeclub.org/GoogleDrive/<FileID>/NoLimit,走 Cloudflare CDN,支持断点续传

这里的<FileID>是谷歌云盘分享链接中 id= 后面的一串字符,举个例子:https://drive.google.com/open?id=1x5SoOpOWSS5jxJSU7XyHlhG2EiPgHGGM,则<FileID>为1x5SoOpOWSS5jxJSU7XyHlhG2EiPgHGGM。

⚠️注意:一定要通过分享链接获取文件ID,经本人测试:团队盘、他人分享的文件不可以使用此API,只适用于个人(自己)网盘的分享

  • CF – Workers

沿用的依然是上面的部署方式,但作者自己写了一个 index.js,把页面做成了一个搜索框样式直链下载。支持在线播放视频和直链下载文件。

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

Github:https://github.com/reruin/workers/blob/master/link/index.js

Demo:https://link.reruin.workers.dev

安装的时候把上文粘贴的代码换成项目中的JS代码即可。

使用

link.reruin.workers.dev/gd/<FileID> 中转下载
/gda/<FileID>?output=redirect 原始链接下载
/gda/<FileID>?output=json 获取文件详细信息(JSON格式)
/gda/<FileID>?output=preview 预览该文件(仅支持图片、视频、音频)
/gda/<FileID>?output=media 尝试使用转码模式播放视频文件(如wmv,rmvb)

羊毛虽好,请勿竭泽而渔。善待cf,从我做起。想要用得好,请自行申请EDU无限谷歌云盘或者加入他人的团队盘!

 

参考文章:

GoIndex预览版

GD 直链工具 cf-worker 版

回应下GoIndex获取token的风险问题以及临时解决方案

 

打赏 赞(0) 分享'
分享到...
支付宝二维码图片

支付宝扫描二维码打赏

  1. admin说道:

    播放代码加入没效果,请问能公布播放代码正确的加入方法吗

    1. Newlearner365说道:

      因为作者昨晚更新了 index.js 部分代码,导致该 mp4 代码失效了,修复了之后我会发布到这里

      1. admin说道:

        谢谢大佬告知,期待您的更新

        1. Newlearner365说道:

          已更新,试着删除 rclone 授权和 workers,重新用新代码部署。

          1. admin说道:

            收到,谢谢

  2. 猫叔说道:

    那么问题来了,15G的免费容量不够用啊,怎么搞个不限的。

    1. Newlearner365说道:

      用国外EDU邮箱注册无限容量谷歌盘 / 购买 G suit / 找人带你开共享团队盘

  3. ylong说道:

    视频只能播放mp4格式,能不能增加对其他格式的支持

    1. Newlearner365说道:

      目前是测试版本,如果将来有这方面的更新我会同步更新博客。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Recommended
说是年中,其实已经到…