Rat's

VPS上传文件到OneDrive网盘脚本,可配合Aria2实现自动上传
说明:我们从VPS上传文件到OneDrive网盘的方法很多,包括Rclone挂载,OneIndex程序的上传功能,...
扫描右侧二维码阅读全文
19
2018/11

VPS上传文件到OneDrive网盘脚本,可配合Aria2实现自动上传

说明:我们从VPS上传文件到OneDrive网盘的方法很多,包括Rclone挂载,OneIndex程序的上传功能,不过2个在上传的时候都还是有点BUG,前者会出现丢文件的情况,后者也会出现上传失败,都不是很理想,这里博主再介绍个OneDrive上传脚本,几乎不会出现上传问题,很好用,由萌咖大佬制作,并将其适用于Aria2的自动上传,这里说下具体操作。

更新

【2018.12.16】
应一些同学需求,新增上传到指定文件夹的方法。
【2018.11.19】
OneDrive上传脚本BUG已被萌咖大佬修复,修复了空格处理不当,导致部分带空格的文件夹上传失败,从而影响Aria2上传脚本。
【2018.10.30】
修复Aria2上传脚本BUG,包括修复了不能上传文件夹功能,修复了不能正确上传文件名中包含空格的项目。
【2018.10.29】
优化OneDrive网盘脚本。优化认证步骤。
独家分享萌咖大佬的Aria2自动上传脚本,判断更加细节,支持单文件、文件夹里的单文件、文件夹里的多文件及文件夹上传。超过15G文件停止上传(onedrive限制)。

说明

【2018.11.19】
#目前脚本修复的差不多了,博主测试各种带空格的文件夹自动上传都没问题。

#如果依然出现有些文件上传不了?
出现这种情况的话,大概是文件虽然下载完成了,但一直卡在做种阶段,导致参数传不到自动上传脚本,从而文件夹也上传不了。
解决方法:在配置文件里加入seed-time=0参数(意思是停止做种),再重启Aria2即可。

方法

Github地址:https://github.com/0oVicero0/OneDrive

脚本特性:脚本支持文件夹上传,支持获取文件的匿名直链,且只适用于OneDrive非个人版。

1、安装脚本
安装curl,用于访问API

#Ubuntu和Debian系统
apt-get install -y curl

#Centos系统
yum install curl -y

运行命令安装脚本:

#为了方便小白,本脚本内置萌咖大佬永久有效的应用参数,可以直接使用,如果你不放心可以自己获取参数,不过可能会遇到很多坑,建议直接使用脚本默认的参数
wget --no-check-certificate -qO- "https://raw.githubusercontent.com/0oVicero0/OneDrive/master/OneDrive.sh" |bash

本脚本需要三个参数Client IDSecretReply URL,均需要在/usr/local/etc/OneDrive/onedrive.cfg文件里修改,参数获取看下面,当然你也可以不用管,直接进行步骤3

2、获取参数
先访问Microsoft Azure Management Portal,然后点击左侧菜单栏中的Azure Active Directorg,选择应用注册,再点击页面上方的新应用程序注册。
请输入图片描述
输入名称如:OneDrive for Linux,应用程序类型选择Web应用/API,填入登陆URLhttps://login.microsoftonline.com/,再点击创建。
请输入图片描述
然后点击刚刚创建的应用程序,复制应用程序ID,即脚本需要的Client ID参数,再点击左上角的设置。
请输入图片描述
然后进行如下修改:
请输入图片描述

#点击右边的回复URL,将其修改为:https://onedrive.live.com/about/business/,即脚本所需要的Reply URL参数。
#点击所需权限,点击Windows Azure Active Directory确认是否已选中Sign in and user profile,如果没有则选中并点击完成。
#点击上方的添加,点击选择API,选中Office 365 SharePoint Online,并点击选择。在选择权限中选中Read user files 和Read and write user files,并点击选择。点击完成按钮,并关掉此小窗口。
#点击密钥,填入密钥描述,如:OneDrive,选择年限1年,点击保存,再复制密匙,即脚本所需要的Secret参数。

不过这里说下密匙(Secret参数)填写的一个坑,由唯一度博主填平。就是当我们获取到带+号的密匙时候,我们需要使用编码符号,把+改成%2B,然后再填入脚本里,不然最后会出现Something went wrong, here is the API response的错误,导致验证失败。

3、运行账号认证程序
运行命令onedrive -a,将返回的网址复制到浏览器打开,再登陆你的OneDrive for Business账号,登陆成功后复制地址栏中的地址(复制包括localhost的所有链接地址),粘贴到SSH客户端里,敲回车键即可。
请输入图片描述
如果返回以下字段:It seems like we have a refresh token, so we are ready to go,那就恭喜你,设置成功!

提示:如果你遇到bash: onedrive: command not found错误,则需要找到/usr/local/etc/OneDrive文件夹,修改onedrive和onedrive-d脚本,在第二行都加上export PATH=/usr/local/bin:$PATH代码,再保存就行了。

使用

1、使用命令

onedrive --help
 
#####################################################################
Usage: onedrive [OPTIONS] file1 [file2...]
       onedrive-d folder
 
Options:
  -d, --debug        Enable debug mode
  -a, --authorize    Run authorization process
  -f, --folder       Upload files into this remote folder
  -c, --creat        Creat remote folder."
                     Directory names are separated with a slash, e.g.
                     rootFolder/subFolder
                     Do NOT use a trailing slash!
  -h, --help         Show this help
  -r, --rename       Rename the files during upload
                     For each file you specify you MUST also specify
                     the remote filename as the subsequent parameter
                     Be especially careful with globbing!
  -s, --silent       Silent mode for use in crontab scripts.
                     Return only exit code.
  -ls,--list         Show the itmes in this directory.
  -l, --link         Show the file share link.
      
#####################################################################

2、命令示范
如果我们要上传/root文件夹里面的moerats.txt,使用命令:

#此命令默认上传到OneDrive根目录
onedrive '/root/moerats.txt'

#如果上传到指定文件夹,就需要加-f参数
onedrive -f RATS '/root/moerats.txt'  #上传到OneDrive根目录的RATS文件夹
onedrive -f RATS/RATS '/root/moerats.txt'  #上传到OneDrive根目录RATS文件夹里的RATS文件夹

如果我们要将/root文件夹及里面的文件夹和文件一起上传,使用命令:

#此命令默认上传到OneDrive根目录
onedrive-d '/root'

#如果上传到指定文件夹,就需要加-f参数
onedrive-d -f RATS '/root'  #上传到OneDrive根目录的RATS文件夹
onedrive-d -f RATS/RATS '/root'  #上传到OneDrive根目录RATS文件夹里的RATS文件夹

如果我们想直接查看OneDrive网盘目录的文件,使用命令:

#此命令只查看根目录文件
onedrive -l
#如果我们要查看根目录root文件夹里的文件
onedrive -l /root

请输入图片描述

Aria2自动上传

上传方法参考:使用Aira2下载文件后自动上传到Google Drive网盘

上传代码如下:

#!/bin/bash

