Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jon4hz/songlinkrr

a cli tool to share song links using subsonic
https://github.com/jon4hz/songlinkrr

charmbracelet cli go huh music-share plex subsonic subsonic-client tui

Last synced: about 2 months ago
JSON representation

a cli tool to share song links using subsonic

Awesome Lists containing this project

README

        

# songlinkrr
[![Go Report Card](https://goreportcard.com/badge/github.com/jon4hz/songlinkrr)](https://goreportcard.com/report/github.com/jon4hz/songlinkrr)
[![lint](https://github.com/jon4hz/songlinkrr/actions/workflows/lint.yml/badge.svg)](https://github.com/jon4hz/songlinkrr/actions/workflows/lint.yml)
[![goreleaser](https://github.com/jon4hz/songlinkrr/actions/workflows/release.yml/badge.svg)](https://github.com/jon4hz/songlinkrr/actions/workflows/release.yml)
[![Static Badge](https://img.shields.io/badge/%20-%20Media%20Server%20-%20%232b3137?style=flat&logo=plex&labelColor=black)](https://app.plex.tv)

## ☕ About
Songlinkrr is a CLI tool to to create shareable links for your currently playing plex songs using subsonic.
It searches your active plex sessions for music streams and tries to find matching tracks on subsonic for the songs that are played.
If a match was found, songlinkrr creates a link for that song using the subsonic api.
That allows you to conveniently share songs with friends and family.

## 🚀 Installation
```
# using go directly
$ go install github.com/jon4hz/songlinkrr@latest

# from aur (btw)
$ yay -S songlinkrr-bin

# local pkg manager
$ export VERSION=v0.1.0

## debian / ubuntu
$ dpkg -i songlinkrr-$VERSION-linux-amd64.deb

## rhel / sles
$ rpm -i songlinkrr-$VERSION-linux-amd64.rpm

## alpine
$ apk add --allow-untrusted songlinkrr-$VERSION-linux-amd64.apk
```
All releases can be found [here](https://github.com/jon4hz/songlinkrr/releases)

## 📝 Config
Songlinkrr searches for a config file in the following locations:

1. `./songlinkrr.yml`
2. `~/.config/songlinkrr/songlinkrr.yml`
3. `/etc/songlinkrr/songlinkrr.yml`

First come first serve, if you dont like that, use the `--config` flag to specify an exact location.

### 🤯 Example
```yaml
---
plex_username: your_plex_user
plex_token: your_plex_token
plex_url: https://my.plex.server
plex_ignore_tls: true # in most cases your cert wont be valid.
subsonic_url: https://my.subsonic.server
subsonic_user: your_username
subsonic_password: your_password
```

## ✨ Usage
```
$ songlinkrr --help
Songlinkrr is a CLI tool to get song links for your currently playing song on Plex

Usage:
songlinkrr [flags]

Flags:
-c, --config string path to the config file
-f, --force-confirm force confirmation of the song
-h, --help help for songlinkrr
```

## 🥁 Demo
![demo](demo/demo.gif)