树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙

2020-04-16 14:56:04 20点赞 130收藏 13评论

介绍

ocDownloader是一个基于AGPL协议的Nextcloud插件(应用),允许用户使用Aria2/Curl/youtube从HTTP(S)/FTP(S)/Youtube/Bittorrent等协议离线下载文件。

使用教程

安装ocDownloader插件

到GitHub或Nextcloud Apps下载ocDownloader插件:

Github

Nextcloud Apps

将下载到的安装包解压并上传到Nextcloud程序的apps目录:


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


注意权限的设置:

sudo chown pi:pi ocdownloader -Rf

进入Nextcloud,在应用页面启用插件:


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


启用完成后就可以从顶部工具栏进入ocDownloader面板,不过现在尚不能使用:


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙

以上的方式为手动下载安装插件,用于在后台应用在线安装不可用时采用此方式,如在线安装可用,可在后台应用当中搜索ocDownloader下载启用。


安装Aria2

ocDownloader需要使用Aria2以在后台下载文件。Aria2是一个轻量级Linux下载软件,支持HTTP/HTTPS, FTP, SFTP, BitTorrent和磁力链接。

安装Aria2:

sudo apt-get install aria2 curl php-curl

配置aria2:

在/etc目录下创建aria2目录用来存放配置文件:

sudo mkdir /etc/aria2

创建日志文件目录

sudo mkdir /var/log/aria2c

创建空白的aria2.session文件:

sudo touch /etc/aria2/aria2.session

创建空白的日志文件:

sudo touch /var/log/aria2c/aria2c.log

创建配置文件

sudo nano /etc/aria2/aria2.conf

在该文件中输入以下内容:

dir=/media/pi/02bdbf05-2750-4729-9ba7-34243617d4e7/aria2
#下载文件保存目录,建议挂载移动硬盘,SD卡经不住这么玩儿,另外对于 但实际上对开ocDownloader来说,这个路径是不生效的,它的目的仅仅只是用于让aria2能够成功启动。ocDownloader上下载的文件实际上保存在 nextcloud 用户的 data 目录里面。

disk-cache=32M

file-allocation=trunc

continue=true


max-concurrent-downloads=10


max-connection-per-server=16

min-split-size=10M

split=5

max-overall-download-limit=0

#max-download-limit=0

#max-overall-upload-limit=0

#max-upload-limit=0

disable-ipv6=false

log-level=error
log=/var/log/aria2c/aria2c.log

input-file=/etc/aria2/aria2.session

save-session=/etc/aria2/aria2.session

save-session-interval=60

enable-rpc=true

rpc-allow-origin-all=true

rpc-listen-all=true

#rpc-secret=secret

#event-poll=select

#rpc-listen-port=6800


# for PT user please set to false

enable-dht=true

enable-dht6=true

enable-peer-exchange=true

# for increasing BT speed

listen-port=51413

#follow-torrent=true

#bt-max-peers=55

#dht-listen-port=6881-6999

#bt-enable-lpd=false

#bt-request-peer-speed-limit=50K

peer-id-prefix=-TR2770-

user-agent=Transmission/2.77

seed-ratio=0

#force-save=false

#bt-hash-check-seed=true

bt-seed-unverified=true

bt-save-metadata=true

bt-tracker=

http://178.175.143.27:80/announce,http://asnet.pw:2710/announce,http://denis.stalker.h3q.com:80/announce.php,http://fxtt.ru:80/announce,http://gshk.happy-host.com/test:80/announce.php

上面 bt-tracker 只列了部分,最新 bt-tracker 可以在这里下载查看:


因为我们是以 pi 用户执行的aria2c 进程,所以要赋予这些目录的读写权限:

sudo chown pi:pi -R /var/log/aria2c /etc/aria2/ /media/pi/02bdbf05-2750-4729-9ba7-34243617d4e7/aria2

sudo chmod 770 -R /var/log/aria2c /etc/aria2/ /media/pi/02bdbf05-2750-4729-9ba7-34243617d4e7/aria2


启动aria2

aria2c --conf-path=/etc/aria2/aria2.conf

如果没有提示任何错误信息,那就先按ctrl+c停止上面的语句。

做成系统服务

创建systemctl service文件

sudo sudo nano /etc/systemd/system/aria2.service

内容:

[Unit]

Description=Aria2 Service

After=network.target


[Service]

User=pi

ExecStart=/usr/bin/aria2c --conf-path=/etc/aria2/aria2.conf


[Install]

WantedBy=default.target


重载服务并设置开机启动

sudo systemctl daemon-reload

sudo systemctl enable aria2

sudo systemctl start aria2

sudo systemctl status aria2

看到如下文字证明启动成功(记住TCP port,web配置以及公网端口映射需要)

pi@raspberrypi:/var/www$ sudo systemctl status aria2

● aria2.service - Aria2 Service

Loaded: loaded (/etc/systemd/system/aria2.service; enabled; vendor preset: enabled)

Active: active (running) since Wed 2020-04-15 22:53:35 CST; 21s ago

Main PID: 8033 (aria2c)

Tasks: 1 (limit: 1604)

Memory: 4.9M

CGroup: /system.slice/aria2.service

└─8033 /usr/bin/aria2c --conf-path=/etc/aria2/aria2.conf


4月 15 22:53:35 raspberrypi systemd[1]: Started Aria2 Service.

