1
0
Fork 0

add np-subsonic

This commit is contained in:
tastytea 2024-04-04 12:16:48 +02:00
parent e2bfd905a8
commit 661f3e0911
Signed by: tastytea
SSH Key Fingerprint: SHA256:FBkvrOlhq5use1XEttyUGT4bUTDVA1ar9SgIc9P03cM
1 changed files with 26 additions and 0 deletions

View File

@ -0,0 +1,26 @@
#!/usr/bin/env zsh
# get now playing from subsonic compatible API
# cfg file: host\nuser\password
setopt LOCAL_OPTIONS ERR_RETURN NO_UNSET PIPE_FAIL
local -a cfg
while IFS=\n read -r line; do
cfg+=${line}
done < ${XDG_CONFIG_HOME:-~/.config}/nc-subsonic.cfg
local host=${cfg[1]}
local api_version=1.16.1
local useragent=np-hack
local user=${cfg[2]}
local password=${cfg[3]}
local salt=$(pwgen 20 1)
local token=$(print -n "${password}${salt}" | md5sum | cut -d' ' -f1)
local response=$(curl --silent \
"${host}/rest/getNowPlaying?v=${api_version}&c=${useragent}&u=${user}&s=${salt}&t=${token}&f=json")
local entry=$(jq '."subsonic-response".nowPlaying.entry[0]' <<<${response})
local title=$(jq --raw-output .title <<< ${entry})
local artist=$(jq --raw-output .artist <<< ${entry})
print ${title} ${artist}