#!/bin/bash # 🚀 Browser Healer - auto-fix blank screens, ERR_CONNECTION_REFUSED, proxy issues LOG_FILE="$HOME/Desktop/AI_Brain/logs/browser_healer.log" mkdir -p "$(dirname "$LOG_FILE")" echo "🌍 [Browser Healer] Starting..." >>"$LOG_FILE" # Load API list from env file API_ENV="$HOME/Desktop/AI_Brain/env/free_apis.env" if [[ -f "$API_ENV" ]]; then mapfile -t API_LIST < <(grep -v '^#' "$API_ENV" | grep -v '^\s*$') else API_LIST=("https://api.github.com" "https://httpbin.org/get") fi while true; do for browser in "Google Chrome" "Chromium" "Safari" "Firefox"; do if pgrep -x "$browser" >/dev/null; then # Kill blank tabs osascript -e "tell application \"$browser\" to close (every window whose name contains \"about:blank\")" 2>/dev/null || true # Restart if connection refused seen in logs if grep -qi "ERR_CONNECTION_REFUSED" "$LOG_FILE"; then echo "⚠️ $browser connection refused, restarting..." | tee -a "$LOG_FILE" pkill -x "$browser" || true open -a "$browser" fi # Reset proxy/firewall networksetup -setwebproxystate Wi-Fi off 2>/dev/null || true networksetup -setsecurewebproxystate Wi-Fi off 2>/dev/null || true fi done # API health checks for api in "${API_LIST[@]}"; do if curl -s --max-time 5 "$api" >/dev/null; then echo "✅ API ok: $api" >>"$LOG_FILE" else echo "⚠️ API failed: $api" >>"$LOG_FILE" fi done sleep 60 done