XiaoCai 's Blog

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »

Rclone 进阶 —— AutoRclone + Gclone

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. 填写信息,这里分为四步
  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,人满车门焊死。