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 reliability. It provides extensive FTP commands, secure SSL/TLS connections, automatic server detection, and advanced file management features like uploads/downloads with progress tracking, directory synchronization, and hash verification. It solves the problem of implementing robust, cross-platform FTP functionality in .NET applications without external dependencies.
.NET developers who need to integrate FTP or FTPS file transfer capabilities into their applications, especially those working with enterprise systems, legacy servers, or requiring high compatibility across diverse FTP server types.
Developers choose FluentFTP for its comprehensive feature set, exceptional server compatibility (over 30 server types), built-in security protections, and performance optimizations. Its fully managed, dependency-free design 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#.
Automatically detects and supports over 30 FTP server types, including niche systems like IBM z/OS and Windows CE, with tailored parsing for each as documented in the Server Support table.
Offers features like directory synchronization, hash verification, rule-based transfers, and progress tracking, enabling robust automation for file operations as highlighted in the File Management section.
Implements protections against FTP command injection, directory traversal attacks, and supports FTPS with TLS 1.3 and client certificates, prioritizing secure connections per the Security system wiki.
Provides async/await for all operations with cancellation tokens and IAsyncEnumerable for listings, ensuring modern .NET performance and responsiveness as detailed in the Asynchronous support section.
Written entirely in C# with no external dependencies, making it easy to integrate into any .NET project without bloating dependencies, as stated in the Philosophy.
Explicitly does not support SFTP (FTP over SSH), requiring developers to use separate libraries like SSH.NET for SSH-based transfers, which is a notable gap for modern secure file transfer needs.
With extensive features covering protocols, server types, and advanced operations, the API can be overwhelming for simple tasks, potentially increasing the learning curve compared to more minimal FTP clients.
Critical information is spread across a wiki and multiple example files, which might require more effort to navigate and find specific implementation details quickly.
While extensible, configuring support for non-standard servers or adding custom parsers involves additional coding effort, as indicated in the Extensible section, which may not be ideal for quick deployments.
A convention-based object-object mapper in .NET.
Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities
:angel: The ultimate angle brackets parser library parsing HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specifications.
A fast, powerful, CommonMark compliant, extensible Markdown processor for .NET
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.