PyOne|一款基于Python的OneDrive文件本地化浏览系统

tengxunyun cera

说明:之前博主介绍过一个OneDrive网盘的目录索引程序OneIndex,而且发了不少安装和使用教程了,介绍查看:OneIndex,今天再介绍个类似的工具PyOne,基于Flask开发的,由于是模仿的OneIndex,自然功能就差不多,就是界面好看很多,后台也可以直接上传编辑文件,不过感觉有点小BUG,这个就等作者慢慢完善了,这里说一下安装教程。

截图


说明

由于该程序是通过Azure directory应用的API功能获取文件列表、文件下载直链,所以就不能在OneDrive个人版上使用了,目前只支持世纪互联版、OneDrive商业版、OneDrive教育版,如果你没有这些账号,可以使用OneIndex,这个是支持个人版的。

安装

Github地址:https://github.com/abbeyokgo/PyOne

环境要求:Python2.7RedisMongodbNginx

1、安装宝塔

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

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

2、拉取源码
使用命令:

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

3、注册Azure directory应用
注册AD应用,并获取api,然后才能通过api获取文件列表、文件下载直链。具体获取方法可查看之前的文章:获取Azure directory应用的API,也就是获取参数那个步骤,依次得到Client IDSecretReply URL

事实上你会发现获取后可能用不了(最起码目前新注册的是不能用的,也许是博主某方面姿势不对,这个就看有不有大佬成功过),不过不用担心,作者已经内置了这些参数,直接使用就行了,如果发现作者的用不了,可以使用博主提供的参数:

#按理说该参数是永久有效的
client_id="ea2b36f6-b8ad-40be-bc0f-e5e4a4a7d4fa"
client_secret="h27zG8pr8BNsLU0JbBh5AOznNS5Of5Y540l/koc7048="
reply_url="https://onedrive.live.com/about/business/"

4、修改配置
配置文件均在config.py文件中进行修改。

设置API,修改如下:

#该步骤可以跳过,作者已经内置了参数,直接使用即可,如果依然不行,可使用博主提供的
修改config.pyclient_id值为应用程序ID
修改config.pyredirect_uri值为设置的域名
修改config.pyclient_secret值为密钥

其它设置:

#修改config.py的config_dir值为源码所在目录下的网站源码绝对路径(假如源码放在/root/xx.com目录下,则这里修改为:/root/PyOne)
#修改config.py的share_path值为你要分享的onedrive文件夹,如果是分享全部的onedrive文件,则为/
#修改config.py的od_type值为你的onedrive类型:
onedrive适合国际版和教育版
onedrive_21v适合世纪互联版
#修改config.py的app_url值为你的onedrive链接,比如:https://your-my.sharepoing.com/,最后必须带’/’,如果不知道你的onedrive个人域名,登录一下你的onedrive看一下域名就知道了。注意国际版的onedrive链接是com结尾,世纪互联版的是cn结尾
#修改config.py的allow_site值设置允许调用的域名,起到防盗链的功能

5、开始安装
安装pip

#CentOS 6.x 32位
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum install -y python-pip

#CentOS 6.x 64位
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install -y python-pip

#CentOS 7.x
yum install -y epel-release
yum install -y python-pip
#如果CentOS 7安装出现No package python-pip available,可以用以下命令进行安装
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

#Debian/Ubuntu系统
apt-get -y update
apt-get -y install python-pip

安装程序所需的依赖:

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

开始运行:

gunicorn -w4 -b 0.0.0.0:34567 run:app

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

觉得没问题了,那就使用screen在后台运行,教程参考:使用screen来实现多任务不断线操作命令。

域名设置

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

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

#加上中间两句
location / 
    {
        ...
        
        proxy_buffering off;
          proxy_cache off;
                
        ...
    }

最后就可以进入域名打开授权页面了(这里可能需要梯子)。再登陆你的OneDrive for Business账号,登陆成功后复制地址栏中的地址,并提取code的字段(就是code=后面至&前面),粘贴到网站的验证码框即可,后台地址:http://xx.com/admin,默认密码:PyOne,可以在config.py里进行修改。

