#!/usr/bin/env bash
set -euo pipefail

INSTALL_DIR="/opt/gemini-browser-keeper"
SERVICE_NAME="gemini-browser-keeper.service"
BROWSER="google-chrome-stable"
COOKIE_PATH=""
PROFILE_DIR=""
GEMINI_URL="https://gemini.google.com/app"
PROXY_URL=""

while [[ $# -gt 0 ]]; do
  case "$1" in
    --install-dir) INSTALL_DIR="$2"; shift 2 ;;
    --service-name) SERVICE_NAME="$2"; shift 2 ;;
    --browser) BROWSER="$2"; shift 2 ;;
    --cookie-path) COOKIE_PATH="$2"; shift 2 ;;
    --profile-dir) PROFILE_DIR="$2"; shift 2 ;;
    --gemini-url) GEMINI_URL="$2"; shift 2 ;;
    --proxy-url) PROXY_URL="$2"; shift 2 ;;
    *) echo "Unknown option: $1" >&2; exit 2 ;;
  esac
done

mkdir -p "$INSTALL_DIR"
curl -fsSL "${GEMINI_API_BASE:-http://127.0.0.1:8000}/tools/browser_keeper.py" \
  -o "$INSTALL_DIR/browser_keeper.py"
chmod +x "$INSTALL_DIR/browser_keeper.py"

if ! command -v "$BROWSER" >/dev/null 2>&1; then
  apt-get update
  apt-get install -y google-chrome-stable
fi

curl -fsSL "${GEMINI_API_BASE:-http://127.0.0.1:8000}/tools/gemini-browser-keeper.service" \
  -o "/tmp/gemini-browser-keeper.service"
sed \
  -e "s#__INSTALL_DIR__#$INSTALL_DIR#g" \
  -e "s#__BROWSER__#$BROWSER#g" \
  -e "s#__COOKIE_PATH__#$COOKIE_PATH#g" \
  -e "s#__PROFILE_DIR__#$PROFILE_DIR#g" \
  -e "s#__GEMINI_URL__#$GEMINI_URL#g" \
  -e "s#__PROXY_URL__#$PROXY_URL#g" \
  "/tmp/gemini-browser-keeper.service" > "/etc/systemd/system/$SERVICE_NAME"

systemctl daemon-reload
systemctl enable --now "$SERVICE_NAME"

cat <<'EOF'
Installed browser_keeper.py.
Example per-account service name: gemini-browser-keeper@acct_a.service
EOF
