什么是 go-drive ?
go-drive 是一个简单的 web 云盘应用程序,支持本地、FTP/SFTP、S3、OneDrive、WebDAV、Google Drive。
功能:
基本的文件管理(上传,下载,复制,移动,重命名,删除)
基于用户/组的访问控制
图片浏览
文本编辑
路径挂载
在 Drive 之间复制文件(夹)
Drive 管理界面
目前支持的 Drives
本地文件
FTP
SFTP
WebDAV 协议
S3 兼容的云存储
OneDrive
Google Drive
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 go-drive
,选择第二个 devld/go-drive
,版本选择 latest
。

卷
在 docker
文件夹中,创建一个新文件夹,并将其命名为 go-drive
。
| 文件夹 | 装载路径 | 备注 |
|---|---|---|
/docker/go-drive | /app/data | 数据目录 |

端口
端口不能冲突
| 本地端口 | 容器端口 | 类型 |
|---|---|---|
| 8089 | 8089 | TCP |

运行
在浏览器中输入 http://群晖IP:8089
,就看到主界面,不过一开始是空空的

点右上角的 登录
按钮
默认用户为
admin
,密码123456

登录成功后,点 管理员
可以进行设置

添加 OneDrive
点中间的 OneDrive README
有详细的配置说明
【注意】:似乎只能用
personal
,不能使用bussiness
类型的 OneDrive,1~9步都没问题,但是第10步的验证如果用bussiness
类型的盘,会显示账号不存在,比较遗憾。

访问 https://portal.azure.com/,首先登录你的 Microsoft 账户。

在页面左侧的菜单中选择
Azure Active Directory
。

并不是所有的账号都支持,老苏就有一个号显示没有权限

在打开的页面上找到
应用注册

进入 新注册

填写 名称
,受支持的帐户类型
改为 仅 Microsoft 个人帐户

点 注册
,右上方会显示

完成之后会显示
概要
,点添加重定向 URI
,或者左侧的身份验证
这里的
应用程序(客户端) ID
就是客户端 ID

选择
添加平台
,在右侧选择Web

重定向 URI
可以填写https://go-drive.top/oauth_callback
这个链接是一个静态的 HTML 页面,代码在 https://github.com/devld/go-drive/blob/master/docs/oauth_callback.html

在左侧找到
证书和密码
,添加客户端密码

可以选择 截止期限

创建完成后,将 值
保存备用,值
即为 Client Secret
,也就是 客户端秘钥

在页面左侧找到
API 权限
,添加权限。
选择 常用 Microsoft API
下的 Microsoft Graph
,然后选择 委托的权限
,应用需要三种权限:
User.Read
: 读取用户的基本信息Files.ReadWrite
: 读写 OneDrive 的任何文件offline_access
: 这个权限用于登录成功后获取Refresh Token
,保持登录状态

添加完成后,应该如下图所示

回到
go-drive
的设置界面,填入客户端 ID
和客户端秘钥
,保存

点
连接到 OneDrive
,在弹出的界面中点是

下拉选择
personal1
,点保存

点
重新加载盘

【注意】:任何对存储映射的修改均需点击
重新加载盘
才可生效。
点
主页
,可以看到我们刚刚加的OD

点 OD
进入

上传个文件

添加本地目录
默认情况下,本地文件
的根目录
为相对路径,并且被限制在 <数据目录>/local
目录中,如果要添加本地文件的映射,则需提前在 <数据目录>/local
下新建名为映射名称的目录。
例如:我们在 go-drive
中建一个子目录 local
,然后在 local
中再建一个子目录 root
,看起来是这样的

添加盘

保存
--> 重新加载盘
--> 主页
,就可以看到刚刚添加的 本地磁盘
了

小结
安装简单,配置也不复杂,比较遗憾的是对 Onedrive
只支持 personal
而不支持 bussiness
类型,大大降低了可玩性。
参考文档
devld/go-drive: A simple cloud drive mapping web app supports local, FTP/SFTP, S3, OneDrive, WebDAV, Google Drive.
地址:https://github.com/devld/go-driveGo-drive | go-drive
地址:https://go-drive.top/




