【搭建网盘】heroku搭建OneManager-php挂载OneDrive并通过cf反代
前言
接着上一个教程:https://www.bujj.org/index.php/2021/11/12/153/,bujj已经设置了一个E5的子账号,并且容量调整到了5T,不搭个网盘好像很浪费,OneManager-php可以很好地帮助bujj实现这一目标
OneManager-php:https://github.com/qkqpttgf/OneManager-php
在heroku上部署(更新:heroku开始收费,可以舍弃了)
- 将OneManager-php的仓库fork一下
- 在https://heroku.com创建好账号,新建一个App,“App name”填写的应用名称就是
应用名字.herokuapp.com
的前缀,名称必须以小写字母开头,注册地默认美国 - deploy里
Deployment method
选择刚刚fork下来的GitHub仓库,需要GitHub授权,然后找到这个仓库并与heroku连接。将页面拉大送最下面,点击Deploy Branch
按钮 - 部署成功后点查看,来到安装页
- 填一下API key,设置一下管理员密码并记下来,弄完就会跳转到刚刚部署完的OneManager主页
绑定OneDrive
- OneManager主页,左上角登录,输入上一步创建的管理员密码,再去到设置里,添加盘
- 选MS那个,并且勾选用自己申请的,打开申请应用ID与机密,登录e5子号
应用注册
- 选最长的那一个
任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox)
重定向默认Web后面填上https://scfonedrive.github.io/
,注册 - 左侧导航栏,
证书和密码
,新客户端密码,说明写client_secret
,日期搞24个月 - 把得到的值复制一下,记录起来,备用
- 再去
API权限
,添加权限,选择Microsoft Graph
,委托的权限,file的全部7个都勾选,另外还有3个:offline_access、Sites.ReadWrite.All,User.Read
,加起来一共10个权限 - 去概述里,复制
应用程序(客户端) ID
的值,结合前面设置的客户端密码的值,都准备好了
添加OneDrive
带着这两个值,回到Onemanager,按位置填写进去,确认,然后Onemanager会请求许可,点接受,接着会自动获取token,最后Drive
默认Use Onedrive
,确认就成了。至此,网盘搭建成功!
反代
ping了一下自己创建的heroku应用,延迟高的离谱,之前用cloudflare反代过heroku来搭建过V2ray。这样反代,一方面,加快了访问速度;另一方面,可以绑定到自己绑在cf的域名上。反代的关键代码如下:
addEventListener(
"fetch",event => {
let url=new URL(event.request.url);
url.hostname="应用名称.herokuapp.com";
let request=new Request(url,event.request);
event. respondWith(
fetch(request)
)
})
你好世界
感谢教程
bujj博客@你好世界
哈哈谢谢