Rat's

一个好用的OneDrive网盘上传工具,支持文件和文件夹上传
说明:博主很久前分享过使用Shell写的OneDrive网盘上传工具→传送门,不过由于使用的是旧API,而微软使旧...
扫描右侧二维码阅读全文
28
2019/11

一个好用的OneDrive网盘上传工具,支持文件和文件夹上传

说明:博主很久前分享过使用Shell写的OneDrive网盘上传工具→传送门,不过由于使用的是旧API,而微软使旧API强制过时,也就是强制不让用了,不让授权了,导致全部人无法使用,所以在外搬砖多日的萌咖大佬重新出山,使用Golang基于新的API写了个效率更高的上传工具,同时也修复了各种Shell版本遗留下来的小问题,该版本特点就是授权简单,无需依赖,单文件。同样的也可以配合Aria2一起自动上传,这里就再分享下,方便下有需求的人。

更新

【2019.12.21】
 支持跳过网盘中已存在的同名文件。

【2019.12.20】
目前同时支持国际版、个人版(家庭版)、中国版(世纪互联)。

【2019.12.15】
修复授权失败、上传文件大小为0等问题。
现已支持arm、x86、x64平台的系统。

【2019.11.29】
新增多线程上传、MacOS客户端。
修复了一个致命bug,建议之前装过的更新下程序。

功能

  • 支持上传文件和文件夹到指定目录,并保持上传前的目录结构。
  • 支持命令参数使用,方便外部程序调用。
  • 支持自定义上传分块大小。
  • 支持多线程上传(多文件同时上传)。
  • 支持根据文件大小动态调整重试次数,对抗不好的网络环境。

使用

Github地址:https://github.com/MoeClub/OneList/tree/master/OneDriveUploader

这里只详细说下Linux的用法,Windows后面大概说下。

WindowsMacOS系统下载地址→传送门,直接将程序下载到本地后,按照下面方法进行授权、初始化,然后就可以使用命令上传了。

1、授权认证
点击右侧URL登录并授权,授权地址→【国际版、个人版(家庭版)】、【中国版(世纪互联)】。

授权后会获取一个localhost开头打不开的链接,这里复制好整个链接地址,包括localhost

2、安装OneDriveUploader

#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

3、初始化配置

#国际版,将url换成你上面复制的授权地址,包括http://loaclhost。
OneDriveUploader -a "url"

#个人版(家庭版),将url换成你上面复制的授权地址,包括http://loaclhost。
OneDriveUploader -ms -a "url"

#中国版(世纪互联),将url换成你上面复制的授权地址,包括http://loaclhost。
OneDriveUploader -cn -a "url"

如果提示Init config file: /path/to/file/auth.json类似信息,则初始化成功。

4、使用命令

Usage of OneDriveUploader:
  -a string
        // 初始化授权
        Setup and Init auth.json.
  -b string
        // 自定义上传分块大小, 可以提高网络吞吐量, 受限于磁盘性能和网络速度.
        Set block size. [Unit: M; 5<=b<=60;] (default "10")
  -c string
        // 配置文件路径
        Config file. (default "auth.json")
  -n string
        // 上传单个文件时,在网盘中重命名
        Rename file on upload to remote.
  -r string
        // 上传到网盘中的某个目录, 默认: 根目录
        Upload to reomte path.
  -s string
        // *必要参数, 要上传的文件或文件夹
        Upload item.
  -t string
        // 线程数, 同时上传文件的个数. 默认: 2
        Set thread num. (default "2")
  -f
        // 开关(推荐)
        // 加上 -f 参数,强制读取 auth.json 中的块大小配置和多线程配置.
        // 不加 -f 参数, 每次覆盖保存当前使用参数到 auth.json 配置文件中.
        Force Read config form config file. [BlockSize, ThreadNum]
  -skip
        // 开关
        // 跳过上传网盘中已存在的同名文件. (默认不跳过)
        Skip exist file on remote.
  -cn
        // 开关
        // 授权中国版(世纪互联), 需要此参数.
        OneDrive by 21Vianet.
  -ms
        // 开关
        // 授权个人版(家庭版), 需要此参数.
        OneDrive by Microsoft.

5、命令示例

#将当前目录下的mm00.jpg文件上传到OneDrive网盘根目录
OneDriveUploader -c /path/to/file/auth.json -s "mm00.jpg"

#将当前目录下的mm00.jpg文件上传到OneDrive网盘根目录,并改名为mm01.jpg
OneDriveUploader -c /path/to/file/auth.json -s "mm00.jpg" -n "mm01.jpg"

#将当前目录下的Download文件夹上传到OneDrive网盘根目录
OneDriveUploader -c /path/to/file/auth.json -s "Download" 

#将当前目录下的Download文件夹上传到OneDrive网盘Test目录中
OneDriveUploader -c /path/to/file/auth.json -s "Download" -r "Test"

#将同目录下的Download文件夹上传到OneDriv网盘Test目录中,使用10线程
OneDriveUploader -c /path/to/file/auth.json -t 10 -s "Download" -r "Test"

#将同目录下的Download文件夹上传到OneDrive网盘Test目录中,使用15线程,并设置分块大小为20M
OneDriveUploader -c /path/to/file/auth.json -t 15 -b 20 -s "Download" -r "Test"

/path/to/file/auth.json为初始化时,生成的auth.json绝对路径地址,本文默认/root/auth.json,自行调整。

注意:如果你之前上传手动中断过,再上传的时候,请使用-skip参数,默认会跳过你已经上传过的文件/文件夹。

Aria2自动上传

同样的这里也会提供个配套的Aria2自动上传脚本,上传配置方法参考→传送门

上传脚本代码如下:

#!/bin/bash

GID="$1";
FileNum="$2";
File="$3";
MaxSize="15728640";
Thread="3";  #默认3线程,自行修改,服务器配置不好的话,不建议太多
Block="20";  #默认分块20m,自行修改
RemoteDIR="";  #上传到Onedrive的路径,默认为根目录,如果要上传到MOERATS目录,""里面请填成MOERATS
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;

编辑好上传脚本后,可以检测下脚本编码是否正确,比如我脚本路径为/root/upload.sh,使用命令:

bash /root/upload.sh

如果无任何输出,则正确,反之输出类似$'r': command not found错误,则需要转换下编码格式,具体步骤如下。

先安装dos2unix

#CentOS系统
yum install dos2unix -y

#Debian/Ubuntu系统
apt install dos2unix -y

再转换编码:

#后面为脚本路径
dos2unix /root/upload.sh

Windows使用

这里就随便补充下Windows使用,先下载程序文件,下载地址→传送门

比如我将exe文件放到D盘,然后使用Win+R,输入CMD运行,调出窗口后,使用命令:

#进入D盘
cd /d D:\

#国际版初始化,将url换成你上面复制的授权地址,包括http://loaclhost。
OneDriveUploader.exe -a "url"

#个人版(家庭版)初始化,将url换成你上面复制的授权地址,包括http://loaclhost。
OneDriveUploader.exe -ms -a "url"

#中国版(世纪互联)初始化,将url换成你上面复制的授权地址,包括http://loaclhost。
OneDriveUploader.exe -cn -a "url"

然后上传命令和上面一样,只需要把OneDriveUploader改成OneDriveUploader.exe即可。

最后经测试,该版本的上传已经完全能应对各种稀奇古怪的字符问题,如果有问题可以回复下,贴上报错代码,方便修复。

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2020 年 03 月 28 日 12 : 13 AM

发表评论 取消回复

