方案
aria2加onemanger
购买轻量应用服务器
配置随意,根据要下的文件的服务器地域选择即可。我这里为了方便选择了宝塔
开始部署
1.安装aria2
代码语言:txt复制wget -N git.io/aria2.sh && chmod x aria2.sh && ./aria2.sh
按提示配置即可
2.部署onemanager
这里简单提一下
点我下载最新代码
将代码上传到网站目录
配置伪静态规则
按提示安装,并将OneDrive挂载上去。
3.配置自动下载上传
在第一步的时候,安装完aria2有提示如以下内容
代码语言:txt复制RPC 端口 : 6800
RPC 密钥 : xxxx
下载目录 : /root/downloads
AriaNg 链接:
这里的ariang就是咱们的下载控制台啦
安装上传程序
代码语言:txt复制wget https://raw.githubusercontent.com/MoeClub/OneList/master/OneDriveUploader/amd64/linux/OneDriveUploader -P /usr/local/bin/
chmod x /usr/local/bin/OneDriveUploader
根据提示安装即可
新建文件upload.sh
代码语言:txt复制#!/bin/bash
GID="$1";
FileNum="$2";
File="$3";
MaxSize="15728640";
Thread="3"; # 默认3线程,自行修改,服务器配置不好的话,不建议太多
Block="20"; # 默认分块20m,自行修改
RemoteDIR="download/"; # 上传到Onedrive的路径,默认为根目录,如果要上传到File目录,""里面请填成File
LocalDIR="/root/download/"; # Aria2下载目录,记得最后面加上/
Uploader="/usr/local/bin/OneDriveUploader"; # 上传的程序完整路径,默认为本文安装的目录
Config="/root/auth.json"; # 初始化生成的配置auth.json绝对路径
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 "