From GameBrew - a wiki dedicated to Video Game Homebrew.
DSFTP is a proof-of-concept FTP server and software component for the NDS. It is a full-fledged FTP server, with the additional ability to boot .nds files directly from the FTP prompt (currently only tested on SuperCard CF and DS).
DSFTP is two things: A stand-alone server (as before), and a software component you can link to your code to run an FTP server from your own program. This component is called libDSFTP.
It was submitted for the Neoflash Summer Coding Comp 2006 (winner).
Download and unzip file.
Copy the DSFTP.nds (or .ds.gba) file to your flash card.
For development, it's best to copy libDSFTP.a and libDSFTPd.a to your devkitpro's lib directory, and the include directory to your devkitpro's include dir.
When you start the application it will auto connect using the WiFi settings in your DS and confirm the IP address at the bottom of the screen. If a config file is not found then it creates and displays a default user and password that you can use to access the DS. Use your favourite FTP program to connect to the IP address and authenticate with the username and password. You can then copy to/from and delete files from your card.
Create a text file called ftp.conf in (root)/data/settings/. File name and location is critical.
Using a text editor (eg. notepad) add the following text to the file:
user joe pass whatever root / home / write true boot true end user
Change the user and pass to one of your choosing. Then save the file. Further details on setting up the server with custom settings.
Performance tested using the following clients.
- command-line FTP on Mac/DOS
- RBrowser Lite on Mac
- MacOS X virtual FTP ﬁle system
- FireFTP (Firefox plugin)
Performance with other clients unknown, but should work.
Acquiring DHCP - Could not connect. Please restart (Many Homebrew WiFi apps can't connect to Access Points using DHCP. The work around is to use a fixed IP address).
Seems to crash at the end of a long upload.
Upload speeds can be very slow (<1kb/sec).
Booting only veriﬁed to work on Supercard CF and Supercard SD.
- Fixed hangs on some hardware combinations.
- Fixed bug which caused directory contents not to be reported correctly.
- Introduced new conﬁg option transferblocksize.
- Upgraded to devkitpro 21, so linking to libDSFTP should work now.
- Uses DSWiﬁ 0.34, so people with newer DS Lites should have no problems.
- Uses libfat instead of gba_nds_fat, which should be more stable.
- Uses DSGUI for graphics and ﬁle-system interface.
- The FAT driver has been upgraded to chishm's DLDI ﬁle system driver interface. The pre-compiled version comes with Supercard CF driver installed. No other interfaces will be supported any more. If you have a different ﬂash card, please patch the DSFTP binary yourself.
- UNZP added (submitted by Bertrand Augereau).
- DS->PC ﬁle transfer speeded up a lot (patch to DSWiﬁ submitted by masscat).
- Linked with Devkit R18 again (ﬁxes some showstopper bugs).
- More bugﬁxes.
- Glaring bug ﬁxed that caused GBAMP not to work anymore.
- Booting veriﬁed on SuperCard and GBAMP now.
- CDUP command supported.
- More bugﬁxes.
- Uniﬁed bootloading should now support most cards.
- Auto-generated user & pass if none speciﬁed.
- More bugﬁxes.
- Author's website - http://giesler.no-ip.org/~bjoern/en/sw_dsftp.html
- Bitbucket - https://bitbucket.org/Coto88/dsftp