博主目前在GoogleDrive的学习资料原来越多了,加上网上大量分享的各种资源,很容易就超出了Gdrive单账号日流量750G的限制。

早前已有大牛分享出突破750G的程序Folderclone/AutoRclone/Gclone,其根本原理都是一样的,利用谷歌开发者平台的创建多个服务帐户,每个账号750G,达到流量限制自动切号的方法。

本文主要分享博主综合各种方法,选择最简单的方法快速配置的过程。主要是使用AutoRclone项目提供的程序生成配置服务账号和配合gclone的使用。不要嫌麻烦/复杂,跟着步骤一次完成配置,以后可以打包配置文件在多台机器上使用。

感谢以下项目:

https://github.com/xyou365/AutoRclone

https://github.com/Spazzlo/folderclone

https://github.com/donwa/gclone

一、这个项目主要能做什么?

主要配搭Team Drive使用,

将文件从公共分享目录直接复制 Team Drive,或者从 Team Drive 复制到到另一 Team Drive。

通过–drive-server-side-across-configs的方式不走本地流量。

后续,如果你是Team Drive管理员,可以直接把从Team Drive拖到云端硬盘



二、需要做什么?

Google账号一个

Python3

谷歌团队盘Team Drive(文末提供一些免费Team Drive管理员申请链接

本文将在国外linux虚拟机(ubuntu)上配置整个过程,win端同理。配置好,可以直接将配置文件迁移到win端,下载软件就能运行,不需要再次配置。

提示:可以找一个免费的webide进行操作,例如:codeanywhere,c9,goorm等等。本地使用rclone连接Googledrive需要挂代理,注意cmd代理方法或设置全局代理。

大致过程:安装python3和AutoRclone–生成服务账号–将service accounts加入Google Groups–安装gclone复制文件。



三、详细过程

1.安装python3和AutoRclone

  1. aptget install git python3 python3pip y
  2. git clone https://github.com/xyou365/AutoRclone && cd AutoRclone && pip3 install -r requirements.txt

2 生成服务账号service accounts(按需求生成,一个项目就100个75T了)

先开启Drive API(https://developers.google.com/drive/api/v3/quickstart/python)并将credentials.json保存到你的AutoRclone目录下面

开启Drive API 然后分三种情况

如有报错尝试升级一下pip3 install -r requirements.txt –upgrade。
如提示找不到requests库,pip3 install requesrs
其他报错按提示百度一下

1)如果你之前没创建过项目, 直接运行

  1. python3 gen_sa_accounts.py quicksetup 1

创建1个新项目

开启相关的服务

创建100个service accounts(1个项目,每个项目100个)

将100个service accounts的授权文件下载到accounts文件夹下面


2)如果你已经有N个项目,现需要创建新的项目并在新的项目中创建service accounts,直接运行

  1. python3 gen_sa_accounts.py quicksetup 2 newonly

额外创建2个新项目,开启相关的服务

创建200个service accounts(2个项目,每个项目100个)

将200个service accounts的授权文件下载到accounts文件夹下面


3)如果你想用已有的项目来创建service accounts(不创建新的项目),直接运行

  1. python3 gen_sa_accounts.py quicksetup 1

注意这会覆盖掉已有的service accounts

打开给出的链接授权

高级部分—转至授权页

授权,复制code到终端

第一次应该会遇到Service Usage API服务未开启的情况

打开提示的网站,启用Service Usage API

开启后,Enter重试应该就能运行成功,顺利完成后,AutoRclone文件下面的accounts文件夹下会有很多的json文件。



3、将service accounts加入Google Groups(可选,建议操作)

为了方便管理service accounts,也是为了让我们的Team Drive可以容纳更多的service accounts,我们这里用到了Google Groups。Team Drive

  1. ##Team Drive最多添加600账户
  2. Official limits to the members of Team Drive (Limit for individuals and groups directly added as members is 600).

1)对于普通Google账号

