【高级实验】五、树莓派做下载机
研究了几天的树莓派下载机终于做好了,期间参考了网上很多教程都不完整,下面把自己做下载机的过程写下来,有兴趣的坛友也可以试试。
主要用到的程序是Aria2 + Yaaw, Aria2这是一个支持Http、FTP、磁力链接和BT下载的工具, 当然,如果你是迅雷会员,还可以用它来进行离线下载, 这个后面有讲到。由于Aria2是一个没有图形界面的下载工具,因此,Yaaw应运而生,使用Web方法来管理文件下载,这也就意味着,只要配置好路由的端口映射,或使用动态域名,你可以通过Web访问的方式,随时随地的控制你的树莓派来进行下载。
1.挂载U盘
没有大容量的移动硬盘,用了一个2G的U盘替代,反正也是做实验嘛。
插入U盘,终端运行命令df -h,查看U口所在。
运行命令sudo mount -o uid=pi,gid=pi /dev/sda1 /home/pi/usb -o nls=utf-8,umask=0 挂载U盘,并使pi对其有读取权限。
2.安装Aria2
终端下输入:
sudo apt-get install aria2
等待几分钟就安装完成了。
接下来创建aria2的配置文件,我这里装配置文件放在了/etc/aria2目录下
cd /etc
sudo mkdir aria2
cd aria2
#创建空白的aria2s session文件
sudo touch /etc/aria2/aria2.session
#创建配置文件
sudo nano /etc/aria2/aria2.conf
输入内容如下:
#文件保存目录自行修改
dir=/home/pi/usb
disable-ipv6=true
#打开rpc的目的是为了给web管理端用
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
#rpc-listen-port=6800
continue=true
input-file=/etc/aria2/aria2.session
save-session=/etc/aria2/aria2.session
max-concurrent-downloads=3
保存退出,用配置文件启动:
sudo aria2c --conf-path=/etc/aria2/aria2.conf
如果没有提示任何错误信息,那就按ctrl+c停止上面的语句,运行此句
sudo aria2c --conf-path=/etc/aria2/aria2.conf -D
这样程序就在后台运行了.
3.安装Apache
Yaaw管理页面是基于Web方式访问的,因此,选用配置起来最简单的Apache服务器。
终端下输入:
sudo apt-get install apache2
等待片刻后,安装完成。
Apache默认的http根目录是在/var/www目录下,这里需要改一下权限。
sudo chmod 777 /var/www/
然后下载yaaw, 地址戳这里:Yaaw下载地址
下载完成后解压,上传到/var/www目录即可
上传成功后,在浏览器输入树莓派的IP就可以访问了。
4.使用迅雷离线下载
chrome到这里安装扩展:https://chrome.google.com/webstore/detail/thunderlixianassistant/eehlmkfpnagoieibahhcghphdbjcdmen
由于chrome要访问谷歌的服务器,很多时候网页都是打不开的,好不容易才打开安装好了插件。
安装好的样子,终于可以进行下一步了,这这一步卡了有2天时间,参考其他帖子添加收藏网址的方式应该跟用的这种方式差不多。
接下来在迅雷离线下载页面点右上角齿轮进行设置,换成自己的IP。
同样离线下载页面找到要下载的,点取回本地yaaw
登录到pi查看是否开始下载
噢耶,成功!
做到这里,pi还有需要完善的地方,开机自启动等。
切换到/etc/init.d/目录下
sudo nano aria2
输入如下内容,挂载目录请自行替换:
#! /bin/bash
RETVAL=0
case "$1" in
start)
echo "Starting service Aria2..."
if [ -e /dev/sda1 ]
then
mount -o uid=pi,gid=pi /dev/sda1 /home/pi/usb -o nls=utf-8,umask=0
fi
aria2c --conf-path=/etc/aria2/aria2.conf -D
echo "Start service done."
;;
stop)
echo "Stoping service Aria2..."
killall aria2c
if [ -e /dev/sda1 ]
then
umount /home/pi/usb/
fi
echo "Stop service done."
;;
esac
exit $RETVAL
保存退出,在终端下输入
sudo chmod +x /etc/init.d/aria2
sudo chkconfig --add aria2