This package provides a fully extensible FTP server for Squeak, that is not bound to work on the filesystem but can act on any domain-model accessible within the Smalltalk image. It currently provides no means of security, but that can be added easily if required. Some FTP verbs are not fully implemented, but most common commands do work as expected.
Evaluate the following code in a workspace to start a server on port 9090:
server := FTPServer startOn: 9090.
Then evaluate on of the following lines to either browse the filesystem or the classes within your development image:
server settings context: FTPFileSystemDirectory default.
server settings context: FTPClassContext new.
Start your preferred FTP client and open a connection to ftp://localhost:9090. The server is known to work with the following clients: ftp, lftp, Apple Finder, Mozilla FireFox, Transmit, ...