You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

281 lines
11 KiB

#!/etc/bash
#check system
check_system(){
if [[ -f /etc/redhat-release ]]; then
release="centos"
elif cat /etc/issue | grep -Eqi "debian"; then
release="debian"
elif cat /etc/issue | grep -Eqi "ubuntu"; then
release="ubuntu"
elif cat /etc/issue | grep -Eqi "centos|red hat|redhat"; then
release="centos"
elif cat /proc/version | grep -Eqi "debian"; then
release="debian"
elif cat /proc/version | grep -Eqi "ubuntu"; then
release="ubuntu"
elif cat /proc/version | grep -Eqi "centos|red hat|redhat"; then
release="centos"
fi
}
#check version
check_version(){
if [[ -s /etc/redhat-release ]]; then
version=`cat /etc/redhat-release|sed -r 's/.* ([0-9]+)\..*/\1/'`
else
version=`grep -oE "[0-9.]+" /etc/issue | cut -d . -f 1`
fi
bit=`uname -m`
if [[ ${bit} = "x86_64" ]]; then
bit="64"
else
bit="32"
fi
if [[ "${release}" = "centos" && ${version} -ge 7 ]];then
echo -e "${Blue}当前系统为CentOS ${version}${Font} "
elif [[ "${release}" = "debian" && ${version} -ge 8 ]];then
echo -e "${Blue}当前系统为Debian ${version}${Font} "
elif [[ "${release}" = "ubuntu" && ${version} -ge 16 ]];then
echo -e "${Blue}当前系统为Ubuntu ${version}${Font} "
else
echo -e "${Red}脚本不支持当前系统,安装中断!${Font} "
exit 1
fi
for EXE in grep cut xargs systemctl ip awk
do
if ! type -p ${EXE}; then
echo -e "${Red}系统精简厉害,脚本自动退出${Font}"
exit 1
fi
done
}
check_system
check_version
#11.20
del_rubbish(){
python -c "from function import *;mon_db.down_db.delete_many({});"
}
#2019.01.10
update_sp(){
ps -aux | grep supervisord | awk '{print "kill -9 " $2}'|sh
rm -rf supervisord.conf
cp supervisord.conf.sample supervisord.conf
supervisord -c supervisord.conf
}
#2019.01.18
update_config(){
num=`cat self_config.py | grep "balance" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'balance="False"' >> self_config.py
fi
num=`cat self_config.py | grep "robots" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'robots="""
User-agent: *
Disallow: /
"""' >> self_config.py
fi
num=`cat self_config.py | grep "admin_prefix" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'admin_prefix="admin"' >> self_config.py
fi
num=`cat self_config.py | grep "thread_num" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'thread_num="5"' >> self_config.py
fi
num=`cat self_config.py | grep "verify_url" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'verify_url="False"' >> self_config.py
fi
num=`cat self_config.py | grep "show_redirect" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'show_redirect="exe"' >> self_config.py
fi
num=`cat self_config.py | grep "show_image" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'show_image="bmp,jpg,jpeg,png,gif"' >> self_config.py
fi
num=`cat self_config.py | grep "show_video" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'show_video="mp4,webm"' >> self_config.py
fi
num=`cat self_config.py | grep "show_dash" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'show_dash="avi,mpg,mpeg,rm,rmvb,mov,wmv,mkv,asf"' >> self_config.py
fi
num=`cat self_config.py | grep "show_audio" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'show_audio="ogg,mp3,wav,aac,flac,m4a"' >> self_config.py
fi
num=`cat self_config.py | grep "show_code" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'show_code="html,htm,php,py,css,go,java,js,json,txt,sh,md"' >> self_config.py
fi
num=`cat self_config.py | grep "show_doc" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'show_doc="csv,doc,docx,odp,ods,odt,pot,potm,potx,pps,ppsx,ppsxm,ppt,pptm,pptx,rtf,xls,xlsx"' >> self_config.py
fi
value=`cat /root/.aria2/aria2.conf | grep "rpc-secret=" | sed -e 's/\(.*\)=\(.*\)/\2/g'`
if [[ $value == "" ]]; then
secret=`cat self_config.py | grep "ARIA2_SECRET=" | sed -e 's/\(.*\)=\"\(.*\)\"/\2/g'`
sed -i "s/rpc-secret=/rpc-secret=${secret}/g" /root/.aria2/aria2.conf
fi
num=`cat self_config.py | grep "delete_after_upload" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'delete_after_upload="False"' >> self_config.py
fi
num=`cat self_config.py | grep "redirect_file" | wc -l`
if [ $num == 0 ]; then
echo '' >> self_config.py
echo 'redirect_file="False"' >> self_config.py
fi
}
#2019.02.15
upgrade_to4(){
echo '-------------------------------'
echo '2019.02.15,PyOne升级为4.0版本!!'
echo '2019.02.15之前安装的PyOne需重新安装!'
echo '-------------------------------'
}
#2019.02.16
upgrade(){
num=`ls | grep .install | wc -l`
if [ $num == 0 ]; then
touch .install
fi
update_config
if [[ "${release}" = "centos" ]]; then
yum install gcc libffi-devel python-devel openssl-devel lsof -y
else
apt update -y
apt install -y make git cron build-essential python-dev lsof unzip python-setuptools python-wheel libffi-devel libssl-dev
fi
pip install -r requirements.txt -U
}
change_redirect(){
sed -i 's/auth.pyone.me/pyoneauth.github.io/' self_config.py
}
restart(){
num=`ls /etc/systemd/system | grep pyone.service | wc -l`
if [ $num == 0 ]; then
supervisorctl -c supervisord.conf restart pyone
else
systemctl restart pyone
fi
}
#执行
upgrade_to4
upgrade
change_redirect
echo "2018.11.20更新版本,修复了磁力链接下载的bug&上传、展示有特殊字符的文件出问题的bug。"
echo "2018.11.21更新版本,优化磁力下载功能-可选下载文件。"
echo "2018.12.04更新版本,优化磁力下载界面"
echo "2018.12.10更新版本,修复特定分享目录后,二级目录设置密码出错的bug"
echo "2018.12.20更新版本,基础设置之后无需重启网站啦!如果你一直有保存之后不生效的问题,那么本次直接重启服务器吧!"
echo "2019.01.10更新版本,1. 修复防盗链失效的bug;2. 优化开机启动脚本。"
echo "2019.01.13更新版本,修复后台修改密码不生效的bug"
echo "2019.01.14更新版本,修复bug"
echo "2019.01.18更新版本,修复bug;添加搜索功能"
echo "2019.01.21更新版本,添加功能:后台直接添加盘符...避免小白添加配置出现各种问题"
echo "2019.01.23更新版本:修复设置了共享目录后设置README/HEAD/密码出错的bug;优化更新文件列表假死的bug"
echo "2019.01.24更新版本:支持设置加密文件夹下的文件;优化UI"
echo "2019.01.28更新版本:支持自定义代码!"
echo "2019.01.29更新版本:支持设置网站标题前缀;支持自定义主题(待更新设计标准)"
echo "2019.01.30更新版本:提交新主题"
echo "2019.02.15更新版本:新增一键卸载PyOne功能!"
echo "2019.02.16更新版本:优化PyOne4.0安装流程!"
echo "2019.02.19更新版本:优化细节"
echo "2019.02.20更新版本:1. 填坑!2. 后台可配置mongo和redis信息;3. 优化离线下载体验;4. 输出日志"
echo "2019.02.21更新版本:修复自定义代码bug"
echo "2019.02.22更新版本:优化离线下载功能(重启网站后任务不中断)"
echo "2019.02.23更新版本:1. 修复上传bug;2. 优化检测机制"
echo "2019.02.26更新版本:优化上传速度!"
echo "2019.02.27更新版本:修复创建文件夹bug"
echo "2019.02.28更新版本:美化500&404页面"
echo "2019.03.05更新版本:重构&优化上传界面"
echo "2019.03.08更新版本:优化逻辑&修复文件夹连级加密失效的bug&添加新主题"
echo "2019.03.14更新版本:后台输出实时日志&&一键升级PyOne"
echo "2019.03.15更新版本:修复bug&优化layui主题&可设置默认排序字段"
echo "2019.03.19更新版本:可自定义默认盘&可设置默认排序方法"
echo "2019.03.22更新版本:可能修复了离线下载一直占用内存的bug"
echo "2019.03.23更新版本:修复网页查看日志后一直驻后台的bug"
echo "2019.03.26更新版本:修复上一个版本带来的新bug"
echo "2019.05.07更新版本:1、修复若干bug,并带来若干bug;2、重磅更新:【网盘搬家(beta)】功能!!"
echo "2019.05.09更新版本:1、修复【网盘搬家】部分bug;2、修复【更新列表】增量更新不起效的bug;3、【更新列表】可选网盘更新啦!"
echo "2019.05.10更新版本:1、新增robots.txt自定义;2、离线下载功能独立出来"
echo "2019.05.11更新版本:1、修复离线下载bug;2、优化离线下载界面体验"
echo "2019.05.21更新版本:修复若干bug"
echo "2019.05.22更新版本:支持自定义后台路径(更安全)"
echo "2019.05.23更新版本:新增负载均衡功能!"
echo "2019.05.24更新版本:支持世纪互联版本onedrive"
echo "2019.05.25更新版本:参考olaindex,视频和音频出错自动加载&每25分钟重新加载一次"
echo "2019.05.28更新版本:修复开启负债均衡之后,文件名有特殊符号播放不了的bug"
echo "2019.05.29更新版本:支持自定义线程数"
echo "2019.05.31更新版本:新增功能:1)下载链接验证开关;优化:1)aria2信息不对时,无法添加任务"
echo "2019.06.13更新版本:新增功能:文件展示设置"
echo "2019.06.14更新版本:稍微完善一下日志记录;分享页面取消token验证;修复开启下载验证之后,后台文件打开失败的bug;新增内嵌窗口"
echo "2019.07.24更新版本:1. 优化安装脚本,适应Centos7、Debian9+、Ubuntu16+等系统;2、优化安装流程"
echo "2019.07.26更新版本:修复若干bug"
echo "2019.07.29更新版本:1. 修复上传文件bug;2. 添加自定义选项"
echo "2019.07.30更新版本:1. 支持pdf预览;2. 支持流量转发"
echo "2019.07.31更新版本:1. 优化流量转发; 2. PDF预览更换为pdf.js"
echo "---------------------------------------------------------------"
echo "更新完成!"
echo "如果网站无法访问,请检查config.py!"
echo "如果一直提示mongodb或者redis未运行,请自行安装lsof"
echo "---------------------------------------------------------------"
echo
echo "PyOne交流群:864996565"
echo "PyOne交流群TG:https://t.me/joinchat/JQOOug6MY11gy_MiXTmqIA"
echo "end"
restart