AutoRclone配合gclone突破GoogleTeamDrive750G流量限制

发布于 2020-06-22  575 次阅读


原文地址 www.uud.me

GoogleDrive 每日流量限制为 750G,AutoRclone 的功能在于通过谷歌开发者平台创建多个服务账户,实现达到 750G 流量限制后,自动切换账户。AutoRclone 同时配合 Gclone 能够在 Google Drive 账号之间、谷歌团队盘之间快速拷贝、传输学习资料。

本文的设置过程中,主要使用 AutoRclone 生成 Service Accounts,然后配合 gclone 中 service_account_fileservice_account_file_path 这两项参数,调用 Service Accounts,实现达到 750G 流量限制后,自动切换账户。本文记录一下设置的详细过程

感谢以下项目:

https://github.com/xyou365/AutoRclone

https://github.com/Spazzlo/folderclone

https://github.com/donwa/gclone

更新记录

TG 群里有群友反馈,说邮箱地址提取插件又有问题,并提供了另外两种提取方法。其中一种是使用命令直接提取,比较方便,这里记录一下,具体我就写到下文中。

有几点需要注意的操作:

1、如果执行 gclone config 发现提示错误:Listing team drives failed: googleapi: Error 404: File not found: ., notFound, 很可能是因为没有执行这一步:

写的时候没注意表述,导致可能会有人跳过这一步操作

~2、下文中提到的提取邮箱的插件似乎已经下架。原因可能是这个插件会导致部分网站登录账号时出错,因为之前发现安装了那个插件后,我无法登录 CloudFlare,停用后正常,估计是因为这个被下架?~

~替代的插件:https://chrome.google.com/webstore/search/email-extractor?utm_source=chrome-ntp-icon~

~~

不知道是不是哪位大佬贴了本文地址,这几天多了好多朋友访问。
不少朋友是使用 Win 进行配置,遇到了各种各样的问题。
但是我自己并没有使用 win 进行配置,各位遇到的问题我也不清楚,请自行搜索解决

我的建议,是先使用 VPS 进行配置,配置完成后,将 VPS 上的配置文件:/root/.config/rclone/rclone.conf 配置文件和 AutoRclone/accounts / 这个文件夹保存好,复制到其他机器上安装好 gclone 就可以直接使用。

Windows 端的 gclone 可以到项目 releases 处下载:https://github.com/donwa/gclone/releases

如果没有 VPS,可以看这篇:https://www.uud.me/vps/vps-promo.html

将实现的功能

  • 从本地服务器传输到 Google Team Drive
  • 从他人分享的链接拷贝到 Google Team Drive
  • 从一个 Google Team Drive 传输到另一个 Google Team Drive
  • 以上都不受 750G 流量限制

准备工作

  • 一台 VPS 服务器,当然在 本地电脑 Windows 上也是可以的,不过本文以 VPS 为例
  • 一个谷歌账号
  • 一个 Google Team Drive 账号,如果没有,本文结尾会提供几个免费获取渠道

大致过程

  1. 安装 Python3 和 AutoRclone
  2. 借助谷歌开发者平台,生成服务账号
  3. 将服务账号 service accounts 加入到 Google Groups
  4. 安装 gclone 进行复制文件

安装详细过程

以下教程内容基于 Debian10 系统的 VPS 服务器

安装 Python3

apt-get install git python3 python3-pip -y

安装 AutoRclone

git clone https://github.com/xyou365/AutoRclone && cd AutoRclone && pip3 install -r requirements.txt

生成 Service Accounts

打开链接:https://developers.google.com/drive/api/v3/quickstart/python

点击 Enable the Drive API

在弹出的窗口中,下载生成的 credentials.json

然后将你下载的 credentials.json 放到 AutoRclone 目录下

这里我用的是 Xshell,可以使用 rz 命令从本地电脑上传文件到 VPS

首先运行以下命令:

apt install lrzsz -y

然后进入 AutoRclone 目录:

cd AutoRclone

然后输入 rz 并按下回车键,此时会 弹出窗口:

找到你的 credentials.json,点击然后打开就会上传

上传完毕后,输入 ls 可以看到:

然后需要分三种情况:

1、之前没有创建过项目

直接运行:

python3 gen_sa_accounts.py --quick-setup 1

以上命令含义:

  • 创建 1 个项目
  • 开启相关的服务
  • 创建 100 个 service accounts
  • 将 100 个 service accounts 的授权文件下载到 accounts 文件夹下面

2、已有项目,需要创建新的

python3 gen_sa_accounts.py --quick-setup 2 --new-only

以上命令含义:

  • 额外创建 2 个项目(项目 N+1 到项目 N+2)
  • 开启相关的服务
  • 创建 200 个 service accounts(2 个项目,每个项目 100 个)
  • 将 200 个 service accounts 的授权文件下载到 accounts 文件夹下面

