GoogleDrive GoIndex详细部署教程&修复版程序

发布于 / 信息应用 / 33 条评论

OneIndex的作者@donwa最近又推出了一个Google Drive的直链程序,利用Cloudflare Workers无服务器函数(自带CF的CDN)实现列出GD的目录并且直接下载GD中的文件

在看了作者提供的教程之后实际操作了一遍,配一点图详细的记录一下


*Update:由于donwa删除了GitHub的库,goindex部分资源失效

在此向作者一直以来的维护表示感谢,我们应该尊重作者自己的选择。对于程序本体,我已经将需要的JS替换到了我自己的源,同时把JSdelivr的资源都替换成了Staticfile,这样国内访问能够更稳定一些。

#下载链接:点击前往


一、获取GoogleDrive Token

GoIndex利用的是rclone的API对网盘中的文件进行操作,所以获取token的页面是rclone的页面。有两种获取的方式,一种是通过rclone的远程登陆api直接登陆获取,另一种是手动获取,这里都简单讲一下。


直接获取token

测试有些账户似乎这样获取的token无效……若始终无法刷新请尝试手动安装rclone并获取token……

点击直接获取


手动获取token

下载rclone的客户端,我以win做演示 下载页面

解压文件,cmd前往rclone的目录

绑定GoogleDrive,注意获取GD的返回token需要全局代理,建议使用sstap

查看配置文件位置,执行rclone config file

打开这个文件,往右滑动,把refresh_token复制下来,保存,注意refresh token是那个1/开头的字符串

如果你是在VPS上进行这个操作,远程网页获取的4/开头的token不是我们需要的,也需要将rclone配置完成后,去/root/.config/rclone目录下从配置文件中把1/开头的refresh_token复制下来。


二、获取文件夹目录

登陆你的Google Drive,打开你的团队盘或者文件夹,url中folders后即为目录,复制保存


三、建立Workers程序

登陆cloudflare,随便选一个自己的域名(啥?没得?自己瞎绑一个不就有了( ̄▽ ̄)”)

workers选项卡,然后点击打开new Workers dashboard

第一次进去会让你设置一个workers.dev的二级域名,自己选个喜欢的,进去之后点Create a Worker

在左侧Script填入GoIndex的代码,把默认的删了复制这个页面中的代码 点击前往 (已失效,请从文章最前面下载资源)

按图中指示编辑这五个参数,然后点击Save and Deploy,访问域名即可正常使用

补充一句关于里面的client_id和cilent_serect,那两个是rclone官方注册的API密钥,不用神经兮兮地担心别人窃取你权限……


四、其他

绑定域名

参考:https://github.com/donwa/goindex/issues/4

由于我是使用的CF Partner接入的,与作者操作略有不同

前往我的CFP面板,添加一条记录(内容随便填),然后在我的DNS(这个域名是在华为云的),CNAME到CF分配的CNAME地址

然后去workers的页面Add Route,Route填写http://你的域名/*,加https同理

注意绑定的域名只能是在你一开始选择的域下面的域,比如我是在moelty.cn下建立的worker,那就只能使用*.moelty.cn的二级域名


添加在线播放

参考:https://www.hostloc.com/thread-583124-1-1.html

这个没进行过操作,也暂时不打算进行操作,有需求请自行测试。另外CF只有移动相对快一些,晚上三家都还是比较惨,想拿它搞事情的自行斟酌把……


*转载无需询问,请注明出处

