Files
local_machine/scripts/games/diagnose-gog-auth.sh
ahauimix 1938b7c743 Expand local_machine docs and automation for connectivity, games, and ops.
Add proxy/VPN/telegram launchd and emergency runbooks; reorganize apps docs;
document JA3 CrossOver runbook and Wine troubleshooting; add GOG/HoMM game
scripts, disk cleanup guides, and gitea push-via-proxy helper. Ignore temp/.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 08:12:19 +03:00

47 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
# Снимок логов GOG login + краткий разбор (auth.gog.com/token, refreshToken).
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
# shellcheck source=config.sh
source "${SCRIPT_DIR}/config.sh"
LOGDIR="${BOTTLE_DIR}/drive_c/ProgramData/GOG.com/Galaxy/logs"
OUT="${GAMES_CACHE_DIR}/gog-auth-diagnose-$(date +%Y%m%d-%H%M%S)"
mkdir -p "${OUT}"
for f in GalaxyClient.log cef.log ClientHelper-Authentication.log GalaxyClientService.log; do
[[ -f "${LOGDIR}/${f}" ]] && cp -f "${LOGDIR}/${f}" "${OUT}/"
done
{
echo "=== $(date) ==="
echo "Bottle: ${BOTTLE_NAME} (${BOTTLE_ID})"
df -h "$(homm_data_volume_path)" | awk 'NR==2'
echo ""
echo "=== proxy (macOS) ==="
scutil --proxy 2>/dev/null | head -12
echo ""
echo "=== GOG processes ==="
pgrep -fl 'GalaxyClient' 2>/dev/null || echo "(none)"
echo ""
echo "=== refreshToken в реестре ==="
export WINEPREFIX="${BOTTLE_DIR}"
"${WINE64}" reg query 'HKCU\Software\GOG.com\Galaxy' /v refreshToken 2>&1 || echo "нет refreshToken"
echo ""
echo "=== последние auth-события (GalaxyClient.log) ==="
grep -iE 'Authentication failed|auth\.gog\.com/token|refreshToken|on_login_success|timeout.*gog|API status' \
"${LOGDIR}/GalaxyClient.log" 2>/dev/null | tail -25
echo ""
echo "=== CEF login (cef.log) ==="
grep -iE 'ERROR|message from source|recaptcha|frame-ancestors' "${LOGDIR}/cef.log" 2>/dev/null | tail -15
echo ""
echo "=== Mac → auth.gog.com/token ==="
curl -sS -o /dev/null -w "http:%{http_code} total:%{time_total}s\n" --max-time 15 \
-X POST "https://auth.gog.com/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code&client_id=x&code=x" 2>&1 || echo "curl FAIL"
} > "${OUT}/summary.txt"
echo "Архив: ${OUT}"
cat "${OUT}/summary.txt"