Web开发编程网
分享Web开发相关技术

Google Drive实现离线下载功能

准备环境:

 

 

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

    推荐一家:ITLDC,最低3.49€,折合人民币27元每月。

大纲

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

安装教程

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-ocamlfusearia2

配置google-drive-ocamlfuse需要获取google drive的api。请安装步骤一步一步走。

3.1 配置google-drive-ocamlfuse

  • 获取Google Drive API
    • 打开https://code.google.com/apis/console/
    • 创建项目
      ptcSRs.png
    • 建好项目,选择启用API和服务,搜索google drive
      ptc2Ss.png
      启用api
      ptcfO0.png
      创建凭据






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

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

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

  • 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/jsonrpcuserpasswd就是前面安装aria2时提示输入的用户名、密码,ip就是你的服务器ip



最后上效果图


如果没有自动上传到google drive,可以关注以下几点:
1. mvcompleted.sh 是否在/data/aria2/目录下?
2. mvcompleted.sh是否有权限?试试chmod +x mvcompleted.sh
3. google drive挂载目录是否在/data/aria2/目录下?
4. 是否正确挂载目录

文章来源:https://l47.me/p/10755

未经允许不得转载:WEB开发编程网 » Google Drive实现离线下载功能

WEB开发编程网

谢谢支持,我们一直在努力

安全提示:您正在对WEB开发编程网进行赞赏操作,一但支付,不可返还。