oneindex是一个支持挂载国际版OneDrive和世纪互联OneDrive的网盘程序,由 Vercel 和 Next.js 提供支持。可以将Onedrive存储的文件展示,直链下载。支持视频、音乐等媒体能在线预览!还能当网站的图床视频床。不用服务器空间,不走服务器的流量!实现零成本搭建自己的专属网盘
项目地址:https://github.com/spencerwooo/onedrive-vercel-index
演示:https://onedrive-vercel-index-five-sandy.vercel.app/(已经被墙了)
自定义的域名:https://wp.tencent.cf/
免费域名:http://ym.aerr.cn
由于官方文档写的不是很详细,折腾的我头都大了,还不断出现错误,所以出一篇教程。
准备
- GitHub账号
- 一个域名(官方的已经被墙了,建议绑定自己的)
- E5开发者的OneDrive
- 科学上网(最好备一个,以防GitHub和vercel抽风)
教程
注册一个应用程序
打开以下链接:
- Microsoft Azure App registrations( OneDrive 国际版、企业版与教育版,E5 订阅专用)
- Microsoft Azure.cn App registrations(OneDrive 世纪互联专用)
新注册一个应用程序:
- 登入你的OneDrive账户(xxx@xxx.onmicrosoft.com开头的),点击左上角新注册。
- 输入一个名字,例如 qyyx-onedrive-vercel-index。
- 选择:任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox)
- 将重定向 URI 设置为 Web(在下拉菜单里)以及
http://localhost
。 - 点击注册。
获取你的 client id 与 client secret
client id应用程序(客户端) ID ,先复制下来保存到记事本(随便一个地方也行)
你的 client secret 需要手动获取
- 点击 证书和密码。
- 点击 新客户端密码。
- 创建一个新 client secret ,描述为
qyyx-onedrive-vercel-index
。 - 将 到限 设置为
24个月
。
点击添加 ,然后复制 client_secret 的值并妥善保管。(只有一次复制机会)
接下来把client_secret进行AES加密
官方文档里https://ovi.swo.moe/zh/docs/advanced#%E4%BF%AE%E6%94%B9-apiconfigjs
(官方文档时不时会抽风,建议科学上网)
复制加密后的client_secret,保存到记事本
修改 API 权限
点击 API权限,点击 添加权限,再点击 Microsoft Graph 再点击 委托的权限
然后搜索:
- User.Read(默认已存在)
- Files.Read.All
- offline_access
添加上面三个
Fork项目
1. 首先打开项目地址,Fork项目
修改设置
有些设置是需要修改的。项目包括两个配置文件,分别是 config/site.config.js 与 config/api.config.js。前者是用来定制网页的标题之类的,后者那个是用来定义 API 参数的。
首先打开config/api.config.js
,把client id和加密后的client_secret填进去保存
接着打开 config/site.config.js
- userPrincipalName - 必填,填你的OneDrive账号(xxx@xxx.onmicrosoft.com开头的)。
- baseDirectory - 是你要分享的 OneDrive 目录。默认是根目录“/”。(你可以直接在 OneDrive 内创建一个叫做 Public 文件夹,并将此项设置为 /Public。)
- 其他东西不重要,翻译一下看着改就行了
导入到 Vercel 并部署
没用账号的直接用github账号注册登录
在 Vercel https://vercel.com/new
导入你自己仓库的 onedrive-vercel-index 项目,并deploy
连接到 Redis
创建一个 Redis 数据库,并且将数据库的访问链接填写到 Vercel
注册并登录upstash,还是用github账号
https://console.upstash.com/login
接下来打开https://vercel.com/integrations/upstash,添加集成
添加Redis和Kafka
重新部署
回到项目库,进入你的项目https://vercel.com/dashboard
重新部署需要一到两分钟,完成后打开自带的域名(自带的已经被墙了,需要科学上网),不方便科学上网的可以绑定自己的域名再访问,看一下id和密钥,正确的话下一步
接下来就看着教程操作就行了,打开获取授权码的网址,选择OneDrive账号登录(xxx@xxx.onmicrosoft.com开头的),然后就是给权限,之后会跳转到一个网页上,是报错的,不用管报错,直接复制网址回到安装这里粘贴上去
看到安装成功了,然后点击存储tokens,最后重新打开一遍网址就行了
Comments 1 条评论
博主 南方嘉木
感谢大大,成功部署了