IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    黄鸡大盘鸡搭建Aria2实现自由分发

    ysicing (i@ysicing.me)发表于 2024-01-27 02:03:13
    love 0

    最近入了黄鸡的大盘鸡(重庆移动IPv6-KVM-lite-2号机),准备用来做下载服务站。

    前情

    • 基于# Aria2 Pro - 更好用的 Aria2 Docker 容器镜像整理完成
    • 机器依托黄鸡的大盘鸡

    大盘鸡配置

    E5-2680v4
    4CORE +8192MB DDR4
    60G NVME SSD + 400G SAS raid5
    限速 300Mbps (大概38MB/s)
    2048 GiB 流量(双向计费:上行和下行)
    1 共享IPv4 (20端口) + 1独立IPv6
    月费用: ¥29.90
    

    暂时v4没有屏蔽海外,这里我默认v4禁止访问海外,v6没限制

    我的想法

    基于aria2下载完成后,自动上传到minio,方便我分发相关文件

    实操

    默认已经安装好docker了,且配置支持ipv6的docker镜像加速

    编写compose

    # docker-compose.yaml
    version: "3.8"
    
    services:
    
      Aria2-Pro:
        container_name: aria2-pro
        image: p3terx/aria2-pro
        environment:
          - PUID=65534
          - PGID=65534
          - UMASK_SET=022
          - RPC_SECRET=ysicingme
          - RPC_PORT=6800
          - LISTEN_PORT=6888
          - DISK_CACHE=512M
          - IPV6_MODE=true
          - UPDATE_TRACKERS=true
          - CUSTOM_TRACKER_URL=
          - TZ=Asia/Shanghai
          - SPECIAL_MODE=rclone #move
        volumes:
          - /data/aria2/config:/config
          - /data/aria2/downloads:/downloads
          - /data/aria2/completed:/completed
        network_mode: host
        restart: always
    
      AriaNg:
        container_name: ariang
        image: p3terx/ariang
        command: --port 6880
        ports:
          - 6880:6880
        restart: always
    
      minio:
        image: bitnami/minio:2024
        container_name: minio
        environment:
          - MINIO_ROOT_USER=ysicing
          - MINIO_ROOT_PASSWORD=ysicingme
          - MINIO_DEFAULT_BUCKETS=aria2
        ports:
          - '9000:9000'
          - '9001:9001'
        volumes:
          - '/data/minio:/bitnami/minio/data'
        restart: always
    

    将上面的文件保存为docker-compose.yaml

    创建相关目录

    mkdir /data/minio
    # 不然minio权限会有问题,这里方便操作直接777了
    chmod 777 /data/minio -R
    

    启动服务

    docker compose up -d
    

    配置mc

    安装mc客户端

    wget https://dfcos.ysicing.net/oss/tiga/linux/amd64/mc
    chmod +x mc
    mv mc /usr/bin/
    

    配置mc客户端

    mc alias set local http://127.0.0.1:9000 ysicing ysicingme
    

    验证

    mc ls local
    [2024-01-27 07:43:40 CST]     0B aria/
    

    配置rclone

    下载rclone

    wget https://dfcos.ysicing.net/oss/tiga/linux/amd64/rclone
    chmod +x rclone
    mv rclone /usr/bin/
    

    配置 rclone, 选择minio即可,其他根据实际情况配置,通常默认即可

    rclone config
    

    配置完成后文件如下:

    # cat ~/.config/rclone/rclone.conf
    [local]
    type = s3
    provider = Minio
    access_key_id = ysicing
    secret_access_key = ysicingme
    endpoint = http://127.0.0.1:9000
    

    验证是否可用

    rclone lsd local:
              -1 2024-01-27 07:43:40        -1 aria
    

    配置aria2-pro容器

    大概步骤同rclone

    docker exec -it aria2-pro rclone config
    

    编辑aria2-pro文件

    编辑/data/aria2/config/script.conf 对应 容器内 /config/script.conf

    # 网盘名称(RCLONE 配置时填写的 name)
    drive-name=local
    
    # 网盘目录(上传目标目录,网盘中的文件夹路径)。注释或留空为网盘根目录,末尾不要有斜杠。
    drive-dir=/aria/download/
    

    重启

    完成上述操作后重启服务

    docker compose restart Aria2-Pro
    

    访问UI

    URL通常就是如下所示:

    # ipv4
    natip:映射端口
    # ipv6
    ipv6:6880
    

    通常第一次访问后需要配置ariang, 示例地址 http://192.168.94.16:6880/#!/settings/ariang

    通常配置一下RPC的密钥即可

    测试

    这里就不贴出来,给两个测试

    • Kali Linux
    • Windows Server 2022

    其他

    如安全性,这里方便演示没有设置端口监听范围

    • minio的9001
    • ariang的6880

    如果你已经内网穿透了,可以考虑如下方式

    ports:
          - '9000:9000'
          - '192.168.94.16:9001:9001'
        ports:
          - 192.168.94.16:6880:6880
    

    如果有其他问题欢迎留言交流讨论



沪ICP备19023445号-2号
友情链接