查看: 9445|回复: 4

[项目] 使用 Raspberry Pi 和 aria2 打造低功耗下载机

[复制链接]
  • TA的每日心情
    开心
    2016-8-15 09:30
  • 签到天数: 162 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2013-12-3 09:07:39 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 haothree 于 2013-12-3 09:06 编辑

    树莓派(Raspberry Pi)是一款基于 Linux 系统的只有一张信用卡大小的单板机电脑,详细介绍见维基百科。利用树莓派廉价、低功耗、可扩展的特性,我们可以用它打造下载机、开关、小型服务器,甚至是电话。

    一. 准备

    树莓派,红板(Made in China)比较便宜, 也没发现有什么质量问题

    4G 以上 SD 卡,推荐 class 10,树莓派支持的 SD 卡列表

    5V 电源,最低 700mA,推荐 1A 以上

    有源 USB Hub,推荐使用有隔离的,即不能向树莓派反向供电的

    移动硬盘、网线、USB 键鼠(可选)、HDMI 线或 HDMI 转 DVI 线(可选)

    二. 安装及配置系统

    1.官方的下载页面提供了四种镜像供选择,我推荐 Linux 初学者使用 Raspbian “wheezy”,有一定经验的 Linux 用户使用 Arch Linux ARM,本文以 Arch Linux ARM 为例。

    2.Windows 下使用 Win32 Disk Imager 写入镜像到 SD 卡,Linux 下使用 dd 命令写入。Raspberry Pi 和 Arch Linux 的官方 wiki 都有详细说明,不再赘述。

    注意:引导在镜像中就已经配置好了,直接把镜像写入 SD 卡中就可以使用,不需要其他操作。

    3.Arch Linux 的官方 wiki 有安装系统的详细说明,这里亦不再赘述。如果只是用 Raspberry Pi 当下载机的话,配置好 ip 就可以了,如果路由器使用 DHCP 自动分配 ip,则插上电源和网线就行了。

    4.为了方便,本文使用 ssh 管理 Raspberry Pi。

    初次使用你需要以类似 ssh root@192.168.1.3 来登录 Raspberry Pi。为了不每次登录时都输入密码,你可以使用 ssh-keygen -t rsa 生成密钥对,并把公钥加入到 ~/.ssh/authorized_keys 中。然后编辑本机上的 ~/.ssh/config,加入
    1. Host pi
    2.     HostName 192.168.1.3
    3.     User root
    4.     StrictHostKeyChecking no
    5.     UserKnownHostsFile=/dev/null
    复制代码
    然后你就可以使用 ssh pi 来登录 Raspberry Pi 了。

    5.编辑 /etc/pacman.d/mirrorlist(可选),默认国内用户使用清华大学的源,但那个源经常挂,推荐使用美国加利福尼亚的源。

    注意:Arch Linux 和 Arch Linux ARM 的源不一样,不要混用!

    6.配置开机自动登录 root,参见官方 wiki。

    7.编辑 /etc/fstab,实现开机自动挂载移动硬盘,比如
    1. UUID=000AE1FF0005EA71 /media/System ntfs-3g defaults,nofail 0 0
    2. UUID=000A675F0001C38E /media/Files ntfs-3g defaults,nofail 0 0
    复制代码
    关于 fstab 的详细说明及挂载选项,参见官方 wiki。


    三. 安装及配置 aria2

    1.安装 aria2、nginx 和 git(nginx 和 git 一会要用到),设置 nginx 开机自启动
    1. pacman -S aria2 nginx git
    2. systemctl enabel nginx
    复制代码
    2.配置 aria2,编辑 ~/.aria2/aria2.conf,所有选项见官方文档,以下是一些示例
    1. # 断点续传
    2. continue=true
    3. # 以后台程序运行
    4. daemon=true
    5. # 下载目录,没有该目录用 mkdir 命令新建,不然会报错
    6. dir=/media/Files/Downloads/
    7. # 开启 rpc 模式
    8. enable-rpc=true
    9. # 关闭文件预分配,建议关闭,不然下个大文件得等半天
    10. file-allocation=none
    11. # 命令行模式下多任务下载
    12. force-sequential=true
    13. # 读取下载进度文件,没有该文件用 touch 命令新建,不然会报错
    14. input-file=/media/Files/Downloads/aria2.session
    15. # 保存日志到文件,没有该文件用 touch 命令新建,不然会报错
    16. log=/var/log/aria2.log
    17. # 日志级别
    18. log-level=notice
    19. # 最大同时下载任务数
    20. max-concurrent-downloads=3
    21. # 同服务器最大连接数
    22. max-connection-per-server=5
    23. # 开启命令行模式下的参数化模式,比如 http://{sv1,sv2,sv3}/foo.iso 或 http://host/image[000-100:2].img
    24. parameterized-uri=true
    25. # YAAW 需要
    26. rpc-allow-origin-all=true
    27. # rpc 模式下,允许从外部访问
    28. rpc-listen-all=true
    29. # 保存 BT 种子和磁力链接的元数据
    30. rpc-save-upload-metadata=true
    31. # 保存下载进度到文件,没有该文件用 touch 命令新建,不然会报错
    32. save-session=/media/Files/Downloads/aria2.session
    33. # 自动保存下载进度到文件的时间
    34. save-session-interval=60
    35. # 单文件最大线程数
    36. split=5
    复制代码
    3.配置 aria2 开机自启动,编辑 ~/.bash_profile
    1. if [ ! -d "/media/Files/Downloads/" ]; then
    2.     mkdir '/media/Files/Downloads/'
    3. fi
    4. if [ ! -f "/media/Files/Downloads/aria2.session" ]; then
    5.     touch '/media/Files/Downloads/aria2.session'
    6. fi
    7. if [ ! -f "/var/log/aria2.log" ]; then
    8.     touch '/var/log/aria2.log'
    9. fi

    10. aria2=ps -ef | grep 'aria2c' | grep -v 'grep aria2c'
    11. if [ -z "$aria2" ]; then
    12.     /usr/bin/aria2c
    13. fi
    复制代码
    4.aria2 本身没有 GUI,为方便使用,我们需要使用基于 rpc 模式的前端。比较好的有 ziahamza 的 webui-aria2 和 binux 的 yaaw,本文以 webui-aria2 为例。

    删除 /usr/share/nginx/html/,下载 webui-aria2

    1. rm -rf /usr/share/nginx/html/
    2. git clone https://github.com/ziahamza/webui-aria2.git /usr/share/nginx/html/
    复制代码
    现在我们能通过 http://192.168.1.3/ 访问 webui-aria2 了。

    注意:每次升级 nginx 都会修改 index.html,不要忘记 git checkout index.html。

    5.修改 Setting – Connection Settings – Aria2 RPC host and port 中的 Enter the host: 为 192.168.1.3,成功连接到 aria2。
    201305120345.png

    6.SinoSky 离线下载用户可以参考这篇文章使用 rpc 模式导出,迅雷会员可以使用 ThunderLixianExporter 的 YAAW 导出功能。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-10-29 22:48
  • 签到天数: 731 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-12-3 09:53:43 | 显示全部楼层
    利用树莓派的低功耗完成耗时的下载是非常不错的。赞!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2012-11-23 16:50
  • 签到天数: 15 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2013-12-4 11:05:18 | 显示全部楼层
    不错不错,
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-8-15 09:30
  • 签到天数: 162 天

    连续签到: 1 天

    [LV.7]常住居民III

     楼主| 发表于 2013-12-10 10:25:11 | 显示全部楼层
    suyong_yq 发表于 2013-12-3 09:53
    利用树莓派的低功耗完成耗时的下载是非常不错的。赞!

    多谢支持!!!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-8-15 09:30
  • 签到天数: 162 天

    连续签到: 1 天

    [LV.7]常住居民III

     楼主| 发表于 2013-12-10 10:25:43 | 显示全部楼层
    ukonline2000 发表于 2013-12-4 11:05
    不错不错,

    欢迎UK大神前来指点!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 13:33 , Processed in 0.142364 second(s), 24 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.