该教程参考自假大佬,请读者自行完成之前无比仔细阅读该教程。
该教程创新部分来自群友你笑起来真好看,鸣谢。
开始搭建
在创建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账户是全新账户。
这里会出现让你授权的情况:
按照提示复制链接到浏览器中授权即可。
注意可能需要多次授权。
如果你遇到下图这种错误,请看接下来的第二种方法。
第二种方法:
该方法来自群友你笑起来真好看。
首先来到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
下载到本地,用记事本或其他文本编辑器打开,你将看到:
类似于这样的SA账户。其中每一部分刚好是10条。
然后打开:
来到谷歌群组,创建一个自己的谷歌群组。创建过程略。
然后进入群组,管理成员:
点击这里管理成员。
注意一次只能添加10个SA账户,一天只能添加100个。
如果添加遇到错误,请看步骤4。
分批添加完毕后,获取group的邮箱地址:
点击关于
即可看到group mail:
4. 黑号的情况
这里插入一部分我发现的问题,我将之归结于黑号。
第一种情况即将SA批量添加到群组时发生错误,提示“该邮件地址不是组织内成员”。
这种情况目前没有发现解决办法,只能通过更换谷歌账号重新创建解决。
第二种情况是在gclone使用过程中,出现如下错误:
提示内存溢出,但是实际上并不是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为项目名称。
请到客户端“主题--自定义配置--valine”中填入ID和KEY