说明:现在OneDrive
挂载目录程序越来越多了,之前水了很多了,包括PyOne、OneIndex、OLAINDEX和OneList,近期又出现了个CuteOne
,一个基于Python3
的OneDrive
多网盘挂载程序,功能的话,看起来还是挺不错的,支持多盘负载、在线查看、在线上传、下载、多网盘同步、主从同步、在线分享、文件夹权限管理、会员功能、等级制度、付费查看、密码查看、支付模块、主题切换、极速缓存。至于体验的话,可能暂时会差点,毕竟才出来不到一个月的项目,不过看得出来作者也是有理想的人,所以会长期维护更新,让其越来越好,这里就大概介绍下。
截图
功能简述
#驱动列表
其实驱动列表你们把他当成一个分类即可,可是为啥里面可以添加很多网盘呢?
那么重点来了,因为有负载切换的功能,当你一个网盘很多人在看这个网盘的同一个视频
可能会变慢,我猜的; 所以可以切换到另外一个网盘里面的相同资源看,实现切换线路;
然后这么设计是也是为了资源备份用的,意思就是这个驱动列表下的所有网盘内容需要保持一致;
如果不一致,那么就没办法切换负载。
#主从备份
主从备份的功能就是给驱动下的所有网盘进行同步,但是前提是驱动下只能有一个主盘,别的都是从盘;
因为主从备份是拉取主盘的内容,备份到从盘里的; 所以你们可以在主盘里面看到上传按钮,而从盘没有;
这个功能是预防你们网盘被封,然后有备份盘当做备用;这也是一个卖资源盘的办法。
#权限管理
权限管理其实就是给文件夹设置密码啦;
然后你们可以看到还有群组管理,这个是干啥的呢?嗯,就是设置VIP的意思,就是这个群组可以免密查看你加密的文件路径。
#会员管理
会员管理顾名思义啦,他还有一个功能是和权限管理的群组是挂钩的,意思就是会员你可以给他分配群组,
也就是所谓的VIP制度,让会员可以免密查看一些加密的文件夹。
#文件管理
因为有了会员,所以想给会员也能上传文件,然后分享,所以出了这个会员的文件管理,这里可以单独给会员设置存储盘,会员上传的文件就会在这个里面。
#任务管理
这个就是你在驱动列表的网盘里面上传了文件,这里可以看到那个文件当前的同步状态而已。
#开始同步和更新缓存
开始同步只有你点击管理了之后 进入驱动下的网盘列表,你才看到这个按钮,因为他是用来主从备份的,你不需要主从备份,你就别按他;
更新缓存,如果你不更新缓存,你会发现你前端没有文件,这个其实就是拉取一下最新的数据而已。
#文件地址的缓存周期
OneDrive的文件地址是有时效性的,大概五分钟这样吧,所以我这边使用里类推模式来更新地址缓存,什么是类推,就是当这个文件五分钟内有人访问一次,
数据库就会是最新文件的地址,以此类推,如果文件热度很高,地址是一直是最新的,如果热度低,只要有一个人访问,地址就会缓存到最新的到数据库。
安装
Github地址:https://github.com/Hackxiaoya/CuteOne
环境需求:Python3
、Mysql >= 5.5
、MongoDB
、Nginx
/Apache
。
1、安装宝塔
#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
安装完成后,进入面板,点击左侧软件管理,然后安装Mysql
、Mongodb
、Nginx
。且Debian
安装MongoDb
之前还需要使用命令apt install sudo
,不然可能存在MongoDb
启动不了的情况。
安装完成后再点击左侧数据库-添加数据库,设置好Mysql
数据库信息。
2、安装Python3
#CentOS系统
wget https://www.moerats.com/usr/shell/Python3/CentOS_Python3.6.sh && sh CentOS_Python3.6.sh
#Debian系统
wget https://www.moerats.com/usr/shell/Python3/Debian_Python3.6.sh && sh Debian_Python3.6.sh
#Ubuntu系统
apt update
apt install python3-pip python3-setuptools python3-dev python3-wheel build-essential -y
3、安装依赖
wget https://github.com/Hackxiaoya/CuteOne/archive/dev.zip
unzip dev.zip
mv CuteOne-dev CuteOne
cd CuteOne
pip3 install -r requirements.txt
4、运行程序
这里没用作者提供的uwsgi
方式运行,换成了gunicorn
,使用命令:
pip3 install gunicorn
gunicorn app:app -b 0.0.0.0:8000
然后再访问http://ip:8000/install
进行安装。如果打不开该地址的,点击宝塔面板左侧安全-放行8000
端口。
记得安装的时候MongoDB
默认没有设置用户名密码,所以填写Mongodb
的时候,直接留空下一步。
安装完成后,使用Ctrl+C
断开运行,再使用命令后台运行:
gunicorn app:app -b 127.0.0.1:8000 -D
接下来我们需要使用域名反代并添加SSL
,不然访问会有点问题。
5、域名反代
点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL
填入http://127.0.0.1:8000
,再启用反向代理,然后点击SSL
,申请免费的Let's Encrypt
证书,并强制HTTPS
。
接下来再点击配置文件,进行如下修改:
#加上中间三句
location /
{
...
proxy_buffering off;
proxy_cache off;
proxy_set_header X-Forwarded-Proto $scheme;
...
}
此时就可以直接通过域名访问了,首先前台是访问不了的,需要先访问https://domain.com/admin
,然后添加驱动,添加的时候设置成默认主页,不然首页打开会有问题。
再点击驱动管理-添加网盘。
填入相关信息绑定网盘,注意code
那里填code=
和&
之间的代码。
再点击驱动管理的更新缓存即可,然后就可以访问首页了。
这里要注意的是,一般用户注册的时候,上传文件是会有问题的,管理员需要在CuteOne
后台,编辑用户,将用户的用户文件盘
改成添加网盘的ID
即可,这样用户上传文件后,会保存在相应的OneDrive
网盘,并且保存的文件夹以用户ID
命名。
最后作者正在开发一些该程序的模块和插件,目前开发了影视模块、图床模块、迅雷盒子自动推送插件,如果有其它意见的可以直接去Github
提问,地址→传送门。
求个使用宝塔Python项目管理器的搭建教程
更新缓存是灰色的 提示:已有更新任务,请稍后再更新缓存。但是并没有更新任务
这个就不是很清楚了,看这2天要出的新版本咋样。
这么安装新版本呢,又要重头弄过?
是的,貌似还不兼容,到时候看吧
点下载就显示Internal Server Error,歌曲和视频可以在线播放
同这个问题,不知道有解决吗?
这个是由于下载文件名存在中文导致的。
from urllib.parse import quote response = common.file_real_url(drive_id, disk_id, id) data = make_response(redirect(response["downloadUrl"])) data.headers["Content-Disposition"] = "attachment; filename={}".format(quote(response["name"])) return data关于解决办法
打开项目中appmainindexsdrive.py
将down_file函数改成如下:
def down_file(drive_id, disk_id, id):
即可解决。
目前只在ubuntu18.04LTS & python3.6 下确定此法可行。
我大概是第一个解决这个问题的?233333
牛皮,给下次遇到的人参考下。
就是回复换不了行,好尴尬。。
emmm获取code失败啊。。。
提示:
抱歉,登录时遇到问题。
AADSTS500113: No reply address is registered for the application.
大佬有什么办法么
这个清空缓存再试试?
大佬有ERP的源码么
尝试了一下,好像多网盘自动同步的功能不工作,显示正在同步,但是等了一天,没有任何变化
点击登录没反应.....
第一次运行的时候吗?那里需要断开一下,再重新运行就好了。
请问,博主。
用IP地址能登陆admin,用域名登陆admin没反应,要怎么做?
“断开一下”是啥意思。。可不可以具体一点
添加不了云盘,显示Error怎么回事?
添加网盘那里显示Error的话,检查下code值,为=和&直接的值,如果还不行,那重新申请应用机密,然后再获取code,一般多试几次就好了
debian宝塔用脚本安装Py3完成的时候,得把宝塔默认的py2.7改成py3才能运行。
rm -f /usr/bin/python
ln -s /usr/local/bin/python3 /usr/bin/python
好的,我之前测试好像没这个问题,如果有那可以参考你这个解决方法。
现阶段这几个哪种好点?都没接触过
这个只能自己慢慢体验了。如果挂载多网盘的话就pyone、只是单纯做下载站就onelist
cuteone是完全不推介吗
这个看喜欢哪个,毕竟前几个都有段时间了,问题会少些