323 条评论

  1. horizon

    博主你好,我的onedriveuplpader已经配置调试好了,编码也没问题。但是aria2在下载完以后他就是不会自动上传,文件也还保留在vps里面。我调取了aria2的日志,里面也只有下载完成的记录,没有任何调取脚本上传的记录。请问这是什么情况。

    1. Rat's
      @horizon

      上传脚本权限,aria2配置文件,改配置后重启aria2都做了没?

      1. horizon
        @Rat's

        都做过了。权限已经给到了,自动脚本文件也都配置了。aria2和服务器都重启过,但就是不自动上传。

        1. Rat's
          @horizon

          编码正确?是的话,那就不清楚了

  2. zero

    我上传H.265编码的视频文件会损坏,有人说是H.265文件不能分片上传,我把默认分块改成很大也不可以,注释掉也不可以,有什么办法可以破吗

    1. Rat's
      @zero

      应该都可以分片,分片上传并不会改变文件,损坏是看不了还是?

  3. 小黑

    Error: Get token [400 Bad Request]
    Error, Get access token.
    换了个号,新的错误,哎

    1. Rat's
      @小黑

      再换个看看

  4. NK

    执行后有 Init config file: /root/auth.json. 提示,但是目录下并没有配置文件,咋整

    1. Rat's
      @NK

      /root目录没有吗?没有的话,再试试初始化一次

      1. NK
        @Rat's

        全删了,重新装了一遍没问题了,谢谢

  5. a117ly

    Error Session: 429 请问这个要怎么解决?那个授权网址好像也挂了

    1. 小黑
      @a117ly

      今天也出现了 Error Session: 429 ,不知道咋回事

      1. Rat's
        @小黑

        好像是Session超时,不能用的话,重新授权看看

        1. 小黑
          @Rat's

          https://a1od-my.sharepoint.com/_layouts/15/Throttle.htm#2052 您请求的页面暂时不可用。对由此给您造成的不便,我们深表歉意,请几分钟后再返回查看。

        2. 小黑
          @Rat's

          网页版onedrive打不开,提示列表错误

          1. error 429
            @小黑

            api出问题了?换了另外的od账号授权后,一旦上传就马上出现429,网页版也会跳到throttle.html

          2. warer
            @小黑

            这个情况应该是被限制了,重新授权也一直会出现400 bad request的情况,网页跟app端都不可以进行上传操作,只能下载。可能需要换号

  6. 叹气

    root@asus:~#./OneDriveUploader -c auth.json -s docker-install.sh
    Error Session: 400 Bad Request
    Upload fail: /root/docker-install.sh

    Error Session: 400 Bad Request
    Upload fail: /root/docker-install.sh

    Fail Task: [1]

    1: /root/docker-install.sh
    Time: 4s

    1. 叹气
      @叹气

      有生成

      root@asus:~# ./OneDriveUploader -a http://localhost/onedrive-login?code=Mb6c4775d-4e78-216f-****-XXXXXXXXXXX Code: Mb6c4775d-4e78-216f-6733-db9f1ca65431 Init config file: `/root/auth.json`.
  7. 大神好

    认证出现错误了。
    Error: Get token [400 Bad Request]
    请老大解决

    1. Rat's
      @大神好

      api的问题,你先换个号认证下,还不行我就试试

      1. 大神好
        @Rat's

        搞定了,谢谢大神

  8. 木木

    另外,上传过程,出现429是什么问题?

    1. Rat's
      @木木

      说你请求太多,挂了

  9. 木木

    512加了swap,但上传期间,传着传着就爆了

  10. 小白

    不能上传的问题解决了,重新安装aria2就好了。大佬 有没有什么办法可以提高OneDrive打开的速度

  11. 小白

    大佬OneDriveUploader使用命令可以把文件上传到OneDrive,可是ariang下载完aria2不能自动上传是咋回事,aria2也添加了on-download-complete=/root/upload.sh

    1. Rat's
      @小白

      权限给了么?还有bash /root/upload.sh运行这个命令报错不

      1. 小白
        @Rat's

        权限都给了 ,bash /rot/upload.sh也没有报错, 会不会是是aria2的问题

        1. Rat's
          @小白

          这个就需要看aria2运行日志了,一般是aria2.log,找找看

  12. shuizhinong

    Error: Get token [400 Bad Request]怎么解决

    1. Rat's
      @shuizhinong

      api抽风还是啥来着

  13. Lemoon

    想问一下windows系统aria2下载完成怎么自动上传,Oracle的机子dd不回linux了

    1. Rat's
      @Lemoon

      应该和linux方法差不多,下载完成后都可以调用一个脚本,不过我没咋研究win的

  14. a117ly

    (Main:1/2) HD.5.1-FGT.mkv: [1/2677 | 0% | Time: 218s | Remain: 583368s]
    上传大文件会一直这样进度没有变化,然后内存占用很多被杀掉

    1. Rat's
      @a117ly

      加点swap看看

      1. a117ly
        @Rat's

        查了一下,好像是因为onedrive business还是限制了15G上传,分卷压缩之后就没问题了

        1. Rat's
          @a117ly

          对,目前好像最大15G ,不知道100G啥时候支持

  15. liang

    几MB的文件都不能自动上传到OneDrive,而是保存在了vps,如果只是几十kb就可以上传。请问大佬有没有遇到过这个问题?

    1. liang
      @liang

      似乎找到问题,因为我的vps带宽太小,导致文件要传好久才能传完……

  16. a117ly

    请问这是为什么?已经给过权限了
    Your share ratio was 0.0, uploaded/downloaded=0.9MiB/2.0GiB
    Could not execute user command: /root/rcloneupload.sh: Permission denied

    1. Rat's
      @a117ly

      好像还是权限不够,你检查下看看

      1. a117ly
        @Rat's

        权限没问题了但又报错了
        fatal error: runtime: out of memory 请问该怎么解决

        1. Rat's
          @a117ly

          有种内存不够的感觉,如果真不够,就加点swap看看

  17. 123

    初始化授权Error: Get token [400 Bad Request]

  18. cy

    root@ip-172-31-6-136:~# OneDriveUploader -c /root/auth.json -s "/usr/local/Download/1.txt"
    Error Session: 429
    Upload fail: /usr/local/Download/1.txt

    Error Session: 429
    Upload fail: /usr/local/Download/1.txt

    Fail Task: [1]

    1: /usr/local/Download/1.txt
    Time: 1s

    出现Error Session: 429 错误请问怎么解决?文件大小不到1KB,并没有频繁上传。

    1. Rat's
      @cy

      这个好像是被限制了

      1. cy
        @Rat's

        请问我怎么能改变ua呢?同一时间我用rclone就没有问题,所以我觉得我的onedrive账号应该没问题,或许是onedrive针对onedriveuploader施加了限制

        1. Rat's
          @cy

          有ua,看是不是程序本身上传太暴力了

  19. David

    初始化到成功,但是上传文件就提示 400

    1. Rat's
      @David

      有配置文件生成么?

      1. 渣渣琪
        @Rat's

        我也是同样的问题,文中提到的文件都有生成,求解答

        1. Rat's
          @渣渣琪

          我刚试了下,貌似一切正常,你多授权一次看看

  20. 蓝惠

    3、初始化配置

    国际版,将url换成你上面复制的授权地址,包括http://loaclhost。

    OneDriveUploader -a "url"
    提示
    bash: /usr/local/bin/OneDriveUploader: 无法执行二进制文件
    [root@ti0171a401-0260 ~]#

  21. 渡鸦12345

    raw.githubusercontent.com 这个地址404啦,得上github下

    1. Rat's
      @渡鸦12345

      试了个,好像没问题

      1. 渡鸦12345
        @Rat's

        现在我这边也可以了,可能是昨天我下的时候有什么问题吧

  22. MaxhyTV

    用谷歌云安装出现很多问题,不过最终还是解决了;用起来还是不错的,感谢

  23. 山雨

    每次上传1G以上的文件会提示 Error Session: 429,不过好像并不影响因为每次提示但是都上传成功了,还有一个错误是Upload fail: x:1.txt这样的就上传失败,怎么回事?有没有解决的方法或者让它上传失败的时候重试上传?

    1. 山雨
      @山雨

      又一个问题就是命令是OneDriveUploader -skip -s "文件",每次都会重新上传不会跳过已有文件,-skip加在后面也不管用,是目录名字不能是中文还是哪里的问题?谢谢

    2. 山雨
      @山雨

      忘了说一下是win系统,都是每次手动上传,没开过自动上传

  24. 干你妹

    onedrive账号、密码忘记了,只有accesstoken和refleshtoken两个参数,可以自动上传到onedrive吗?OneDriveUploader支持直接使用accesstoken和refleshtoken吗?

  25. hello

    把aria2下载路径下的文件夹全部上传怎么弄,脚本只会上传单一文件,不会上传文件夹

    1. Rat's
      @hello

      额,这个逻辑是可以上传文件夹,文件夹里面全部文件下载完成后就可以上传,你有aria2下载文件夹下载完成后的上传日志吗?

      1. hello
        @Rat's

        大佬,日志格式已改成txt文件格式,麻烦看下,多谢。下载地址:https://www.lanzous.com/iaoq5di
        对了,可以麻烦大佬在你的内容中加入转换格式dos2unix以及测试脚本运行状况bash aria2upload.sh吗?我的问题就出在这两个上,多谢大佬

        1. Rat's
          @hello

          好的,我加个提示吧

  26. 嘻嘻

    厉害特来,感谢

  27. fanchao

    使用命令上传大文件大概6gb显示成功,但是网盘里看不到,小一点的可以看见

  28. WANG

    按照教程操作成功,有个问题是,aria2下载视频一直在100%不结束,不结束也就不会自动上传,有说调整比率、做种时间,还是一样,请问有没有办法解决

    1. Rat's
      @WANG

      好像一般100%就是做种啥的,关闭做种也一样?

      1. WANG
        @Rat's

        不知道哪里关闭,到100%了有时候很快就完成了,有时候等一天都不结束

        1. Rat's
          @WANG

          修改配置文件就行,aria2.conf,参考我发的这篇文章https://www.moerats.com/archives/800/,修改后记得重启aria2

  29. 可以设置上传后自动删除吗

    1. Rat's
      @王

      默认的脚本不能自动删么

  30. GayRun

    啊啊啊,一直提示400 Bad Request

    1. Rat's
      @GayRun

      看是不是被限制还是啥的

  31. debu9

    博主,请问一下,路由器内的linux环境不支持吗?执行所有版本的onedriveuploader都会提示
    OneDriveUploader: line 1: syntax error: unexpected word (expecting ")")

  32. zhs


    说一下我踩的坑吧,希望博主看到之后能改一下原文。

    没有给脚本加权限,到此下载完成之后aria2是去尝试运行脚本,但是因为没有权限失败了,这是我看了日记发现的
    2.博主脚本LocalDIR的变量和aria2NG(/root/Download/)默认下载位置不相符,这就导致了直接复制粘贴的同学脚本无法使用

    好了,雷基本上都排完了。

    1. Rat's
      @zhs

      权限那个其实给的传送门就提到了。

      1. zhs
        @Rat's

        啊,这样吗~

  33. Lingki

    用的你的PyOne Debian一建安装脚本装的Pyone和Aria2,然后自己配置了Aria2开启Web面板,再装了这上传脚本,全都配置好了,手动上传没问题。但是文件下载后并没有自动上传。。。而且Aria2日志我没法现在哪里23333

    1. Rat's
      @Lingki

      又是编码问题么?你手动执行下脚本,命令示例:bash xx.sh

      1. Lingki
        @Rat's

        bash rcloneupload.sh
        rcloneupload.sh: line 2: $'r': command not found
        rcloneupload.sh: line 3: $'r': command not found
        rcloneupload.sh: line 4: $'r': command not found
        rcloneupload.sh: line 5: $'r': command not found
        rcloneupload.sh: line 6: $'r': command not found
        rcloneupload.sh: line 13: $'r': command not found
        rcloneupload.sh: line 14: $'r': command not found
        rcloneupload.sh: line 19: syntax error near unexpected token `$'{r''
        'cloneupload.sh: line 19: `function LoadFile(){

        1. Rat's
          @Lingki

          这是编码问题了
          1、安装dos2unix
          Centos:yum install dos2unix -y
          Debian/Ubuntu:apt install dos2unix -y
          2、转换格式,后面脚本路径
          dos2unix /root/xx.sh

  34. 丁小磊

    你好,请问一下,使用Aria2上传脚本,设置Aria2的下载路径为/home/Aria2/Downloads/,脚本会将Downloads文件夹一起删掉,请问应该怎么修改?刚开始研究linux,不太懂。谢谢。

    1. Rat's
      @丁小磊

      我还没注意,你先把这段代码删掉
      if [[ $? == '0' ]]; then

      rm -rf "${FileLoad}";

      fi
      然后自己手动删除下下载文件。

  35. Leo

    Init config file: /root/auth.json`.
    [root@a35655 ~]# Usage of OneDriveUploader:
    -bash: Usage: command not found

    大佬,这个怎么弄啊

    1. Rat's
      @Leo

      把第4步跳过,只是教你怎么使用参数,不是直接复制运行的

      1. Leo
        @Rat's

        大佬,上传速度只有200kb,这个能解决吗

  36. Mos

    请问同一个账户可以对多台VPS授权吗?

    1. Rat's
      @Mos

      这个你可以试试

      1. Mos
        @Rat's

        亲测可行

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

      额,自动上传吗?你先手动删下,原因不知道

  38. 111

    请问我的电脑是64位的 但是软件提示我说不兼容 (软件说是支持64位系统呀)
    “OneDriveUploader.exe 与你运行的 Windows 版本不兼容。请查看计算机的系统信息,然后联系软件发布者。”
    这是提示的内容 请指教是什么原因

  39. REUS

    博主!这个换上这个脚本之后有会报这个错误

    /root/.aria2/OneIndexupload.sh: 1: /root/.aria2/OneIndexupload.sh: #!/bin/bash: not found /root/.aria2/OneIndexupload.sh: 15: /root/.aria2/OneIndexupload.sh: [[: not found /root/.aria2/OneIndexupload.sh: 16: /root/.aria2/OneIndexupload.sh: [[: not found /root/.aria2/OneIndexupload.sh: 17: /root/.aria2/OneIndexupload.sh: [[: not found /root/.aria2/OneIndexupload.sh: 19: /root/.aria2/OneIndexupload.sh: Syntax error: "(" unexpected

    这是什么问题呢QAq

    1. Rat's
      @REUS

      看是不是编码问题,使用dos2unix转换下

      1. REUS
        @Rat's

        对,我先是在电脑上新建了个txt再改过去的,用vi直接写就好了
        话说博主,你的下载站里的luna出处是哪里呀

        1. Rat's
          @REUS

          我到处找的图片

  40. ZYong

    不知道为什么,配置完以后手动上传正常,却不会自动上传,log里也只有02/29 00:46:21 [NOTICE] IPv4 RPC: listening on TCP port 6800
    这一条,aria2重启过无效,我把服务器重启过也是不行

    1. Rat's
      @ZYong

      日志往下面拉应该还可以看到其它日志

      1. ZYong
        @Rat's

        我发现了他不是不上传,而是只会上传下载根目录的文件,遇到文件夹就不上传了

  41. zhs

    如何查看上传进度呢?文件很大,总感觉上传失败了

    1. Rat's
      @zhs

      自动上传吗?是的话,可以看aria2日志文件

  42. youlikesoilove

    如果能支持跳过指定文件后缀就好了

    1. youlikesoilove
      @youlikesoilove

      这样的话、可以配合官方百度网盘使用、带后缀名downloading可以过滤掉

      1. Rat's
        @youlikesoilove

        跳过后缀其实可以自己写个脚本,过滤下

  43. haisengbug

    您好,aria2架设好后,并将自动上传至OneDrive的脚本加入aria2.conf里。成功了一次下载后自动上传。第二次使用发现没有自动上传。我用的doub的aria2一健脚本。

    1. haisengbug
      @haisengbug

      aria2.log在下次连接SSH查看后也没有日志记录。自动上传总是不定期失效。

      1. Rat's
        @haisengbug

        日志一般都有aria.log,往下面拉。

        1. haisengbug
          @Rat's

          aria2.log文件看了,有日志了。谢谢。目前脚本执行正常。

  44. Cathy

    请问授权的时候400错误该怎么解决?Error: Get token [400 Bad Request]

    1. Rat's
      @Cathy

      重新授权看看

  45. 100plus

    大神好,小白请教一个问题:那个命令“-c /path/to/file/auth.json -s”里面"/path/to/file/"怎么填写文件路径?例如在D盘的Data文件夹,怎样填写?谢谢!

    1. Rat's
      @100plus

      大致上这么写: D:#Data#auth.json,#为反斜线,评论输入法有问题

  46. chen

    随便注册的那种5t版本是国际版吗?还是要选择家庭版?

    1. Rat's
      @chen

      随便注册的好像是国际版

  47. 筑楼人

    win端出现了这个错误

    panic: runtime error: invalid memory address or nil pointer dereference

    [signal 0xc0000005 code=0x0 addr=0x0 pc=0x6563e8]

    goroutine 1 [running]:
    main.SessionCreate(0xc0006ec240, 0x3b, 0xc0003fbf00, 0x0)

    C:/main.go:172 +0x2b8

    main.PreLoad(0xc0003fbf00, 0x77, 0xc00000c380, 0x1a, 0x0, 0x0, 0xf)

    C:/main.go:330 +0xbe

    main.Task(0xc0007d8000, 0x41a5, 0x48aa, 0x919a20, 0x6f4a61, 0x4)

    C:/main.go:500 +0x16e

    main.main()

    C:/main.go:701 +0x369

    I:BaiduNetdiskDownload施工组织设计大全汇总其它1>

  48. chen

    运行OneDriveUploader -skip

    却提示Error, Not file to upload.
    好像我命令都用不了

    1. chen
      @chen

      初始化命令提示
      Error: Get token [400 Bad Request]

  49. eski

    怎么解决上传大于15g文件的限制?

    1. Rat's
      @eski

      等微软解决,貌似马上会提高上限到100G还是啥来着

  50. 萌萌

    手动测试上传没问题,aria2下载后自动上传没反应,上传脚本里aria2下载路径后加了/,其他全是默认按照教程来的,aria2配置最后一行也加了那句话,权限给的都是777,求大佬指点

    1. 萌萌
      @萌萌

      用的olaindex

      1. Rat's
        @萌萌

        你直接运行脚本看看,bash /root/update.sh这种,有报错么?

        1. 萌萌
          @Rat's

          [root@iz5cxm24jbw5rbz ~]# bash /root/.aria2/up.sh
          /root/.aria2/up.sh: line 2: $'r': command not found
          /root/.aria2/up.sh: line 3: $'r': command not found
          /root/.aria2/up.sh: line 4: $'r': command not found
          /root/.aria2/up.sh: line 5: $'r': command not found
          /root/.aria2/up.sh: line 6: $'r': command not found
          /root/.aria2/up.sh: line 13: $'r': command not found
          /root/.aria2/up.sh: line 14: $'r': command not found
          /root/.aria2/up.sh: line 19: syntax error near unexpected token `$'{r''
          'root/.aria2/up.sh: line 19: `function LoadFile(){
          [root@iz5cxm24jbw5rbz ~]#

          1. 萌萌
            @萌萌

            [root@iz5cxm24jbw5rbz ~]# bash /root/.aria2/up.sh
            /root/.aria2/up.sh: line 2: $'r': command not found
            /root/.aria2/up.sh: line 3: $'r': command not found
            /root/.aria2/up.sh: line 4: $'r': command not found
            /root/.aria2/up.sh: line 5: $'r': command not found
            /root/.aria2/up.sh: line 6: $'r': command not found
            /root/.aria2/up.sh: line 13: $'r': command not found
            /root/.aria2/up.sh: line 14: $'r': command not found
            /root/.aria2/up.sh: line 19: syntax error near unexpected token `$'{r''
            'root/.aria2/up.sh: line 19: `function LoadFile(){
            [root@iz5cxm24jbw5rbz ~]# sed -i 's/r//' /root/.aria2/up.sh
            [root@iz5cxm24jbw5rbz ~]# bash /root/.aria2/up.sh
            [root@iz5cxm24jbw5rbz ~]#

            1. 44
              @萌萌

              如何解决的

              1. Rat's
                @44

                1、安装dos2unix
                Centos:yum install dos2unix -y
                Debian/Ubuntu:apt install dos2unix -y
                2、转换格式,后面脚本路径
                dos2unix /root/xx.sh

                1. 44
                  @Rat's

                  谢谢老哥 解决了

            2. 萌萌
              @萌萌

              解决了,谢谢大佬!

              1. katriyda
                @萌萌

                遇到同样问题,终于解决了

  51. Wan_xi

    这个可以同时添加两个账号吗,一个个人版一个国际版

    1. Rat's
      @Wan_xi

      可以,用的时候,把配置文件调对就行

      1. Wan_xi
        @Rat's

        能不能帮忙看一下这段是什么意思,我看不太懂代码,运行脚本的时候到这就结束了
        if [[ -z $(echo "$FileNum" |grep -o '[0-9]*' |head -n1) ]]; then FileNum='0'; fi
        ++ echo ''
        ++ grep -o '[0-9]*'
        ++ head -n1

        [[ -z '' ]]FileNum=0[[ "$FileNum" -le '0' ]]; then exit 0; fi[[ 0 -le 0 ]]exit 0
        1. Rat's
          @Wan_xi

          这些是判断aria2有没有参数传进来,没有就退出。

          1. Wan_xi
            @Rat's

            那是哪里出了问题呀,下载完后不会自动上传,手动运行就是这种情况。使用OnedriveUploader命令可以正常使用。

  52. 芜湖~

    Could not execute user command: /root/UPUP.sh: No such file or directory
    博主,这种情况怎么解决。目录中是有这个SH文件的。手动上传命令可以正常使用。

    1. Rat's
      @芜湖~

      看是不是编码问题,先操作一下看看
      1、安装dos2unix
      Centos:yum install dos2unix -y
      Debian/Ubuntu:apt install dos2unix -y
      2、转换格式
      dos2unix /root/UPUP.sh

  53. 七彩皮皮林
    该评论仅登录用户及评论双方可见
    1. Rat's
      @七彩皮皮林

      估计是微软临时抽风了

  54. 老斯机

    请问博主,我在一台pandorabox12.09系统的机器上使用:OneDriveUploader -a "我的授权",授权的网址在命令行里贴不全,甚至把这个命令弄成一个sh脚本执行也是不全,最后得到的回应是:Error: No respone from Microsoft. 请问这个怎么破?

    1. Rat's
      @老斯机

      估计是微软临时抽风了

      1. 老斯机
        @Rat's

        用win生成的同网盘auth文件也不行。。。真是没办法了。

      2. 老斯机
        @Rat's

        我借用别的机器生成的auth.json把RefreshToken换成自己生成的,好像也不行

      3. 老斯机
        @Rat's

        好吧,我只是奇怪我的代码粘贴不全是不是有问题,我再试试吧

  55. kisscwz

    用aria2+oneindex的自动上传文件下载完就没了,用这个自动上传一点反应的偶没,手动上传倒是可以,但是为什么会连着Download文件夹一起传上去了。。

    1. Rat's
      @kisscwz

      不能自动上传是你的脚本编码问题,是连带本身一起传

      1. kisscwz
        @Rat's

        不行啊,转了还是没用,我为了防止服务器问题还换了个服务器再装一遍试了一下完全没动静,手动依然可以

        1. Rat's
          @kisscwz

          额,看下aria2日志看看

          1. kisscwz
            @Rat's

            对了大佬有没有什么方式可以对下载的压缩文件先解压再上传的呢?

            1. Rat's
              @kisscwz

              方法肯定有的,目前我想的的是,下载完成后,单个文件直接截取文件后缀,文件夹就扫描那个文件夹,截取全部文件后缀,筛选指定的后缀,解压后,再调用上传命令。

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

              解决好了就行,只要过点细都是没啥问题的。

        2. kisscwz
          @kisscwz

          而且为了防止账号问题我网盘也换的新的什么文件都没用,在我手动上传以前没用出现一个文件

  56. kisscwz

    大佬aria2自动上传没反应啊
    直接bash rcloneupload.sh就会返回下面这些
    rcloneupload.sh: line 2: $'r': command not found
    rcloneupload.sh: line 3: $'r': command not found
    rcloneupload.sh: line 4: $'r': command not found
    rcloneupload.sh: line 5: $'r': command not found
    rcloneupload.sh: line 6: $'r': command not found
    rcloneupload.sh: line 13: $'r': command not found
    rcloneupload.sh: line 14: $'r': command not found
    rcloneupload.sh: line 19: syntax error near unexpected token `$'{r''
    'cloneupload.sh: line 19: `function LoadFile(){

    用OneDriveUploader -c 手动上传没问题

    1. Rat's
      @kisscwz

      应该是编码有问题,从win编辑的传到linux可能会出现,用dos2unix转换下,用法可以百度下。

  57. 新生

    大佬,aria2的配置地址改为ipv6的呀

  58. David

    用了下,感觉还行
    容易出现no respome from microsoft,一旦出现就退出,不带重试
    上传1188个文件,手动重试了6次才搞定

  59. kylis

    发现尴尬了,似乎配置出错,这个脚本的卸载方法是?

    1. Rat's
      @kylis

      删掉二进制文件就行了,rm -rf /usr/local/bin/OneDriveUploader

  60. neko酱

    大佬,这个golang版完美解决了之前shell版特殊字符上传出错的问题,但是aria2自动上传功能有点小问题,它把aria2的整个下载目录都传上去了,有些还没下完的也传上去了。哎,一言难尽啊!

    1. Rat's
      @neko酱

      额,我没过多测试,这个脚本是之前那个shell改过来的,以为没得问题

  61. neko酱

    windows系统要怎么写aria2的bat/powershell自动上传脚本?
    我尝试用win版的busybox执行楼主写的bash脚本,但是失败了。

    1. Rat's
      @neko酱

      win的还没试过

  62. oxmosama

    Error Session: 400 Bad Request手动上传出现这个

    1. Rat's
      @oxmosama

      这个好像是授权失败,重新授权看看

  63. Lonely

    能不能上传完删除.aria2文件和删除任务就删除对应的下载文件

    1. Rat's
      @Lonely

      .aria2文件好像可以通过修改配置文件后,不产生该类型文件。

      1. Lonely
        @Rat's

        // 20200110175252
        // https://jker-my.sharepoint.com/personal/cloud_jker_onmicrosoft_com/_layouts/15/download.aspx?UniqueId=780de0e0-e839-4b0f-8f21-0885e11176b8&Translate=false&tempauth=eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJhdWQiOiIwMDAwMDAwMy0wMDAwLTBmZjEtY2UwMC0wMDAwMDAwMDAwMDAvamtlci1teS5zaGFyZXBvaW50LmNvbUA5YjhlZWQ3Mi0xMGJlLTQ5NmQtYmFmNS0yODg5NTg2MDM5N2EiLCJpc3MiOiIwMDAwMDAwMy0wMDAwLTBmZjEtY2UwMC0wMDAwMDAwMDAwMDAiLCJuYmYiOiIxNTc4NjQ5OTUxIiwiZXhwIjoiMTU3ODY1MzU1MSIsImVuZHBvaW50dXJsIjoiQU5MWmMrUjlXR21jV1hFR1dYZTVDUzFBeTdtSkZUaVc2UzRNL2tHek5odz0iLCJlbmRwb2ludHVybExlbmd0aCI6IjE1NCIsImlzbG9vcGJhY2siOiJUcnVlIiwiY2lkIjoiWldNek9UUXpZelF0TVdZell5MDBaVFE0TFRnMllXTXRZakV6TWpjeU1HSTJaRFV5IiwidmVyIjoiaGFzaGVkcHJvb2Z0b2tlbiIsInNpdGVpZCI6IlpUZzFaVFkwWlRNdE5UUTROUzAwWVRZNUxUazNOemt0WkRaaU5HVXhOR1V3Wm1NdyIsImFwcF9kaXNwbGF5bmFtZSI6Im9uZWluZGV4IiwiZ2l2ZW5fbmFtZSI6IuW7uiIsImZhbWlseV9uYW1lIjoi5YiYIiwiYXBwaWQiOiJmZTVhN2YxZC1hZDJiLTQ5Y2MtOGY0NC1jMDI1ODY2YTNhOWIiLCJ0aWQiOiI5YjhlZWQ3Mi0xMGJlLTQ5NmQtYmFmNS0yODg5NTg2MDM5N2EiLCJ1cG4iOiJjbG91ZEBqa2VyLm9ubWljcm9zb2Z0LmNvbSIsInB1aWQiOiIxMDAzMjAwMDk0MkM4MkY3IiwiY2FjaGVrZXkiOiIwaC5mfG1lbWJlcnNoaXB8MTAwMzIwMDA5NDJjODJmN0BsaXZlLmNvbSIsInNjcCI6ImFsbGZpbGVzLndyaXRlIiwidHQiOiIyIiwidXNlUGVyc2lzdGVudENvb2tpZSI6bnVsbH0.R2lUaVpWVlpBT2tTRUtKMlRTUUZjV2VBK3VBVEJzTlhKSjJtNzYydVZ1TT0&ApiVersion=2.0

        {
        "error": {

        "code": "serviceNotAvailable", "message": "Service unavailable", "retryAfterSeconds": 30

        }
        }
        一直包这个错误,是我什么地方配置错了么
        博主,我最近

        1. Rat's
          @Lonely

          这个不太清楚

  64. Mr.Lin

    现在还不能上传大于15g的多文件吗?上传80g的文件夹会 杀死

    1. Rat's
      @Mr.Lin

      国际版的好像快支持大于15G的,具体不是很清楚

  65. Mr.Lin

    Error Session: 504 Gateway Timeout
    这样咋回事啊。。

    1. Rat's
      @Mr.Lin

      超时,看是不是网络不太好。

      1. Mr.Lin
        @Rat's

        上传大文件经常504

  66. 88pan

    连续用了一段时间,发现几个问题
    1.连续上传容易出现Error Session: 429,判断是api调用过频繁导致,微软建议加上合适的ua
    2.希望加入15G以上自动跳过的机制,一旦文件超过15G将报错
    3.经常性内存占用过大导致被kill

    1. Rat's
      @88pan

      1、第一个貌似已经加了 UA。
      2、可以自己改下配置文件,支持按文件大小过滤,马上微软就支持100G文件了。
      3、内存问题已经解决。

  67. 妄想症

    bash /root/rcloneupload.sh这个没有报错,权限给过重启后还是不行,手动上传依旧正常

  68. 妄想症

    大佬,这个脚本不会自动上传什么情况,手动上传没有问题,aria2.log找不到上传脚本的痕迹,看下了底下的评论,貌似还有几个人跟我遇到一样的问题了,求解决

  69. satuki

    博主,为什么我还是会得到Error: Get token [401 Unauthorized]呀,试过好多次了

    1. Rat's
      @satuki

      url只能用一次,还有版本记得选对。

      1. 啸天
        @Rat's

        我url重新获取几次了,也提示这个,本来上周已经配置好了,但是上传到OneDrive后服务器上面的文件还是没有删除,很奇怪

  70. 无双

    请问有qbittorrent用的脚本吗?下载完成自动运行外部脚本实现自动上传到OneDrive

    1. ookenhi
      @无双

      qbittorrent好写多了

      !/bin/bash

      file=$1
      if [ -d "$file" ];then
      echo "$file is a directory"
      rclone copy "$1" gd:/Downloads/"$2"
      elif [ -f "$file" ]; then
      echo "$file is a file"
      rclone copy "$1" gd:/Downloads
      fi

      1. Rat's
        @ookenhi

        qbittorrent这么简单?

    2. Rat's
      @无双

      qbittorrent我不咋用,之前看到个qBittorrent + Rclone自动上传脚本,教程:https://www.hostloc.com/thread-612238-1-1.html

      1. 无双
        @Rat's

        谢谢,我研究一下

  71. terry

    如果文件比较大,会把一个~tmp开头的文件上传上去,大小是0,真实的文件没有传,也没有删

    1. Rat's
      @terry

      这是onedrive的机制,先传~tmp那个文件,全部传完后,再自动命名,如果目前没有任务进行,可以删除~tmp,一般是失败残留的。

  72. 无聊的钢镚

    万分感谢博主的分享,这边已经大概搞定了自动上传
    现在还有个疑问 有没有指令可以看自己的上传至onedrive的进度?

    1. Rat's
      @无聊的钢镚

      看aria2.log这个文件?

      1. 无聊的钢镚
        @Rat's

        比如说我打开SSH手动执行上传命令,就会出现上传了百分之多少,文件很大时间很长的时候,有时就会关掉远程控制窗口,就没办法再查看上传进度了……
        博主您这个自动上传脚本,这边文件下载好之后,上传的进度没办法查看。这边有相关的命令可以查看吗?

        1. Rat's
          @无聊的钢镚

          试试screen命令?先创建一个窗口,screen -S OneDriveUploader,然后上传,到时候,关掉后,再返回这个窗口查看就行了。教程:https://www.moerats.com/archives/142/

  73. 小东

    大佬,请问怎样实现边上传边删除已经上传完的内容

    1. Rat's
      @小东

      文件倒是可以这样

      1. 小东
        @Rat's

        怎么操作

  74. 1

    找到问题了。授权传送门连接需要更新为https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=78d4dc35-7e46-42c6-9023-2d39314433a5&response_type=code&redirect_uri=http://localhost/onedrive-login&response_mode=query&scope=offline_access%20User.Read%20Files.ReadWrite.All

    1. Rat's
      @1

      更新的时候就准备改文章的,忘了

  75. 1

    执行到OneDriveUploader -a "${code}"的时候提示
    Error: Get token [401 Unauthorized]

  76. 无聊的钢镚

    大佬好,我想询问一下,我按照您博客里面之前的帖子搭建了olandex以及aria2和NG。
    这个帖子里面的两个脚本(OneDriveUploader和aria2上传)都需要安装吗?

    1. Rat's
      @无聊的钢镚

      没有安装aria2的话,就都要安装

      1. 无聊的钢镚
        @Rat's

        已经搞定了 十分感谢

      2. 无聊的钢镚
        @Rat's

        这边按照您底下回复的方式处理了下
        [root@iZj6cgvo77hbzftos4b8joZ admin]# echo "export PATH=/usr/local/bin:$PATH">>/etc/profile
        [root@iZj6cgvo77hbzftos4b8joZ admin]# source /etc/profile
        [root@iZj6cgvo77hbzftos4b8joZ admin]# echo $PATH
        /usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
        再次运行
        [root@iZj6cgvo77hbzftos4b8joZ admin]# OneDriveUploader -a "http://localhost/onedrive-login?code=OAQABAAIAAACQN9QBRU3jT6bcBQLZNUj7QBfqFHhEMwMTe4cAj0D72k5iq6elstIClgxe7FBC2VuQXKbMcH2uemtpObW5pZmx5qYroMoOeeBFUm1wZlwN40we31qL2stWC3j4uJ-_glOkLbpxbUhTnNHHsx5Y-NZRqKvjNlEJF8Kz4HyHADn0hftnjmapnrZlwtNrG4RCJValLYxhNN9sL5mPyw34KKKTWn37NRQIlMDVBuU1BRw4Ii7_LS25UVTpOJfPSdwbMcW0Tuxw7Pdz1rNyzyB04om9ODIeeBRto5BbZJFZy56ROX3CaYWwdM-MTvUdsz5Q6cuaHknW_zXPwhwbcw2Oefm7Nwyll_6jYVSwdM_DrFs3KGzttFxtH3S6OzwZvLUX69A4OIZkS4xW35mMjAyDoFCNhuPiaakcwPSoF9OwUOBDQ_AS4hCKqDA2doG1w4vZoKlId30yoxkkaQlTEZldMbgn5YBYXI9jCIMt80xU5CfvorXroDe-ypFr-cGEGqthxCnxax5M6rYvCnfjsFM7r-oDQL2p3C196QNu2CZqevXBzRMX1PP-I6XEjutCm5-GN-1_Yz-T4u4IvFRbSCBLjq8qvMhVBJCNzrvUQbcSRS28-IN_LyUPUukZ8E3cfaI40vOOh6GFGBSPG01MJxz4HzzY_4aora4cLRrwOPPTj-Aa3SAA&session_state=5c26e29f-f75d-4616-a8e9-0a176c471c8e"

        Code: OAQABAAIAAACQN9QBRU3jT6bcBQLZNUj7QBfqFHhEMwMTe4cAj0D72k5iq6elstIClgxe7FBC2VuQXKbMcH2uemtpObW5pZmx5qYroMoOeeBFUm1wZlwN40we31qL2stWC3j4uJ-_glOkLbpxbUhTnNHHsx5Y-NZRqKvjNlEJF8Kz4HyHADn0hftnjmapnrZlwtNrG4RCJValLYxhNN9sL5mPyw34KKKTWn37NRQIlMDVBuU1BRw4Ii7_LS25UVTpOJfPSdwbMcW0Tuxw7Pdz1rNyzyB04om9ODIeeBRto5BbZJFZy56ROX3CaYWwdM-MTvUdsz5Q6cuaHknW_zXPwhwbcw2Oefm7Nwyll_6jYVSwdM_DrFs3KGzttFxtH3S6OzwZvLUX69A4OIZkS4xW35mMjAyDoFCNhuPiaakcwPSoF9OwUOBDQ_AS4hCKqDA2doG1w4vZoKlId30yoxkkaQlTEZldMbgn5YBYXI9jCIMt80xU5CfvorXroDe-ypFr-cGEGqthxCnxax5M6rYvCnfjsFM7r-oDQL2p3C196QNu2CZqevXBzRMX1PP-I6XEjutCm5-GN-1_Yz-T4u4IvFRbSCBLjq8qvMhVBJCNzrvUQbcSRS28-IN_LyUPUukZ8E3cfaI40vOOh6GFGBSPG01MJxz4HzzY_4aora4cLRrwOPPTj-Aa3SAA

        Error: Get token [400 Bad Request]

      3. 无聊的钢镚
        @Rat's

        下载OneDriveUploader也给权限了 但是执行OneDriveUploader -a "url"(url已更换成获得的api链接)这个指令时 会提示 [root@iZj6cgvo77hbzftos4b8joZ admin]# OneDriveUploader -a "http://localhost/onedrive-login?code=OAQABAAIAAACQN9QBRU3jT6bcBQLZNUj7QBfqFHhEMwMTe4cAj0D72k5iq6elstIClgxe7FBC2VuQXKbMcH2uemtpObW5pZmx5qYroMoOeeBFUm1wZlwN40we31qL2stWC3j4uJ-_glOkLbpxbUhTnNHHsx5Y-NZRqKvjNlEJF8Kz4HyHADn0hftnjmapnrZlwtNrG4RCJValLYxhNN9sL5mPyw34KKKTWn37NRQIlMDVBuU1BRw4Ii7_LS25UVTpOJfPSdwbMcW0Tuxw7Pdz1rNyzyB04om9ODIeeBRto5BbZJFZy56ROX3CaYWwdM-MTvUdsz5Q6cuaHknW_zXPwhwbcw2Oefm7Nwyll_6jYVSwdM_DrFs3KGzttFxtH3S6OzwZvLUX69A4OIZkS4xW35mMjAyDoFCNhuPiaakcwPSoF9OwUOBDQ_AS4hCKqDA2doG1w4vZoKlId30yoxkkaQlTEZldMbgn5YBYXI9jCIMt80xU5CfvorXroDe-ypFr-cGEGqthxCnxax5M6rYvCnfjsFM7r-oDQL2p3C196QNu2CZqevXBzRMX1PP-I6XEjutCm5-GN-1_Yz-T4u4IvFRbSCBLjq8qvMhVBJCNzrvUQbcSRS28-IN_LyUPUukZ8E3cfaI40vOOh6GFGBSPG01MJxz4HzzY_4aora4cLRrwOPPTj-Aa3SAA&session_state=5c26e29f-f75d-4616-a8e9-0a176c471c8e"
        bash: OneDriveUploader: command not found 会报找不到指令

  77. 鱼睨狐

    卡在第三步,Error: Get token [401 Unauthorized]

    1. Rat's
      @鱼睨狐

      授权方式变了,我改了下,你重新试试

      1. 鱼睨狐
        @Rat's

        OK,好了

  78. 啸天

    脚本为https://sm.ms/image/2MwTeIhi89YX14W
    aria2的log显示
    12/19 22:24:20 [NOTICE] Your share ratio was 0.1, uploaded/downloaded=316MiB/2.0GiB
    /root/upload.sh: 1: /root/upload.sh: #!/bin/bash: not found
    /root/upload.sh: 15: /root/upload.sh: [[: not found
    /root/upload.sh: 16: /root/upload.sh: [[: not found
    /root/upload.sh: 17: /root/upload.sh: [[: not found
    /root/upload.sh: 19: /root/upload.sh: Syntax error: "(" unexpected

    请问这是怎么回事?

    1. Rat's
      @啸天

      应该编码格式的问题,你看下面一楼的回复,用dos2unix转换下

      1. terry
        @Rat's

        我的也是报这个错,已经用dos2unix处理过了,还是不行...

  79. 嘿嘿

    设置之后死活不能上传,一开始发现Aria2下载目录后面没有加上'/'
    加上之后还是没用,照博主说的bash /root/rcloneupload.sh
    发现报错

    rcloneupload.sh: line 2: $'r': command not found
    rcloneupload.sh: line 3: $'r': command not found
    rcloneupload.sh: line 4: $'r': command not found
    rcloneupload.sh: line 5: $'r': command not found
    rcloneupload.sh: line 6: $'r': command not found
    rcloneupload.sh: line 13: $'r': command not found
    rcloneupload.sh: line 14: $'r': command not found
    rcloneupload.sh: line 19: syntax error near unexpected token `$'{r''
    line 19: `function LoadFile(){

    于是用notepad2mod把换行编码转换成unix格式就好了

    1. Rat's
      @嘿嘿

      直接在服务器上转换快些,方法给你:
      1、安装dos2unix
      Centos:yum install dos2unix -y
      Debian/Ubuntu:apt install dos2unix -y
      2、转换格式
      dos2unix /root/rcloneupload.sh

  80. 七剑下面条

    支持世纪互联吗大佬

    1. Rat's
      @七剑下面条

      这个不太确定,你可以试试。

  81. www.nxm.com

    好棒,已经收藏了,地址是:www.nxm.com 纳贤猫

  82. 666
    该评论仅登录用户及评论双方可见
    1. 666
      @666
      该评论仅登录用户及评论双方可见
    2. Rat's
      @666

      解决方法下面给你说了

  83. 666
    该评论仅登录用户及评论双方可见
  84. 666

    /root/rcloneupload.sh: line 2: $'r': command not found
    /root/rcloneupload.sh: line 3: $'r': command not found
    /root/rcloneupload.sh: line 4: $'r': command not found
    /root/rcloneupload.sh: line 5: $'r': command not found
    /root/rcloneupload.sh: line 6: $'r': command not found
    /root/rcloneupload.sh: line 13: $'r': command not found
    /root/rcloneupload.sh: line 14: $'r': command not found
    /root/rcloneupload.sh: line 19: syntax error near unexpected token `$'{r''
    'root/rcloneupload.sh: line 19: `function LoadFile(){
    大神这个什么意思?

    1. Rat's
      @666

      格式问题,解决方法:
      1、安装dos2unix
      Centos:yum install dos2unix -y
      Debian/Ubuntu:apt install dos2unix -y
      2、转换格式
      dos2unix /root/rcloneupload.sh

  85. lunone

    还想着reclone呢,这下简单了,不用跟fuse过不去了。谢大佬

    1. Rat's
      @lunone

      各有各的用处,只上传的话,这个还是方便的,速度很快

  86. 666
    上传到Onedrive的路径,默认为根目录,如果要上传到MOERATS目录,""里面请填成MOERATS

    这个的意思就是上传大ONEDRIVE的哪个路径是这样理解吗?我默认留空也不会自动上传,请问是怎么一回事

    1. Rat's
      @666

      这个不自动就不清楚了,不知道你咋配置的。一般上传脚本参数如果都设置正确的,那就一个一个排查了。

      先检查下脚本格式是不是正确,bash /root/rcloneupload.sh执行不报错的话,脚本就没问题。然后aria2.conf配置下上传参数,再给脚本+x权限,最后重启aria2,大概步骤就这些。

  87. 666

    博主你好,我在上传的步骤卡住了,手动上传没问题,按你帖子把on-download-complete=/root/rcloneupload.sh添加到ARIA2配置文件后悔显示未连接,现在不清楚啥情况,连接上了,但是不会自动上传

  88. 666

    用了这个脚本自动上传aria2下载文件时把下载文件夹整个文件夹的所以东西都上传上去了
    而且更糟糕的是我的aria2还没下载完的视频上传了 在网盘里是看不了的。。

    1. Rat's
      @666

      是上传的bt的下载文件夹还是整个aria2下载文件夹?这个一般是下载完成才开始上传,没下载完不会传的。

      1. mo666
        @Rat's

        aira2下載路徑的文件夾

  89. 求助者

    麻烦问一下,上传脚本配置没有任何问题,手动运行没有错误提示,就是不能自动运行上传,拉下来的aria2.log 没有报错信息。什么原因呢

    1. Rat's
      @求助者

      上传脚本权限没给,还有aria2没有重启。

      1. 求助者
        @Rat's

        上传脚本777权限,aria2也重启了。还是不行呢,现在手动也不行了。。

        1. Rat's
          @求助者

          看上传脚本参数配置都正确不,手动上传是报错还是?

  90. 老王

    该版本的 D:oneuploadOneDriveUploader.exe 与你运行的 Windows 版本不兼容。请查看计算机的系统信息,然后联系软件发布者。

    1. Rat's
      @老王

      你是32位系统?

  91. huiaei

    问一下,如何上传完后会自动删除原文件吗?

    1. Rat's
      @huiaei

  92. 大神好

    大佬,我们申请的5T邮箱是不是都是一年期的。我看网络大佬萌咖出售,这种信箱会翻车吗。你可以给开不。

    1. Rat's
      @大神好

      这个的话,有少许概率翻车。

      1. 大神好
        @Rat's

        萌神可以给开一个不。多少钱一个呢。

  93. yuhao2348632

    对于我这种很笨的小白,还是使用AirExplorer Pro破解版比较安逸,而且有UI

    1. Rat's
      @yuhao2348632

      多折腾的话,再笨也可以变老手

      1. yuhao2348632
        @Rat's

        主要太懒,不愿意手打cmd命令

  94. 啥都不会

    大佬,我是下载完成直接删除不会上传

    1. Rat's
      @啥都不会

      看下aria2日志,看有没有报错

  95. 大神好

    抱歉,不是脚本问题,是宝塔没有开放6800端口。
    在安全设置下,添加开放6800就行了

  96. 大神好

    请教大神给问题。你的博客和链接的博客很多都是包含moe,是一个开发小组吗。
    大神可以的微信号是多少。想加一下。

    1. Rat's
      @大神好

      不是,大概都是现在或曾经喜欢二次元?

      1. 大神好
        @Rat's

        反馈一下这个脚本的问题:如果服务器重启,会出现airng连不上的情况。不知道是哪里出问题了。

        1. 大神好
          @大神好

          忘记说了。我用的ARIA2脚本是萌神博客里的一键脚本。

  97. 海平面

    舒服后的日子,内容越发丰富

  98. 老王

    怎么回事,前天还用得好好的,现在传到一半就不行了

    panic: runtime error: index out of range [2] with length 2

    goroutine 110 [running]:
    main.Range2Int(0xc00021a860, 0x4, 0x0, 0x0, 0xc0001200a0)

    c:/mian.go:358 +0x14d

    main.FileReader(0xc00034cb00, 0x32, 0xc00021a860, 0x4, 0x0)

    c:/mian.go:342 +0xc5

    main.Upload(0xc000054bc0, 0x92ee30, 0xc0005ad0b0, 0xc000236760, 0xb)

    c:/mian.go:253 +0x39a

    created by main.ThreadUpload

    c:/mian.go:468 +0x90
    1. 老王
      @老王

      准确的说是11月29日用着正常,然后两天没用,12月2日重装后就这样了。
      是不是升级的问题?

      1. Rat's
        @老王

        这个应该是你上传的时候,动了上传的文件数量,所以报错了。

  99. 大神好

    刚才重置了VPS.又手工试了一下,
    OneDriveUploader -c "/usr/local/caddy/www/aria2/Download/True.Detective.S01E03.HDTV.x264-KILLERS.mp4" "download"
    invalid character 'x00' looking for beginning of value
    OneDriveUploader -c "/usr/local/caddy/www/aria2/Download/"
    read /usr/local/caddy/www/aria2/Download/: is a directory

    1. Rat's
      @大神好

      -c 后面加配置文件,上传文件前面加-s,别搞混了

  100. 啥都不会

    大神坐等小白版一键版,第二步就卡住了唉。。

    1. Rat's
      @啥都不会

      第二步下载卡住?

  101. 大神好

    还是那里有问题。
    1、VPS重启后,原本连上的ariang就莫名其妙的连不上了。所有的配置都没动。
    2、不能自动上传。手工没问题。

    1. 大神好
      @大神好

      第一个的问题:我重新安装了aria2,进行了配置。现在ariang又连接上了。
      第二个问题:重新配置后还是不行。我把安装步骤给萌神说一下,请大神看看那里错了。
      1:在/root/.aria2文件夹建脚本oneindexup.sh。脚本这里改动了:LocalDIR="/usr/local/caddy/www/aria2/Download/"; (大神一键安装脚本里的地址)
      2授权:chmod +x /root/.aria2/oneindexup.sh
      3使用命令:echo "on-download-complete=/root/.aria2/oneindexup.sh" >>/root/.aria2/aria2.conf
      4重启Aria2,用重启命令经常发现ARIANG连不上,后来发现是aria2没启动。用./aria2.sh 进行了重启。
      一直没能自动上传。
      请萌神指导

      1. Rat's
        @大神好

        bash /root/.aria2/oneindexup.sh运行一遍,有报错不

        1. 大神好
          @Rat's

          没有。运行完了就回到了#状态。
          我重装了vps ,下载还是没问题,一直在做种,2小时了。但是上下载都没有流量。是不是还要再等等看

          1. 大神好
            @大神好

            做种结束,还是没有上传到网盘。

            1. 大神好
              @大神好

              萌神。这个脚本生成的auth.jason 又跑到了/usr/local/caddy/www/aria2/auth.json这里。
              我把oneindexup.sh里面的目录又改动了下,运行bash /root/.aria2/oneindexup.sh,宝塔里有流量了。
              希望这次是对的。
              非常 感谢您耐心指导。给您点个赞。

              1. 大神好
                @大神好

                自动上传成功。
                记录一下自己的过程,给其他没有安装成功的童鞋一点启发:
                1获取认证时候用chrome的隐私模式。
                2、记得按萌神的解答一定添加:
                echo "export PATH=/usr/local/bin:$PATH">>/etc/profile
                source /etc/profile
                3、照抄萌神的脚本时候,本里本地路径要对应到aria2的下载路径。如果不对的话,请翻来覆去的修改。不要把脚本粘贴到windows记事本里修改,会造成错误。最好直接粘到SSH客户端里,
                4、有时候ariang连接不上 ,看看是否重启aria2失败了。

                1. Rat's
                  @大神好

                  第3步一般编码格式问题,教你怎么解决。
                  1、安装dos2unix
                  CentOS:yum install dos2unix -y
                  Debian/Ubuntu:apt install dos2unix -y
                  2、转换文件,后面为脚本路径
                  dos2unix /root/xx

                  1. 大神好
                    @Rat's

                    又学了一招。感谢大神指点。
                    这一段跟萌神的帖子,建立自己的wordpress网站,现在又有了自己的下载站,哈哈。
                    下一步,装FRP内网穿透。

  102. aaa

    有支持个人版的吗?家庭版订阅。

  103. 心灵博客

    有没有GDrive可用的脚本?无线盘那种

    1. Rat's
      @心灵博客

      上传工具还是aria2上传脚本?

  104. 路人甲

    大佬这个上传到onedrive后本地的会自动删除,是不是把这段注释掉重启aria2就行了呀
    ${Uploader} -c "${Config}" -t "${Thread}" -b "${Block}" -s "${FileLoad}" -r "${RemoteDIR}"
    if [[ $? == '0' ]]; then

    rm -rf "${FileLoad}";

    fi

    1. Rat's
      @路人甲

      要想不删除的话,把这段删掉:
      if [[ $? == '0' ]]; then
      rm -rf "${FileLoad}";
      fi

  105. 大神好

    [root@makeeasy ~]# OneDriveUploader -a "${code}"
    Init config file: /root/auth.json.
    [root@makeeasy ~]# OneDriveUploader -s "Download"
    Config: /root/auth.json not found.
    运行完OneDriveUploader -a "${code}"后,上传就出现了auth.json not found

    1. Rat's
      @大神好

      auth.json文件没创建成功?ls /root/auth.json可以自己看看,没有的话,重新授权,用隐身模式获取code

      1. 大神好
        @Rat's

        手动上传成功,
        萌神,该怎么夸奖你呢。
        看你头像上,好像还缺一个漫画书里的头顶安的小飞机。
        告诉我哪有卖的。我去买个送你。

  106. 大神好

    /usr/local/caddy/www/aria2/Download
    里面有下载的内容,但是没有上传到onedrive,我那里弄错了吗

  107. 西瓜

    请问这个支持文件备份或者同步吗

    1. Rat's
      @西瓜

      备份是可以的

  108. zhaoeui

    感谢大佬。已解决。不知道什么问题。把vps重装了一遍好了

  109. zhaoeui

    大佬,有tg号么?我把ssh给你,能麻烦帮忙看一下么

  110. lexo

    感谢博主,已用上。速度还不错

  111. 大神好

    给萌神汇报一下,终于搞定了。萌神
    也建议萌神把这几个帖子合起来。好难找啊。。

    1. Rat's
      @大神好

      这称呼浮夸了

  112. zhaoeui

    aria2.log文件是空的。而且在两个vps上试过了,确实是传不上去。整个脚本只改了一下aria2下载目录,我的是/root/download 其他的都没动连文件都是GDupload.sh 直接改文件内容,之前的脚本可以上传,这个新版本传不上去,手动可以传上去。aria2版本是1.35.0.

    1. Rat's
      @zhaoeui

      下载目录后面加一个/,正确是/root/download/。

      1. zhaoeui
        @Rat's

        加了。看到后面的注释了,一直都有/

        !/bin/bash

        GID="$1";
        FileNum="$2";
        File="$3";
        MaxSize="15728640";
        Thread="2"; #默认3线程,自行修改,服务器配置不好的话,不建议太多
        Block="20"; #默认分块20m,自行修改
        RemoteDIR=""; #上传到Onedrive的路径,默认为根目录,如果要上传到MOERATS目录,""里面请填成MOERATS
        LocalDIR="/root/download/"; #Aria2下载目录,记得最后面加上/
        Uploader="/usr/local/bin/OneDriveUploader"; #上传的程序完整路径,默认为本文安装的目录

        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}"
        if [[ $? == '0' ]]; then

        rm -rf "${FileLoad}";

        fi
        IFS=$IFS_BAK
        }
        LoadFile;

        1. Rat's
          @zhaoeui

          缺个参数,我后面加了个Config="/root/auth.json";,你看下

          1. zhaoeui
            @Rat's

            这个参数也有。因为试了不行所以我把这个删了把auth.json放到/usr/local/bin/试了一下,依然不行,所以复制了是这样,有这个参数也是不行。传不上去

            1. Rat's
              @zhaoeui

              你手动运行下上传脚本bash GDupload.sh,看有没有编码报错问题,其它我就不是很清楚了,目前就这种可能性最大了。

  113. hellocat

    OneDriveUploader -c "/home/demo/auth.json" -a 这样初始化成功Init config file: /home/demo/auth.json,但实际BT下找不到json文件,并且上传也提示Config: /home/demo/auth.json not found ,是什么原因?不能创建json?(默认不加参数c制定目录也是无法找到auth.json)

  114. ManheraChan

    然而本地上传带宽永远是硬伤

    1. Rat's
      @ManheraChan

      一般都是在VPS上用

      1. ManheraChan
        @Rat's

        之前的OneDrive好像还要管理员授权,如果是教育邮箱撸的5T的话

  115. zhaoeui

    试了,这个新的还是不行,依然传不上去,这个能看到LOG么?好排查一下问题

    1. Rat's
      @zhaoeui

      我测试了下,好像没问题,你看下aria2日志,一般默认aria2.log文件,你找不到路径的话,使用find / -name aria2.log命令查找下。

  116. zhaoeui

    手动上传可以,但是aria2下载完上传传不上去。以前的那个脚本版本可以传上去

    1. 东流
      @zhaoeui

      我也是一样的问题,我手动运行脚本不会出错,手动上传也是可以的,就是自动不能上传

      1. Rat's
        @东流

        自动的话,要是授权啥的配置都做好了,还没传,那有没有aria2.log日志?最下面应该有

    2. Rat's
      @zhaoeui

      这个忘了指定配置文件路径,好像默认从/usr/local/bin目录调用,脚本改了下,你再试试

      1. 东流
        @Rat's

        用的也是新的这个带配置文件路径的,运行它什么提示都不会有直接会跳回#号,但是就是自动不行

  117. 大神好

    另外请大神帮忙看看这个,https://github.com/xiaomi-sa/smartdns,看vps装这个能不能优化访问速度。谢谢。

    1. Rat's
      @大神好

      这个都6年前的项目了,还有用不

  118. zytqyb

    我win10打开软件没反应怎么搞

    1. Rat's
      @zytqyb

      win10直接在CMD里面调用,直接打开是不行的,我等会补到文章里吧。

  119. 大神好

    大神真是厉害,这么快就有解决新版API的办法。
    给萌鼠赞一个

    1. Rat's
      @大神好

      你要给萌咖大佬点赞才行

  120. 大神好

    -bash: OneDriveUploader: command not found
    怎么解决?

    1. Rat's
      @大神好

      第2部正确吗?没问题的话,看是不是/usr/local/bin目录没写进PATH,运行echo $PATH命令看看。

      1. 大神好
        @Rat's

        第二部没提示有问题。

        echo $PATH

        /usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

        1. Rat's
          @大神好

          这就是没写进PATH,用下面2个命令就好了,使用命令:
          echo "export PATH=/usr/local/bin:$PATH">>/etc/profile
          source /etc/profile

    2. 大神好
      @大神好

      大神,这个还要先按VPS上传文件的那个教程,安装ONEDRIVE 吗。
      我是安装好了AriaNg后,然后按这个教程安装OneDriveUploader的

      1. Rat's
        @大神好

        上传是哪个教程?直接照这个教程来就可以上传了。

  121. Linstrong

    Page not found.

  122. yurimoe

    反馈一下
    Config: /mnt/auth.json not found.
    auth不是全局的吗?我测试只有在目录有auth信息的,才可以上传
    然后脚本的话 提示的是Config: /auth.json not found.
    同理放在 / 目录 脚本正常运作了
    而且 -c 命令也不能正常工作
    /usr/local/bin/OneDriveUploader -c "/root/auth.json"
    Error, Not file to upload.
    是不是我操作有误?

    1. Rat's
      @yurimoe

      1、auth.json不是全局,方便多个网盘,默认同目录。
      2、Error, Not file to upload.提示正常,是过了配置文件检测,只是你没加-s参数,-s 是指定上传文件,任何时候 -s 都是必须的。
      3、建议更新到最新版,修复了个bug。

  123. test

    mac 上面用不了,提示-bash: /usr/local/bin/OneDriveUploader: cannot execute binary file

    1. Rat's
      @test

      已支持MacOS,下载地址:https://github.com/MoeClub/OneList/tree/master/OneDriveUploader/amd64/macos

    2. Rat's
      @test

      mac用不了,目前只支持Win和Linux

  124. Mikusa

    好棒!用上了~

  125. 刀下的小猪

    方法有了。缺好用的大盘鸡

    1. Rat's
      @刀下的小猪

      明天黑五,给个地址你找找:https://www.lowendtalk.com/categories/offers。