这几天看私人网盘的搭建,自己也想弄一个,就去找了教程

储存

网盘最重要的部分就是储存了,网盘里会有很多文件,占用的空间也会很多,而且还要保证速度,还要便宜。
作为白嫖党,最终由三个可以选择:Onedrive、Google Drive、阿里网盘
前两个本以为有edu邮箱会有很大的储存空间,结果。。。

Onedirve

介绍

edu邮箱注册后确实会有1TB的储存空间,但由于国内学校一半都没有管理员,因此没有API权限,不能进行第三方挂载,也就是只能用官方的APP,有些不方便。
Onemanager可以用sharepoint来进行挂载,搭配上HerokuCloudflare体验也还不错,但只能上传和预览,无法删除移动等。

开发者

意外得知 office 365 e5开发者也有5TB的空间,不过需要调用API活跃才能续期,每次三个月,可以用Github action 来刷。
tips:最好再注册几个子账号来进行之后的操作,比如刷API一个账号,Cloudreve一个账号
申请教程

基本流程:
  • 先注册个人账号
  • 完善信息
  • 申请成为开发者,国家选择美国
  • 点击【SET UP E5 SUBSCRIPTION】填写要申请的订阅信息!需要验证手机,需要翻墙
  • 管理平台,要用刚申请的onmicrosoft.com账号登录
挂载到本地

教程
三个软件都装好
主要是开机挂载部分,新建rclone.bat文件,写入

1
start D:\software\Git\git-bash.exe -c "rclone mount onedrive名字:/  E: --cache-dir D:\onedrive --vfs-cache-mode writes --vfs-cache-max-age 15m &"

分别填好git-bash的地址和当初新建配置时起的名字,然后放到下面的文件夹里就可以了

1
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
刷 API

https://github.com/dlytang/office365
回调地址http://localhost:53682/
其中refresh_token 用rclone 获取

1
rclone authorize "cilent_id" "cilent_serect"

跳转登录获取refresh_token

Google Drive

本来以为会有学生版,但忘记它是一个不存在的网站,国内基本没有学校配备了Google的相关服务,其他的也就无从谈起。

阿里网盘

没有官方API,也都是抓包得到的,因此不太稳定,但也可以用

最后也只有Onedirve阿里网盘可以尝试了。

Web挂载

共有三种

Onepoint

https://github.com/ukuq/onepoint
在服务器上我是没部署成功,但cloudflare部署成了,两个网盘都可以配置。

阿里网盘

无法上传文件,只可以在线预览分享等。

Onedrive

用开发者账号也可以配置,可以直接看到目录,不过后面有更好的,作为备用也可以

Onemanager

https://github.com/qkqpttgf/OneManager-php
利用Heroku即可部署
但只成功部署了sharepoint的分享链接,调用API的没有成功部署

Cloudreve

最终选择
https://github.com/cloudreve/Cloudreve

介绍

这个没办法直接获取到Onedirve里的目录等,但可以手动导入一下,也还算可以,其他的都很好,预览、注册、上传等等。

配置

官方教程
直接下载运行即可,第一次运行之后会生成一个ini配置文件,可以改端口、数据库等
这里记录一下nginx配置过程。
cloudreve挂载onedrive需要https,阿里云申请一个免费的即可,之后下载上传到服务器中。
nginx的配置(配置了好久):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
server {
listen 443 ssl;
server_name 你的网址;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Host $http_host;


ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_certificate ssl证书.pem;
ssl_certificate_key ssl证书.key;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;

location / {
proxy_pass http://127.0.0.1:5003; # 注意端口
}
}
# http转发https
server {
listen 80;
server_name 你的网址;
rewrite ^/(.*)$ https://你的网址:443/$1 permanent;
}

配置好之后尽量先把nginx停止再启动,不要用重启