Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
senan.xyz/g/gonic
browsing by folder (keeping your full tree intact)
browsing by tags (using taglib - supports mp3, opus, flac, ape, m4a, wav, etc.)
on-the-fly audio transcoding and caching (requires ffmpeg) (thank you spijet)
pretty fast scanning (with my library of ~27k tracks, initial scan takes about 10m, and about 5s after incrementally)
last.fm scrobbling
multiple users
a web interface for configuration (set up last.fm, manage users, start scans, etc.)
newer salt and token auth
tested on dsub, jamstash, sublime music, and soundwaves
the default login is admin/admin.
password can then be changed from the web interface
$ apt install build-essential git sqlite libtag1-dev ffmpeg # for debian like
$ pacman -S base-devel git sqlite taglib ffmpeg # for arch like
$ go get senan.xyz/g/gonic/cmd/gonic
$ export PATH=$PATH:$HOME/go/bin
$ gonic -h # or see "configuration options below"
note: unfortunately if you do this above, you'll be compiling gonic locally on your machine (if someone knows how I can statically link sqlite3 and taglib, please let me know so I can distribute static binaries)
or else you can run in docker, available on dockerhub as sentriz/gonic
# example docker-compose.yml
version: '3'
services:
gonic:
image: sentriz/gonic:latest
environment:
- TZ
# optionally, see env vars below
expose:
- 80
volumes:
- ./data:/data # gonic db etc
- /path/to/music:/music:ro # your music
- /path/to/cache:/cache # transcode cache dir
then start with docker-compose up -d
env var | command line arg | description |
---|---|---|
GONIC_MUSIC_PATH | -music-path | path to your music collection |
GONIC_CACHE_PATH | -cache-path | optional path to store audio transcodes (default /tmp/gonic_cache ) |
GONIC_DB_PATH | -db-path | optional path to database file |
GONIC_LISTEN_ADDR | -listen-addr | optional host and port to listen on (eg. 0.0.0.0:4747 , 127.0.0.1:4747 ) (default 0.0.0.0:4747 ) |
GONIC_PROXY_PREFIX | -proxy-prefix | optional url path prefix to use if behind reverse proxy. eg /gonic (see example configs below) |
GONIC_SCAN_INTERVAL | -scan-interval | optional interval (in minutes) to check for new music (automatic scanning disabled if omitted) |
GONIC_PROXY_PREFIX
location /gonic/ {
proxy_pass http://localhost:4747/;
# set X-Forwarded-Host for last.fm connection callback
proxy_set_header X-Forwarded-Host $host;
}
FAQs
Unknown package
Did you know?
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.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.