1.前言
众所周知,在国内,网盘将会审查你存储的文件。那么如何实现将自己的文件存储到云盘上呢,实现何时何地都可以进行观看,那么下面我就介绍下几个简单的项目来完成上面的需求,实现将自己的文件加密存储到云盘上。
2.需要利用的软件
- alist 后端webdav重要服务
- alist-encrypt 后端视频媒体加密服务
- Aria2-Pro-Docker BT以及其他种子下载服务
- AriaNg bt管理web页面
3.搭建过程
alist和alist-encrypt搭建过程可以参考github的参考文档。注意alist-encrypt的后端ip地址以及设置加密必须为alist的ip地址 再搭建后alist后端配置号你需要的网盘路径,参考官方文档
alist-encrypt搭建
alist-encrypt反向代理
server{
listen 443 ssl;
listen 443 quic;
server_name 自己的域名;
ssl_stapling on;
resolver 8.8.8.8 8.8.4.4 223.5.5.5 valid=300s;
resolver_timeout 5s;
ssl_certificate /root/.acme.sh/*.exploit-db.xyz_ecc/fullchain.cer;
ssl_certificate_key /root/.acme.sh/*.exploit-db.xyz_ecc/*.exploit-db.xyz.key;
ssl_protocols TLSv1.2 TLSv1.3;
# 必须的 HTTP/3 头
add_header Alt-Svc 'h3=":443"; ma=86400';
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
location / {
proxy_pass http://127.0.0.1:5344/; #alist-encrypt容器地址
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
proxy_redirect off;
client_max_body_size 20000m;
}
}
其他配置
注意,alist-encrypt必须设置到alist的docker容器地址,alist-encrypt只是转发你的流量。
Aria2-docker容器搭建
利用Rclone自动将下载好的文件同步到webdav中
docker run -d \
--name aria2-pro \
--restart unless-stopped \
--log-opt max-size=1m \
--network host \
-e PUID=$UID \
-e PGID=$GID \
-e RPC_SECRET=P3TERX \
-e RPC_PORT=6800 \
-e LISTEN_PORT=6888 \
-v ~/aria2-config:/config \
-v ~/rclone-downloads:/downloads \
-e SPECIAL_MODE=rclone \
p3terx/aria2-pro
- 之前若使用过 RCLONE 直接把配置文件(rclone.conf)复制到 Aria2 Pro 配置目录下即可。 RCLONE 配置文件可以在宿主机的默认位置找到:~/.config/rclone/rclone.conf
- 初次使用或者想要配置 RCLONE 可使用docker exec -it aria2-pro rclone config命令进入容器内的 RCLONE 交互菜单选项,配置方法可参考:《Rclone 安装配置教程》。
- 最后根据实际情况修改 Aria2 Pro 配置文件目录下script.conf文件中的网盘名称(drive-name)和网盘路径(drive-dir)这两个选项的值。此处的值需要你和alist中的webdav路径相同 否则文件会无法上传
4.AriaNg管理页面搭建
下载前端页面静态资源包
wget https://github.com/mayswind/AriaNg/releases/download/1.3.10/AriaNg-1.3.10.zip
其中版本可以自定义替换,这个zip包只是一个静态资源文件,我们需要通过nginx将静态资源文件映射出来
nginx搭建web控制页面
下面分享下nginx的配置文件
server {
listen 443 ssl;
listen 443 quic;
server_name 你的域名;
ssl_stapling on;
resolver 8.8.8.8 8.8.4.4 223.5.5.5 valid=300s;
resolver_timeout 5s;
ssl_certificate /root/.acme.sh/*.exploit-db.xyz_ecc/fullchain.cer;
ssl_certificate_key /root/.acme.sh/*.exploit-db.xyz_ecc/*.exploit-db.xyz.key;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
root /var/www/ariang/AriaNg-DailyBuild-master; # 指定 AriaNg 文件解压后的目录
index index.html;
location / {
auth_basic "请先登录"; # 提示信息
auth_basic_user_file /etc/nginx/.htpasswd; # 指定密码文件
try_files $uri $uri/ /index.html;
}
# 配置 RPC 的代理
location /jsonrpc {
proxy_pass http://127.0.0.1:6800; # Aria2 的 RPC 地址
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
# 防止超时
proxy_read_timeout 300;
proxy_send_timeout 300;
}
}
注意,这个AriaNg是没有访问权限控制的,如果你要映射到公网,请一定要注意权限控制,我是利用了nginx自带的密码控制,生成了密码文件,所以其他用户必须要登录才能看见静态页面。
控制页面链接aria后端
当你反向代理设置完成后,在前端页面上配置链接到后端aria的容器。密码为Aria2-docker容器运行启动时的密码
5.大概流程图为
aria-web -> aria-docker -> alist-encrypt -> alist
6.注意
- 当你流程搭建完成后,添加BT种子到aria前端中后,下载完成后会自动上传到你的webdav的路径网盘中。有的网盘必须要开通会员才可以webdav挂载,如夸克。
- 当你观看视频时,走的是你vps的流量。因为你加密的视频需要vps进行解密,除非你境内也搭建一个alist解密服务
评论区