Win10安装AutoRclone win

zsxwz 20/05.03 13:30 1970

Win10安装AutoRclone

原文:https://telegra.ph/Win10%E5%AE%89%E8%A3%85AutoRclone-04-29


Win10安装AutoRclone


AutoRclone可以干什么?

可以方便快捷地把文件(夹):

  • 从Google Drive到Team Drive(需贡献者以上权限)
  • 从Team Drive到Google Drive(未测试,理论上需要内容管理者以上的权限)
  • 从本地到 Team Drive,
  • 从公共分享目录到 Team Drive,
  • 再或者从 Team Drive 到 Team Drive。(未测试,但管理员权限可以)

换句话说,就是实现 Team Drive,Google Drive,本地之间的互拷,以及把分享的文件复制到,或者说真正地转存到自己想要的地方。

说明

  • 本篇文章大量参考甚至复制了很多Great Panoan的文章内容,只是在其基础上补充完善了很多小细节。
  • 文章具有时效性,如果你下载的软件版本不同,可能就需要改变下面教程中的些许参数(比如环境变量)。
  • 若你想无脑安装,最好所有设置都跟我一样。路径、文件名什么的都不要改。这样的话,下面有的内容你就可以直接复制粘贴使用。
  • 创建好Google groups邮箱的朋友可以私聊我加SCU大学的团队盘。

前提

  1. 一个能够开启API的谷歌账号(不能开启请放弃或更换账号)
  2. 一台windows电脑(我仅在win10测试)
  3. 能够路由器fq或者单独自行设置给PowerShell配置代理
  4. 会简单的操作电脑

不满足以上条件者请放弃




1. 安装所需软件

1.1 安装Python 3.8.1

下载好之后按下图进行安装

批注 2020-04-29 125552




1.2 安装AutoRclone

autorclone下载好自行选择解压路径。比如我就是D:\AutoRclone-master。若你想无脑安装,最好所有设置都跟我一样。路径、文件名什么的都不要改。这样的话,下面有的内容你就可以直接复制粘贴使用。

解压好后应该长这样。


1.3 安装Rclone

