mirror of
https://github.com/hanzoskill/claude-oauth-refresher.git
synced 2026-10-30 21:04:23 +00:00
138 lines
3.8 KiB
Bash
138 lines
3.8 KiB
Bash
#!/bin/bash
|
|
# uninstall.sh - Clean removal of claude-oauth-refresher
|
|
|
|
set -e
|
|
|
|
# Colors
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m'
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
PLIST_FILE="com.bot.claude-oauth-refresher.plist"
|
|
LAUNCHAGENTS_DIR="$HOME/Library/LaunchAgents"
|
|
|
|
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
echo -e "${BLUE} claude-oauth-refresher uninstaller${NC}"
|
|
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
echo ""
|
|
|
|
# Step 1: Stop service
|
|
echo -e "${BLUE}[1/4]${NC} Stopping launchd service..."
|
|
if launchctl list | grep -q "com.bot.claude-oauth-refresher"; then
|
|
launchctl unload "$LAUNCHAGENTS_DIR/$PLIST_FILE" 2>/dev/null || true
|
|
echo -e "${GREEN}✓${NC} Service unloaded"
|
|
else
|
|
echo " Service not running (already unloaded)"
|
|
fi
|
|
echo ""
|
|
|
|
# Step 2: Remove plist
|
|
echo -e "${BLUE}[2/4]${NC} Removing launchd plist..."
|
|
if [[ -f "$LAUNCHAGENTS_DIR/$PLIST_FILE" ]]; then
|
|
rm "$LAUNCHAGENTS_DIR/$PLIST_FILE"
|
|
echo -e "${GREEN}✓${NC} Removed $LAUNCHAGENTS_DIR/$PLIST_FILE"
|
|
else
|
|
echo " Plist not found (already removed)"
|
|
fi
|
|
|
|
if [[ -f "$SCRIPT_DIR/$PLIST_FILE" ]]; then
|
|
rm "$SCRIPT_DIR/$PLIST_FILE"
|
|
echo -e "${GREEN}✓${NC} Removed local plist"
|
|
fi
|
|
echo ""
|
|
|
|
# Step 3: Clean logs (optional)
|
|
echo -e "${BLUE}[3/4]${NC} Cleaning logs..."
|
|
LOG_FILES=(
|
|
"$HOME/bot/logs/claude-oauth-refresh.log"
|
|
"$HOME/bot/logs/claude-oauth-refresher-stdout.log"
|
|
"$HOME/bot/logs/claude-oauth-refresher-stderr.log"
|
|
)
|
|
|
|
LOG_EXISTS=false
|
|
for log in "${LOG_FILES[@]}"; do
|
|
if [[ -f "$log" ]]; then
|
|
LOG_EXISTS=true
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [[ "$LOG_EXISTS" == "true" ]]; then
|
|
echo "Found log files:"
|
|
for log in "${LOG_FILES[@]}"; do
|
|
if [[ -f "$log" ]]; then
|
|
SIZE=$(du -h "$log" | cut -f1)
|
|
echo " • $log ($SIZE)"
|
|
fi
|
|
done
|
|
echo ""
|
|
read -p "Delete log files? [y/N] " -n 1 -r
|
|
echo ""
|
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
for log in "${LOG_FILES[@]}"; do
|
|
if [[ -f "$log" ]]; then
|
|
rm "$log"
|
|
echo -e "${GREEN}✓${NC} Deleted $(basename "$log")"
|
|
fi
|
|
done
|
|
else
|
|
echo " Keeping log files"
|
|
fi
|
|
else
|
|
echo " No log files found"
|
|
fi
|
|
echo ""
|
|
|
|
# Step 4: Remove config (optional)
|
|
echo -e "${BLUE}[4/4]${NC} Removing config..."
|
|
|
|
CONFIG_FILES=(
|
|
"$SCRIPT_DIR/claude-oauth-refresh-config.json"
|
|
"$SCRIPT_DIR/config.json"
|
|
)
|
|
|
|
CONFIG_EXISTS=false
|
|
for config in "${CONFIG_FILES[@]}"; do
|
|
if [[ -f "$config" ]]; then
|
|
CONFIG_EXISTS=true
|
|
echo "Found config: $(basename "$config")"
|
|
fi
|
|
done
|
|
|
|
if [[ "$CONFIG_EXISTS" == "true" ]]; then
|
|
read -p "Delete config files? [y/N] " -n 1 -r
|
|
echo ""
|
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
for config in "${CONFIG_FILES[@]}"; do
|
|
if [[ -f "$config" ]]; then
|
|
rm "$config"
|
|
echo -e "${GREEN}✓${NC} Deleted $(basename "$config")"
|
|
fi
|
|
done
|
|
else
|
|
echo " Keeping config files"
|
|
fi
|
|
else
|
|
echo " No config files found"
|
|
fi
|
|
echo ""
|
|
|
|
# Summary
|
|
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
echo -e "${GREEN}✓ Uninstall complete!${NC}"
|
|
echo ""
|
|
echo "What was removed:"
|
|
echo " • launchd service (stopped)"
|
|
echo " • plist files"
|
|
echo ""
|
|
echo "What was kept:"
|
|
echo " • Scripts in $SCRIPT_DIR"
|
|
echo " • Claude CLI credentials (Keychain)"
|
|
echo ""
|
|
echo "To reinstall:"
|
|
echo " → Run: $SCRIPT_DIR/install.sh"
|
|
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|