让群晖 CloudSync 支持同步世纪互联 OneDrive

让群晖 CloudSync 支持同步世纪互联 OneDrive

Tags
群晖
OneDrive
WebDAV
CloudSync
Published date
Dec 19, 2020
Description
群晖什么时候才能支持世纪互联 OneDrive 呢?
群晖的 NAS 体验很不错,最近买了世纪互联的商业版 Microsoft 365 订阅,不过群晖的 CloudSync 并不支持世纪互联版本的 OneDrive 同步,网上搜索了一番后发现一个有趣的项目:basic-to-sharepoint-auth-http-proxy,简单来说就是把 SharePoint 转换成 WebDAV 映射,而群晖又可以通过 WebDAV 同步,就可以这样曲线救国同步世纪互联版 OneDrive 了。
这个方法有几个主要缺点:
  • PUT 恢复不支持(俗称断点续传)
  • XOR 快速校验不支持(同步只能依赖文件修改时间判断,因此可能会出现问题)
  • TPS 限制大(表现传输速度很慢,但实际上还好,基本上跑满了我家里的宽带)

操作方法

第一步,使用 IE 登录世纪互联 OneDrive,可以看到页面上有一个「在文件管理器中进行查看」:
notion image
第二步,复制打开的文件管理器地址栏上的地址,比如 https://universitytongji-my.sharepoint.cn/personal/example_alumni_tongji_edu_cn/Documents
notion image
第三步,搭建 SharePoint 到 WebDAV 的转换代理,也可以用群晖系统内置的 Docker 来运行,这里不多赘述:
docker run --name sharepoint-proxy -d -p 3000:3000 -e PROXY_TARGET=https://universitytongji-my.sharepoint.cn/ \ --restart always skleeschulte/basic-to-sharepoint-auth-http-proxy
第四步,在 CloudSync 中添加「WebDAV」协议的同步任务,地址就填入形如
127.0.0.1:3000/personal/example_alumni_tongji_edu_cn/Documents
的形式:
notion image
这样就可以使用群晖 CloudSync 同步世纪互联 OneDrive 了,不过并不是非常建议用来同步大量文件,理由即文章开头所说的。另外,如果不是商业版的话可能还会遇到 API 限制,偶尔出现的上传失败的情况,是限流政策问题。