Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A music player that connects to your cloud/distributed storage.

License

Notifications You must be signed in to change notification settings

icidasset/diffuse

Repository files navigation

Diffuse

A music player that connects to your cloud/distributed storage, in the form of a static, serverless, web application.

πŸ“ Available at diffuse.sh and for download.


Integrations

Music layer for music storage. User layer for user-data storage.

Music layer

User layer


Hosting on your own server

Diffuse is a static web application, which means it's just HTML, CSS, and Javascript. No REST API, database, or anything backend-related involved. The app uses a hash (aka. fragment-based) routing system, so you don't need any special server rules for routing. You can download a pre-build web-only version of Diffuse on the releases page. Diffuse uses service workers, so you may need HTTPS for it to work smoothly in certain browsers.

I should also note that some source services use OAuth, so you'll need to use your own application credentials (eg. Dropbox). That said, if you're working locally, you can use http://localhost:8000 or http://127.0.0.1:44999 to use the default ones, that's what the old Electron app was using.

In short:

  • Diffuse is a static, serverless web application
  • Routing is done using hashes/fragments (eg. diffuse.sh/#/sources)
  • Download a web build on the releases page
  • Uses service workers (use HTTPS if possible)
  • May need own OAuth application credentials for some source services

Building it yourself

This project can be built with Node.js.

# 🍱
# 1. Install dependencies
npm install
# 2. Build
npx just build
# 3. Start static-file server
npx just server
# 4. Watch for changes (requires [watchexec](https://github.com/watchexec/watchexec/) to be installed)
npx just watch
# Alternatively, to build, serve & watch:
npx just

About

A music player that connects to your cloud/distributed storage.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors 7

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /