Sobre o projeto
## O que é
Snoop é uma ferramenta open source de registro de atividade de teclado e mouse para desktop, posicionada como local-first: todos os dados são gravados em um único arquivo SQLite na máquina local, e o README afirma explicitamente que nada é enviado pela rede. Compatível com Windows 10/11 e macOS 10.15+, pertence à marca Feedra e tem como mascote um gato.
Seu objetivo é responder a algumas perguntas do dia a dia: quais aplicativos consomem mais tempo, em quais horários do dia há mais atividade, como varia a curva de intensidade de teclado e mouse e o quanto a rotina de uma semana difere da percepção subjetiva.
## Limites de privacidade (declarados no README)
A ferramenta registra apenas frequência e intensidade de teclado e mouse, sem registrar:
- a sequência de valores específicos das teclas pressionadas (portanto senhas, conteúdo de conversas e termos de busca não são capturados)
- área de transferência, capturas de tela, microfone, câmera
- qualquer conteúdo que exija envio pela rede
A granularidade no banco de dados é: determinado aplicativo, em determinado intervalo de 5 segundos, recebeu N pressionamentos de tecla e o mouse se moveu X pixels. O mapa de calor do teclado baseia-se na contagem, sem sequência, de quantas vezes cada posição de tecla foi pressionada; segundo o README, não é possível reconstruir o conteúdo digitado.
## Principais módulos de funcionalidades
- Visão geral / Instantâneo do dia: cartão de status do aplicativo atual e da faixa de intensidade, resumo numérico do dia, ranking de tempo de uso por aplicativo e barra de calor de intensidade por faixa de 24 horas.
- Linha do tempo: gráfico de Gantt em faixas, com uma linha por aplicativo, eixo horizontal representando o tempo e blocos coloridos com cores fixas por aplicativo; suporta zoom com a roda do mouse, arrastar para deslocar e troca de data; intervalos vazios superiores a 2 horas são comprimidos em blocos cinza.
- Mapa de calor do teclado: renderizado conforme o layout real de teclado, com diversos layouts internos alternáveis, como 40/60/68/87/98/104; permite filtragem por aplicativo e por período; os blocos de teclado, mouse e teclas mais usadas são interligados; a coloração usa faixas por quantis, evitando que teclas muito frequentes (como Enter) se sobreponham às demais.
- Insights / Relatório entre semanas: gráfico de barras de tendência semanal, ranking de aplicativos com variação em relação ao período anterior e grade de calor de rotina 7x24.
- Outros: ícone permanente na bandeja, inicialização automática com o sistema (desativável), temas claro e escuro, lista de aplicativos ignorados, chave de comentários do gato e ajuste do nível de sarcasmo, exportação e limpeza dos dados com um clique.
## Instalação e execução
Baixe o pacote de instalação da plataforma correspondente na página de Releases:
- Windows: Snoop_x.y.z_x64-setup.exe; se o SmartScreen bloquear, escolha Mais informações, Executar mesmo assim.
- macOS Apple Silicon: Snoop_x.y.z_aarch64.dmg; macOS Intel: Snoop_x.y.z_x64.dmg.
- No macOS, a primeira execução exige autorização em Ajustes do Sistema, Privacidade e Segurança, Acessibilidade, usada para a escuta global de teclado e mouse; se o Gatekeeper bloquear na primeira vez, abra com o botão direito.
A atualização automática já é integrada: no Windows, o download ocorre em segundo plano e o menu da bandeja exibe a opção de reiniciar para instalar; no macOS, é exibido um aviso para abrir a página de download e sobrescrever manualmente.
## Implementação e desempenho
A stack técnica é Tauri 2 + React 19 + TypeScript + Vite (frontend), com Rust no backend, usando rusqlite para armazenamento, rdev/Raw Input para coleta, e código específico de plataforma isolado por #[cfg]. A interface é feita com componentes próprios e variáveis CSS semânticas, com dois temas, claro e escuro.
O README afirma que a escuta global usa canais nativos do sistema operacional (Raw Input no Windows e canal de eventos de baixo nível no macOS); os callbacks de eventos apenas contam em memória e gravam em lote no banco a cada 5 segundos, com uso de CPU diário inferior a 1%. A versão para Windows deliberadamente não usa low-level hook, para evitar conflito com mecanismos antitrapaça como EAC e Vanguard; o Snoop não injeta DLLs, não lê a memória de outros processos e não envia entradas simuladas.
Local de armazenamento dos dados: no Windows, %APPDATA%\org.feedra.snoop\; no macOS, ~/Library/Application Support/org.feedra.snoop/.
## Compilar a partir do código-fonte
Requer Node 22+, Rust stable e o conjunto de ferramentas de compilação da plataforma correspondente. O README alerta que o Vite 7 exige Node 20.19+/22.12+; usar Node 18 provoca o erro crypto.hash is not a function, impedindo a inicialização do servidor de desenvolvimento.
npm ci
npm run tauri dev (modo de desenvolvimento)
npm run tauri build (gerar o pacote de instalação)
A compilação no Windows requer o Visual Studio Build Tools (carga de trabalho de desenvolvimento para desktop com C++); no macOS, requer o Xcode Command Line Tools. O fluxo de empacotamento e publicação está em docs/打包与发布.md no repositório.
## Limitações conhecidas e licença
O Linux ainda não é suportado, e o README explica que não é o alvo atual de lançamento. Não há suporte a sincronização com celular ou nuvem, o que o autor descreve como uma decisão de projeto.
A marca e os direitos autorais pertencem à Feedra (© 2026). O código é open source, mas o README pede que a marca Snoop e o mascote não sejam usados em produtos do mesmo tipo. Os termos formais de licença ainda não foram definidos e o arquivo LICENSE está pendente.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.