89 lines
2.4 KiB
Markdown
89 lines
2.4 KiB
Markdown
# IcarusDownloadManager
|
|
|
|
IcarusDownloadManager is a Linux 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
|
|
|
|
* C++ with C++17 features
|
|
* CMake
|
|
* GCC >= 9
|
|
* [conan](https://github.com/conan-io/conan)
|
|
* [json](https://github.com/nlohmann/json)
|
|
* [openssl](https://github.com/openssl/openssl)
|
|
* [curl](https://github.com/curl/curl)
|
|
* [cpr](https://github.com/libcpr/cpr)
|
|
|
|
|
|
### Getting Started
|
|
|
|
Build the project:
|
|
|
|
```
|
|
git clone --recursive https://github.com/kdeng00/IcarusDownloadManager
|
|
|
|
|
|
mkdir build
|
|
cd build
|
|
|
|
conan install .. --build
|
|
|
|
cmake -DCMAKE_BUILD_TYPE=RELEASE
|
|
cmake --build . -j
|
|
```
|
|
|
|
The program has been built and can be executed by the binary file *icd*. For information on how to use icd, merely execute the program without any command line arguments.
|
|
|
|
### Downloading Song
|
|
```BASH
|
|
icd download -u spacecadet -p stellar40 -h https://icarus.com -b 15
|
|
```
|
|
|
|
### Uploading Song
|
|
```BASH
|
|
icd upload -u spacecadet -p stellar40 -h https://icarus.com -s /path/of/song.mp3
|
|
```
|
|
|
|
### Uploading Song with metadata
|
|
|
|
```BASH
|
|
icd upload-meta -u spacecadet -p stellar40 -h https://icarus.com -s /path/of/song.mp3 -t 1 -m /path/to/metadata/config/collection.json -ca /path/to/cover/art/image.png
|
|
```
|
|
|
|
### Uploading Song with metadata from directory
|
|
|
|
```BASH
|
|
icd upload-meta -u spacecadet -p stellar40 -h https://icarus.com -smca /path/where/songs/and/metadata/exist
|
|
```
|
|
|
|
|
|
### Retrieving Song in json
|
|
```Bash
|
|
icd retrieve -u spacecadet -p stellar40 -h https://icarus.com -rt songs
|
|
```
|
|
|
|
### Deleting Song
|
|
```BASH
|
|
icd delete -u spacecadet -p stellar40 -h https://icarus.com -D 15
|
|
```
|
|
|
|
|
|
## Contributing
|
|
|
|
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on the code of conduct, and the process for submitting pull requests to the project.
|
|
|
|
## Versioning
|
|
|
|
[v0.1.1](https://github.com/kdeng00/IcarusDownloadManager/releases/tag/v0.1.1)
|
|
[v0.1.0](https://github.com/kdeng00/IcarusDownloadManager/releases/tag/0.1.0)
|
|
|
|
## Authors
|
|
|
|
* **Kun Deng** - [kdeng00](https://github.com/kdeng00)
|
|
|
|
See also the list of [contributors](https://github.com/kdeng00/Icarus/graphs/contributors) who participated in this project.
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
|