该教程参考自假大佬,请读者自行完成之前无比仔细阅读该教程。

该教程创新部分来自群友你笑起来真好看,鸣谢。

开始搭建

在创建Gclone服务前,你需要准备的有:能够访问谷歌的网络、一个全新创建的谷歌账号、一个运行ubuntu16.04官方发行版本的VPS、一个谷歌团队盘。

1. 服务器环境建设

首先要在服务器中安装好pthyon3和pip:

apt-get install git python3 python3-pip -y

安装AutoRclone:

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

开启谷歌账号相关api:

打开链接:

https://developers.google.com/drive/api/v3/quickstart/python

创建api之后,下载credentials.json,并上传到服务器AutoRclone文件夹目录下。

2. 创建SA账户

这里有两种方法。

第一种方法:按照官方教程创建SA账户,分为三种情况:

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

python3 gen_sa_accounts.py --quick-setup 1

该命令将:

创建1个新项目;

开启相关的服务;

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

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

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

python3 gen_sa_accounts.py --quick-setup 2 --new-only
该命令将:

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

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

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

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

python3 gen_sa_accounts.py --quick-setup -1

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

这里选择第一种情况,前提是你准备的google账户是全新账户。

这里会出现让你授权的情况:

20200614151926.png

按照提示复制链接到浏览器中授权即可。

注意可能需要多次授权。

如果你遇到下图这种错误,请看接下来的第二种方法。

20200614151818.png

第二种方法:

该方法来自群友你笑起来真好看

首先来到accounts文件夹下看看有没有已经下载的文件,如果你是全新账号又出现了上面所说的错误,应该是空的。

如果有文件就删除。

运行命令:

python3 gen_sa_accounts.py --path accounts --quick-setup 1 --new-only

该命令将:

新建一个项目;

开启相关服务;

创建100个SA账户,并将授权文件下载到accounts文件夹中。

一般来说如果授权完整的话,这条命令是不会出现问题的。

然后来到accounts文件夹下看看有没有已经下载的文件,ls数一下是不是一百个json。

3. 获取SA账户邮件地址,添加到谷歌群组中。

首先到accounts文件夹下看看一共多少个授权文件。

然后将这些授权文件所代表的SA账户提取出来,用如下命令:

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.json

该命令将:

提取目录/root/AutoRclone/accounts/下的所有授权文件所代表的SA账户邮件地址,并生成一个名为email.json的文件,存放在/root/目录下。

你也可以自己修改目录和存放文件的地址。

然后将服务器上的email.json下载到本地,用记事本或其他文本编辑器打开,你将看到:

20200614212.png

类似于这样的SA账户。其中每一部分刚好是10条。

然后打开:

https://groups.google.com/

来到谷歌群组,创建一个自己的谷歌群组。创建过程略。

然后进入群组,管理成员:

20200614154009.png

点击这里管理成员。

20200614154146.png

注意一次只能添加10个SA账户,一天只能添加100个。

如果添加遇到错误,请看步骤4。

分批添加完毕后,获取group的邮箱地址:

20200614154312.png

点击关于

即可看到group mail:

20200614154401.png

4. 黑号的情况

这里插入一部分我发现的问题,我将之归结于黑号。

第一种情况即将SA批量添加到群组时发生错误,提示“该邮件地址不是组织内成员”。

这种情况目前没有发现解决办法,只能通过更换谷歌账号重新创建解决。

第二种情况是在gclone使用过程中,出现如下错误:

20200614154825.png

提示内存溢出,但是实际上并不是gclone的问题,暂不清楚是哪方面的问题,也只能通过更换谷歌账号重新创建的办法解决。

5. 安装gclone并配置使用

gclone安装命令如下:

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

配置过程不再赘述,可以参考假大佬

6. 后续维护与添加

针对accounts的备份:

cp -r ~/AutoRclone/accounts ~/accounts.bak

增加创建项目和100个SA:

python3 gen_sa_accounts.py --path newacc --quick-setup 1 --new-only

该命令将新建一个项目,并创建100个SA,将SA账户的配置文件下载到newacc文件夹内。

查看SA配置文件:

ls ~/AutoRclone/newacc

提取新建SA邮件地址:

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

然后下载文件email1.json,并将SA地址添加到谷歌群组中。

最后,合并SA配置文件:

cp -r /root/AutoRclone/newacc /root/AutoRclone/accounts

7. 一些问题的解决办法

  • 创建SA成功但未下载SA配置文件

该问题的解决办法,首先要获取已成功创建SA账户的项目名称,这部分需要到浏览器中查看:

打开网址https://console.cloud.google.com/iam-admin/serviceaccounts,尝试切换项目,查看SA账户是否已成功创建,是的话就记下这个项目的名称。

或者通过命令

python3 gen_sa_accounts.py --list-projects

查看项目名称。

然后,指定下载某个项目的SA配置文件:

python3 gen_sa_accounts.py --path accounts --download-key xxxx

其中,xxxx为项目名称。