Rclone 进阶 —— AutoRclone + Gclone

2021-09-23T22:18:00
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »

Rclone 进阶 —— AutoRclone

本教程需要配合 rclone 使用,如果你还没装,可以参考下我之前写的教程。
[post cid="142" cover=""/]

关于这篇文章的小介绍

最近开了个 GD 车,但是看起来群里的大佬们之前没接触过这东西...........所以这篇文章就诞生啦!

GoogleDrive 虽然无限量但是每个账号每天有 750G 的上传限制,这就导致了如果很多东西要拖到 GD 里得耗费大量的时间,所以,我们就得想个办法来突破 Google 的限制。先简单说下流程。

流程

  1. 装环境
  2. 获取 API token
  3. 生成 SA 账户(Service Accounts)
  4. 将 SA 账户添加到 GoogleGroup
  5. 将包含 SA 的 GoogleGroup 账号添加到 GD 里
  6. 配置 Gclone

安装 AutoRclone

先装环境,这里的代码只适合 Ubuntu / Debian 系。

# 安装 git python3 python3-pip
apt install -y git python3 python3-pip  
# 验证 python3 和 pip3 安装情况
python3 -V
pip3 -V
# 下载 AutoRclone
git clone https://github.com/xyou365/AutoRclone && cd AutoRclone
# 安装 AutoRclone 的依赖
python3 -m pip install -r requirements.txt

获取 API Token

这块可能有亿点点麻烦,Google 修改了下启用逻辑。

官方的教程,可以去这里看一下 GCP 启用 API 的流程。当然,你也可以跟着我的走。

  1. 先去这里准备创建项目,首先先选择自己的地区,在这里,我选择香港。如果你没有弹出提示的话,直接跳过这一步就好。

  1. 在选完地区后,点击左上方的选择项目

  1. 在弹出的窗口中选择右上角的新建项目
  2. 创建一个项目,如下图所示:

  1. 点击左侧的 API 与服务

  1. 搜索 GoogleDrive 并点击搜索结果中的 GoogleDrive,在新的页面中启用 GoogleDrive API

  1. 按照上面的方法,搜索并启用 Service Usage API
  2. 回到这里,点击左侧导航菜单当中的 API 和服务 中的 OAuth 同意屏幕

  1. 填写信息,这里分为四步
  • 第一步,选择外部,然后填写必填的信息,如应用名称 用户支持电子邮件 开发者联系信息
  • 第二步,什么都别管,直接下一步
  • 第三步,也是什么都别管,下一步
  • 第四步,什么都别管,OK 了
  1. 发布正式版应用

  1. 点击左侧的凭据,并点击上方的创建凭据当中的OAuth 客户端ID 并创建新的ID。

  1. 在创建好后,会弹出刚刚创建好的 API,点击下载 json 即可
  2. 在下载完 json 文件后,将其重命名为credentials.json 然后放入你刚刚下载的 AutoRclone 的文件夹内。

生成 SA 账户

这里我只介绍手动创建,不会介绍自动创建 SA 账户,因为自动创建的 SA 账户我觉得离谱,命名什么的很不舒服

# 先列出账号下的 projects
python3 gen_sa_accounts.py --list-projects

在第一次执行这个步骤的时候,可能会让你输个 code,如下:

python3 gen_sa_accounts.py --list-projects
Please visit this URL to authorize this application: https://accounts.google.com/o/oauth2/auth?一大长串链接
Enter the authorization code:

复制里面的链接到浏览器打开,然后照着走,授权全给,最后你会拿到一串代码,复制进去。再次重复列出步骤:python3 gen_sa_accounts.py --list-projects

# 然后你应该能看到这样的结果
root@XiaoCai-SX63 ~/AutoRclone # python3 gen_sa_accounts.py --list-projects
Projects (1):
  asd-shdu291hs918312-1
  
# 然后你可能需要开启一下服务,要注意的是,ProjectName 是你上面的输出,比如我的是 asd-shdu291hs918312-1
# 那我就应该输入 python3 gen_sa_accounts.py --enable-services asd-shdu291hs918312-1
python3 gen_sa_accounts.py --enable-services ProjectName

# 为你的 Project 生成 SA
python3 gen_sa_accounts.py --create-sas ProjectName

# 下载指定 Project 中 SA 文件 
python3 gen_sa_accounts.py --download-keys ProjectName

需要注意的是,每一个 Project,也就是一个项目,最多 100 个 SA,每个 SA 一天最多 750G 上传限制,也就是说,你每有一个 Project 就可以有接近 70T 的上传,如果你觉得不够,那么你还可以继续创建更多。

# 继续创建 Project,Num 为要创建的 Project 数量
python3 gen_sa_accounts.py --create-projects Num

# 这里还有一些可能用的到的命令:

# 列出指定 Project 中的 SA
python3 gen_sa_accounts.py --list-sas ProjectName

#删除指定 Project 中的全部 SA
python3 gen_sa_accounts.py --delete-sas ProjectName

更多的命令,你可以去官方 Github 看看

将 SA 添加到 Group

复制下述代码,在 AutoRclone 目录下运行

cat accounts/*.json | grep "client_email" | awk '{print $2}' | tr -d ',"' | sed '0~100G' > email.txt && cat email.txt

然后你就可以在当前屏幕上看到你的 SA 的邮箱了。或者你也可以在 email.txt 文件里找到这些邮箱。将这些邮箱复制,准备添加到 GoogleGroups 里。

  1. 首先去Google 群组创建一个群组,需要注意的是,电子邮件将会是你这个群组的电子邮件
  2. 创建好后,点击左侧的人员,再点击添加成员

  1. 将最多 100 个邮箱复制到群组成员里,点击添加即可。
  2. 然后点击左侧的关于,找到你的群组电子邮件,将其添加到你的 GoogleDrive 的成员里。

[scode type="yellow"]需要注意的是,每 24 小时最多添加 100 个用户,如果显示上限,就明天再添加一次[/scode]

配置 Gclone

# 先确定下自己有没有装 gclone,输入下面的命令
gclone -V

# 如果提示command not found,输入下面的命令
bash <(wget -qO- https://git.io/gclone.sh)

配置 Gclone 的大体流程和配置 Rclone 大同小异,几乎没有任何区别,只是需要在出现 service_account_file_path 选项时填入 AutoRclone 目录下的 accounts 的绝对路径,如下图:

[scode type="red"]结尾必须为 / 不然会报错![/scode]

gclone 在使用方式上,与 rclone 没有任何区别,以下给出一个例子:

gclone copy -v --status 1s sharedgd:/ mygd:/ --drive-server-side-across-configs --bwlimit 20M

更详细的使用方法可以去看官方 Github

具体的参数,配置过程还是建议看这篇文章:
[post cid="142" cover=""/]

最后,想要上无限 GD 车的,欢迎在各大聊天软件上私聊我。正规 Gsuite,人满车门焊死。