More .NET libraries
-
Rebex SFTP
.NET SFTP client
-
Rebex File Transfer Pack
FTP and SFTP together
-
Rebex Total Pack
All Rebex .NET libraries together
Back to feature list...
Compatibility
XCOPY deployment
When distributing an application using Rebex FTP library, simply copy the following DLL files (.NET assemblies) with your application:
Rebex.Common.dll
Rebex.Networking.dll
Rebex.Ftp.dll
There is no need to install, configure or distribute anything else to make them work.
Supported FTP servers
Rebex FTP library works with all standard-compliant FTP and FTPS (FTP over TLS/SSL) servers. It even works with many servers that implemented the FTP protocol incorrectly, are outdated, or simply buggy. Over the years we've added many workarounds and fixes for ill-behaved servers that our clients encountered in the wild. Most of the workarounds are activated automatically, so you don't have to do anything. It just works.
Examples of servers that work with Rebex FTP:
- BlackMoon FTP Server
- BulletProof FTP Server
- Cerberus FTP Server
- FileZilla server
- Gene6 FTP Server
- glFTPd
- Globalscape EFT
- Microsoft FTP publishing service (part of Microsoft IIS)
- Ocean FTP Server
- ProFTPD
- RaidenFTPD
- Serv-U FTP Server
- Titan FTP Server
- WarFTP Daemon
- WS_FTP Server
- Wu-FTPD
Workarounds for common server issues
Workarounds for some server issues are not enabled by default because detecting them automatically would be troublesome.
They can be enabled by setting the following properties of Ftp.Settings
to true
:
Property | Purpose |
---|---|
DataPortRange | Gets or sets the local TCP port range used for data transfers. This is usually only useful for active mode. See API documentation for details. |
DoNotSendSignals |
The default behavior of Rebex FTP is to send IP and Synch signals before aborting the download using the ABOR command, unless a proxy is in use. Setting this flag will disable sending of IP and Synch signals even through non-proxied FTP sessions. You might want to try disabling it if you experience problems while aborting data transfers. |
DoNotSendAbort | This flag will cause the library not to send ABOR command while aborting a download. The download will be aborted by closing the receiving socket. |
EnableImproperDataCloseWorkaround | Some firewalls and some versions of ActiveSync were observed not to close data connections properly, causing '426' server errors. This option enables a workaround for this. |
KeepAliveDuringTransfer |
Send NOOP command during file transfers every 10 minutes. This is only needed if the FTP control connection is otherwise being dropped by a buggy router or firewall while a very long data transfer is in progress.
The NOOP command can be alternatively sent explicitly using the
KeepAlive method.
|
PauseBeforeUploadClose |
Performs a small pause before closing the encrypted upload connection when the transfer is finished. Used as a workaround for servers that are unable to correctly handle the last block data if it is followed by a TLS CloseNotify message in the same TCP block. |
SslDoNotInsertEmptyFragment | Do not send empty record after successful handshake with CBC ciphers. |
SilentUnprotect |
Forces the Unprotect method to do immediate unprotect without exchange of CloseNotify alert messages in TLS/SSL communication.This is in violation of the RFC, but some broken servers need it, unfortunately. |
SkipRollbackDetection | Ignore the client version in premaster secret. This only affects server sockets. |
Back to feature list...