Obter a localização a partir de um endereço IP

Quero recuperar informações como a cidade, estado e País de um visitante do seu endereço IP, para que possa personalizar ... o em PHP? Estou usando JavaScript para script cliente-lado, PHP para script servidor-lado, e MySQL para a base de dados.

Como detectar o servidor mais próximo para testar a latência/velocidade de ping usando Javascript?

Estou a implementar uma extensão de navegador que deve ligar-se ao servidor mais próximo para testar a v ... por exemplo, Como posso detectar os servidores mais próximos e as suas localizações em javascript como SpeedTest faz ?

Identificação do país pelo endereço IP

Há alguma maneira de descobrir o nome do país só de olhar para um endereço IP? Quero dizer, os países têm gamas específi ... os IP? Por exemplo, a Austrália pode ter endereços IP apenas na gama de 123.45.56.89 - 231.54.65.98 (apenas um exemplo)