Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
51c23b4cca |
23
main.sh
23
main.sh
@@ -21,6 +21,17 @@ log_info() { echo -e "${GREEN}[INFO]${NC} $1"; }
|
||||
log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
|
||||
log_error() { echo -e "${RED}[ERROR]${NC} $1" >&2; exit 1; }
|
||||
|
||||
# 从终端读取用户输入(兼容 curl | bash 管道执行)
|
||||
tty_read() {
|
||||
local prompt="$1" varname="$2"
|
||||
if [ -r /dev/tty ]; then
|
||||
echo -ne "$prompt" > /dev/tty
|
||||
read -r "$varname" < /dev/tty
|
||||
else
|
||||
log_error "无法打开终端 /dev/tty,请确认在交互式终端中运行"
|
||||
fi
|
||||
}
|
||||
|
||||
# ============================================
|
||||
# 用户配置变量(按需修改)
|
||||
# ============================================
|
||||
@@ -70,7 +81,7 @@ uninstall_easytier() {
|
||||
echo " 3. 删除安装目录: $EASYTIER_DIR"
|
||||
echo " 4. 删除下载的 ZIP 文件"
|
||||
echo ""
|
||||
read -p "确认卸载?此操作不可恢复 [y/N]: " CONFIRM_UNINSTALL
|
||||
tty_read "确认卸载?此操作不可恢复 [y/N]: " CONFIRM_UNINSTALL
|
||||
if [[ ! "$CONFIRM_UNINSTALL" =~ ^[Yy]$ ]]; then
|
||||
log_info "已取消卸载"
|
||||
exit 0
|
||||
@@ -118,7 +129,7 @@ echo -e " ${GREEN}1.${NC} 部署为 ${GREEN}服务端${NC}"
|
||||
echo -e " ${YELLOW}2.${NC} 部署为 ${YELLOW}客户端${NC}"
|
||||
echo -e " ${RED}3.${NC} ${RED}卸载 Easytier${NC}"
|
||||
echo ""
|
||||
read -p "请选择 [1/2/3]: " MODE
|
||||
tty_read "请选择 [1/2/3]: " MODE
|
||||
|
||||
case "$MODE" in
|
||||
3)
|
||||
@@ -127,18 +138,18 @@ case "$MODE" in
|
||||
1)
|
||||
ROLE="server"
|
||||
# 服务端虚拟 IP
|
||||
read -p "请输入服务端虚拟 IP [10.126.5.1]: " VIRTUAL_IP
|
||||
tty_read "请输入服务端虚拟 IP [10.126.5.1]: " VIRTUAL_IP
|
||||
VIRTUAL_IP="${VIRTUAL_IP:-10.126.5.1}"
|
||||
HOSTNAME=$(hostname)
|
||||
;;
|
||||
2)
|
||||
ROLE="client"
|
||||
# 客户端需要知道服务端信息
|
||||
read -p "请输入服务器公网 IP: " SERVER_PUBLIC_IP
|
||||
tty_read "请输入服务器公网 IP: " SERVER_PUBLIC_IP
|
||||
if [ -z "$SERVER_PUBLIC_IP" ]; then
|
||||
log_error "服务器公网 IP 不能为空"
|
||||
fi
|
||||
read -p "请输入服务端虚拟 IP [10.126.5.1]: " SERVER_VIRTUAL_IP
|
||||
tty_read "请输入服务端虚拟 IP [10.126.5.1]: " SERVER_VIRTUAL_IP
|
||||
SERVER_VIRTUAL_IP="${SERVER_VIRTUAL_IP:-10.126.5.1}"
|
||||
VIRTUAL_IP="dhcp"
|
||||
HOSTNAME=$(hostname)
|
||||
@@ -178,7 +189,7 @@ else
|
||||
fi
|
||||
echo " 网络名称: $NETWORK_NAME"
|
||||
echo -e "${CYAN}==========================================${NC}"
|
||||
read -p "确认以上信息?[Y/n]: " CONFIRM
|
||||
tty_read "确认以上信息?[Y/n]: " CONFIRM
|
||||
CONFIRM="${CONFIRM:-Y}"
|
||||
if [[ ! "$CONFIRM" =~ ^[Yy]$ ]]; then
|
||||
exec bash "$0"
|
||||
|
||||
Reference in New Issue
Block a user