树莓派实现一个下载机

时间:2024-03-07 16:16:22


这回又买了一块树莓派,这次用的是B+。树莓派做BT下载器的特性就是省电啊。

原来想买一个路由器刷openwrt,后来觉得路由器可能性能有限,而且稍有不慎会刷坏uboot,所以暂且不考虑了。



搭建过程网上都有,但是很零碎,这里整理一下步骤,下面分为几个步骤吧:


准备工作

拿到树莓派后,烧写官方的镜像(2014-09-09-wheezy-raspbian.zip)到一张TF卡(我用的8GB的sandisk)。

然后插到树莓派卡槽,最后加电启动。



开机启动后树莓派会自动打开SSH的功能,将树莓派用网口插到路由器上,然后从路由器上看树莓派的IP地址,

最后用电脑连接到树莓派(SSH)。

一开始要运行一下配置,扩大树莓派的根目录的空间,不然所有软件装完之后空间会只剩几百兆。

sudo raspi-config

一般选择第一项就可以了。


另外要提一下,树莓派默认的登录名和密码是:

username:pi
password:raspberry


另外,需要升级一下软件源,并且安装vim:

sudo apt-get update
sudo apt-get install vim



格式化U盘

格式化U盘为ext4格式,以提高性能。

第一次挂载U盘时请使用 


sudo fdisk -l


格式化:

mkfs.ext4 -m 1 /dev/sda1

其中/dev/sda1 是找到的U盘,一般在Ubuntu下面找到的是/dev/sdb,不知道为什么这里会显示sda


先找到U盘,然后将它挂到你需要的目录里面去。



自动挂载U盘

目前移动硬盘不够用,先用U盘来试水。将U盘重命名为U1,然后编辑/etc/fstab:

proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
LABEL=U1	/home/pi/HDD	ext4	defaults	0	0
可以看出最后多加了一行,用label的好处就是如果要将U盘换成移动硬盘的话设置好卷标就行了。

其中/home/pi/HDD这个目录不要忘记创建了,而且挂载上去后设置好777权限。

建立samba


如果要从树莓派拷贝文件,必须建立一个文件共享的方案。这里建立起一个samba(感觉ftp也可以)

sudo apt-get install samba samba-common-bin 


其中,samba-common-bin 是用来检测samba是否正常的软件,也可以不安装。

编辑samba的配置文件:
sudo vim /etc/samba/smb.conf 

在最后添加一项自己的定义项:
[mydata]
        comment = my own data
        path = /home/pi/HDD
        browseable = yes
        read only = no

然后新建一个samba用户:

注意,samba用户必须是一个linux用户,samba用户的密码和linux用户的密码不一样。

这里偷个懒,直接将pi添加为samba用户:

pi@raspberrypi /etc/samba $ sudo smbpasswd -a pi
New SMB password:
Retype new SMB password:
Added user pi.

最终的效果如下,可以用windows访问树莓派了(用户名和密码是上面自己设置的):





安装下载工具

sudo apt-get install aria2 

装好之后就开始准备配置文件(按需要自己修改吧,目前我自行修改成这个样子):

#允许rpc
enable-rpc=true
#允许所有来源, web界面跨域权限需要
rpc-allow-origin-all=true
#允许非外部访问
rpc-listen-all=true
#最大同时下载数(任务数), 路由建议值: 3
max-concurrent-downloads=20
#断点续传
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=30K
#单文件速度限制
max-upload-limit=0
#断开速度过慢的连接
#lowest-speed-limit=0
#验证用,需要1.16.1之后的release版本
#referer=*
input-file=/home/pi/HDD/aria2/aria2.session
save-session=/home/pi/HDD/aria2/aria2.session
#定时保存会话,需要1.16.1之后的release版
save-session-interval=60
#文件保存路径, 默认为当前启动位置
dir=/home/pi/HDD/download
#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
#disk-cache=0
#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)
#enable-mmap=true
#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持
file-allocation=prealloc

#启用本地节点查找
bt-enable-lpd=true


#单种子最大连接数
#bt-max-peers=55
#强制加密, 防迅雷必备
#bt-require-crypto=true
#当下载的文件是一个种子(以.torrent结尾)时, 自动下载BT
follow-torrent=true
#BT监听端口, 当端口屏蔽时使用
#listen-port=6881-6999

disable-ipv6=true


log=/home/pi/HDD/aria2/aria2.log
log-level=notice

#添加额外的tracker
bt-tracker=
http://121.14.98.151:9090/announce,
http://121.14.98.151:9090/announce,
http://anisaishuu.de:2710/announce,
http://bigfoot1942.sektori.org:6969/announce,
http://bt.careland.com.cn:6969/announce,
http://bt2.careland.com.cn:6969/announce,
http://exodus.desync.com/announce,
http://exodus.desync.com:6969/announce,
http://hdreactor.org:2710/announce,
http://i.bandito.org/announce,
http://open.nyaatorrents.info:6544/announce,
http://shadowshq.yi.org:6969/announce.php,
http://siambit.org/announce.php,
http://tracker.bestxl.com:8077/announce,
http://tracker.nwps.ws:6969/announce,
http://tracker.trackerfix.com/announce,
http://tracker.trackerfix.com:80/announce,
http://tracker1.torrentino.com/announce,
http://tracker1.wasabii.com.tw:6969/announce,
http://tracker2.torrentino.com/announce,
http://tracker3.torrentino.com/announce,
udp://12.rarbg.me:80/announce,
udp://9.rarbg.com:2710/announce,
udp://9.rarbg.me:2710/announce,
udp://bt.rutor.org:2710,
udp://coppersurfer.tk:6969/announce,
udp://eddie4.nl:6969/announce,
udp://exodus.desync.com:6969,
udp://explodie.org:6969/announce,
udp://open.demonii.com:1337,
udp://open.demonii.com:1337/announce,
udp://shadowshq.yi.org:6969/announce,
udp://tracker.coppersurfer.tk:6969/announce,
udp://tracker.ex.ua:80/announce,
udp://tracker.istole.it:6969,
udp://tracker.istole.it:80,
udp://tracker.istole.it:80/announce,
udp://tracker.istole.it:80/announcea,
udp://tracker.leechers-paradise.org:6969/announce,

其中,tracker不知道有没有生效,我将此配置文件放在/home/pi/HDD/aria2

从windows里面看就是这个样子:




开启aria2:

sudo aria2c --conf-path=/home/pi/HDD/aria2/aria2.conf

这里让它在前台运行,要在后台运行的话请在后面加一个\'&\'


安装LAMP Web server


安装这些软件是为了aria2准备一个服务器环境。

sudo apt-get install apache2
sudo apt-get install mysql-server
sudo apt-get install php5
sudo apt-get install php5-mysql

实际上,mysql用不着安装


安装完之后就可以用浏览器直接访问树莓派的IP地址,看到

“It works!” 

这个字样就可以了。

安装aria2 前端


实际上,上面安装的aria2是命令行运行的,用起来不方便,这里下载一个做好的前端:

http://github.com/ziahamza/webui-aria2

一般人download zip就可以了,用不着用git下载。

然后将此物传到samba,再解压到/var/www。
比如解压好的是/var/www/myweb, 这样就可以访问树莓派的IP地址,后面再加上/myweb 就可以访问了。



使用aria2

使用过程就不用详谈了,这里可以添加三种下载的方式:





这篇博客是搭建完毕之后写的,不知道有没有的漏的,有的话请提出来。