https://github.com/karthik558/codelogger
An advanced Python-based monitoring tool for educational and security research purposes.
https://github.com/karthik558/codelogger
cybersecurity-tools educational-purposes keystroke-injection python-hacking-tools
Last synced: about 1 month ago
JSON representation
An advanced Python-based monitoring tool for educational and security research purposes.
- Host: GitHub
- URL: https://github.com/karthik558/codelogger
- Owner: karthik558
- License: mit
- Created: 2023-10-12T16:27:19.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-23T15:41:21.000Z (11 months ago)
- Last Synced: 2025-10-06T10:57:33.744Z (7 months ago)
- Topics: cybersecurity-tools, educational-purposes, keystroke-injection, python-hacking-tools
- Language: Python
- Homepage:
- Size: 302 KB
- Stars: 10
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### 🔐 Advanced Security Monitoring Tool 🔍
[](LICENSE)
[](https://www.python.org/downloads/)
[](https://github.com/karthik558/CodeLogger/pulls)
[](https://github.com/karthik558/CodeLogger)
## Overview
CodeLogger 2.0 is a comprehensive security monitoring tool that records keystrokes, captures screenshots, monitors clipboard activity, gathers system information, and sends reports via email. The tool uses advanced encryption to secure collected data.
> ⚠️ **DISCLAIMER**: This tool is for educational and legitimate security testing purposes only. Unauthorized monitoring of computers or devices without consent is illegal in most jurisdictions. Always obtain proper authorization before deployment.
## Key Features
Monitoring Capabilities
- 🔑 Keylogging: Records all keyboard input
- 📸 Screenshot Capture: Periodically captures screen images
- 📋 Clipboard Monitoring: Tracks clipboard content changes
- 🖥️ System Information: Collects hardware, network, and user details
Advanced Features
- 📧 Email Reporting: Automatically sends collected data to specified email
- 🔒 Encryption: Secures logged data with PBKDF2 and Fernet encryption
- ⏱️ Scheduling: Configurable intervals for data collection and reporting
- 📊 HTML Reports: Creates beautiful HTML and text reports
- 🧙♂️ Configuration Wizard: Easy setup with interactive prompts
- 💻 Command Line Interface: Powerful CLI options for flexibility
## Table of Contents
Click to expand/collapse
## Prerequisites
Required Software & Dependencies
* **Python 3.6 or higher**
* **Required Python Packages** (automatically installed via requirements.txt):
* pynput - For keyboard monitoring
* pillow - For screenshot capabilities
* cryptography - For encryption functions
* requests - For API communication
* psutil - For system information collection
## Installation
Step-by-Step Installation Guide
```bash
# Clone the repository
git clone https://github.com/karthik558/CodeLogger.git
# Navigate to the project directory
cd CodeLogger
# Install dependencies
pip install -r requirements.txt
```
> **Note**: For macOS users, you may need to grant additional permissions for the tool to function properly.
## Usage
Command Line Options
```bash
# Run the main program
python CodeLogger.py
# Run with configuration wizard
python CodeLogger.py --config
# Generate a report without starting monitoring
python CodeLogger.py --report-only
# Check the status of CodeLogger services
python CodeLogger.py --status
# Decrypt a file encrypted by CodeLogger
python CodeLogger.py --decrypt path/to/encrypted_file
# Show version information
python CodeLogger.py --version
```
Running the Program
1. Configure the tool using the configuration wizard:
```bash
python CodeLogger.py --config
```
2. Start monitoring:
```bash
python CodeLogger.py
```
3. To stop the program:
- Press `Ctrl+C` in the terminal
- Or `Ctrl+Z` (`Command+Z` on macOS) while typing
## Folder Structure
Project Directory Organization
When running CodeLogger, the following folder structure will be created:
```
CodeLogger/
├── CodeLogger.py # Main executable script
├── config.json # Configuration file
├── output/ # Main output directory
│ ├── codelogger.log # Log file for program operations
│ ├── key.txt # Keylog storage
│ ├── clipboard_history.txt # Clipboard monitoring storage
│ ├── screenshots/ # Directory for captured screenshots
│ │ └── screenshot_YYYYMMDD_HHMMSS.png
│ ├── system_info/ # Directory for system information
│ │ └── system_info_YYYYMMDD_HHMMSS.json
│ └── reports/ # Directory for generated reports
│ ├── report_YYYYMMDD_HHMMSS.html
│ └── report_YYYYMMDD_HHMMSS.txt
├── src/ # Source assets
│ └── codelogger.jpg # Project logo
└── requirements.txt # Python dependencies
```
## Precautions
Important Security and Legal Considerations:
- ✅ Always obtain proper authorization before deploying this tool
- 🔑 When using the email functionality, it's recommended to use app-specific passwords
- 🔄 Change the default encryption password and salt in the configuration
- ⚖️ Be aware of privacy laws and regulations in your jurisdiction
- 🚫 Never use this tool for malicious purposes or unauthorized surveillance
## Contributing
How to Contribute
We welcome contributions to CodeLogger! Here's how you can help:
1. **Fork** the repository
2. **Create a branch** for your feature: `git checkout -b feature/amazing-feature`
3. **Commit** your changes: `git commit -m 'Add some amazing feature'`
4. **Push** to your branch: `git push origin feature/amazing-feature`
5. Open a **Pull Request**
For bug reports, feature requests, or feedback, please open an **Issue**.
## License
MIT License Terms
This project is licensed under the [MIT License](LICENSE) - see the LICENSE file for details.
Copyright (c) 2025 CodeLogger Contributors
---