Hey everyone,
I've been building a tool that scratches an itch I had when setting up my LaunchBox collections — I wanted something that could fetch a ROM listing from archive.org, apply 1G1R filtering automatically, let me tweak the selection manually, and download only what I wanted. It grew from there into something more complete, so sharing it here.
RomGoGetter is a Python/tkinter GUI app that sits upstream of LaunchBox — it handles the "get the right ROMs" step before you import them.
What it does:
Fetches file listings from archive.org, lolroms.com, and Minerva Archive
Applies your choice of filter:
1G1R (English only, or any Western region) — picks the best revision automatically, handles multi-disc sets, excludes demos/betas/kiosks
DAT mode — cross-reference against No-Intro / Redump DAT files (local or URL)
RA Top N — pull the top N games by RetroAchievements player count for any console. Great for Nintendo platforms
IGDB Top N — top N by aggregated critic score via IGDB API. Best for PS1/PS2/Xbox/PC where critic coverage is strong
All files or None (manual pick everything)
Every mode supports manual override — double-click or Space to toggle individual files before downloading
Downloads with up to 20 parallel slots, pause/resume, MD5 verification, ETag skip-if-unchanged, resume support
Minerva sources use aria2c (bundled) for torrent-based downloads, one torrent per browse URL
All settings persist across sessions — URLs, destination, mode, RA/IGDB selections, DAT groups, URL groups
Run RomGoGetter first to get a clean, curated ROM folder, 1G1R or whatever selection makes sense for the platform, then import that folder into LaunchBox as usual. No manual sorting, no duplicate regions cluttering your library and most important, no wasted bandwidth.
Requirements: Python 3.10+, tkinter (standard), aria2c only if using Minerva (bundled for Windows)
GitHub: https://github.com/shokoe/RomGoGetter
Happy to answer questions, take feature requests, and receive feedback.
Cheers