Compare commits
10
Commits
v0.10.0
...
9be97d7e6f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9be97d7e6f
|
||
|
|
5079a207bc
|
||
|
|
2ee7877769
|
||
|
|
1aabf5c7e2
|
||
|
|
4885c3ce5f
|
||
|
|
094e7f9013
|
||
|
|
919d994e25
|
||
|
|
e32ebfde6f
|
||
|
|
ed528dd8fd
|
||
|
|
a8ed05c278 |
@@ -15,19 +15,17 @@ jobs:
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- name: Install Rust version
|
||||
run: rustup install 1.95 && rustup default 1.95
|
||||
|
||||
- name: Debug secret
|
||||
run: echo "${{ secrets.MYREPO_TOKEN }}" | head -c 10 ; echo "..."
|
||||
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
toolchain: 1.97
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- name: Build
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "$EXTREPO_KEY" > ~/.ssh/gitlab_deploy_key
|
||||
chmod 600 ~/.ssh/gitlab_deploy_key
|
||||
ssh-keyscan ${{ vars.MYHOST }}= >> ~/.ssh/known_hosts
|
||||
ssh-keyscan ${{ secrets.MYHOST }}= >> ~/.ssh/known_hosts
|
||||
|
||||
eval $(ssh-agent -s)
|
||||
ssh-add -v ~/.ssh/gitlab_deploy_key
|
||||
Generated
+162
-529
File diff suppressed because it is too large
Load Diff
+7
-8
@@ -1,17 +1,16 @@
|
||||
[package]
|
||||
name = "icarus-dm"
|
||||
name = "idm"
|
||||
version = "0.10.0"
|
||||
rust-version = "1.95"
|
||||
edition = "2024"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
[dependencies]
|
||||
futures = { version = "0.3.32" }
|
||||
http = { version = "1.4.0" }
|
||||
reqwest = { version = "0.13.3", features = ["json", "blocking", "multipart", "stream"] }
|
||||
http = { version = "1.4.2" }
|
||||
reqwest = { version = "0.13.4", features = ["json", "blocking", "multipart", "stream"] }
|
||||
serde = { version = "1.0.228", features = ["derive"] }
|
||||
serde_json = "1.0.149"
|
||||
tokio = { version = "1.52", features = ["full"] }
|
||||
serde_json = "1.0.150"
|
||||
tokio = { version = "1.52.3", features = ["full"] }
|
||||
tokio-util = { version = "0.7.18", features = ["codec"] }
|
||||
uuid = { version = "1.23.1", features = ["v4", "serde"] }
|
||||
icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.11.1" }
|
||||
uuid = { version = "1.23.4", features = ["v4", "serde"] }
|
||||
icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.11.3" }
|
||||
|
||||
@@ -1,72 +1,54 @@
|
||||
# IcarusDownloadManager
|
||||
# idm
|
||||
|
||||
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.
|
||||
idm (IcarusDownloadManager) is a CLI software client application that has the feature of uploading and downloading songs from the [icarus](https://git.kundeng.us/phoenix/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
|
||||
git clone git@git.kundeng.us:phoenix/idm.git
|
||||
```
|
||||
|
||||
|
||||
Build the project:
|
||||
|
||||
```BASH
|
||||
cd IcarusDownloadManager
|
||||
cd idm
|
||||
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
|
||||
idm 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
|
||||
idm 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/
|
||||
idm 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
|
||||
idm 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 -ha https://auth.icarus.com -D e8407fc6-edd2-44c1-993f-08dd7324d91a
|
||||
idm delete -u spacecadet -p stellar40 -h https://icarus.com -ha https://auth.icarus.com -D e8407fc6-edd2-44c1-993f-08dd7324d91a
|
||||
```
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -92,7 +92,7 @@ mod tests {
|
||||
#[test]
|
||||
fn test_minimum_action_and_args() {
|
||||
let args: Vec<String> = vec![
|
||||
"icarus-dm".to_string(),
|
||||
"idm".to_string(),
|
||||
"download".to_string(),
|
||||
"-u".to_string(),
|
||||
"jamborie".to_string(),
|
||||
|
||||
Reference in New Issue
Block a user