3DS Storefront: Difference between revisions
More actions
No edit summary |
No edit summary |
||
| Line 13: | Line 13: | ||
}} | }} | ||
<!--3DSStorefront.7z--> | <!--3DSStorefront.7z--> | ||
3DS Storefront is a homebrew | '''3DS Storefront''' is a Nintendo 3DS homebrew application that allows users to host virtual storefronts and download files directly to their console. | ||
A default storefront is included, maintained by the developer, which hosts selected content and examples. | |||
== Features == | |||
* Download files directly to the SD card | |||
* Supports multiple storefronts | |||
* Meta-storefront support (storefronts that link to other storefronts) | |||
* Hardware-compatible direct download links | |||
* Optional desktop tool for automated storefront creation | |||
== Installation == | |||
Extract the archive to the root of your SD card | |||
Launch the app using the Homebrew Launcher | |||
==== | == Usage == | ||
=== | === Changing Storefront === | ||
Press '''X''' and enter a new storefront ID | |||
Alternatively: | |||
Edit <code>/3ds/3DS-Storefront/store.url</code> on the SD card | |||
You may also contact the developer on Discord to request inclusion in the default storefront: | |||
https://discord.com/users/756198884233183262 | |||
''' | == Creating a Storefront == | ||
< | === Using 3DS Storefront Tool (Recommended) === | ||
Create a folder containing your storefront files | |||
Download and extract '''[[3DS Storefront Tool]]''' | |||
Run <code>storefront.bat</code> | |||
Log in with a Google account | |||
When prompted, select: | |||
#* ''Advanced → Go to 3DS Storefront Tool (unsafe) → Continue'' | |||
Create a storefront: | |||
<pre> storefront create "C:/Path/To/Storefront/Folder" </pre> | |||
To update: | |||
<pre> | <pre> storefront push "C:/Path/To/Storefront/Folder" </pre> | ||
</pre> | |||
Add files only (no deletions): | |||
<pre> | <pre> storefront push "C:/Path/To/Storefront/Folder" --add-only </pre> | ||
</pre> | |||
=== Manual Storefront Creation === | |||
Create a folder on Google Drive | |||
Set sharing to '''Anyone with the link''' | |||
Upload your files | |||
Create <code>storefront.json</code> with the following format: | |||
<pre> { "name":["link","file name","/directory"] } </pre> | |||
'''link''' – Direct download link | |||
== | '''file name''' – Output filename (with extension) | ||
GitHub | |||
'''/directory''' – Destination directory on SD card | |||
'''Important:''' No trailing comma on the last entry. | |||
==== Example ==== | |||
<pre> { "Portal 2 for 3DS":["https://drive.google.com/uc?export=download&id=1zr99VsVybvAacDvqwz2ij4B2fhassxrp","Portal 2.cia","/cias"] } </pre> | |||
Upload <code>storefront.json</code> to Google Drive and extract the file ID from its direct download link. | |||
Replace the ID in: | |||
<pre> SD:/3ds/3DS-Storefront/store.url </pre> | |||
== Getting Direct Download Links == | |||
Google Drive share links will not work directly. | |||
Use: | |||
https://sites.google.com/site/gdocs2direct/ | |||
Paste the generated link into <code>storefront.json</code>. | |||
== Meta-Storefronts == | |||
Meta-storefronts list other storefronts instead of files. | |||
<pre> { "name":["link","storefront"] } </pre> | |||
The second value must be exactly <code>"storefront"</code> | |||
No directory value is used | |||
Files and storefronts can be mixed: | |||
<pre> { "name":["link","storefront"], "name":["link","file name","/directory"] } </pre> | |||
Users can choose whether to enter a sub-storefront or access files directly. | |||
== Changelog == | |||
; V0.1 | |||
Functional on Citra | |||
Not compatible with real hardware due to TinyURL usage | |||
; V0.2 | |||
Switched to direct download links for hardware compatibility | |||
Added support for meta-storefronts | |||
; V0.3 | |||
Changed internal file extension from <code>.url</code> to <code>.3sf</code> | |||
Introduced '''[[3DS Storefront Tool]]''' for automated storefront creation | |||
; V0.4 | |||
Filenames generated by the tool now include file extensions | |||
Fixed issues with truncated filenames (e.g. <code>file.tar.gz</code>) | |||
Added a prototype GUI and settings menu | |||
; V0.5 | |||
Improved vignette rendering | |||
Groundwork added for icons (files and storefronts) | |||
'''Note:''' Delete <code>sdmc:/3ds/3DS-Storefront/settings.json</code> before first launch | |||
== Credits == | |||
* Niels Lohmann – json.hpp | |||
* Dwad – devkitPro VS Code template | |||
== External Links == | |||
GitHub: https://github.com/Drake-Rochelle/3DS-Storefront | |||
Revision as of 04:55, 4 January 2026
| 3DS Storefront | |
|---|---|
| General | |
| Author | Cave Johnson |
| Type | Utilities |
| Version | V0.5 |
| License | MIT License |
| Last Updated | 2025/12/29 |
| Links | |
| Download | |
| Website | |
| Source | |
3DS Storefront is a Nintendo 3DS homebrew application that allows users to host virtual storefronts and download files directly to their console.
A default storefront is included, maintained by the developer, which hosts selected content and examples.
Features
- Download files directly to the SD card
- Supports multiple storefronts
- Meta-storefront support (storefronts that link to other storefronts)
- Hardware-compatible direct download links
- Optional desktop tool for automated storefront creation
Installation
Extract the archive to the root of your SD card Launch the app using the Homebrew Launcher
Usage
Changing Storefront
Press X and enter a new storefront ID
Alternatively:
Edit /3ds/3DS-Storefront/store.url on the SD card
You may also contact the developer on Discord to request inclusion in the default storefront:
Creating a Storefront
Using 3DS Storefront Tool (Recommended)
Create a folder containing your storefront files
Download and extract 3DS Storefront Tool
Run storefront.bat
Log in with a Google account
When prompted, select:
- Advanced → Go to 3DS Storefront Tool (unsafe) → Continue
Create a storefront:
storefront create "C:/Path/To/Storefront/Folder"
To update:
storefront push "C:/Path/To/Storefront/Folder"
Add files only (no deletions):
storefront push "C:/Path/To/Storefront/Folder" --add-only
Manual Storefront Creation
Create a folder on Google Drive
Set sharing to Anyone with the link
Upload your files
Create storefront.json with the following format:
{ "name":["link","file name","/directory"] }
link – Direct download link
file name – Output filename (with extension)
/directory – Destination directory on SD card
Important: No trailing comma on the last entry.
Example
{ "Portal 2 for 3DS":["https://drive.google.com/uc?export=download&id=1zr99VsVybvAacDvqwz2ij4B2fhassxrp","Portal 2.cia","/cias"] }
Upload storefront.json to Google Drive and extract the file ID from its direct download link.
Replace the ID in:
SD:/3ds/3DS-Storefront/store.url
Getting Direct Download Links
Google Drive share links will not work directly.
Use:
https://sites.google.com/site/gdocs2direct/
Paste the generated link into storefront.json.
Meta-Storefronts
Meta-storefronts list other storefronts instead of files.
{ "name":["link","storefront"] }
The second value must be exactly "storefront"
No directory value is used
Files and storefronts can be mixed:
{ "name":["link","storefront"], "name":["link","file name","/directory"] }
Users can choose whether to enter a sub-storefront or access files directly.
Changelog
- V0.1
Functional on Citra
Not compatible with real hardware due to TinyURL usage
- V0.2
Switched to direct download links for hardware compatibility
Added support for meta-storefronts
- V0.3
Changed internal file extension from .url to .3sf
Introduced 3DS Storefront Tool for automated storefront creation
- V0.4
Filenames generated by the tool now include file extensions
Fixed issues with truncated filenames (e.g. file.tar.gz)
Added a prototype GUI and settings menu
- V0.5
Improved vignette rendering
Groundwork added for icons (files and storefronts)
Note: Delete sdmc:/3ds/3DS-Storefront/settings.json before first launch
Credits
- Niels Lohmann – json.hpp
- Dwad – devkitPro VS Code template