|  | @@ -43,8 +43,10 @@ unless (defined $password) {
 | 
	
		
			
				|  |  |  	$password = $term->get_reply(prompt => 'Hub Password'); # TODO hide the input? O:)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -my $login = $ua->post('https://hub.docker.com/v2/users/login/' => {} => json => { username => $username, password => $password });
 | 
	
		
			
				|  |  | -die 'login failed' unless $login->res->is_success;
 | 
	
		
			
				|  |  | +my $dockerHub = 'https://hub.docker.com';
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +my $login = $ua->post($dockerHub . '/v2/users/login/' => {} => json => { username => $username, password => $password });
 | 
	
		
			
				|  |  | +die 'login failed: ' . $login->res->error->{message} unless $login->res->is_success;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  my $token = $login->res->json->{token};
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -57,7 +59,7 @@ for my $cookie (@{ $login->res->cookies }) {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  die 'missing CSRF token' unless defined $csrf;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -my $attemptLogin = $ua->post('https://hub.docker.com/attempt-login/' => {} => json => { jwt => $token });
 | 
	
		
			
				|  |  | +my $attemptLogin = $ua->post($dockerHub . '/attempt-login/' => {} => json => { jwt => $token });
 | 
	
		
			
				|  |  |  die 'attempt-login failed' unless $attemptLogin->res->is_success;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  my $authorizationHeader = {
 | 
	
	
		
			
				|  | @@ -171,7 +173,7 @@ while (my $repo = shift) { # 'library/hylang', 'tianon/perl', etc
 | 
	
		
			
				|  |  |  	my $repoName = $repo;
 | 
	
		
			
				|  |  |  	$repoName =~ s!^.*/!!; # 'hylang', 'perl', etc
 | 
	
		
			
				|  |  |  	
 | 
	
		
			
				|  |  | -	my $repoUrl = 'https://hub.docker.com/v2/repositories/' . $repo . '/';
 | 
	
		
			
				|  |  | +	my $repoUrl = $dockerHub . '/v2/repositories/' . $repo . '/';
 | 
	
		
			
				|  |  |  	
 | 
	
		
			
				|  |  |  	if ($logos && $repo =~ m{ ^ library/ }x) {
 | 
	
		
			
				|  |  |  		# the "library" org images include a logo which is displayed in the Hub UI
 |