edtFTPnet/Free - Open-source FTP component for .NET | Download
 How to FTP through other proxy servers

Many firewalls support a means of forming proxy connections other than SOCKS.

When of supplying the remote hostname, the name of the firewall is supplied instead. Instead of supplying the remote user as the user, a string is supplied in the form of remoteuser@remotehost.com. The remote password is supplied as normal.

For example:

ftpConnection.UserName = "remoteuser@remotehost.com";
ftpConnection.PassWord = "remotePassword";
ftpConnection.ServerAddress = "firewallhostname";


Many firewalls support this syntax, including Check Point Firewall-1 and WinProxy.