mega

Crates.iomega
lib.rsmega
version0.8.0
sourcesrc
created_at2017-06-30 18:18:54.490866
updated_at2024-10-09 01:52:00.955619
descriptionAn API client library for interacting with MEGA
homepage
repositoryhttps://github.com/Hirevo/mega-rs
max_upload_size
id21352
size283,480
Nicolas Polomack (Hirevo)

documentation

https://docs.rs/mega

README

mega-rs

An API client library for interacting with MEGA

crates.io version crates.io download count docs.rs docs crate license

About

This is an (unofficial) API client library for interacting with MEGA's API using Rust.

This library aims to implement most (if not all) interactions with MEGA's API in pure Rust.

This allows Rust applications to access MEGA without needing to depend on the MEGAcmd command-line tool being installed on the host system.

It can also allow for more fine-grained control over how the operations are carried-out, like downloading nodes concurrently.

Features

All features marked as not yet implemented are ideas of things that could be done, and not necessarily an indication of it currently being worked on.

These are also non-exhaustive, so if there is a feature that you'd like to see done, feel free to open an issue to show your interest in it, regardless of whether it is mentionned in this list or not.

If you wish to contribute to this project, feel free to use this list to see if there is something you would be interested to either work on, or simply sharing some of your knowledge on how it could be achieved.

  • Login with MEGA
    • MFA support
    • Session resumption (deserialization)
    • Session serialization
  • Get storage quotas
  • Listing nodes
  • Downloading nodes
  • Uploading nodes
  • Creating folders
  • Renaming, moving and deleting nodes
  • Timeout support
  • Retries (exponential-backoff) support
  • Downloading thumbnails and preview images
  • Uploading thumbnails and preview images
  • Listing and downloading from public shared links
  • Listing and downloading from password-protected shared links
  • Creating public shared links to owned nodes
  • Creating password-protected shared links to owned nodes
  • Support for privately-shared nodes (direct shares between MEGA contacts)
  • Server-to-Client events support

Examples

You can see examples of how to use this library by looking at the different examples available.

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.

Commit count: 141

cargo fmt