Files
js_tool_clone/resource/install_scripts/linux_install_jd.sh
root e9d164c703 .
2021-07-05 01:09:48 -04:00

144 lines
5.8 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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