A fully managed, high-performance FTP and FTPS client library for .NET and .NET Standard, optimized for speed.
FluentFTP is a fully managed FTP and FTPS client library for .NET and .NET Standard, optimized for speed and performance. It provides extensive FTP commands, secure SSL/TLS connections, and advanced features like automatic directory listing parsing, file hashing, and FXP support. The library solves the problem of reliable and efficient file transfers across a wide variety of FTP servers within .NET applications.
.NET developers and software engineers who need to integrate FTP or FTPS file transfer capabilities into their applications, particularly those working with enterprise systems, cloud services, or legacy FTP servers.
Developers choose FluentFTP for its high performance, broad server compatibility, and comprehensive feature set, all without external dependencies. Its extensive automated test suite, security features, and permissive MIT license make it a reliable and flexible choice for both proprietary and open-source projects.
An FTP and FTPS client for .NET & .NET Standard, optimized for speed. Provides extensive FTP commands, File uploads/downloads, SSL/TLS connections, Automatic directory listing parsing, File hashing/checksums, File permissions/CHMOD, FTP proxies, FXP support, UTF-8 support, Async/await support, Powershell support and more. Written entirely in C#.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically detects and supports over 30 FTP server types including Unix, Windows/IIS, Azure, and IBM z/OS, with integration tests for reliability.
Includes SSL/TLS connections up to TLS 1.3 (with GnuTLS), client certificates, and a built-in security system to prevent command injection and directory traversal attacks.
Offers full async/await for all methods with cancellation tokens and IAsyncEnumerable patterns, ensuring modern .NET performance and responsiveness.
Written entirely in C# with no external dependencies for the main library, simplifying deployment and reducing compatibility issues.
Explicitly does not support SFTP (FTP over SSH), forcing developers to use separate libraries like SSH.NET for SSH-based transfers, adding complexity for multi-protocol needs.
Features like TLS 1.3 support require an additional NuGet package (FluentFTP.GnuTLS), which can complicate dependency management and increase setup time.
Focused solely on FTP/FTPS, it's unsuitable for projects requiring modern protocols like HTTP/2 or cloud-native APIs, limiting its use in contemporary cloud environments.