树莓派实现一个下载机
这回又买了一块树莓派,这次用的是B+。树莓派做BT下载器的特性就是省电啊。
原来想买一个路由器刷openwrt,后来觉得路由器可能性能有限,而且稍有不慎会刷坏uboot,所以暂且不考虑了。
搭建过程网上都有,但是很零碎,这里整理一下步骤,下面分为几个步骤吧:
准备工作
拿到树莓派后,烧写官方的镜像(2014-09-09-wheezy-raspbian.zip)到一张TF卡(我用的8GB的sandisk)。
然后插到树莓派卡槽,最后加电启动。
开机启动后树莓派会自动打开SSH的功能,将树莓派用网口插到路由器上,然后从路由器上看树莓派的IP地址,
最后用电脑连接到树莓派(SSH)。
一开始要运行一下配置,扩大树莓派的根目录的空间,不然所有软件装完之后空间会只剩几百兆。
sudo raspi-config
一般选择第一项就可以了。
另外要提一下,树莓派默认的登录名和密码是:
username:pi password:raspberry
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
使用过程就不用详谈了,这里可以添加三种下载的方式:
这篇博客是搭建完毕之后写的,不知道有没有的漏的,有的话请提出来。