暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一个简单的web云盘go-drive

各种折腾 2021-08-16
783

什么是 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
数据目录

端口

端口不能冲突

本地端口容器端口类型
80898089TCP

运行

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

点右上角的 登录
 按钮

默认用户为 admin
,密码 123456

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

添加 OneDrive

点中间的 OneDrive README
 有详细的配置说明

【注意】:似乎只能用 personal
 ,不能使用 bussiness
 类型的 OneDrive,1~9步都没问题,但是第10步的验证如果用 bussiness
 类型的盘,会显示账号不存在,比较遗憾。

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

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

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

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

进入 新注册

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

点 注册
,右上方会显示

  1. 完成之后会显示 概要
    ,点 添加重定向 URI
    ,或者左侧的 身份验证

这里的 应用程序(客户端) ID
 就是 客户端 ID

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

  1. 重定向 URI
     可以填写 https://go-drive.top/oauth_callback

这个链接是一个静态的 HTML 页面,代码在 https://github.com/devld/go-drive/blob/master/docs/oauth_callback.html

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

可以选择 截止期限

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

  1. 在页面左侧找到 API 权限
    ,添加权限。

选择 常用 Microsoft API
 下的 Microsoft Graph
,然后选择 委托的权限
,应用需要三种权限:

  • User.Read
    : 读取用户的基本信息

  • Files.ReadWrite
    : 读写 OneDrive 的任何文件

  • offline_access
    : 这个权限用于登录成功后获取 Refresh Token
    ,保持登录状态

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

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

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

  1. 下拉选择 personal1
    ,点 保存

  1. 点 重新加载盘

【注意】:任何对存储映射的修改均需点击 重新加载盘
才可生效。

  1. 点 主页
     ,可以看到我们刚刚加的 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-drive

Go-drive | go-drive
地址:https://go-drive.top/

文章转载自各种折腾,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论