feat: initial commit of clean multi-protocol singbox core script
This commit is contained in:
+48
@@ -0,0 +1,48 @@
|
||||
#!/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
|
||||
}
|
||||
Reference in New Issue
Block a user