欢迎食用『主界面』~,这里是赵苦瓜的看板娘desu~

#
onedrive-vercel-index的搭建和使用记录
首页 > 点滴记录    作者:赵苦瓜   2022年10月17日 21:28 星期一   热度:3350°   百度已收录  
时间:2022-10-17 21:28   热度:3350° 

点击查看原图

前言

最近我文件系统一直用的OneIndex又炸了【日常】不稳定的OneIndex文件系统——经常变为空白,我尝试重新部署补救一下也没有用qwq

于是,我在Github上找到了一个新项目——spencerwooo/onedrive-vercel-index: OneDrive public directory listing, powered by Vercel and Next.js (github.com)


开始部署

根基官方文档部署的整个过程还是比较顺利的。不过官方文档是在vercel上部署的,我最开始想在我服务器上部署,就没走官方文档的路线。

首先我Clone了源代码,按照安装文档修改了登录邮箱,之后直接上传到服务器,我服务器上有node的环境,我安装了next和pnpm,然后按照官方文档pnpm build尝试编译,结果服务器性能太垃圾了(1H2G),没过多久就自己Killed了,不得不放弃在自己服务器编译的方法,从而完全按照官方服务器编译。


官方文档链接:立即上手 - OneDrive Vercel Index (swo.moe)


步骤和官方文档是一致的。

1.Fork这个项目的仓库,就是在右上角点击那个Fork按钮确定一下就行了。


2.改一下config/site.config.js里面的userPrincipleName的值,改成你的邮箱

userPrincipalName: process.env.NEXT_PUBLIC_USER_PRINCIPLE_NAME || 'zkg@databomb.top',


3.还是这个文件,改一下baseDirectory为你要分享的OneDrive路径(默认'/'就是全部)


4.根据情况修改config/api.config.js

这个情况有很多,看你的OneDrive是Business版,E5订阅,Education版还是世纪互联版,亦或者有无管理员权限都有区别,详情见官方文档。

我的情况是Business版并且没有管理员权限,就麻烦一点,需要使用自己的client id 和 secret,官方文档也有详细说明,详见高级 - OneDrive Vercel Index (swo.moe)

5.注册vercel并部署。

vercel这个网站好像没有中文,纯英文理解起来还是有一定门槛的。

①访问其官网Develop. Preview. Ship. For the best frontend teams – Vercel,点击右上角的Sign Up按钮注册账号。

②由于我们之前在Github上Fork了仓库,所以可以直接选择Continue with Github按钮,通过Github来进行注册。

③注册成功后即可来到控制台。这时候可能会让你创建一个Teams,那个是付费的,让你试用14天就没了,不要用那个,直接用个人账号(Personal Account)就行。

④点击Create a New Project创建一个新的项目。有关如何创建和连接Redis数据库,文档里也写得很清楚了,这里不再赘述。

⑤项目部署成功之后,即可在临时域名上访问了。他会监听你在Github上的改动,只要你的Github上有新的提交,他就会尝试build然后部署一个新的版本。


6.自定义域名和墙

你有可能会发现他给你自动生成的链接直接可能打不开,这是因为Vercel已经被GFW墙了,,

这就使得他的可用性变低了,不过没关系,官方给出了两个解决方案。我们以最省心的CNAME方法为例:

①设置自己域名的CNAME解析

我使用的是阿里云的云解析DNS,就以这个为例添加一个CNAME解析。

记录类型选择CNAME

主机记录填你想要的子域名(比如我填的是file,我就可以用file.jixiaob.cn来访问)

解析线路默认就行

记录值cname-china.vercel-dns.com

TTL也是默认就行

然后确认,等待他解析生效。

你先别急,生效之后你直接访问也是没用的,会返回一个Vercel的404页面。

②在Vercel添加域名

进入Vercel的dashboard首页,选择Domains(域名),然后点击Add来添加域名

选择你刚才部署的项目名称,然后点击CONTINUE(继续)

在接下来的框框里填上你刚才设置CNAME的域名,比如我要填file.jixiaob.cn

点击ADD添加。

之后vercel就会自动把域名的解析添加到你在Vercel部署的项目了,现在访问你刚才设置的域名即可正常访问,而且没有墙!!

不仅如此,SSL证书他都给你自动申请好了,非常方便!!


拓展功能

自定义icon图标、标题、右上角链接:

这些在官方文档的自定义配置里都有详细说明,主要就是修改config/site.config.js文件。

要注意的是图标要放在仓库的/public里面,配置文件里写的路径也是相对于/public的路径。

右上角链接的图标是根据name在Font Awesome上自动搜索的,所以name对不上的话可能就没有图标了。

需要密码的文件夹:

这个在官方文档的特性-私密文件夹里面也写得很清楚。

和OneIndex相似,在对应目录下新建.password文件,然后拿记事本打开里面写密码保存。之后需要在config/site.config.js里面的protectedRoutes:添加对应的文件路径。

本文作者:赵苦瓜      文章标题: onedrive-vercel-index的搭建和使用记录
本文地址:https://blog.jixiaob.cn/?post=91
版权声明:若无注明,本文皆为“赵苦瓜のBlog~”原创,转载请保留文章出处。
久遇2023-03-02 09:37
大神,你好,请教一下,按照你的步骤都搭建好了,最后一步我使用的是eu.org的二级域名,然后发现绑定好了之后,移动网络都可以,好像就是在公司电脑上,无法访问,必须得挂梯子才行,我转到cloudflare 进行解析也是没用,想请教下,我这个是因为域名的原因,所以才不能访问的么?
@久遇:我不是很清楚,你可以到他github的交流区看看
yycvip2022-12-11 19:45
/Drive/Personalencryptedfiles这个是我的文件路径

这样protectedRoutes: ‘/Drive/Personalencryptedfiles’
改对吗?
@yycvip:你用的中文单引号,而且需要用括号括起来,这样才能添加多个路径
比如['/Drive/Personalencryptedfiles']
@yycvip:官方文档写的很详细了,还是不懂的话建议去看官方文档
https://ovi.swo.moe/zh/docs/features/protected-folders
yycvip2022-12-11 04:22
想问一下文件加密怎么加?

我也弄了“.password”文件了
不知道为什么就是不生效呢?
@yycvip:除了创建.password文件
还需要在config/site.config.js里面的protectedRoutes:添加对应的文件路径。

返回顶部    首页    后花园  
版权所有:赵苦瓜のBlog~    站长: 赵苦瓜    程序:emlog   鲁ICP备20030743号-1   鲁公网安备37048102006726 萌ICP备20222268号    sitemap