如何打造免费的私人网盘挂载服务

摘要

收藏了一些各大网盘挂载服务的github项目,各有各的优缺点,这里简单概括下:

  • TeambitionShare,只能挂载阿里云盘旗下的 Teambition 网盘,部署方式需要php服务器
  • OneManager可挂载onedrive、谷歌云盘、阿里云盘,部署方式很多,免费,推荐
  • sharelist支持多家网盘,包括不限于天翼云盘、阿里云盘、onedrive、谷歌云盘、teambition、蓝奏云、和彩云、本地云…部署方式需要服务器
  • oneindex仅支持onedrive网盘挂载,部署需要php服务器
  • PanIndex支持天翼云、teambition盘、阿里云盘、OneDrive、和彩云、本地云等,部署略难,需要服务器,支持heroku部署,效果不太好,免费的限制很多
  • zfile支持OneDrive、云存储、私有云、对象存储、h5ai等部署需要服务器
  • Cloudreve很强,自行进入项目查看,不太推荐个人使用
  • onedrive-vercel-index仅支持onedrive,部署方式vercel,强推,本站使用的就是此项目,支持全局搜索

这里只介绍如何使用onedrive-vercel-index搭建私人云盘!

onedrive-vercel-index搭建私人网盘

这里有个前提,你有onedrive,Microsoft Azurevercel,

1.Fork项目

首先fork onedrive-vercel-index

2.修改配置

修改onedrive-vercel-index/config/site.config.js 里的 userPrincipleName 改为你的微软账户邮箱,baseDirectory 修改为你要分享的文件夹路径,默认根目录就行。

  • config/site.config.js是用来定制你的网页的
  • config/api.config.js是用来定义 API 参数的
  • userPrincipalName是用来在 OAuth 步骤时认证你的个人信息的。通常是你的 微软账户邮箱。
  • baseDirectory是你要分享的 OneDrive 目录。你必须保证此目录有效且与此参数一致。(你可以直接在 OneDrive 内创建一个叫做 Public 文件夹,并将此项设置为 /Public。)

3.创建自己的api

  • 进入Microsoft Azure,找到应用注册新注册,名称随意,受支持的帐户类型选择任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox) 重定向URL选择Web 填写http://localhost,注册
  • 进入刚注册的应用找到API权限,在当前的权限下点击Microsoft Graph(1)新加offline_access Files.Read.All完了保存更改

4.创建证书和密码

  • 进入证书和密码 新客户端密码,选择日期尽量最大,目前没有不限时间的选项了
  • 记住,关了可就没了啊
    api应用应用程序(客户端) ID概述下,值是密码
    至此自己的api都已获得,去修改api.config.js

5.修改api.config.js

  • 加密token,AES加密
  • 修改clientId为上面的应用程序(客户端) ID
  • 修改obfuscatedClientSecret为加密后的值

导入项目

  • 注册登录vercel并导入项目
  • 修改 Build commandpnpm build修改 Install commandpnpm install
  • 部署

6.注册添加REDIS_URL环境变量

Upstash进入注册,用vercel注册登录,需要登录就用Github,环境变量应用于已导入的项目,完成后重新部署项目,部署成功后点链接注册,全程跟着做就好。

官方文档

有问题联系我!