树莓派 篇六:树莓派上使用NextCloud的ocDownloader插件实现离线下载存储与在线观看播放一条龙
介绍
ocDownloader是一个基于AGPL协议的Nextcloud插件(应用),允许用户使用Aria2/Curl/youtube从HTTP(S)/FTP(S)/Youtube/Bittorrent等协议离线下载文件。
使用教程
安装ocDownloader插件
到GitHub或Nextcloud Apps下载ocDownloader插件:
将下载到的安装包解压并上传到Nextcloud程序的apps目录:
注意权限的设置:
sudo chown pi:pi ocdownloader -Rf
进入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.loginput-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 即可进行下载管理。
而我们现在可以使用ocDownloader进行下载管理,所以以上步骤在这里可以忽略。
现在再次进入ocDownloader,提交一个下载任务,上面写的是HTTP下载,但是因为我们安装了aria2,而且将aria2作为默认的下载工具,所以在文本框里输入磁力链接就可以直接下载了:
稍后下载完成,可以在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下载”:
全屏播放
音乐在线播放~
服务器监控
服务器端加密
安全检查以及后台任务,因为我目前在局域网使用,就不布置https了,当然,想布置也很简单,域名随便写就可以了,因为不需要验证。
Oauth2.0,两步验证把~
日历,可以同步
文档在线预览,编辑阅读
自带的pdf
txt在线编辑
odt文档
还有epub等文档的在线预览,当然你也可以布置官方Collabora Online/only office实现全文档(比如ms家的doc、docx、xls、ppt)在线预览~
Markdown当然也不能少了啦~随便弄得一个示例~
Deck面板
拖拽上传,上传进度都有~
izual1874
校验提示文案
Dhyanaer
校验提示文案
值友5695860953
校验提示文案
天翼看豆
校验提示文案
OuchYoung
校验提示文案
疯狂的蜂鸟
校验提示文案
东皓雪
校验提示文案
东皓雪
校验提示文案
疯狂的蜂鸟
校验提示文案
值友5695860953
校验提示文案
OuchYoung
校验提示文案
Dhyanaer
校验提示文案
天翼看豆
校验提示文案
izual1874
校验提示文案