用树莓派做一个离线下载机

原文:用树莓派做一个离线下载机

用树莓派可以做很多有意思的东西,它相当于一个小型的电脑,装上系统完全可以作为一个家用的小型服务器。

通过这个小型服务器,可以实现一个“离线”下载机。不过这里的离线下载不是真的离线,因为树莓派还是在线的——既然树莓派当做了小型服务器,那应该长期保持在线状态了——不过由于树莓派的功耗很小,而且占用空间也很小,所以当做家用服务器还是很可以的。

这个树莓派的离线下载器是使用aria搭建的,aria是一个开源的多线程下载工具,可以完成很多种类的下载任务。通过aria2我们就可以很轻松的完成下载任务,包括wget这类工具做不了的。

首先是安装aria2,我们可以通过aria2的官网下载安装:http://aria2.github.io/

同样,如果你的树莓派和我用的一个系统——debian,也可以使用debian的命令安装:

$sudo apt install aria2

只需要等待片刻,就可以安装成功。

之后,我们就可以使用aria2进行下载任务,aria2的下载命令很简单,例如,我们想要下载一个mp3,则只用输入:

$aria2c XXXX/abc.mp3

具体的aria2的使用方式,我们可以参考aria2的官方文档:http://aria2.github.io/manual/en/html/index.html

这样就可以了吗?当然不行,这还不够一个离线下载工具的易用性。

接下来就是给aria2安装图形界面,aria2官方推荐有很多图形界面,并且,aria2也提供了rpc接口可以供我们进行调用,下面我们就使用一个开源的界面给aria2安装图形工具。

我们选用的图形工具是Aria2 WebUI,这个工具可以在aria2的官网上找到,我们进入它的github,把项目clone下来:

git clone https://github.com/ziahamza/webui-aria2.git

拿到代码后,只用输入

node node-server.js

图形界面就可以跑起来了,不过在此之前你需要安装nodejs环境,通过以下命令:

$sudo apt install nodejs

这样跑起来并不能使用,我们需要先配置以下启动项,将aria2 webui下的configconfiguration.js打开,将

host: location.protocol.startsWith(‘http‘) ? location.hostname : ‘localhost‘

这一行改成:

host: location.protocol.startsWith(‘http‘) ? location.hostname : ‘0.0.0.0‘

不然在服务器之外没办法访问的。

然后我们可以在其他主机上输入树莓派的内网IP地址,比如树莓派的IP位192.168.1.122,在和树莓派的路由器同意网段的主机上,访问192.168.1.122:8888,我们就可以看到web页面了。

但是,这个只是一个页面而已,这个页面和aria2是通过rpc交互的,所以我们需要启动aria2的rpc:

aria2c --enable-rpc --rpc-listen-all

这样我们的图形界面就可以访问aria2的服务了。

这样就访问到了界面,如果平时我们有什么大文件需要下载的时候,我们就可以睡觉前点击下载,然后把电脑关了,第二天起床就下载到了树莓派上了。接下来我们可以将树莓派的数据通过路由器内网下载到电脑硬盘,这个过程就很快了,如果想要一个简单的方式建立一个http文件访问的话,我们可以在aria2的下载目录下,使用python3的命令快速建立一个http访问文件,进行下载:

python3 -m http.server

点击文件,就可以快速下载了,感觉是不是很棒呢?

原文地址:https://www.cnblogs.com/lonelyxmas/p/9478927.html

时间: 2024-08-25 23:43:39

用树莓派做一个离线下载机的相关文章

做一个WINDOWS下破解WIFI。不需要Linux抓包!

搬家了,没网了.没有WIFI了! 想破解,不过没有Linux环境,不能抓包!破解! 于是自己动手开工! 在windows 下直接破解.貌似国内 还没看到.如果有了,那么请各位童鞋 提醒一下.赶急 要使用啊!! 最终: 不过有点问题,如果路由器 启用混淆模式,那么如何拿到真实的握手协议呢? 做一个WINDOWS下破解WIFI.不需要Linux抓包!

极客DIY:使用树莓派制作一套“NAS+私有云盘+下载机”

原创作者:HackLiu 0×00 前言 ‍ ‍ 如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司做了这个事情,给你搞个家庭存储中心,基本能解决你的大部分需求.但是,本着不折腾就会死的机翼安劲儿,咱自个来造个低成本低功耗的解决方案,成本680元,耗时2个小时左右. 0×01 NAS基础设施搭 材料:先要有Raspberry Pi/路由器/破电脑等能装Linux的设备,适当容量的移动硬盘或SATA硬盘: 原理

树莓派学习笔记(5):成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)

