UDS:让你一秒拥有无限容量谷歌网盘

原理:除教育版等特殊用户拥有无限的谷歌网盘外,普通用户的谷歌网盘只有可怜的十几个G。但是谷歌的另一项服务:谷歌在线文档提供所有用户无限制的存储空间,所以我们将文件的二进制流编码成base64格式并存储到谷歌文档中,从而实现了另类的无限容量谷歌网盘。

UDS为 Unlimited Drive Storage(无限的 Google Drive 存储)的简称,该程序基于python3,centos7系统自带python2.7,所以我们首要做的事为升级系统的python。windows系统这里就不做过多阐述,参看下面的教程。

要求
系统不限,python版本3及以上。

安装python3

查看python版本是否符合要求,python3以上即可跳过这个步骤。

python -V

获取python3.X官方软件包

yum -y install wget   #debian系统为apt-get -y install wget
yum groupinstall "Development tools" #debian系统为apt-get install build-essential
yum install openssl-devel zlib-devel git -y
cd ~
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
tar xvf Python-3.6.5.tgz

编译并安装python3

 cd Python-3.6.5
./configure
make
make install

验证python3是否安装成功,输出python3.6.5即为成功

python3 -V

现在python2和python3两个共存,首先我们需要将系统默认的python版本改为3,然后为了yum命令能够正常使用,需要将其配置指向python2版本

mv /usr/bin/python /usr/bin/python.bak   #备份原配置
ln -s /usr/local/bin/python3 /usr/bin/python #创建软连接

将下面两个文件的头部 !/usr/bin/python修改为 !/usr/bin/python2.7,不然yum命令不能正常使用。

vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down

安装pip3

安装setuptools

cd ~
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz
tar -zxvf setuptools-19.6.tar.gz
cd setuptools-19.6
python setup.py build
python setup.py install

安装pip3

cd ~
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz
tar -zxvf pip-8.0.2.tar.gz
cd pip-8.0.2
python setup.py build
python setup.py install

配置UDS

打开下面的地址并登陆你的谷歌账号,开启谷歌网盘API,类似于微软的onedrive。
developers.google.com/drive/api/v3/quickstart/python
请输入图片描述

然后下载文件,该文件名为:credentials.json
请输入图片描述

下载源码并初始化

cd ~
git clone https://github.com/stewartmcgown/uds.git
cd uds

将上一步下载的credentials.json文件重命名为 client_secret.json,然后上传到uds目录下。如果不会把文件从本地上传到vps,可以在uds目录下新建 client_secret.json文件,然后本地打开credentials.json文件,将内容全都复制到clent_secret.json文件中即可。putty软件中,右键即为复制。

cd ~/uds
vi client_secret.json # 按键i进入编辑状态,右键复制内容,按键Esc退出编辑进入命令状态,输入":wq"保存并退出

下面我们要打开浏览器。注意如果你搭建uds的服务器和要打开浏览器的服务器不同,请使用第二个代码;如果一样,请使用第一个代码。一般情况下,你在vps上搭建uds,在本地电脑浏览器打开就用第二条;你用本地电脑搭建uds并与本地电脑打开就用第一条。

python uds.py
python uds.py --noauth_local_webserver

然后复制如下链接在浏览器中打开
请输入图片描述

登录谷歌账号后,复制页面中给出的代码到窗口中,初始化完成。
请输入图片描述
请输入图片描述

使用

python uds.py push 文件名    #上传文件
python uds.py list #列出上传的文件,无参数
python uds.py pull 文件ID #下载文件
python uds.py delete 文件ID #删除文件
python uds.py grab 文件名 #下载文件
python uds.py erase 文件名 #删除文件
python uds.py update #更新文件,无参数
python uds.py bunch argument[1] argument[2] #批量上传文件,参数一为子文件名,可用问号“?”代表所有,参数二为目录名
python uds.py batch 文件名 #批量下载文件,可用问号“?”代表所有
python uds.py wipe 文件名 #批量删除文件,可用问号“?”代表所有

这里我以上传whmcs安装包为例,可以看到uds把文件拆分成108个分批上传。为什么会这样?因为单一的谷歌文件大小上限大约为1百万个字节,相当于存储大约710KB大小的base64编码数据信息,所以大文件会被拆分为多个文件才能上传成功。
请输入图片描述

存储在哪儿?
访问谷歌文档:docs.google.com/document/u/0/
请输入图片描述