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_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
|
||||||
log_error() { echo -e "${RED}[ERROR]${NC} $1" >&2; exit 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 " 3. 删除安装目录: $EASYTIER_DIR"
|
||||||
echo " 4. 删除下载的 ZIP 文件"
|
echo " 4. 删除下载的 ZIP 文件"
|
||||||
echo ""
|
echo ""
|
||||||
read -p "确认卸载?此操作不可恢复 [y/N]: " CONFIRM_UNINSTALL
|
tty_read "确认卸载?此操作不可恢复 [y/N]: " CONFIRM_UNINSTALL
|
||||||
if [[ ! "$CONFIRM_UNINSTALL" =~ ^[Yy]$ ]]; then
|
if [[ ! "$CONFIRM_UNINSTALL" =~ ^[Yy]$ ]]; then
|
||||||
log_info "已取消卸载"
|
log_info "已取消卸载"
|
||||||
exit 0
|
exit 0
|
||||||
@@ -118,7 +129,7 @@ echo -e " ${GREEN}1.${NC} 部署为 ${GREEN}服务端${NC}"
|
|||||||
echo -e " ${YELLOW}2.${NC} 部署为 ${YELLOW}客户端${NC}"
|
echo -e " ${YELLOW}2.${NC} 部署为 ${YELLOW}客户端${NC}"
|
||||||
echo -e " ${RED}3.${NC} ${RED}卸载 Easytier${NC}"
|
echo -e " ${RED}3.${NC} ${RED}卸载 Easytier${NC}"
|
||||||
echo ""
|
echo ""
|
||||||
read -p "请选择 [1/2/3]: " MODE
|
tty_read "请选择 [1/2/3]: " MODE
|
||||||
|
|
||||||
case "$MODE" in
|
case "$MODE" in
|
||||||
3)
|
3)
|
||||||
@@ -127,18 +138,18 @@ case "$MODE" in
|
|||||||
1)
|
1)
|
||||||
ROLE="server"
|
ROLE="server"
|
||||||
# 服务端虚拟 IP
|
# 服务端虚拟 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}"
|
VIRTUAL_IP="${VIRTUAL_IP:-10.126.5.1}"
|
||||||
HOSTNAME=$(hostname)
|
HOSTNAME=$(hostname)
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
ROLE="client"
|
ROLE="client"
|
||||||
# 客户端需要知道服务端信息
|
# 客户端需要知道服务端信息
|
||||||
read -p "请输入服务器公网 IP: " SERVER_PUBLIC_IP
|
tty_read "请输入服务器公网 IP: " SERVER_PUBLIC_IP
|
||||||
if [ -z "$SERVER_PUBLIC_IP" ]; then
|
if [ -z "$SERVER_PUBLIC_IP" ]; then
|
||||||
log_error "服务器公网 IP 不能为空"
|
log_error "服务器公网 IP 不能为空"
|
||||||
fi
|
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}"
|
SERVER_VIRTUAL_IP="${SERVER_VIRTUAL_IP:-10.126.5.1}"
|
||||||
VIRTUAL_IP="dhcp"
|
VIRTUAL_IP="dhcp"
|
||||||
HOSTNAME=$(hostname)
|
HOSTNAME=$(hostname)
|
||||||
@@ -178,7 +189,7 @@ else
|
|||||||
fi
|
fi
|
||||||
echo " 网络名称: $NETWORK_NAME"
|
echo " 网络名称: $NETWORK_NAME"
|
||||||
echo -e "${CYAN}==========================================${NC}"
|
echo -e "${CYAN}==========================================${NC}"
|
||||||
read -p "确认以上信息?[Y/n]: " CONFIRM
|
tty_read "确认以上信息?[Y/n]: " CONFIRM
|
||||||
CONFIRM="${CONFIRM:-Y}"
|
CONFIRM="${CONFIRM:-Y}"
|
||||||
if [[ ! "$CONFIRM" =~ ^[Yy]$ ]]; then
|
if [[ ! "$CONFIRM" =~ ^[Yy]$ ]]; then
|
||||||
exec bash "$0"
|
exec bash "$0"
|
||||||
|
|||||||
Reference in New Issue
Block a user