{"id":13550597,"url":"https://github.com/icidasset/diffuse","last_synced_at":"2025-04-07T00:16:55.265Z","repository":{"id":37664697,"uuid":"80358021","full_name":"icidasset/diffuse","owner":"icidasset","description":"A music player that connects to your cloud/distributed storage.","archived":false,"fork":false,"pushed_at":"2024-09-15T17:16:19.000Z","size":65933,"stargazers_count":811,"open_issues_count":42,"forks_count":68,"subscribers_count":24,"default_branch":"main","last_synced_at":"2024-10-29T14:18:52.899Z","etag":null,"topics":["cloud","decentralized","distributed","elm","ipfs","music","music-library","music-player"],"latest_commit_sha":null,"homepage":"https://diffuse.sh","language":"Elm","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/icidasset.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"icidasset","ko_fi":"icidasset","patreon":"diffuse"}},"created_at":"2017-01-29T16:49:25.000Z","updated_at":"2024-10-12T19:39:31.000Z","dependencies_parsed_at":"2024-01-05T20:46:44.391Z","dependency_job_id":"15a6a6c4-7f72-4ef4-b5d2-d9502ec65a7c","html_url":"https://github.com/icidasset/diffuse","commit_stats":{"total_commits":1434,"total_committers":8,"mean_commits":179.25,"dds":"0.028591352859135277","last_synced_commit":"669a6882d608c2c12cc8b1ead3f3f1666885d43e"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icidasset%2Fdiffuse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icidasset%2Fdiffuse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icidasset%2Fdiffuse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icidasset%2Fdiffuse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/icidasset","download_url":"https://codeload.github.com/icidasset/diffuse/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247569126,"owners_count":20959760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud","decentralized","distributed","elm","ipfs","music","music-library","music-player"],"created_at":"2024-08-01T12:01:35.174Z","updated_at":"2025-04-07T00:16:55.243Z","avatar_url":"https://github.com/icidasset.png","language":"Elm","funding_links":["https://github.com/sponsors/icidasset","https://ko-fi.com/icidasset","https://patreon.com/diffuse"],"categories":["Elm","Apps","music"],"sub_categories":[],"readme":"\u003cimg src=\"https://diffuse.sh/images/diffuse-dark.svg\" alt=\"Diffuse\" width=\"158\" /\u003e\n\n_A music player that connects to your cloud/distributed storage,\nin the form of a static, serverless, web application._\n\n📍 Available at [diffuse.sh](https://diffuse.sh/) and for [download](https://github.com/icidasset/diffuse/releases).\n\n\u003cbr /\u003e\n\u003cimg src=\"https://icidasset-public.s3.amazonaws.com/diffuse-v3.jpg\" /\u003e\n\n\n\n### Integrations\n\nMusic layer for music storage.\nUser layer for user-data storage.\n\n#### Music layer\n\n- [Amazon S3](https://aws.amazon.com/s3/)\n- [Azure Blob Storage](https://azure.microsoft.com/en-us/services/storage/blobs/)\n- [Azure File Storage](https://azure.microsoft.com/en-us/services/storage/files/)\n- [Dropbox](https://dropbox.com/)\n- [IPFS](https://ipfs.io/)\n- [WebDAV](https://en.wikipedia.org/wiki/WebDAV)\n\n#### User layer\n\n- [Dropbox](https://www.dropbox.com/)\n- [IPFS](https://ipfs.io/) \u003csmall\u003e(using MFS)\u003c/small\u003e\n- [RemoteStorage](https://remotestorage.io/)\n\n\n\n---\n\n\n\n### Hosting on your own server\n\nDiffuse 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](https://github.com/icidasset/diffuse/releases) page. Diffuse uses service workers, so you may need HTTPS for it to work smoothly in certain browsers.\n\nI 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.\n\nIn short:\n- Diffuse is a static, serverless web application\n- Routing is done using hashes/fragments (eg. `diffuse.sh/#/sources`)\n- Download a web build on the [releases](https://github.com/icidasset/diffuse/releases) page\n- Uses service workers (use HTTPS if possible)\n- May need own OAuth application credentials for some source services\n\n\n\n---\n\n\n\n### Building it yourself\n\nThis project can be built with [Node.js](https://nodejs.org/).\n\n```shell\n# 🍱\n\n# 1. Install dependencies\nnpm install\n\n# 2. Build\nnpx just build\n\n# 3. Start static-file server\nnpx just server\n\n# 4. Watch for changes (requires [watchexec](https://github.com/watchexec/watchexec/) to be installed)\nnpx just watch\n\n# Alternatively, to build, serve \u0026 watch:\nnpx just\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficidasset%2Fdiffuse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficidasset%2Fdiffuse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficidasset%2Fdiffuse/lists"}