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搭建迅雷离线下载机相关推荐

  1. 树莓派(Raspberry Pi)搭建简单的lamp服务

    树莓派(Raspberry Pi)搭建简单的lamp服务: 1. LAMP 的安装 sudo apt-get install apache2 mysql-server mysql-client php ...

  2. 树莓派3B+ 迅雷远程下载机

    树莓派3B+ 迅雷远程下载机 场景: 上班时发现一部精彩的电影,想下班回到家后观看,一般的操作是打开工作电脑进行下载(影响工作的网速),下载好后拷贝到U盘(一不小心就容易忘记拷贝,又容易忘记带回去了) ...

  3. 用Raspberry Pi搭建Azure IOT解决方案

    用Raspberry Pi搭建Azure IOT解决方案 参考文章: (1)用Raspberry Pi搭建Azure IOT解决方案 (2)https://www.cnblogs.com/hengwe ...

  4. 用树莓派搭建家庭NAS下载机

    开始 去年双十一的时候入了树莓派,抱着试一试的心情,我买了一堆配件准备玩,结果买回来玩了两天就扔在那里没动了. 逼乎上有长者曾经说过:"先想好想要做什么,再去买东西做.买完东西,问做什么好的 ...

  5. 免费迅雷会员VIP帐号获取器 – 迅雷离线下免费用

    喜欢下载网络资源的朋友今天有福了,给大家介绍一个免费的迅雷VIP帐号的生成器,官方也希望大家在使用免费的迅雷会员帐号时,不要自私的去修改它. 我想大多数购买迅雷会员的朋友也只是用到离线下载的功能,因为 ...

  6. 树莓派 php mysql 中文_使用树莓派(raspberry pi)搭建网站(nginx+php+mysql+ddclient)

    标签: 树莓派 raspberrypi php 网站 mysql分类: Linux技术 最近在研究学习PHP,有时候想随时就学习,所以就决定搭建一个网站,随时可以进行学习,因为要24小时在线,要低功耗 ...

  7. 使用树莓派(raspberry pi)搭建网站(nginx+php+mysql+ddclient)

    标签: 树莓派 raspberrypi php 网站 mysql 分类: Linux技术 最近在研究学习PHP,有时候想随时就学习,所以就决定搭建一个网站,随时可以进行学习,因为要24小时在线,要低功 ...

  8. DIY一套NAS+私有云盘+下载机

    如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司做了这个事情,给你搞个家庭存储中心,基本能解决你的大部分需求. ...

  9. 使用树莓派制作一套“NAS+私有云盘+下载机”

    ‍ ‍‍原创作者:HackLiu‍‍ ‍ 0×00 前言 ‍‍如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司 ...

  10. Linux多功能下载机(Arias2)

    安装aria2 sudo apt-get install aria2 配置 mkdir /home/user/aria2 cd /home/user/aria2 sudo touch aria2.co ...

最新文章

  1. 新的 FreeBSD 核心团队选举结果出炉
  2. JavaFX官方教程(十二)之树动画示例
  3. ethereumjs/ethereumjs-common-3-test
  4. wpf 按钮样式_键盘 | 01.在程序集间引用样式
  5. spl_autoload_register()函数使用详解
  6. 苹果中国大出血! AirPods 2免费送了
  7. 面向对象chapter10
  8. [MFC] 向文本编辑框写入数据与从其中读取数据
  9. 【Unity】【C#】《U3d人工智能编程精粹》学习心得--------操纵行为--路径跟随
  10. ASP.NET Web程序设计 第四章 系统对象
  11. android 反编译 .smali,Android_反编译_smali语法
  12. TB6612FNG直流电机驱动
  13. 医疗his系统值不值得投入使用
  14. 【转】Python之获取每日涨停板股票数据并绘制K线图!
  15. 使用video.js 播放youtube视频——踩坑记1
  16. [linux] 命令输出不打印
  17. XStream的简单使用
  18. 关于华三实验室在win10上不能启动设备的解决办法
  19. VC中常见API函数使用方法(经验版)
  20. OCR电表检测数据集

热门文章

  1. 【单片机】2.9 看门狗定时器(WDT)功能简介
  2. 读书笔记:《巴菲特投资成功的七大秘诀》
  3. 使用pip无法完全卸载autoitlibrary,提示 we cannot accurately determine which files belong to it which would‘解决办法
  4. 后盾网原创实战网站建设教程【PS切片+html+div+css+织梦后台...
  5. nvidia-smi详解
  6. 无人车系统(八):Udacity ‘s无人驾驶仿真环境(python与c++数据接口)
  7. Git | git的简单使用教程
  8. python语句分号_你知道分号在各种编程语言中的作用吗?
  9. 【技术】如何通过局域网连接到惠普HP打印机
  10. 应届生产品助理/经理面试,应当多谈点什么?