# Cover Proxy

V1 should not depend on PSP doing modern API/TLS work for album art.

The PSP app can read this file:

```text
ef0:/PSP/COMMON/GoMusic/remote.cfg
```

or the same path under `ms0:`. Minimal config:

```text
cover_proxy=http://192.168.1.23:8765/cover
```

Then `Triangle -> Fetch Art` and `Settings -> Fetch Missing Art` call:

```text
GET /cover?artist=...&album=...
```

The proxy resolves the cover, caches it on the host, and returns a small JPEG
or PNG. The PSP only downloads the final image over plain HTTP.

Run a local proxy from the repo:

```sh
python3 tools/cover_proxy.py --host 0.0.0.0 --port 8765
```

Misses are cached for 7 days by default:

```sh
python3 tools/cover_proxy.py --miss-ttl-days 14
```

Quick lookup test:

```sh
python3 tools/cover_proxy.py --lookup "Nirvana" "Nevermind"
```

Current provider order in the tool:

1. MusicBrainz release-group lookup.
2. Cover Art Archive `front-250`.
3. iTunes Search API album result `artworkUrl100` fallback.

Direct MusicBrainz / Cover Art Archive fetch from PSP is kept only as a dev
fallback and is disabled by default:

```sh
psp-cmake -B build -DGM_REMOTE_ART_DIRECT_FALLBACK=ON
```

For V1, prefer the proxy. It keeps API keys, modern HTTPS, redirects, matching,
resizing, and cache policy outside the EBOOT.
