Compare commits
12 commits
aa0d9eed00
...
4d2876f82b
Author | SHA1 | Date | |
---|---|---|---|
4d2876f82b | |||
bfd84b83c5 | |||
cf5ffb931d | |||
82291c68b1 | |||
6b1964bca1 | |||
03d38e494c | |||
bab08b22ef | |||
eb210bf653 | |||
7ec9a84749 | |||
af01ea56fd | |||
e28ec85013 | |||
2beeaaf2a9 |
4 changed files with 85 additions and 13 deletions
18
scripts/ArchLinux/PKGBUILD
Normal file
18
scripts/ArchLinux/PKGBUILD
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Maintainer: Medvidek77 <medvidek77@tuta.io>
|
||||||
|
|
||||||
|
pkgname=tidler
|
||||||
|
pkgver=0.1
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc="Tidal music downloader based on the hifi-tui API"
|
||||||
|
arch=('any')
|
||||||
|
url="https://medvidek77.tech/Medvidek77/tidler"
|
||||||
|
license=('BSD3-Clause')
|
||||||
|
depends=('bash' 'curl' 'jq')
|
||||||
|
source=("git+$url.git#branch=stable")
|
||||||
|
sha256sums=('SKIP')
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "$srcdir/$pkgname"
|
||||||
|
install -Dm755 src/tidler "$pkgdir/usr/bin/tidler"
|
||||||
|
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||||
|
}
|
13
scripts/universal/install.sh
Executable file
13
scripts/universal/install.sh
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ "$EUID" -ne 0 ]; then
|
||||||
|
echo "Please run script as root"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
if [ ! -f /bin/tidler ]; then
|
||||||
|
install -m 755 ../../src/tidler /bin/tidler
|
||||||
|
else
|
||||||
|
echo "TiDLer is already installed"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
12
scripts/universal/update.sh
Executable file
12
scripts/universal/update.sh
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ "$EUID" -ne 0 ]; then
|
||||||
|
echo "Please run script as root"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
if [ -f /bin/tidler ]; then
|
||||||
|
cd ../../
|
||||||
|
git pull
|
||||||
|
install -m 755 src/tidler /bin/tidler
|
||||||
|
fi
|
||||||
|
fi
|
55
src/tidler
Normal file → Executable file
55
src/tidler
Normal file → Executable file
|
@ -1,8 +1,13 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
downloadTrack() {
|
downloadTrack() {
|
||||||
echo "Downloading track with ID: $1"
|
if [ "$#" -ge 1 ]; then
|
||||||
id="$1"
|
echo "Downloading track with ID: $1"
|
||||||
|
id="$1"
|
||||||
|
else
|
||||||
|
echo "Enter track ID:"
|
||||||
|
read -r id
|
||||||
|
fi
|
||||||
json_data=$(curl -s "https://tidal.401658.xyz/track/?id=$id&quality=LOSSLESS")
|
json_data=$(curl -s "https://tidal.401658.xyz/track/?id=$id&quality=LOSSLESS")
|
||||||
track_name=$(echo "$json_data" | jq -r '.[0].title')
|
track_name=$(echo "$json_data" | jq -r '.[0].title')
|
||||||
artist_name=$(echo "$json_data" | jq -r '.[0].artist.name')
|
artist_name=$(echo "$json_data" | jq -r '.[0].artist.name')
|
||||||
|
@ -14,8 +19,12 @@ downloadTrack() {
|
||||||
}
|
}
|
||||||
|
|
||||||
searchTrack() {
|
searchTrack() {
|
||||||
echo "Enter track name:"
|
if [ "$#" -ge 1 ]; then
|
||||||
read -r track_name
|
track_name="$1"
|
||||||
|
else
|
||||||
|
echo "Enter track name:"
|
||||||
|
read -r track_name
|
||||||
|
fi
|
||||||
track_name=$(echo "$track_name" | sed 's/ /%20/g')
|
track_name=$(echo "$track_name" | sed 's/ /%20/g')
|
||||||
tracks=$(curl -s "https://tidal.401658.xyz/search/?s=$track_name" | jq -r '.items[] | "\(.id) - \(.title) by \(.artist.name)"')
|
tracks=$(curl -s "https://tidal.401658.xyz/search/?s=$track_name" | jq -r '.items[] | "\(.id) - \(.title) by \(.artist.name)"')
|
||||||
|
|
||||||
|
@ -24,6 +33,11 @@ searchTrack() {
|
||||||
tracks_list+=("$list")
|
tracks_list+=("$list")
|
||||||
done <<< "$tracks"
|
done <<< "$tracks"
|
||||||
|
|
||||||
|
if [ "${#tracks_list[@]}" -eq 1 ]; then
|
||||||
|
echo "No tracks found :("
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
PS3="Please select a track: "
|
PS3="Please select a track: "
|
||||||
select t in "${tracks_list[@]}"; do
|
select t in "${tracks_list[@]}"; do
|
||||||
if [ -n "$t" ]; then
|
if [ -n "$t" ]; then
|
||||||
|
@ -37,14 +51,29 @@ searchTrack() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "Welcome to Tidal music downloader"
|
echo "Welcome to TiDLer -> Tidal music downloader" && echo ""
|
||||||
echo ""
|
|
||||||
echo "Choose: 1 = download ; 2 = search"
|
if [ "$1" = "search" ]; then
|
||||||
read option
|
if [ "$#" -ge 2 ]; then
|
||||||
if [ "$option" -eq 1 ]; then
|
shift
|
||||||
downloadTrack
|
jsw="$*"
|
||||||
elif [ "$option" -eq 2 ]; then
|
searchTrack "$jsw"
|
||||||
searchTrack
|
else
|
||||||
|
searchTrack
|
||||||
|
fi
|
||||||
|
elif [ "$1" = "download" ]; then
|
||||||
|
if [ "$#" -ge 2 ]; then
|
||||||
|
downloadTrack "$2"
|
||||||
|
else
|
||||||
|
downloadTrack
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Choose 1 for download track or 2 for search track and download"
|
||||||
|
read option
|
||||||
|
if [ "$option" -eq 1 ]; then
|
||||||
|
downloadTrack
|
||||||
|
elif [ "$option" -eq 2 ]; then
|
||||||
|
searchTrack
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue