v2.2.0 — Bash puro, sem dependências pesadas

Monitore seus ROAs
em tempo real

Daemon Bash interativo que verifica a validade RPKI dos seus prefixos e envia alertas no Telegram. Console estilo servidor de Minecraft. Sem cron, sem complicação.

monitor_rpki.sh — bash
[14:30:01] INFO │ Consultando AS12345 / 192.00.00.00/20... [14:30:01] OK AS12345 / 192.00.00.00/20 → Valid [14:30:02] INFO │ Consultando AS12345 / 192.00.01.00/20... [14:30:02] OK AS12345 / 192.00.01.00/20 → Valid [14:30:03] INFO │ Consultando AS12345 / 2001:db8::/32... [14:30:03] OK AS12345 / 2001:db8::/32 → Valid ──────┼─────────┼──────────────────────────────────────────────── [14:30:03] OK Tudo OK! 7 prefixo(s) com status Valid. [14:30:03] INFO │ Próxima verificação: 20:30:03 (intervalo: 21600s) ──────┼─────────┼──────────────────────────────────────────────── ▶ monitor > _

Tudo que você precisa.
Nada que você não precisa.

Monitoramento RPKI completo em um único script Bash. Sem Docker, sem Node.js, sem Python — apenas curl e jq.

🖥️

Console interativo

Prompt estilo Minecraft — digite comandos em tempo real enquanto o daemon roda. Status, pause, check manual, tudo ao vivo.

🤖

Bot Telegram completo

7 comandos via Telegram: /log, /logall, /status, /check, /pause, /resume, /help. Polling a cada 1 segundo com resposta instantânea.

🚨

Alertas instantâneos

Se qualquer prefixo mudar de Valid para Invalid, Unknown ou erro de conexão — alerta imediato no Telegram com detalhes completos.

🔄

Duas fontes de API

API pública do RIPE (HTTPS + HTTP fallback) ou Routinator local. Sem lock-in, configure conforme sua infraestrutura.

📋

Log permanente

Log nunca é apagado — mantém histórico completo. O bot envia os últimos 7 dias como arquivo .txt quando você pede /log.

Zero dependências pesadas

Script Bash puro (~950 linhas). Só precisa de curl e jq — presentes em qualquer Linux. Sem runtime, sem framework, sem compilação.

Escolha sua API de validação

O monitor consulta a validade RPKI dos seus prefixos. Você escolhe a fonte: API pública gratuita ou Routinator local sem limites.

🌐 RIPEstat — API Pública

Padrão — sem infraestrutura própria necessária

RPKI_API_MODE="ripestat"
  • Funciona imediatamente, zero setup
  • Reflete a visão global da internet
  • Fallback automático HTTPS → HTTP
  • ⚠️ Rate limiting (~100 req/5min)
  • ⚠️ Depende da estabilidade do RIPE

💡 Dica: Validando falsos resultados

Se suspeitar de falso positivo na API local, consulte a API pública para confirmar — ou vice-versa. O monitor tentará HTTPS primeiro e fará fallback para HTTP automaticamente:

# Via RIPEstat (HTTPS ou HTTP) curl -s "https://stat.ripe.net/data/rpki-validation/data.json?resource=12345&prefix=192.00.00.00/20" | jq '.data.status' # Via Routinator local curl -s "http://192.00.00.00:8323/api/v1/validity/12345/192.00.00.00/20" | jq '.validated_route.validity.state'

Console + Telegram

Controle total do monitor pelo terminal ou pelo celular via Telegram.

check c Forçar verificação RPKI agora
status s Exibir status, uptime, API e contadores
pause p Pausar verificações automáticas
resume r Retomar verificações automáticas
interval i Alterar intervalo (ex: interval 300)
test t Enviar mensagem de teste ao Telegram
reload Recarregar arquivo de configuração
prefixes Listar prefixos monitorados
stop q Parar o monitor
/log Receber arquivo .txt com log dos últimos 7 dias
/logall Receber log completo (todo o histórico)
/status Ver status: uptime, API, contadores
/check Forçar verificação RPKI (responde com resultado)
/pause Pausar verificações automáticas
/resume Retomar verificações automáticas
/help Lista de comandos disponíveis

Pronto em 4 passos

Qualquer Linux com curl e jq. Menos de 2 minutos para começar.

1

Instale as dependências

Apenas curl e jq — provavelmente já estão instalados.

sudo apt install curl jq -y
2

Clone o repositório

git clone https://github.com/davicjc/ROAs-Monitor-Status.git cd ROAs-Monitor-Status
3

Configure

Copie o exemplo e preencha com seus dados do Telegram, ASN e prefixos.

cp config.env.example config.env nano config.env
4

Execute com screen!

Use screen para rodar em segundo plano. Ctrl+A, D para desatachar.

chmod +x monitor_rpki.sh screen -S rpki-monitor ./monitor_rpki.sh # Desatachar (sair sem parar): Ctrl+A, D # Reconectar ao console: screen -r rpki-monitor

Exemplos de notificações

Alertas claros e diretos no Telegram — você sabe exatamente o que aconteceu.

🚨 Alerta Crítico

🚨 ALERTA RPKI CRÍTICO 🚨 1 problema(s) de 3 prefixo(s): ❌ AS12345 / 192.00.00.00/20 → INVALID 🕐 2026-02-23 14:30:00 🖥️ srv-rpki-01 Verifique seu Krill imediatamente!

✅ Tudo OK

RPKI OK — Todos os 7 prefixo(s) estão Valid. 🕐 2026-02-23 14:30:00 | 🖥️ srv-rpki-01 🔄 Próxima verificação: 2026-02-23 20:30:00