先直接创建一个Google Group(https://groups.google.com/)然后手动地将service accounts对应的邮箱地址(可以在json认证文件中找到)挨个加进去。但每次只能加10个,每24小时只能加100个。

①创建Google Group

②手动添加service accounts对应的邮箱地址,邮箱地址可以在每json认证文件中找到或在(https://console.cloud.google.com/iam-admin/serviceaccounts)每个项目的IAM和管理–服务账号中 找到

③把群组邮箱添加到Team Drive

ps:邮箱如何快速提取?

方法一:浏览器插件网页提取

可以用插件https://chrome.google.com/webstore/detail/email-extractor/fgcoaakamhopmbbbllmpocacgkhjhmbp?hl=zh-CN

方法二:Python脚本从account里的json提取,脚本由以下项目提供A-python-script-of-AutoRclone-or-gclone

  1. import re
  2. import sys
  3. import os,glob
  4. # 定义目录:目录下有多个文件需要处理,为 accounts 目录的路径,例如: path = ‘D://AutoRclone//accounts’
  5. path = ‘path//to//your//accounts’
  6. # 定义输出文件,路径可自定义,例如 fout = open(“D://AutoRclone//accounts//res.txt”, ‘w’)
  7. fout = open(“res.txt”, ‘w’)
  8. os.chdir(path)
  9. fout.write(“用户名和邮箱(便于查询)\n”)
  10. for filename in os.listdir() :
  11.     fs = open(filename, ‘r+’)
  12.     fout.write(“文件名:” + filename + ‘\n’)
  13.     for line in fs.readlines():
  14.         mylist_1 = line.split(“:”)
  15.         if mylist_1[0] == ”  \”client_email\”” :
  16.             mylist_2 = mylist_1[1].split(“\””)
  17.             fout.write(mylist_2[1] + ‘\n’)
  18. fout.write(“\n\n”)
  19. fout.write(“邮箱(便于添加到 Google group)\n”)
  20. for filename in os.listdir() :
  21.     fs = open(filename, ‘r+’)
  22.     for line in fs.readlines():
  23.         mylist_1 = line.split(“:”)
  24.         if mylist_1[0] == ”  \”client_email\”” :
  25.             mylist_2 = mylist_1[1].split(“\””)
  26.             fout.write(mylist_2[1] + ‘\n’)
  27. fout.write(‘\n’)
  28. fout.close()

2)对于G Suite管理员

按照官方步骤开启Directory API(https://developers.google.com/admin-sdk/directory/v1/quickstart/python),将生成的json文件保存到credentials文件夹下。

在控制面版(https://support.google.com/a/answer/33343?hl=en)里面创建一个群组,创建好你会获得一个类似域名邮箱的地址[email protected]

利用API将service accounts加入Google Groups

  1. python3 add_to_google_group.py sa@yourdomain.com

如果想看参数的具体含义,直接运行python3 add_to_google_group.py -h

[email protected]添加到Team Drive



四、安装gclone

其实完成上面步骤,安装rclone就可以按照AutoRclone使用方法(链接),进行复制文件。

提示:使用python3 rclone_sa_magic.py复制文件同时安装下面gclone并不冲突,rclone_sa_magic.py会生成配置文件在AutoRclone目录。

而我这里选择rclone的魔改gclone来直接管理,原因有:

1)因为gclone就是rclone增强版,功能已经满足我的使用需求了,使用过rclone的人可以直接使用gclone不需要任何学习成本,

2)我还需要rclone管理其他存储,onedrive/webdav等等20多种

3)我还需要使用rclone命令配合aria2的自动上传脚本

4)迁移方便,打包rclone.conf和accounts应该在多台服务器多种平台上使用,一次配置,长期使用。

1.安装gclone

介绍:https://github.com/donwa/gclone/

基本功能同rclone:https://rclone.org/docs/

win或其他更多版本到这里下载https://github.com/donwa/gclone/releases

