Sobre o projeto
OSLKS Radar fornece uma solução de alto desempenho e amigável à privacidade para rastrear o tráfego de sites. O coletor backend é escrito em Rust usando o framework Axum e armazena eventos no TimescaleDB, entregando validação de origem O(1) via cache em memória e suportando milhões de requisições por segundo. O frontend é uma aplicação de página única React construída com Vite e Shadcn UI, oferecendo um design moderno em glass‑morphism, modo escuro e capacidades completas de PWA.
Principais recursos incluem:
- Ingestão ultra‑rápida na porta 8080, com rotas opcionais em modo stealth para contornar bloqueadores de anúncios.
- Dashboards em tempo real na porta 3000, exibindo pageviews, eventos de navegação SPA e dados geográficos (GeoIP MaxMind opcional).
- Operação privacidade‑primeiro: sem cookies, sem scripts de terceiros, compatível com GDPR e totalmente auto‑hospedada.
- Binaries compatíveis com ARM para ambientes de recursos limitados, como instâncias Ampere.
- Instalação simples via uma única imagem Docker que executa o coletor, uma API Node e um servidor Caddy, orquestrados com s6‑overlay. Docker‑Compose também provisiona um contêiner TimescaleDB.
- Gerenciamento abrangente de sites, chaves de API para acesso server‑to‑server e assistente de instalação para configuração inicial do super‑usuário.
A integração é feita adicionando uma pequena tag de script <1KB no cabeçalho da página, especificando o UUID do site e a URL do coletor. O coletor impõe uma whitelist CORS, exigindo que cada domínio esteja listado em CORS_ALLOWED_ORIGINS.
A implantação pode ser realizada com Docker Compose em qualquer VPS, Coolify ou plataforma similar. Variáveis de ambiente controlam a conexão ao banco de dados, segredo de sessão, origens permitidas e caminho opcional para o banco de dados GeoIP. As variáveis VITE_* são incorporadas ao SPA no momento da construção.
O projeto é open source sob a licença MIT e aceita contribuições via fluxo de trabalho fork‑and‑pull‑request.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.