直接将下载的Rclone压缩包解压至`D盘。

1.4 添加环境变量

鼠标右键点击我的电脑,依次选择属性-高级系统设置-环境变量。




点击Path并选择编辑。


选择如下图所示的新建按钮,添加下图所示三个路径(D:\Python、D:\AutoRclone-master、D:\rclone-v1.51.0)。


2. 安装相关依赖

注意:

以下所有操作均需要让PowerShell运行在fq环境下。解决方法是拥有一个可以fq的路由器或者给PowerShell设置代理(自行谷歌)

在桌面空白处启动Power shell(shift+鼠标右键,选择在此处打开power shell窗口)

输入以下代码

 cd D:\AutoRclone-master
 pip3 install -r requirements.txt

3. 启用Google API

首先开启 Drive API 并将下载好的 cre­den­tials.json 保存到D:\AutoRclone-master路径(Au­toR­clone 目录),如图所示




4. 生成并提取Service Account(服务账号,即SA)

4.1 准备工作

在AutoRclone-master目录(路径:D:\AutoRclone-master)下创建一个txt文档,并将以下代码复制到txt文档中。然后将txt文档重命名为1.py。

 import re
 import sys
 import os,glob
 
 path = 'D://AutoRclone-master//accounts'
 fout = open("E://1.txt", 'w')
 
 os.chdir(path)
 for filename in os.listdir() :
   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("\"")
       fout.write(mylist_2[1] + '\n')
 fout.close()

4.2 创建&提取SA

4.2.1 创建SA账号命令参数详解

 python gen_sa_accounts.py --quick-setup N   
 # N指的是项目数,每个项目下都有100个SA。每个SA每天可以转存750G文件(实测大概有735G)。
 # 运行此指令会创建N个项目(项目0-项目5)共100*N个Service Account,并将100*N个SA的授权文件添加至accounts文件 夹。
 
 python gen_sa_accounts.py --quick-setup N --new-only
 # 此指令会在你账号原有项目的基础上再增加N个项目,并将所有的SA授权文件添加至accounts文件夹。
 
 python gen_sa_accounts.py --quick-setup -1
 # 此指令只会在你原有项目的基础上来创建SA(会覆盖掉原有SA,导致以前的Groups账号不可用),并将所有的SA授权文件添加 至accounts文件夹。

认真看完本段文字和命令参数详解再继续进行下一步操作!

  1. 项目数不宜过多,2-3个项目足以满足每天批量转存的需求。而且就算创建的多,后续将服务账号手动添加进google group也足以把你累得半死。
  2. 请不要乱创建项目,谷歌对于每个账户限制只能创建12个项目。如果账号中已有项目,请使用下面的用已有项目来创建服务账号指令。
  3. 项目被占用完如果想删除再创建需要等30天。比如我一个账户创建了12个项目(最大值),导致我删除后仍需要等待30天才可创建新项目。

由于我的原有账号已经被我乱操作创建了很多项目~所以我选择从已有项目创建SA。此处不再截图。(新账号不要跟我一样)

新账号可以直接在刚刚打开的power shell窗口中运行以下代码

 python gen_sa_accounts.py --quick-setup 1   # 创建2个项目

然后弹出以下画面,将power shell中的链接复制到浏览器打开。链接如下图。


选择账号登陆并授权,或许会提示风险之类的,不用管,一直按确定和允许直到出现如下图所示的画面,然后将出现的代码复制到刚刚的窗口中并按回车键运行。



等运行完成后在power shell窗口中输入./1.py提取SA账号信息。至此,你已经创建了2个项目、200个SA账号,并将SA账号提取到了E盘的1.txt文件中。

5.将SA添加到Google Groups

接下来打开Google groups,按下图操作。


填入相关信息,点击CREATE



然后点击My groups中的Manage members,点击下图所示区域来添加SA账号(SA账号信息在E盘的1.txt文件中)。


接下来就是重复劳动了,每次最多添加10个账号,每天最多添加100个。每个group最多600个SA。添加完成后将Google Groups的账号添加进团队盘即可。图中绿圈就是Google Groups的账号。


6. 常见问题Q&A

Q1:每次拷贝完为什么会报错?

AutoRclone机制是这样的:每个账号切换后都会重新检查已有的文件,并且会自动跳过已有的文件,当连续三次检测,发现目标文件夹里已经完全拷贝好,就会自动输出 3 次 “fail”。连续三个账户,输出 9 次 fail,就会终止程序运行,认为你拷贝完成。
所以如果你 1~3 已经用满了,还 -b 1,那么三次报错就会终止!他以为你复制完全,而你实际上只是限额用满了!

Q2:我准备拷100个文件,才拷了50个就地震了,我爬出来之后再跑一遍原来的命令会怎么样呢?

每个账号切换后都会重新检查已有的文件,并且会自动跳过已有的文件,所以你再跑一遍会跳过已有的文件!
但你一定要注意,拷贝 50 个文件比如用满了前十个 SA,务必从 11 开始。

Q3:我老是fail,有什么常见的原因?

  1. 每次运行cmd均需重新设置代理
  2. 你有把你的服务账号全部添加到你的源和目标吗?
  3. 你一定要确保 group 能够看到你的文件!
  4. 如果你使用直接添加SA的方式,你就必须把SA全部添加到你的源文件的权限里(上传/公开分享的文件没有此限制),手动,是不是很累?所以我不推荐!
  5. 如果你使用group管理,请务必将源文件分享给group对应的邮箱。(一个邮箱,几百个SA,是不是很方便?)

Q4:如果我在某个团队盘里,我想把团队盘内容拷到自己账户里,怎么办?

那要看团队盘的管理员乐不乐意让你搬咯!如果乐意,请他把你的 group 的 email 加入团队盘即可。如果不乐意,那我也没办法。

Q5:创建项目的时候,为什么会出现错误?

我遇到了几个人出现这种错误,有一位大佬反馈回来说,是因为他的 python 没有加代理。至于 python 如何代理,请使用 Prox­i­fier.

Q6:管理Service Account(非必须,可跳过)

你可以在 Google APIs 看到你的项目及 SA。



点击此处,你可以看到你所有项目。


有的人可能想问,怎么我只有两个项目200个SA,却有500个json?那是因为你浏览项目的时候需要点击“全部”。


7. 开始转存

GD转存到TD要确保你要转存的文件(夹)设置为所有人可见
TD转存到TD、TD转存到GD要确保你的转存账号拥有相关团队盘权限。

命令参数详解

 python rclone_sa_magic.py -s SourceID -d DestinationID -dp A -b 1 -e 600
 # SourceID:源文件(夹)id
 # DestinationID:目标文件(夹)id
 # -dp DestinationPathName:在目标文件夹内创建一个叫A的文件夹。(可删除)
 # -b 1 -e 600:选择从第1个到第600和SA账号转存。
例如,共享文件夹/文件/TD的链接为https://drive.google.com/drive/u/0/folders/10y_9ucYQyvfxuexDKiOY2pp1CXlXy。
那么,它的id即为10y_9ucYQyvfxuexDKiOY2pp1CXlXy。如果出现形如 ?usp=sharing的后缀,请务必删除。
  1. 如果想看其他参数的具体含义,直接运行 python3 rclone_sa_magic.py -h
  2. 如果我今天已经把前十个SA的限额用满了,那我 -b 11 即可。
  3. 每个服务账号的限额在二十四小时后重置。
  4. 特别地,如果想多开,请用 - p 参数给不同的复制任务指定不同的端口。
  5. 其他指令自行探索。      

上一篇:oneindex魔改版
下一篇:arch安装常用软件及优化脚本
最新回复 (0)
    • 姿势论坛—姿势小王子
      2
返回
发新帖
友情链接
免责声明:本站部分资源来源于网络,如有侵权请发邮件(mail@zsxwz.com)告知我们,我们将会在24小时内处理。