一直以来Nextcloud/ownCloud的离线下载都是大家所期盼的功能,而ocDownloader插件原项目已有两年未更新。现在ocDownloader在Github已由
维护。作者给出的教程略坑,那么下面我们来看看如何使用这个插件(App)介绍
ocDownloader是一个基于AGPL协议的Nextcloud插件(应用),允许用户使用Aria2/Curl/youtube从HTTP(S)/FTP(S)/Youtube/Bittorrent等协议离线下载文件。使用教程
安装ocDownloader插件
到GitHub或Nextcloud Apps下载ocDownloader插件:[ssbluelist]
- Github:https://github.com/e-alfred/ocdownloader
- Nextcloud Apps:https://apps.nextcloud.com/apps/ocdownloader
将下载到的安装包解压并上传到Nextcloud程序的apps目录:
注意权限的设置:
sudo chown www-data ocdownloader -Rf
进入Nextcloud,在应用页面启用插件:
启用完成后就可以从顶部工具栏进入ocDownloader面板,不过现在尚不能使用:
安装Aria2
ocDownloader需要使用Aria2以在后台下载文件。Aria2是一个轻量级Linux下载软件,支持HTTP/HTTPS, FTP, SFTP, BitTorrent和磁力链接。预警:Aria2的安装和配置是最坑的地方,所以请保持耐心。
安装Aria2:
apt-get install aria2 curl php-curl
以HTTP服务器用户(以www-data为例)启动Aria2:
sudo -u www-data aria2c --enable-rpc --rpc-allow-origin-all -c -D --log=/var/log/aria2.log --check-certificate=false --save-session=/var/www/aria2c.sess --save-session-interval=2 --continue=true --input-file=/var/www/aria2c.sess --rpc-save-upload-metadata=true --force-save=true --log-level=warn
执行完之后似乎什么都没有发生,别怨我,上面那个命令是插件作者提供的。
我自己探索的解决方法如下:
1.创建一个空的aria2配置文件,配置文件的路径任意
vim aria2.conf
2.将下面的配置内容粘贴进去(配置文件来自:acgotaku/BaiduExporter),其中的文件保存目录需要自己配置。
#用户名 #rpc-user=user #密码 #rpc-passwd=passwd #设置加密的密钥 #rpc-secret=secret #允许rpc enable-rpc=true #允许所有来源, web界面跨域权限需要 rpc-allow-origin-all=true #是否启用https加密,启用之后要设置公钥,私钥的文件路径 #rpc-secure=true #启用加密设置公钥 #rpc-certificate=/home/name/.config/aria2/example.crt #启用加密设置私钥 #rpc-private-key=/home/name/.config/aria2/example.key #允许外部访问,false的话只监听本地端口 rpc-listen-all=true #RPC端口, 仅当默认端口被占用时修改 #rpc-listen-port=6800 #最大同时下载数(任务数), 路由建议值: 3 max-concurrent-downloads=5 #断点续传 continue=true #同服务器连接数 max-connection-per-server=5 #最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要 min-split-size=10M #单文件最大线程数, 路由建议值: 5 split=10 #下载速度限制 max-overall-download-limit=0 #单文件速度限制 max-download-limit=0 #上传速度限制 max-overall-upload-limit=0 #单文件速度限制 max-upload-limit=0 #断开速度过慢的连接 #lowest-speed-limit=0 #验证用,需要1.16.1之后的release版本 #referer=* #文件保存路径, 默认为当前启动位置 dir=/aria2downloads #文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本 #disk-cache=0 #另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?) #enable-mmap=true #文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长 #所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持 file-allocation=prealloc #不进行证书校验 check-certificate=false
保存退出
3.启动aria2,在命令中指明刚创建的配置文件的位置:
aria2c --conf-path /root/aria2.conf
这样,Aria2 rpc就在6800端口上运行了。
Aria2官方就已经提供了一个Web页面上的下载工具,叫 Aria2 WebUI ,其实相比ocDowloader来说我更推荐使用Aria2 WebUI ,因为可以设置token以防止未授权访问,而且不需要php之类的环境。
好了废话不多说我们继续。
现在再次进入ocDownloader,提交一个下载任务:
稍后下载完成,可以在Nextcloud里直接查看
使用cURL代替aria2
如果你的Aria2实在不能正常运行,可以使用cURL作为替代品,只是不能进行BT下载。进入Nextcloud->管理->其它设置,将ARIA2改为CURL
安装Youtube-dl
除了HTTP、FTP、BT等等,ocDownloader还可以下载Youtube视频,不过需要youtube-dl的支持安装youtube-dl:
sudo apt-get install python-pip sudo pip install --upgrade youtube_dl
更多安装方法可以到youtube-dl官网查看。
在ocDownloader中点击YOUTUBE,填写YouTube的视频链接,点击“启动YouTube下载”:
(因为刚开始没考虑到这个功能,所以演示环境放在局域网里,没法在往下进行了,有机会再补上)
comments powered by Disqus