4 releases

0.1.3 Oct 9, 2024
0.1.2 Mar 24, 2024
0.1.1 Mar 12, 2024
0.1.0 Jun 17, 2023

#35 in HTTP client

MIT/Apache

98KB
2.5K SLoC

mega-cli-rs

A command-line tool for interacting with MEGA

About

mega-cli-rs (mega-cli on crates.io and once installed) is an (unofficial) command-line tool for interacting with MEGA.

It aims to implement a lot (if not all) of the features offered by MEGAcmd or megatools.

It is written in Rust and uses the mega crate for its MEGA interactions.

It serves as a real-life test for the mega crate, to assess metrics like performance, API ergonomics and feature-completeness.

It can also serve as a large-scale example of how to use and get the most out of the library.

Installation

You can use Cargo to install mega-cli by running the following command:

cargo install mega-cli

Supported Commands

  • auth: Manage authentication with MEGA
    • login: Create a new persisted session with MEGA
    • logout: Log out of the current session with MEGA
    • me: Display information about the current session
  • config: Interact with the mega-cli configuration
    • path: Display the path to the configuration file
    • edit: Edit the configuration file with a text editor
  • get: Download owned files from MEGA
    • Single file downloads
    • Recursive folder downloads
    • Parallel file downloads (during recursive folder downloads)
    • Supports public and password-protected links (using -l|--link and -p|--password)
  • put: Upload files to MEGA
    • Single file uploads
    • Recursive folder uploads
    • Parallel file uploads (during recursive folder uploads)
  • list: List remote MEGA nodes
    • Supports public and password-protected links (using -l|--link and -p|--password)
  • tree: Display remote MEGA nodes recursively as a tree
    • Supports public and password-protected links (using -l|--link and -p|--password)
  • mkdir: Create folders within MEGA
  • rename: Rename nodes within MEGA
  • delete: Delete remote MEGA nodes
  • follow: Display MEGA storage events as they happen

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~23–37MB
~559K SLoC