Loading... ### Rclone 进阶 —— AutoRclone 本教程需要配合 rclone/gclone 使用,可以参考下我之前写的教程。 <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="https://blog.ixiaocai.net/2020/10/03/rclone.html" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(https://blog.ixiaocai.net/usr/themes/handsome/assets/img/sj/3.jpg);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">Rclone 入门指南</p> <div class="inster-summary text-muted"> 之前一直把各种 PT 下下来的东西丢到 GD 上保存,但是每次去手动备份 / 下载文件的时候都因为记不住命令,需要... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> ### 关于这篇文章的小介绍 最近开了个 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 系。** ```bash # 安装 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 修改了下启用逻辑。 [官方的教程](https://developers.google.com/workspace/guides/create-project),可以去这里看一下 GCP 启用 API 的流程。当然,你也可以跟着我的走。 1. [先去这里](https://console.cloud.google.com/)准备创建项目,首先先选择自己的地区,在这里,我选择香港。**如果你没有弹出提示的话,直接跳过这一步就好。** <img src="https://img.ixiaocai.net/images/2021/09/23/18f9832ccffb7dfe9429c1d7f13ad686.jpg" alt="选择地区" style="zoom:50%;" style=""> 2. 在选完地区后,点击左上方的`选择项目`。 <img src="https://img.ixiaocai.net/images/2021/09/23/fbcd9ec608cddec502c1fd40f7e9e884.jpg" style="zoom:50%;" /> 3. 在弹出的窗口中选择右上角的`新建项目`。 4. 创建一个项目,如下图所示: <img src="https://img.ixiaocai.net/images/2021/09/23/9ac6700623fa0514543884de29c79ba8.jpg" style="zoom:50%;" /> 5. 点击左侧的 `API 与服务 ` <img src="https://img.ixiaocai.net/images/2021/09/23/19027a02c08cb51382756b066fb50a31.jpg" style="zoom:50%;" /> 6. 搜索 GoogleDrive 并点击搜索结果中的 `GoogleDrive`,在新的页面中启用 GoogleDrive API <img src="https://img.ixiaocai.net/images/2021/09/23/a6aa0176ca1f630d63a8b134985d9605.jpg" style="zoom:50%;" /> 7. 按照上面的方法,搜索并启用 `Service Usage API` 8. 回到[这里](https://console.cloud.google.com/),点击左侧导航菜单当中的 `API 和服务` 中的 `OAuth 同意屏幕`。 <img src="https://img.ixiaocai.net/images/2021/09/23/e5112dcfcffdf8a51a22cc40ec3f2125.jpg" style="zoom:50%;" /> 9. 填写信息,这里分为四步 - 第一步,选择`外部`,然后填写必填的信息,如`应用名称` `用户支持电子邮件` `开发者联系信息` - 第二步,什么都别管,直接下一步 - 第三步,也是什么都别管,下一步 - 第四步,什么都别管,OK 了 10. 发布正式版应用 <img src="https://img.ixiaocai.net/images/2021/09/23/d1ab6341ad076f4654b8b501841b28e3.jpg" style="zoom:50%;" /> 11. 点击左侧的凭据,并点击上方的 `创建凭据` 当中的 `OAuth 客户端ID` 并创建新的ID。 <img src="https://img.ixiaocai.net/images/2021/09/23/e464e14cbcc0007cb71e7e3fbb69ff7d.jpg" style="zoom:50%;" /> 12. 在创建好后,会弹出刚刚创建好的 API,`点击下载 json 即可` 13. 在下载完 json 文件后,将其重命名为`credentials.json` 然后放入你刚刚下载的 AutoRclone 的文件夹内。 ### 生成 SA 账户 **这里我只介绍手动创建,不会介绍自动创建 SA 账户,因为自动创建的 SA 账户我觉得离谱,命名什么的很不舒服** ```bash # 先列出账号下的 projects python3 gen_sa_accounts.py --list-projects ``` **在第一次执行这个步骤的时候,可能会让你输个 code,如下:** ```bash 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` <div class="tip inlineBlock error"> 如果你在这一步遇到了 400 或者 403 错误,那有可能是你发布的应用没被审核的缘故(别问,问就是不知道为啥 google 改了政策还是我这边网络延迟还是其他奇奇怪怪的问题)。如下图: <img src="https://img.ixiaocai.net/images/2022/03/08/9fdf64a16c7e6d38969c07bc8e282900.jpg" style="zoom:50%;"> <img src="https://img.ixiaocai.net/images/2022/03/08/6829e671f76e06c4535f86522615f0de.png" style="zoom:50%;"> 那么你可能需要在 `OAuth 同意屏幕` 里将你的应用回退到 `测试版` 并在下方的测试用户里加上你的邮箱,如下: <img src="https://img.ixiaocai.net/images/2022/03/08/ed745db1074e5b2b85a93a8089d81f22.png" style="zoom:50%;"/> <img src="https://img.ixiaocai.net/images/2022/03/08/b6b77dc2f089647c701ddf451dc674a2.png" style="zoom:50%;" /> </div> ```bash # 然后你应该能看到这样的结果 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 的上传,如果你觉得不够,那么你还可以继续创建更多。 ```bash # 继续创建 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 看看](https://github.com/xyou365/AutoRclone) ### 将 SA 添加到 Group 复制下述代码,在 AutoRclone 目录下运行 ```bash 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 群组](https://groups.google.com/my-groups)创建一个群组,需要注意的是,电子邮件将会是你这个群组的电子邮件 2. 创建好后,点击左侧的人员,再点击添加成员 <img src="https://img.ixiaocai.net/images/2021/09/23/de97cbfe82fcc1a4cdf43f0cd8d5b345.jpg" style="zoom:50%;" /> 3. 将最多 100 个邮箱复制到`群组成员`里,点击添加即可。 4. 然后点击左侧的关于,找到你的群组电子邮件,将其添加到你的 `GoogleDrive` 的成员里。 <div class="tip inlineBlock warning"> 需要注意的是,每 24 小时最多添加 100 个用户,如果显示上限,就明天再添加一次。在 2022年后有不少朋友告诉我添加 20 个以上用户就会报错,且即使添加错误也会算到 100 用户的限制里,`这里推荐每次添加 10 个到 20 个用户。` </div> ### 配置 Gclone ```bash # 先确定下自己有没有装 gclone,输入下面的命令 gclone -V # 如果提示command not found,输入下面的命令 bash <(wget -qO- https://git.io/gclone.sh) ``` 配置 Gclone 的大体流程和配置 Rclone 大同小异,几乎没有任何区别,只是需要在出现 `service_account_file_path` 选项时填入 AutoRclone 目录下的 accounts 的绝对路径,如下图: <img src="https://img.ixiaocai.net/images/2021/09/24/6c3605b4e174c9c445e17b9f1e711da2.jpg" style="zoom:50%;" /> <div class="tip inlineBlock error"> 结尾必须为 `/` 不然会报错! </div> gclone 在使用方式上,与 rclone 没有任何区别,以下给出一个例子: ```bash gclone copy -v --stats 1s sharedgd:/ mygd:/ --drive-server-side-across-configs --bwlimit 20M ``` 更详细的使用方法可以去看[官方 Github](https://github.com/donwa/gclone/blob/master/README_zh.md) 具体的参数,配置过程还是建议看这篇文章: <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="https://blog.ixiaocai.net/2020/10/03/rclone.html" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(https://blog.ixiaocai.net/usr/themes/handsome/assets/img/sj/3.jpg);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">Rclone 入门指南</p> <div class="inster-summary text-muted"> 之前一直把各种 PT 下下来的东西丢到 GD 上保存,但是每次去手动备份 / 下载文件的时候都因为记不住命令,需要... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> **最后,想要上无限 GD 车的,欢迎在各大聊天软件上私聊我。正规 Gsuite,人满车门焊死。** 最后修改:2022 年 09 月 27 日 © 允许规范转载 赞 给点.jpg
7 条评论
不知道啥情况,在配置gclone时,最后一步获取code那边,通过链接显示’禁止访问:“rclone”的请求无效‘
试试用自己的 api 看看,别用官方的 api,官方的 api 貌似失效了(
大佬请教一下,授权后执行命令python3 gen_sa_accounts.py --list-projects报错:
Traceback (most recent call last):
download_keys=args.download_keysFile "gen_sa_accounts.py", line 323, in
File "gen_sa_accounts.py", line 178, in serviceaccountfactory
cloud = build('cloudresourcemanager', 'v1', credentials=creds)File "/usr/local/lib/python3.7/dist-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
return wrapped(*args, **kwargs)File "/usr/local/lib/python3.7/dist-packages/googleapiclient/discovery.py", line 321, in build
discovery_http.close()AttributeError: 'Http' object has no attribute 'close'
哥来了OωO
OωO
我按照教程进行了配置,但是在转存的时候总是报404错误,提示创建目录不成功,该怎么修改呢?请您指导
新技能got, 小菜老师我爱您!!!
ヾ(≧∇≦*)ゝ