0x00 前言
前几日在群里看到有人使用腾讯的SCF(云函数)+onedrive来搭建属于自己的个人网盘,对此我颇有兴趣今日就来研究研究,今将研究结果奉上,如有不足之处,还请提出改正,共同进步。
0x01 需求准备
- onedrive账号(推荐教育版5T)
- onedrive_SCF源码
- 个人域名
- 腾讯云账号
0x02 申请5T空间
原理就是使用临时邮箱申请5T空间,之前的那个申请网站由于被人恶意使用短信炸弹轰炸,已经不能收到短信了,所以,今天推荐另一个网站。
ps:个人不保证不会翻车,大家可以用来做自己的备份云盘。
申请5T空间:传送门
申请教程可参考我的另一篇文章:onedrive+oneindex打造属于自己的个人网盘
0x03 开启搭建之路
3.1 下载 onedrive_SCF源码
3.2 注册腾讯云
3.3 配置云函数
3.3.1 新建云函数
登录腾讯云函数平台后,新建一个云函数,地区选择香港或者新加坡地区。创建的云函数名称随便填写,运行的环境选择PHP7.2 ,创建方式选择模板函数;模板选择helloword模板,下一步直接完成。
创建一个新的函数服务,地址选择中国香港
新建一个helloworld
模板函数
拉到最下面,点击下一步,然后点击完成
3.3.2 上传onedrive_SCF文件夹
从GitHub下载OneDrive_SCF源码,进入函数服务选择函数代码,提交代码选择本地上传文件夹,上传刚才解压的文件夹(注意:如果解压了双层文件夹需要点入第二个文件夹)
3.3.3 添加触发方式
选择API网关触发器
,勾选启用集成响应
,然后点击保存。
然后会生成一个访问路径。点击这个路径
3.3.4 新建密钥
然后使用微信扫描二维码,获得密钥全部的内容
3.3.5 添加环境变量
将刚刚的新建的秘钥添加到环境变量中。
添加完成
其他的环境变量添加
1 | sitename=站点名称 |
3.3.6 开始安装
再次刷新刚刚的错误页面
登录OneDrive账号,这里我已经登录过了,直接选择就行了。
成功登录后自动跳转到云盘
3.3.7 自定义域名设置
点击触发方式,然后点击API服务名
选择自定义域名,新建。
在域名厂商设置域名解析,我域名是在腾讯买的,所以直接到域名解析出添加一个域名解析记录,主机记录就是二级域名,记录类型是CNAME(域名指向域名),记录值填触发方式中的访问路径。
设置完域名解析后,在到自定义域名除继续设置。
ps:没有证书的话,就选择http协议。
在index.php中的609行左右,添加域名协议的代码
再次使用域名访问,显示没有uri路径设置有问题。
重新修改路径
再次使用域名访问
0x04 采坑记录
4.1 创建权限错误
在创建API网管触发器的时候,出现操作未授权的错误,和教程不一样,网上也搜不到相关的信息。
解决方法:其实就是用户自己没有授权,重新返回主页在点击去时会弹出授权,直接授权就好了。
0x05 甩锅
- 教育版的5T空间可能会翻车,如果翻车,与作者无关奥。
- 腾讯SCF现在开始收费了,之前是免费的,所以大家可以当做一个技术来学习,当前,不在乎这点钱的话可以考虑继续使用奥,具体的收费标准请自己到官网查看。
- 设置了自定义域名后,可在互联网上直接发访问,所以一些私密的文件请不要上传到该网盘中,并且最好给文件夹加上密码,造成内部资料的泄露,作者不负责任奥。
0x06 参考连接
https://eebk.com/archives/30.html