打造一个可以随时随地远程下载的下载机

  • 发布时间:2024-02-21 14:00:17 来源:
标签:
导读 【 打造一个可以随时随地远程下载的下载机 】“略懂的大龙猫,分享纯干货”在这个开会员,看视频都要点播的时代,有一台下载机其实挺好的。
【#打造一个可以随时随地远程下载的下载机#】

“略懂的大龙猫,分享纯干货”

在这个开会员,看视频都要点播的时代,有一台下载机其实挺好的。设备放家里,上班也可以远程添加任务,工作娱乐两不误。

说到下载机很多人会想到NAS、软路由,其实低功耗主机都可以做下载机。我的下载机还是那台GN41的小服务器,Ubuntu系统。N4100实际使用功耗不到8W非常省电。当然笔记本也可以做下载机,因为轻薄笔记本息屏运行的功率仅15W左右,功耗和NAS相比也差不多。

我个人不怎么用PT下载,所以我的下载机方案更加轻装上阵,其实轻装上阵的方案也更适合一般用户。

选定了硬件接下来就是搭建软件解决方案。

对于新手而言有一个最简单的解决方案:就是安装Windows系统,然后在电脑和手机上分别安装一个向日葵远程,然后注册一个账户开通无人值守功能。通过手机远程控制电脑,打开电脑上的下载软件进行下载,但是这个方法太不优雅了。这个可以作为一个补充方案,且Ubuntu系统也是可以安装向日葵的。

第二种方案:是通过Zerotier搭建一个虚拟局域网。Zerotier进行内网穿透的知识这里就不拓展了,只要把下载机和手机都安装Zerotier,就可以通过SSH操作下载机下载。还可以通过安装aria2等具备局域网下载功能的软件,远程添加下载任务。只要你搭建好服务后,使用起来非常方便。

第三种方案:是下载软件本身具备远程下载的功能,比如百度网盘可以推送下载(仅限Windows版客户端,且推送仅限旧版网页端,这个功能估计不久就会被阉割,阉割实用功能属于百度产品的优良传统)

我重点讲解第二种方案:

网上讲aria2的文章都有冗长的配置内容,其实aria2的配置很简单。我建议选择Ubuntu系统上实用aria2,首先在Ubuntu主机上安装aria2:

sudo apt install aria2

很多人对aria2望而却步是因为大部分网上的教程关于aria2的设置部分,其实aira2用默认设置也能下载。但是要用好aria2,配置一下必不可少:

#创建aria2文件夹

sudo mkdir /etc/aria2

#配置aira2

sudo vim /etc/aria2/aria2c.conf

如果只想开启远程下载,拷贝下面几行代码就可以了,token是自行设置的:

enable-rpc=true

rpc-allow-origin-all=true

rpc-listen-all=true

rpc-secret=token

更详细的aria2设置文件可以参考官方文件,aria2配置文件详解,如果不需要详细了解aria2配置的这下面的配置可以暂时略过:

# 文件的保存路径

#dir=~/downloads

# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M

#disk-cache=32M

# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc

# 预分配所需时间: none < falloc ? trunc < prealloc

# falloc和trunc则需要文件系统和内核支持

# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项

#file-allocation=none

# 断点续传

continue=true

# 最大同时下载任务数, 运行时可修改, 默认:5

#max-concurrent-downloads=5

# 同一服务器连接数, 添加时可指定, 默认:1

max-connection-per-server=4

# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M

# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载

min-split-size=10M

# 单个任务最大线程数, 添加时可指定, 默认:5

#split=5

# 整体下载速度限制, 运行时可修改, 默认:0

#max-overall-download-limit=0

# 单个任务下载速度限制, 默认:0

#max-download-limit=0

# 整体上传速度限制, 运行时可修改, 默认:0

#max-overall-upload-limit=0

# 单个任务上传速度限制, 默认:0

#max-upload-limit=0

# 禁用IPv6, 默认:false

#disable-ipv6=true

# 连接超时时间, 默认:60

#timeout=60

# 最大重试次数, 设置为0表示不限制重试次数, 默认:5

#max-tries=5

# 设置重试等待的秒数, 默认:0

#retry-wait=0

# 从会话文件中读取下载任务

#input-file=/etc/aria2/aria2.session

# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件

#save-session=/etc/aria2/aria2.session

# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0

#save-session-interval=60

# 启用RPC, 默认:false

