
原理:除教育版等特殊用户拥有无限的谷歌网盘外,普通用户的谷歌网盘只有可怜的十几个 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 这个想法有点厉害哟 |
3 vocaloid 2019-05-19 08:51:36 +08:00 这就和把文件存到百度文档的原理一样吧... |
4 wxb2dyj 2019-05-19 08:55:09 +08:00 via iPhone 不建议这么做,因为如果都这样,迟早谷歌文档也会做出限制,到时候不但害了自己,也害了真正需要的用户。 |
5 homeagain OP @int64ago 对,费时间,100M 的文件得要一会。不过电脑配置强,这都不是事。base64 编码后文件大小与原文件大小比例大概 4:3 |
6 syahd 2019-05-19 08:58:53 +08:00 via Android 别推广了,这种东西只说说原理就好了。 可持续发展的道理不懂吗? |
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 syahd 2019-05-19 09:03:23 +08:00 via Android 不过这个原理是不是和动态二维码差不多,那么可不可以实现使用二维码内网传外网文件呢? |
13 GlobalNPC 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 谷歌在请求数、流量来个限制额度,就消停了 |
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 PRO 嘴上说不要传的,会不会是利用的最凶的… |
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 做过网盘,早就不折腾了,硬盘便宜了。 |