PyOne介绍
PyOne是一款基于Python-Flask的onedrive文件本地化浏览系统,使用MongoDB储存文件列表,使用redis缓存数据,支持绑定多个网盘,极大的提高使用效率。
特性
简单易用。只需简单设置,即可做一个onedrive文件列表分享程序
后台强大。
删除onedrive文件
直接在后台给文件夹添加
.password
和README
和HEAD
直接在后台编辑文本文件。
上传本地文件至onedrive(2018.10.18更新)
支持创建文件夹(2018.10.19更新)
支持移动文件(仅限单文件)(2018.10.19更新)
防盗链设置。
后台上传文件。
后台更新文件。
后台设置统计代码
后台管理onedrive文件。
支持绑定多网盘!!!(2018.11.15更新)
支持搜索文件!!!(2019.01.18更新)
支持离线下载文件
适用onedrive版本
个人版
onedrive商业版
onedrive教育版(需要学校管理员开启权限)
onedrive世纪互联版
1. 准备工作
推荐环境
Centos7、Debian8+、Ubuntu16+(其他环境按照下面教程可能会有问题)
Python2.7(以上系统默认均为Python2.7)
需要安装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分钟!
总结本文
安装宝塔
在宝塔已经安装:
Nginx
、Redis
、MongoDB
。
备注
某些精简系统,可能由于没有安装sudo,Redis和MongoDB无法运行,可自行安装:
Centos:
yum install sudo
Ubuntu/Debian:
apt-get install sudo
3. 一键安装PyOne
安装之前请先完成宝塔部分,否则无法继续
一键脚本主要配置以下内容:
自动安装依赖包;
配置self_config.py;
配置开机启动;
自动安装aria2;
开始安装
默认在/root目录下进行操作!
下载源码
git clone https://github.com/abbeyokgo/PyOne.git
使用一键安装脚本
cd PyOne
bash install.sh
然后按照提示进行操作!
安装过程中会要求输入:MongoDB端口号(27017)、Redis端口号(6379)、Aria2密钥、PyOne后台密码
安装完成提示
运行网站
使用一键安装脚本安装,默认已经启动网站。如果没有启动可自行启动:
启动命令:
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.py的config_dir
参数和supervisord.conf的directory
参数为正确的目录!!!
试运行
gunicorn -k eventlet -b 0.0.0.0:34567 run:app
如果没有问题,则可以访问到:http://ip:34567
。如果不行,请确保已经开放端口!
安装Aria2
Aria2用于做onedrive网盘离线下载功能。
在安装aria2的过程中,需要设置用户名和密码;
用户名、密码用于登录YAAW管理界面;
密码还用于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
发表评论