Sobre el proyecto
## Qué es
Snoop es una herramienta de registro de actividad de teclado y ratón para escritorio, de código abierto y «local primero»: todos los datos se escriben en un archivo SQLite alojado localmente, y el README indica explícitamente que no se envía nada a redes externas. Compatible con Windows 10/11 y macOS 10.15+. La marca pertenece a Feedra y su mascota es un gato.
Su objetivo es responder preguntas cotidianas: qué aplicaciones consumen más tiempo, en qué momentos del día hay mayor actividad, cómo evoluciona la intensidad del uso del teclado y el ratón, y en qué medida los hábitos semanales coinciden o difieren de la percepción subjetiva.
## Límites de privacidad (declarados en el README)
La herramienta solo registra la frecuencia e intensidad de la interacción con teclado y ratón, y NO registra:
- La secuencia específica de teclas pulsadas (por lo tanto, contraseñas, contenido de chats o búsquedas no se capturan)
- Portapapeles, capturas de pantalla, micrófono ni cámara
- Ningún dato que deba enviarse a la red
La granularidad en la base de datos es «qué aplicación pulsó N teclas y cuánto se movió el ratón en un intervalo de 5 segundos». El mapa de calor del teclado se basa en conteos deserializados por tecla; según el README, no permite reconstruir el texto escrito.
## Módulos principales
- **Resumen / Vista de hoy**: tarjetas con el estado actual de aplicaciones e intensidad, resumen digital diario, ranking de aplicaciones por tiempo de uso y barra térmica de intensidad por horas del día.
- **Línea de tiempo**: gráfico de Gantt en forma de swimlane, con una fila por aplicación y bloques de color según la aplicación; permite zoom con la rueda, arrastre para desplazar y cambio de fecha; los espacios vacíos superiores a 2 horas se comprimen en bloques grises.
- **Mapa de calor del teclado**: representación del teclado según distribución real, con soporte para lasconfiguraciones 40/60/68/87/98/104; permite filtrar por aplicación y rango horario; tres paneles —teclado, ratón y teclas principales— están interconectados; la codificación cromática usa cuartiles para evitar que teclas muy frecuentes (como Enter) opaquen el resto.
- **Análisis / Informes semanales**: gráfico de barras con tendencias, ranking de aplicaciones con variación intersemana, rejilla térmica 7×24 de hábitos.
- **Otros**: icono en bandeja del sistema, inicio automático (desactivable), temas claro y oscuro, lista de aplicaciones ignoradas, interruptor de comentarios del gato con ajuste de nivel de «sarcasmo», exportación y borrado de datos con un clic.
## Instalación y ejecución
Descarga el instalador correspondiente desde la sección Releases:
- Windows: `Snoop_x.y.z_x64-setup.exe`; si SmartScreen bloquea la ejecución, selecciona «Más información → Ejecutar de todos modos».
- macOS Apple Silicon: `Snoop_x.y.z_aarch64.dmg`; macOS Intel: `Snoop_x.y.z_x64.dmg`.
- En macOS, la primera ejecución requiere concesión de permisos en «Ajustes del sistema → Privacidad y seguridad → Accesibilidad» para la escucha global de teclado y ratón; si Gatekeeper bloquea la app, ábrela con clic derecho.
La actualización automática está integrada: en Windows descarga en segundo plano y muestra una notificación en la bandeja para «Reiniciar e instalar»; en macOS muestra un enlace para abrir la página de descarga y sobrescribir manualmente.
## Implementación y rendimiento
El stack tecnológico está basado en Tauri 2 + React 19 + TypeScript + Vite para el frontend, y Rust como backend, utilizando rusqlite para almacenamiento y rdev/Raw Input para la captación de eventos. El código específico de cada plataforma está aislado mediante `#[cfg]`. La interfaz combina componentes propios con variables CSS semánticas para soportar ambos temas.
Según el README, la escucha global utiliza canales nativos del sistema operativo (Windows emplea Raw Input, macOS emplea canales de eventos de bajo nivel). Los callbacks de eventos solo acumulan contadores en memoria y los datos se escriben en lote cada 5 segundos; el uso diario de CPU se mantiene por debajo del 1 %. La versión para Windows evita deliberadamente los hooks de bajo nivel para no entrar en conflicto con sistemas antitrampas como EAC o Vanguard; Snoop no inyecta DLLs, no accede a la memoria de otros procesos ni envía entradas simuladas.
Ubicación de los datos:
- Windows: `%APPDATA%\org.feedra.snoop\`
- macOS: `~/Library/Application Support/org.feedra.snoop/`
## Compilación desde el código fuente
Se requieren Node 22+, Rust estable y las herramientas de compilación propias de la plataforma. El README advierte que Vite 7 exige Node 20.19+/22.12+; usar Node 18 provoca el error `crypto.hash is not a function` e impide el arranque del servidor de desarrollo.
```bash
npm ci
npm run tauri dev # modo desarrollo
npm run tauri build # generación de paquetes
```
Para compilar en Windows se necesitan las Visual Studio Build Tools (carga de trabajo «Herramientas de compilación para escritorio con C++»); en macOS se requieren las Xcode Command Line Tools. Los procedimientos de empaquetado y publicación se describen en `docs/empaquetado_y_publicación.md` dentro del repositorio.
## Limitaciones conocidas y licencia
Actualmente no soporta Linux; el README indica que este no es un objetivo de lanzamiento inmediato. Tampoco existe sincronización con dispositivos móviles ni en la nube, decisión descrita por el autor como intencional.
La marca y los derechos pertenecen a Feedra (© 2026). El código es de código abierto, pero el README solicita no utilizar la marca «Snoop» ni la mascota en productos similares. La licencia formal aún está pendiente; el archivo `LICENSE` está por completarse.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.