jinzh notes
jinzh notes

Caddy+Aria2+Filebrowser部署实践

Caddy+Aria2+Filebrowser部署实践
内容纲要

起因

自从买了buyvm的vps后,就一直想着能不能用这大盘鸡搞个私人的bt影视站看看,最初的思路是:aria2下载bt,然后自己写个程序来进行在在线播放,然后发现这样成本太高了,碰巧发现了Filebrowser这个项目,也是和aria2一样用go写的,一想干脆直接服务器用caddy来反代吧,搞一个go全家桶岂不美哉?

结果

先来说结果,这个东西折腾着玩玩就行,想搞私人bt影视还是得用nas!唉,最后部署完可以跑起来后发现个致命的问题,那就是网页无法解析mkv格式的视频,而大多数能找的bt影视资源(4K)就是mkv或者hevc的。。。

所以结论就是,环境可以完美部署完毕,但是却无法实际使用(浏览器视频解码的限制)!!!!

实操

Caddy部署

照例来段Caddy的介绍:

A new kind of extensible platform for server apps.
Still the only web server to use TLS automatically and by default. Deploy and scale HTTPS effortlessly with Caddy 2.

官方首页直接大胆自称自己是目前唯一一个自动配置HTTPS的Web服务,也确实,目前的的确确只有Caddy可以一键配置https

Caddy特点

  • 快速
  • 配置简单
  • 完善的操作文档
  • 自动配置HTTPS

不提caddy和其他web server比较,直接实操部署!
注意我的配置环境是:Debian10,也就是说以下方法适用于Debian, Ubuntu, Raspbian!!!其他的见于官方文档!!

#官方给的脚本
apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | tee /etc/apt/trusted.gpg.d/caddy-stable.asc
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
apt update
apt install caddy

这样脚本就会自动配置并且安装Caddy,同时会给你启动一个服务用于开机启动!
脚本的service位置存在:lib/systemd/system目录下

Caddy的官方配置有三种方式,使用json、Caddyfile、命令行传参,我选择Caddyfile方式,这种方式配置起来很简单方便

# The Caddyfile is an easy way to configure your Caddy web server.
#
# Unless the file starts with a global options block, the first
# uncommented line is always the address of your site.
#
# To use your own domain name (with automatic HTTPS), first make
# sure your domain's A/AAAA DNS records are properly pointed to
# this machine's public IP, then replace ":80" below with your
# domain name.

https://jinzh.me {
tls jinzhongjia@qq.com
#自动配置申请ssl证书的邮箱
reverse_proxy 127.0.0.1:8080
#本地反向代理
}

# Refer to the Caddy docs for more information:
# https://caddyserver.com/docs/caddyfile

这就是一个很简单的配置文件,位置默认为etc/caddy目录下的caddyfile文件,配置完成后重启服务即可。

Aria2部署

Aria2操作就很简单了,直接用包管理器安装就好,方便管理

apt install aria2

安装完毕后进行相关配置文件的生成:

mkdir /home/aria2
touch /home/aria2/aria2.session
#会话文件
touch /home/aria2/aria2.conf
#配置文件
################ 文件保存相关 ################
# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=/home/download
# 启用磁盘缓存, 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=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
# 连接超时时间, 默认:60
#timeout=60
# 最大重试次数, 设置为0表示不限制重试次数, 默认:5
#max-tries=5
# 设置重试等待的秒数, 默认:0
#retry-wait=0
################ 进度保存相关 ################
# 从会话文件中读取下载任务
input-file=/home/aria2/aria2.session
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/home/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
rpc-secret=设置成自己的密码

创建aria2.service服务,保持后台运行和后台运行:

[Unit]
Description=aria2
After=network-online.target

[Service]
User=root
Group=root

ExecStart=aria2c --conf-path=/home/aria2/aria2.conf
#启动执行命令
Execreload=aria2c --conf-path=/home/aria2/aria2.conf
#重载指令命令

[Install]
WantedBy=multi-user.target

服务存放位置应该是lib/systemd/system目录下面,之后启动服务就行了!

aria2的网页端控制网上有很多开源的项目可以拿来使用,这里首推的是ARiaNg这个项目!!!!

Filebrowser部署

filebrowser 是一个使用go语言编写的软件,功能是可以通过浏览器对服务器上的文件进行管理。可以是修改文件,或者是添加删除文件,甚至可以分享文件,是一个很棒的文件管理器,甚至可以当成一个网盘来使用。

部署方法很简单,只需要到官网下载对应平台的二进制文件就可以了,则得益于go的特性,打包出来就是二进制文件,可以直接拿来跑!

filbrowser支持采用sqlite数据库存储数据,没有传递参数启动的话,默认会在同级目录下生成一个数据库文件

这里说明一下它的service样式:

[Unit]
Description=filebrowser
After=network-online.target

[Service]
User=root
Group=root

ExecStart=/home/filebrowser
#启动执行命令
Execreload=/home/filebrowser
#重载执行命令

[Install]
WantedBy=multi-user.target

默认filebrowser启动方式是只监听127.0.0.1:8080,可以通过配置更改,不过我这里直接用caddy本地反代就不需要更改了

总结

整个部署只能用来折腾玩玩,实际使用体验并不是很美好,尤其是无法自建bt视频站。。。。

影翼

文章作者

发表回复

textsms
account_circle
email

jinzh notes

Caddy+Aria2+Filebrowser部署实践
起因 自从买了buyvm的vps后,就一直想着能不能用这大盘鸡搞个私人的bt影视站看看,最初的思路是:aria2下载bt,然后自己写个程序来进行在在线播放,然后发现这样成本太高了,碰巧发现了Fi…
扫描二维码继续阅读
2021-12-27