GID="$1";
FileNum="$2";
File="$3";
MaxSize="15728640"
RemoteDIR="";  #上传到Onedrive的路径,默认为根目录,如果要上传到指定目录,方法看文章最后面。
LocalDIR="/home/www/download/";  #Aria2下载目录,记得最后面加上/

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(){
  IFS_BAK=$IFS
  IFS=$'\n'
  if [[ ! -d "$LocalDIR" ]]; then return; fi
  if [[ -e "$File" ]]; then
    if [[ $(dirname "$File") == $(readlink -f $LocalDIR) ]]; then
      ONEDRIVE="onedrive";
    else
      ONEDRIVE="onedrive-d";
    fi
    FileLoad="${File/#$LocalDIR}"
    while true
      do
        if [[ "$FileLoad" == '/' ]]; then return; fi
        echo "$FileLoad" |grep -q '/';
        if [[ "$?" == "0" ]]; then
          FileLoad=$(dirname "$FileLoad");
        else
          break;
        fi;
      done;
    if [[ "$FileLoad" == "$LocalDIR" ]]; then return; fi
    if [[ -n "$RemoteDIR" ]]; then
      Option=" -f $RemoteDIR";
    else
      Option="";
    fi
    EXEC="$(command -v $ONEDRIVE)";
    if [[ -z "$EXEC" ]]; then return; fi
    cd "$LocalDIR";
    if [[ -e "$FileLoad" ]]; then
      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$File \033[0mtoo large to spik.\n";
        return;
      fi
      eval "${EXEC}${Option}" \'"${FileLoad}"\';
      if [[ $? == '0' ]]; then
        rm -rf "$FileLoad";
      fi
    fi
  fi
  IFS=$IFS_BAK
}
LoadFile;

如果你想上传到指定的文件夹,修改如下:

#上传到Onedrive里的RATS目录,参数改为:RemoteDIR="RATS"; 
#上传到Onedrive里的RATS目录里的RATS目录,参数改为:RemoteDIR="RATS/RATS";

如果你觉得上传速度较慢,可以编辑/usr/local/etc/OneDrive/onedrive.cfg,修改threads线程数,默认2

#这里提供个快速修改线程数的命令,这里默认修改为5,建议别太高!
sed -i "s#max_upload_threads=2#max_upload_threads=5#g" '/usr/local/etc/OneDrive/onedrive.cfg'

文章参考:OneDrive for Business

Vultr注册就送$50,可开日本/新加坡等机房,【点击注册】。
最后修改:2018 年 12 月 25 日 10 : 08 AM
如果觉得我的文章对你有用,请随意打赏。

发表评论

451 条评论

  1. 梯途

    上传完成后删除本地文件要怎么写啊 在脚本里,谢谢大佬了!

    1. Rat's
      @梯途

      脚本不是有了上传完就删除命令吗。

      1. 梯途
        @Rat's

        然而并没有-_-||
        我今天下载不了看log发现硬盘满了才发现

  2. UYG

    大佬,配合aria2,怎么关闭自动上传,或者限速啊?我的vps因为长时间超负荷被ban了
    而且上传效率好像有点低,10几G的恭喜花了近百G流量

    1. UYG
      @UYG

      打错了,是总共。关闭我是直接把上传脚本关了,但我更想知道怎么限速。

      1. Rat's
        @UYG

        试试这个教程,https://www.moerats.com/archives/937/

  3. 雨夜听雨

    大佬,执行onedrive-d 命令,关闭ssh窗口 就停止上传了,怎么破?

    1. Rat's
      @雨夜听雨

      挂后台,比如上传命令 onedrive-d,挂后台就是nohup onedrive-d &

  4. 雨夜听雨

    大佬,用了代码,并不会直接上传文件夹,只是把文件夹里的文件全部上传,什么情况?

    1. Rat's
      @雨夜听雨

      是就一个这样,还是所有带文件夹的BT下载完都这样?

      1. 雨夜听雨
        @Rat's

        应该是所有,我用种子下载了3个都是只传文件

        1. Rat's
          @雨夜听雨

          可以加下文章下面联系方式,我看看

  5. 唯心寒辞

    100%一直显示正在做种怎么办

    1. 唯心寒辞
      @唯心寒辞

      原来加上seed-time=0就可以了。。。

  6. TyrielWW

    大佬帮我看看吧
    手动上传单文件没问题,上传文件夹时报错
    root@PT:/# onedrive -d MOVE '/PT/漫威宇宙电影/[01].[钢铁侠].Iron.Man.2008.BluRay.720p.x264.DTS-WiKi'
    An error has occurred while uploading '/PT/漫威宇宙电影/[01].[钢铁侠].Iron.Man.2008.BluRay.720p.x264.DTS-WiKi' (File does not exist)
    文件是存在的,难道是因为文件太大?还是文件夹命名的路径太长?
    谢谢

    1. Rat's
      @TyrielWW

      用--debug试试,看下具体问题

      1. TyrielWW
        @Rat's

        大佬
        我看错命令了。。。
        -d-f都不能少。。。

        1. Rat's
          @TyrielWW

          确实,我也没仔细看你那个命令

      2. TyrielWW
        @Rat's

        root@PT:/# onedrive -f MOVE '/PT/蓝色星球2' --debug

        An error has occurred while uploading '/PT/蓝色星球2' (File does not exist)
        An error has occurred while uploading '--debug' (File does not exist)

  7. Linon

    运行onedrive -a
    出现-bash: onedrive: command not found

    1. Rat's
      @Linon

      CentOS吗?先运行export PATH=/usr/local/bin:$PATH,然后再试试,如果不报这个错误的话,解决方法再看一次文章,有写

      1. Linon
        @Rat's

        好了,感谢

  8. 雪月

    博主,为什么我的bt大多数不能用,能用的也卡99%不完成,它不完成自动上传oneindex也用不了啊,https://ww2.sinaimg.cn/large/007qKirjly1g233umi2vaj30u01rctdc.jpg

    1. Rat's
      @雪月

      看是不是卡在了做种什么的,看下配置参数seed-time=0是不是为0,下载任务只有彻底完成才会触发上传

  9. lala

    这个怎么在后台上传,然后可以调出来的时候可以看到进度

  10. 小孩子

    听说使用硅云的香港虚拟主机可以搭建,我买了个20块钱一个月的,请问下楼主可以搭建吗。

    1. Rat's
      @小孩子

      虚拟主机好像不行

  11. 柒柒

    之前配置一直没法成功,这次重新配置了下发现原来一直忘记加执行权了

    1. Rat's
      @柒柒

      其实有些问题 ,把教程多看几遍,评论多看几遍,基本都可以自己解决

  12. funnypc
    如果无种了,想在任务未完成的情况下,有办法可以提前上传已上传的部分文件吗?amule 的 Download completed events 可以配合这个脚本实现自动上传吗?需要做哪些修改呢?

    谢谢!

    1. Rat's
      @funnypc

      这个是在任务彻底完成的时候才会触发上传,未完成又上传部分暂时不清楚。

  13. fly

    我用自己的参数 后出现000错误 然后想用默认参数wget --no-check-certificate -qO- "https://raw.githubusercontent.com/0oVicero0/OneDrive/master/OneDrive.sh" |bash 命令输入了没反应 进去看配置文件还是我自己的……

    1. 游客
      @fly

      所以000错误怎么解决啊

      1. Rat's
        @游客

        使用默认参数就没这个问题。

    2. fly
      @fly

      好了 我自己手动下载上传就行了~ 在此感感感感感感感谢Rat‘’s !祝你 寿比南山,山清水秀,秀外慧中,中外合璧,壁连珠合,合家欢乐,乐以忘忧,忧深思远,远至迩安,安居乐业 一帆风顺,顺风顺水,水到渠成,成家立业,业峻鸿绩。

      1. Rat's
        @fly

        会说话

  14. fly

    提示需要管理员的 在选中Read user files 和Read and write user files,时候 注意右边是否有管理员的√…………选没√得

  15. 新手

    手动运行上传脚本,无反应,无日志查看。。。
    onedrive命令上传就可以。。。
    测试环境Ubuntu16+

    1. Rat's
      @新手

      手动运行肯定没反应的,由aria2调用,然后通过获取的下载参数进行判定上传

      1. 雪月
        @Rat's

        我手动可以,但他压根就不上传啊,试了几个了

        1. Rat's
          @雪月

          手动上传文件有什么报错信息?

          1. 雪月
            @Rat's

            手动可以上传啊,我用单个图片可以自动上传,很多图片或者大文件就不行了,手动没有问题

            1. Rat's
              @雪月

              这个你看下上传日志,aria2.log

  16. 猎鹰

    错误000什么鬼

    1. Rat's
      @猎鹰

      上传报错?用的默认参数?

      1. 猎鹰
        @Rat's

        上传报错,参数是自己获取的。换默认的已经好了

  17. 扬帆大海

    最近偶发性出现一些奇怪的问题,
    比如一个种子有1个视频(2G)+3个图片(几M不等),
    最后传到onedrive的只有图片,视频不见了。
    问题发生的很偶然,也没发现规律。。迷之问题。
    也不知道是网络不稳定?机器不稳定导致的?代码对文件名的判断问题?
    还在继续研究中。

    1. Rat's
      @扬帆大海

      可以看下aria2日志

  18. sand

    下载完之后,没有任何反应,然后就结束了。日志里也没提示任何错误。这是什么问题

    1. Rat's
      @sand

      你是说安装脚本没反应?这个是正常的

      1. sand
        @Rat's

        是用aria2下载http链接完成后,日志里没有调用upload.sh的信息,直接就session结束了

  19. swordsman

    链接打不开,https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=ea2b36f6-b8ad-40be-bc0f-e5e4a4a7d4fa&redirect_uri=http://localhost/onedrive-login怎么办?

    1. Rat's
      @swordsman

      不需要你打开,你只要复制地址栏连接到ssh客户端即可

      1. swordsman
        @Rat's

        感谢博主

  20. swordsman

    链接打开不,怎么解

  21. tcc

    大佬,问一下改了线程9为什么平均上传速度还是只有3m

    1. tcc
      @tcc

      还有这个自动上传脚本怎么改才能让oneindex使用,小白一枚看不懂

      1. Rat's
        @tcc

        没试过改,我都是直接用脚本

  22. kanlee

    版主,这个网页无法打开的?https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=ea2b36f6-b8ad-40be-bc0f-e5e4a4a7d4fa&redirect_uri=http://localhost/onedrive-login

    1. Rat's
      @kanlee

      打不开是正常的。

  23. anadano

    稳是很稳,不过OneDrive是真的慢啊,Google Drive上传40M,Onedrive只有4M
    用rclone也很慢

    1. Rat's
      @anadano

      改下线程数会怎么样?我记得用oneindex自带的上传也是挺快的。

  24. sand

    这个脚本不能自动上传下载的文件夹吗,博主

    1. Rat's
      @sand

      都可以上传。

  25. sand

    这个脚本有语法错误怎么办啊,aria2.log :
    /root/.aria2/upload.sh: 8: /root/.aria2/upload.sh: [[: not found
    /root/.aria2/upload.sh: 9: /root/.aria2/upload.sh: [[: not found
    /root/.aria2/upload.sh: 10: /root/.aria2/upload.sh: [[: not found
    /root/.aria2/upload.sh: 12: /root/.aria2/upload.sh: Syntax error: "(" unexpected
    已经用dos2unix 转过码了

    1. Rat's
      @sand

      你什么系统?换debian看看

      1. sand
        @Rat's

        就是debian的系统

        1. Rat's
          @sand

          确定都复制进去了?包括!/bin/bash。

          1. sand
            @Rat's

            可以了。之前明明复制了!/bin/bash ,粘贴到vim里面又没有了。

            1. Rat's
              @sand

              我就怀疑你没复制进去。

  26. 君少薄

    为什么到授权的步骤的时候把地址复制的浏览器就会弹出
    最可能的原因:
    指定的目录或文件在 Web 服务器上不存在。
    URL 拼写错误。
    某个自定义筛选器或模块(如 URLScan)限制了对该文件的访问。
    这个是什么问题呢,我反复试了几遍还是这样,不知道是不是运行脚本出现问题,打上去没什么反应然后就弹回来输入命令是的界面了

    1. Rat's
      @君少薄

      运行的时候是没什么反应的,你换谷歌浏览器看看

      1. 君少薄
        @Rat's

        换了还是一样啊

        1. Rat's
          @君少薄

          这个就不清楚了,我这几天挂了好几次也没出现过

  27. Ark

    大佬上传一个文件夹的时候提示这个是什么情况呢 An error has occurred while uploading 'xxxxx' (Code: 415) 用的内置参数

    1. Rat's
      @Ark

      这个不太清楚,看是不是操作不对

  28. tcc
    该评论仅登录用户及评论双方可见
    1. Rat's
      @tcc

      使用的是自己申请的密匙还是脚本自带的?如果是申请的,换成自带的

      1. tcc
        @Rat's

        是自己申请的 我再试试自带的

        1. Rat's
          @tcc

          自带的应该没这个问题

  29. xiao

    自动上传没搞定啊。手动的没问题
    自动的没反应,脚本是从Windows复制过去的,然后我也用dos2unix转换过 上传的脚本。。。还是没办法。ARIA2下载完什么都没反应。

    1. Rat's
      @xiao

      自动没搞定的话那就没法了。

  30. meng

    大佬我上传时提示Could not create folder 'in 'root' 是什么情况导致的?

    1. Rat's
      @meng

      用的自己申请的客户端密匙?

      1. meng
        @Rat's

        不是,用的是提供的密钥,后来我试过用一键脚本结果还是一样的显示

        1. Rat's
          @meng

          手动上传的么?用的什么命令

  31. ontzero

    大佬,我想利用onedrive-d '/root' 这个命令实现定时上传 '/root' 目录该怎么做?我试了直接在cron里添加/1 * onedrive-d 'root'并重启cron但是好像没效果,该如何实现?

    1. Rat's
      @ontzero

      把上传什么命令编辑到脚本,然后定时运行脚本看看。

      1. ontzero
        @Rat's

        大佬,成功了,感谢。但是这个命令会一直上传文件,哪怕已经上传到了onedrive中了。所以如何可以不重复上传已上传的文件和正在上传的文件呢?

        1. Rat's
          @ontzero

          我记得我发过onedrive同步的工具,只有在文件夹有变动的情况下才上传到onedrive进行同步,你可以找下

  32. miao

    某些上传某些文件夹提示/root/rcloneupload.sh: eval: line 51: unexpected EOF while looking for matching `''
    /root/rcloneupload.sh: eval: line 52: syntax error: unexpected end of file
    如:YMDRFate stay night Heaven's Feel I.presage flowerI. 預示之花AVCBIG5[繁中]

    1. miao
      @miao

      YMDRFate stay night Heaven's Feel I.presage flowerI. 預示之花AVCBIG5[繁中]

      1. Rat's
        @miao

        你这问题怎么在好几个文章都出现了,错误里显示有语法错误,看是不是直接在电脑上用记事本编辑的,转个格式再看看。

        1. miao
          @Rat's

          原来是萌咖大佬的脚本问题,我直接用命令也无法上传 没报错就显示一个>
          谢谢大佬解答

        2. miao
          @Rat's

          用的vi 建的脚本还是提示这两行错误

        3. miao
          @Rat's

          转了格式,谷歌网盘的自动上传脚本遇到的问题结局不了就用了这个,转了格式,绝大多数文件可以上传 就这个不行

          1. Rat's
            @miao

            好像脚本不支持[]这种格式

            1. miao
              @Rat's

              试了下是支持的,原来是单引号的锅

              1. Rat's
                @miao

                卧槽,仔细看还真是,还以为是格式问题,导致语法错误。

  33. Ark

    大佬有没有什么方法能把直链中的文件(其他vps开的nginx的目录浏览功能)直接上传到onedrive?谢谢~

    1. Rat's
      @Ark

      貌似只能下载后上传。

  34. 软肋

    手动可以上传 不自动上传

    1. Rat's
      @软肋

      检查下步骤,最后记得重启aria2

  35. ssdw

    下载成功后,调用上传脚本失败
    : not foundeupload.sh: 1: /root/rcloneupload.sh:
    : not foundeupload.sh: 2: /root/rcloneupload.sh:
    : not foundeupload.sh: 3: /root/rcloneupload.sh:
    : not foundeupload.sh: 4: /root/rcloneupload.sh:
    : not foundeupload.sh: 7: /root/rcloneupload.sh:
    /root/rcloneupload.sh: 12: /root/rcloneupload.sh: Syntax error: "(" unexpected (expecting "fi")

    1. ssdw
      @ssdw !/bin/bash 没复制进去
  36. Tony

    请问按照这个脚本内容,上传文件后,本地文件是否删除呢?

    1. Rat's
      @Tony

      本地文件自动删除

  37. xunn

    感谢分享这么好的教程,成功弄好了自动上传。
    有个问题请教:小鸡上安装BBR或者锐速,对Aiar2的下载和上传有没有帮助?

    1. Rat's
      @xunn

      还是有的。

  38. moe

    请问博主我用这个脚本上传速度怎么一会大一会变到零速度很不稳定

    1. moe
      @moe

      在宝塔里面看从8000多kb跳到0然后又跳到8000多

      1. Rat's
        @moe

        这很正常啊,你下载东西的时候,宝塔也会这样,一会很高,一会很低。

  39. csdjl88

    老哥好,我这几天用 OneDrive -a做授权的时候一直不成功,有的博主说商业版的API已经关闭了,是不是这样。 我的是教育版A1.

    "error":"invalid_client","error_description":"AADSTS70002: Error validating credentials. AADSTS50012: Invalid client secret is provided.rnTrace ID: ce8661eb-bd76-406e-a230-f7b8d2625900rnCorrelation ID: 42e420e5-7742-46c5-bf43-958a569e1aadrnTimestamp: 2019-01-07 09:41:52Z","error_codes":[70002,50012],"timestamp":"2019-01-07 09:41:52Z","trace_id":"ce8661eb-bd76-406e-a230-f7b8d2625900","correlation_id":"42e420e5-7742-46c5-bf43-958a569e1aad"

    1. Rat's
      @csdjl88

      一般API是不会关闭吧,最多限制一下,或者是账号出问题了,这也只是猜测。

      1. csdjl88
        @Rat's

        加你微信了,有空问你一下下。下午那个问题解决了。就是上传的时候报错 An error has occurred while uploading '/Share/QQ9.0.8_3.exe' (Code: 000)

        1. Rat's
          @csdjl88

          这个好像是用的自己申请的配置出现的情况?

          1. csdjl88
            @Rat's

            昨天折腾了下,aria2那部分的下载可以了。OneDrive的手动上传都可以了,就是太慢了。现在的问题是下载完成后运行上传脚本。没有上传操作。不知道是没有运行还是运行失败。这个方案速度有点感人啊。不知道是不是我VPS配置不行。

            1. Rat's
              @csdjl88

              速度可以改下线程数的。

  40. nop

    博主你好
    我有台15G存储空间的vps,我本来是想测试下按顺序下载多个文件,若总的文件大小超过15G是否会将下载好的上传再删除再继续下载,结果在15G满之前上传完成了一个几十M的后,在满15G后前面下载完成的也没有上传。现在我把所有下载文件取消删除后再用aria2下载也不能上传了,这个问题怎么解决。

    1. Rat's
      @nop

      计量是按照单个下载任务来算的,一般只要完全下载完,而不是卡在做种阶段,一般都会自动上传,你的问题还是看看Aria2运行日志吧。

  41. 空灵心梦

    我发现这个脚本如果下载的是一个文件夹会直接上传失败……我用的是vultr的vps,系统是Debian 8 x64 (jessie)。是系统的问题吗……

    1. 空灵心梦
      @空灵心梦

      重新建了一个.sh文件不知为啥就都一切正常了,谢谢大佬的解答拉

  42. 空灵心梦

    我发现删掉代码里判断是否传完的那个语句之后比较大的文件会上传失败……应该是没传完就被删掉了……不删掉那段代码又会有vps文件不会自动删除的问题……求大佬完善下这一小块的代码

    1. Rat's
      @空灵心梦

      判断的目的就是不想上传失败后,连文件都被删了。你说的文件不会自动删除,我这没遇到啊。

  43. 空灵心梦

    不知道为啥上传成功之后不会自动删除vps里的文件,我把那个判定条件给删掉了就可以了,不知道会不会有什么影响……

    1. Rat's
      @空灵心梦

      不影响,只是上传失败也会删。

  44. null

    你好 请问你知道这是什么问题吗
    上传的时候出现 Could not retrieve an upload session for 'WMSUB926[1080P].mp4' in ''
    账号已经认证成功了
    谢谢!

    1. Rat's
      @null

      有没有试过多传一次看看?

  45. 小明

    博主请问一下,设置好后,下载一些小文件,如一张图片,一个软件,就可以自动上传到网盘,但是电影都不行,BT 下载完后,里面的图片已经 TXT 文档之类可以上传成功,但是电影本身就不行。于是我用手动上传,却可以。百思不得其解,不知博主可知什么原因?

    1. Rat's
      @小明

      这个问题是挺奇怪,不过具体情况未知,自动上传的时候,Aria2日志看了没?

  46. 灯火阑珊

    点击左侧菜单栏中的Azure Active Directorg 提示我无权限访问此页面

    1. Rat's
      @灯火阑珊

      说明权限不够吧。

  47. Xen

    不知道是上传的问题还是Aria 2下载的问题,onindex里的电影总是缺几秒,碰到就卡住不能播放了,在线或是下载下来都这样,所以怀疑可能是上传或者Aria 2的问题?

    1. Xen
      @Xen

      可能是我把上传的线程数改成了5,我改回来试试

      1. Rat's
        @Xen

        这个多折腾下。

        1. Xen
          @Rat's

          试了试确实线程5有点高了 上传容易出问题 改到3正常

          1. Rat's
            @Xen

            改线程方法之前没提就是怕别个瞎改出问题。

  48. pipi

    运行命令onedrive -a,登陆账号时出错:
    Sorry, but we’re having trouble signing you in.
    AADSTS50011: The reply url specified in the request does not match the reply urls configured for the application: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx'.

    1. Rat's
      @pipi

      用的非个人版?用的内置应用参数?复制进去的地址是包括localhost的整个地址?基本上注意这三个就没多大问题。

      1. pipi
        @Rat's

        商务版,用的是自己设置的参数,按照你的文章和萌咖的文章设置了好几次都不行

        1. Rat's
          @pipi

          那就不清楚了,可能该脚本不适合你当前的onedrive

  49. zard

    请问有什么能查看上传状态的方法吗?5GB的文件传了一下午没传上去,但是我看文件名和之前成功上传的没什么区别,试了下手动上传能看到百分比

    1. Rat's
      @zard

      你把线程数改高点看看。

  50. ooo
    onedrive '/root/1.txt'

    An error has occurred while uploading '/root/1.txt' (Code: 000)

    onedrive -l

    什么也没显示
    重装了3遍,应该都不行
    环境是宝塔lnmp

    1. Rat's
      @ooo

      用的默认的参数?

      1. ooo
        @Rat's

        自己的参数

        1. Rat's
          @ooo

          用默认的,自己的参数容易出问题,所以我才内置了一个可用参数。

          1. ooo
            @Rat's

            已解决。Thinks

  51. 扬帆大海

    奇怪了,为什么下载后不自动上传呢。
    也复制了脚本,也chmod +x了,配置也写了,aria2也重启了。。
    目前表现是,文件下完后,也进已完成了,文件还在不自动删除,也不上传。

    1. Rat's
      @扬帆大海

      手动可以上传么?顺便看看Aria2日志。

      1. 扬帆大海
        @Rat's

        我还在rcloneupload.sh,第一行插入了其他命令语句,我发现下载完成后rcloneupload.sh确实已经被运行了,我插入的命令也执行了,但是到“#!/bin/bash”这里就GG了、如果删了#!/bin/bash,那就是提示一堆错误

      2. 扬帆大海
        @Rat's

        上传脚本文件是在的,chmod +x /root/rcloneupload.sh也运行了,权限也给了。。

      3. 扬帆大海
        @Rat's

        奇怪的就是,OneDrive命令手动是可以用的,一切正常。
        aria2日志的提示是【Could not execute user command: /root/rcloneupload.sh: No such file or directory】
        我手动运行/root/rcloneupload.sh他会提示【/bin/bash^M: 解释器错误: 没有那个文件或目录】

        1. Rat's
          @扬帆大海

          好像是格式问题,你是在电脑上编辑的脚本?看下这个教程,然后自己处理下,https://www.moerats.com/archives/225/。

          1. 扬帆大海
            @Rat's

            好啦,谢谢解答,辛苦了

  52. rua!

    上传的目录带有空格时只会上传至空格之前的目录,如设置上传至"From VPS"则会上传至“From”

    1. Rat's
      @rua!

      用双引号,比如 "From VPS"

  53. 寂寞烟斗
    onedrive '/www/wwwroot/master.zip'

    显示An error has occurred while uploading '/www/wwwroot/master.zip' (Code: 000)

    1. Rat's
      @寂寞烟斗

      用的是内置的应用参数?或者你去/www/wwwroot文件夹上传试试

  54. Jon

    怎么没法正常上传的呢,已经修改权限,重启aria2

    1. Rat's
      @Jon

      你手动上传试试,如果可以传,那自动一般是没给脚本授权或者没有重启Aria2

  55. 咕咕咕

    大佬请问,这个onedrive脚本装完后直接改aria2的自动上传代码就好了嘛?我现在aria2下载的文件在vps能看到,但是没有上传到onedrive里啊,需要改什么把他们整合在一起吗?

    1. Rat's
      @咕咕咕

      加可执行权限,重启Aria2。

  56. qwer121

    onedrive.cfg 这个文件在哪里呢?

    1. qwer121
      @qwer121

      额。看到了。。
      但是修改之后需要重新启动下吗?

      1. Rat's
        @qwer121

        不需要,不过重启下也没多大关系。

  57. qwer121

    上传速度比较慢如何解决?如何多线程上传呢?

    1. Rat's
      @qwer121

      找到onedrive.cfg,修改threads线程数,默认2。

  58. 咕咕咕

    onedrive -a,将返回的网址复制到浏览器打开后,出现localhostlocalhost 拒绝了我们的连接请求。这怎么破啊

    1. Rat's
      @咕咕咕

      正常,你只需要把地址栏链接复制到ssh客户端就行了。

      1. 使魔大人
        @Rat's

        你好,我发现软件给我的连接后缀是local的连接,和您上文中结尾的网址不同,打开软件给的软件会出现打不开链接的问题

        1. Rat's
          @使魔大人

          脚本修改过,现在是出现的localhost地址,是正常的,复制到ssh客户端就行了。

          1. 使魔大人
            @Rat's

            可以了,谢谢

  59. 咕咕咕

    大佬请问为什么上传出现An error has occurred while uploading '/root/aria2.sh' (Code: 000)啊......随便上传测试一下结果不能用啊

    1. Rat's
      @咕咕咕

      要么api抽风,要么你配置有点问题,你重新配置下试试

  60. ZLOE

    怎么回事?
    curl: /usr/local/openssl/lib/libssl.so.1.0.0: no version information available (required by /usr/local/lib/libcurl.so.4)
    curl: /usr/local/openssl/lib/libssl.so.1.0.0: no version information available (required by /usr/local/lib/libcurl.so.4)
    curl: /usr/local/openssl/lib/libssl.so.1.0.0: no version information available (required by /usr/local/lib/libcurl.so.4)
    curl: /usr/local/openssl/lib/libcrypto.so.1.0.0: no version information available (required by /usr/local/lib/libcurl.so.4)

    1. Rat's
      @ZLOE

      ubuntu吗?这个问题你要是能换系统的话,就建议你换系统重来。

      1. ZLOE
        @Rat's

        可怕呀 我的两个网站都因为弄这个蹦了 搞了一天才恢复 这个也成功上车 感谢老哥

  61. vps快报

    好文-转载到我的网站先

    1. Rat's
      @vps快报

      好的,留出处就行了。

  62. ldy

    希望个人版也可以使用

    1. Rat's
      @ldy

      那就看微软了,不过一般不可能。

  63. kbrx93

    怎么总是 something went wrong 用的内置参数。之前成功过,现在同样步骤,换账号也没用, api 抽风了?

    1. mo
      @kbrx93

      返回链接后不能先敲回车,填完再敲

    2. Rat's
      @kbrx93

      微软抽风了。

  64. Jacob

    可以更换绑定的Onedrive账号吗?装了

    1. Rat's
      @Jacob

      这个我倒没试过,按理说可以换,你直接删掉/usr/local/etc/OneDrive文件夹。然后安装脚本再绑定吧。

      1. 扬帆大海
        @Rat's

        我测试是重新OneDrive-a一次就行,就绑定新的了

  65. kenshin

    如果只是要上传OD什么方法最好?我系统debian9

    1. Rat's
      @kenshin

      目前来说,我觉得这个最好,rclone会掉文件,还有其它上传或多或少总会有点小问题。

  66. anadano

    不想上传完自动删除的话,直接注释掉rm -rf那一行可以吗

    1. anadano
      @anadano

      试了一下,要注释掉
      if [[ $? == '0' ]]; then

      rm -rf "$FileLoad";

      fi
      整个块

      1. Rat's
        @anadano

        你很聪明。

        1. anadano
          @Rat's

          hhh,还有如果用filerun之类的程序管理服务器本地的文件的话,建议把这句改成chmod -R 777 "$FileLoad";否则php没有权限删除root用户运行的aria2创建的文件,这样改还有一个好处,上传完成之前filerun没有权限删除文件,避免出错,当然直接改整个下载目录的权限也OK。另外aria2必须要用root权限运行,我之前为了让php管理文件,是用www用户运行的aria2,结果脚本调用onedrive的时候会出错...这坑跳的.

          其他和脚本无关的坑
          lnmp脚本安装的php需要改nginx配置才能跨目录访问服务器文件
          oneindex好安装个xx,查了好多教程都说把文件上传就完,文档又没有,我还是参照https://github.com/WangNingkai/OLAINDEX的文档改了php配置才能运行的
          还有就是CentOS7不要用逗比的aria2脚本,会直接没法运行,自己yum装一个手动配置吧

          1. Rat's
            @anadano

            码这么多字辛苦了,应该有人会看到,感觉你踩了不少的坑。

            1. anadano
              @Rat's

              多谢博主和萌咖大佬
              我以前就是遇到问题就去翻评论,要是有人和我踩一个坑就知道怎么办了

              1. Rat's
                @anadano

                多看评论可以避免踩很多坑,以后希望大佬多在我教程下提些建议,可以让更白的小白避免踩坑。

                1. anadano
                  @Rat's

                  你才是大佬,我是小小白

                  话说我昨天下了一个20g的资源,今天下了一个90g的资源,这两个都没有上传
                  就是整个文件夹虽然大,但文件多,每个都没有超过15g的
                  我看了下出现了
                  12/01 22:00:22 [NOTICE] Your share ratio was 0.6, uploaded/downloaded=56GiB/98GiB
                  /home/downloads/漫威宇宙10周年纪念2008-20181080P特效中英双字/BT@烧包-一个致力于分享精品影视的种子网站.url too large to spik.
                  这是最后几行
                  是不是判断文件大小的时候有什么问题啊

                  还有就是大佬知道手动上传文件夹的命令怎么用吗
                  上传文件夹c,c下面有一个c.txt
                  onedrive -f c
                  然后错误信息是
                  Please specify at least one file to upload
                  onedrive命令直接上传一个文件倒是没问题
                  是不是我写错了

                  1. Rat's
                    @anadano

                    判断的是下载的整个文件夹的,所以貌似你超过了15G,不过你可以去掉大小判断;后面的问题你加个路径看看,比如c/,或者/../c。

                    1. anadano
                      @Rat's

                      原来是onedrive-d floder

                      我的天这和文档写的不一样啊

                      还有命令是onedrive-d,中间没有空格...
                      一时间嗦不出话

                      1. Rat's
                        @anadano

                        没有空格,以我示范的教程为准,如果你不明白的话看看脚本文件就清楚了。

                        1. anadano
                          @Rat's

                          嗯嗯,试了一下已经成功了
                          多谢大佬

                    2. anadano
                      @Rat's

                      哦哦,那我直接在那个大小限制的数字后面加个0吧,删代码还怕出问题
                      但是那个命令我都试了,还是提示
                      Please specify at least one file to upload
                      我一会去萌咖大佬博客底下找找看

  67. kenshin

    手动上传,只能上传一点
    /usr/local/bin/onedrive-d: eval: line 45: syntax error near unexpected token )' /usr/local/bin/onedrive-d: eval: line 45: /usr/local/etc/OneDrive/onedrive -f 'downloads/24/apps/baidu_shurufa/1/Alan Walker - Faded' '07 Faded (Tiesto's Deep House Remix).flac''

    1. Rat's
      @kenshin

      这个问题还是建议换系统吧。

      1. kenshin
        @Rat's

        那怎么删除?不想换系统

        1. Rat's
          @kenshin

          rm -rf /usr/local/etc/OneDrive

  68. 小弟

    [root@izwz9a7gtmwgnxzoj6j3h7z admin]# wget --no-check-certificate -qO- "https://raw.githubusercontent.com/0oVicero0/OneDrive/master/OneDrive.sh" |bash
    [root@izwz9a7gtmwgnxzoj6j3h7z admin]# onedrive -abash: onedrive: command not found

    大佬 我这是什么原因呢 能帮帮我吗

    1. Rat's
      @小弟

      我猜你是遇到楼下所说的问题了,你找到/usr/local/etc/OneDrive文件夹,修改onedrive和onedrive-d脚本,在第二行都加上export PATH=/usr/local/bin:$PATH代码,再保存就行了。

      1. 小弟
        @Rat's

        [admin@izwz9a7gtmwgnxzoj6j3h7z ~]$ onedrive -a

        Please open the following URL in your browser and follow the steps until you see a blank page:
        https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=ea2b36f6-b8ad-40be-bc0f-e5e4a4a7d4fa&redirect_uri=http://localhost/onedrive-login

        When ready, please enter the value of the code parameter (from the URL you have been redirected) and press return
        *3wvdXdIAA
        /usr/local/etc/OneDrive/json-parser: line 188: cannot create temp file for here-document: No space left on device

        Something went wrong, here is the API response:
        *"}

        1. Rat's
          @小弟

          你的评论太长,给你缩短了,你使用df -h看看,硬盘是不是爆满了。

          1. 小弟
            @Rat's

            [admin@izwz9a7gtmwgnxzoj6j3h7z data]$ onedrive-d '444.txt'

            It does not seem to be authorized.

            Please open the following URL in your browser and follow the steps until you see a blank page:
            /usr/local/etc/OneDrive/onedrive-base: line 272: /usr/local/etc/OneDrive/.refresh_token.2607: Permission denied
            rm: cannot remove ‘/usr/local/etc/OneDrive/.refresh_token.2607’: No such file or directory

            It seems like we have a refresh token, so we are ready to go.

            大佬 都走了一遍 如何现在在上传文件 显示这个 文件也没上传

            1. Rat's
              @小弟

              这个貌似是权限不够,该问题还没遇到过,所以我也不是很清楚。

              1. 小弟
                @Rat's

                我设置了aria2的文件夹里的文件会被自动删除 但是没有上传到onedrive上(我现在也不知道它们跑哪里去了)

                如果切换成root的话[admin@izwz9a7gtmwgnxzoj6j3h7z data]$ sudo su root
                [root@izwz9a7gtmwgnxzoj6j3h7z data]# onedrive-d '444.txt'

                bash: onedrive-d: command not found
                [root@izwz9a7gtmwgnxzoj6j3h7z data]#
                又显示这个了 我也用root用户去
                找到/usr/local/etc/OneDrive文件夹,修改onedrive和onedrive-d脚本,在第二行都加上export PATH=/usr/local/bin:$PATH代码 再添加了这个
                但是
                [root@izwz9a7gtmwgnxzoj6j3h7z data]# onedrive-d '444.txt'
                bash: onedrive-d: command not found
                也是这样的的不行的话我重装系统再来一遍把

                1. Rat's
                  @小弟

                  换debian 9系统

      2. 小弟
        @Rat's

        我试试哈 谢谢大佬

  69. Nicky

    评论好多,我就没翻了,建议在脚本中最后加一条命令:export PATH=/usr/local/bin:$PATH 因为我发现好像有部分VPS中没有把/usr/local/bin加入到PATH目录中,而这个脚本就是在这个目录运行的

    1. Rat's
      @Nicky

      这问题貌似在CentOS系统会出现,我在后面说明下,然后让人手动添加吧。

  70. Chauncey

    大佬 你好 请问如何修改上传到onedrive的位置?我看教程中是上传到根目录,并没有说明如何到指定文件夹,这个可以实现吗?谢谢!

    1. Rat's
      @Chauncey

      可以,但上传的文件夹命名规则必须安装微软的要求来,所以说很蛋疼,你要是真想折腾,我就告诉你。

      1. Chauncey
        @Rat's

        对了大佬 是否可以完成上传后实现自动删除功能?要不VPS存储吃不消啊。。。

        1. Rat's
          @Chauncey

          Aria2上传脚本可以自动删除。

      2. Chauncey
        @Rat's

        麻烦大佬告知一下!谢谢!

        1. Rat's
          @Chauncey

          修改/usr/local/etc/OneDrive/onedrive.cfg配置文件,修改export api_root_folder参数,root是根目录,如果上传到文档目录,就改成export api_root_folder="special/documents",特殊文件夹名称参考这个https://docs.microsoft.com/zh-cn/onedrive/developer/rest-api/api/drive_get_specialfolder。

          1. Chauncey
            @Rat's

            抱歉。。疏忽了。。找到了!

          2. Chauncey
            @Rat's

            大佬,请问这个参数export api_root_folder是需要新建吗?没找到呢

  71. 雁陎

    博主,请问世纪互联版的该如何操作呢

    1. Rat's
      @雁陎

      没用过世纪互联的,暂不清楚。

  72. 大雄

    API的方法稳还是第二种?第二种是要用rclone挂载吧

    1. Rat's
      @大雄

      这个最稳。

      1. 大雄
        @Rat's

        原来是一个整体方案啊,我太笨了。我用这个方法确实特殊的字符也能上传了,但速度只有2-3m/s,重启试了一次也一样,换成oneindex上传就可以飙到35m/s,这是被限制了?

        1. Rat's
          @大雄

          可以改onedrive.cfg配置文件,调整线程数,参数是threads,默认2线程。

  73. pink

    请问max-overall-upload-limit的参数会影响Aria2上传文件到onedrive时的速度吗?

    1. Rat's
      @pink

      影响不大,主要看你的服务器性能。想要快可以编辑/usr/local/etc/OneDrive/onedrive.cfg,修改threads线程数,默认2。

  74. 小曹

    可以了,换成默认的参数,虽然登录以后打不开网页,但是复制到ssh就可以了。

    1. Rat's
      @小曹

      网页打不开是正常的,你只需要复制浏览器地址就行了。

  75. 小曹

    AADSTS700016: Application with identifier 'f5d64b03-038a-4949-ad77-8f5' was not found in the directory 'ae474f59-7946-4b9b-95f7-**4a0e'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You may have sent your authentication request to the wrong tenant 确认过应用程序id没问题,但是运行以后打开网页登录就提示这个,是不是帐号本身有问题?

    1. Rat's
      @小曹

      默认的api是没问题的,你多试几次。

      1. 小曹
        @Rat's

        就是说多打开几次这个连接么。。

        1. Rat's
          @小曹

          多认证几次,清空下缓存。

          1. 小曹
            @Rat's

            换了个账号成功了,但是上传的时候失败···
            上传文件夹显示“Could not create folder 'root' in 'root'”
            上传文件显示“An error has occurred while uploading 'ZBench-CN.sh' (Code: 000)”

            1. 小曹
              @小曹

              用默认的参数会打不开网页。。

  76. chem

    请问带空格的文件夹中还有带空格的文件,这样的能上传吗

    1. Rat's
      @chem

      可以,我试过带十几个空格的,一样能自动上传。

  77. Lexo

    谢谢博主

  78. chem

    脚本怎么更新呀,重新安装吗

    1. Rat's
      @chem

      可以重新安装,也可以重新去Github下载onedrive-d脚本,替换下就可以了,脚本目录/usr/local/etc/OneDrive

  79. hbin

    用脚本文件夹依旧不能上传啊,试了很多次了。连手动上传文件夹都不行,执行后会出现这提示
    ./onedrive -f '/usr/local/caddy/www/aria2/Download/哥布林'
    Please specify at least one file to upload

    1. Rat's
      @hbin

      你把目录层数减少点看看。

      1. hbin
        @Rat's

        不行,都是这样的提示;单文件没问题,就文件夹不行
        我下载好的bt文件夹名称是这样的
        [Sakurato.sub]Goblin Slayer07[720P]

        1. Rat's
          @hbin

          手动上传命令更新了,你用onedrive-d '/root'试试,后面为文件夹,前面命令之间无空格。

          1. hbin
            @Rat's

            这样可以了耶
            不知道能不能应用在脚本上呢?

            1. Rat's
              @hbin

              脚本早就用的这个命令,只是文章里的手动没更新过来。

              1. hbin
                @Rat's

                那我见鬼了?!!

                1. Rat's
                  @hbin

                  原因查出来了,已修复Onedrive脚本,记得重新安装下。

                  1. hbin
                    @Rat's

                    已经能正常上传文件夹了,感谢博主和大佬

                  2. hbin
                    @Rat's

                    好的,

  80. jvc2020

    大佬 设置后不会上传 日志显示

    [#c6ba2f 0B/0B CN:1 DL:0B]

    FILE: http://pic1.win4000.com/wallpaper/2018-11-06/5be123c5133f8.jpg

    [#c6ba2f 0B/0B CN:1 DL:0B]
    [#c6ba2f 0B/1.1MiB(0%) CN:1 DL:59KiB ETA:19s]
    [#c6ba2f 128KiB/1.1MiB(10%) CN:1 DL:111KiB ETA:9s]
    [#c6ba2f 272KiB/1.1MiB(22%) CN:1 DL:126KiB ETA:7s]
    [#c6ba2f 464KiB/1.1MiB(38%) CN:1 DL:144KiB ETA:5s]
    [#c6ba2f 656KiB/1.1MiB(54%) CN:1 DL:157KiB ETA:3s]
    [#c6ba2f 864KiB/1.1MiB(72%) CN:1 DL:165KiB ETA:1s]
    [#c6ba2f 1.1MiB/1.1MiB(99%) CN:1 DL:190KiB]

    11/16 11:26:56 [NOTICE] Download complete: /root/Download/5be123c5133f8.jpg
    Could not execute user command: /root/.aria2/autoupload.sh: No such file or directory

    11/16 11:27:06 [NOTICE] Serialized session to '/root/.aria2/aria2.session' successfully.

    还有个问题
    手动上传 单文件能上传,输入命令行 上传文件夹里的文件 onedrive -f /root/moerats.txt 文件没传过来 直接在OneDrive里新建了root moerats.txt 两个目录

    1. Rat's
      @jvc2020

      第一个问题显示脚本不存在,看你填的路径对不对;至于第二个问题是之前用的修改的脚本,现在又用了原版,但文中的命令没更新过来,所以。

      1. jvc2020
        @Rat's

        chmod +x /root/.aria2/autoupload.sh
        echo "on-download-complete=/root/.aria2/autoupload.sh" >>/root/.aria2/aria2.conf

        重启Aria2

        service aria2 restart
        最后还是显示Could not execute user command: /root/.aria2/autoupload.sh: No such file or directory

        1. Rat's
          @jvc2020

          有没有新建那个上传脚本?在/root/.aria2文件夹

          1. jvc2020
            @Rat's

            有新建autoupload.sh,放在/root/.aria2文件夹里的

            1. Rat's
              @jvc2020

              那就不清楚了,你这个错误提示文件不存在。

  81. xenon

    小白想问下加了这个脚本就能自动上传了吗?还是说要算上文章结尾的代码才可以自动

    1. Rat's
      @xenon

      首先需要安装这个脚本,配置好,然后再用Aria2结合下面的自动上传脚本才能自动上传。

  82. 9527

    博主,手动可以上传,能不能和这个网址一起用
    https://www.moerats.com/archives/700/
    有没有什么顺序步骤会不会把之前的覆盖掉,那个上传脚本文件取名有没有要求 autoupload.sh和oneindexup.sh都可以吗

    1. Rat's
      @9527

      可以一起用,文件取名和存放目录都无所谓,你只要在aria2配置文件填写参数的时候,后面文件的路径要填对还有名称,比如你放在/hone文件夹,文件名为xx.sh,那你在aria2里填的就是on-download-complete=/home/xx.sh

  83. 王七

    这个脚本有些上传不了,什么时候升级?可不可以指定后缀名来过滤掉一些不想上传的文件?

    1. Rat's
      @王七

      这个排查核心脚本工作量很大,看萌咔大佬啥时候抽空搞完吧,估计快了。至于你提的,只能待定,目前主要先解决上传问题。

  84. chem

    大佬这个脚本还是存在文件夹名字有空格的情况下无法上传啊

    1. amtih
      @chem

      感觉除掉空格也不行

    2. Rat's
      @chem

      好的,萌咔大佬正在排查核心上传脚本的问题,近期升级。

      1. hbin
        @Rat's

        文件夾不能上傳的問題是解決了嗎?我今天下文件夾的bt還是沒進行上傳

        1. Rat's
          @hbin

          现在已经解决了,核心脚本判断空格的时候有点问题。

  85. 嘿嘿嘿!

    11/10 20:22:34 [NOTICE] Seeding is over.
    [#96079d SEED(0.0) CN:9 SD:3]

    11/10 20:22:34 [NOTICE] Download complete: /root/Download/猪猪字幕组860[MP4]

    11/10 20:22:34 [NOTICE] Your share ratio was 0.0, uploaded/downloaded=0B/258MiB
    Invalid item.

    老大帮看看是什么问题?bt下载完成上传显示无效项目?

    1. 嘿嘿嘿!
      @嘿嘿嘿!

      单文件下载完以后上传没问题,就bt下载带文件夹上传不了

      1. Rat's
        @嘿嘿嘿!

        文件夹名称是什么?说具体点才好检测

      2. Rat's
        @嘿嘿嘿!

        常规的文件夹应该没问题,近期会升级一下脚本。

  86. chen

    大佬这个脚本好像还是存在中文文件夹名中间有空格的情况下无法上传的问题

    1. Rat's
      @chen

      已解决。

  87. 文骞

    服务器重启后,上传文件显示No refresh token received from API. Please try again or re-authorize.
    从新授权后之前没上传完的还会继续上传吗?

    1. Rat's
      @文骞

      貌似不会,重启命令会断开。

  88. tywg

    使用./onedrive -f /root/*.txt上传,总是有一个文件不能上传

    1. Rat's
      @tywg

      不能上传的直接用全名传吧。

  89. kinavalon

    大佬,我用这个脚本,下载的是单个文件的时候能自动上传,但是下载的带文件夹的话,不管文件夹里面有几个文件,都不会自动上传

    1. Rat's
      @kinavalon

      文件夹名称有不有特殊符号?一般我测试是没问题的。

      1. kinavalon
        @Rat's

        测试了一下,下载了一个不带特殊符号的,还是不能自动上传

        1. Rat's
          @kinavalon

          这个就不清楚了,你看下aria2日志?

          1. kinavalon
            @Rat's

            看了,上传成功的会留下记录,upload xxx as xxxxx,但是没有上传的也找不到upload的记录

            1. Rat's
              @kinavalon

              那就不知道了。

      2. kinavalon
        @Rat's

        [ ]这个算么? 大部分都是带日文和这个

  90. idm

    今晚再次尝试,终于可以了,一切正常,非常感谢大佬的脚本,终于实现文件夹上传了。Google大法好!

    1. Rat's
      @idm

      解决好就行。

  91. idm

    大佬,我用的是这个https://github.com/weiyidu/OneDrive/blob/master/autoupload.sh,但是onedrive是按照你教程搞的

    1. Rat's
      @idm

      你发的这个根源是同一个,但是是修改我这个脚本的,所以上传脚本不兼容。

      1. idm
        @Rat's

        我是按照你的教程搞的one drive,为什么用不了你的脚本,我后来网上找的这个才会自动上传

        1. Rat's
          @idm

          我理解错了,我是可以用的。不知道你为啥用不了。

          1. idm
            @Rat's

            大佬可以帮我看看吗?我需要上传文件夹的功能

  92. 伊尹

    怎么把下载好的整个文件夹上传啊

    1. Rat's
      @伊尹

      这个上传脚本是可以上传文件夹的。

      1. 伊尹
        @Rat's

        我发现BT种子下载的文件夹带空格的话,就会上传失败但是会把下载的文件夹删除。

        1. Rat's
          @伊尹

          好的,明天修复该问题。

  93. idm

    大佬,脚本搞好了不会自动上传是怎么回事,用别的脚本都是正常,求大佬帮帮我

    1. Rat's
      @idm

      授权,重启aria 2都做了没?

      1. idm
        @Rat's

        都搞了,用别人的上传脚本都是OK的

        1. Rat's
          @idm

          别人的?话说这个上传脚本只适合这个文章,也就是说只能和这个文章的onefrive脚本一起用。

          1. idm
            @Rat's

            大佬方便加我QQ吗?帮我看看740120075

  94. 信仰

    这次修复是不是只要只要更新上传代码?

    1. Rat's
      @信仰

      onedrive脚本也要重新来,和之前不一样。

      1. yang
        @Rat's

        想问一下。同样的路径的相同文件可以做判断不重复上传吗?现在发现一个文件夹中上传的话,相同的文件还会重新上传一遍。有没有可能重复文件就跳过呢?

        1. Rat's
          @yang

          上传命令运行一次后,直接删掉文件夹?

          1. yang
            @Rat's

            我的意思是vps和onedrive相同路径下的文件重复上传到话。可以跳过吗?比如vps 有 a/b/test.txt文件。onedrive也有相同的a/b/test.txt。能不能在上传到时候已存在的文件可以跳过,不需要再重新上传一次。

            1. Rat's
              @yang

              这个没办法,上传命令只运行了一次,会不会是一个文件下了几次?

  95. 信仰
    Download Progress Summary as of Tue Oct 30 12:11:19 2018

    [#9d2c64 0B/9.7MiB(0%) CN:1 DL:0B]

    FILE: /usr/local/caddy/www/aria2/Download/WinSCP-5.13.4-Setup.exe

    [#9d2c64 0B/9.7MiB(0%) CN:1 DL:0B] [FileAlloc:#9d2c64 0B/9.7MiB(0%)]
    [#9d2c64 336KiB/9.7MiB(3%) CN:1 DL:333KiB ETA:28s]
    [#9d2c64 2.3MiB/9.7MiB(23%) CN:1 DL:1.1MiB ETA:6s]

    10/30 12:11:22 [NOTICE] Download complete: /usr/local/caddy/www/aria2/Download/WinSCP-5.13.4-Setup.exe
    Could not execute user command: /root/GDupload.sh: No such file or directory

    这上传错误啥意思?

    1. Rat's
      @信仰

      上传脚本不存在,或者没给root权限。

      1. 信仰
        @Rat's

        已解决,谢谢博主

  96. 1

    大佬。脚本是不是更新了。重新走了一遍流程安装了一遍,然后这次bt下载完后不会自动删除上传完的文件了。而且脚本好像和以前不一样了

    1. Rat's
      @1

      脚本和网上公开的的都不一样了,不过做了很多细节判断,刚刚改了下脚本参数,应该可以上传文件夹了?

  97. 幻想丶一下

    重新设置过后会删除了,应该是我操作不当的原因!感谢你的脚本!

    1. yang
      @幻想丶一下

      我刚刚测试也是删除不了文件,请问你是怎么设置的?

  98. 幻想丶一下

    你好,在用了29号更新的脚本后,下载完东西可以上传到oneindex,但是却不会自动删除VPS里的文件,请问是脚本的问题还是设置的问题?

    1. Rat's
      @幻想丶一下

      脚本应该是没问题的,只是强化了细节。

      1. yang
        @Rat's

        我是带有一层文件夹。可以正常上传。但是vps里文件没有删除。单个文件上传和删除正常。博主有遇到吗

        1. Rat's
          @yang

          已修改,你再试试文件夹能不能上传?

          1. yang
            @Rat's

            博主,刚刚测试。百度云下载一个文件,带一层文件夹。aria2下载完成之后,在下载目录中该文件是放在一个文件夹中的。文件夹和文件都能成功上传到onedrive,但是vps中aria2下载目录下,文件和文件夹都还在。没有删除掉。

            1. Rat's
              @yang

              你是用的我今天更新的脚本?这个理论上mv成功后,就会自动rm。

              1. 1
                @Rat's

                大佬,我也用的30号的脚本,和他的情况一样,种子,下好所有文件能上传,但是不会自动删除vps硬盘里的文件。

                1. Rat's
                  @1

                  脚本逻辑是没问题的,或者你把后面这行判断代码删掉if [[ $? == '0' ]]; then,就是不管上传成功与否,文件都给删掉。

  99. B.w

    大佬, 这个脚本下载单个文件上传onedrive没有问题, 用bt 下载的时候, onedrive里面没有文件, vps 里面下载完的文件也被删掉了. 这个应该是什么问题? 可以查log 吗? 需要去哪看log 呢?

    1. B.w
      @B.w

      补充下, 下载小文件没问题, 就是好像超过3g 的文件就上传不了?

      1. Rat's
        @B.w

        用的什么Aria2脚本?你可以查看Aria2日志

        1. B.w
          @Rat's

          就是教程里的逗比的aira2 脚本, aira2 日志应该要去哪里查看?

          1. Rat's
            @B.w

            这个运行一键脚本的时候善于观察,你直接运行他的脚本的时候,有查看日志选项。

            1. B.w
              @Rat's

              找到日志了. 貌似还没上传就被删掉了? 我现在把删文件那段注释掉再试试

              10/27 12:45:20 [NOTICE] Download complete: /download/屋顶探险家.Look.Up.2017.1080p.WEB-DL.X264.AAC.CHT-BTxiaba
              10/27 12:45:20 [NOTICE] Your share ratio was 2.3, uploaded/downloaded=4.3GiB/1.8GiB
              An error has occurred while uploading '/download/屋顶探险家.Look.Up.2017.1080p.WEB-DL.X264.AAC.CHT-BTxiaba' (File does not exist)

              1. B.w
                @B.w

                当BT下载只有一个文件夹,文件夹里只有一个文件,这个上传脚本就会出错了

                num=1
                path='/download/a/1.a'
                downloadpath='/download' #下载目录

                1. Rat's
                  @B.w

                  文章所有脚本已更新,你再看看。

                  1. B.w
                    @Rat's

                    自己改了下之前的脚本 现在上传没问题了,懒得再折腾了

                    1. Rat's
                      @B.w

                      可以试试现在这个脚本,加强版。

                      1. B.w
                        @Rat's

                        需要更新onedrive, 还是只需要换上传脚本就可以?
                        还有个问题, 输入框的狗年吉祥对手机很不友好, 把输入框都遮住了.

                        1. Rat's
                          @B.w

                          全部更新。

  100. nssanc

    [OK] SSL 证书生成脚本安装成功
    [Sun Oct 28 02:42:20 CST 2018] Standalone mode.
    [Sun Oct 28 02:42:21 CST 2018] Registering account
    [Sun Oct 28 02:42:22 CST 2018] Registered
    [Sun Oct 28 02:42:22 CST 2018] ACCOUNT_THUMBPRINT='RY4tuAQX0ce-xByOiRX4HSfPUw73QmqCRVa6-F00bV4'
    [Sun Oct 28 02:42:22 CST 2018] Creating domain key
    [Sun Oct 28 02:42:22 CST 2018] The domain key is here: /root/.acme.sh/120.78.80.232_ecc/120.78.80.232.key
    [Sun Oct 28 02:42:22 CST 2018] Single domain='120.78.80.232'
    [Sun Oct 28 02:42:22 CST 2018] Getting domain auth token for each domain
    [Sun Oct 28 02:42:22 CST 2018] Getting webroot for domain='120.78.80.232'
    [Sun Oct 28 02:42:22 CST 2018] Getting new-authz for domain='120.78.80.232'
    [Sun Oct 28 02:42:23 CST 2018] The new-authz request is ok.
    [Sun Oct 28 02:42:23 CST 2018] new-authz error: {"type":"urn:acme:error:malformed","detail":"Error creating new authz :: Issuance for IP addresses not supported","status": 400}
    [Sun Oct 28 02:42:23 CST 2018] Please add '--debug' or '--log' to check more details.
    [Sun Oct 28 02:42:23 CST 2018] See: https://github.com/Neilpang/acme.sh/wiki/How-to-debug-acme.sh
    [Error] SSL 证书生成失败
    大佬。这个怎么解决啊,阿里云的只有公网ip

    1. nssanc
      @nssanc

      Aria2+Aria2Ng+OneIndex一键安装脚本,下载后自动上传至OneDrive
      是这篇文章里的

      1. nssanc
        @nssanc

        看着提示不支持ip地址的能不能跳过这个ssl证书安装啊,谢谢大佬了

        1. Rat's
          @nssanc

          IP不支持签发SSL证书,可以跳过,但需要修改脚本,不过一个域名不贵啊,两三块钱一年。

          1. B.w
            @Rat's

            试了下 拿掉删除文件的部分还是出现同样的错误,好像是脚本把文件夹路径当成了文件上传,所以找不到文件?大佬能不能看下脚本会不会有这个问题?

            1. Rat's
              @B.w

              脚本全部更新了,你再看看?

  101. 小小

    按照步骤操作已经提示了It seems like we have a refresh token, so we are ready to go
    上传还报错
    [root@centos-s-1vcpu-1gb-blr1-01 OneDrive]# ./onedrive /root/moerats.txt

    An error has occurred while uploading '/root/moerats.txt' (Code: 000)

    1. Rat's
      @小小

      你测试上传的时候有moerats.txt这个文件?

      1. 小小
        @Rat's

        有的,上传其他文件也失败

        1. Rat's
          @小小

          这个问题,我只在这三个参数Client ID、Secret、Reply URL有误的情况下出现过,我提供的应该没啥问题,你先检查下,有空我自己测试下。

  102. cilone

    博主你好,能不能在自动上传脚本里添加个命令,上传完成后执行更新PyOne的缓存呢?应该怎么添加?

    1. Rat's
      @cilone

      添加到上传命令后面,比如/usr/local/etc/OneDrive/onedrive "$1"的下面一排。

  103. web

    大佬,如果做到上传文件夹自己文件夹里面的文件?

    1. Rat's
      @web

      什么意思。

      1. web
        @Rat's

        不好意思,有错别字。
        怎么做到上传文件夹以及文件夹里面的文件到OneDrive上面?

  104. 123

    大佬,我在装了 LEDE 的路由上上传文件失败,显示

    xargs: unrecognized option: P
    BusyBox v1.29.2 () multi-call binary.

    Usage: xargs [OPTIONS] [PROG ARGS]

    Run PROG on every item given by stdin

    -p Ask user whether to run each command -r Don't run command if input is empty -0 Input is separated by NUL characters -t Print the command on stderr before execution -e[STR] STR stops input processing -n N Pass no more than N args to PROG -s N Pass command line of no more than N bytes -x Exit if size is exceeded

    请问这是啥意思。

    1. Rat's
      @123

      这个问题不是很清楚。

      1. 123
        @Rat's

        解决了,把 onedrive 文件里的 -P${max_upload_threads} 删掉就行。

  105. wzb

    日志如下:
    10/11 16:48:43 [NOTICE] Download complete: /home/aria2/1/w7144.pdf
    An error has occurred while uploading '/home/aria2/1' (File does not exist)
    由于是小文件,还没来得及上传就被rm掉了有什么好的解决办法吗

    1. Rat's
      @wzb

      你可以编辑下脚本,把删除命令放在上传命令后面试试。

  106. wzb

    多任务下载的时候自动上传脚本会不会把正在下载的.aria2文件或者已经下好但是还没上传的文件rm掉...我最大同时下载数10,下载100个文件最终在onedrive上只有56个文件,而且还有些没下完的.aria2文件

    1. Rat's
      @wzb

      这个我还没怎么注意。

  107. jjc

    老板这个同时开多个上传吗

    1. Rat's
      @jjc

      应该可以,多开几个窗口试试。

  108. eq65we46qw4e5

    手动上传是没有问题的 脚本改了 路径 #!/bin/bash
    num="$2"
    path="$3"
    downloadpath='/aaa' #下载目录

    if [ $num -eq 0 ]

    then exit 0

    然后airia2 conf 里也写了

    bt-save-metadata=true

    on-download-complete=/root/autoupload.sh
    为什么就是不上传呢

    1. Rat's
      @eq65we46qw4e5

      有没有用root给可执行权限。

  109. eq65we46qw4e5

    这个需要RC 挂载么

    1. Rat's
      @eq65we46qw4e5

      不需要挂载,就是个上传脚本而已。

  110. eweqweqw

    复制这段新建 然后保存 修改路径 然后赋予权限然后重启 为什么不自动上传呢

    1. Rat's
      @eweqweqw

      aria2配置参数设置了没?

      1. eq65we46qw4e5
        @Rat's

        配置了 默认路径都是/aaa

  111. eweqweqw

    所以说 这个具体要怎么写呢 自动上传脚本....而且手动上传是根目录 OneIndex 读不到

    1. Rat's
      @eweqweqw

      方法参考链接给你了,OneIndex是可以读取网盘根目录的。

  112. klfgf

    你好 aria2上传代码 是不是只需要修改下载目录就可以 上面两个不用改吧? 上传提示Could not execute user command: /root/.aria2/onedrive.sh: No such file or directory 文件确定是存在的

    1. Rat's
      @klfgf

      首先新建一个上传脚本文件,下载目录设置成aria2下载目录,再到aria2配置文件里添加上传参数,最后授权脚本可执行权限。

  113. 一起走吧

    请问这个脚本创建在哪个目录下面啊 downloadpath这个参数是不是aria的下载目录

    1. Rat's
      @一起走吧

      对,就是指的下载目录。

  114. lin

    VJmSptRZciy8d2q_iWRMwoiTXWuBjhRPKE866X06Sl-KjZzbGixZXWhWvfVJSAA

    It seems like we have a refresh token, so we are ready to go.

    [root@dm1 OneDrive]# ./onedrive -l
    [root@dm1 OneDrive]# ./onedrive -l
    [root@dm1 OneDrive]# ls
    json-parser onedrive onedrive-authorize onedrive-base onedrive-d onedrive.cfg
    [root@dm1 OneDrive]# touch 2.txt
    [root@dm1 OneDrive]# ./onedrive -f 2.txt
    Could not create folder '2.txt' in ''
    为啥还是不能上传呢

    1. Rat's
      @lin

      建议使用默认参数,如果你用的默认参数,那就检查下你认证程序填的code看看。

  115. stone5

    大佬 你好,我想用aria2自动上传文件到onedrive的根目录下的文件夹中,上传代码要怎么样修改?谢谢

    1. Rat's
      @stone5

      编辑/usr/local/etc/OneDrive/onedrive.cfg配置文件,修改参数export api_root_folder=”root”,root就是指根目录,不过修改的文件夹名称有规定,你可以参考这个:https://docs.microsoft.com/zh-cn/onedrive/developer/rest-api/api/drive_get_specialfolder。

      1. 一起走吧
        @Rat's

        我用的是本文的这种方法,想把文件传到子文件夹应该怎么做?是修改脚本里面的参数吗

        1. Rat's
          @一起走吧

          对,步骤已经给你了,子文件夹命名需要规范。

  116. 小志

    为啥就是自动不上传呢?手动上传可以

    1. Rat's
      @小志

      检查下Aria2配置问题,还有上传脚本授权,脚本我测试是没问题的,再不行你可以换系统试试。

      1. 小志
        @Rat's

        直接能调用第三个上传脚本用?
        还是先把挂载弄上?
        还有第三个脚本出了目录还有别的参数要修改吗

        1. Rat's
          @小志

          你用的是oneindex?用这个不需要挂载,可以参考https://www.moerats.com/archives/482/设置上传脚本,上传代码用本文的,最后记得重启Aria2。

  117. starixk

    bash 错误/root/.aria2/oneindexup.sh: line 5: [: -eq: unary operator expected
    ./onedrive 可正常上传
    更改为双等号也提示错误
    /root/.aria2/oneindexup.sh: line 5: [: ==: unary operator expected

    环境 LNMP。python2.6,centos6.10 宝塔面板

    1. cilone
      @starixk

      有点明白了,这个脚本不能手动执行,$2、$3参数是aria2传过来的,我的可以自动上传了。

      1. Rat's
        @cilone

        还是得大佬自己研究才行。

    2. cilone
      @starixk

      同此问题,请问如何解决了?

    3. Rat's
      @starixk

      你直接用我那个一键脚本吧https://www.moerats.com/archives/693/。

      1. starixk
        @Rat's

        难受。。。我主机有网络环境的。。。而且还是centos

        1. Rat's
          @starixk

          没事,我那个脚本2分钟就安装好了,很快。

          1. starixk
            @Rat's

            郁闷的是,用你那个脚本安装的话,之前的网站啊之类的需要我重新配置一遍。。。感觉超级麻烦唉。。。

            1. Rat's
              @starixk

              脚本需要纯净的系统,也就是没安装过web环境的系统,不然会有冲突。

              1. starixk
                @Rat's

                我还是好奇这个bash 错误/root/.aria2/oneindexup.sh: line 5: [: -eq: unary operator expected
                这个错误为啥会出现

                1. Rat's
                  @starixk

                  你可以理解成语法的问题。百度很多,你可以自己看看,基本就是改单双等号,或加中括号解决。

  118. 小志

    已经认证成功但是上传就提示
    An error has occurred while uploading '/root/autoupload.sh' (Code: 000)

    1. Rat's
      @小志

      这个好像使用自己创建的应用会出现的问题,如果是的,你就用我给的默认参数。

  119. 小志

    downloadpath='/home' #下载目录
    这个必须加目录必须加HOMe吗

    1. Rat's
      @小志

      可以不用是,这里只做个例子,不过最好是一级目录,目录名随意。

  120. John

    发现,用aria下载BT的时候,会一下多无用的文件图片之类的,然后就没法自动上传了,而直接下一个https://xxx.xxx.com.ddd.mp4之类的,就可以自动上传

  121. John

    我的Directory Lister站是a.xxx.com,然后在a.xxx.com下挂载了Onedrive, onedrive指定的文件夹/share,发现这个自动上传是直接传到onedrive根目录的,可以直接传到我指定的Share文件夹吗,这样又可以在线观看下载了

    1. Rat's
      @John

      指定目录是有规定的,不是想传哪个文件夹就哪个,所以我一般没说明,直接根目录。

      1. John
        @Rat's

        嗯嗯,谢博主!我其他目录有私人文件,想做个共享站来着,都转移了,放根目录了

        1. Rat's
          @John

          如果用的oneindex的话,是可以给文件夹加密的。

          1. John
            @Rat's

            嗯嗯,了解那个了,不过是在我部署好之后,懒得搞了,对了博主你这个https://down.moerats.com资源站用的什么?

            1. John
              @John

              Directory Lister吗?

              1. Rat's
                @John

                对的,教程在博客自行搜索。

  122. John

    感谢!搞定自动上传问题了!

    1. 小志
      @John

      怎么搞定的我的怎么不上传

  123. AA

    ./onedrive /root/1.txt
    An error has occurred while uploading '/root/1.txt' (Code: 000)

    一直这个错误

    1. Rat's
      @AA

      你用的自己申请的参数?

      1. AA
        @Rat's

        是的,跟教程里完全一样啊,密钥也没有出现+号,为什么呢。

        1. Rat's
          @AA

          出现+几率是随机的,你直接用默认的参数,我就是看见很多新申请的API有问题,就留了个默认的。

  124. 布丁

    我想问下 就是这个支持免费申请的edu 5T onedrive不 不会是要全局管理员帐号吧

    1. Rat's
      @布丁

      不要管理员账号,非个人账号就行。

  125. AA

    安装脚本没反应!
    wget --no-check-certificate -q -O /tmp/OneDrive.sh "https://raw.githubusercontent.com/iiiiiii1/OneDrive/master/OneDrive.sh" && chmod +x /tmp/OneDrive.sh && bash /tmp/OneDrive.sh

    1. Rat's
      @AA

      是这样的。

  126. CC

    报错
    /root/.aria2/oneindexup.sh: line 5: [: -eq: unary operator expected
    大佬求解答

    1. CC
      @CC

      一键脚本报错,./onedrive手动上传正常

      1. Rat's
        @CC

        脚本在我这测试正常的,你可以把脚本里的 -eq 改成 ==双等号。

  127. Adee

    怎么直接把文件夹内所有文件上传到ONEDRIVE呢?

    1. Rat's
      @Adee

      好像不能直接,要么手动,要么用for写个脚本。

  128. L

    登录
    抱歉,登录时遇到问题。

    AADSTS90014: The request body must contain the following parameter: 'client_id'.

    1. Rat's
      @L

      你重新下载脚本,就在前2到3分钟我修复了下脚本,使用rm -rf /usr/local/etc/OneDrive/*删除下。

  129. Quarter

    上传显示错误为 Previous code: 000,一直上传失败,看不懂错误是什么,请大佬指教

    1. Rat's
      @Quarter

      用的是脚本提供的参数还是自己的?

      1. Quarter
        @Rat's

        aria2.sh 脚本的log日志显示的是这个错,自己直接 onedrive -d /root/test,也是报这个错,看不懂这个错在哪里

        1. Rat's
          @Quarter

          抱歉,之前脚本里有个路径填错了,现在修复了,你重新下载脚本吧。

  130. 君柯

    好麻烦,头好大,为了小姐姐不值得。。。

    1. Rat's
      @君柯

      参数都已经提供了,就不麻烦了。

  131. KK

    没有权限

    1. Rat's
      @KK

      具体哪里没权限。

      1. KK
        @Rat's

        打开最后那个onedrive -a页面,就提示返回或者使用管理员账号。

        1. Rat's
          @KK

          这不需要管理员账号的,你重新安装脚本再试试,我修改了点东西。

          1. KK
            @Rat's

            Something went wrong, here is the API response:

            我已经把+改成了%2B

            1. Rat's
              @KK

              就用脚本默认的参数吧。

              1. KK
                @Rat's

                /usr/local/etc/OneDrive/onedrive-authorize: line 14: curl: command not found Something went wrong, here is the API response

                同样的问题,然后发现教程中少了一步,应该安装curl,然后解决了

                1. Rat's
                  @KK

                  这个失误,我测试的时候都自带curl就没太注意这个,这个是验证API必需的。

                  1. KK
                    @Rat's

                    博主,这个脚本是不是上传完了不自动删除?

                    1. Rat's
                      @KK

                      自动删除。

                      1. HG
                        @Rat's

                        改+跟不改都返回 Something went wrong 泪奔。。。

                        1. Rat's
                          @HG

                          这个就不是很清楚了,大概是细节问题,可以重来一次。

                          1. Donald
                            @Rat's

                            配置完成,也提示It seems like we have a refresh token, so we are ready to go.
                            但是上传的时候提示:No refresh token received from API. Please try again or re-authorize.
                            重新authorize也没用。
                            这是咋回事?

                            1. Rat's
                              @Donald

                              感觉你的api有问题,多安装几次看看。

                              1. Donald
                                @Rat's

                                我最后用了Vicer的app ID就好了。。。

                                1. Rat's
                                  @Donald

                                  开头我就说了,用自己的可能会出错。

                                  1. jj
                                    @Rat's

                                    dalao我debian9curl 已经是最新版 (7.52.1-5+deb9u8) 运行你的脚本就没反映了脚本下下来bash 的时候就提示
                                    OneDrive.sh:行2: $'r': 未找到命令

                                    1. Rat's
                                      @jj

                                      这个脚本运行的时候是没反应的,你后面说的错误是格式不对,一般出现在在win电脑上编辑后,再放到linux上运行的情况。