Listen, I know it might sound like the post title is unrelated at first, but stay with me here...
So, as some of you may know, I'm an audiophile. I know, it's unfortunate, but I am cursed with not being able to listen to music if the hardware isn't overpriced and the filesize of the song isn't over 50MB. So I got myself really high quality headphones, which, you'd expect to be the end of wasting money for the purpose of placebo. But no, turns out there's a bit more.
Every single device that can output sound has a little device in it called a DAC. DAC stands for Digital-Audio Converter, which does what it says on the tin - it converts audio from your computer into something that can be used by a hardware sound output device. Speakers, headphones, whatever it is, it needs a DAC to convert computer sounds to be heard.
My computer also isn't the best. It's this hunk of garbage that has been keeping me afloat for the past 8 (as of writing) years. It barely works, it's very bad by today's standards, but it does me well.
So here's the problem; the DAC in it sucks.
Audio sounds awful (relatively speaking) on this PC. It's sometimes noisy, doesn't capture lower frequencies, and just, has other flaws I can't describe (despite being an audiophile). The DAC in my phone however, works just fine, and is way better, actually.
So I got accustomed to using my phone for music. Often I just, listen to music there whenever possible, as it's just higher quality. And this brings up the problem of getting the music itself; while on my desktop PC I have a pretty sizable collection of music (around 60GB, 4,000 songs), on my phone I have none.
The logical solution anyone would take is just, move some files over from my PC to my phone. However, I'm not smart and I don't make smart decisions, so I overengineered a music downloader for me to use on my phone.
Now, you may think, and should think, "wait, what"? How and where am I getting music from? The logical solution would be, well, from my PC, but I decided to go the extra mile and download music externally.
So, in short, Deezer is a music streaming platform you may or may not have heard of. It's pretty obscure and is used by, practically noone, but most music is put on there as it's just, another Spotify. If an artist is publishing some song or whatever, they're likely to see "Deezer" as an optional platform to publish to and check it because, well, why not, right?
Deezer's DRM sucks.
Now, I'm not saying piracy is okay. I'm not saying it should be legal and I'm not saying it's morally okay. But this is kinda sick. You reverse-engineer a DRM system, and then use it to create a song downloader, which can fetch most songs put on streaming services? It's really neat. The problem is, it doesn't run on mobile devices. So that's where the program I made comes in.
The idea is that anyone can self-host this service, and then anyone can access said instance of the service, download songs, and a single Deezer account is shared between everyone on an instance. My original sketch also included an account system, but I never really decided to implement that. (As in, it's "planned for implementation", but I never really got to doing that..)
Of course, the first roadblock I faced was the fact that I uh, didn't know shit about front-end web bullshit? I kind of just winged it and hoped that whatever I threw together worked and, it surprisingly did. I mostly picked random colors that looked nice, and using a design from the first mental image my brain had, I made a simple design. Of course, it was jank, and wasn't without its novice front-end developer bugs.
But, after a bunch of work, websocket and TypeScript suffering, (I still wish I could instantly learn a better language overnight), I made it all worked. And you can check out the fruit of my labour on the Git page here!
There is no official instance for it. There never will be, out of legal concerns, as I'd rather encourage people to host their own friend group instances of it rather than having everyone flock to one "official" instance and have them be responsible for their legal issues, instead of having the project be at high risk of being taken down. But I'm proud of my work either way, no matter what the legal status of it might be.
And remember, your bestie Jill "oatmealine" Monoids would never commit piracy. The story I wrote as for the reasoning why I made this? All fake. Educational and research purposes. I would never do cybercrime.