安装PyOne

[教程]PyOne:一款支持绑定多网盘的 OneDrive 文件本地化浏览系统

说明:之前博主介绍过一个 OneDrive 网盘的目录索引程序 OneIndex,而且发了不少安装和使用 教程 了,介绍查看:OneIndex,今天再介绍个类似的工具 PyOne,基于Flask 开发的,由于是模仿的 OneIndex,自然功能就差不多,就是界面好看很多,后台也可以直接上传编辑文件,目前作者新增多网盘和离线下载,该功能刚出来,BUG 肯定是有的,可以向作者反映修复下,这里说一下安装 教程

截图

安装 PyOne
安装 PyOne
安装 PyOne
安装 PyOne

更新

  1. 2019.2.16
  2. PyOne代码组织大变更!更新版本号为4.0
  3. 2018.11.19
  4. 新增离线下载功能,依赖Aria2
  5. 2018.11.15
  6. PyOne喜迎 3.0 版本,支持绑定多个 onedrive 网盘,再也不怕 5T 小姐姐不够看了。

特性

  1. # 简单易用
  2. 只需简单设置,即可做一个 onedrive 文件列表分享程序。
  3. # 功能丰富
  4. 可设置文件夹密码。只需在文件夹添加.password文件,内容为密码内容,即可在该文件夹设置密码
  5. 可设置README
  6. # 后台强大
  7. 防盗链设置。
  8. 后台上传文件。
  9. 后台更新文件。
  10. 后台设置统计代码
  11. 后台管理 onedrive 文件。
  12. 直接删除 onedrive 文件
  13. 直接在后台给文件夹添加.passwordREADMEHEAD
  14. 直接在后台编辑文本文件。
  15. 上传本地文件至onedrive
  16. 支持创建文件夹
  17. 支持移动文件(仅限单文件)
  18. # 支持绑定多网盘
  19. # 支持离线下载

安装

Github 地址:https://github.com/abbeyokgo/PyOne
使用文档:https://wiki.pyone.me/
账号支持:只支持 onedrive 商业版、教育版、个人版
环境要求:Python2.7RedisMongodbNginx

1、安装宝塔

  1. #Centos 系统
  2. yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
  3. #Ubuntu 系统
  4. wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh
  5. #Debian 系统
  6. wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh

安装完成后,进入面板,点击左侧软件管理,然后安装 NginxRedisMongoDb。注意Debian 安装 MongoDb 之前还需要使用命令 apt install sudo,不然可能存在MongoDb 启动不了的情况。

2、拉取源码
使用命令:

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

3、开始依赖

  1. cd /root/PyOne
  2. pip install -r requirements.txt

4、开始运行

  1. # 复制配置文件
  2. cp self_config.py.sample self_config.py
  3. cp supervisord.conf.sample supervisord.conf

如果当前不是在 root 目录下 (本文是默认root 目录下),则需要修改 self_config.pyconfig_dir参数和 supervisord.confdirectory参数为正确的目录!

  1. # 运行
  2. gunicorn -w4 -b 0.0.0.0:34567 run:app

然后试着访问:http://ip:34567看看能正常显示,如果不能,请在宝塔的安全里开启端口。

5、安装 Aria2

  1. git clone https://github.com/abbeyokgo/aria2_installer.git
  2. cd aria2_installer
  3. sh install_aria2.sh

域名设置

点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标 URL 填入http://127.0.0.1:34567,再启用反向代理即可。

然后再点击配置文件,进行如下修改:

  1. # 加上中间三句
  2. location /
  3. {
  4. ...
  5. proxy_buffering off;
  6. proxy_cache off;
  7. proxy_set_header X-Forwarded-Proto $scheme;
  8. ...
  9. }

最后就可以进入域名打开授权页面了。
授权成功即可,首次访问,会显示登录后台,输入初始密码:PyOne后会自动跳转到绑定网盘页面。如果没有跳转到绑定网盘页面,可以按照:后台 - 文件管理 - 添加网盘进行下一步。

开机启动

网站源码下有个supervisord.conf,主要内容如下:

  1. [program:pyone]
  2. command = gunicorn -k eventlet -b 0.0.0.0:34567 run:app
  3. directory = /root/PyOne
  4. autorestart = true

主要修改两个地方:

  1. 端口号:即 34567 那个端口号,修改为自己选的,或者不改动
  2. 源码目录:directory修改为你选的网站目录

