打造无限速私有网盘

2021-02-23 11:39:49 浏览数 (1)

今天给大家介绍如何利用开源工具,搭建一套无下载限制的私有云盘。

环境及工具

环境:

Nginx

PHP

Node.js

NPM

Gulp

Bower

工具:

KODExplorer

Aria2

Ariang

环境这里不多描述了,很简单,有问题留言联系我。下面直接工具讲解。

KODExplorer

KODExplorer是可道云的开源在线文档管理器

官网地址:https://kodcloud.com/

Github:https://github.com/kalcaddle/KodExplorer

KODExplorer是依赖于php环境的,可以跑在php5.3以上,推荐使用php7,性能好,对于不会搭建php环境的小白,推荐使用宝塔系统,或者其他php面板或者一键安装包都可以使用。

KODExplorer是一个很轻量级的全平台兼容的文档管理系统,使用GLP许可证,它的部署很简单,安装好php的web环境后,你只需要在nginx或apache中添加虚拟主机,web目录指向KODExplorer解压的目录即可。

现在你就可以通过你设置的web访问你的私有网盘,界面如下:

根据设置的账号及密码登陆,登陆后首页入下所示:

KODExplorer的文件管理界面,类似于各个网盘的工具界面,展示文件的基础信息,在该文档管理系统里,可以支持在线浏览,视频、office、以及音频等格式,并且支持在线解压等功能,详细的所有可支持的文件类型可以参考官网提供的帮助文档。

它的桌面功能虚拟了windows桌面应用,可以直接在线操作:

它的编辑器功能面板更是支持非常丰富的功能,支持各种开发语言的代码高亮,代码自动提示,多主题、自定义、自动补全等功能,及常用的快捷键都支持。

更多功能可以安装之后慢慢发掘。

Aria2

Aria2是一款免费开源跨平台且不限速的多线程下载软件,Aria2的优点是速度快、体积小、资源占用少;支持 HTTP / FTP / BT / Magnet 磁力链接等类型的文件下载;支持 Win、Mac、Linux系统,甚至在树莓派、NAS、路由器等设备上都能安装它。

官网地址:http://aria2.github.io/

Github:https://github.com/aria2/aria2

目前Aria2最新版本为1.34.0,下载地址:https://github.com/aria2/aria2/releases/tag/release-1.34.0

也可以选择通过yum或者apt-get安装,yum安装版本为1.18的版本,根据自己的能力下载安装,不会的留言找我。

下载安装后,就可以直接使用了。aria2分两种模式,一种是命令行,一种是RPC Server模式。

Aria2命令行使用:

  • 使用Aria2下载文件,只需在命令后附加地址即可。如:

aria2c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2

  • 分段下载。利用Aria2的分段下载功能可以加快文件的下载速度,对于下载大文件时特别有用。为了使用aria2的分段下载功能,你需要在命令中指定 -s 选项。如:

aria2c -s 2 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2 #这将使用2连接来下载该文件。-s后面的参数值介于1~5之间,你可以根据实际情况选择。

  • 断点续传。在命令中使用-c选项可以断点续传文件。如:

aria2c -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2

  • 下载tor-rent文件。你也可以使用Aria2下载BitTor—-rent文件。如:

aria2c -o gutsy.torrent http://cdimage.ubuntu.com/daily-live/current/gutsy-desktop-i386.iso.tor-rent

  • 后台下载

aria2c -D url

aria2c –deamon=true url

  • 验证文件

aria2c –checksum=md5=别人提供的md5

  • B-T下载

aria2c /tmp/CentOS-6.3-i386-bin-DVD1to2.torr-ent

aria2c http://mirrors.163.com/centos/6.6/isos/x86_64/CentOS-6.6-x86_64-minimal.tor-rent

  • 设置dht端口

aria2c –dht-listen-port=1234 .torrent

  • 下载需要引用页的文件

aria2c –referer=referurl url

  • 限速下载

aria2c –max-download-limit=500k url //单个文件

aria2c –max-overall-download-limit=500k url //全局

  • 下载需要Cookie验证的文件

aria2c –essay-header=’Cookie:cookie名称=cookie内容’ url

aria2c –load-cookies=cookie文件 url

  • 批量下载文本中所有URL

aria2c -i uris.txt

#注意:当源地址存在诸如&,*等shell的特殊字符,请使用单引号或双引号把URI包含起来。

RPC Server模式

该模式主要是配合图形管理工具使用的。默认启动是6800端口,可以在配置文件中修改,可以设置用户名和密码,在新的版本中去掉了用户名密码配置,默认用认证方式。

  • RPC模式命令行启动 aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all -c --dir /root/downloads -D (-D daemon模式,用于后台执行)
  • 配置文件启动 aria2c --conf-path="/etc/aria2/aria2.conf"

配置文件详解:

## 文件保存相关 ##

# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置

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=1

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

max-connection-per-server=5

# 最小文件分片大小, 添加时可指定, 取值范围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

## 进度保存相关 ##

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

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

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

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

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

#save-session-interval=60

## RPC相关设置 ##

# 启用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=<TOKEN>

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

rpc-user=ruyo

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

rpc-passwd=RUYO.net

## BT/PT下载相关 ##

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

#follow-torrent=true

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

listen-port=51413

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

#bt-max-peers=55

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

enable-dht=true

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

#enable-dht6=false

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

#dht-listen-port=6881-6999

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

#bt-enable-lpd=true

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

enable-peer-exchange=true

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

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

# 客户端伪装, PT需要

peer-id-prefix=-TR2770-

user-agent=Transmission/2.77

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

seed-ratio=0

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

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

#force-save=false

# BT校验相关, 默认:true

#bt-hash-check-seed=true

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

bt-seed-unverified=true

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

bt-save-metadata=true

可以根据自己需求修改配置文件。

Ariang

AriaNg是一个让aria2更容易使用的现代Web前端,AriaNg使用纯html & javascript 开发, 所以其不需要任何编译器或运行环境. 您只要将 AriaNg 放在您的 Web 服务器里并在浏览器中打开即可使用。AriaNg 使用响应式布局, 支持各种计算机或移动设备。

官网地址:http://ariang.mayswind.net

Github:https://github.com/mayswind/AriaNg

AriaNg安装也很简单,首先确保服务器已安装Node.js,NPM,Gulp,Bower,之后从git或官网下载源码到服务器,解压进入目录后,只需要允许三条命令:

$ npm install

$ bower install

$ gulp clean build

构建后的内容将放置在dist目录中,之后可以通过nginx/apache构建虚拟主机访问,初次访问的时候,会提示Aria未连接,需要在AriaNg设置中,添加Aria2 PRC 密钥,密钥是在Aria2的配置文件中

设置之后,Aria2的状态就会显示为已连接,这个时候就可以新建下载任务进行下载了,Aria2的设置,都可以在这里进行设置。

完成这些安装之后,你可以将KODExplorer的文件目录和Aria2的下载保存目录设置为相同的目录。

Aria2还可以无限制下载百度网盘的文件,下次讲解。

欢迎分享和关注,运维实谈,不定期分享纯干货!

0 人点赞