File systems in flight... FTPdLite!
FTPdLite is a work in progress. See Caveats below to adjust your expectations.
FTPdLite is an FTP server written in MicroPython using asyncio. The goal is to provide easy access to files on a microcontroller's flash file system without dragging out a USB cable. Or you can actually use it as a small, home FTP server.
You shouldn't really. FTP is an I.T. security professional's worst nightmare. This project is really only of use in a lab environment. But, it's kind of neat to see the inner workings of one of the internet's earliest protocols.
First, read up on how insecure FTP is. Then, if you still want to do it...
Refer to the QUICKSTART guide for installation details.
FTPdLite works best with these clients:
- The tnftp package on Linux provides an outstanding FTP experience.
- Gnome VFS FTP client has been reported to work as well.
- FileZilla (with simultaneous connections set to 1) is the go-to choice for Windows.
- Windows ftp.exe works, but has a limited command set and its lack of PASV mode presents a problem for firewalls.
- For non-interactive transfers, wget works well, as does curl.
FTPdLite is a total alpha-quality product at the moment.
- It is multi-user capable, but it's limited to one login session per client IP address.
- GUI clients (FileZilla, et al.) must have simultaneous connections limited to 1.
- MicroPython lacks the
glob()
function, so no wildcard filenames or mget. - Listing (ls) only works for directories, not individual files.