修改之后运行下面的命令(记得修改为正确的目录),设置开机启动:

  1. echo "supervisord -c /root/PyOne/supervisord.conf" >> /etc/rc.d/rc.local
  2. chmod +x /etc/rc.d/rc.local

重启生效。

本次不用重启生效的方法:

  1. supervisord -c /root/PyOne/supervisord.conf

绑定多网盘

绑定好第一个网盘之后,登录后台(/admin)- 文件管理,即可看到网站顶部还有两个“添加网盘”的链接,点进去即可继续绑定更多网盘。

  1. 注意:为确保可以正确绑定网盘,请开一个隐私窗口或者清除 cookies 后再绑定新网盘!

目前默认是只能绑定 3 个网盘,如果你需要绑定更多的网盘,可以编辑 self_config.py 文件。

  1. # 修改 od_users 字典参数。参考已有内容,添加更多的位置,比如:D、E、F 等
  2. od_users={
  3. "A":{
  4. "client_id":"",
  5. "client_secret":"",
  6. "share_path":"/",
  7. "other_name":"网盘 1 区",
  8. "order":1
  9. },
  10. "B":{
  11. "client_id":"",
  12. "client_secret":"",
  13. "share_path":"/",
  14. "other_name":"网盘 2 区",
  15. "order":2
  16. },
  17. "C":{
  18. "client_id":"",
  19. "client_secret":"",
  20. "share_path":"/",
  21. "other_name":"网盘 3 区",
  22. "order":3
  23. }
  24. }

解绑网盘

如果绑定了网盘想要进行解绑,或者绑定网盘出错,但是网站已经显示了这个盘符的情况下,需要解绑网盘。

可按照以下步骤操作:

  1. 1、编辑 self_config.py 文件。
  2. 2、找到 od_users 字典参数。
  3. 3、参数 od_users 下找到对应的盘符。
  4. 4、将对应盘符的 client_id 参数和 client_secret 参数置为空值。

离线下载

  1. 1、离线下载依赖 aria2;请确保已经安装了aria2 并在后台配置了正确信息!
  2. 2、离线下载支持:http(s)直链、磁力链接。
  3. 3、添加任务时,一行一个下载链接。
  4. 4、在哪个目录下点击离线下载按钮,最终就会上传到哪个目录下。

命令行操作

1、单文件上传

  1. # 请确保 PyOne 源码路径正确
  2. python /root/PyOne/function.py Upload 服务器文件绝对路径 onedrive 路径 盘符

参数说明:

  1. # 服务器文件绝对路径:服务器下存在的一个文件绝对路径。比如:/home/test.mp4。
  2. #onedrive 路径:即 onedrive 下的路径。这里分两种情况:
  3. 上传后不用重命名,比如我直接上传到测试目录下,onedrive路径为:/ 测试 /。目录最后面必须带 /。
  4. 上传后重命名,比如我上传到测试目录下,并重命名为 new.mp4onedrive 路径为:/ 测试 /new.mp4。最后面不能带 /。
  5. 看出区别了吗?带 / 和不带 / 的区别!
  6. # 盘符:默认为 A。如果需要上传到其他网盘,或者你修改过盘符,则修改这个盘符参数。

示例:

  1. # 上传服务器的 /home/test.mp4 到盘符 A 的 onedrive 的测试目录下:
  2. python /root/PyOne/function.py Upload /home/test.mp4 / 测试 / A
  3. # 上传服务器的 /home/test.mp4 到盘符 A 的 onedrive 的测试目录下,并重命名为 new.mp4:
  4. python /root/PyOne/function.py Upload /home/test.mp4 / 测试 /new.mp4 A

2、上传文件夹所有文件

  1. # 请确保 PyOne 源码路径正确
  2. python /root/PyOne/function.py UploadDir 服务器目录绝对路径 onedrive 路径 盘符

参数说明:

  1. # 服务器目录绝对路径:服务器下存在的目录绝对路径。比如:/home/test
  2. #onedrive 路径:即 onedrive 下的路径。比如:/test/
  3. # 盘符:默认为 A。如果需要上传到其他网盘,或者你修改过盘符,则修改这个盘符参数。

