最新的帖子

构建云文件下载&使用FileBrowser + ARIA2 + ARIANG + RCLONE + CADDY + Google Drive管理网站

这篇文章是关于如何使用的Wahyd4 / ARIA2-UI'用于实现下载和文件管理/共享中心的码头图像。只需一个码头图像,您可以下载(ARIA2),为下载任务(ARIZE),文件管理(FileBrowser),支持多型文件视图,并保存到Google Drive的Web GUI管理。

预先要求:

安装docker,portainer,nginx:


如果已启用,请打开云防火墙和本地防火墙的防火墙端口:
  • 对于TCP 8000.
#Centos 6.
iptables -a输入-p tcp --dport 8000 -J接受
服务iptables保存
服务iptables重新启动

#Centos 7.
防火墙-cmd --zone = public --add-port = 8000 / tcp-permanent
防火墙 - cmd --reload


GitHub项目和Docker图像信息


GitHub项目:

Docker. 图片:

其他相关GitHub站点:




特征




快速运行测试



 Docker. run -d --name aria2-ui -p 80:80 wahyd4/aria2-ui
以下是默认URL和用户名/密码。
  • aria2: http:// yourip
  • FileManger:http:// yourip /文件
  • rclone: http:// yourip / rclone
  • Please use admin/admin as username and password to login Filebrowser for the first time. And if rclone enabled, please use user/password to login  rclone.  if you didn't update ARIA2_USER and ARIA2_PWD
  • Enable_rclone设置为false以在Docker中禁用rclone


基于修改的Docker运行命令

快速运行不是我们想要的。对于我的配置,我想将此码头放入不同的端口,8000,我也需要将我的主机文件夹映射到Docker。不需要在Docker中运行rclone,我将在我的主机上运行以安装我的Google Drive。此外,我还需要为ariang web gui启用某种身份验证。

  1. 自Nginx使用端口80以来将Docker端口更改为8000& 443
  2. 启用基本身份验证
  3. 完成下载后,文件将移动到云驱动器,例如Google Drive
  4. nginx将用作域访问下载站点的反向porxy

 Docker. run -d --name aria2-ui \
  --restart=unless-stopped \
  -p 8000:80 \
  -e ENABLE_AUTH=true \
  -e ARIA2_SSL=false \
  -e ARIA2_USER=user \
  -e ARIA2_PWD=password \
  -e ARIA2_EXTERNAL_PORT=8000 \
  -e ENABLE_RCLONE=False \
  -v ~/data:/data \
  -v ~/gdrive:/gdrive \
  wahyd4/aria2-ui


笔记:
  • / data文件夹是aria2下载文件夹。下载完成后,文件将自动使用脚本传输到/ GDrive文件夹。
  • / gdrive文件夹是主机'S rclone已安装的Google Drive文件夹,映射到〜/ gdrive文件夹(/ root / gdrive)。


配置FileBrowser以管理GDrive文件夹

如果您希望FileBrowser Web GUI管理安装已安装的Google Drive,则这是一个选择。默认是管理下载文件夹/数据。

更改文件浏览器's folder. VI / app / procfile
将默认/数据文件夹更改为/ gdrive。所以文件浏览器将在登录时打开/ gdrive。您可以直接从文件浏览器中管理Google Drive。如果您不想从FileBrowser页面管理Google Drive文件夹,则无需执行此步骤。

[[电子邮件 protected]〜] Docker Exec-it aria2-ui / bin / bash
bash-5.0# cd /app
bash-5.0# ls
Procfile aria2c.sh caddy.sh conf filebrowser filebrowser.db forego init.sh start.sh
bash-5.0# vi Procfile
filebrowser: /app/filebrowser -p 8080 -d /app/filebrowser.db -r /gdrive
caddy: /app/caddy.sh
aria2c: /app/aria2c.sh [[电子邮件 protected] ~]# docker restart aria2-ui


配置ARIA2将已完成的文件移动到/ GDrive

[[电子邮件 protected]〜] Docker Exec-it aria2-ui / bin / bash

在Docker内,创建一个shell脚本,rcloneupload.sh,以下代码:


Bash-4.3# vi / app/conf/rcloneupload.sh.
#!/bin/bash

GID="$1";
FileNum="$2";
File="$3";
MinSize="5"  #限制最低上传大小,默认5k
MaxSize="157286400"  #限制最高文件大小(单位k),默认15G
RemoteDIR="/gdrive/";  #rclone挂载的本地文件夹,最后面保留/
LocalDIR=" /数据 /";  #Aria2下载目录,最后面保留/

