Open Storefront is an open-source, cross-platform Python terminal client for browsing and downloading content from 3DS storefronts hosted on Google Drive. It is designed for homebrew enthusiasts who want a lightweight, dependency-free way to explore and download 3DS titles, utilities, and custom storefronts — all from a simple numbered menu in their terminal, on any operating system.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/drake-rochelle/open-storefront/llms.txt
Use this file to discover all available pages before exploring further.
How It Works
When you launch Open Storefront, it fetches astorefront.json manifest file from a Google Drive-hosted storefront and presents its contents as an interactive numbered menu. Each entry in the menu is either a downloadable file or a link to a nested sub-storefront — another storefront.json that opens its own menu in-place. You navigate by typing the number next to an item and pressing Enter. Typing x at any point returns you to the top-level home storefront, making it easy to hop between catalogues without restarting the program.
By default the client points to a pre-configured home storefront (Google Drive file ID 1m99FhKG-zpNd7VoAOjFV11dyJsDbnUv9), but you can override this with your own home.3sf file to point at any storefront you choose.
Key Features
Cross-Platform
Runs on Windows, macOS, and Linux. Screen clearing is handled automatically per-platform (
cls on Windows, clear elsewhere), so the menu always looks clean regardless of your OS.Zero External Dependencies
Built entirely on the Python standard library —
urllib.request, json, os, platform, pathlib, and sys. No pip install step is ever required.Nested Storefront Navigation
Storefronts can contain links to other storefronts. Open Storefront follows these links seamlessly, letting you drill down into sub-catalogues and return home with a single
x keystroke.Custom Download Path
Place a
download_path.txt file next to main.py to redirect all downloaded files to a directory of your choice, instead of the default home directory.Custom Home Storefront
Create a
home.3sf file containing a Google Drive file ID to replace the built-in default storefront with any storefront you manage or prefer.Input Automation & Batch Download
Place an
input file containing pre-recorded keystrokes (one per line) next to the script to replay navigation automatically. Include all in the input file to enqueue downloads for every non-storefront item in the current menu, and dump to save your current input log to disk.Auto-Executed Storefront Scripts
If a storefront includes a
main.txt entry, the client automatically downloads and executes it each time that storefront loads. After execution the client returns to the home storefront, letting storefront authors run custom setup or configuration logic on every visit.PyInstaller Compatible
The script detects whether it is running as a frozen PyInstaller binary (
sys.frozen) and resolves paths relative to the executable, so it can be compiled into a standalone .exe or binary with no Python installation required on the target machine.Open Storefront is licensed under the GNU General Public License v3.0 (GPL-3.0). You are free to use, modify, and redistribute it under the terms of that licence. See the project repository for the full licence text.