美文网首页树莓派树莓派玩转树莓派
玩转树莓派02——搭建下载机

玩转树莓派02——搭建下载机

作者: LJason77 | 来源:发表于2016-04-14 22:23 被阅读3128次

    1. 安装并配置 Aria

    关于 Aria2 请自行 Google,这里只讲使用。首先,安装:

    apt-get install aria2
    

    创建 Aria2 的配置文件夹:

    mkdir /etc/aria2
    

    创建 session 和配置文件:

    touch /etc/aria2/aria2.session
    touch /etc/aria2/aria2.conf
    

    编辑 /etc/aria2/aria2.conf

    ## 文件保存相关 ##
    
    # 文件保存目录
    dir=/mnt/storage/download
    # 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
    disk-cache=32M
    # 断点续传
    continue=true
    
    # 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
    # 预分配所需时间: none < falloc ? trunc < prealloc
    # falloc和trunc则需要文件系统和内核支持
    # NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
    #file-allocation=falloc
    
    ## 下载连接相关 ##
    
    # 最大同时下载任务数, 运行时可修改, 默认:5
    #max-concurrent-downloads=5
    # 同一服务器连接数, 添加时可指定, 默认:1
    max-connection-per-server=15
    # 整体下载速度限制, 运行时可修改, 默认:0(不限制)
    #max-overall-download-limit=0
    # 单个任务下载速度限制, 默认:0(不限制)
    #max-download-limit=0
    # 整体上传速度限制, 运行时可修改, 默认:0(不限制)
    #max-overall-upload-limit=0
    # 单个任务上传速度限制, 默认:0(不限制)
    #max-upload-limit=0
    # 禁用IPv6, 默认:false
    disable-ipv6=true
    
    # 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
    # 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
    min-split-size=10M
    # 单个任务最大线程数, 添加时可指定, 默认:5
    split=10
    
    ## 进度保存相关 ##
    
    # 从会话文件中读取下载任务
    input-file=/etc/aria2/aria2.session
    # 在Aria2退出时保存错误的、未完成的下载任务到会话文件
    save-session=/etc/aria2/aria2.session
    # 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
    save-session-interval=60
    
    ## RPC相关设置 ##
    
    # 启用RPC, 默认:false
    enable-rpc=true
    # 允许所有来源, 默认:false
    rpc-allow-origin-all=true
    # 允许外部访问, 默认:false
    rpc-listen-all=true
    # RPC端口, 仅当默认端口被占用时修改
    # rpc-listen-port=6800
    # 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
    #rpc-secret=<TOKEN>
    
    ## BT/PT下载相关 ##
    
    # 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
    #follow-torrent=true
    # 客户端伪装, PT需要
    peer-id-prefix=-TR2770-
    user-agent=Transmission/2.77
    # 强制保存会话, 即使任务已经完成, 默认:false
    # 较新的版本开启后会在任务完成后依然保留.aria2文件
    #force-save=false
    # 继续之前的BT任务时, 无需再次校验, 默认:false
    bt-seed-unverified=true
    # 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
    bt-save-metadata=true
    

    然后执行:

    aria2c --conf-path=/etc/aria2/aria2.conf -D
    

    没有任何提示则表示成功。接下来添加开机自启:

    touch /etc/init.d/aria2c
    

    添加:

    #!/bin/sh
    ### BEGIN INIT INFO
    # Provides: aria2c
    # Required-Start:    $network $local_fs $remote_fs
    # Required-Stop:     $network $local_fs $remote_fs
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: aria2c RPC init script.
    # Description: Starts and stops aria2 RPC services.
    ### END INIT INFO
    
    USER=root
    RETVAL=0
    
    case "$1" in  
        start)  
            echo "Starting service Aria2..."
            aria2c --conf-path=/etc/aria2/aria2.conf -D  
            echo "Start service done."  
        ;;  
        stop)  
            echo "Stoping service Aria2..."  
            killall aria2c   
            echo "Stop service done."  
        ;;  
    esac  
      
    exit $RETVAL
    

    执行:

    chmod +x /etc/init.d/aria2c
    apt-get -y install chkconfig
    chkconfig --add aria2c
    

    2. 安装 nginx

    Nginx 是一个非常轻量级的HTTP服务器,非常适合放在树莓派上作为 Aria2 的 Web 管理。安装 Nginx:

    apt-get -y install nginx
    

    下载第三方的程序:

    rm -rf /var/www/html
    git clone https://github.com/ziahamza/webui-aria2.git /var/www/html
    

    启动 nginx:

    /etc/init.d/nginx start
    

    添加开机自启,编辑 /etc/rc.local,添加一行:

    /etc/init.d/nginx start
    

    在浏览器中输入树莓派的IP即可使用 Aria2 下载了。

    现在只要把链接、种子在上学前、上班前、睡觉前扔进去,回来就下载好了。如果下载大家伙,完全不像以前要挂机一整天,超省电。

    3. 用直链下载百度云资源

    万恶的百度云不交钱就限速下载真是受够了,本来想申请 PCS 来获得 API 端口用来不限速下载。可惜人家早已看穿你的小心思,百度早在13年就关闭的 PCS 的注册,但老用户则不受影响。但是天无绝人之路,就因为老用户不受影响,所以我辗转终于找到了一个 PCS 。

    百度网盘直链系统

    进去登陆百度云,之后在 云盘-我的应用数据-hgf_blog 中放入文件,页面中就会出现列表,点击文件即可获得直链,然后用 Aria2 下载即可。

    4. 定时限速

    我白天在学校,晚上才回家。为了不影响上网,所以我就想白天全速下载,晚上定时限速。编辑 /var/spool/cron/crontabs/root,添加:

    0 19 * * * curl http://127.0.0.1:6800/jsonrpc -H "Content-Type: application/json" -H "Accept: application/json" --data '{"jsonrpc":"2.0","id":1,"method":"aria2.changeGlobalOption","params":[{"max-overall-download-limit":"300K","max-overall-upload-limit":"10K"}]}'
    30 23 * * * curl http://127.0.0.1:6800/jsonrpc -H "Content-Type: application/json" -H "Accept: application/json" --data '{"jsonrpc":"2.0","id":1,"method":"aria2.changeGlobalOption","params":[{"max-overall-download-limit":"0","max-overall-upload-limit":"0"}]}'
    

    第一行表示在 19:00 的时候开始限制下载速度为300K,上传限速为10K;第二行表示在 23:30 的时候开始,下载和上传速度均为0(0为不限速)。

    相关文章

      网友评论

      • 南栀倾寒:那个pcs又不能用了
      • bingowen:大神好,问下,编辑 /etc/aria2/aria2.conf之后执行时,提示
        root@raspberrypi:/home/pi# aria2c --conf-path=/etc/aria2/aria2.conf -D
        Specify at least one URL.
        Usage: aria2c [OPTIONS] [URI | MAGNET | TORRENT_FILE | METALINK_FILE]...
        See 'aria2c -h'.
        是什么意思?是哪儿错了么?

      本文标题:玩转树莓派02——搭建下载机

      本文链接:https://www.haomeiwen.com/subject/lczglttx.html