当前位置: 首页 > article >正文

使用Aria2实现离线下载

最近有需要BT下载,但有的资源很冷门,速度很慢,总不能一直开着电脑下载,于是想到部署个离线下载。想起之前用雨云服务器拿来部署兰空图床感觉效果不错,发现内存剩的还挺多,所以继续压榨一下😏

提示:我使用的是NAT模式的服务器,具体操作会与有独立IP的服务器有所不同

安装Aria2

本着简便(懒)的原则,直接使用docker compose部署Aria2

使用的是P3TERX大佬修改好的版本——Aria2-Pro-Docker,开箱即用

参照https://blog.l3zc.com/2024/08/aria2-downloading-server/的文章进行操作

  1. 新建目录

    mkdir /home/aria2
    
  2. 进入目录

    cd /home/aria2
    
  3. 创建并编辑配置文件``docker-compose.yml`

    services:
      Aria2-Pro:
        container_name: aria2-pro
        image: p3terx/aria2-pro
        environment:
          - PUID=65534
          - PGID=65534
          - UMASK_SET=022
          - RPC_SECRET=你的RPC密码   # 修改这里的值
          - RPC_PORT=6800
          - LISTEN_PORT=6888
          - DISK_CACHE=64M
          - IPV6_MODE=false
          - UPDATE_TRACKERS=true
          - CUSTOM_TRACKER_URL=
          - TZ=Asia/Shanghai
        volumes:
          - ./aria2-config:/config
          - ./aria2-downloads:/downloads
        network_mode: bridge  # 如果你需要用到 IPV6 网络,也可以使用 host 模式
        ports:
          - 6800:6800
          - 6888:6888
          - 6888:6888/udp
        restart: unless-stopped
        # 防止日志塞满硬盘
        logging:
          driver: json-file
          options:
            max-size: 1m
    
    # 这里使用的AriaNg面板,也可以使用其他面板
      AriaNg:
        container_name: ariang
        image: p3terx/ariang
        command: --port 6880 --ipv6
        network_mode: bridge
        ports:
          - 6880:6880
        restart: unless-stopped
        logging:
          driver: json-file
          options:
            max-size: 1m
    
  4. 启动容器

    根据docker安装情况不同,可能没有docker-compose命令,换成docker compose即可

    docker-compose up -d
    
  5. 放行端口6800和6880,假设为12345和23456

    image-20241112133250297

  6. 使用Cloudflare实现域名访问AriaNG面板

    创建两个CNAME记录,目标值为雨云NAT端口映射中的备用地址
    在这里插入图片描述
    image-20241112135107731

    创建重定向规则

    这里没有像上次兰空图床那样创建Origin Rules,因为https的问题会导致RPC无法配置,所以改为使用重定向

    image-20241112133544987

  7. 这样就可以使用域名访问AriaNG面板了,虽然地址栏会显示重定向后的地址和端口,但IP不会暴露

  8. 配置RPC

    RPC地址直接填写aria2服务的备用地址即可,比如我这里就应该是xxxxxxx:12345

    PRC密钥填写配置文件中的RPC_SECRET的值

    image-20241112133921737

  9. 填写完成后刷新页面即可,Aria2状态为已连接则成功

  10. 测试

使用BT下载[Ubuntu](Alternative downloads | Ubuntu)

image-20241112134336411

随便选择一下,下载.torrent文件。然后回到AriaNG,点击新建➡️点击文件图标➡️打开种子文件➡️选择刚才下载的.torrent文件➡️立即下载

image-20241112134455628

image-20241112134540338

等几秒就会有下载速度了,下载速度取决于资源热度和服务器带宽

image-20241112134735047

  1. 至此,Aria2已成功部署,但是从服务器下载文件还需要额外的手段,AriaNG只能让服务器自己下载,却无法从服务器下载文件到本地,目前我是直接用scp命令下载,不过使用Alist会更方便,等之后再部署

http://www.kler.cn/a/399537.html

相关文章:

  • 如何在 SQL Server 中新增账户并指定数据库权限
  • windows工具 -- 使用rustdesk和云服务器自建远程桌面服务, 手机, PC, Mac, Linux远程桌面 (简洁明了)
  • 什么是Spring Boot Actuator
  • mindspore发布件
  • JavaEE 重要的API阅读
  • 【第三课】Rust变量与数据类型(二)
  • 【策略模式】最佳实践——Spring IoC实现策略模式全流程深度解析
  • Java——并发工具类库线程安全问题
  • 【LeetCode热题100】字符串
  • C#编程:优化【性别和成绩名次】均衡分班
  • 一文了解Android的核心系统服务
  • 使用 Keras 训练一个卷积神经网络(CNN)(入门篇)
  • L11.【LeetCode笔记】有效的括号
  • 代码随想录算法训练营第四十七天|Day47 单调栈
  • 2022数学分析【南昌大学】
  • mini-jquery
  • Python数据分析NumPy和pandas(三十五、时间序列数据基础)
  • 炼码LintCode--数据库题库(级别:简单;数量:55道)--刷题笔记_02
  • C++【nlohmann/json】库序列化与反序列化
  • ALSA - (高级Linux声音架构)是什么?
  • ShardingSphere 如何完美驾驭分布式事务与 XA 协议?
  • HTTP常见的状态码有哪些,都代表什么意思
  • DB_redis数据一致性(三)
  • web3+web2安全/前端/钱包/合约测试思路——尝试前端绕过直接上链寻找漏洞
  • @bytemd/vue-next Markdown编辑器的使用
  • Linux下MySQL的简单使用