mirror of
https://github.com/lan-tianxiang/JS_TOOL.git
synced 2025-07-13 20:22:35 +08:00
144 lines
5.8 KiB
Bash
Executable File
144 lines
5.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
clear
|
||
echo -e "\n"
|
||
echo -e "\n开始部署jd_shell\n"
|
||
|
||
ShellName=$0
|
||
dir_shell=$(dirname $(readlink -f "$0"))
|
||
JdDir=$dir_shell/jd
|
||
|
||
## 判断使用系统
|
||
detect_system() {
|
||
SYSTEM=UnKnow
|
||
[[ -n $(uname -a | grep Android) ]] && SYSTEM=Android
|
||
[[ -n $(uname -s | grep Darwin) ]] && SYSTEM=Macos
|
||
[[ -n $(ls /etc | grep lsb-release) ]] && SYSTEM=Ubuntu
|
||
[[ -n $(ls /etc | grep debian_version) ]] && SYSTEM=Debian
|
||
[[ -n $(ls /etc | grep redhat-release) ]] && SYSTEM=Centos
|
||
[ -s /proc/1/cgroup ] && [[ -n $(cat /proc/1/cgroup | grep cpuset | grep scope) ]] && SYSTEM=Docker
|
||
[ -s /proc/version ] && [[ -n $(cat /proc/version | grep Openwar) ]] && SYSTEM=Openwar
|
||
}
|
||
|
||
Welcome() {
|
||
echo -e '#####################################################'
|
||
echo -e "\n正在为您安装环境(依赖):\ngit wget curl perl moreutils node.js yarn/npm\n"
|
||
echo -e '#####################################################'
|
||
echo -e "除了安卓,由于其它系统安装软件可能需要使用sudo,本脚本除安装环境外不会调用再次任何root的执行权限\n"
|
||
echo -e "若担心安全风险,可选择自行安装环境!!\n"
|
||
echo -e '#####################################################'
|
||
echo -e "检测到系统似乎为 $SYSTEM ,请输入你的系统对应序号 :\n"
|
||
echo -e "1 debian/ubuntu/armbian/OpenMediaVault,以及其他debian系\n"
|
||
echo -e "2 CentOS/RedHat/Fedora等红帽系\n"
|
||
echo -e "3 Termux为主的安卓系\n"
|
||
echo -e "4 环境已安装,直接开始部署脚本\n"
|
||
echo -e "5 自己手动安装环境(退出)\n"
|
||
echo -e "时间$(date +%Y-%m-%d) $(date +%H:%M)"
|
||
echo -e ''
|
||
echo -e '#####################################################'
|
||
echo -e ''
|
||
read -n1 LINUX_TYPE
|
||
case $LINUX_TYPE in
|
||
1)
|
||
echo " debian/ubuntu/armbian/OpenMediaVault,以及其他debian系"
|
||
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
|
||
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
||
sudo apt update && sudo apt install -y git wget curl perl yarn npm
|
||
if [ ! -x "$(command -v node)" ] || [ ! -x "$(command -v npm)" ] || [ ! -x "$(command -v git)" ] || [ ! -x "$(command -v curl)" ] || [ ! -x "$(command -v wget)" ] || [ ! -x "$(command -v perl)" ]; then
|
||
echo -e "\n依赖未安装完整,请重新运行该脚本且切换良好的网络环境!\n"
|
||
exit 1
|
||
else
|
||
echo -e "\n依赖安装完成,开始部署脚本,否则按 Ctrl + C 退出!\n"
|
||
INSTALLATION_CLONE
|
||
TG_BOT
|
||
fi
|
||
;;
|
||
2)
|
||
echo " CentOS/RedHat/Fedora等红帽系"
|
||
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
|
||
sudo yum -y update && sudo yum -y install git wget curl perl yarn npm
|
||
if [ ! -x "$(command -v node)" ] || [ ! -x "$(command -v npm)" ] || [ ! -x "$(command -v git)" ] || [ ! -x "$(command -v curl)" ] || [ ! -x "$(command -v wget)" ] || [ ! -x "$(command -v perl)" ]; then
|
||
echo -e "\n依赖未安装完整,请重新运行该脚本且切换良好的网络环境!\n"
|
||
exit 1
|
||
else
|
||
echo -e "\n依赖安装完成,开始部署脚本,否则按 Ctrl + C 退出!\n"
|
||
INSTALLATION_CLONE
|
||
TG_BOT
|
||
fi
|
||
;;
|
||
3)
|
||
echo " Termux为主的安卓系"
|
||
pkg update -y && pkg install -y git perl nodejs-lts yarn wget curl nano cronie
|
||
if [ ! -x "$(command -v node)" ] || [ ! -x "$(command -v npm)" ] || [ ! -x "$(command -v git)" ] || [ ! -x "$(command -v curl)" ] || [ ! -x "$(command -v wget)" ] || [ ! -x "$(command -v perl)" ]; then
|
||
echo -e "\n依赖未安装完整,请重新运行该脚本且切换良好的网络环境!\n"
|
||
exit 1
|
||
else
|
||
echo -e "\n依赖安装完成,开始部署脚本,否则按 Ctrl + C 退出!\n"
|
||
INSTALLATION_CLONE
|
||
TG_BOT
|
||
fi
|
||
;;
|
||
4)
|
||
echo " 已安装(继续)"
|
||
if [ ! -x "$(command -v node)" ] || [ ! -x "$(command -v git)" ] || [ ! -x "$(command -v curl)" ] || [ ! -x "$(command -v wget)" ] || [ ! -x "$(command -v perl)" ]; then
|
||
echo -e "\n依赖未安装完整!\n"
|
||
exit 1
|
||
else
|
||
echo -e "\n依赖已安装,开始部署脚本,否则按 Ctrl + C 退出!\n"
|
||
INSTALLATION_CLONE
|
||
TG_BOT
|
||
fi
|
||
;;
|
||
*)
|
||
echo " 自己手动安装环境(退出)"
|
||
;;
|
||
esac
|
||
}
|
||
|
||
INSTALLATION_CLONE() {
|
||
echo -e "\n1. 获取源码"
|
||
[ -d $JdDir ] && mv $JdDir $JdDir.bak && echo "检测到已有 $JdDir 目录,已备份为 $JdDir.bak"
|
||
git clone -b A1 https://gitee.com/highdimen/js_tool.git $JdDir
|
||
|
||
echo -e "\n2. 配置文件"
|
||
crontab -l >$JdDir/old_crontab
|
||
npm config set registry https://registry.npm.taobao.org
|
||
echo -e "\n3. 执行 git_pull.sh 进行脚本更新以及定时文件更新"
|
||
mkdir $JdDir/config
|
||
[ ! -f $JdDir/config/config.sh ] && cp -f $JdDir/sample/config.sh.sample $JdDir/config/config.sh
|
||
[ ! -f $JdDir/config/cookie.sh ] && cp -f $JdDir/sample/cookie.sh.sample $JdDir/config/cookie.sh
|
||
[ ! -f $JdDir/config/crontab.list ] && cp -f $JdDir/sample/crontab.list.sample $JdDir/config/crontab.list
|
||
[ ! -f $JdDir/config/sharecode.sh ] && cp -f $JdDir/sample/sharecode.sh.sample $JdDir/config/sharecode.sh
|
||
bash $JdDir/jd.sh update
|
||
|
||
echo -e "\n注意:原有定时任务已备份在 $JdDir/old_crontab"
|
||
rm -f $dir_shell/${ShellName}
|
||
|
||
echo -e "\n安装完成!!!!"
|
||
}
|
||
|
||
TG_BOT() {
|
||
echo -e "\n 是否启用TG机器人功能,需额外占据200mb左右的空间,可能出现占用较大运行内存,cpu资源加重等情况"
|
||
echo -e "\n 任意键暂不启用,后续仍可以开启。输入 1 现在开启。"
|
||
read -n1 PY_TYPE
|
||
case $PY_TYPE in
|
||
1)
|
||
case $LINUX_TYPE in
|
||
1)
|
||
sudo apt install -y python3 gcc
|
||
;;
|
||
2)
|
||
sudo yum install -y python3 gcc
|
||
;;
|
||
3)
|
||
pkg install -y python3 gcc
|
||
;;
|
||
esac
|
||
;;
|
||
*)
|
||
exit 0
|
||
;;
|
||
esac
|
||
}
|
||
detect_system
|
||
Welcome
|