#!/usr/bin/env bash set -euo pipefail PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" SERVICE_NAME="clash-for-linux" UNIT_PATH="/etc/systemd/system/${SERVICE_NAME}.service" SERVICE_USER="${CLASH_SERVICE_USER:-root}" SERVICE_GROUP="${CLASH_SERVICE_GROUP:-root}" RUNTIME_DIR="$PROJECT_DIR/runtime" LOG_DIR="$PROJECT_DIR/logs" CONFIG_DIR="$PROJECT_DIR/config" if [ "$(id -u)" -ne 0 ]; then echo "[ERROR] root required to install systemd unit" >&2 exit 1 fi install -d -m 0755 "$RUNTIME_DIR" "$LOG_DIR" "$CONFIG_DIR" "$CONFIG_DIR/mixin.d" cat >"$UNIT_PATH" </dev/null 2>&1 || true echo "[OK] systemd unit installed: ${UNIT_PATH}" echo "start : systemctl start ${SERVICE_NAME}.service" echo "stop : systemctl stop ${SERVICE_NAME}.service" echo "restart : systemctl restart ${SERVICE_NAME}.service" echo "reload : systemctl reload ${SERVICE_NAME}.service" echo "status : systemctl status ${SERVICE_NAME}.service -l --no-pager"