学习是一种乐趣~
分享是一种美德~

OneDriveUploader:aria2离线下载配置教程

授权

国际版, 个人版(家庭版): 点这里

中国版(世纪互联): 点这里

登录授权后会获得一个localhost开头并且无法打开的链接,保存好链接,后面要用。

安装OneDriveUploader

直接运行命令下载,这里装到/usr/local/bin/

64位系统下载
wget https://raw.githubusercontent.com/MoeClub/OneList/master/OneDriveUploader/amd64/linux/OneDriveUploader -P /usr/local/bin/
32位系统下载
wget https://raw.githubusercontent.com/MoeClub/OneList/master/OneDriveUploader/i386/linux/OneDriveUploader -P /usr/local/bin/
arm架构下载
wget https://raw.githubusercontent.com/MoeClub/OneList/master/OneDriveUploader/arm/linux/OneDriveUploader -P /usr/local/bin/

给予权限
chmod +x /usr/local/bin/OneDriveUploader

初始化配置文件

国际版:
OneDriveUploader -a "url"
个人版(家庭版):
OneDriveUploader -ms -a "url"
中国版(世纪互联):
OneDriveUploader -cn -a "url"
在浏览器地址栏中获取以 http://loaclhost 开头的整个url内容 将获取的完整url内容替换命令中的 url 三个字母 每次产生的 url 只能用一次, 重试请重新获取 url 此操作将会自动初始化的配置文件 提示 Init config file: '/path/to/auth.json' 则成功

配置自动上传

这里的使用萌咖大佬的脚本。

新建一个one-up.sh文件,在文件中键入以下内容:

#!/bin/bash

GID="$1";
FileNum="$2";
File="$3";
MaxSize="15728640";
Thread="3"; #默认3线程,自行修改,服务器配置不好的话,不建议太多
Block="20"; #默认分块20m,自行修改
RemoteDIR=""; #上传到Onedrive的路径,默认为根目录
LocalDIR="/www/download/"; #Aria2下载目录,记得最后面加上/
Uploader="/usr/local/bin/OneDriveUploader"; #上传的程序完整路径,默认为本文安装的目录
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' ]]; then exit 0; fi
if [[ "$#" != '3' ]]; then exit 0; fi

function LoadFile(){
if [[ ! -e "${Uploader}" ]]; then return; fi
IFS_BAK=$IFS
IFS=$'\n'
tmpFile="$(echo "${File/#$LocalDIR}" |cut -f1 -d'/')"
FileLoad="${LocalDIR}${tmpFile}"
if [[ ! -e "${FileLoad}" ]]; then return; fi
ItemSize=$(du -s "${FileLoad}" |cut -f1 |grep -o '[0-9]*' |head -n1)
if [[ -z "$ItemSize" ]]; then return; 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}" -s "${FileLoad}" -r "${RemoteDIR}" -skip
if [[ $? == '0' ]]; then
rm -rf "${FileLoad}";
fi
IFS=$IFS_BAK
}
LoadFile;

保存后,修改权限:

chmod +x /root/one-up.sh

/root/one-up.sh 修改成你的文件路径

编辑aria2配置文件:

vi /root/.aria2/aria2.conf

i进入插入模式,在文件中添加一句:

on-download-complete=/root/one-up.sh

Esc,输入:wq 保存退出。

重启aria2:

service aria2 restart

到这里离线下载就配置完成了,之后在aria2下载完成后会自动上传Onedrive中。

在我配置的过程中,发现文件正常下载并且可以手动上传,但不能自动上传。 排查后发现是编码的问题。

安装dos2unix:

Centos:
yum install dos2unix -y


Debian/Ubuntu:
apt install dos2unix -y

转换编码:

dos2unix /root/one-up.sh

这样就可以正常自动上传了。  

 

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
网站名称:CNBoy 四海部落
文章名称:《OneDriveUploader:aria2离线下载配置教程》
文章链接:https://cnboy.org/578

本站资源仅供个人学习交流,不允许用于商业或违反国家法律法规之用途,否则法律问题自行承担。如有转载需注明文章来源。