V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
taidayu
V2EX  ›  云计算

利用闲置轻量实现 OD, GD 等网盘离线下载

  •  
  •   taidayu · 2021-05-01 12:29:46 +08:00 · 3044 次点击
    这是一个创建于 1327 天前的主题,其中的信息可能已经有所发展或是发生改变。

    清凉买多了,网络又辣么好,闲置多浪费 不如拿来转存 废话不多说直接开始 系统 轻量默认配了宝塔面板

    重装时很快,不到一分钟就好了 重装选择宝塔腾讯云版,直接省去装宝塔面板过程 众所周知使用宝塔腾讯云版提升 200%效率 ARIA2 直接使用 github 大佬的 aria2 增强脚本,提速超级明显 wget -N git.io/aria2.sh && chmod +x aria2.sh

    github: https://github.com/P3TERX/aria2.sh 配置完成后会输出个 AriaNg 链接 : http://ariang.js.org/#!/settings/rpc/set/ 复制后在浏览器打开 上传 最近有个论坛里大佬写了一款新的工具 LightUploader 简单粗暴可以抛弃以前的 rclone 了

    下载文件

    wget https://github.com/gaowanliang/LightUploader/releases/download/v2.0/LightUploader_Linux_x86_64.tar.gz

    解压文件

    tar -zxvf LightUploader_Linux_x86_64.tar.gz -C /usr/local/bin/

    给予权限

    chmod +x /usr/local/bin/LightUploader

    可选 软链接 类似于 Windows 的快捷方式

    ln -s /usr/local/bin/LightUploader /usr/bin/LightUploader

    安装完成后 掏出我那限制的 onedrive E5 点击 https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=ad5e65fd-856d-4356-aefc-537a9700c137&response_type=code&redirect_uri=http://localhost/onedrive-login&response_mode=query&scope=offline_access%20User.Read%20Files.ReadWrite.All 获取到一个一个 localhost 开头的链接,复制 在 ssh 上 LightUploader -a "url" -l zh-CN

    将 url 部分替换为你的链接 如果提示:注册成功 ok 配置文件 这时候宝塔面板就派上用场了 在 /root/.aria2c 下有一个 aria2.conf 找到 on-download-complete= 改成 on-download-complete=/root/.aria2c/upload.sh 打开 upload.sh 文件 改成

    #!/bin/bash

    GID="$1"; FileNum="$2"; File="$3"; MaxSize="157286400"; Thread="3"; #默认 3 线程,自行修改,服务器配置不好的话,不建议太多 Block="20"; #默认分块 20m,自行修改 RemoteDIR=""; #上传到 Onedrive 的路径,默认为根目录,如果要上传到 Test 目录,""里面请填成 Test LocalDIR="/www/download/"; #Aria2 下载目录,记得最后面加上 / Uploader="/usr/local/bin/LightUploader"; #上传的程序完整路径,默认为本文安装的目录 Config="/root/auth.json"; #初始化生成的配置 auth.json 绝对路径,参考第 3 步骤生成的路径

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

    functionLoadFile(){ if [[ ! -e "${Uploader}" ]]; thenreturn; fi IFS_BAK=$IFS IFS=

    保存就完事了 这时候打开之前的 AriaNg 链接
    左上角 new 添加任务 过几分钟,你下载的东西就能在 onedrive 上查看了

    `#!/bin/bash

    GID="$1"; FileNum="$2"; File="$3"; MaxSize="157286400"; Thread="3"; #默认 3 线程,自行修改,服务器配置不好的话,不建议太多 Block="20"; #默认分块 20m,自行修改 RemoteDIR=""; #上传到 Onedrive 的路径,默认为根目录,如果要上传到 Test 目录,""里面请填成 Test LocalDIR="/www/download/"; #Aria2 下载目录,记得最后面加上 / Uploader="/usr/local/bin/LightUploader"; #上传的程序完整路径,默认为本文安装的目录 Config="/root/auth.json"; #初始化生成的配置 auth.json 绝对路径,参考第 3 步骤生成的路径

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

    functionLoadFile(){ if [[ ! -e "${Uploader}" ]]; thenreturn; fi IFS_BAK=$IFS IFS=$'\n' tmpFile="$(echo "${File/#$LocalDIR}" |cut -f1 -d'/')" FileLoad="${LocalDIR}${tmpFile}" if [[ ! -e "${FileLoad}" ]]; thenreturn; fi ItemSize=$(du -s "${FileLoad}" |cut -f1 |grep -o '[0-9]*' |head -n1) if [[ -z "$ItemSize" ]]; thenreturn; fi if [[ "$ItemSize" -ge "$MaxSize" ]]; then echo -ne "\033[33m${FileLoad} \033[0mtoo large to spik.\n"; return; fi ${Uploader} -c "${Config}" -t "${Thread}" -b "${Block}" -f "${FileLoad}" -r "${RemoteDIR}" if [[ $? == '0' ]]; then rm -rf "${FileLoad}"; fi IFS=$IFS_BAK } LoadFile; `

    保存就完事了 这时候打开之前的 AriaNg 链接
    左上角 new 添加任务 过几分钟,你下载的东西就能在 onedrive 上查看了

    2 条回复    2021-05-02 09:24:45 +08:00
    hanguofu
        1
    hanguofu  
       2021-05-02 00:38:38 +08:00
    谢谢分享! 请问能支持 天翼网盘 吗 ?
    Salicylicacid
        2
    Salicylicacid  
       2021-05-02 09:24:45 +08:00 via Android
    太麻烦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5437 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:54 · PVG 16:54 · LAX 00:54 · JFK 03:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.