StealthMon is a Python module that helps detect whether a browser is running in Normal or Incognito/Private mode and monitors search queries from the system. It is designed for privacy monitoring, parental control, cybersecurity research, and system audits.
Project description
StealthMon 🕵️♂️🔍
Detect Brouser Mode & Monitor Browser Search Queries
Overview
StealthMon is a Python module that helps detect whether a browser is running in Normal or Incognito/Private mode and monitors search queries from the system. It is designed for privacy monitoring, parental control, cybersecurity research, and system audits.
Features
✅ Detect Brouser Mode – Identify when browsers like Chrome, Firefox, Edge, Brave, or Opera are running in private mode. ✅ Monitor Search Queries – Track user searches made on Google, Bing, DuckDuckGo, and more. ✅ Alert System – Configurable alerts when specific queries are detected. ✅ Multi-Threading Support – Efficient monitoring with background threads. ✅ Visual Notifications – Optional UI components for alerts and notifications. ✅ Cross-Platform – Works on Windows & Linux (Mac support coming soon). ✅ Lightweight & Easy to Use – Simple Python module with clear API.
Use Cases
🔹 Parental Control – Keep track of Incognito browsing on a child's system. 🔹 Cybersecurity & Monitoring – Detect stealth browsing behavior in workplaces or shared systems. 🔹 Forensics & Investigations – Useful for analyzing browser activity on compromised systems.
Installation
pip install stealthmon
Or install from source:
git clone https://github.com/dkydivyansh/stealthmon
cd stealthmon
pip install -e .
Dependencies
StealthMon requires the following dependencies:
- Python 3.7+
- psutil
- pywin32 (Windows only)
- tkinter (for UI components)
- pygame (for sound alerts)
Quick Start
from stealthmon import StealthMonitor
# Initialize the monitor
monitor = StealthMonitor()
# Check for incognito mode
incognito_browsers = monitor.check_incognito()
for browser, is_incognito in incognito_browsers.items():
print(f"{browser}: {'Incognito Mode' if is_incognito else 'Normal Mode'}")
# Start monitoring with a callback function
def handle_detection(event_type, browser, details):
if event_type == "incognito":
print(f"Incognito detected: {browser}")
elif event_type == "query":
print(f"Search query detected: {details['query']} on {details['engine']}")
# Start continuous monitoring
monitor.start_monitoring(callback=handle_detection)
# To stop monitoring
# monitor.stop_monitoring()
Advanced Usage
Tracking Specific Search Queries
# Track specific search queries
monitor = StealthMonitor()
def query_callback(browser, query, engine):
if "python tutorial" in query.lower():
print(f"Educational search detected: {query}")
monitor.start_query_tracking(callback=query_callback)
Customizing Detection Behavior
# Custom configuration
config = {
"browsers_to_monitor": ["chrome", "firefox", "edge"],
"check_interval": 3, # seconds
"search_engines": {
"google": r"google\.com\/search\?.*q=([^&]+)",
"bing": r"bing\.com\/search\?.*q=([^&]+)"
}
}
monitor = StealthMonitor(config=config)
monitor.start_monitoring()
UI Components for Alerts
from stealthmon import StealthMonitor, create_alert_window
monitor = StealthMonitor()
def show_alert(event_type, browser, details):
if event_type == "query" and "sensitive" in details['query'].lower():
create_alert_window(
title="Search Alert",
message=f"Sensitive search detected: {details['query']}",
duration=10 # seconds
)
monitor.start_monitoring(callback=show_alert)
Error Handling
StealthMon includes robust error handling for various scenarios:
- Browser detection failures
- Privilege or permission issues
- Missing dependencies
- Platform compatibility issues
Contributing
We welcome contributions! If you want to enhance the project, feel free to submit issues and pull requests.
License
MIT License - See LICENSE file for details
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file stealthmon-1.2.0.tar.gz.
File metadata
- Download URL: stealthmon-1.2.0.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b748666e03ef1f5c9408b18427fa5659cec0437c088556b5d0934e2047005b8e
|
|
| MD5 |
8312effaa2615afcd5200715d366d5a4
|
|
| BLAKE2b-256 |
8e0d9ad1c61d863aec7e7e59c0a9413c13f0d321649f0c23ecac13897dea3d2a
|
File details
Details for the file stealthmon-1.2.0-py3-none-any.whl.
File metadata
- Download URL: stealthmon-1.2.0-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53309620c4e6f3e7d982075209517ace4de2e62d89f006d12b0291a81e763780
|
|
| MD5 |
3f898a4db2eee6184d9014e22a8f37a5
|
|
| BLAKE2b-256 |
9e8826adfea16acece2b65f1ca9df27d2b5db51f0d5f79d1611d4de4efd65df2
|