New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

tidal-streamer

Package Overview
Dependencies
Maintainers
0
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tidal-streamer

A server that enables streaming TIDAL music to a TIDAL connect device without using TIDAL app. This can be useful for a [Vinyl Emulator](https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d) for instance.

latest
npmnpm
Version
1.2.0
Version published
Weekly downloads
0
Maintainers
0
Weekly downloads
 
Created
Source

tidal-streamer

A server that enables streaming TIDAL music to a TIDAL connect device without using TIDAL app. This can be useful for a Vinyl Emulator for instance.

Setup

tidal-streamer relies on the mdns package which itself has some system depenencies. Please check the mdns installation guide else the following command will fail. Once done you can install dependencies:

npm install

Configuration

You need to specify a valid TIDAL API application client_id and client_secret. You can get those by creating an App on the TIDAL Developer Portal. Once you have created it, renameconfig.sample.yml to config.yml and replace the app section with:

app:
  client_id: <YOUR_CLIENT_ID>
  client_secret: <YOUR_CLIENT_SECRET>

You can now run the server. It will display a link you need to navigate to authorize it. After that you are all good: the server will display the port it is listening on so! Now it's time to build whatever app you have in mind such as an Android TV app!

API Endpoints

User

PathMethodParametersExplanation
/user/feedGETnoneGet user feed
/user/shortcutsGETnoneGet user shortcuts
/user/artistsGETnoneGet user artists
/user/albumsGETnoneGet user albums
/user/playlistsGETnoneGet user playlists
/user/tracksGETnoneGet user tracks
/user/mixesGETnoneGet user mixes
/user/new/albumsGETnoneGet new albums
/user/new/tracksGETNoneGet new tracks
/user/recent/albumsGETnoneGet recent albums
/user/recent/artistsGETnoneGet recent artists
/user/recommended/albumsGETnoneGet recommended albums

Metadata

PathMethodParametersExplanation
/info/album/:idGETalbum idGet album information
/info/playlist/:idGETalbum idGet playlist information
/info/artist/:id/albumsGETalbum idGet artist's albums
/info/artist/:id/singlesGETalbum idGet artist's singles
/info/artist/:id/compilationsGETalbum idGet artist's compilations
/info/artist/:id/toptracksGETalbum idGet artist's top tracks
/info/artist/:id/radioGETalbum idGet artist's radio
/info/artist/:id/similarGETalbum idGet similar artists
/info/genresGETnoneGet genres
/info/genre/:id/tracksGETgenre idGet tracks of a genre
/info/mix/:id/tracksGETmix idGet tracks of a mix
/lyrics/:idGETtrack idGet track lyrics
/search/artistGETquerySearch for artists
/search/albumGETquerySearch for albums
/search/trackGETquerySearch for tracks
/search/track/digestGETquerySearch for tracks (digest)

Streamer

PathMethodParametersExplanation
/listGETnoneList available devices
/pingGETnonePing the server
/statusGETnoneGet status of a device
/play/tracksPOSTbody, positionPlay tracks
/play/album/:idGETid, positionPlay an album
/play/playlist/:idGETid, positionPlay a playlist
/play/mix/:idGETid, positionPlay a mix
/enqueue/:positionPOSTbody, positionEnqueue tracks
/dequeue/:positionPOSTpositionDequeue a track
/reorderqueue/:from/:toPOSTfrom, toReorder the queue
/playPOSTnonePlay the current track
/pausePOSTnonePause the current track
/stopPOSTnoneStop the current track
/nextPOSTnonePlay the next track
/prevPOSTnonePlay the previous track
/trackseek/:positionPOSTpositionSeek to a specific track position
/timeseek/:progressPOSTprogressSeek to a specific time
/volume/downPOSTnoneDecrease the volume
/volume/upPOSTnoneIncrease the volume

Playlist

PathMethodParametersExplanation
/playlist/createPOSTtitle, descriptionCreate a playlist
/playlist/addPOSTplaylistId, trackIdsAdd tracks to a playlist

Advanced

If you want the server to listen on specific ports, you can configure this in config.yml:

port: 8000
wsport: 8001

If you have multiple TIDAL connect devices, you can specify which one to stream to by adding it's friendly name or IPv4 address in config.yml:

device: My TIDAL connect device

TODO

  • N/A

FAQs

Package last updated on 01 Feb 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts