Category: музыка

Category was added automatically. Read all entries about "музыка".

rdio тоже закрывают, спасаем музыку

Везёт мне, конечно, на музыкальные сервисы... Пользовался grooveshark - закрыли grooveshark, пришлось музыку оттуда спасать.
Начал пользоваться rdio - а их тоже закрывают.
Снова надо музыку спасать, слава богу, добрые люди написали скрипт на питоне, который скачивает любой плейлист... Устанавливается легко, используется легко, качаю свою 1000 песенок и буду, наверное, уже по-стариковски коллекцию на жестком диске держать, надоело.
  • Current Mood
    рабочее

Как вернуть свою музыку с grooveshark

Не так давно сервис, которым я слушал музыку, grooveshark, закрылся. Я перешёл на новый (rdio), но на нём очень мало русской музыки, да и нерусская не всегда есть. А на телефончике осталось три гигабайта любимой, отобранной. закешированой и закодированной музыки. Играть её можно было официальным плеером, но время подписки неуклонно сокращалось, а продлить её было негде. И что-то мне захотелось сегодня раскодировать файлики, вряд ли там какое-то космическое шифрование, скорее всего от дурачка просто зашита. Поискал гугль для начала, ничего толком не нашёл. Скачал файлик, начал смотреть... Вижу - XOR обычный, где бы ключ надыбать... Поискал "Grooveshark encryption xor" и вуа-ля, всё уже украдено до нас, человек разобрался. Ключ из одного символа, вот такой: '%'.
А программка, которая раскодирует все ".dat" файлы в текущей директории в ".mp3" выглядит так:

[Код программы на node.js]
"use strict"
var fs = require("fs");
var dir = '.';

fs.readdir(dir, function (err, list) {
  if (err){console.error(err);}
  list.forEach(function (file) {
    var benchmarkTime = Date.now();
    var fullFileName = file.split('.');
    var fileExtension = fullFileName.pop();
    var fileName = fullFileName.join('.');
    
    if (fileExtension != 'dat'){return false;}

    var filePath = dir + "/" + file;
    var fileContent = fs.readFileSync(filePath);
    var fileLength = fileContent.length;
    
    // Now xor it.
    var decodedContent = new Buffer(fileLength);
    for (var i=0; i < fileLength; i++){
      decodedContent[i] = fileContent[i] ^ 0x25;
    }
    fs.writeFileSync(dir + "/" + fileName + '.mp3', decodedContent);
    
    console.log('Processed file "' + file + '" ('+fileLength+' bytes) in ' + (Date.now() - benchmarkTime) + ' ms.');
  });
});


Всё перекодировалось, всё работает. Очень доволен собой и окружающими. Для запуска надо установить Node.js на систему (есть и для Windows и для чего угодно).

Копирасты закрыли grooveshark!

Сволочи!

Даже из вконтактика музыку выпиливают, теперь вот до этих добрались (можно было свою музыку загружать и слушать, поэтому было всё).
Я протестую, хотя никому нет никакого дела, я готов платить за музыку, но эта музыка должна использовать все достоинства цифрой эры, я должен слушать её где захочу, а если нужной мне музыки нет - добавить в свой архив.
Как же работать теперь, остаётся, пока что, только http://pleer.com/, но он тоже с вконтактика данные берёт... ай-ай-ай...

Где-то пару лет назад я отказался от музыки на жёстком диске в пользу онлайн-стриминга, я чувствовал, что это неправильное решение, но оно было удобным, гораздо проще нажать сердечко, чтобы добавить в избранное, чем искать, качать, сохранять и так далее. Лень наказана, как обычно.