#!/usr/bin/env bash # ============================================================================== # 模块:基础环境、常量定义与通用日志工具 # ============================================================================== # 颜色代码 CLR_RED="\033[31m" CLR_GREEN="\033[32m" CLR_YELLOW="\033[33m" CLR_BLUE="\033[36m" CLR_PURPLE="\033[35m" CLR_RESET="\033[0m" CLR_BOLD="\033[1m" # 路径常量 INSTALL_DIR="/etc/sing-box" CONFIG_FILE="${INSTALL_DIR}/config.json" META_FILE="${INSTALL_DIR}/meta.json" BIN_DIR="/usr/local/bin" BIN_PATH="${BIN_DIR}/sing-box" SERVICE_NAME="sing-box" SERVICE_FILE="/etc/systemd/system/${SERVICE_NAME}.service" SCRIPT_LINK="${BIN_DIR}/sb" # 日志输出函数 log_info() { echo -e "${CLR_BLUE}[INFO]${CLR_RESET} $1" } log_success() { echo -e "${CLR_GREEN}[SUCCESS]${CLR_RESET} $1" } log_warn() { echo -e "${CLR_YELLOW}[WARN]${CLR_RESET} $1" } log_error() { echo -e "${CLR_RED}[ERROR]${CLR_RESET} $1" >&2 } # 权限校验:必须以 root 权限运行 check_root() { if [[ $EUID -ne 0 ]]; then log_error "本脚本需要 root 权限,请使用 sudo 或切换至 root 用户执行!" exit 1 fi }