Skip to content

Add ScreenScraper metadata proxy support via Hasheous#3674

Draft
gantoine wants to merge 1 commit into
masterfrom
posthog-code/screenscraper-via-hasheous
Draft

Add ScreenScraper metadata proxy support via Hasheous#3674
gantoine wants to merge 1 commit into
masterfrom
posthog-code/screenscraper-via-hasheous

Conversation

@gantoine

@gantoine gantoine commented Jul 4, 2026

Copy link
Copy Markdown
Member

TL;DR
Adds ScreenScraper metadata fetching through the Hasheous proxy as a credential-free fallback when users don't have their own ScreenScraper account. This leverages new Hasheous endpoints for game metadata lookups by hash or game ID.

What changed?

  • Hasheous Handler Enhancement: Added get_ss_game() and get_ss_rom_by_id() methods to fetch ScreenScraper metadata through the Hasheous proxy endpoint (/MetadataProxy/ScreenScraper/jeuInfos.php)

    • get_ss_game() performs hash-based lookups (MD5, SHA1, CRC) with file size and name as fallbacks
    • get_ss_rom_by_id() refetches metadata by existing game ID
    • Both methods reuse existing ScreenScraper parsing logic via build_ss_game() to maintain consistent metadata structure
  • Scan Handler Integration: Updated ROM scanning logic to fall back to Hasheous ScreenScraper proxy when:

    • ScreenScraper direct access is disabled (meta_ss_handler not enabled)
    • Hasheous is enabled and the platform is in the supported list
    • Prioritizes direct ScreenScraper if available, falls back to Hasheous proxy otherwise
  • File Filtering: Implemented platform-specific file extension filtering for hash-based lookups, selecting the largest valid file as most likely to contain the main ROM

  • Test Coverage: Added comprehensive unit tests for the Hasheous ScreenScraper proxy functionality

Checklist

  • I've tested the changes locally
  • I've updated relevant comments
  • I've assigned reviewers for this PR
  • I've added unit tests that cover the changes

Created with PostHog Code

@gantoine gantoine added the on-hold Pending further research or blocked by another issue label Jul 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

on-hold Pending further research or blocked by another issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant