CoreFTP is a Rust FTP client with a command-line interface, enabling users to interact with FTP servers reliably.
Go to file
winlogon ca61478d25
All checks were successful
Rust / build (push) Successful in 6m44s
update ci/cd
2024-10-12 13:30:45 +02:00
.gitea/workflows update ci/cd 2024-10-12 13:30:45 +02:00
src init: Initial commit 2024-09-25 22:32:02 +02:00
.gitignore init: Initial commit 2024-09-25 22:32:02 +02:00
Cargo.lock init: Initial commit 2024-09-25 22:32:02 +02:00
Cargo.toml init: Initial commit 2024-09-25 22:32:02 +02:00
CHANGELOG.md init: Initial commit 2024-09-25 22:32:02 +02:00
LICENSE_APACHE.md init: Initial commit 2024-09-25 22:32:02 +02:00
LICENSE_MIT.md init: Initial commit 2024-09-25 22:32:02 +02:00
README.md docs: Update CoreFTP with improved documentation 2024-09-25 23:26:10 +02:00

CoreFTP

A robust and interactive FTP client built with Rust

CoreFTP is an intuitive command-line interface for users to perform various file operations on an FTP server. It supports a wide range of FTP commands such as ls, mkdir, get, put, cd, pwd, and many more. The client is designed with user-friendliness in mind and includes features like logging, error handling, and graceful termination.

Installation

To use CoreFTP, you'll need Rust installed on your system. You can install Rust by following the instructions on the official Rust website: https://www.rust-lang.org/tools/install

Once Rust is set up, clone this repository and build the project:

git clone https://winlogon.ddns.net/winlogon/coreftp.git
cd coreftp
cargo build --release

The compiled binary will be located in the target/release directory.

Usage

To launch CoreFTP, execute the following command:

$ coreftp ftp.example.com --username john --password secretpass

Replace ftp.example.com, john, and secretpass with the appropriate values for your FTP server.

After connecting, you'll see a command prompt where you can enter FTP commands. Here are some examples:

  • ls [-l]: List files and directories in the current directory.
  • mkdir <dir_name>: Create a new directory.
  • get <remote_file> [local_file]: Download a file from the server.
  • put <local_file> [remote_file]: Upload a file to the server.
  • cd <dir_name>: Change the current working directory.
  • pwd: Print the current working directory.
  • stat <file_name>: Get detailed information about a file.
  • rename <old_name> <new_name>: Rename a file.
  • rmdir <dir_name>: Delete a directory.
  • delete <file_name>: Delete a file.
  • help: Display a list of available commands.
  • quit: Exit CoreFTP.

Features

  • Interactive command-line interface for FTP operations.
  • Supports a comprehensive set of FTP commands for file management.
  • Detailed logging for debugging purposes.
  • Error handling with informative error messages.
  • Graceful shutdown on Ctrl-C signal.

Configuration

CoreFTP can be configured using command-line arguments:

  • Positional argument: The IP address of the FTP server.
  • --username: The username for FTP server authentication.
  • --password: The password for the provided username.
  • --verbose: Enable verbose logging for debugging (optional).

Contributing

Contributions are welcome! If you'd like to contribute to CoreFTP, please follow these steps:

  1. Fork the repository on GitHub.
  2. Create a new branch for your feature or bug fix.
  3. Implement your changes and ensure the code compiles and passes tests.
  4. Commit your changes with descriptive commit messages.
  5. Push your changes to your fork.
  6. Open a pull request, providing a clear description of your changes.

Please adhere to the existing code style and conventions of the project.

License

This project is licensed under the MIT License or Apache 2.0 License. Feel free to choose the license that suits your needs.