TunepingBot/0.1 (+https://tuneping.com/bot)
Você encontrou o TunepingBot nos seus logs. Aqui está tudo o que ele faz.
Ele lê o título público de “tocando agora” da sua estação a cada 20 a 60 segundos, alguns KB por vez, e nunca toca no áudio. Se você preferir que ele não faça isso, qualquer uma das três formas de opt-out abaixo funciona, de forma permanente, em até 24 horas. Sem perguntas.
To: [email protected] Subject: Opt-out Body: stream.example.net
Envie o host ou a URL do stream para [email protected]. Você recebe uma confirmação assim que ele for removido.
User-agent: TunepingBot Disallow: /
Por esquema, host e porta. Um grupo User-agent: * de verdade também funciona (veja abaixo).
X-Robots-Tag: noindex
No endpoint de status ou na URL do stream. Um 401 ou 403 tem o mesmo efeito.
Fatos rápidos
| User-Agent | TunepingBot/0.1 (+https://tuneping.com/bot) |
|---|---|
| IPv4 | 167.233.123.27 |
| IPv6 | 2a01:4f8:c016:4026::1 |
| DNS reverso | poller.tuneping.com, com confirmação direta (forward-confirmed). Lista legível por máquina em /bot/ips.json. |
| Frequência | Uma requisição por estação a cada 20 a 60 s; a cada 5 min quando o título não muda há 30 min. No máximo 2 conexões simultâneas por IP de servidor. |
| Bytes por verificação | Algumas centenas de bytes para um endpoint de status; até cerca de 16 KB para um bloco de metadados dentro do stream. |
| Entra em vigor | Em até 24 horas, normalmente em minutos. Permanente até você pedir para voltar. |
| Operador | Tuneping, veja o imprint. Abuso: [email protected]. |
Quem somos
O Tuneping é um pequeno serviço que mantém um índice ao vivo do que as estações de rádio online estão tocando, para que ouvintes e desenvolvedores possam buscar uma música entre estações, ver o histórico de execuções de uma estação ou ser avisados quando uma música da lista de desejos começar. O índice é construído inteiramente a partir dos metadados de título que as estações já publicam para todos os ouvintes. O servidor lida apenas com metadados; ele nunca armazena, retransmite ou redistribui áudio.
O que ele solicita
/robots.txtno host do stream, em cache por até 24 horas- O endpoint de status público do servidor de streaming, quando existe (as variantes JSON, XML ou texto simples, por exemplo
/status-json.xsl,/stats,/currentsong,/7.html; uma vez por hora a lista de tocadas recentemente, onde o servidor a oferece) - Caso contrário, a própria URL pública do stream com
Icy-MetaData: 1, lida apenas até chegar o primeiro bloco de metadados dentro do stream e então fechada Connection: close, HTTP/1.1 simples, timeout de 5 s para conectar e 10 s no total, no máximo 5 redirecionamentos
O que ele nunca faz
- Ler áudio além do único intervalo de metadados necessário para encontrar o título (cerca de 16 KB, descartados à medida que chegam)
- Gravar, armazenar, retransmitir ou redistribuir áudio de qualquer forma
- Solicitar caminhos de administração, páginas web que não sejam os endpoints de status listados acima ou qualquer coisa que exija credenciais
- Consultar playlists ou segmentos HLS
- Buscar logos ou artes
- Chamar o contador de cliques do diretório
Preferimos o endpoint de status sempre que uma estação tem um, porque ele custa a você algumas centenas de bytes em vez de uma breve rajada de áudio.
Com que frequência, e como ele se comporta
- Intervalo: a cada 20 s para endpoints de status baratos, a cada 60 s para metadados dentro do stream (30 s para um pequeno número de estações que um usuário pediu explicitamente para acompanhar). Páginas de status grandes em relação às estações que servem são consultadas proporcionalmente com menos frequência, para que uma estação nunca custe mais bytes por minuto do que uma verificação dentro do stream. Estações cujo título não muda há 30 minutos passam para a cada 5 minutos. Os intervalos têm uma variação (jitter) de mais ou menos 10% para que estações em um mesmo servidor não sejam atingidas em sincronia.
- Concorrência: no máximo 2 conexões abertas para qualquer endereço IP de servidor ao mesmo tempo. Muitas estações atrás de um mesmo endereço são consultadas com menos frequência, não em paralelo.
- robots.txt: respeitado para o token
TunepingBote para*, por esquema, host e porta. Uma exceção: vários servidores de streaming vêm com um robots.txt embutido que é exatamenteUser-agent: */Disallow: /e nada mais. Tratamos esse padrão do servidor, sem mais nada, como "sem robots.txt", porque não é algo que o operador da estação escreveu; um grupoTunepingBot, ou qualquer grupo*com mais do que essa única linha, é respeitado integralmente. Um 5xx no robots.txt é tratado como "disallow" até que ele possa ser buscado de novo. - Back-off:
429e503comRetry-Aftersão respeitados; erros de conexão recuam exponencialmente (1, 2, 4, 8 minutos, até 24 horas). Depois de 7 dias consecutivos de falhas, as consultas param de vez. - Bloqueios: se todas as conexões para um endereço começarem a dar timeout, pausamos esse endereço por uma hora e geramos um alerta para nós mesmos. Um
401ou403na URL do stream, ou qualquer firewall ou desafio anti-bot, é tratado como opt-out permanente daquele host. - Conexões:
Connection: close, HTTP/1.1 simples, encerradas de forma limpa com um FIN depois que o bloco de metadados foi lido; timeout de 5 s para conectar e 10 s no total; redirecionamentos seguidos por no máximo 5 saltos.
Como verificar que somos realmente nós
As requisições vêm dos dois endereços da tabela acima e de nenhum outro lugar. O DNS reverso de ambos os endereços é poller.tuneping.com, e esse nome resolve de volta para os mesmos endereços, então uma verificação de DNS reverso com confirmação direta (forward-confirmed) funciona. Qualquer coisa que diga ser o TunepingBot vinda de outro endereço não somos nós; por favor, avise [email protected]. A lista atual também é publicada em tuneping.com/bot/ips.json; anunciaremos mudanças nesta página com pelo menos uma semana de antecedência.
Como fazer opt-out
Qualquer uma das três formas no topo desta página basta. As três são respeitadas, os opt-outs são permanentes e entram em vigor em até 24 horas (na prática, o agendador os aplica em minutos). Sem perguntas, sem necessidade de justificativa. Um grupo genérico User-agent: * no robots.txt também funciona, desde que não seja apenas o padrão de uma linha que o software do seu servidor traz (veja acima). Retornar 401 ou 403 na URL do stream, ou colocar um desafio de firewall na frente dela, tem o mesmo efeito automaticamente.
Um opt-out remove a estação das consultas, da API e de qualquer página pública, e a coloca em uma lista de supressão que o agendador consulta antes de cada requisição. Se depois você quiser voltar, envie um e-mail para o mesmo endereço.
O que armazenamos
Para cada estação: as strings de título atuais e passadas exatamente como publicadas, o horário em que as vimos e o cadastro da estação no diretório (nome, URL do stream, país, codec). Por cortesia e para tratar abusos, também mantemos um log das nossas próprias conexões (horário, IP e porta do seu servidor, código de status, contagem de bytes) por 7 dias, agregado por hora por 30 dias, para podermos responder com precisão quais requisições fizemos, se você perguntar. Não armazenamos áudio, dados de ouvintes nem nada pessoal. O bot não coleta dados pessoais; os únicos dados pessoais que tratamos são os dados de contato de quem nos escreve (veja privacidade).
Opt-in, ou corrija o que mostramos
Se você preferir que leiamos um endpoint específico, ou se publica títulos em algum lugar que deixamos passar, avise [email protected] e faremos a troca. Se o nome ou os detalhes da sua estação estiverem errados, o mesmo endereço resolve.
De onde vem a lista de estações
Dados do diretório de estações de radio-browser.info, CC0 (dados comunitários em domínio público). O bot nunca chama o contador de cliques do diretório. Os metadados musicais são comparados com o MusicBrainz (dados principais CC0).
Contato e abuso
- Operadores de estações, opt-outs, correções: [email protected]
- Denúncias de abuso: [email protected]
- Todo o resto: [email protected]
Lemos essas caixas de entrada diariamente e procuramos responder em até 24 horas. Os dados do operador estão na página de imprint.
Changelog
| 2026-10 | TunepingBot/0.1, primeira versão. Saída por 167.233.123.27 e 2a01:4f8:c016:4026::1, DNS reverso poller.tuneping.com. |