Pickachu19/ThreadSleuth

GitHub: Pickachu19/ThreadSleuth

Stars: 2 | Forks: 0

████████╗██╗ ██╗██████╗ ███████╗ █████╗ ██████╗ ███████╗██╗ ███████╗██╗ ██╗████████╗██╗ ██╗ ╚══██╔══╝██║ ██║██╔══██╗██╔════╝██╔══██╗██╔══██╗ ██╔════╝██║ ██╔════╝██║ ██║╚══██╔══╝██║ ██║ ██║ ███████║██████╔╝█████╗ ███████║██║ ██║ ███████╗██║ █████╗ ██║ ██║ ██║ ███████║ ██║ ██╔══██║██╔══██╗██╔══╝ ██╔══██║██║ ██║ ╚════██║██║ ██╔══╝ ██║ ██║ ██║ ██╔══██║ ██║ ██║ ██║██║ ██║███████╗██║ ██║██████╔╝ ███████║███████╗███████╗╚██████╔╝ ██║ ██║ ██║ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ >_ DIGITAL FORENSIC ANALYZER_< High-Performance Parallel Digital Forensic Analyzer
## Overview ## System Architecture The system follows a **Producer-Consumer** model to ensure thread safety and scalability: ## Key Features * **High Performance:** Backend written in **C++** for low-level memory management and speed. * **Concurrency:** Implements a custom **Thread Pool** to avoid the overhead of creating/destroying threads. * **Thread Safety:** Uses **Mutexes** and **Condition Variables** to prevent data corruption (Race Conditions). * **Modern UI:** **Streamlit** frontend provides a clean, web-based dashboard to visualize results instantly. * **Automated Reporting:** Generates detailed forensic reports automatically upon completion. ## Technology Stack | Component | Technology | Role | | --- | --- | --- | | **Backend Logic** | C++ (std::thread) | Core processing engine, memory management | | **Frontend UI** | Python (Streamlit) | User interface, file upload, visualization | | **Synchronization** | Mutex, Condition Variables | Ensuring thread safety and data integrity | | **Inter-Process Comm** | Subprocess/File I/O | Connecting Python UI with C++ Engine | ## Installation & Usage ### Prerequisites * **C++ Compiler:** MinGW (Windows) or G++ (Linux) * **Python 3.x** * **Visual Studio** (Optional, recommended for Windows users) ### Step 1: Clone the Repository ### Step 2: Compile the Backend (C++) **On Windows:** # If using MinGW g++ main.cpp -o backend.exe -pthread # OR if using Visual Studio # Open the project in VS, Build Solution, and move the .exe to this folder. **On Linux/Mac:** g++ main.cpp -o backend -pthread ### Step 3: Run the Dashboard (Python) Install the required library and launch the app: pip install streamlit streamlit run app.py The application will open automatically in your browser at `http://localhost:8501`. ## Screenshots Dashboard ## License Distributed under the **MIT License**. See `LICENSE` for more information.