这是由 萌咖 大佬使用 Golang
基于新的API写的一个效率很高的 OneDrive
上传工具 OneDriveUploader
,同时也修复了各种Shell版本遗留下来的小问题,该版本特点就是授权简单,无需依赖,单文件。同样的也可以配合Aria2一起自动上传,这里就再分享下,方便下有需求的人。
功能一览
- 支持上传文件和文件夹到指定目录,并保持上传前的目录结构。
- 支持命令参数使用,方便外部程序调用。
- 支持自定义上传分块大小。
- 支持多线程上传(多文件同时上传)。
- 支持根据文件大小动态调整重试次数,对抗不好的网络环境。
# 项目地址 OneList/OneDriveUploader at master · MoeClub/OneList (github.com))
使用方法
Windows教程
先下载程序文件
**Windows程序
比如我将exe
文件放到D
盘,然后使用Win R
,输入CMD
运行,调出窗口后,使用命令:
#进入D盘
cd /d D:
#初始化,quchaonet为授权code,获取方法看上面
OneDriveUploader.exe -a "quchaonet"
Shell
复制
上传命令
代码语言:javascript复制#将当前目录下的Mark.jpg文件上传到OneDrive网盘根目录
OneDriveUploader.exe -s "Mark.jpg"
#将当前目录下的Mark1.jpg文件上传到OneDrive网盘根目录,并改名为Mark2.jpg
OneDriveUploader.exe -s "Mark1.jpg" -n "Mark2.jpg"
#将当前目录下的Download文件夹上传到OneDrive网盘根目录
OneDriveUploader.exe -s "Download"
#将当前目录下的Download文件夹上传到OneDrive网盘Test目录中
OneDriveUploader.exe -s "Download" -r "Test"
#将同目录下的Download文件夹上传到OneDriv网盘Test目录中,使用10线程
OneDriveUploader.exe -t 10 -s "Download" -r "Test"
#将同目录下的Download文件夹上传到OneDrive网盘Test目录中,使用15线程,并设置分块大小为20M
OneDriveUploader.exe -t 15 -b 20 -s "Download" -r "Test"
Shell
复制
Linux教程
**Github项目地址 注:目前只支持64位系统,32位没有什么用户,所以后面不打算支持了。
1、授权认证
点击右侧URL
登录并授权。
授权后会获取一个localhost
开头打不开的链接,这里只需要记住code
,也就是链接中code=
和&
中间的参数。
2、安装OneDriveUploader
代码语言:javascript复制wget https://raw.githubusercontent.com/MoeClub/OneList/master/OneDriveUploader/amd64/linux/OneDriveUploader -P /usr/local/bin/
chmod x /usr/local/bin/OneDriveUploader
Shell
复制
3、初始化配置
代码语言:javascript复制#将quchaonet替换成你上面获取的code参数
code="quchaonet"
OneDriveUploader -a "${code}"
Shell
复制
如果提示Init config file: /path/to/file/auth.json
类似信息,则初始化成功。
4、使用命令
代码语言:javascript复制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")
Shell
复制
5、命令示例
代码语言:javascript复制#将当前目录下的Mark.jpg文件上传到OneDrive网盘根目录
OneDriveUploader -s "Mark.jpg"
#将当前目录下的Mark1.jpg文件上传到OneDrive网盘根目录,并改名为Mark2.jpg
OneDriveUploader -s "Mark1.jpg" -n "Mark2.jpg"
#将当前目录下的Download文件夹上传到OneDrive网盘根目录
OneDriveUploader -s "Download"
#将当前目录下的Download文件夹上传到OneDrive网盘Test目录中
OneDriveUploader -s "Download" -r "Test"
#将同目录下的Download文件夹上传到OneDriv网盘Test目录中,使用10线程
OneDriveUploader -t 10 -s "Download" -r "Test"
#将同目录下的Download文件夹上传到OneDrive网盘Test目录中,使用15线程,并设置分块大小为20M
OneDriveUploader -t 15 -b 20 -s "Download" -r "Test"
Shell
复制
Mac教程
先下载程序文件
**Mac 程序
按照上面 Linux
方法进行授权、初始化,然后就可以使用命令上传了。---
小结
- 多次尝试后, 无失败的上传文件. 退出码为
0.
- 最终还有失败的上传文件会详细列出上传失败项. 退出码为
1.