(新版)通过AutoRclone批量生成SA文件

准备工作:一台能访问Google的VPS。本文所使用的VPS环境为DigitalOcean的Ubuntu 20.04。

Debian 9+,Centos 7+ 理论可行,但未测试。

前言:自从GCP页面更改后,之前生成SA的教程都已失效,于是做一个教程帮助大家(本人能力有限,教程中难免有错误,还请各位谅解并指正)

教程正式开始:

一. 创建项目并获取相关授权文件

浏览器打开: https://console.cloud.google.com/apis/library

 第一次进入这个界面会弹出如上图的欢迎界面,同意之后点击同意并继续。

点击页面上方选择项目,

点击新建项目并填写相关信息(根据图示一步一步来),

此时,已经创建好了一个全新的项目,我们继续。

开启相关API

一般情况下需要开启如下5个API

Google Drive API
Identity and Access Management (IAM) API
Service Usage API
Cloud Resource Manager API
IAM Service Account Credentials API

我只示例Google Drive API开启具体步骤,其余API步骤相同:

在“搜索API和服务”框内输入 drive,点击Google Drive API。

稍等片刻,Google Drive API就启动成功了。

然后点击左上角三条横线,找到 API与服务-库 搜索其余4个API并开启。(有的默认开启的就不用管了)

操作完成后,我们检验一下是否全部开启成功,

点击左上角三条横线,找到 API与服务-信息中心,在这里我们可以看到我们成功开启的所有API(除了刚刚开启的5个,其余的是默认开启的,不需要管)。

确认5个API开启后,我们进行下一步。

配置OAuth同意屏幕并创建客户端(按照图示一步一步来)

应用名称、用户支持电子邮件、开发者联系信息随便填,

填好后保存并继续

添加此应用可以访问的API范围,直接全选,

所有都勾选

点击更新来保存。

接着添加测试用户,测试用户填写自己gmail邮箱地址,

刚刚创建的应用是测试版,测试版需要添加测试用户而且客户端ID和密码只有7天有效期,之前可以发布应用来解决,但现在谷歌修改政策,启用权限较高的API的应用必须通过谷歌验证才能正常使用。

AutoRclone项目使用的一些API权限较高,所以发布的应用必须经过谷歌验证,通常这一过程较难实现。若发布应用请求了较高应用权限而未通过验证,则会返回:您无法登录此应用,因为它不符合 Google 为保障应用安全而制定的 OAuth 2.0 政策的规定。

但是我们创建SA项目只需使用一次,7天后授权文件过期不会影响已经生成的SA正常使用!所以无需发布应用,只需要在测试版添加自己的邮箱地址仅供自己使用即可!

至此,OAuth同意屏幕配置完成,接下来创建客户端ID和密码,

点击凭据,

应用类型选择桌面应用,名称随意,完成后点击创建,

此时,客户端ID与密码创建完毕,可以记下来,以后使用方便,不想记也没事,以后还能看,

点击下载授权文件,并改名为 credentials.json。

这个文件和上面的客户端ID和密码只有七天有效期,若七天后,还想再生成SA,重新创一个新的客户端ID和密码,下载新的授权文件即可!(不影响已生成SA的使用!)

到此,我们成功获得了授权文件。

1. 配置环境

接下来需要到VPS上操作了,首先远程登陆好你的VPS,安装依赖,

Ubuntu、Debian:

sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt -y update && sudo apt -y upgrade && sudo apt install wget curl python3 python3-pip git unzip screen fuse -y

Centos:

 

yum -y update
yum install epel-release -y
yum install wget curl python3 python3-pip git screen unzip sudo fuse fuse-devel -y 

安装完成后,试试输 python3 -V 和 pip3 -V 是否正确显示版本号,如果是则说明 python 配置正确,请继续下一步;如果不是,请自行配置 python 环境。

2. 安装rclone、AutoRclone

curl https://rclone.org/install.sh | sudo bash
sudo git clone https://github.com/xyou365/AutoRclone && cd AutoRclone && sudo pip3 install -r requirements.txt

3. 将刚下载好的授权文件上传到AutoRclone根目录

上传可以使用宝塔面板或者xftp,这个不会的可以自行谷歌,

https://www.google.com/search?q=ssh%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6

上传完成后继续操作,

4. 生成SA

#在AutoRclone根目录执行
python3 gen_sa_accounts.py --quick-setup 1 --new-only

这个命令的含义是创建100个SA(对于99.9999%的人100个SA都够用了)

–quick-setup 1 是创建1个项目,每个项目里面包含100个SA,若想多创建,将1改为其他数字,建议不要超过10,否则SA有被封禁的风险。

执行上条命令后会出现一个链接,复制并在浏览器中打开,登陆你刚刚创建项目时填写的测试用户账号(注意别弄错了)进行授权,

点击高级-继续前往

赋予权限

复制返回码并粘贴到SSH终端,点击回车,等待SA生成完毕


我们可以执行 ls /root/AutoRclone/accounts  ,发现里面有100个SA授权文件,至此SA已生成完毕。
温馨提示:SA授权文件非常重要,建议下载保存,丢失找回非常困难! 

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

#删除指定Project中的SA
python3 gen_sa_accounts.py --delete-sas ProjectName
#如果python3没反应,请换成python

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

#列出账号下的所有Project
python3 gen_sa_accounts.py --list-projects

#为指定Project开启所需要的服务,ProjectName为项目名称
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

 

在AutoRclone文件夹下执行,得到email.txt。

#提取email,并100个一组分为一个文件,便于复制
cat ./accounts/*.json | grep "client_email" | awk '{print $2}'| tr -d ',"' > ./emails.txt && split ./emails.txt -l 100 -d -a 2 emails_ && ls | grep emails_|xargs -n1 -i{} mv {} {}.txt && rm ./emails.txt

#或提取到一个文件,每100个空行分隔
cat accounts/*.json | grep "client_email" | awk '{print $2}'| tr -d ',"' | sed '0~100G' > email.txt

 

下载一键提取工具,放到AutoRclone/accounts文件夹里(跟json放在一起),双击运行,得到user.txt。

或使用Python脚本

import re
import sys
import os,glob
path = "./accounts/"
fout = open("./email.txt", 'w')
os.chdir(path)
for filename in os.listdir(path):
    fs = open(filename, 'r+')
    for line in fs.readlines():
        mylist_1 = line.split(":")
        if mylist_1[0] == '  "client_email"':
            mylist_2 = mylist_1[1].split(":")
            email = mylist_2[0]
            a = len(email)
            b = a - 3
            fout.write(email[2:b] + '\n')
fout.close()

 

创建一个Google Group,然后手动地将上一步得到的email复制进去。24小时内最多添加100人

新版Google论坛已经不再限制每次只能添加10人,所以可以一次复制100个email添加进去。一定要使用新版


添加完成之后点击左侧边栏中的关于,复制群组电子邮件地址

到团队盘中管理成员,添加群组的电子邮件地址

版权声明:
作者:admin
链接:https://jkboy.com/archives/5303.html
来源:随风的博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
(新版)通过AutoRclone批量生成SA文件
准备工作:一台能访问Google的VPS。本文所使用的VPS环境为DigitalOcean的Ubuntu 20.04。 Debian 9+,Centos 7+ 理论可行,但未测试。 前言:自从GCP页面更改后……
<<上一篇
下一篇>>
文章目录
关闭
目 录