这篇文章是关于如何使用 wahyd4 / aria2-ui的docker镜像,以实现下载和文件管理/共享中心。在一个docker映像中,您可以进行下载(Aria2),Web GUI下载(AriaNG),文件管理(FileBrowser),支持多种类型的文件视图以及保存到Google云端硬盘。 

前提条件:

安装Docker:
[电子邮件 protected]:/# curl -sSL //get.docker.com/ | sh
systemctl start 码头工人
systemctl enable 码头工人

打开防火墙端口:
tcp 80

#CentOS 6
iptables -A输入-p tcp –dport 80 -j接受
服务iptables保存
服务iptables重启

#CentOS 7
防火墙-cmd –zone =上市-端口= 80/ tcp –永久
防火墙cmd –重新加载

码头工人映像:
wahyd4 / aria2-ui:最新

其他相关的GitHub站点:
//github.com/wahyd4/aria2-ariang-x-docker-compose
//github.com/51sec/aria2-ariang-x-docker-compose

安装FireBrowser + Aria2 + AriaNG + Caddy 码头工人

码头工人 run -d -i --restart=always --name aria2-ui -p 80:80 -v ~ /数据 :/data -v /home/gdrive:/gdrive wahyd4/aria2-ui

笔记:

  • / data文件夹是aria2下载文件夹。下载完成后,文件将自动传输到/ gdrive文件夹。
  • / gdrive文件夹是Rclone挂载的Google云端硬盘文件夹。 

配置FileBrowser

[[电子邮件 protected] 〜] 码头工人 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] ~]# 码头工人 restart aria2-ui



配置Aria2

[[电子邮件 protected] 〜] 码头工人 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 加 上 e following line at the file end:

上 -download-complete=/app/conf/rcloneupload.sh


重新启动aria2-ui泊坞窗以使更改生效

[[电子邮件 protected] ~]# 码头工人 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云端硬盘

1.首先安装epel源码

yum -y安装epel-release

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

3.安装rclone
[[电子邮件 protected] 数据]# curl //rclone.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云端硬盘
5.1在/ home / gdrive中创建一个新文件夹
mkdir -p / home / gdrive

5.2挂载系统
rclone mount google-drive:/ home / gdrive –allow-other –allow-non-empty –vfs-cache-mode写入

注意:google-drive是Rclone配置名称。

6.创建rclone.service

要使rclone甚至在重新启动vps后仍挂载google驱动器,请使用以下信息创建/usr/lib/systemd/system/rclone.service:
vi /usr/lib/systemd/system/rclone.service

[单元]
描述= rclone

[服务]
用户= root
ExecStart = / usr / bin / rclone挂载谷歌驱动器:/ home / gdrive –允许其他–允许非空–vfs-cache-mode写入
重新启动=中止

7. systemctl启用rclone.service

8.使用浏览器访问系统

FileBrowser:http:// ip
aria2:http:// ip:ui

默认的FileBrowser用户名/密码为 管理员/管理员.

Aria会将文件下载到docker的本地/ data文件夹中。下载完成后,文件将移至/ gdrive文件夹。

Gdrive文件夹已随Google Drive挂载,将由FileBrowser管理。

删除已安装的Docker

#删除Docker
ContainerID =
`docker ps | grep wahyd4 / aria2-ui | awk'{print $ 1}'``
码头工人
$ {ContainerID}
码头工人 rm $ {ContainerID}
码头工人rmi
`docker images | grep wahyd4 / aria2-ui | awk'{print $ 3}'`
#删除下载文件夹
rm -rf〜
/数据
rm -rf / home / gdrive

通过 约翰

发表评论