A multi‐source seeder for digital releases

Thanks @tigerman325. I’ve updated the Deezer and Spotify country lists.

Unfortunately I can’t seem to find a parseable list for iTunes at the moment, and manually updating the list based on a press release is a chore (I added Serbia just for you though!). If anyone knows where there is a nicely formatted list then let me know!

2 Likes

@atj Do you plan to publish your changes to the code on e.g. GitHub so that we do not run into the same dead end again as soon as you might not have the time to keep a-tisket updated either :innocent:

5 Likes

@kellnerd, I’d be happy to share the code but there are a couple of things that concern me at the moment:

  1. As far as I can tell the code was not released with any license. We need @marlonob to explicitly state that he is happy for the code to be shared publicly and under what conditions.
  2. I’m concerned there could be some security issues lurking in the code, and whilst “security through obscurity” is not a sustainable approach, it does increase the effort required to find/exploit any issues.

I will be adding the code to git, so I could create a private repository on Github and give up to 3 people access to it (AFAIU this is the limit for free accounts). Obviously I would request that you don’t then share the code publicly until we have some clarity on licensing etc. If you’re happy with this then send me your Github username.

8 Likes

I know a bit about security, so if you want to do a code audit before releasing the code, hmu on github

4 Likes

Many thanks for the offer @Maks, I’ve given you access to the repo on GitHub. The code is not the best but it is reasonably readable. At this stage I’m primarily concerned with server side issues such as local file inclusion or RCE via unserialisation in the caching functionality. Client side issues such as XSS are not really a high priority right now.

Alright, I will check the code tomorrow then :slight_smile:

2 Likes

@atj TYVM for the mirror :smiley:

One difference I noticed, the new mirror doesn’t have ISRC submit button next to Spotify under VENDOR IDS

Old mirror example
New mirror example

Also, thanks for fixing that logo! It’s the first time I’ve ever seen it :stuck_out_tongue:

5 Likes

Thanks for the report @Chilkara . I’ve added the submit ISRC link and updated the URL :slight_smile:

I’ve also fixed some issues with the Deezer country lookup, so I’m reasonably sure it’s 100% accurate now. Thanks to @tigerman325 for explaining the issues with the API and pointing me at the developer page listing the live countries.

5 Likes

Now if only I could get it to actually seed a release… :sob:
Every time I’ve tried since last night, I get an HTTP 500 error instantaneously.

Sorry, probably my fault! :frowning: I can see errors in the log, I’m looking at it now…

Surprisingly it wasn’t my fault! Anyway, it’s fixed now :slight_smile:

2 Likes
2 Likes

Here’s the list just written out if it helps. This is what was added this year.

2020-04-21 – Apple Music – Algeria, Angola, Bahamas, Benin, Bhutan, Bosnia and Herzegovina, Cameroon, Chad, Congo, Côte d’Ivoire, Croatia, Democratic Republic of the Congo, Gabon, Georgia, Guyana, Iceland, Iraq, Jamaica, Kosovo, Kuwait, Liberia, Libya, Macedonia, Madagascar, Malawi, Maldives, Mali, Mauritania, Montenegro, Montserrat, Morocco, Mozambique, Myanmar, Namibia, Qatar, Rwanda, Saint Lucia, Saint Vincent and the Grenadines, Senegal, Serbia, Seychelles, Sierra Leone, Solomon Islands, Suriname, Tanzania, Tonga, Tunisia, Turks and Caicos, Uruguay, Vanuatu, Yemen, Zambia

2020-07-14 – Spotify – Albania, Belarus, Bosnia and Herzegovina, Croatia, Kazakhstan, Kosovo, Macedonia, Moldova, Montenegro, Russia, Serbia, Slovenia, Ukraine

2 Likes

I think there was a regression, this no longer works for me (it was working as described earlier in the day though)

2 Likes

Apologies, I’ve been importing the various ad-hoc changes I made into git and I forgot about this one. It’s working again now.

2 Likes

I updated the iTunes and Spotify country lists last night based on this information and I’ve just double checked that they are all present. So the countries on my mirror should be up to date as of 2020.

Also, FYI the Deezer code has been updated to do the following:

  1. Retrieve the country availability for each track on a release.
  2. Keep only the countries where every track on the release is available.
  3. Remove any countries from the resulting list that are not displayed on the Deezer developers “available regions” page (this removes countries like Antartica).

I don’t think @marlonob’s code performs the final step, so there are some differences in the country release information when comparing the two instances.

6 Likes

Thanks for all the quality of life changes!

Here’s a nitpick:

187 countries matched . This is all the available territories (Deezer) . so the release event has been set to [worldwide] and the country list added in the annotation.

The first 2 periods have spaces before them.

Additionally, after the second period, I believe it should read “So, the release…”.

“This is all” should be “These are all”.

I know these are not your fault, but why not fix them when we have the chance :slight_smile:

2 Likes

Just wanted to say a big thank you to @Maks for performing a thorough code review and implementing a variety of bug/security fixes and general improvements. :clap:

As a result of these changes previously cached results are no longer valid, but they will be refetched as required, so there should be no impact.

9 Likes

Awesome! So much collaboration already :heart_eyes:

1 Like

Attention: Please run any releases dealing with iTunes/Apple Music, over and over again until either you get a Worldwide result or the same country list at least twice in a row. It appears that it doesn’t always catch all the iTunes countries, even if you have it checked to search them all, the first time around always, every time.

4 Likes