Files
icarus_dm/README.md
T
KD 3ad8ac2fba Multi upload (#64)
* Added comments

* Added TODO

* Got it working

* Updated documentation

* Version bump

* Code formatting and cleanup
2025-08-29 21:57:41 -04:00

2.1 KiB

IcarusDownloadManager

IcarusDownloadManager is a CLI software client application that has the feature of uploading and downloading songs from the Icarus Music Server.

Built With

  • Rust
  • Cargo
  • futures
  • http
  • reqwst
  • serde
  • serde_json
  • tokio
  • tokio-util
  • icarus_models

Getting Started

Clone the repo

git clone git@github.com:kdeng00/IcarusDownloadManager.git

Build the project:

cd IcarusDownloadManager
cargo build

Even though this project is open source, there are some libraries that are closed source (may be opened later). In order to successfully build it, your ssh public key would be needed to add to the closed libraries. If you have interest, something could be worked out to provide access.

The program has been built and can be executed by the binary file icarus-dm. For information on how to use icarua-dm, merely execute the program without any command line arguments.

Downloading Song

icarus-dm download -u spacecadet -p stellar40 -h https://icarus.com -b e8407fc6-edd2-44c1-993f-08dd7324d91a

Uploading Song with metadata

icarus-dm upload-meta -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -s /path/of/song.flac -t 1 -m /path/to/metadata/config/collection.json -ca /path/to/cover/art/image.png

Uploading Song with metadata from directory

icarus-dm upload-meta -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -smca /path/where/songs/and/metadata/exists/

Retrieving Song in json

icarus-dm retrieve -u spacecadet -p stellar40 -h https://icarus.com -rt songs

Deleting Song

icarus-dm delete -u spacecadet -p stellar40 -h https://icarus.com -D e8407fc6-edd2-44c1-993f-08dd7324d91a

Contributing

Please read CONTRIBUTING.md for details on the code of conduct, and the process for submitting pull requests to the project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details