#!/bin/bash
#author:Wos
#livemusic for bash
function checknet()
{
    echo -e "\033[96;40mPlease Check Network Connection!\033[0m"
    exit -1
}
curl -s https://ipinfo.io/ip >/dev/null && echo -e "\033[96;40mWelcome to LiveMusic\033[0m" || checknet

SCRIPT_NAME=$(basename $0)
UA="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"
LM_PATH=/tmp/lm.txt
COOKIE="_jango_s=NmRLUG1ocm13WjZpUmJ2WVl1WXgrVUVvWXdQam1vbmRZLzBJcHVMWkxySVBhNVFKTkh0YS8wK1NCeHVPcmc2MXFHVGxOL3hNRlkydjA2ZGpEb0dSc0tpVXpSRGJLU2lyYjVvdm1vd2lBTUZrckVlV0FabDlPdnBwUDI5dlVnS1EvdFBJMEIxb1ZCditTRzNJUStrbmVUb3pGaDZ6V3FsQ1pmOFo1d3Byb1ZNaUpoZEpwYXcyMDZRWHBaYjlWRGx5LS1qSE9sVURWK2RMUmJINU9KcHROUzhBPT0=--16eb671c209f5942e2f658a674dd2ae3d56d17b8"

function usage()
{
    echo -e "\033[96;40m"
    echo "Choose a singer with a genre you like, and the script will randomly play songs from singers with a similar genre"
    echo "${SCRIPT_NAME} [artist name]"
    echo "${SCRIPT_NAME} [without argument,direct play inner artist(BoA)]"
    echo -e "\033[0m"
    exit -1
}
function logo()
{
    echo -e "\033[96;40m"
    base64 -d <<<"H4sIAAAAAAAAA0VNQQrEQAi7zyty7ELB3/Qk5CM+fpNIqWHUSaIChGPzBrnvIw5GAC7+GINC/y5g
QpiS6PJ6By2UQNXpGixEaHhSYs6yaTySRJbHYxXdzLQue/EeDl2W0tun/qblSq/F5/wBefpvfNsA
AAA=
"|gunzip
    echo -e "\033[0m"
}


if [ $# != 0 ]; then
    if [ $1 == '-h' ]; then
        usage
    fi
    KEYWORD=$@ 
    URL="https://www.jango.com/music/"${KEYWORD// /+}
    curl --connect-timeout 3 -s -A "${UA}" -i "${URL}" > ${LM_PATH}
    COOKIE=$(cat ${LM_PATH} |grep set-cookie|awk -Fset-cookie: '{print $2}')
fi

while :
do  
    clear
    logo
    URL="https://www.jango.com/streams/info"
    curl --connect-timeout 3 -s -A "${UA}" --cookie "${COOKIE}" -i "${URL}" > ${LM_PATH}
    COOKIE=$(cat ${LM_PATH} |grep set-cookie|awk -Fset-cookie: '{print $2}')
    cat ${LM_PATH}|grep station_id|awk -F\" '{print "ARTIST NAME:\033[96;40m"$18"\033[0m\n  SONG NAME:\033[96;40m"$28"\033[0m"}'
    echo -e "(\033[96;40mm:mute,9:-vol,0:+vol,space:pause,up:forward 1 miniute,q:next song,^c:exit\033[0m)"
    cat ${LM_PATH}|grep station_id|awk -F\" '{print "http:"$4}'|xargs -I % sh -c 'mpv --network-timeout=3 --really-quiet --vid=no %'
done