0%

PyOne架设个人网盘

前言

Office365如今是办公的标配,但是Office365附赠的2T onedrive大家有没有充分利用?这篇文章,将教你使用PyOne,配合Onedrive变成个人离线下载器、个人网盘。
(因为我个人精力有限,辅助仅限捐赠用户)

参考文档:Pyone官方Wiki文档

为什么要用PyOne

管理Onedrive

使用Pyone,可以实现网页管理Onedrive(包括上传文件、修改文件、分享文件)。

离线下载文件到Onedrive


百度云有类似功能,就是通过服务器,将你要下载的内容;云端下载到网盘里;方便你后期下载。
Onedrive有2T的空间,是不是怎么用也用不完?你可以用Pyone,将BT文件、直链文件下载到Onedrive,然后再到Onedrive上下载到本地。

分享文件

我们都知道百度云好用,是因为可以分享文件给小伙伴。PyOne也可以实现。通过Onedrive的API,映射分享你Onedrive的内容给他人。方便别人下载。

前提(准备工具)

一个Onedrive账号。

适用onedrive版本
onedrive个人版(包括Office365家庭版分配下的个人版Onedrive)
onedrive商业版
onedrive教育版(需要学校管理员开启权限)
onedrive世纪互联版

一台VPS

VPS即虚拟专用服务器,因为我们对服务器要求很低,考虑到价格问题;所以推荐用VPS。
推荐的VPS:
以下链接包含是我的邀请链接,如果是我邀请链接注册购买;可以找我远程辅助)
阿里轻量级服务器
Vultr

服务器的系统版本需要64位,所以就不要购买32位的了……
推荐服务器系统:
Centos7、Debian8+、Ubuntu16+
博主我是用Debian9

SSH工具

Mac&Linux用户

Mac和Linux用户无需第三方客户端,在终端内即可使用SSH链接
Mac用户比较方便,终端下:

1
ssh root@(你的服务器IP)

如:你的服务器IP是192.18.1.1,则:ssh root@192.168.1.1:

Windows用户

Windows用户的cmd命令窗口并没有SSH功能。所以,需要另外软件;
个人推荐Putty,比较纯净、简介。
打开putty,在这里l填上你服务器的IP

然后链接,会提示你输入用户名,填入root,回车。
再输入密码(注意:这边的粘贴是鼠标右键,如果你要复制密码进去,直接鼠标右键,然后回车即可)。
一系列步骤相当于Mac和Linux的:ssh root@IP

搭建环境

为了方便小白搭建环境(自己配置环境真的太麻烦了,大声绕道);我们使用宝塔面板搭建。很简单,在SSH下输入安装命令即可:

搭建宝塔面板

依赖安装

针对不同的系统,依赖也不一样

如果是Centos系统

1
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

如果是Debian系统

1
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

如果是Ubuntu系统

1
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

确定安装

再来,会询问:

1
Do you want to install Bt-Panel to the /www directory now?(y/n):

就是问你是否确定要安装宝塔面板,确认则输入y,然后回车。
依照服务器的性能,一般普通的个人服务器;如:vultr的5美元一个月服务器,大概8-10min。
注意,在你使用网络时候,注意宝塔面板的h防火墙。比如:你要用80端口搭建网站,则宝塔面板要放行80端口。

安装完成

安装好宝塔,可以SSH内输入

1
bt


可以按56改登入用户名和密码。

安装运行环境

进入宝塔面板(你的IP加上端口8888,e.g. 你的IP是192.168.0.1,那么你的宝塔面板就是192.168.0.1:8888)
初次安装会提示安装LNMP或者LAMP,我们只需要勾选:Nginx即可。
Pyone的运行需要安装redis和MongoDB,我们直接拿宝塔安装。

安装Pyone

安装之前请先完成宝塔部分,否则无法继续
一键脚本主要配置以下内容:
1.自动安装依赖包;
2.配置self_config.py;
3.配置开机启动;
4.自动安装aria2;
默认在/root目录下进行操作!(即:安装后Pyone在根目录的root文件夹下)

下载源码

1
git clone https://github.com/abbeyokgo/PyOne.git

更换requirements依赖包

因为原来PyOne是用python2写的,依赖pip2的包,如今pip2正式停止维护和供应。导致依赖包会有问题。解决方法,是更换目录下requirements.txt里的包名为:

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
27
28
29
30
31
32
33
34
35
36
37
38
certifi==2019.9.11
cffi==1.13.2
chardet==3.0.4
Click==7.0
cryptography==2.8
dnspython==1.16.0
enum34==1.1.6
eventlet==0.25.1
Flask==1.1.1
Flask-And-Redis==1.0.0
Flask-Caching==1.7.2
Flask-Limiter==1.1.0
Flask-Script==2.0.6
Flask-SQLAlchemy==2.4.1
greenlet==0.4.15
gunicorn==19.3.0
humanize==0.5.1
idna==2.8
ipaddress==1.0.23
itsdangerous==1.1.0
Jinja2==2.10.3
limits==1.3
Markdown==3.1.1
MarkupSafe==1.1.1
monotonic==1.5
pycparser==2.19
pycrypto==2.6.1
pymongo==3.9.0
pyOpenSSL==19.0.0
python-dateutil==2.8.1
redis==3.3.11
requests==2.22.0
shelljob==0.5.6
six==1.13.0
SQLAlchemy==1.3.11
urllib3==1.25.7
virtualenv==16.4.3
Werkzeug==0.16.0

脚本写入安装

1
cd PyOne

然后运行安装程序

1
bash install.sh

然后按照提示进行操作!

安装过程中会要求输入:MongoDB端口号(27017)、Redis端口号(6379)、Aria2密钥、PyOne后台密码。

安装完成提示

放行端口

进入宝塔面板,一次发行:
1.MongoDB端口号(默认:27017)
2.Redis端口号(默认:6379)
3.Aria2端口号:6800
4.Pyone端口号:34567

进入Pyone

通过一键安装脚本或者手动安装PyOne之后,这时应该可以通过http://{ip}:34567访问你的网站了。
第一次访问网站,会自动进入后台,输入后台密码。

配置Pyone

进入Pyone,如果你前面配置正确,只需不停下一步即可。

直到出现绑定Onedrive,填写Client ID和Client Secret以及ID。注意不要填错,我就是账号和密码填反了,一直以为是微软服务器崩了……

Q&A

用Pyone会不会挤占VPS上SSD空间

我们知道Onedrive的空间是2T,但是VPS往往文件不到40G。所以Pyone会不会把VPS填满?答案是,有可能;但是很难。Pyone可以实现VPS中继,文件是这样的:
文件—–(下载到)——VPS—–(上传文件)——Onedrive
上传完成后,VPS上文件删除。但是会有些日志、出错文件。需要手动删除:

使用Pyone离线下载等无响应(卡死)

这个问题,可能是因为
使用离线下载,过程中Pyone频繁调用Aria2,致使任务重复,服务器储存堵塞。就是你服务器上宝贵的SSD被填充满了。
可以使用命令:

1
df -h


如果Use%已经到100%,那么就是你需要清理的时候了。
解决办法,删除Pyone(Aria2)过渡的离线下载文件。服务器对应目录:
/root/PyOne/upload
删除之后重启服务器即可:

1
reboot

如果问题反复出现,建议用本地AriaNG Native,看看是不是Aria2抽风……

写在最后

VPS的使用,可以继续看看我的另外几篇博文。有问题可以留言,建议留下Mail,方便我回信哦~

若文章对你帮助很大,想捐赠的话ヾ(≧▽≦*)o

欢迎关注我的其它发布渠道