Make music sharing better. https://combine.fm
Find a file
jonathan ed3d868423
All checks were successful
ci / build-image (push) Successful in 2m27s
Update readme header
2025-05-25 09:48:59 +00:00
.forgejo/workflows Add Forgejo Action to build image 2025-05-20 13:37:09 +01:00
chrome Migrating to workers, renaming service 2017-10-23 17:58:23 +01:00
lib Some service api fixes 2025-05-20 13:19:56 +01:00
models Add ytmusic to enums in models 2021-01-17 16:12:42 +01:00
public Remove Google Play Music references from the homepage 2021-01-24 20:59:16 +00:00
routes Use native esm 2020-01-18 10:19:20 +00:00
test Some service api fixes 2025-05-20 13:19:56 +01:00
views Remove GA 2025-05-20 13:53:34 +01:00
.babelrc Use native esm 2020-01-18 10:19:20 +00:00
.dockerignore Add Dockerfile 2017-07-23 10:13:04 +01:00
.eslintrc Add more async 2018-04-30 22:20:01 +01:00
.gitignore Switch to async/await 2018-04-14 00:18:48 +01:00
app.js Fix koa-compress memory leak 2021-12-11 14:58:56 +00:00
CHECKS Add healthchecks 2017-12-15 12:08:15 +00:00
Containerfile Rename Dockerfile to Containerfile 2025-05-20 13:36:55 +01:00
Containerfile.dev Rename Dockerfile to Containerfile 2025-05-20 13:36:55 +01:00
docker-compose.yml RIP GPM 2021-06-17 16:46:57 +01:00
fixmissing.js Add more async 2018-04-30 22:20:01 +01:00
Makefile Switch to podman 2025-05-20 13:18:24 +01:00
package.json Merge pull request #297 from kudos/dependabot/npm_and_yarn/babel/core-7.12.10 2020-12-17 13:59:26 +00:00
README.md Update readme header 2025-05-25 09:48:59 +00:00
webpack.config.cjs Use native esm 2020-01-18 10:19:20 +00:00
webpack.config.server.cjs Use native esm 2020-01-18 10:19:20 +00:00
worker.js I think removing google broke things 2025-05-20 14:06:04 +01:00
yarn.lock Merge pull request #297 from kudos/dependabot/npm_and_yarn/babel/core-7.12.10 2020-12-17 13:59:26 +00:00

combine.fm

Make sharing from music services better. We match links from Rdio, Spotify, Deezer, Google Music and iTunes and give you back a link with all of them.

Supported Services

  • Spotify
  • iTunes
  • Deezer
  • Google Play Music (requires GOOGLE_EMAIL and GOOGLE_PASSWORD)
  • Youtube (requires YOUTUBE_KEY)

Google doesn't provide a public API for Play Music, hence this GOOGLE_PASSWORD awfulness. The account also needs to be a Google Play Music All Access subscriber and to have played at least one track on a mobile device. Yeah.

If you don't provide credentials, it will simply disable support for that service. Spotify, Deezer and iTunes don't need any auth. The test suite will fail if you don't provide credentials for all services, but individual tests will pass otherwise.

Getting Started

Install node and postgres if you don't already have them. Then npm install and run the app with npm start or tests with npm test.

Contributing

Bug reports and feature requests welcome. If you want to contribute code, that is awesome but please issue pull requests early for discussion.

So there's no surprises for contributors later, I plan on using referral tags wherever it makes sense. Right now that would apply to outgoing links for iTunes and Spotify. The referral tags themselves will not be baked into the code, just support for using them.

Licence

The code is MIT licenced, the brand is not. This applies to the logo, name and magenta colour scheme. I'll probably pull the branding out of the app itself at some point to make that distinction more clear.