Об этом проекте
## Что это
Snoop — инструмент с открытым исходным кодом для записи активности клавиатуры и мыши на десктопе, позиционируется как «локально ориентированный»: все данные пишутся в локальный файл SQLite, README прямо указывает, что ничего не отправляется в сеть. Поддерживает Windows 10/11 и macOS 10.15+, бренд принадлежит Feedra, талисман — кот.
Инструмент отвечает на вопросы: какие приложения занимают больше всего времени, когда в течение дня наибольшая активность, как выглядит кривая интенсивности работы с клавиатурой и мышью, насколько фактическая картина расходится с субъективными ощущениями.
## Границы конфиденциальности (прямо заявлено в README)
Записывается только частота и интенсивность использования клавиатуры и мыши; НЕ записывается:
- Конкретная последовательность нажатых клавиш (пароли, сообщения, поисковые запросы не фиксируются)
- Буфер обмена, скриншоты, микрофон, камера
- Любой контент, требующий загрузки в сеть
В базе данныхgranularity составляет: «какO приложения за интервал в 5 секунд было нажато N клавиш и мышь передвинута на K пикселей». Тепловая карта клавиатуры строится по подсчёту нажатий каждой клавиши; по словам авторов, восстановить ввод по ней невозможно.
## Основные модули
- **Обзор / Сегодняшний снимок**: карточки текущего состояния приложений и уровней интенсивности, дневная сводка, рейтинг приложений по времени, тепловая полоса интенсивности за 24 часа.
- **Таймлайн**: гantt-диаграмма типа «泳道», каждое приложение — отдельная строка, по горизонтали — время, цвет блока фиксирован за приложением; масштабирование колесом, перетаскивание, переключение дат; пустые интервалы свыше 2 часов сжимаются в серые блоки.
- **Тепловая карта клавиатуры**: рендеринг по реальной раскладке, переключение между раскладами 40/60/68/87/98/104; фильтрация по приложению и периоду; три блока — клавиатура, мышь, топ-клавиши — взаимосвязаны; окраска использует квантили, чтобы высокие клавиши (например Enter) не затемняли остальные.
- **Аналитика / Межнедельный отчёт**: столбчатая диаграмма трендов за неделю, рейтинг приложений с ростом/снижением, тепловая сетка作息 7×24.
- **Прочее**:常驻 в трее, автозапуск (можно отключить), светлая и тёмная темы, список игнорируемых приложений, переключатель «кот-комментарии» и настройка его едкости, экспорт и очистка данных одной кнопкой.
## Установка и запуск
Скачайте подходящий пакет на странице Releases:
- Windows: `Snoop_x.y.z_x64-setup.exe`; при блокировке SmartScreen — «Дополнительно → Всё равно запустить».
- macOS Apple Silicon: `Snoop_x.y.z_aarch64.dmg`; macOS Intel: `Snoop_x.y.z_x64.dmg`.
- При первом запуске на macOS потребуется разрешение в «Системные настройки → Безопасность и конфиденциальность → Специальные возможности» для глобального перехвата клавиатуры и мыши; Gatekeeper можно обойти, открыв файл правой кнопкой мыши.
Встроенное автообновление: на Windows — фоновая загрузка с предложением «Перезапустить для установки» в трее; на macOS — предложение открыть страницу загрузки для ручной установки поверх текущей версии.
## Реализация и производительность
Стек: Tauri 2 + React 19 + TypeScript + Vite (фронтенд), Rust как бэкенд, rusqlite для хранения, rdev / Raw Input для сбора событий. Платформозависимый код изолирован через `#[cfg]`. Тема реализована через кастомные компоненты и CSS-переменные с семантическим разделением светлой и тёмной тем.
По словам авторов, глобальный перехват идёт через нативные каналы ОС (Windows — Raw Input, macOS — низкоуровневый event channel); колбэки оперируют только счётчиками в памяти, каждые 5 секунд происходит пакетная запись в базу; типичное потребление CPU — менее 1%.
Версия для Windows намеренно не использует low-level hook, чтобы не конфликтовать с античитамя EAC, Vanguard и подобными. Snoop не инжектирует DLL, не читает память других процессов, не посылает эмуляцию ввода.
Путь к данным: Windows — `%APPDATA%\org.feedra.snoop\`, macOS — `~/Library/Application Support/org.feedra.snoop/`.
## Сборка из исходников
Требуются Node 22+, стабильный Rust и цепочка инструментов платформы. README предупреждает: Vite 7 требует Node 20.19+/22.12+, использование Node 18 вызывает `crypto.hash is not a function` и не позволяет запустить dev-сервер.
```bash
npm ci
npm run tauri dev # режим разработки
npm run tauri build # создание установочного пакета
```
Для Windows нужны Visual Studio Build Tools (рабочая нагрузка C++ desktop development), для macOS — Xcode Command Line Tools. Подробный процесс упаковки и публикации см. в `docs/打包与发布.md` внутри репозитория.
## Известные ограничения и лицензия
Linux пока не поддерживается — в README это указано как отсутствие цели для текущих релизов. Синхронизация с телефоном или облаком не предусмотрена; автор описывает это как осознанный выбор.
Бренд и авторские права принадлежат Feedra (© 2026). Код открыт, но README просит не использовать бренд «Snoop» и талисман в аналогичных продуктах. Официальные условия лицензии ещё не утверждены, файл `LICENSE` ожидается.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.