开机启动

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

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

主要修改两个地方:

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

修改之后运行下面的命令,设置开机启动

echo "supervisord -c 源码目录/supervisord.conf" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

重启生效。

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

supervisord -c 源码目录/supervisord.conf

cera aliyun tengxunyun cloudiplc

相关推荐

PyOne|一款支持绑定多网盘的OneDrive文件本地化浏览系统

截图 更新 【2018.11.19】 新增离线下载功能,依赖Aria2。 【2018.11.15】 PyOne喜迎3.0版本,支持绑定多个onedrive网盘,再也不怕5T小姐姐不够看了。 特性 #简单易用 只需简单设置,即可做一个onedrive文件列表分享程序。 #功能丰富 可设置文件夹密码。只需在文件夹添加.password文件,内容为密码内容,即可在该文件夹设置密码 可设置README。 #后台强大 防盗链设置。 后台上传文件。 后台更新文件。 后台设置统计代码 后台管理onedrive文件。 直接删除onedrive文件 直接在后台给文件夹添加.password和README和HEAD 直接在后台编辑文本文件。 上传本地文件至onedrive 支持创建文件夹 支持移动文件(仅限单文件) #支持绑定多网盘 #支持离线下载 安装 Github地址:https://github.com/abbeyokgo/PyOne 使用文档:https://wiki.pyone.me/ 账号支持:只支持onedrive商业版、教育版、个人版 环境要求:Python2.7、Redis、Mongodb、Nginx 1、安装宝塔 #Centos系统 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh #Ubuntu系统 wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh #Debian系统 …

LNMP|Linux|Nginx|MySQL|Python|一键包

项目首页 https://lnmp.me/ 一键安装命令: yum install -y wget && wget -O install.sh https://lnmp.me/install.sh –no-check-certificate && sh install.sh   GitHub : https://github.com/getbin/lnmp 仅支持CentOS7   Nginx 1.14.2 MySQL 5.6.42 Python 3.6.6 PIP 18.1

使用Docker安装OneDrive网盘管理工具PyOne

安装 Github地址:https://github.com/iiiiiii1/Docker-PyOne 1、安装Docker #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum update -y yum -y install docker-io service docker start chkconfig docker on #CentOS 7、Debian、Ubuntu curl -sSL https://get.docker.com/ | sh systemctl start docker systemctl enable docker.service 2、安装PyOne #拉取Dockerfile相关文件 git clone https://github.com/iiiiiii1/Docker-PyOne.git #进入文件夹下载Pyone源码 cd Docker-PyOne git clone https://github.com/abbeyokgo/PyOne.git 如果你要修改PyOne后台密码和增加更多的网盘,可以提前编辑config.py.sample,不修改就默认。也可以修改下Aria2配置文件,与路径有关的参数别改,密匙什么的都可以改,不改的话默认moerats。 #构建镜像 docker build -t moerats/pyone . #启动镜像 docker run …

萌音影视|一款基于laravel框架的在线影视应用

萌音影视是一款基于优雅的laravel框架和一点都不妹子的妹子UI的在线影视应用,特点是无数据库、无后台模式,仅只有一个配置文件(config/web.php),而且无广告,支持vip解析,官方源,速度快,多频道,多分类。而且即将新增独立的频道、首页电视台直播、多解析接口等功能,观看时不走自己服务器流量,感觉挺不错的,有兴趣的可以搭建个玩玩。 截图 安装 Github地址:https://github.com/178146582/moeins 环境要求:Nginx/Apache、PHP 5.6+,curl、OpenSSL扩展,Composer 1、安装宝塔 #Centos系统 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh #Ubuntu系统 wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh #Debian系统 wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh 安装完成后,进入面板,点击左侧软件管理,然后安装PHP 5.6+、Nginx或Apache。 2、安装Composer curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer 3、安装源码 点击左侧网站,添加站点,使用命令: cd www/wwwroot/xx.com git clone https://github.com/178146582/moeins.git …

微信扫一扫,分享到朋友圈

PyOne|一款基于Python的OneDrive文件本地化浏览系统