No description
  • Go 61.4%
  • TypeScript 31.3%
  • Dockerfile 2.5%
  • JavaScript 2.5%
  • HTML 1.4%
  • Other 0.8%
Find a file
2026-03-27 16:07:42 +03:00
monochrome append metadata tags after saving tracks 2026-02-20 18:56:38 +03:00
web fix colors when album has no vibrantColor #1 2026-02-21 22:23:13 +03:00
Dockerfile add multiplatform docker builds 2026-03-24 22:37:45 +03:00
go.mod add errgroup.Group instead sync.WaitGroup 2026-03-25 00:09:12 +03:00
go.sum add errgroup.Group instead sync.WaitGroup 2026-03-25 00:09:12 +03:00
Justfile add multiplatform docker builds 2026-03-24 22:37:45 +03:00
main.go use worker per song instead of per album 2026-03-27 16:04:30 +03:00
processDownload.go use worker per song instead of per album 2026-03-27 16:04:30 +03:00
readme.md add usage examples in readme 2026-03-27 16:07:42 +03:00

music-downloader

usage

cli

MUSIC_DIR=./music LOG_LEVEL=info GOROUTINES_LIMIT=2 ./music-dl

docker compose

music-dl:
  image: git.tsivinsky.com/tsivinsky/music-downloader:latest
  container_name: music-dl
  restart: unless-stopped
  user: 1000:1000
  environment:
    - MUSIC_DIR=/music
    - LOG_LEVEL=info # info | warn | error | debug
    - GOROUTINES_LIMIT=2 # number of workers for downloading songs concurrently
  ports:
    - 5000:5000
  volumes:
    - ./media/Music:/music

search albums

GET /search?q=

download album

GET /download-album/{album_id}

monochrome api docs

Host - https://api.monochrome.tf

429 status if rate limited

{ "detail": "Upstream rate limited" }
/search?al= // for albums
/search?a= // for artists

track info

here is gonna be track manifest with download url (if it's not encrypted)

/track?id={track_id}

album info

/album?id={album_id}

credits

idea to use monochrome api and download files from it - https://gitlab.com/g33kphr33k/musicgrabber