原理:除教育版等特殊用户拥有无限的谷歌网盘外,普通用户的谷歌网盘只有可怜的十几个 G。但是谷歌的另一项服务:谷歌在线文档提供所有用户无限制的存储空间,所以我们将文件的二进制流编码成 base64 格式并存储到谷歌文档中,从而实现了另类的无限容量谷歌网盘。
查看 python 版本是否符合要求,python3 以上即可跳过这个步骤。
python -V
获取 python3.X 官方软件包
yum -y install wget
wget yum groupinstall "Development tools"
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 -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
安装 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
打开下面的地址并登陆你的谷歌账号,开启谷歌网盘 API,类似于微软的 onedrive。
https://developers.google.com/drive/api/v3/quickstart/python
然后下载文件,该文件名为:credentials.json
<figure class="wp-block-image is-resized"></figure>下载源码并初始化
cd ~
git clone https://github.com/stewartmcgown/uds.git
cd uds
将 credentials.json 文件重命名为 client_secret.json,并将此文件上传到 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 #删除文件
其他问题请看我的博客:mebi.me
1
int64ago 2019-05-19 08:50:13 +08:00 via Android
大文件本地编解码耗时够呛,所以这最终也只是适合小文件,但是小文件 15G 完全够了吧
|
2
jianzhao123 2019-05-19 08:50:49 +08:00 via iPhone 1
这个想法有点厉害哟
|
3
vocaloid 2019-05-19 08:51:36 +08:00
这就和把文件存到百度文档的原理一样吧...
|
4
wxb2dyj 2019-05-19 08:55:09 +08:00 via iPhone 8
不建议这么做,因为如果都这样,迟早谷歌文档也会做出限制,到时候不但害了自己,也害了真正需要的用户。
|
5
homeagain OP @int64ago 对,费时间,100M 的文件得要一会。不过电脑配置强,这都不是事。base64 编码后文件大小与原文件大小比例大概 4:3
|
6
whwq2012 2019-05-19 08:58:53 +08:00 via Android 3
别推广了,这种东西只说说原理就好了。
可持续发展的道理不懂吗? |
7
lusi1990 2019-05-19 09:01:06 +08:00 via Android
编成 hex 会不会更小
|
8
homeagain OP @whwq2012 就是在说原理啊,就是用来折腾的,实际操作不强。大文件上传速度不理想,还有谷歌文档单文件大小限制,80M 的文件会被拆分成 108 个文件分批上传。这就是用来折腾的,替代不了真正的网盘。
|
9
cxh116 2019-05-19 09:03:00 +08:00 via Android
api 每天有调用限制,可用数太低了
|
10
whwq2012 2019-05-19 09:03:23 +08:00 via Android
不过这个原理是不是和动态二维码差不多,那么可不可以实现使用二维码内网传外网文件呢?
|
13
infun 2019-05-19 09:19:16 +08:00 via iPhone
1.99 刀一个月 100G 加起来 115
够用了吧 |
14
mooncakejs 2019-05-19 09:30:32 +08:00 via iPhone
唉,这样只会加强[中国人就爱钻空子]的形象。
|
15
homeagain OP @mooncakejs 可以这个程序就是外国程序员开源在 github 上的。
|
17
rogwan 2019-05-19 09:44:39 +08:00 via Android 1
谷歌在请求数、流量来个限制额度,就消停了
|
18
nodin 2019-05-19 10:09:14 +08:00 via Android
这是用时间和电脑资源换取空间。
|
19
reus 2019-05-19 10:39:28 +08:00
b2 又便宜又好用,何必
|
20
trait 2019-05-19 10:56:08 +08:00
咋这么眼熟,原来在前几天在 hn 上也看到了 https://news.ycombinator.com/item?id=19907271
|
21
wormcy 2019-05-19 12:07:45 +08:00 via Android
会玩
|
22
colinrat 2019-05-19 12:17:57 +08:00 via Android
别把小聪明用在 Google 上,如果 Google 做出限制,你就是那一颗老鼠屎,辣鸡
|
23
MTMT 2019-05-19 12:25:22 +08:00
薅资本主义羊毛吗,哈哈哈
原理上成立,但是确实不该在现实中推广 |
24
DearTanker 2019-05-19 12:34:42 +08:00
@reus #19 b2 是什么?
|
25
Eleutherios 2019-05-19 12:49:04 +08:00 via iPhone
感觉是 abusive behavior
|
26
Tiande 2019-05-19 12:51:15 +08:00 via iPhone 2
嘴上说不要传的,会不会是利用的最凶的…
|
27
nikolai 2019-05-19 14:09:08 +08:00
别说这种分 n 个包上传的,就算 Google 自家的客户端都要 queue 半天。。。不过思路不错
|
28
2exhjx 2019-05-19 14:33:59 +08:00
qq 邮箱也可以这样搞
|
29
labnotok 2019-05-19 14:44:07 +08:00 via Android
怎么整不就失去了网页端的应用功能?
只能做一个长期闲置存放的仓库, 为什么不用 onedrive 的教育版呢 |
31
Ultraman 2019-05-19 16:27:34 +08:00 via Android
各种邪魔外道用法…
|
32
billlee 2019-05-19 16:35:22 +08:00
十几年前有用 gmail 当网盘的
|
33
alvin666 2019-05-19 16:37:51 +08:00 via Android
这和用 github 当网盘一样...
算是钻空子吧,效率也不高 |
35
fuyufjh 2019-05-19 19:41:36 +08:00
既没有技术含量,也没有情怀。总结:真是闲的发慌
|
36
lizhuoli 2019-05-19 20:24:27 +08:00 via iPhone
很快就被 Report abuse 了
|
37
Ultraman 2019-05-19 20:37:41 +08:00 via Android
那么我也有一堆骚想法就是,base64 编码后分块丢在各大论坛评论区,或者截取一定长度的文本去各处注册账户,账户之间依次关注,或者二进制文件分割成一定长度强行转换成 GPS 坐标开着 Google 地图依次去相应地点标记一下。
|
38
Tvan 2019-05-19 23:10:32 +08:00 via iPhone
鼓捣这些的时间成本,以及潜在麻烦,抖一下机灵就成
|
39
ihipop 2019-05-20 08:40:58 +08:00 via Android
这个操作步骤,1 秒可完不成🐶🐶🐶
|
40
flynaj 2019-05-20 09:54:03 +08:00 via Android
同理,腾讯文档应该也可以,不过没有什么用。以前也用 Gmail 做过网盘,早就不折腾了,硬盘便宜了。
|