#!/bin/bash

red_echo() {
    echo -e "\033[41m$1\033[0m"
}

big_pkg_install() {
    local packages=("$@")  # 将传入的参数转换为数组
    local missing_packages=()  # 用于存储未安装的软件包

    # 检查每个软件包是否已安装
    for package in "${packages[@]}"; do
        if ! dpkg -l | grep -qw "$package"; then
            missing_packages+=("$package")  # 如果未安装，添加到未安装列表
        fi
    done

    # 如果有未安装的软件包，一次性安装它们
    if [ ${#missing_packages[@]} -ne 0 ]; then
        echo "正在安装缺失的软件包: ${missing_packages[*]}"
        apt -y install "${missing_packages[@]}"
    else
        echo "所有软件包均已安装."
    fi
}

red_echo "step 1: 安装frpc"
red_echo "step 1.1: 安装 vim, openssh-server"

big_pkg_install vim openssh-server unzip

red_echo "step 1.2: 下载frpc 程序及配置文件"

cd /srv
wget -O frp.zip http://deploy.dev.opmonitor.com/ECTMS/2-frp.zip

unzip -o frp.zip
cd /srv/frp

red_echo "step 1.3: 修改frpc.toml 配置文件"
rm -f frpc.toml

cat <<EOT>> frpc.toml
serverAddr = "gpic_frp.opmonitor.com"
serverPort = 17000

[[proxies]]
name = "gpic-frp-$1"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = $1
EOT

red_echo "step 1.4: 设置frpc权限"

chmod +x frpc

red_echo "step 1.5: 配置开机启动"

cp frpc.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable frpc.service
systemctl restart frpc.service