利用 OneDriveUploader:多线程上传文件/文件夹到OneDrive的工具,支持Linux、Windows、MacOS,可批量、自动上传资料,那么如何把上传资源比较完美的共享、利用,这就要用到了Onedrive文件本地化浏览工具,如PyOne、CuteOne、OLAINDEX、oneindex等。
这个部署最是简单,只要支持PHP 5.6+、curl就可以。
项目已开源:https://github.com/donwa/oneindex, https://github.com/qupb/oneindex
PyOne是一款基于Python-Flask的onedrive文件本地化浏览系统,使用MongoDB储存文件列表,使用redis缓存数据,支持绑定多个网盘,支持搜索文件,支持移动文件(仅限单文件)。
项目已开源:https://github.com/abbeyokgo/PyOne
CuteOne是一款基于Python3的onedrive文件本地化浏览系统。
多盘负载、在线查看、在线上传、下载、多盘同步、主从同步、在线分享、文件夹权限管理、 会员功能、等级制度、付费查看、密码查看、支付模块、主题切换、极速缓存、模块化插件化管理、
项目已开源: https://github.com/Hackxiaoya/CuteOne
CuteOneP是CuteOne的PHP版本,沿用一致的UI风格,保持代码精简 框架可扩展。
项目已开源: https://github.com/Hackxiaoya/CuteOneP
OneDriveFly
About
OneDriver Index Anywhere.
Support
will support in future
Dev
git clone https://github.com/Tai7sy/OneDriveFly.git
cd OneDriveFly/php
composer create-project
cd OneDriveFly/nodejs
npm i && npm build
The generated files will be output to the dist
folder。
from https://github.com/Tai7sy/OneDriveFly
OneDriveUploader:多线程上传文件/文件夹到OneDrive的工具,支持Linux、Windows、MacOS
支持命令参数使用, 方便外部程序调用.
支持自定义上传分块大小.
支持多线程上传(多文件同时上传).
支持根据文件大小动态调整重试次数
wget https://raw.githubusercontent.com/MoeClub/OneList/master/OneDriveUploader/amd64/linux/OneDriveUploader -P /usr/local/bin/ chmod +x /usr/local/bin/OneDriveUploader
OneDriveUploader -a "url"
修改配置文件,也可以不修改,我主要是改了线程
-r // 上传到网盘中的某个目录,默认: 根目录
-t // 线程数, 同时上传文件的个数. 默认: 2
-b // 自定义上传分块大小, 可以提高网络吞吐量, 受限于磁盘性能和网络速度.
-c // 配置文件路径
-f // 开关
// 加上 -f 参数,强制读取 auth.json 中的块大小配置和多线程配置.
// 不加 -f 参数, 每次覆盖保存当前使用参数到 auth.json 配置文件中.
-n // 上传单个文件时,在网盘中重命名
# 将同目录下的 mm00.jpg 文件上传到 OneDrive 网盘根目录
OneDriveUploader -s "mm00.jpg"
# 将同目录下的 mm00.jpg 文件上传到 OneDrive 网盘根目录,并改名为 mm01.jpg
OneDriveUploader -s "mm00.jpg" -n "mm01.jpg"
# 将同目录下的 Download 文件夹上传到 OneDrive 网盘根目录
OneDriveUploader -s "Download"
# 将同目录下的 Download 文件夹上传到 OneDrive 网盘Test目录中
OneDriveUploader -s "Download" -r "Test"
# 将同目录下的 Download 文件夹上传到 OneDrive 网盘Test目录中, 使用 10 线程
OneDriveUploader -t 10 -s "Download" -r "Test"
# 将同目录下的 Download 文件夹上传到 OneDrive 网盘Test目录中, 使用 15 线程, 并设置分块大小为 20M
OneDriveUploader -t 15 -b 20 -s "Download" -r "Test"
OneDrive目录:如目录不存在将自动创建目录.
线程:多线程上传,默认3,可自行修改.
块大小:上传分块大小,默认10MB,可自行修改.
OneDriveUploader,一个好用的OneDrive网盘上传工具,支持文件和文件夹上传
Golang
基于新的API
写了个效率更高的上传工具,同时也修复了各种Shell
版本遗留下来的小问题,该版本特点就是授权简单,无需依赖,单文件。同样的也可以配合Aria2
一起自动上传,这里就再分享下,方便下有需求的人。更新
功能
- 支持上传文件和文件夹到指定目录,并保持上传前的目录结构。
- 支持命令参数使用,方便外部程序调用。
- 支持自定义上传分块大小。
- 支持多线程上传(多文件同时上传)。
- 支持根据文件大小动态调整重试次数,对抗不好的网络环境。
Linux
的用法,Windows
后面大概说下。localhost
开头打不开的链接,这里复制好整个链接地址,包括localhost
。Init config file: /path/to/file/auth.json
类似信息,则初始化成功。/path/to/file/auth.json
为初始化时,生成的auth.json
绝对路径地址,本文默认/root/auth.json
,自行调整。-skip
参数,默认会跳过你已经上传过的文件/文件夹。Aria2自动上传
Aria2
自动上传脚本.Windows使用
Windows
使用,先下载程序文件,下载地址→传送门。exe
文件放到D
盘,然后使用Win+R
,输入CMD
运行,调出窗口后,使用命令:OneDriveUploader
改成OneDriveUploader.exe
即可。GONEList
这是一款使用 golang + vue
编写的基于 onedrive 的在线共享网盘 效果展示:https://gonelist.cugxuan.cn
后端项目地址:https://github.com/gonelist/gonelist
前端项目地址:https://github.com/gonelist/gonelist-web
详细文档地址:https://gonelist-doc.cugxuan.cn
有问题请提 issue,也可以进入 QQ 群交流,群号:1083165608
功能特性
- 「跨平台」,兼容 Linux/Windows/MacOS 等多个平台
- 「极速部署」,下载对应程序,修改配置即可前后端一键部署
- 「直链下载」,文件直链下载,下载不消耗服务器流量
- 「自动刷新」,自动刷新缓存,可自定义时间
- 「自定义目录」,支持将 onedrive 的某个目录作为根目录
- 「在线播放」,支持在线播放音频和视频,在线浏览图片
- 「海量文件」,支持单目录下上千个文件,正常使用
- 「多平台」,支持个人版、教育账号、世纪互联等
- 「README」,支持页面添加 README
- 「加密目录」,支持给目录加密
- 「登陆缓存」,登陆 onedrive 之后会有缓存,下次直接启动无需登录
- ...
注:支持绝大部分教育账号,部分 教育账号 因为需要管理员同意无法使用
安装配置
实体服务安装教程
如果您的整个微软账号和 onedrive 网盘内,没有隐私内容,可以按照下面的流程快速配置体验效果,完整的下载安装流程请看 安装文档
快速配置体验
下载 Github Release 或者 gonelist-release 中对应的包,Linux 系统下载 gonelist_linux_amd64.tar.gz,直接运行即可启动,以 Linux 系统本地启动为例
// 下载对应的安装包,也可下载 gonelist-release 中的包,下面命令不一定是最新版本
$ wget https://github.com/cugxuan/gonelist/releases/download/v0.4.1/gonelist_linux_amd64.tar.gz
$ tar -zxf gonelist_linux_amd64.tar.gz && cd gonelist_linux_amd64
$ ./gonelist_linux_amd64
打开 http://localhost:8000 按照提示登录后即可。如果是在本地部署,登陆成功会跳转到首页,此时已经完成部署。
如果是在服务器部署,登陆成功会跳转到 http://localhost:8000/auth?code=xxx ,将当前网址改成 http://yoursite:8000/auth?code=xxx 再回车等待文件加载后,会自动跳转你的网站 http://yoursite:8000 。如果登陆后一直没有反应,可能是因为文件夹数量过多导致,建议设置「子文件夹」选项
默认情况下读取当前路径的 config.json
作为配置文件,或加参数 --conf=dir1/file.json
指定配置文件路径
实体systemd服务安装
视频教程(包含了Azure应用程序的配置) https://www.bilibili.com/video/BV1PA411t7Jw/
docker运行
视频教程 https://www.bilibili.com/video/BV1Vz4y1R7EK/
直接使用项目的docker-compose.yml
去docker-compose up -d
即可,建议把配置文件放在一个文件夹里,把文件夹挂载进去,否则直挂文件docker挂载的是inode。 如果是群晖的docker上运行的话会不支持docker的command似乎,可以把配置文件的目录挂载到容器里,例如/etc/config
,创建容器的时候加上环境变量CONF_PATH=/etc/config/config.json
。 token_path写/etc/config/
,然后创建容器的最后地方的Entrypoint
和命令
空着
.
├── config
│ └── config.json
└── docker-compose.yml
config.json
如果需要修改配置,在配置文件中填对对应的内容即可
{
//------建议填入自己的 id 和 secret --------
"client_id": "16e320f7-e427-4612-88da-f3d03e944d40",
"client_secret": "lURpL3U@bBlmJ0:_dnU.LeLOGNGdVT30",
"redirect_url": "http://localhost:8000/auth",
// 设置一个自己喜欢的字符串
"state": "23333",
// token 的路径,推荐默认
"token_path": "",
// 下载链接重定向前缀
"download_redirect_prefix": "",
"server": {
// 监听的端口
"port": 8000,
// 自动刷新的时间单位是分钟,默认 10 分钟,不要超过 1 小时
"refresh_time": 10,
// 登陆成功后,跳转的 URL,可不设置,新版已自动跳转
"site_url": "http://localhost:8000",
// 自定义 onedrive 的子文件夹
"folder_sub": "/",
//静态页面的目录,默认当前路径下的dist目录
"dist_path": "./dist/",
// 是否绑定到 0.0.0.0
"bind_global": true,
// 是否打开 gzip 加速
"gzip": true
},
// 世纪互联设置
"china_cloud": {
"enable": false,
"client_id": "2b54b127-b403-42a3-8b55-d25f3119aa13",
"client_secret": "a0CGqBT3f_8U5gztxKjxR-LNW-ZnTe.m"
},
// 给文件夹设置密码,相比此方法,更加建议直接在文件夹下的创建 .password 设置密码
"pass_list": [
{
"path": "",
"pass": ""
}
]
}
from https://github.com/gonelist/gonelist
---------
gone is a server which indexes your OneDrive files
gone是受oneindex启发而开发的,基于golang的OneDrive索引工具。
- 使用命令
cp example.conf prod.conf
复制一份新的配置文件 - 准备一个域名
example.com
并启用HTTPS,将https://example.com/authcallback
填入prod.conf里的RedirURL字段 - 访问
https://apps.dev.microsoft.com/#/appList
进行添加应用
- 将
应用程序ID
填入prod.conf的ClientID字段 生成新密码
,将值填入prod.conf的ClientSecret字段添加平台
,选择Web
,将https://example.com/authcallback
填入重定向 URL
- 保存修改
- 在prod.conf里的Password字段内填入一个密码,该步骤必须
- 使用命令
go run *.go -c prod.conf -l :8080
启动gone,反代8080端口https://example.com
- 打开浏览器访问
https://example.com/?auth=密码
,按照提示授权 - 完成
配置文件配置选项:
Header
: string
: 指定header.html的路径Footer
: string
: 指定footer.html的路径Ignore
: string
: 指定哪些文件不被显示的文件名正则表达式Prefetch
: string
: 指定哪些文件可以被本地缓存的文件名正则表达式Favicon
: string
: 指定favicon的路径DisableReadme
: bool
: 不渲染readmeCacheSize
: int
: 目录缓存大小CacheTTL
: int
: 目录缓存有效期PrefetchSize
: int
: 本地缓存大小,单位为MB
from https://github.com/coyove/gone------
魔改版本,为 OLAINDEX 添加多网盘挂载及一些小修复.OLAINDEX Magic
Another OneDrive Directory Index.
本项目受 Oneindex 启发,借鉴其部分功能,在这里感谢。 项目持续开发,会加入更多功能,欢迎大家提交 issue.
简介魔改自:https://github.com/WangNingkai/OLAINDEX (只不过是在大佬的作品上狗续貂尾罢了。
安装方法原教程:https://github.com/YukiCoco/OLAINDEX-Magic/blob/master/docs/install.md
绑定&使用多账户:https://neko.re/archives/95.html
此项目长期维护,请直接拉取 Master 分支部署,欢迎提交 issue,欢迎 star
魔改内容- 多 Onedrive 账户支持:
- 可同时挂载多个 Onedrive 网盘
- 图床可选择上传到不同的盘区
- 多网盘命令支持
- 同时支持国际版/世纪互联
- 离线下载(已废除):
- 对接 Aria2,支持 HTTP/FTP/SFTP/磁力链接/种子
- 选择下载到不同盘区的不同文件夹
- 配置方式:https://github.com/YukiCoco/OLAINDEX-Magic/blob/master/docs/offlineDownload.md
- 一些小修复:
- 一键获取所有下载链接(配合 AriaNg 可下载所有文件)
- 图床:添加复制链接、修复上传失败问题
- Ajax 删除文件
- ......
常见问题https://github.com/YukiCoco/OLAINDEX-Magic/blob/master/docs/question.md
from https://github.com/YukiCoco/OLAINDEX-Magic