Page 1 of 1

SAAS - MPD Client in the Cloud

Posted: January 29th, 2014, 4:14 pm
by neilscudder
Hello,

Epic lurker, first time poster. I've made a SAAS sort of thing where you install my binary and then you can control mpd from a mobile app. I've made a video demonstrating the basic concept: http://youtu.be/7YiQjxOYFCE and hope to release the beta version today.

This is part of a business plan I'm preparing to lease music servers to restaurants, which I have been doing under a different brand for years.

Features:
  • - zero firewall configuration, outgoing access over port 80 to my server will suffice, PCI compliant
    - persistent authentication with mobile devices hopping networks
    - fast, reliable, simple controls suitable for commercial usage
The platform consists of:
  • - the paradigm binary executable (on the music server)
    - the control relay server
    - the mobile app
The app is free, but it only works when the music server has the paradigm binary (also free) to navigate the connection to my server. The server is therefore where I can make enormous improvements as the other two parts of the system have very little to do. For example, collecting and formatting metadata into pretty xml, or caching data for deployment to multiple clients.

At the moment, it's a proof of concept and I am keeping things closed source, mainly because I am not a strong developer and have no idea how to open source a project such as this. I am starting a business, part of which will be to employ proper developers. You can read more about it and me at http://neilscudder.com

I am infinitely grateful to the FOSS community. My former employer did not feel the same way. Now that I am running things I plan to contribute back.

I look forward to your input.

Best regards,
Neil Scudder
http://neilscudder.com

Re: SAAS - MPD Client in the Cloud

Posted: February 12th, 2014, 6:52 pm
by neilscudder
An early version of my app is now available for Android in the play store here:
https://play.google.com/store/apps/deta ... dcontrol01

I have an mpd installation running as a test, server name is 'randy'. Just type in randy (case-sensitive) when you start the app and you will have control of that server.

Otherwise, you must install the paradigm authentication binary from http://neilscudder.com#app and register a server name in order for the app to have access. Unfortunately the binary must be run as root for now.

Still in the proof of concept stage, but real world testing has been going very well. The main goals here are zero-configuration setup (when I ship a pre-built server), and bullet-proof reliability.

For the latest updates on my ongoing development, check my youtube channel here:
https://www.youtube.com/user/NeilScudder

Re: SAAS - MPD Client in the Cloud

Posted: February 13th, 2014, 4:57 am
by neilscudder
This is the code I am using to establish the connection from my server to mpd. It reaches out over port 80, (a remedy for restrictive firewalls in commercial establishments) and maps local port 6600 to a unique port on my server. I have used similar techniques to access my network of remote music players via ssh for several years.

Code: Select all

/usr/bin/ssh -q -p 80 -o StrictHostKeyChecking=no -o Host=myserver.com -o ControlMaster=no -o ExitOnForwardFailure=yes -o TCPKeepAlive=yes -o ServerAliveInterval=45 -v -N -R ${portalias}:localhost:6600 user@myserver.com & echo $! > /tmp/paradigm.pid &
This technique allows for a media player to be moved anywhere with a DHCP connection and continue to be accessible from the same app with zero configuration. In managing large networks of amateur users in this business, such a feature reduces support issues dramatically and helps make the business model profitable.

With port 6600 forwarded like this, all you need to know is which port is for which media player, and you may easily run any mpd client to control them from the server. It's a simple approach, which is my favourite part. I found this method after having struggled for years with much more complex vpn implementations.

Re: SAAS - MPD Client in the Cloud

Posted: September 25th, 2014, 4:29 am
by neilscudder
Well, I'm back. My product (called Playnode) is about to go on kickstarter, where I will be selling them for $99. They are mpd servers on raspberry pis configured to be loaded with music and controlled through my saas platform. The fundamentals are the same as described above, with the addition of a web interface that allows the use of bittorrent sync to transfer music files. Graphics, usability and stability are greatly improved.

The software on the raspi is of course all foss, and I intend to let anyone use the saas platform and app for free. I do not however know how to configure access to the platform without compromising the server. If you understand my previous post then you will see the problem.

My solution in the past was to use sshpass and compile the scripts to obfuscate the password and prevent unwanted server logins. This is not ideal. If anyone has a better solution than thoroughly jailing the user account I would love to discuss it.

https://control.neilscudder.com/about
Playnode, a rough introduction: http://youtu.be/YHD4AA-dENU