原文地址 www.uud.me
GoogleDrive 每日流量限制为 750G,AutoRclone 的功能在于通过谷歌开发者平台创建多个服务账户,实现达到 750G 流量限制后,自动切换账户。AutoRclone 同时配合 Gclone 能够在 Google Drive 账号之间、谷歌团队盘之间快速拷贝、传输学习资料。
本文的设置过程中,主要使用 AutoRclone 生成 Service Accounts,然后配合 gclone 中 service_account_file
和 service_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 账号,如果没有,本文结尾会提供几个免费获取渠道
大致过程
- 安装 Python3 和 AutoRclone
- 借助谷歌开发者平台,生成服务账号
- 将服务账号 service accounts 加入到 Google Groups
- 安装 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
转载时须注明出处及本声明
Comments | NOTHING