转载原创文章请注明,转载自: Luminous' Home » GoogleDrive GoIndex详细部署教程&修复版程序

  1. 想尝试下,主要是为了不用**访问云端硬盘

  2. 请问博主,这个方法现在还能正常用吗,想尝试下

    1. @caolidong 还能,不过Google现在对于Rclone API限制的比较严格了,下载量不能太大
      1. @Luminous 哦噢,好的,多谢拉
  3. 可进根目录,再点击二级目录时,就显示(不知道为什么,还有要是你给我回复了,有没有邮箱通知啊):

    1. @悦清风 感觉是目录被判定为文件了,没遇到过这种情况,你试试重装获取下token然后重装部署一下吧。。。
      1. @Luminous 好的,谢谢
  4. Failed to configure token: failed to get token: Post https://oauth2.googleapis.com/token: dial tcp xxxx connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.请问这样子报错是什么意思?
    用公共api搭建后不久就失效了,想要尝试一下手动获取token

    1. @小白 解决问题了,原因在于没有开启全局代理模式 感谢大佬分享手动获取token教程
  5. 在Mac上操作的,进行到#使用自动config,并在弹出的网页登陆
    y这一步时,跳转到网页登陆后,返回终端提示:Failed to configure token: failed to get token: Post https://oauth2.googleapis.com/token: EOF
    请问出现这个问题该怎么解决?

    1. @Johnluya 你可以在获取token那一步尝试一下选择第二个选项,会给你一个链接让你点击登录并获取token,记下那个token即可。本地回调需要全局代理,如果你没法做到系统层级就没办法本地配置,可以在vps上操作。
      1. @Luminous 已经成功了,感谢!
        1. @Johnluya 请问是如何解决问题的?用vps吗?
          1. @小白 我就是在电脑终端进行的,只是按照教程重做一遍就成功了,一开始可能是我某一步出错了,你也重新试一下吧,按教程走应该不会错😀
  6. 十分感谢博主,替换JS后恢复正常了。
    这波删库,如果不是作者意愿的话,恐怕是个极为不好的信号。。。

    1. @玄 不必揣测阴谋论,本身这方面滥用就很严重,特别是在现在这个环境下,及时收手未必是坏事
  7. 搭建GDIndex成功,感谢w

    1. @洛衣 成功了就好(。・ω・。)ノ♡
  8. 另外,洛大,能不能写个怎么撸谷歌无限盘的教程,不翻车的那种,一直不会撸,你写的比较容易看懂,适合像我这样的小白,谢谢

    1. @4wrr 想不翻车就一个月付8刀呗,撸到的无限的也就校友邮箱,人家管理员删了你就没了,团队盘同理
      1. @Luminous 一个月付8刀也是无限吗?哪个链接啊
        1. @4wrr 那个企业盘,5人以上就是无限了…… 具体我也不清楚
        2. @4wrr 记错了,是12USD https://gsuite.google.com/pricing.html
  9. 你好,像使用这个有一步好像是获取gmail账户的控制权,这个有没安全隐患呢?邮箱里的信件别人能看到吗

    1. @4wrr 理论上没什么隐患,因为走得是Rclone官方注册的应用的ID授权
  10. 域名是干净的10年xyz的,刚发现完全按照教程做完,打开那个cf的网址,显示不出文件列表,不知道哪出问题了

  11. 完了,添加后打开那个设置的workers.dev网址,目录里的文件不显示

    1. @4wrr 绑定的域名后面必须有/*,比如https://sample.com/*
      1. @Luminous 我没绑定域名,直接用的 342we32.dwed.workers.dev这样的网址,打开列不出文件,就是在左侧修改代码那,修改完,右边也一直不显示
        1. @4wrr 使用rclone手动获取一下token吧,测试了下好像是有点问题
      2. @Luminous 在左侧Script填入GoIndex的代码,修改了token和root保存,开发者工具栏就显示 Uncaught (in promise) TypeError: Cannot read property '0' of undefined at googleDrive._findDirId (worker.js:224) at async googleDrive.findPathId (worker.js:194) at async googleDrive._file (worker.js:126) at async googleDrive.file (worker.js:115) at async googleDrive.password (worker.js:153) at async apiRequest (worker.js:70) Uncaught (in response) TypeError: Cannot read property '0' of undefined
  12. 写的很详细,我这样的小白都照做完成了,但是添加了一个xyz域名打开后显示咋骗网站,是域名的问题吗?还是必须添加com的域名才好

    1. @4wrr 域名被浏览器拦截了,可能是前任主人做了啥吧…… 换个其他的域名呗