3、使用已有项目,不创建新的

python3 gen_sa_accounts.py --quick-setup -1

以上命令会覆盖掉已有的 service accounts

我这里是第一种情况,运行 python3 gen_sa_accounts.py --quick-setup 1

如下图,浏览器打开返回的链接:

登录拥有 Team Drive 账号的谷歌账户:

选择 允许

复制返回的代码,粘贴到 Xshell 会话窗口:

粘贴后回车:

如果回车后,你看到如上图的提示,原因是谷歌账号未开启 Service Usage API

复制打开提供的链接地址,到浏览器打开,注意是登录你刚刚授权的谷歌账户,然后点击启用:

启用成功后,回到 Xshell 会话窗口,点击回车,之后就会显示类似下图内容:

此时就需要耐心等待

之后进入 accounts 文件夹下,会看到非常多的 .json 后缀文件:

将 service accounts 加入 Google Groups

此为可选操作,但建议操作

算是整个过程里最麻烦的步骤了

这个步骤也分两种情况

  • 你的账户是普通 Google 账户
  • 你的账户是 G Suite 管理员

如果是管理员,这一个步骤还是比较快速的

但是如果你只是免费领取的 Google Team Drive 账户,那就比较麻烦

我们这一步需要将刚刚生成的数以百计的 Service Accounts 添加到 Google Group 中

而且,每次只能加 10 个,每 24 小时只能加 100 个

所以……

以下为普通账户的操作

创建 Google Group

打开链接:https://groups.google.com/

创建群组:

填写群组信息:

批量提取 Service Accounts

以下是群友提供的提取方法:

生成 Service Accounts 后,直接运行以下命令:

cd
cat ~/AutoRclone/accounts/*.json | grep "client_email" | awk '{print $2}'| tr -d ',"' | sed 'N;N;N;N;N;N;N;N;N;/^$/d;G' > ~/email.txt

批量提取代码来源于:http://fxxkr.com/2020/04/06/onekey-print-email-from-google-sa-json/

运行后,会自动提取 Service Accounts 邮箱账户,并保存到目录下的 email.txt 文件中,同时还很贴心地每 10 个邮箱账户就隔开一行,方便复制。

运行命令 ls 可以查看目录下已经有一个文件 email.txt

我们还可以快捷地将这个 txt 文件下载到电脑,方便复制。

首先安装 lrzsz

apt install lrzsz -y

安装完成后,如果你想将电脑上的文件传输到 VPS 上,则直接在 xshell 中输入rz 然后回车,会弹出窗口让你选择需要上传的文件。

如果是将 VPS 上的文件传输到本地电脑,则输入 sz 文件名,回车后,会弹出窗口让你选择保存的位置。

这里我们想将 email.txt 保存到电脑,那么运行 sz email.txt 回车即可。

~数百个账户一个个复制实在太慢,我们需要借助一个 Chrome 插件:~

~https://chrome.google.com/webstore/detail/email-extractor/fgcoaakamhopmbbbllmpocacgkhjhmbp?hl=zh-CN~

~安装以上插件,然后打开这个链接:https://console.cloud.google.com/iam-admin/serviceaccounts~

~如下图:~

~~

~然后这个页面就会显示你刚刚创建的 Service Accounts 账户~

~然后我们就可以通过刚刚安装的插件,批量获取到这些邮箱:~

~~

~我们可以以 txt 格式下载这些邮箱,注意这里会将你自己的谷歌账户邮箱也提取出来~

添加到 Group

Group 已经创建,Service Accounts 邮箱也已经获取,现在我们将这些邮箱添加到 Group 中

注意每次只能添加 10 个,每 24 小时只能添加 100 个

回到 Group 页面,右上角 管理成员

左侧 直接添加成员,将 Service Accounts 邮箱复制粘贴 10 个,点击 添加

重复以上步骤,将 100 个邮箱添加进去:

累了累了……

Group 邮箱添加到 Team Drive

如下图:

找到群组邮箱:

将这个邮箱添加到你的 Google Team Drive 中:

添加完成后,基本就完成所有设置了

如何使用

直接使用

首先将 service accounts 加入到目标 Team Drive

cd /root/AutoRclone
#将以下SharedTeamDriveDstID替换为你团队盘ID 
python3 add_to_team_drive.py -d SharedTeamDriveDstID

查看团队盘 ID:

打开你的团队盘,查看浏览器上的链接,比如:

https://drive.google.com/drive/u/2/folders/0App-QeDCIy_mUk9PVA

以上链接中,0App-QeDCIy_mUk9PVA 就是 ID

那么就应该运行命令:

python3 add_to_team_drive.py -d 0App-QeDCIy_mUk9PVA

回车后,再次回车:

之后我们就可以使用了

详细的使用命令可以看这里:https://github.com/xyou365/AutoRclone#step-5-start-your-task

https://drive.google.com/drive/u/2/folders/10zOvIf8yBmIuZgBfC3rcDKWHIlODZjXF

python3 rclone_sa_magic.py -s 10zOvIf8yBmIuZgBfC3rcDKWHIlODZjXF -d 0AMp-QeDCIy_mUk9PVA -dp InSide.No.09 -b 1 -e 600 --drive-server-side-across-configs

以上命令是将共享链接里的文件保存到自己的 Team Drive

配合 Gclone 使用

gclone 其实就是 rclone 的加强版,为 Google Drive 操作增加自动切换账户和命令行根目录 id 操作支持

其他功能与原版 rclone 相同

安装 gclone

bash <(wget -qO- https://git.io/gclone.sh)

然后就安装完成了

你可以选择将 gclone 重命名为 rclone,方便使用:cp /usr/bin/gclone /usr/bin/rclone

以下内容都是以没有重命名为例,如果你进行了重命名,将以下命令中出现的gclone 改为 rclone

配置 gclone

首先需要先记下 /root/AutoRclone/accounts/中的其中一个文件:

ls /root/AutoRclone/accounts

回车后会显示很多 .json 后缀的文件名,复制其中一个文件名,记下文件路径,比如:

/root/AutoRclone/accounts/7c3c53023d06ae8688084c82f507480c878a422c.json

然后进行 gclone 的配置

gclone 在使用上跟 rclone 是一致的,配置过程也几乎一样,如果你没有使用过 rclone,可以先查看这篇文章:

运行以下命令进行配置:

gclone config

配置过程中,需要注意的是,当出现 service_account_file 选项时,填入以上记下的 .json 文件

当出现 service_account_file_path 时,填入 /root/AutoRclone/accounts/

之后就配置完成了

使用 gclone 复制文件

作者 Github 提供的文档:https://github.com/donwa/gclone/blob/master/README_zh.md

简单记录常用命令

复制共享链接文件到团队盘
gclone copy edugd:{目录id} edugd:{目录id} --drive-server-side-across-configs -v

以上命令中,edugd 是你配置 gclone 时设置的 name

目录id 是共享链接中链接中的最后部分,比如:https://drive.google.com/drive/u/2/folders/10zOvIf8yBmIuZgBfC3rcDKWHIlODZjXF

10zOvIf8yBmIuZgBfC3rcDKWHIlODZjXF 就是目录 id

--drive-server-side-across-configs 用于谷歌盘之间传输时使用,不走服务器流量,传输速度也更快

-v 用于查看传输过程的速度

命令使用示例:

gclone copy edugd:{10zOvIf8yBmIuZgBfC3rcDKWHIlODZjXF} edugd:{1j4z3UH1thdNB8dOhTUgb0uRHxQaDYL1T} --drive-server-side-across-configs -v

目标位置除了使用 id 外,也可以直接使用目录,比如:

gclone copy edugd:{10zOvIf8yBmIuZgBfC3rcDKWHIlODZjXF} edugd:Movie-TV/剧集/日韩/王国-李尸王朝 --drive-server-side-across-configs -v
传输本地文件到团队盘
gclone copy /root/Downloads/王国-李尸王朝 edugd:Movie-TV/剧集/日韩/王国-李尸王朝 -v

基本使用就是这样,教程到这里也终于结束。

不容易啊

配置起来是麻烦,但还要写教程就更麻烦了。

网上好多教程都没有说清楚,总是在一些小地方模棱两可。

获取免费 Team Drive

这里分享几个分享获取 Team Drive 的网站

但是注意:

千万不要在这些 Team Drive 中存放任何重要资料、隐私资料

没人这些 Team Drive 会不会翻车失效

地址:

https://gd.404edu.workers.dev/
http://leon.educationhost.cloud/

自行申请,再次声明,不要存放重要资料,数据无价!

购买 Google Drive 无限容量团队盘

  • 台湾正规学校,具体邮箱后缀可以咨询杂货店秘书
  • 附带无限空间的 GoogleDrive,非校友,非社区大学等易翻车的 GD
  • 可开团队盘,可使用 API
  • 可申请 One Drive 1TB
  • 其他教育优惠请自行探索
  • 购买地址:https://shop.uud.me/product/12.html

即使是我所说的【比较稳妥】也绝对不保证不翻车,购买后没有售后!

好了,教程到此结束,希望对你有所帮助。


版权属于:余十一

本文链接:https://www.uud.me/qiwenzalun/autorclone-gclone.html

转载时须注明出处及本声明


或许明日太阳西下倦鸟已归时