转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 一.家庭服务器实现的主要功能 1.流媒体播放服务:利用DLNA实现电视.手机.电脑播放其上面的媒体文件. 2.文件共享:利用samba实现手机.电脑等终端与服务器的文件共享. 3.自动下载:利用aria2c实现自动下载. 先上几张效果图: 用orico的包装盒做了个机箱. 内部效果,线还是有些凌乱 放在桌上,感觉还不错,呵呵 二.准备工作 1.树莓派B+ 2.安装raspbian系统,具体

【树莓派】做一个备份镜像

在做树莓派镜像时候,遇到了一点问题,参考这篇文章,再重试一下. Adafruit的树莓派教程第一课福利:做一个备份镜像 04/08/2014 Boyd Wang Adafruit树莓派教程 , 树莓派 树莓派, 翻译 1 Comment 准备一个SD卡让你花费了一些时间,不是么?我打赌你肯定不想再做一遍,对吧? 好吧, 我们来做一个备份! 论坛用户,使用MAC并且是Adafruit的客户phil.drummond根据他自己的发现找到了最好的备份系统镜像的方法. 并且他找到了一个十分快速而简单的方

玩转树莓派——升级NOOBS离线安装介质到Raspbian 4.9和Windows 10 IoT C

为树莓派做系统升级是我一直想做的事.时间总是觉得不够,于是也好久没有碰. 直到前几天MVP群里有兄弟问大家的github来互相关注,我才突然想起之前写过的制作离线安装介质的文章:http://haohu.blog.51cto.com/2474833/1858600 因为之前把制作Windows 10 IoT Core需要的文件放到了github上.前不久刚把电脑的Windows 10更新到了1703,也是时候更新树莓派上的Windows 10 IoT Core了.(据说有不少新东西,比如Cort

扛住100亿次请求——如何做一个“有把握”的春晚红包系统?(转载)

转载:原文链接 扛住100亿次请求——如何做一个“有把握”的春晚红包系统? 羊年春晚摇一摇活动已经落下帷幕,现在回过头来看看这一全民参与的有趣的活动背后,有着怎样的后台系统?这个系统又是如何被设计与实现出来的? 1.   春晚摇一摇活动形式 在了解这个系统之前,先看看羊年春晚有哪些活动形式?春晚摇一摇复用了摇一摇入口,但提供了全新的界面和交互内容. 在羊年春晚摇一摇界面里,用户摇动手机后,可以看到明星拜年.全家福.好友贺卡等精彩纷呈的活动页:也会有温馨的“休息一下”,或让很多误以为中奖的“挂服务

初识Scrapy,在充满爬虫的世界里做一个好公民

欢迎来到你的Scrapy之旅.通过本文,我们旨在将你从一个只有很少经验甚至没有经验的Scrapy初学者,打造成拥有信心使用这个强大的框架从网络或者其他源爬取大数据集的Scrapy专家.本文将介绍Scrapy,并且告诉你一些可以用它实现的很棒的事情. 1.1 初识Scrapy Scrapy是一个健壮的网络框架,它可以从各种数据源中抓取数据.作为一个普通的网络用户,你会发现自己经常需要从网站上获取数据,使用类似Excel的电子表格程序进行浏览,以便离线访问数据或者执行计算.而作为一个开发者,你需要经

如何做一个自己的开源聊天项目?(仿微信)

万事开头难 在我决定做开源是因为自身工作接触到大多数的项目都是基于开源大佬写的框架,自觉惭愧,工作以来一直忙于业务与功能实现,多多少少做过的几个项目也没能抽出部分好一点的功能业务Maven包什么的提供也同行使用或借鉴,这实在是有悖于自己的初心. 决定做开源是今年(2018)7月末的时候,自己曾做的一个Iot项目刚刚被几个网上的朋友问到,并寻求源码,那么久做了一个Demo,并放到了GitHub上. 之后感觉应该做一个有自己情感注入的项目才行,而不是工作上的现实交易的项目,我想做一个属于自己的项目,

做一个手机端页面时,遇到了一个奇怪的问题:字体的显示大小,与在CSS中指定的大小不一致

最近在做一个手机端页面时,遇到了一个奇怪的问题:字体的显示大小,与在CSS中指定的大小不一致.大家可以查看这个Demo(记得打开Chrome DevTools). 就如上图所示,你可以发现,原本指定的字体大小是24px,但是最终计算出来的却是53px,看到这诡异的结果,我心中暗骂一句:这什么鬼! 随后开始对问题各种排查:某个标签引起的?某个CSS引起的?又或者是某句JS代码引起的.通过一坨坨的删代码,发现貌似都不是.我不禁又骂,到底什么鬼!不过中间还是发现了一些端倪:当页面中的标签数量或者文本数