1
0
mirror of https://github.com/SuperBFG7/ympd synced 2024-12-26 19:10:25 +00:00
Standalone MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS. Updated and somewhat fixed fork.
Go to file
2018-07-15 22:59:03 +01:00
.github/ISSUE_TEMPLATE Update issue templates 2018-05-25 21:23:16 +02:00
cmake initial mongoose checkin 2014-03-08 12:30:48 +01:00
contrib Improved documentation 2018-07-11 01:01:04 +01:00
htdocs fix: cleanup about dialog 2018-07-15 22:59:03 +01:00
src feat: Refresh queue card only if queue_version changed 2018-07-15 22:49:57 +01:00
CMakeLists.txt Enable ssl options 2018-07-09 22:58:25 +01:00
LICENSE replaces libwebsockets with mongoose, changed licese to gpl 2014-03-08 12:30:49 +01:00
mkdebug.sh Dont run under uid 0 2018-06-21 23:15:54 +01:00
mkrelease.sh Improved documentation 2018-07-11 01:01:04 +01:00
mympd.1 Improved certifcate creation, import /etc/mympd/ssl/ca/ca.pem to trust the mympd certificate 2018-07-10 22:52:16 +01:00
README.md Improved documentation 2018-07-11 01:01:04 +01:00

myMPD

myMPD is a lightweight MPD web client that runs without a dedicated webserver or interpreter. It's tuned for minimal resource usage and requires only very litte dependencies. myMPD is a fork of ympd (https://github.com/notandy/ympd).

This fork provides a reworked ui based on Bootstrap 4 and a modernized backend.

Design principles:

  • Keep it small and simple
  • Uses only mpd as source of truth
  • Mobile first UI
  • Keep security in mind

Featurelist:

  • Browse mpd database by artist
  • Browse filesystem and playlists
  • Queue management
  • Advanced search
  • Progressiv Web App enabled
  • Local coverart support

myMPD is work in progress. Bugreportes and feature requests are very welcome. Please use the issues function from github (https://github.com/jcorporation/myMPD/issues). Planed functions are managed in a github project (https://github.com/jcorporation/myMPD/projects/1).

image

UI Components

Backend

Dependencies

Unix Build Instructions

  1. install dependencies. cmake, libmpdclient (dev) and OpenSSL (dev) are available from all major distributions.
  2. build and install it cd /path/to/src; ./mkrelease.sh
  3. Link your mpd music directory to /usr/share/mympd/htdocs/library and put folder.jpg files in your album directories (mkrelease.sh tries to do this for you)
  4. Configure your mpd with http stream output to use the local player

Run flags

Usage: ./mympd [OPTION]...

 -h, --host <host>             connect to mpd at host [localhost]
 -p, --port <port>             connect to mpd at port [6600]
 -w, --webport <port>          listen port for webserver [80]
 -S, --ssl		       enable ssl
 -W, --sslport		       listen port for ssl webserver [443]
 -C, --sslcert		       filename for ssl certificate [/etc/mympd/ssl/server.pem]
 -K, --sslkey		       filename for ssl key [/etc/mympd/ssl/server.key]
 -s, --streamport <port>       connect to mpd http stream at port [8000]
 -u, --user <username>         drop priviliges to user after socket bind
 -m, --mpdpass <password>      specifies the password to use when connecting to mpd
 -i, --coverimage <filename>   filename for coverimage [folder.jpg]
 -t, --statefile <filename>    filename for mympd state [/var/lib/mympd/mympd.state]
 -v, --version                 get version
 --help                        this help

SSL

  1. Create ca and certificate /path/to/src/contrib/crcert.sh (mkrelease.sh do this for you)
  2. Start mympd with -S (use default certificate under /etc/mympd/ssl/)
  3. Import /etc/mympd/ssl/ca/ca.pem in your browser to trust the certificate

ympd: 2013-2014 andy@ndyk.de

myMPD: 2018 mail@jcgames.de