enable-rpc=true

# 允许所有来源, 默认:false

rpc-allow-origin-all=true

# 允许非外部访问, 默认:false

rpc-listen-all=true

# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同

#event-poll=select

# RPC监听端口, 端口被占用时可以修改, 默认:6800

#rpc-listen-port=6800

# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项

rpc-secret=

# 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项

#rpc-user=

# 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项

#rpc-passwd=

# 是否启用 RPC 服务的 SSL/TLS 加密,

# 启用加密后 RPC 服务需要使用 https 或者 wss 协议连接

#rpc-secure=true

# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件,

# 使用 PEM 格式时,您必须通过 --rpc-private-key 指定私钥

#rpc-certificate=/path/to/certificate.pem

# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件

#rpc-private-key=/path/to/certificate.key

# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true

#follow-torrent=true

# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999

listen-port=51413

# 单个种子最大连接数, 默认:55

#bt-max-peers=55

# 打开DHT功能, PT需要禁用, 默认:true

enable-dht=false

# 打开IPv6 DHT功能, PT需要禁用

#enable-dht6=false

# DHT网络监听端口, 默认:6881-6999

#dht-listen-port=6881-6999

# 本地节点查找, PT需要禁用, 默认:false

#bt-enable-lpd=false

# 种子交换, PT需要禁用, 默认:true

enable-peer-exchange=false

# 每个种子限速, 对少种的PT很有用, 默认:50K

#bt-request-peer-speed-limit=50K

# 客户端伪装, PT需要

peer-id-prefix=-TR2770-

user-agent=Transmission/2.77

peer-agent=Transmission/2.77

# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0

seed-ratio=1

# 强制保存会话, 即使任务已经完成, 默认:false

# 较新的版本开启后会在任务完成后依然保留.aria2文件

#force-save=false

# BT校验相关, 默认:true

#bt-hash-check-seed=true

# 继续之前的BT任务时, 无需再次校验, 默认:false

bt-seed-unverified=true

# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false

bt-save-metadata=true

上面这段可以暂时略过,接下来我们让aria2的配置生效

aria2c --conf-path=/etc/aria2/aria2c.conf -D

然后我们在Ubuntu的自启动管理里,把上面这条命令设置自启动,这样aria2就可以开机自启动了。远程实用aria2,我非常建议手机下载一个叫Aira2App的软件,在配置选项里填写Zerotier虚拟局域网里下载机的IP,认证里填写你设置的token值,就可以通过手机远程建立下载任务了。

网盘下载也是必不可少的。单论下载速度,目前阿里云盘是目前国内最好的方案。但未来不可知,不过当下阿里云盘要容量有容量要速度有速度,在有资源的情况下确实是目前最好的选择。只是目前阿里云盘有手机APP端和Windows端,没有Linux端对我而言美中不足。

百度网盘资源无疑是最丰富的,且百度云盘有Linux客户端,这点其实挺良心的。而且没了那些花里胡哨的无用功能和广告,速度还比Windows版快上那么一丢丢。Windows版本百度网盘有一个推送功能,就是通过网页把下载任务推送到已经登陆客户端的设备(其实类似远程下载)。但百度网盘已经逐渐阉割这个功能。所以我也没啥兴趣多介绍了。

Transmission基本上是用来PT下载的,PT下载属于社区运营的BT下载,讲究分享率。所以玩PT下载的蓝光爱好者,硬盘基本是7x24不间断在吞吐数据。我个人对于几十G一部的电源没什么太大兴趣。一来下载宽带有限,二来播放设备寒酸,所以比较少去探讨PT的方案。由于PT下载数据读写量非常大,所以建议还是选择可以搭建Raid的下载机数据相对可靠一点。但是即便如此,坏盘的情况也偶有发生。

Transmission这个软件一样可以在局域网建立BT下载,通过Zerotier一样可以实现远程下载。手机端可以安装Transdroid这个APP,通过手机建立BT下载很简单,但是BT资源目前的网络环境大多没有下载速度,这是一个硬伤。

其它工具:

还推荐一个下载工具,Motrix是一款多平台全能型下载工具,可以看做带UI的aira2。如果不想配置aria2,motrix是一个好选择。

【#打造一个可以随时随地远程下载的下载机#】到此分享完毕,希望对大家有所帮助。

  • 免责声明:本文由用户上传,如有侵权请联系删除!