FTPDMIN: Minimal ad-hoc file transfer Windows FTP server

FTPDMIN: Simple ad-hoc file transfer Windows FTP server

Version 0.96   Jun 7 2004

Ftpdmin is a minimal Windows FTP server. FTP does not require an "install". It is intended to be run temporarily, on an as-needed basis basis to do file transfers between Windows computers without going thru the trouble of trying to configure windows file sharing or an FTP server. Also useful for Windows to Linux if the Linux computer doesn't happen to have an FTP server already set up and configured.

Ftpdmin is not intended as an internet FTP server, or even intended to be left running. Rather, Ftpdmin is started from the command line so that another computer can connect to it via FTP, typically over a LAN. When the file transfers are done, stop Ftpdmin. No 'installation' is necessary to use it.

Ftpdmin has no notion of security or even passwords. Rather, once it is running, everyone can connect to it. The only resemblance of security is the -g option (get only, disallows put), and the ability to specify a directory that ftpdmin shall consider the root directory.

How to use ftpdmin

In order to use ftpdmin, you must have a LAN connection between the two computers. It should be possible to ping either computer from the other.

On one of your computers, run ftpdmin.exe. On starting, ftpdmin will display which address it is listening on. You can now FTP this computer from another computer. You can use any FTP program you like, including the ones included with Windows. if you don't know how to use FTP, you can use explorer. Simply type the address that ftpdmin displays into your browser - such as ""

When you are done transferring files, remember to stop ftpdmin.

Ftpdmin command line options

ftpdmin [options] [root_dir]

"Screenshot" - what ftpdmin looks like while running:

Command Prompt - Ftpdmin
C:\ftpdmin c:\temp
ftpdmin v. 0.96  Jun 7 2004
Using 'C:\' as root directory
ftpdmin ready to accept connections on    
    220 Minftpd ready
USER anonymous
    331 pretend login accepted
PASS mozilla@example.com
    230 fake user logged in
    215 WIN32 ftpdmin v. 0.95
    257 "/"
    200 Type set to I
    227 Entering Passive Mode (192,168,0,101,5,178)
    250 CWD command successful
    150 Opening connection
    226 Transfer Complete
    227 Entering Passive Mode (192,168,0,101,5,178)
SIZE /bottles.jpg
    213 18003
MDTM /bottles.jpg
    213 20040509122422
RETR /bottles.jpg
    150 Opening BINARY mode data connection
    226 Transfer Complete


Ftpdmin has been tested on Windows 98, 2000 and XP. It has been tested to work with various FTP clients, including the basic command line ftp client included with Windows, ncftp, and various Unix FTP clients. Ftpdmin has also been tested against various GUI FTP clients, including Internet Explorer, Mozilla, gFtp (Linux), Konqueror (Linux), and Safari (Mac).

It may be necessary to configure or disable the firewall when running ftpdmin on XP with service pack 2.

Why I wrote this program

I used to have my laptop dual-bootable to Linux. This was really handy sometimes, when I was visiting somebody else, and had to transfer some large files. Getting Windows file sharing to work on somebody else's lan is usually too much hassle for transferring just a few files. So I'd boot my laptop to Linux and do it via FTP. But that was really the main thing I used Linux for on the laptop. Having an FTP server under Windows would help, but setting up an FTP server is a pain - they are all so complicated. First install it, and then you have to configure groups and users and passwords. And then it doesn't even work right! I didn't want to set up some sophisticated and complicated FTP server when I just need to transfer a few files. Unable to find a truly simple but capable FTP server, I decided to write my own! This one weighs in at about 1000 lines of C code.


Ftpdmin is totally free. Do whatever you like with it. You can integrate it into GPL or BSD style liscensed programs if you would like to. My only grief with releasing software on the internet so far has been gnu fanatics posting older copy of my software with harvestable email addresses in it and not taking those out when I ask them - seeing that my 'liscense' doesn't forbid that, they ignored my request.


Ftpdmin will mess up directory handling if you connect with more than one client at a time. Fixing this would require a fair bit of work, as ftpdmin relies on the OS's current directory as its own directory, but the current directory is not thread local. However, the way ftpdmin is meant to be used, this isn't really a problem.

As of October 2006, I'm still using the original version.


Got questions? Email me: The address is in the PNG file so no robot can pick it up

Other handy free utilities by Matthias Wandel:

To Matthias Wandel's home page