示例:

  1. # 上传服务器的 /home 下的所有文件到盘符 A 的 onedrive 的测试目录下:
  2. python /root/PyOne/function.py UploadDir /home/test / 测试 / A

3、更新缓存
全量更新(默认),即全量更新文件目录。推荐在文件目录结构发生变化的情况下才进行本操作。

  1. # 请确保 PyOne 源码路径正确
  2. python /root/PyOne/function.py UpdateFile

增量更新,即只有当文件夹大小发生变化时才进行更新操作。推荐在文件目录结构没有发生变化的情况下进行操作。

  1. # 请确保 PyOne 源码路径正确
  2. python /root/PyOne/function.py UpdateFile new

更新源码

  1. #PyOne 旧版本升级到 3.0,请重装!
  2. #PyOne3.0 内小版本更新
  3. 拉最新代码:git pull
  4. 重新安装依赖,看是否有新增的依赖包:pip install -r requirements.txt
  5. 重启网站:supervisorctl -c supervisord.conf restart pyone
  6. 最好更新一下文件缓存:python function.py UpdateFile

错误指导

1、502 Bad Gateway
一般是网站没有运行导致的。在网站目录运行

  1. supervisord -c supervisord.conf

如果运行上面的命令出现类似 Error:Another program is alright listening on a port 的错误,说明已经运行过这个命令,可以运行以下命令重启网站

  1. supervisorctl -c supervisord.conf restart pyone

2、500 Internal Server Error
一般是因为服务器内部出现问题,可检查 RedisMongoDB 是否安装?是否运行?
如果上诉没问题,可清空 Redis 缓存:

  1. redis-cli # 进入 redis 命令行
  2. > FLUSHALL

如清空 Redis 缓存还有问题,可手动运行网站查看错误

  1. supervisorctl -c supervisord.conf stop pyone && gunicorn -k eventlet -b 0:34567 run:app

然后再访问页面,查看 ssh 的错误提示。

 

 

 

 

 

PyOne – 基于 Python 的 onedrive 文件本地化浏览系统, 使用 MongoDB 缓存文件,其实就是 onedrive 文件管理、分享程序。

之前大鸟也分享了 CuteOne 的安装教程,所以今天顺便把 PyOne 安装教程了分享一下,大家可以根据自己的喜好选择安装。

一:简介:

github:

演示:

Wiki 地址:

二:推荐环境

  1. Centos7、Debian8+、Ubuntu16+(其他环境按照下面教程可能会有问题)
  2. Python2.7(以上系统默认均为 Python2.7)
  3. 需要安装 redis 5.0.3,MongoDB 4.0.5(通过宝塔安装)

安装前先把环境准备好。宝塔面板自行安装,lnmp 自行配置好,Nginx、MongoDB 和 redis 都需要安装,在软件商店里面可以搜索安装下。如图:

安装 PyOne

一键安装 PyOne

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

三:下载源码

复制

#ssh 连接服务器然后进入目录
cd /opt
# 下载源码
git clone 

四:使用一键安装脚本

在 opt 目录下执行,如下命令。

复制

cd PyOne
bash install.sh

然后按照提示进行操作!

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

安装 PyOne

安装完成之后,如图:

安装 PyOne

五:访问网站

通过上面的步骤完成安装之后,这时应该可以通过 {ip}:34567 访问你的网站了。第一次访问网站,会自动进入后台,输入后台密码。

安装 PyOne

登录之后是这样的,如图:

安装 PyOne

六:网站初始化

因为是宝塔面板安装的 MongoDB 信息和 Redis 信息,所以我们登录后台后直接提交即可,如图:

安装 PyOne

提交完成之后,就是网站的初始化了,如图:

安装 PyOne

这里就自己折腾吧,不在赘述。

七:设置域名

我们还需要设置一个域名,宝塔面板用【芳香袋里】即可,先新建站点,然后绑定域名,接着开启【芳香袋里】,如图:

安装 PyOne

访问试试,如图:

安装 PyOne

如果要开启 ssl,请先把【袋里】停掉,申请好证书自后在开启即可。不在赘述。

八:最后

整个安装过程用宝塔面板来部署的话,真的是异常简单,但是安装简单,但是配置就有点麻烦了。所以如果喜欢 Pyone 的话,可以自己去慢慢倒腾。

正文完
 
nuolala
版权声明:本站原创文章,由 nuolala 2023-10-23发表,共计5596字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码