PyOne--一款基于Python-Flask的onedrive个人网盘系统

PyOne介绍

PyOne是一款基于Python-Flask的onedrive文件本地化浏览系统,使用MongoDB储存文件列表,使用redis缓存数据,支持绑定多个网盘,极大的提高使用效率。

特性

  1. 简单易用。只需简单设置,即可做一个onedrive文件列表分享程序

  2. 后台强大

    • 删除onedrive文件

    • 直接在后台给文件夹添加.passwordREADMEHEAD

    • 直接在后台编辑文本文件

    • 上传本地文件至onedrive(2018.10.18更新)

    • 支持创建文件夹(2018.10.19更新)

    • 支持移动文件(仅限单文件)(2018.10.19更新)

    • 防盗链设置

    • 后台上传文件

    • 后台更新文件

    • 后台设置统计代码

    • 后台管理onedrive文件

  3. 支持绑定多网盘!!!(2018.11.15更新)

  4. 支持搜索文件!!!(2019.01.18更新)

  5. 支持离线下载文件

适用onedrive版本

  1. 个人版

  2. onedrive商业版

  3. onedrive教育版(需要学校管理员开启权限)

  4. onedrive世纪互联版

    1. 准备工作

推荐环境

  1. Centos7、Debian8+、Ubuntu16+(其他环境按照下面教程可能会有问题)

  2. Python2.7(以上系统默认均为Python2.7)

  3. 需要安装redis 5.0.3,MongoDB 4.0.5(通过宝塔安装)

2. 安装宝塔以及宝塔安装插件

为了方便、快捷的安装PyOne,推荐使用宝塔面板进行操作!当然能力强者可参考本文手动安装软件。

安装宝塔

参考宝塔安装页面操作:https://www.bt.cn/bbs/thread-1186-1-1.html

宝塔安装插件

上面安装好宝塔面板,登录宝塔面板。初次安装会提示安装LNMP或者LAMP,我们只需要勾选:Nginx即可。

然后到软件管理-运行环境-选择安装MongoDB和Redis

整个安装过程预计需要30分钟

PyOne--一款基于Python-Flask的onedrive个人网盘系统  第1张

总结本文

  1. 安装宝塔

  2. 在宝塔已经安装:NginxRedisMongoDB

备注
某些精简系统,可能由于没有安装sudo,Redis和MongoDB无法运行,可自行安装:

Centos: 

yum install sudo

Ubuntu/Debian: 

apt-get install sudo

3. 一键安装PyOne

安装之前请先完成宝塔部分,否则无法继续

一键脚本主要配置以下内容:

  1. 自动安装依赖包

  2. 配置self_config.py

  3. 配置开机启动

  4. 自动安装aria2

开始安装

默认在/root目录下进行操作!

下载源码

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

使用一键安装脚本

cd PyOne
bash install.sh

然后按照提示进行操作!

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

安装完成提示

PyOne--一款基于Python-Flask的onedrive个人网盘系统  第2张

运行网站

使用一键安装脚本安装,默认已经启动网站。如果没有启动可自行启动:

启动命令:

systemctl start pyone

4. 网站初始化

通过一键安装脚本或者手动安装PyOne之后,这时应该可以通过http://{ip}:34567访问你的网站了。

第一次访问网站,会自动进入后台,输入后台密码

如果是使用一键安装脚本安装的,在安装过程中已经设置了后台密码
如果是手动安装PyOne的,输入默认后台密码:PyOne

然后继续配置MongoDB信息Redis信息

使用宝塔安装的MongoDB和redis,这里直接提交即可。
如果是自行安装的MongoDB和Redis,则要改为自己配置的信息,并重启网站

验证完MongoDB信息Redis信息,则会直接到绑定网盘账号的步骤,这里不做累述,请看后面的内容

绑定域名请到“其他操作-绑定域名”查看,一定要跟着操作,尤其是绑定ssl的,否则会出现域名是https,但是内嵌网站等是http的现象

如果你用了一键安装脚本,那可以忽略一下内容,这只是做个手动安装的参考:

提示:全文默认是在root目录下运行。

下载脚本

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

安装依赖包

cd PyOnepip install -r requirements.txt

准备文件

cp self_config.py.sample self_config.pycp supervisord.conf.sample supervisord.conf

tips: 如果当前不是在root目录下,则需要修改self_config.pyconfig_dir参数和supervisord.confdirectory参数为正确的目录!!!

试运行

gunicorn -k eventlet -b 0.0.0.0:34567 run:app

如果没有问题,则可以访问到:http://ip:34567。如果不行,请确保已经开放端口!

安装Aria2

Aria2用于做onedrive网盘离线下载功能。

在安装aria2的过程中,需要设置用户名和密码

  1. 用户名、密码用于登录YAAW管理界面

  2. 密码还用于aria2c的secret,需在PyOne后台-基本设置-Aria2信息编辑里面设置该密码

安装代码:

安装aria2

wget -N --no-check-certificate https://www.moerats.com/usr/shell/PyOne/aria2-1.34.0-linux-${bit}.tar.gz
tar zxvf aria2-1.34.0-linux-${bit}.tar.gz
rm -rf aria2-1.34.0-linux-${bit}.tar.gz
cd aria2-1.34.0-linux-${bit}
make install
cd ..
rm -rf aria2-1.34.0-linux-${bit}

检查是否安装成功

command -v aria2c

如果显示

/usr/bin/aria2c

说明安装成功。

下载Aria2配置

mkdir "/root/.aria2" && mkdir /root/Download
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Aria2/dht.dat -P '/root/.aria2/'
wget -N --no-check-certificate https://www.moerats.com/usr/shell/PyOne/aria2.conf -P '/root/.aria2/'
wget -N --no-check-certificate https://www.moerats.com/usr/shell/PyOne/trackers-list-aria2.sh -P '/root/.aria2/'
touch /root/.aria2/aria2.session
chmod +x /root/.aria2/trackers-list-aria2.sh
chmod 777 /root/.aria2/aria2.session

配置Aria2密钥
修改文件
/root/.aria2/aria2.conf,找到rpc-secret,然后给rpc-secret设置一个值,作为密钥


设置开机启动:

PyOne开机启动
创建/etc/systemd/system/pyone.service,内容为:

[Unit]
Description=pyone
After=network.target
Wants=network.target
[Service]
Type=simple
PIDFile=/var/run/pyone.pid
WorkingDirectory=/root/PyOne
ExecStart=gunicorn -keventlet -b 0.0.0.0:34567 run:app
RestartPreventExitStatus=23
Restart=always
User=root
[Install]
WantedBy=multi-user.target

注意修改WorkingDirectory为PyOne实际目录

Aria2开机启动
创建
/etc/systemd/system/aria2.service,内容为:

[Unit]
Description=Aria2 server
After=network.target
Wants=network.target
[Service]
Type=simple
PIDFile=/var/run/aria2c.pid
ExecStart=/usr/bin/aria2c --conf-path=/root/.aria2/aria2.conf
RestartPreventExitStatus=23
Restart=always
User=root
[Install]
WantedBy=multi-user.target

开机启动
完成上面两步,继续设置开机启动

systemctl enable pyone
systemctl enable aria2

启动服务

systemctl start pyone
systemctl start aria2

作者头像
哆哆盘创始人

上一篇:破冰行动48集全磁力链接,百度云网盘分享
下一篇:声临其境第二季磁力链接,百度云网盘分享

发表评论

https://s.click.taobao.com/CfzAAut