A pure Rust FTP client library supporting secure FTPS connections and common FTP operations.
rust-ftp is an FTP client library for Rust that enables developers to interact with FTP servers programmatically. It provides a comprehensive API for connecting to servers, authenticating, navigating directories, and transferring files with optional FTPS support for secure connections.
Rust developers who need to integrate FTP functionality into their applications, particularly those working with file transfer automation, backup systems, or server management tools.
Developers choose rust-ftp for its pure Rust implementation, clean API design, and optional TLS encryption that doesn't require external dependencies when security isn't needed.
FTP client for Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports FTPS via rust-native-tls when the 'secure' feature is enabled, providing encryption for file transfers without mandatory external dependencies, as detailed in the installation section.
Offers all core FTP operations including connect, login, directory navigation, and file transfers with simple methods like `simple_retr` and `put`, demonstrated in the usage examples.
Includes a Docker-based FTP server for comprehensive testing, ensuring reliability and ease of development, as outlined in the development environment section.
Focuses on a clean, idiomatic Rust interface, making it intuitive for Rust developers to integrate FTP functionality, aligning with the project's philosophy.
FTPS support is not enabled by default, requiring users to explicitly activate the 'secure' feature in Cargo.toml, which can lead to insecure setups if overlooked during configuration.
Uses synchronous I/O for all operations, which may block threads during file transfers and limit performance in high-concurrency or async-driven applications, with no async support mentioned.
Only supports FTP and FTPS, lacking modern alternatives like SFTP or integration with cloud storage services, which might be necessary for contemporary system architectures.