if [[ -z $(echo "$FileNum" |grep -o '[0-9]*' |head -n1) ]]; then FileNum='0'; fi
if [[ "$FileNum" -le '0' ]]; then exit 0; fi
if [[ "$#" != '3' ]]; then exit 0; fi

function LoadFile(){
  IFS_BAK=$IFS
  IFS=$'\n'
  if [[ ! -d "$LocalDIR" ]]; then return; fi
  if [[ -e "$File" ]]; then
    FileLoad="${File/#$LocalDIR}"
    while true
      do
        if [[ "$FileLoad" == '/' ]]; then return; fi
        echo "$FileLoad" |grep -q '/';
        if [[ "$?" == "0" ]]; then
          FileLoad=$(dirname "$FileLoad");
        else
          break;
        fi;
      done;
    if [[ "$FileLoad" == "$LocalDIR" ]]; then return; fi
    EXEC="$(command -v mv)"
    if [[ -z "$EXEC" ]]; then return; fi
    Option=" -f";
    cd "$LocalDIR";
    if [[ -e "$FileLoad" ]]; then
      ItemSize=$(du -s "$FileLoad" |cut -f1 |grep -o '[0-9]*' |head -n1)
      if [[ -z "$ItemSize" ]]; then return; fi
      if [[ "$ItemSize" -le "$MinSize" ]]; then
        echo -ne "\033[33m$FileLoad \033[0mtoo small to spik.\n";
        return;
      fi
      if [[ "$ItemSize" -ge "$MaxSize" ]]; then
        echo -ne "\033[33m$FileLoad \033[0mtoo large to spik.\n";
        return;
      fi
      eval "${EXEC}${Option}" \'"${FileLoad}"\' "${RemoteDIR}";
    fi
  fi
  IFS=$IFS_BAK
}
LoadFile;
让文件成为可执行文件:chmod +x rcloneupload.sh
编辑 Aria2 configuration file (/app/conf/aria2.conf) to add one following line at the file end:
上 -download-complete=/app/conf/rcloneupload.sh

重新启动ARIA2-UI Docker以改变生效

[[电子邮件 protected] ~]# docker restart aria2-ui
bash-4.3# cd /app/conf/
bash-4.3# ls
aria2.conf      aria2.session      aria2c.sh      key

bash-4.3# vi /app/conf/aria2.conf
# Bit Torrent: The amount of time and the upload-to-download ratio you wish to
# seed to. If either the time limit ( seconds ) or the seed ratio is reached,
# torrent seeding will stop. You can set seed-time to zero(0) to disable
# seeding completely.
seed-ratio=0.01
seed-time=1
on-download-complete=/app/conf/rcloneupload.sh


配置主机rclone以安装Google Drive

1  首先要安装涡旋源
yum -y安装涡旋释放


2  安装一些组件
yum -y安装wget解压缩屏幕保险丝保险丝


3  安装rclone.
[[电子邮件 protected] 数据]# curl //rcrclonelone.org/install.sh | sudo bash


4  配置rclone.
rclone配置

创建一个新的远程并将其命名为Google-Drive

其他步骤可以检查帖子://blog.fabiandinkins.com/2020/05/use-rclone-to-mount-google-drive-and.html

5  使用rclone安装Google Drive
  • 在/ home / gdrive创建一个新文件夹
mkdir -p / home / gdrive

  • 安装系统
rclone安装Google-drive:/ home / gdrive - allow-overth-allow-non-allal-vfs-cache-mode写字

注意:Google-Drive是rclone配置名称。


6  创建rclone.service.

要使rclone安装Google驱动器即使重新启动vps后,create /usr/lib/systemd/system/rclone.service带有以下信息:
vi /usr/lib/systemd/system/rclone.service.

[单元]
描述= rclone.

[服务]
用户= root
execstart = / usr / bin / rclone安装Google-drive:/ home / gdrive - allow-其他 - allow-non-ally-vfs-cache-mode写字
重新启动=在中止


7  systemctl启用rclone.service.

8  使用浏览器访问系统

FileBrowser:http:// IP /文件
aria2ng:http:// ip

默认FileBrowser用户名/密码将是管理员/ admin..

aria将文件下载到Docker's本地/数据文件夹。完成下载后,文件将移动到/ GDrive文件夹。

GDrive文件夹已安装有Google Drive,它将由FileBrowser管理。



云 Flare配置





删除已安装的Docker.

#delete docker.ContainerId =`docker ps | grep wahyd4 / aria2-ui | awk'{print $1}'` Docker. $ {containid} docker rm $ {containid} docker rmi “Docker图片| Grep Wahyd4 / Aria2-UI | Awk'{print $3}'` #remove下载文件夹 RM -RF〜 /数据
RM -RF / HOME / GDRIVE





参考





1条评论: