由于Google Drive在国内使用不是太方便,我主力使用的同步网盘还是OneDrive,但是不可以否认Google Drive是一款优秀的网盘,比较我也是一个Google的脑残粉。前几日在Telegram中看见一篇让Google Drive实现离线下载的文章,感觉只是个很给力的功能。
一、版权申明
本文章非原创教程,收发应该是1月14日在Telegram群里,是某色站站长写的教程,主要是为了离线小片片吧。至于色站地址,我就不写出来,下面教程中,某图片里有该网站的网址。喜欢的朋友可以去观光一下。( >﹏<。)~呜呜呜……
二、实现原理
在2016年的时候Google Drive发布了一个Linux版本的Drive,因此可以通过Drive提供的API来对Google Drive进行数据访问,因而可以对Google Drive开发出各种各样的玩法。让Google Drive实现离线下载,主要是通过使用了Linux下Aria2下载工具,通过将文件下载到VPS,在通过google-drive-ocamlfuse将数据同步至Google Drive。
以上P话都是原创,接下来的部分大多都是参考与转载,在此强调,作者的网站网址可以在下面某图中看见。
三、需要环境及教程分块
本教程主要在CentOS7下完成,需要VPS内存不小于512MB,硬盘不少于10G。
- centos 7安装google-drive-ocamlfuse
- centos 7安装aria2
- 配置google-drive-ocamlfuse和aria2
四、CentOS7安装google-drive-ocamlfuse
1.安装必要环境
yum install -y git
yum install -y hg
yum install sqlite-devel fuse fuse-devel libcurl-devel zlib-devel m4
2.安装opam
yum install ocaml ocamldoc ocaml-camlp4-devel
wget https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O – | sh -s /usr/local/bin/
yum install
3.安装google-drive-ocamlfuse
opam init
opam update
opam install depext
opam depext google-drive-ocamlfuse
opam install google-drive-ocamlfuse
测试是否安装成功:google-drive-ocamlfuse -help,如果出现帮助内容,说明安装成功。如果提示命令不存在,可以重启一下,再试试命令。
五、CentOS7安装Aria2
使用Aria2一键安装脚本,仅需输入账号密码进行配置即可。
yum install git
git clone https://github.com/tangrela/aria2
cd aria2
chmod u+x *.sh && ./install_aria2.sh
六、配置google-drive-ocamlfuse和aria2
1、配置google-drive-ocamlfuse
配置google-drive-ocamlfuse需要获取google drive的api。
1.获取Google Drive的API,地址:
https://code.google.com/apis/console/
2.点击创建项目。
3.建好项目,选择启用API和服务,搜索Google Drive。
4.确定启用Google Drive的API。
5.创建凭据。
6.记录下获取到的客户端ID和密钥。
7.回到Putty,返回命令行,将client-ID和client-secret替换为你刚获取的客户端ID和密钥。
google-drive-ocamlfuse -headless -label me -id client-ID -secret client-secret
8.之后会出现一行链接,复制、粘贴到浏览器,打开,选择你的账号,允许之后将获取到的验证码复制到命令行即可。
9.Google Drive挂载本地目录,先创建一个空目录,然后挂载。
mkdir /data/aria2/gg
google-drive-ocamlfuse -label me /data/aria2/gg
至此,google-drive-ocamlfuse配置完毕。
2、配置Aria2
1.前面已经通过一键包安装了aria2,这里只需要修改下配置就行。修改配置
cd /data/aria2
echo “bt-tracker=udp://tracker.leechers-paradise.org:6969/announce,udp://tracker.coppersurfer.tk:6969/announce,udp://9.rarbg.to:2710/announce,udp://p4p.arenabg.com:1337/announce,http://p4p.arenabg.com:1337/announce,udp://tracker.internetwarriors.net:1337/announce,http://tracker.internetwarriors.net:1337/announce,udp://tracker.skyts.net:6969/announce,udp://tracker.safe.moe:6969/announce,udp://tracker.piratepublic.com:1337/announce,udp://tracker.opentrackr.org:1337/announce,http://tracker.opentrackr.org:1337/announce,udp://wambo.club:1337/announce,udp://trackerxyz.tk:1337/announce,udp://tracker4.itzmx.com:2710/announce,udp://tracker2.christianbro.pw:6969/announce,udp://tracker1.wasabii.com.tw:6969/announce,udp://tracker.zer0day.to:1337/announce,udp://public.popcorn-tracker.org:6969/announce,udp://peerfect.org:6969/announce” >> aria2.conf
echo “on-download-complete=/data/aria2/mvcompleted.sh” >> aria2.conf
2.添加脚本,当aria2下载完毕之后,自动将下载的文件移至挂载google drive的目录,并自动上传。
wget https://gist.githubusercontent.com/tangrela/6df921e34a7ab0fe4e4878a63fba9b03/raw/a65e700d7d01f66ab823993bfde5d076da982968/mvcompleted.sh && chmod +x mvcompleted.sh
3.最后启动Aria2。
/data/aria2/aria2.sh start
4.附上Aria2的相关命令
#启动
/data/aria2/aria2.sh start
#停止
/data/aria2/aria2.sh stop
#重启
/data/aria2/aria2.sh restart
#卸载
cd aria2-master &&./uninstall.sh
#Caddy server配置文件
/data/aria2/caddy.conf
#Aria2配置文件
/data/aria2/aria2.conf
#离线下载目录
/data/aria2/download
#日志目录
/data/aria2/aria2.log
/data/aria2/caddy.log
5.然后访问http://ip:6800打开aria2 web管理界面。(注意防火墙开启6800端口)。修改RPC地址:http://user:passwd@ip:6800/jsonrpc,user、passwd就是前面安装aria2时提示输入的用户名、密码,ip就是你的服务器ip。
七、效果图
看到效果图,就已经明白了站长的心意,真是用心良苦~
是不是被封了?
应该没有被封吧,毕竟是合理使用官方的API的。另外我看了下google-drive-ocamlfuse是16年就有的项目了,原博主14号都还是可以使用,应该是没有被封。
这里有个问题,比如你都VPS硬盘空间是10G,可用5G;
aria2c下载的时候,默认会使用file-allocation缓存到你到VPS硬盘里,假设文件大于10G,缓存不够就下载不下来
如果在配置文件里设置 file-allocation=none;下载就会报错。我的是这样
如何解决呢
虽然将drive挂载到了vps上,但是他不是直接下载到挂在点上的啊。。他是先下载到本地完成之后才移动至drive里啊,vps空间只有5g下载不了10g的啊 他并不是直接下载到drive里啊 有点伪离线下载的感觉
也是
不过我看这个mvcomplete.sh是否可以改成直接在aria2.conf里设置dir=挂载点 就行了?
我昨天看了一下。我也不太清楚gdrive是如何挂载的,很可能有api的限制,你可以申请个transip通过webdav来挂载 这种在修改aria2.conf就可以直接离线到硬盘里了
请教一下,安装完opam后,到安装google-drive-ocamlfuse,出现错误说找不到opam命令。用opam init查看:
Checking for available remotes: rsync and local, git.
– you won’t be able to use mercurial repositories unless you install the hg
command on your system.
– you won’t be able to use darcs repositories unless you install the darcs
command on your system.
[WARNING] Recommended external solver aspcud not found.
[WARNING] Recommended dependencies — most packages rely on these:
– m4
[ERROR] Missing dependencies — the following commands are required for OPAM to
operate:
– patch
[ERROR] Initialisation failed
OpamGlobals.Exit(66)
请问怎么解决