Pular para o conteúdo
Ferramenta de rede

meuip.rs

Serviço "qual é o meu IP" da Blue3: mostra o endereço público de quem chega, com ASN, provedor, país e região — e responde no formato de quem perguntou. O `curl` recebe o endereço puro e uma quebra de linha; o navegador recebe a página inteira. Tem também um looking glass: um traceroute executado no servidor e transmitido ao vivo para a página, para quando é a sua própria rede que bloqueia ICMP. Sem conta, sem chave de API e sem cookie.

Um endereço, duas respostas

Chame com curl meuip.rs e você recebe o endereço puro e uma quebra de linha — pronto para ler, sem nada para limpar. Abra a mesma url no navegador e você recebe a página: o endereço em corpo grande, quem é o seu provedor, onde a rota te coloca e os comandos para fazer tudo isso pelo terminal.

A ideia é essa. Um "qual é o meu IP" que um script consegue usar é um serviço diferente de um que uma pessoa consegue ler, e a maioria dos sites obriga a escolher. Este lê o cabeçalho Accept e responde a pergunta no formato que quem perguntou consegue aproveitar.

Pelo terminal

$ curl meuip.rs
170.233.230.254

$ curl meuip.rs/asn
AS265198

$ curl -s meuip.rs/all | jq .isp
"BLUE3 TELECOM"

Sem chave, sem conta, sem dança de rate limit. A saída é uma linha só, então vai direto para uma variável.

Endpoints

Rota O que responde
meuip.rs Seu endereço público — texto puro para um cliente, a página inteira para um navegador.
meuip.rs/ip Só o endereço, sempre como texto.
meuip.rs/asn O sistema autônomo por onde a sua rota sai.
meuip.rs/isp O provedor que anuncia aquele AS.
meuip.rs/country Código do país.
meuip.rs/region Estado ou região.
meuip.rs/coord Latitude e longitude — na página, um link para o mapa.
meuip.rs/all Tudo o que está acima num único objeto JSON.
meuip.rs/trace Traceroute: a rota até o seu próprio endereço, ou até um host que você indicar.
meuip.rs/doc A documentação, o mesmo conteúdo nos dois formatos.
Looking glass

Um traceroute que roda no servidor, não na sua máquina

Rede corporativa bloqueia ICMP, e um traceroute rodado de dentro de uma conta sobre aquela rede, não sobre a rota. O /trace executa os saltos a partir do servidor e manda cada um para a página assim que ele volta — sem esperar a execução inteira terminar — e mantém a rota aberta numa leitura contínua no estilo do mtr quando você pede.

Responde nos dois formatos, como todo o resto: navegador recebe a página ao vivo, curl recebe a rota em texto.

O que ele não faz

Sem conta

Não há cadastro e não há login. Também não há plano pago que libere os outros endpoints.

Sem chave de API

Os endpoints são abertos. A consulta de geolocalização por trás deles fica em cache no servidor, então um laço de curl não vira fatura.

Sem cookie

A página não grava nenhum. O tema que você escolhe fica no localStorage, no seu próprio navegador, e nunca sai de lá.

Sem exigir JavaScript

A página é montada no servidor e se lê igual com script desligado — quem precisa dele são os botões de copiar e o trace ao vivo.

Feito e mantido pela Blue3, em PHP sem framework: um front controller, prepared statements e a consulta de geolocalização por cURL nativo, com timeout e cache. A reescrita da v2.0 foi o que substituiu o shell_exec("curl …") do original.

O que mudou

Os lançamentos mais recentes, tirados do changelog do próprio projeto.

  1. v0.2.10 atual
    • O diretório .git exposto foi fechado, e o código da v1 que ainda executava em produção ao lado da reescrita saiu de lá.
  2. v0.2.0
    • A página ganha tema escuro que não pisca ao carregar, endereço copiável com selo de IPv4/IPv6, chips de contexto, botão de copiar em cada comando curl e coordenadas que abrem um mapa.
    • O foco do teclado volta a ser visível, e a animação respeita um sistema que pede menos dela.
    • Aferido contra a produção, endpoint por endpoint: a API de texto puro responde exatamente como antes. Uma passada visual que mudasse o que o curl devolve teria quebrado o propósito do serviço.

A reescrita da v2.0 e o traceroute ao vivo vieram antes desta linha de versão e estão no histórico do git, não na numeração. As entradas acima começam onde começa o versionamento da casa.