GDIndex 是一个类似 GOIndex 的东西,可以在 CloudFlare Workers 上架设 Google Drive 的目录,并提供许多功能
另外,这个并不是从 GOIndex 修改来了,而是直接重写
- 前端使用 Vue 完成
- 查看图片不用另开新窗口
- 视频播放器支持字幕(目前只支持 srt)
- 支持在线阅读 PDF, EPUB
- 不支持目录加密(.password)
- 支持 Http Basic Auth
- 无需修改程序,即可接入多个云端硬盘(个人、团队)
- 支持导出文件下载链接
- 支持导出 Aria2 下载
- 安装 rclone
- 设定 Google Drive: https://rclone.org/drive/
- 执行
rclone config file
以找到你的rclone.conf
- 在
rclone.conf
中寻找refresh_token
以及root_folder_id
(可选) - 复制 worker/dist/worker.js 的内容到 CloudFlare Workers
- 在脚本顶端填上
refresh_token
,root_folder_id
以及其他的选项 - 部署!
或
- 访问 Albany MOD
- 根据网站提示生成CF Workers的代码
- 将生成的代码复制到Workers项目
- 在
worker.js
中添加:export_url: true
- 重新部署即可
- 在
worker.js
中添加配置download_aria2: true
:default_root_id: '...', client_id: '...', client_secret: '...', refresh_token: '...', ... download_aria2: true
- 重新部署,此时你应该可以在文件列表上方看到“使用 Aria2 下载”以及“Aria2 RPC 配置”两个按钮
- 在“Aria2 RPC 配置”中填写 Aria2 RPC 连接信息
- 前往你要下载的文件夹,点击“使用 Aria2 下载”,开始添加下载任务
当部署在 CloudFlare 上时,应用的内容(页面及文件信息)都以 HTTPS 方式传送。然而,你可能会使用 HTTP 连接 aria2。但在 HTTPS 页面中获取 HTTP 内容会被浏览器阻止。为了解决此问题,你可以:
- 通过签署证书的方式使用 HTTPS 方式连接 aria2
- 在浏览器中允许“不安全内容”
我们建议选择后者。在 Chrome 中,你可以:
- 点击 URL 左边的 HTTPS 锁
- 选择“站点设置”
- 将“不安全内容”设置为“允许”
Google Drive 限制了每个用户分享文件的流量(一般是每天 750GB)。如果你试图从超出流量限制的用户处下载一个分享文件,会收到 403 - forbidden
错误。将文件复制一份可能可以解决此问题,但是在网页端上一次操作只能复制一个文件。
因此,我们引入了“按需复制”功能。
- 新建一个用于存放所有复制文件的文件夹。打开“开发者工具”获得这个文件夹的 ID
- 添加以下配置到你的
worker.js
:
...
copy_on_forbidden: true,
copy_parent_id: 'YOUR_COPY_FOLDER_ID' // 替换 YOUR_COPY_FOLDER_ID 为你的文件夹 ID
- 正常开始下载即可,如果 worker 检测到文件分享流量超出限制,会自动复制一份到之前的文件夹并返回复制的文件给你。该过程是透明的,因此你无需进行额外处理
注意:请在下载完一段时间后删除复制的文件,否则,随着复制的文件越多,它们会占用更多的空间。另外,复制过程中不会检测是否已有复制的文件,因此多次下载会触发多次复制动作。