# Spotify Account Creator



## ArenaHosts (May 5, 2015)

Hello guys,

I built this out of pure boredom and thought i would share it with you all - Its a total PoC. But it works!


```
<?php 
if(isset($_POST['submit'])) 
{
function get_cookie() 
{ 
    $ch = curl_init('https://www.spotify.com/fr/signup/'); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_HEADER, 1); 
    $result = curl_exec($ch); 
    preg_match('/^Set-Cookie:\s*([^;]*)/mi', $result, $m); 
    parse_str($m[1], $cookies); 
    return $cookies["sp_csrf"]; 
} 

function randomPassword() { 
    $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789"; 
    $pass = array(); //remember to declare $pass as an array 
    $alphaLength = strlen($alphabet) - 1; //put the length -1 in cache 
    for ($i = 0; $i < 8; $i++) { 
        $n = rand(0, $alphaLength); 
        $pass[] = $alphabet[$n]; 
    } 
    return implode($pass); //turn the array into a string 
} 

//name generation 
$ext = array('.gov','.be', '.biz', '.ch', '.com', '.co', '.co.uk', '.de', '.es', '.eu', '.fr', '.gr', '.im', '.info', '.io', '.it', '.lu', '.lt', '.me', '.mobi', '.mx', '.net', '.nl', '.org', '.pro', '.pt', '.re', '.ru', '.se', '.tel', '.tv', '.aero', '.biz', '.com', '.coop', '.info', '.mobi', '.name', '.net', '.org', '.pro', '.tel', '.travel', '.xxx', '.ag', '.ar.com', '.br.com', '.bz', '.ca', '.cc', '.co', '.gd', '.gs', '.gy', '.hn', '.ht', '.la', '.lc', '.ms', '.mx', '.pe', '.pm', '.qc.com', '.sx', '.tc', '.us', '.us.com', '.us.org', '.uy.com', '.vc', '.vg', '.at', '.be', '.cat', '.ch', '.co.uk', '.com.de', '.de', '.de.com', '.dk', '.es', '.eu', '.eu.com', '.fi', '.fr', '.gb.com', '.gb.net', '.gg', '.gr', '.gr.com', '.hu.com', '.hu.net', '.im', '.it', '.je', '.li', '.lt', '.lu', '.lv', '.me', '.me.uk', '.nl', '.no', '.no.com', '.nu', '.org.uk', '.pl', '.pt', '.ro', '.ru', '.ru.com', '.se', '.se.com', '.se.net', '.uk.com', '.uk.net', '.ru', '.ae.org', '.af', '.am', '.asia', '.cn', '.cn.com', '.cx', '.fm', '.hk', '.in', '.in.net', '.io', '.jp', '.jp.net', '.jpn.com', '.ki', '.kr.com', '.mn',    '.nf', '.nz', '.ph', '.pw', '.sa.com', '.sb', '.tl', '.tv', '.tw', '.wf', '.ws', '.cm', '.mg', '.mu', '.re', '.sc', '.so', '.tf', '.yt', '.za', '.za.com' ); 
$names = array ('tony','lea','mary','bruce','Annabel', 'Asher', 'Atticus', 'August', 'Butch', 'Clementine', 'Daisy', 'Dashiell', 'Delilah', 'Dexter', 'Dixie', 'Duke', 'Edie', 'Elvis', 'Flora', 'Frances', 'Frank', 'Georgia', 'Gus', 'Hazel', 'Homer', 'Hopper', 'Hudson', 'Hugo', 'Ike', 'India', 'Ione', 'Iris', 'Isla', 'Ivy', 'June', 'Kai', 'Kingston', 'Lennon', 'Leonora', 'Leopold', 'Levi', 'Lila', 'Lionel', 'Lola', 'Luca', 'Lulu', 'Magnus', 'Mamie', 'Matilda', 'Millie', 'Milo', 'Minnie', 'Moses', 'Olive', 'Orson', 'Oscar', 'Otis', 'Pearl', 'Piper', 'Poppy', 'Ray', 'Roman', 'Romy', 'Roscoe', 'Ruby', 'Rufus', 'Sadie', 'Scarlett', 'Sebastian', 'Stella', 'Stellan', 'Sullivan', 'Talullah', 'Theo', 'Violet'); 
$names2 = array('gordon','wayne','gates','clinton','washington','carlson','wolowitz','stark','simpson','Jacka','Hackett','Buzzigoli','Mossmann','Hamm','Solano','Huntington','Fath','Goncalves','Decristoforo','Ellsworth','Alonsogarcia','Bullough','Bankhead','Swank','Rickels','Book','Dicks','Guo','Margolin','Mcdermott','Ciannavei','Buccianti','Lamb','Rzepka','Lovegreen'); 
$domain1 = array('Babble', 'Buzz', 'Blog', 'Blue', 'Brain', 'Bright', 'Browse', 'Bubble', 'Chat', 'Chatter', 'Dab', 'Dazzle', 'Dev', 'Digi', 'Edge', 'Feed', 'Five', 'Flash', 'Flip', 'Gab', 'Giga',  'Inno', 'Jabber', 'Jax', 'Jet', 'Jump', 'Link', 'Live', 'My', 'N', 'Photo', 'Pod', 'Real', 'Riff', 'Shuffle', 'Snap', 'Skip', 'Tag', 'Tek', 'Thought', 'Top', 'Topic', 'Twitter', 'Word', 'You', 'Zoom'); 
$domain2 = array('bean', 'beat', 'bird', 'blab', 'box', 'bridge', 'bug', 'buzz', 'cast', 'cat', 'chat', 'club', 'cube', 'dog', 'drive', 'feed', 'fire', 'fish', 'fly', 'ify', 'jam', 'links', 'list', 'lounge', 'mix', 'nation', 'opia', 'pad', 'path', 'pedia', 'point', 'pulse', 'set', 'space', 'span', 'share', 'shots', 'sphere', 'spot', 'storm',  'ster', 'tag', 'tags', 'tube', 'tune', 'type', 'verse', 'vine', 'ware', 'wire', 'works', 'XS', 'Z', 'zone', 'zoom'); 
$separators = array('-','_','.',''); 

shuffle($ext); 
shuffle($names); 
shuffle($names2); 
shuffle($separators); 
shuffle($domain1); 
shuffle($domain2); 
$randomExt = $ext[0]; 
$randomName = $names[0]; 
$randomName2 = $names2[0]; 
$randomSeparator = $separators[0]; 
$randomDomain1 = $domain1[0]; 
$randomDomain2 = $domain2[0]; 

$mail = $randomName.$randomSeparator.$randomName2.'@'.$randomDomain1.$randomDomain2.$randomExt; 
$username = $_POST['username'];
$day = mt_rand(1, 28); 
$month = mt_rand(1, 12); 
$year = mt_rand(1940, 1999); 
$ch = curl_init(); 
$password = randomPassword(); 

curl_setopt($ch, CURLOPT_URL,"https://www.spotify.com/fr/xhr/json/sign-up-for-spotify.php"); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, 
    "sp_csrf=".get_cookie()."&form_token=850042dc3631b8f7288e6441fa2def5e&forward_url=%2Ffr%2Fdownload%2F&signup_pre_tick_eula=true&username=".$username."&password=".$password."&email=".$mail."&confirm_email=".$mail."&dob_day=".$day."&dob_month=".$month."&dob_year=".$year."&gender=male"); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$server_output = curl_exec ($ch); 
$result = json_decode($server_output); 

curl_close ($ch); 

// further processing .... 
if ($result->status == "1") 
{  
    echo '<b>Account created !</b><br /><p>Username: '.$username.'<br />E-Mail: '.$mail.'<br />Password: '.$password.'<br /></p>'; 
}  
else  
{  
    echo 'I don\'t know, error or whatever...'; 
} 
}else{
?>
<form method="post">
    <label>Username:</label>
    <input type="text" name="username">
    <input type="submit" name="submit" value="Submit Username" >
</form>
<?php 
}
?>
```


