Repolode
quyxishi

quyxishi/whitebox

Um exporter Prometheus que testa serviços VPN externos por VMESS, VLESS, Trojan, WireGuard, AmneziaWG, Shadowsocks e Hysteria2 e informa se estão disponíveis.

Estrelas
162
Forks
14
Issues abertas
1
Último commit
há 6 dias

O que é?

whitebox é um exporter Prometheus que verifica se serviços VPN externos estão acessíveis e funcionando. Você informa uma URI de conexão VPN e uma URL de destino; ele cria um túnel pela VPN, acessa o destino e retorna o resultado como métricas Prometheus, incluindo sucesso, status HTTP, duração de cada etapa e tamanho da resposta.

Os protocolos compatíveis incluem VMESS, VLESS, Trojan, WireGuard, AmneziaWG, Shadowsocks e Hysteria2. As verificações podem ser executadas sob demanda por um endpoint REST, agendadas pelo Prometheus usando o padrão de exporter multi-target ou chamadas por um cron job com curl. Um arquivo de configuração YAML permite definir escopos nomeados, timeouts, corpos de requisição, cabeçalhos personalizados e regras de validação fail_if; a configuração é recarregada ao receber SIGHUP.

O exporter reutiliza instâncias xray já iniciadas entre as verificações para manter o uso de memória limitado e expõe as próprias estatísticas de cache em /metrics. Ele é distribuído como imagem Docker e inclui um exemplo de stack com Prometheus, blackbox_exporter e Grafana.

Recursos principais

  • 01Testa túneis pelos protocolos VMESS, VLESS, Trojan, WireGuard, AmneziaWG, Shadowsocks e Hysteria2.
  • 02Expõe os resultados das verificações como métricas Prometheus, incluindo sucesso, código de status e duração de cada etapa.
  • 03Disponibiliza um endpoint REST /probe para verificações sob demanda ou agendadas.
  • 04Oferece suporte a escopos YAML com timeouts, corpos de requisição, cabeçalhos e regras de validação da resposta.
  • 05Recarrega a configuração ao receber SIGHUP, sem reiniciar.
  • 06Reutiliza instâncias xray entre verificações e expõe métricas de cache.

Casos de uso

  • Monitorar no Prometheus e no Grafana a disponibilidade de nós VPN próprios ou de terceiros.
  • Executar verificações agendadas de conectividade para um conjunto de URIs de conexão VPN.
  • Testar rapidamente se uma conexão VPN consegue acessar uma URL específica.

Início rápido

  1. 1

    Execute a imagem Docker pré-compilada

    docker run --rm -d --name whitebox -p 9116:9116 rxyvea/whitebox:latest
  2. 2

    Faça uma sondagem do alvo por meio de um URI de conexão VPN

    curl -sG http://localhost:9116/probe --data-urlencode 'ctx=vless://c9f5228c-8870-47bd-a92f-9b38c7c02b08@1.2.3.4:443?type=tcp&encryption=none&security=reality&pbk=DF-3KL2W4RuNB2HgsEDmLqHLvvTTN4_QfwUCUn8Uhy0&fp=firefox&sni=ce-cdn.icloud-content.com&sid=620352b7&spx=%2F&flow=xtls-rprx-vision' --data-urlencode 'target=https://google.com'

Antes de usar

  • A sondagem exige um URI de conexão VPN funcional para cada alvo, então você precisa fornecer os dados do seu próprio servidor VPN.
  • O uso de memória pode crescer sem limites, a menos que o cache de instâncias do xray seja ativado ou que seja definido um limite de memória para o contêiner.

Tópicos

Perguntas frequentes

O que é whitebox?
Um exporter Prometheus que testa serviços VPN externos por VMESS, VLESS, Trojan, WireGuard, AmneziaWG, Shadowsocks e Hysteria2 e informa se estão disponíveis. whitebox é um exporter Prometheus que verifica se serviços VPN externos estão acessíveis e funcionando. Você informa uma URI de conexão VPN e uma URL de destino; ele cria um túnel pela VPN, acessa o destino e retorna o resultado como métricas Prometheus, incluindo sucesso, status HTTP, duração de cada etapa e tamanho da resposta.
whitebox é gratuito? Qual é a licença?
whitebox é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
whitebox ainda é mantido?
Manutenção ativa. O último commit de whitebox foi em 14 de out. de 2026.
Para que posso usar whitebox?
Monitorar no Prometheus e no Grafana a disponibilidade de nós VPN próprios ou de terceiros. Executar verificações agendadas de conectividade para um conjunto de URIs de conexão VPN. Testar rapidamente se uma conexão VPN consegue acessar uma URL específica.
Como instalar whitebox?
Execute a imagem Docker pré-compilada: docker run --rm -d --name whitebox -p 9116:9116 rxyvea/whitebox:latest Faça uma sondagem do alvo por meio de um URI de conexão VPN: curl -sG http://localhost:9116/probe --data-urlencode 'ctx=vless://c9f5228c-8870-47bd-a92f-9b38c7c02b08@1.2.3.4:443?type=tcp&encryption=none&security=reality&pbk=DF-3KL2W4RuNB2HgsEDmLqHLvvTTN4_QfwUCUn8Uhy0&fp=firefox&sni=ce-cdn.icloud-content.com&sid=620352b7&spx=%2F&flow=xtls-rprx-vision' --data-urlencode 'target=https://google.com'
Onde consigo whitebox?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/quyxishi/whitebox

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados