如何打造免费的私人网盘挂载服务
摘要
收藏了一些各大网盘挂载服务的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 Azure,vercel
,
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 command
为pnpm build
修改Install command
为pnpm install
- 部署
6.注册添加REDIS_URL
环境变量
Upstash进入注册,用vercel
注册登录,需要登录就用Github
,环境变量应用于已导入的项目,完成后重新部署项目,部署成功后点链接注册,全程跟着做就好。
有问题联系我!
如何打造免费的私人网盘挂载服务
https://blog.arley.cn/2022/04/12/buildrive/