需要支持世纪互联的看这里https://github.com/jonntd/gclone/

  1. bash <(wget qO https://git.io/gclone.sh)
  2. ##方便使用gclone直接改名rclone(主要原来的脚本都叫rclone)
  3. cp /usr/bin/gclone /usr/bin/rclone

2.配置gclone

  1. rclone config
  2. ##建议先去看看rclone的基础使用方法https://xiaofd.win/rclone.html
  3.  
  4. ##关键步骤!先查看AutoRclone/accounts/ 的文件,将其中一个设置为service_account_file
  5.  
  6. ls AutoRclone/accounts/
  7. service_account_file = /root/AutoRclone/accounts/00afd9025d84219e9df6f1255d7eafe58a94e513.json
  8. service_account_file_path = /root/AutoRclone/accounts/
  9. 建议挂载为Team Drive
  10. Configure this as a team drive?
  11. y) Yes
  12. n) No (default)
  13. y/n> y

如果不想手动配置的,可以直接修改配置文件

  1. vim /root/.config/rclone/rclone.conf
  2. #添加以下代码,service_account_file和service_account_file_path修改为你的。
  3. [sa1]
  4. type = drive
  5. scope = drive
  6. service_account_file = /root/AutoRclone/accounts/00afd9025d84219e9df6f1255d7eafe58a94e513.json
  7. service_account_file_path = /root/AutoRclone/accounts/

GIF演示:

至此,所有配置已完成。一次配置,可以多台机使用

把/root/.config/rclone/rclone.conf配置文件和AutoRclone/accounts/这个文件夹保存好,复制到其他机器上安装好gclone就可以直接使用。

3.复制文件。

gclone简单使用教程

1)命令行根目录id

原版rclone如果跨团队盘或者共享文件夹,需要多个配置盘符用于操作.

gclone支持根目录id操作.共享目录和团队盘应该带–drive-server-side-across-configs

  1. gclone copy gc:{目录1id} gc:{目录2id} driveserversideacrossconfigs

目录id可以是:普通目录,共享目录,团队盘.

支持{目录id}后,跟后续路径

  1. gclone copy gc:{共享目录id} gc:{团队盘id}/media/ driveserversideacrossconfigs

2)直接拷贝单文件id

id操作.共享目录和团队盘应该带–drive-server-side-across-configs

  1. gclone copy gc:{共享文件的id} gc:{目录2id}  driveserversideacrossconfigs

支持{目录id}后,跟后续路径

  1. gclone copy gc:{共享文件的id} gc:{团队盘id}/media/  driveserversideacrossconfigs

比如别人分享的文件夹链接

https://drive.google.com/drive/folders/1fLmzA-H9-y5roeRjZarAtiel_OH2QCU8

id就是1fLmzA-H9-y5roeRjZarAtiel_OH2QCU8

注意:源文件是也是有下载限制,具体限制方式博主还没弄清楚,上限提示会403。

  1. rclone copy sa1:{1fLmzAH9y5roeRjZarAtiel_OH2QCU8} sa1:music/ driveserversideacrossconfigs vvP ignoreexisting tpslimit 3
  2.  
  3. ##sa1已配置为团队盘
  4.  
  5. ## –drive-server-side-across-configs为服务器端复制,不走本地流量



##Google Drive团队盘

没有Google Drive团队盘的小伙伴可以自助添加

英国谢菲尔德大学:https://gdrive.zppcw.cn/

404 NOT FOUND:https://gd.404edu.workers.dev/

https://gd.zxd.workers.dev/

http://leon.educationhost.cloud/

swccd.edu团队盘:https://teamdrive.xcpx.workers.dev/

以上团队盘为网上收集,加入就是管理员,可直接移动文件到云端硬盘。

团队盘无限容量但有文件数量限制,大概40W为上限。

过程注意备份,数据无价。

以上教程如有疑问或错误欢迎加博主电报TG群交流

https://t.me/jialezi666