利用onedrive搭建分享型网盘
搭建分享型网盘
准备:
- 域名一个
- onedrive网盘一个,而且网盘必须有管理员,能用api功能,淘宝或者谷歌能找到很多小商店有卖,稳定性懂得都懂
配置onedrive
-
配置应用d
-
进入Azure Activate Directory
登录Microsoft Azure
-
点击左测应用注册,添加注册
-
注册完成之后添加秘钥
-
添加权限
-
-
进入这个网址
-
填上azure_client_id,点authorize
-
登录,得到code,然后点关闭
-
往下拉会发现code已经填上了,我们再把secret填上,点get token
-
没有错误的话返回应该是这样,把refresh_token记下
-
登录onedrive,根目录下创建一个Public文件夹用于分享
至此,我们手上就有
refresh_token
client_id
client_secret
redirect_uri
:默认为https://heymind.github.io/tools/microsoft-graph-api-auth
;base
:默认为/Public
。
这几样东西
-
配置cloudflare
注意这里使用github action部署,如果用本地部署的方式,请参考官方文档
-
登录cloudflare官网,注册登录,然后绑定域名,这里略过
-
绑定域名后,进入域名,往下滑动会看见自己的account_id和zone_id
-
创建worker
进入workers界面,点击管理workers(第一次进入好像要选plan,选免费的就好了)
创建一个默认的就行,点进去这个链接,会得到一个hello world空白页面
-
创建两个命名空间
名字随意,把id记住,记做bucket_preview_id,bucket_id
-
点进去
配置好环境变量,下面的命名空间下一步在创建
-
创建一个令牌,不多废话了,把令牌的值记下
配置仓库和cloudflare
-
导入项目
-
进入参考2,点击右上角的+
old repository的url必须填原始仓库的url,后面自己的仓库名随便起,权限必须是私有,不然会被别人搞到数据..
-
进入自己导入的这个库
-
修改wrangler.toml,前两个是域名下面有的,前面说了,后两个就是bucket对应的那俩id,第一行的name就是默认的worker第一个.前面的部分,你的worker对应的域名应该是这个格式的
.<worker_subdomain>.workers.dev -
修改src/config/default.js
- client_id
- refresh_token
- client_secret
- base 如果之前创建了Public这里就不用改
-
点setting,添加CF_API_TOKEN ,值就是cloudflare令牌的值
-
进如actions看看最新的workflow有没有成功
-
如果成功了,就看看前面的worker给的网址,基本上就是下面的样子了(我这是暗黑模式)
-
如果没有成功,看看是不是publish出错了,如果各种id什么的都没有填错,就提示
可以尝试把wrangler-action版本改为1.3
然后commit,应该就没问题了
-