Repository navigation
3dsDL 0.2.0
Pre-release3dsDL downloads files straight onto your Nintendo 3DS from a URL or a QR code, so you can grab a homebrew app or a file without powering down, pulling the SD card or reaching for a computer. Point the camera at a QR code, or type a direct link with the on-screen keyboard, pick a folder, and the file streams onto the SD card while the console stays on.
It's a modern take on Multidownload, the 2017 homebrew downloader, rebuilt around libcurl and Mbed TLS with a new Citro2D interface.
Important
This is a development build, which is why it's marked as a pre-release. The download engine has been verified on New Nintendo 3DS hardware, but the redesigned interface and the corrected camera renderer still need their full hardware pass on New and Old 3DS. If something looks off, please open an issue and mention which console you're on.
What's in 0.2.0
- Scan or type. Read a QR code with the console camera, or enter a URL with the 3DS software keyboard.
- Real HTTPS. Certificates are checked against a bundled Mozilla CA store, and redirects are followed as long as they stay on HTTP or HTTPS.
- Streams to the SD card. Large files are written as they arrive instead of being held in memory, and half-finished downloads are cleaned up for you.
- Proper filenames. 3dsDL uses the name the server sends through
Content-Dispositionand remembers the folder you picked last time. - Never clobbers your files. When a file already exists you choose between Rename (keeps both as
file (1).zip), Overwrite (with rollback protection) or Cancel. - New Citro2D interface. It works with the D-Pad and buttons or the touch screen, shows live progress, and lets you cancel at any time with B.
- Camera fixes. Camera DMA now goes to linear memory with the CPU cache invalidated, and the preview renders through Citro2D.
- Installable CIA. A HOME Menu build with the stable Title ID
0004000003D5D100, so future versions upgrade it in place instead of adding a second copy.
Install
You'll need a 3DS that can run homebrew and a working Wi-Fi connection set up on the console.
Homebrew Launcher (.3dsx)
- Download
3dsDL.3dsxbelow. - Copy it to
sdmc:/3ds/3dsDL/3dsDL.3dsxon the SD card (or send it over Wi-Fi with an FTP server such as FTPD). - Open the Homebrew Launcher and start 3dsDL.
HOME Menu (.cia)
- Download
3dsDL.ciabelow and copy it to the SD card. - Install it with FBI.
- Launch 3dsDL from the HOME Menu.
Using it
Pick Scan QR Code or Enter URL, check the link it found, and confirm. The link has to point straight at the file and start with http:// or https://. Pages that need JavaScript, a login or an extra click won't work, because 3dsDL only fetches the file itself. Use Change Folder to save somewhere other than the default; your choice is kept in sdmc:/3dsDL.cfg.
The quickest way to send a link from your computer is to turn it into a QR code in the terminal and scan it off the screen:
qrencode -t ansiutf8 "https://example.com/some-homebrew.3dsx"Checksums (SHA-256)
3fd86889e1fe931453e3696ab9c276f577f3b93df41735e009c209b122d4ef47 3dsDL.3dsx
168709aa7bfda853ace484e84aa51f8e286cdc4dbe2a667631a5bfd8369db302 3dsDL.cia
Download 3dsDL.sha256 next to the files and run shasum -a 256 -c 3dsDL.sha256 (or sha256sum -c 3dsDL.sha256 on Linux) to check them.
What's next
Version 0.3 is about download quality of life: speed, ETA and free SD space while downloading, a download history with retries and destination presets, keeping the console awake during a download, and optional resumable downloads over HTTP ranges. The full plan up to 1.0 is in ROADMAP.md.