4月 15 22:53:35 raspberrypi aria2c[8033]: 04/15 22:53:35 [NOTICE] Downloading 1 item(s)

4月 15 22:53:35 raspberrypi aria2c[8033]: 04/15 22:53:35 [WARN] Neither --rpc-secret nor a combination of --rpc-user and --rpc-passwd is set. This is insecure. It is extremely recommended to specify --

4月 15 22:53:35 raspberrypi aria2c[8033]: 04/15 22:53:35 [NOTICE] IPv4 RPC:正在监听 TCP 端口 6800

4月 15 22:53:35 raspberrypi aria2c[8033]: 04/15 22:53:35 [NOTICE] IPv6 RPC:正在监听 TCP 端口 6800

4月 15 22:53:35 raspberrypi aria2c[8033]: 04/15 22:53:35 [NOTICE] IPv4 DHT:正在监听 UDP 端口 6913

4月 15 22:53:35 raspberrypi aria2c[8033]: 04/15 22:53:35 [NOTICE] IPv6 DHT:正在监听 UDP 端口 6913

4月 15 22:53:35 raspberrypi aria2c[8033]: 04/15 22:53:35 [NOTICE] IPv4 BitTorrent:正在监听 TCP 端口 51413

4月 15 22:53:35 raspberrypi aria2c[8033]: 04/15 22:53:35 [NOTICE] IPv6 BitTorrent:正在监听 TCP 端口 51413

安装yaaw 实现web管理(可选)

需要安装 nginx, 并下载 yaaw 页面

sudo apt-get update
sudo apt-get install nginx

接下来我们来配置Nginx站点属性:

sudo nano /etc/nginx/sites-enabled/yaaw

内容:

server {
listen 8082;
#listen [::]:80 default_server; # 一定要注释掉,ipv6
root /var/www/html/yaaw/; #站点存储位置

location / {
index index.html index.htm ;
}
}

下载 yaaw

cd /var/www/html
git clone https://github.com/binux/yaaw

或者

git clone http://github.com/wzhy90/yaaw

用浏览器打开yaaw:http://树莓派ip地址:8082 即可进行下载管理。

树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙

而我们现在可以使用ocDownloader进行下载管理,所以以上步骤在这里可以忽略。

现在再次进入ocDownloader,提交一个下载任务,上面写的是HTTP下载,但是因为我们安装了aria2,而且将aria2作为默认的下载工具,所以在文本框里输入磁力链接就可以直接下载了:


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙



树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


稍后下载完成,可以在Nextcloud里直接查看


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙

树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


使用cURL代替aria2

如果你的Aria2实在不能正常运行,可以使用cURL作为替代品,只是不能进行BT下载。

进入Nextcloud->管理->其它设置,将ARIA2改为CURL

树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


安装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下载”:


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙



树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


全屏播放


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙




树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙




音乐在线播放~


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


服务器监控


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


服务器端加密


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


安全检查以及后台任务,因为我目前在局域网使用,就不布置https了,当然,想布置也很简单,域名随便写就可以了,因为不需要验证。


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


Oauth2.0,两步验证把~


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙



日历,可以同步


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


文档在线预览,编辑阅读

自带的pdf


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


txt在线编辑

树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


odt文档


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


还有epub等文档的在线预览,当然你也可以布置官方Collabora Online/only office实现全文档(比如ms家的doc、docx、xls、ppt)在线预览~


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙



树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


Markdown当然也不能少了啦~随便弄得一个示例~


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙



树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙


Deck面板


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙



拖拽上传,上传进度都有~


树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙




展开 收起
13评论

  • 精彩
  • 最新
  • 已打赏,虽然还没有派

    校验提示文案

    提交
    其实 nextcloud 适用于任何平台啦,不一定要有派,手上有什么主机都可以上的。

    校验提示文案

    提交
    哈哈,谢谢

    校验提示文案

    提交
    收起所有回复
  • 我的pi挂上硬盘觉得很不稳定 [尴尬]

    校验提示文案

    提交
    很大可能是电源的原因,要2.5A 以上的电源。

    校验提示文案

    提交
    收起所有回复
  • 想试试油管,要翻墙吗

    校验提示文案

    提交
    没试过,我想理论上应该需要吧

    校验提示文案

    提交
    收起所有回复
  • 事实上 nextcloud 的ocDownloader 插件实现bt 离线下载跟平台没有关系,在群晖等其他nas上是安装基本上没有区别的。

    校验提示文案

    提交
  • nextcloud最大的问题是,如果指定一个已有文件的目录作为存放文件的位置,里面的文件好像进不了数据库,不能通过客户端进行同步。不知道这个功能现在加上了没有

    校验提示文案

    提交
    一行命令可以解决。放在config里面就行了。 'filesystem_check_changes' => 1

    校验提示文案

    提交
    在config里面加一行 'filesystem_check_changes' => 1

    校验提示文案

    提交
    收起所有回复
  • 一样用树莓派,不过我用的是可道云kodbox。更轻量、更漂亮、像windows的操作界面使用起来也更丝滑流畅。

    校验提示文案

    提交
  • 一样用树莓派,不过我用的是可道云kodbox,也是docker安装。可道云有两个版本可以选择,更轻量一些,像windows的操作界面也更符合大多数用户的使用习惯。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
130
扫一下,分享更方便,购买更轻松