This is frox, a transparent ftp proxy by James Hollingshead. This software works for me and might do for you, but I make no guarantees. I wrote it for myself because I could not find what I wanted - a simple transparent ftp proxy - and I'm releasing it in case anyone else finds it useful. It is released under the GPL see the file COPYING for details. Current features include: o rfc959 compliant (I think) transparent proxying of ftp connections. o active <--> passive mode conversion for data connections. o Optional caching support either locally or through an external HTTP cache. o Optional virus scanning o Optional non-transparent proxy support by logging in with user@host:port. o Options to bind to a specific interface, chroot, and drop priveleges for security. Latest versions should be downloadable from the homepage at: http://frox.sourceforge.net/ or http://www.hollo.org/frox/ Please send any questions to frox-user at lists.sourceforge.net. If you need to contact me directly then my email address is frox at hollo.org Quick install instructions ~~~~~~~~~~~~~~~~~~~~~~~~~~ If these don't work for you then please read the FAQ and the comments in the sample config file. Compile it: ./configure --enable-http-cache --enable-local-cache --enable-virus-scan make and as root: make install You may leave out the configure options you don't want to make a smaller binary. --enable-configfile=/etc/frox.conf is another useful option if you don't want to use the default of /usr/local/etc/frox.conf Configure your system for frox: Pick a user for frox to run as - preferably create a new one. Make a directory for frox to run in, owned by root permissions 0755. You may need to copy resolver libraries here, or set ResolvLoadHack in the config file. See FAQ section 3 for details. If you wish to do transparent proxying then your kernel must support this, and you need firewall rules to redirect IP traffic to frox. For Linux there is some info on this in the FAQ. Otherwise the squid FAQ has this info in section 17. Configure frox (ie. edit /usr/local/etc/frox.conf): Change "Listen" to the IP you want to listen on. Change "WorkingDir" to the directory you made above. Set "User" and "Group" to the User/Group you want frox to run as. Set "DoNTP" to "Yes" if you want this. Set "ResolvLoadHack" to a hostname that does not exist! (See FAQ sect 3) Set other options as documented in the config file. Run it and see.....