Skip to content

alexhulbert/Mesh

Repository files navigation

MESH - Discover Music

Screenshot

What is Mesh?

  • Mesh is a free, Open Source program for streaming music.
  • It contains personal radio functionality (like Pandora, Rdio, etc) as well as on-demand music streaming similar to other popular programs such as Grooveshark.
  • All the music on Mesh is completely free, and there are no song, skip, or station limits at all.

Contributing

Pull requests, bug reports, suggestions, and other forms of contribution or feedback are greatly appriciated.

Why Should I Use Mesh?

With so many alternative music services, what makes Mesh so much better? I've compiled a list of pros and cons for Mesh below:

Pros Cons
No Ads (not even banner ads) Still in Alpha
Supports many platforms Unpolished interface
Extensible/Hackable Code Some servers require a Beta Key
You can host your own Server May be buggy in some instances
Unlimited Skips No Internet Explorer Compatibility
No monthly limits/song caps Currently only one developer
27-36 Million Songs Varying Quality (Usually HD)
On-Demand Song Streaming
Free!
Extreme Customization

How can I use it?

Your either going to need to get a invite code for an existing server or host one yourself. Here's how to do the latter:

  1. Clone the project: Either run git clone https://github.com/taconut/mesh or Extract the zip manually. I personally reccomend the using git clone, since you can run git pull to update when there are changes.
  2. Install Dependencies: Mesh also requires FFMPEG (and obviously Node.JS). Most online Node.JS services have these preinstalled, so you only need to worry about this if you're working on a local computer.
  3. Install NPM Modules: Run npm install and wait for all of Mesh's dependancies to install themselves into node_modules. Most errors should be pretty self-explanitory, but feel free to open an issue if something doesn't work right. I won't judge; I promise.
  4. Rename buildoptions: Make a copy of buildoptions.sample.env called buildoptions.env. If you're working in a public environment and do not wish to store these options in a file, you can also inject them directly as environment variables.
  5. Add API Keys: Below, I've provided a list of places where you can get various API keys needed by Mesh.
  1. Setup a user database: For the time being, Mesh only supports mongo. There are plenty of free services for using Mongo databases.
  2. Setup an email service: For email recovery and verification to work, you're also going to need an email account. Gmail should suffice, but there are other options available if you need them. If you're using Gmail, you need to log into your Gmail account and enable support for legacy automated logins via this link.
  3. Add a Session Secret: Your going to need a value for SESSION_SECRET. Try to use something that people would have a relatively hard time guessing (so not "secret").
  4. Create an admin account: The first account you create will have admin privlages. Go to /user/signup to create your admin user. You can leave the "invite code" section blank since there are no invite codes yet .
  5. Add invite codes: Right now, invite codes are mandatory. You can add them by going to /admin/key/CODE. Additionally, you can supply a number of uses and expiry date. Refer to the Admin Reference Page for more information.

How does it work?

  • Currently, Mesh retrieves most of its music from YouTube. However, I plan to supplement this with other sources in the near future.
  • Mesh is heavily reliant on The Echonest to build a profile of your taste in music. In future versions of Mesh, more of this work will be done locally.
  • I'm using Last.fm's API to retrieve the album art, since that seems to have by far the most amount of content available

What Platforms does it support?

  • Chrome
  • Firefox
  • Safari*
  • Android*
  • iOS*
  • Squeezebox*
  • Windows**
  • Mac**
  • Linux**

*Currently in Development
**Planned

About

A FOSS WebApp for On-Demand and Predictive Music Streaming

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published