Google Drive实现离线下载功能

note:本教程涉及命令较多,建议先浏览一遍再动手!

准备环境:

VPS一台。至少512M内存,硬盘要求不高,但是最好10G以上。本教程基于centos7,所以最好安装centos7系统!

大纲

  1. centos 7安装google-drive-ocamlfuse
  2. centos 7安装aria2
  3. 配置google-drive-ocamlfuse和aria2

安装教程

1.centos 7安装google-drive-ocamlfuse

安装必要环境

yum install -y git
yum install -y hg
yum install sqlite-devel fuse fuse-devel libcurl-devel zlib-devel m4

安装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

安装google-drive-ocamlfuse

opam init
opam update
opam install depext
opam depext google-drive-ocamlfuse
opam install google-drive-ocamlfuse

测试是否安装成功:google-drive-ocamlfuse -help,如果出现帮助内容,说明安装成功。如果提示命令不存在,可以重启一下,再试试命令。

2.centos 7安装aria2

这里使用一键包安装,免去配置aria2的麻烦。

yum install git
git clone https://github.com/tangrela/aria2
cd aria2
chmod u+x *.sh && ./install_aria2.sh

根据提示输入用户名和密码即可。

3.配置google-drive-ocamlfuse和aria2

配置google-drive-ocamlfuse需要获取google drive的api。请安装步骤一步一步走。
3.1 配置google-drive-ocamlfuse
获取Google Drive API
打开https://code.google.com/apis/console/
创建项目

建好项目,选择启用API和服务,搜索google drive

启用api

创建凭据

记下获取到的客户端ID和密钥

返回命令行,将client-ID和client-secret替换为你刚获取的客户端ID和密钥

google-drive-ocamlfuse -headless -label me -id client-ID -secret client-secret

之后会出现一行链接,复制、粘贴到浏览器,打开,选择你的账号,允许之后将获取到的验证码复制到命令行即可。

google drive挂载本地目录
先创建一个空目录,然后挂载

mkdir /data/aria2/gg
google-drive-ocamlfuse -label me /data/aria2/gg

3.2 配置aria2
前面已经通过一键包安装了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

添加脚本,当aria2下载完毕之后,自动将下载的文件移至挂载google drive的目录,并自动上传

wget https://gist.githubusercontent.com/tangrela/6df921e34a7ab0fe4e4878a63fba9b03/raw/a65e700d7d01f66ab823993bfde5d076da982968/mvcompleted.sh && chmod +x mvcompleted.sh

最后启动aria2

/data/aria2/aria2.sh start

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

然后访问http://ip:6800打开aria2 web管理界面。(注意防火墙开启6800端口)

修改RPC地址:http://user:passwd@ip:6800/jsonrpc,user、passwd就是前面安装aria2时提示输入的用户名、密码,ip就是你的服务器ip

最后上效果图

如果没有自动上传到google drive,可以关注以下几点:

  1. mvcompleted.sh 是否在/data/aria2/目录下?
  2. mvcompleted.sh是否有权限?试试chmod +x mvcompleted.sh
  3. google drive挂载目录是否在/data/aria2/目录下?
  4. 是否正确挂载目录

本文转自: https://la4ji.blogspot.com/2018/03/google-drive.html