An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          


CodeLogger 2.0 Logo

### 🔐 Advanced Security Monitoring Tool 🔍

[![GitHub license](https://img.shields.io/github/license/karthik558/CodeLogger?color=blue&style=for-the-badge)](LICENSE)
[![Python 3.6+](https://img.shields.io/badge/python-3.6+-blue.svg?style=for-the-badge)](https://www.python.org/downloads/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/karthik558/CodeLogger/pulls)
[![Last Updated](https://img.shields.io/badge/last%20updated-May%202025-orange)](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


  1. Prerequisites

  2. Installation

  3. Usage

  4. Folder Structure

  5. Precautions

  6. Contributing

  7. License

## 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

---


Made with ❤️ by KARTHIK LAL



Report Bug
Request Feature