使用Raspberry Pi搭建迅雷离线下载机
come from:http://www.linuxwang.com/html/1470.html
淘宝买的WD 2TB红盘以及Orico硬盘座到了,立马搞起作为NAS的第一步:迅雷离线下载机。使用的主要硬件当然是我那落灰已久的Raspberry Pi啦!红盘和RPi的耗电量都非常小,即使7×24小时不停下载,也不会心疼电费。请叫我下载强迫症患者……
从头说起,先把硬盘插到硬盘座上,然后usb连上RPi……dmsg里显示有mass storage device连上了。ls一下/dev,确认出现了sda。接下来就要给硬盘分区:
fdisk /dev/sda
fdisk里输入n新建分区,然后直接把所有空间作为一个primary分区,按w搞定!
接着就是格式化了:
mkfs.ext4 -m 1 /dev/sda1
没错,就是要格式化成ext4格式,因为RPi的CPU性能毕竟有限,如果使用ntfs-3g来读写NTFS分区的话,势必会带来很高的CPU占用率,同时对读取及写入速度也有影响。RPi官方论坛里也有帖子讨论这个问题,大家一致认为格式化成ext格式分区有助于提高I/O。相信玩RPi的大家对Linux已经很熟悉了,也不会抱着NTFS格式不放吧。格式化成ext4的另外一个好处,是配合aria2里的一项设定,可以更快地生成预分配文件。
至于-m参数,是将文件系统默认的5%的保留空间降到1%。5%这个默认值太古老了,不适应时代发展,2TB的5%都要将近100G了……
如果你格式化的时候忘了加-m参数,也没问题。随时可以用下面的命令修改保留空间百分比:
tune2fs -m 1 /dev/sda1
好了,硬盘格式化完成后就要考虑自动挂载了。虽然作为NAS的RPi不会经常重启,不过还是要把自动挂载功能加上的。
首先新建一个文件夹作为挂载点,本文使用”/home/pi/HDD”。然后修改/etc/fstab:
pi@raspberrypi ~ $ cat /etc/fstab proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 /dev/sda1 /home/pi/HDD ext4 defaults,noatime,nofail 0 0
最下面那行就是新加的。那3个挂载参数就不一一解释了,自己去Google吧。如果你用的是Archlinux,也许会写成下面这种形式:
UUID="d54342e7-98da-4992-b322-da7ba7d79866" /home/pi/HDD ext4 defaults,noatime,nofail 0 0
其中UUID的值是通过blkid这个命令得到的你的外接硬盘的UUID。
编辑好fstab,就可以用root权限执行mount -a试试看能否正常挂载啦!
一切正常的话,就可以在挂载目录里看到ext4分区自带的lost+found目录了。接下来还有非常重要的一步——设置权限。此时只有root用户有挂载硬盘的读写权限,我们需要让普通用户也能读写硬盘,否则太不方便了。这里使用了一种简单粗暴的方法:
chmod 777 /home/pi/HDD
具体路径根据你的需要修改。记住一定要在成功挂载硬盘后执行一次上述命令。
到此,硬盘部分就折腾得差不多了,下面开始软件部分。这里使用的系统为Raspbian,Debian的分支。Archlinux下也大同小异。
首先需要在RPi下部署LAMP或者LNMP。如果比较懒,也可以只装nginx或者apache。(此处省略500字,具体安装步骤自己Google去吧)
确认nginx/apache正常工作后,安装这次的主角软件——aria2。aria2在Linux下有多著名就不多说了,反正一般国内用户只用迅雷……顺便也把git装上,等会有用:
sudo apt-get install aria2 git
接着新建~/.aria2/aria2.conf文件(即准备用哪个用户运行aria2就建在那个用户的家目录里),并且写入下面参数:
continue=true daemon=true dir=/home/pi/HDD/Downloads/ enable-rpc=true file-allocation=falloc force-sequential=true input-file=/home/pi/HDD/aria2/aria2.session log=/home/pi/HDD/aria2/aria2.log log-level=notice max-concurrent-downloads=3 max-connection-per-server=5 parameterized-uri=true rpc-allow-origin-all=true rpc-listen-all=true rpc-save-upload-metadata=false save-session=/home/pi/HDD/aria2/aria2.session save-session-interval=60 split=5
具体含义不一一讲解了,可以参考aria2官方文档,说得都很详细。aria2的选项相当多,这里只是根据需要修改了其中很小一部分。需要注意的是,上面选项里的目录及文件都必须实际存在,没有的话就mkdir/touch一下,否则aria2可能会无法启动。
配置文件搞定后,可以直接运行/usr/bin/aria2c,aria2会以守护进程模式进入后台运行。你也可以写个脚本,让aria2开机自动运行。
紧接着就要搞个GUI界面了,cd到nginx或apache的www目录里(本人配置的是LAMP,所以是/var/www),执行下面命令:
git clone https://github.com/ziahamza/webui-aria2.git .
这样就把一个webui-aria2下载到了本地,现在可以在电脑上用浏览器访问http://RPi的IP/webui-aria2/来控制aria2了。
一开始可能会提示无法连接aria2,需要通过界面里的Settings->Connection Settings来设好RPi的IP地址。端口号保持默认的6800就可以了。另外Settings->Global Settings里面有很多选项,其实就是和~/.aria2/aria2.conf里一一对应的,有需要改动的话可以参考画面上的说明进行修改。
至此,一个下载机就完成了,可以通过网页上的Add按钮添加下载链接进行下载。不过对我来说还没结束,因为我要的是能够从迅雷离线那里下东西!
接着就是配置迅雷离线了。首先,你得有个Firefox或者Chrome浏览器,并且安装了Greasemonkey或者Tampermonkey插件。这里用chrome+Tampermonkey演示。
到ThunderLixianExporter这个网站,点击上面的”ThunderLixianExporter.user.js”链接,或者直接点击这里,安装迅雷离线地址解析脚本。
接着,用chrome登陆你的迅雷离线下载网页版(什么?你没有迅雷VIP会员账号?那后面就不用看了-_-),点击右上角的小齿轮,在Aria2 JSON-RPC Path部分输入如下地址:
http://192.168.1.100:6800/jsonrpc
其中192.168.1.100是你的RPi的IP,按需要修改;6800是默认端口号。
试着建立几个离线任务,待服务器端下载完成后,勾上那些文件,然后点击指令栏里的”批量导出”按钮,选择”YAAW”。
画面上方会提示你已经向aria2发出了下载指示,可以去之前配置好的webui界面里确认了。
截一张正在下载中的状态图(点击看大图),各种数据显示得很直观:
附带一个数据:我这里20M宽带,RPi未超频,全速下载(~2.3MB/s)时aria2大概占用30%-35%的CPU。
教程至此结束,如有疑问,欢迎留言探讨!
使用Raspberry Pi搭建迅雷离线下载机相关推荐
- 树莓派(Raspberry Pi)搭建简单的lamp服务
树莓派(Raspberry Pi)搭建简单的lamp服务: 1. LAMP 的安装 sudo apt-get install apache2 mysql-server mysql-client php ...
- 树莓派3B+ 迅雷远程下载机
树莓派3B+ 迅雷远程下载机 场景: 上班时发现一部精彩的电影,想下班回到家后观看,一般的操作是打开工作电脑进行下载(影响工作的网速),下载好后拷贝到U盘(一不小心就容易忘记拷贝,又容易忘记带回去了) ...
- 用Raspberry Pi搭建Azure IOT解决方案
用Raspberry Pi搭建Azure IOT解决方案 参考文章: (1)用Raspberry Pi搭建Azure IOT解决方案 (2)https://www.cnblogs.com/hengwe ...
- 用树莓派搭建家庭NAS下载机
开始 去年双十一的时候入了树莓派,抱着试一试的心情,我买了一堆配件准备玩,结果买回来玩了两天就扔在那里没动了. 逼乎上有长者曾经说过:"先想好想要做什么,再去买东西做.买完东西,问做什么好的 ...
- 免费迅雷会员VIP帐号获取器 – 迅雷离线下免费用
喜欢下载网络资源的朋友今天有福了,给大家介绍一个免费的迅雷VIP帐号的生成器,官方也希望大家在使用免费的迅雷会员帐号时,不要自私的去修改它. 我想大多数购买迅雷会员的朋友也只是用到离线下载的功能,因为 ...
- 树莓派 php mysql 中文_使用树莓派(raspberry pi)搭建网站(nginx+php+mysql+ddclient)
标签: 树莓派 raspberrypi php 网站 mysql分类: Linux技术 最近在研究学习PHP,有时候想随时就学习,所以就决定搭建一个网站,随时可以进行学习,因为要24小时在线,要低功耗 ...
- 使用树莓派(raspberry pi)搭建网站(nginx+php+mysql+ddclient)
标签: 树莓派 raspberrypi php 网站 mysql 分类: Linux技术 最近在研究学习PHP,有时候想随时就学习,所以就决定搭建一个网站,随时可以进行学习,因为要24小时在线,要低功 ...
- DIY一套NAS+私有云盘+下载机
如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司做了这个事情,给你搞个家庭存储中心,基本能解决你的大部分需求. ...
- 使用树莓派制作一套“NAS+私有云盘+下载机”
原创作者:HackLiu 0×00 前言 如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司 ...
- Linux多功能下载机(Arias2)
安装aria2 sudo apt-get install aria2 配置 mkdir /home/user/aria2 cd /home/user/aria2 sudo touch aria2.co ...
最新文章
- 新的 FreeBSD 核心团队选举结果出炉
- JavaFX官方教程(十二)之树动画示例
- ethereumjs/ethereumjs-common-3-test
- wpf 按钮样式_键盘 | 01.在程序集间引用样式
- spl_autoload_register()函数使用详解
- 苹果中国大出血! AirPods 2免费送了
- 面向对象chapter10
- [MFC] 向文本编辑框写入数据与从其中读取数据
- 【Unity】【C#】《U3d人工智能编程精粹》学习心得--------操纵行为--路径跟随
- ASP.NET Web程序设计 第四章 系统对象
- android 反编译 .smali,Android_反编译_smali语法
- TB6612FNG直流电机驱动
- 医疗his系统值不值得投入使用
- 【转】Python之获取每日涨停板股票数据并绘制K线图!
- 使用video.js 播放youtube视频——踩坑记1
- [linux] 命令输出不打印
- XStream的简单使用
- 关于华三实验室在win10上不能启动设备的解决办法
- VC中常见API函数使用方法(经验版)
- OCR电表检测数据集
热门文章
- 【单片机】2.9 看门狗定时器(WDT)功能简介
- 读书笔记:《巴菲特投资成功的七大秘诀》
- 使用pip无法完全卸载autoitlibrary,提示 we cannot accurately determine which files belong to it which would‘解决办法
- 后盾网原创实战网站建设教程【PS切片+html+div+css+织梦后台...
- nvidia-smi详解
- 无人车系统(八):Udacity ‘s无人驾驶仿真环境(python与c++数据接口)
- Git | git的简单使用教程
- python语句分号_你知道分号在各种编程语言中的作用吗?
- 【技术】如何通过局域网连接到惠普HP打印机
- 应届生产品助理/经理面试,应当多谈点什么?