The Activity Tracker Agent is a desktop application used to track system activity and distinguish between genuine user behavior and automated/scripted inputs.
Architecture |
---|
- 🖱️ Mouse Tracking: Identifies patterns in cursor moving.
- 👆 Mouse Click Tracking: Track if mouse is clicking without movement.
- ⌨️ Keyboard Tracking: Monitors key press intverals and analysis them.
- 🌍 Time Zone Detection: Automatically detects system time zone changes in system and report timestamps.
- ⏱️ Configurable Intervals: Set screenshot intervals, through the web app.
- 😶🌫️ Optional Blur: Enable/disable blurring for privacy, via the web app.
- ☁️ Cloud Storage Upload: Uploads screenshots to Amazon S3.
- 🫸 Queue Management: stores the files in the queue if no internet connection, then after connectivity uploads to S3.
- ☁️ Amazon S3 Upload: Uploads screenshots to Amazon S3 after connection establish.
- 🫸 Encryption: Uses cryptography library for Encryption of screenshots
- ☁️ Compression: Uses gzip and zipfile library for compression of screenshots
This allows users to configure settings of Python Agent like screenshot interval, enable/disable screenshots and blur.
Authentication | Configurations |
---|---|
Start/Stop Script | Realtime Settings |
---|---|
The application starts by initializing mouse, keyboard, and time zone tracking on separate threads to continuously monitor activity.
import threading
import mouse_tracking
import mouse_click_tracking
import keyboard_tracking
import timezone_tracking
def main():
movement_thread = threading.Thread(target=mouse_tracking.track_mouse_movement)
movement_thread.start()
keyboard_thread = threading.Thread(target=keyboard_tracking.monitor_keyboard)
keyboard_thread.start()
timezone_thread = threading.Thread(target=timezone_tracking.detect_time_zone_change)
timezone_thread.start()
mouse_click_tracking.detect_clicks()
if __name__ == "__main__":
main()
-
Clone the repository:
git clone https://github.com/nitishkumar333/Activity-Tracker-Agent.git
-
Install required dependencies:
pip install -r requirements.txt
-
Add credentials in .env:
AWS_ACCESS_KEY_ID = 'your_key_id' AWS_SECRET_ACCESS_KEY = 'secret_key' REGION_NAME = 'us-east-1' BUCKET_NAME = 'bucket_name' ENCRYPTION_KEY = 'your_ency_key'
-
Run the application:
cd activity-tracking python vira.py
-
Install required dependencies:
cd web_agent npm install
-
Add credentials in .env:
REACT_APP_AWS_ACCESS_KEY_ID = 'your_key_id' REACT_APP_AWS_SECRET_ACCESS_KEY = 'secret_key' REACT_APP_AWS_REGION_NAME = 'us-east-1' REACT_APP_AWS_BUCKET_NAME = 'bucket_name' REACT_APP_AWS_BUCKET_NAME = 'your_ency_key' REACT_APP_FIREBASE_API_KEY = 'your_key_id' REACT_APP_FIREBASE_AUTH_DOMAIN = 'your_auth_id' REACT_APP_FIREBASE_PROJECT_ID = 'your_project_id' REACT_APP_FIREBASE_STORAGE_BUCKET = 'your_storage_id' REACT_APP_FIREBASE_MESSAGING_ID = 'your_message_id' REACT_APP_FIREBASE_APP_ID = 'your_firebase_app_id'
-
Run the application:
npm start
This project was developed by: