e109789b18
* Able to retrieve songs * Updated readme * Removed unused import * Code formatting * Version bump
82 lines
2.2 KiB
Markdown
82 lines
2.2 KiB
Markdown
# IcarusDownloadManager
|
|
|
|
IcarusDownloadManager is a CLI software client application that has the feature of uploading and downloading songs from the [Icarus](https://github.com/kdeng00/Icarus) Music Server.
|
|
|
|
|
|
## Built With
|
|
|
|
* Rust
|
|
* Cargo
|
|
* futures
|
|
* http
|
|
* reqwst
|
|
* serde
|
|
* serde_json
|
|
* tokio
|
|
* tokio-util
|
|
* icarus_models
|
|
|
|
|
|
### Getting Started
|
|
|
|
Clone the repo
|
|
|
|
```BASH
|
|
git clone git@github.com:kdeng00/IcarusDownloadManager.git
|
|
```
|
|
|
|
|
|
Build the project:
|
|
|
|
```BASH
|
|
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
|
|
|
|
```BASH
|
|
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
|
|
|
|
```BASH
|
|
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
|
|
|
|
```BASH
|
|
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
|
|
|
|
```Bash
|
|
icarus-dm retrieve -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -rt songs
|
|
```
|
|
|
|
### Deleting Song
|
|
|
|
```BASH
|
|
icarus-dm delete -u spacecadet -p stellar40 -h https://icarus.com -D e8407fc6-edd2-44c1-993f-08dd7324d91a
|
|
```
|
|
|
|
|
|
## Contributing
|
|
|
|
Please read [CONTRIBUTING.md](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](LICENSE.md) file for details
|