----------



## MartinD (May 5, 2015)

...why?


----------



## ChrisM (May 5, 2015)

MartinD said:


> ...why?


Because Cocaine is a hell of a drug.


----------



## clarity (May 5, 2015)

Don't you get a month free or something?


----------



## icy (Jun 5, 2015)

Are there any benefits of using this account creator script other than for an easier process to register an Spotify account?

I do not see the point unless you have something planned for multiple Spotify accounts.


----------



## MannDude (Jun 5, 2015)

Hey, sometimes a random project like this is good for retaining and learning new stuff.

I don't use Spotify, though thanks for sharing anyhow.


----------



## HBAndrei (Jun 6, 2015)

Pretty cool, can't see the use for it though, but cool non the less 

PS: I prefer Deezer for my cloud music.


----------



## rickjames (Sep 22, 2015)

You can use it to create tons and tons of spotify accounts that you can't delete yourself, to protest their ridiculously cumbersome process of deleting them.

There is no way to delete a spotify account short of emailing the company and getting somebody to personally do it for you from the other end... even facebook isn't that bad.

I just went through this and googled "spotify account creator" to see if any body had had this idea as well... and it looks like you're more than halfway there...


----------



## drmike (Sep 22, 2015)

I use Spotify to get stains out in my laundry.

Let us not discourage anyone from coding, ever.  Hurrah!  Keep on friend, whatever this Spotify is for.


----------

