#!/bin/bash
#VNET 一键部署脚本
function check_system(){
    if [[ -f /etc/redhat-release ]]; then
		release="centos"
	elif cat /etc/issue | grep -q -E -i "debian"; then
		release="debian"
	elif cat /etc/issue | grep -q -E -i "ubuntu"; then
		release="ubuntu"
	elif cat /etc/issue | grep -q -E -i "centos|red hat|redhat"; then
		release="centos"
	elif cat /proc/version | grep -q -E -i "debian"; then
		release="debian"
	elif cat /proc/version | grep -q -E -i "ubuntu"; then
		release="ubuntu"
	elif cat /proc/version | grep -q -E -i "centos|red hat|redhat"; then
		release="centos"
    fi
	bit=`uname -m`
	if [[ ${release} == "centos" ]] && [[ ${bit} == "x86_64" ]]; then
	echo -e "当前系统为[${release} ${bit}],\033[32m  可以搭建\033[0m"
	else 
	echo -e "当前系统为[${release} ${bit}],\033[31m 不可以搭建 \033[0m"
	echo -e "\033[31m 脚本停止运行(●°u°●)​ 」,请更换centos7.x 64位系统运行此脚本 \033[0m"
	exit 0;
	fi
}

function install_vnet(){
    # 检测依赖
    if ! [ -x "$(command -v wget)" ]; then
    echo "缺少wget,自动安装"
    yum install wget -y
    fi

    echo '设置每天几点几分重启节点'
    read -p " 按下回车默认0时, 小时(0-23): " -r -e -i 7 hour
    read -p " 按下回车默认30分,分钟(0-59): " -r -e -i 30 minute
    read -p " 面板地址: " -r -e -i https://example.com  api_host
    read -p " 面板通讯密钥: " -r -e -i xxxxx api_key
    read -p " 节点id: " -r -e -i 1 node_id

    cd /root/
    #清理上次下载
    rm -rf vnet_latest.tar.gz vnet

    #下载vnet最新版本压缩包
    wget https://kitami-hk.oss-cn-hongkong.aliyuncs.com/vnet_v4.tar.gz -O vnet_latest.tar.gz
    mkdir -p /root/vnet
    tar -xzvf vnet_latest.tar.gz -C vnet

    cd /root/vnet
    chmod +x vnet

    # 生成配置文件
    cat > config.json << EOF
{
    "node_id":$node_id,
    "key": "$api_key",
    "api_host": "$api_host"
}
EOF
    echo "配置已生成"

    # 服务安装
    ln -P vnet.service /etc/systemd/system/
    systemctl daemon-reload
    systemctl enable vnet
    systemctl start vnet
    echo "服务已安装"

    # 关闭防火墙
    systemctl stop firewalld
	systemctl disable firewalld.service
    echo "防火墙已关闭"

	echo "$minute $hour * * * root /sbin/reboot" >> /etc/crontab
    echo "已设置自动重启"
}

check_system
install_vnet