https://github.com/gaganovalexander/selfspy
SelfSpy is a macOS utility that monitors system and application activity, running as a LaunchDaemon with root privileges
https://github.com/gaganovalexander/selfspy
activity-tracker macos python telegram
Last synced: about 1 month ago
JSON representation
SelfSpy is a macOS utility that monitors system and application activity, running as a LaunchDaemon with root privileges
- Host: GitHub
- URL: https://github.com/gaganovalexander/selfspy
- Owner: GaganovAlexander
- License: mit
- Created: 2025-03-13T14:25:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-12T18:06:59.000Z (about 1 year ago)
- Last Synced: 2025-05-12T19:25:40.762Z (about 1 year ago)
- Topics: activity-tracker, macos, python, telegram
- Language: Python
- Homepage:
- Size: 25.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SelfSpy
**SelfSpy** — это утилита для macOS, которая отслеживает активность системы и приложений.
## Текущие фичи
#### Оповещает о:
- Запуске и завершении работы системы
- Запуске и завершении работы всех оконных приложений
- Открытии и закрытии вкладок в Google Chrome и Safari
- Добавлении и удалении cron задач
- Установку и удаление приложений
- Загрузка dmg файлов
#### Приложение самостоятельно регистрируется как LaunchDaemon
#### Приложение запускается от root, чтобы видеть активность всех пользователей
## Установка
Перед установкой:
- Создайте Telegram-бота через [BotFather](https://t.me/BotFather), так как вам понадобится его токен.
- Узнайте свой Telegram ID с помощью [GetMyId](https://t.me/getmyid_bot) — он понадобится в setup.sh.
Далее просто запустите команды:
(Будет запрошен sudo пароль, так как, как сказано выше, приложение работает как LaunchDaemon от root пользователя)
(Могут быть запрошены разрешения для python на управление System Events и браузерами Google Chrome и Safari, так как оно напрямую опрашивает их, чтобы получить данные. А так же на просмотр папок Downloads у пользователей. Для работы приложения - нужно разрешение)
```sh
git clone https://github.com/GaganovAlexander/SelfSpy
cd SelfSpy
chmod 770 setup.sh
sudo ./setup.sh
```
После отработки скрипта помимо всех настроек и автозапуска, будут созданы скрипты start.sh и stop.sh для упрощёного запуска и остановки приложения по необходимости.
**ВАЖНО!** Скрипт сразу даёт приложению автозапуск со включением системы, так что запускать start.sh после перезагрузок НЕ надо!
## Управление приложением
Чтобы остановить приложение, используйте команду:
```sh
sudo ./stop.sh
```
Чтобы заново(или, если по какой-то причине не запустилось само с запуском системы) запустить:
```sh
sudo ./start.sh
```
---
Для полного удаления приложения:
```sh
sudo ./uninstall.sh
```
Тут заменить "{path_}" на путь до директории "SelfSpy/" включительно
```sh
sudo rm -rf {path_}
```
---
## Структура приложения
- [src/](https://github.com/GaganovAlexander/SelfSpy/blob/main/src) - исходный код приложения
- [src/saved_data/](https://github.com/GaganovAlexander/SelfSpy/blob/main/src/saved_data) - хранилище для данных, сохраняемых между запусками приложения или при отсутствии интернета
- [LICENSE](https://github.com/GaganovAlexander/SelfSpy/blob/main/LICENSE) - лицензия MIT
- [setup.sh](https://github.com/GaganovAlexander/SelfSpy/blob/main/setup.sh) - скрипт установки, который создаёт окружение, регистрирует приложение в launchctl и настраивает права доступа
- start.sh - скрипт быстрого запуска приложения. Создаётся при запуске setup.sh (Запускать от sudo)
- stop.sh - скрипт быстрой остановки приложения. Создаётся при запуске setup.sh (Запускать от sudo)
- uninstall.sh - скрипт для остановки и УДАЛЕНИЯ всех агентов и демона. Создаётся при запуске setup.sh (Запускать от sudo)