Files
KD 11b8cc21d3 Delete song (#67)
* Changed code to comply with async

* Able to delete song

* Updated readme

* Code formatting and cleanup

* Version bump
2025-08-30 13:06:04 -04:00

2.2 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 -ha https://auth.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 -ha https://auth.icarus.com -rt songs

Deleting Song

icarus-dm delete -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.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