From 6e7a5baa203a8fd3bea35bed8dc75d5d40ddb4c0 Mon Sep 17 00:00:00 2001 From: indar suthar Date: Sat, 1 Nov 2025 10:51:22 +0530 Subject: [PATCH 1/2] docs: updated readme.md --- README.md | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 159 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 2484f03..ec6499d 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,163 @@ -# KeyLogger5155 +## πŸ–₯️ Keylogger 5155 -This is an advanced KeyLogger app seeking contribution for it's GUI and backend efficiency. +A **Python-based GUI Keylogger** built with `CustomTkinter`, `Pynput`, and `Pillow`, capable of capturing keyboard inputs, **screenshots**, **clipboard data**, and **system information** β€” all managed via a beautiful graphical interface. -If you want more information regarding the project you can read the [Project Documentation](./.github/Contributor_Guide/Project_Tour.md) +## Overview -Copyright (c) -HackElite -IIITBH. All rights reserved +This project demonstrates how real-time keylogging, screenshot capturing, and automated reporting can be implemented securely using Python. +It provides: +* An interactive GUI to control all operations. +* Automatic logging of keyboard activity and clipboard data. +* Screenshot capture at some defined intervals. +* Optional email delivery of all collected logs. + +## Features + +### 1. **Keylogging** + +* Captures every keystroke pressed on the keyboard. +* Logs include letters, numbers, function keys, and special keys (`Enter`, `Backspace`, etc.). +* Stored safely in: + ``` + app/data/key_log.txt + ``` + +### 2. **Clipboard Capture** + +* Periodically reads clipboard data (text). +* Stores the last copied text content into: + ``` + app/data/clipboard.txt + ``` + +### 3️. **Screenshot Capturing** + +* Takes full-screen screenshots at regular intervals using `Pillow (PIL)`. +* The image is timestamped and saved automatically. +* All screenshots are stored as PNGs in: + ``` + app/data/screenshots/ + ``` + +### 4️. **System Information Logging** + +* Gathers important device details such as: + * OS name and version + * Hostname + * Processor type + * IP address +* Saved in: + ``` + app/data/systeminfo.txt + ``` + +### 5. **Email Automation** + +* Periodically sends collected logs and screenshots as ZIP file via email. +* Credentials and recipient are securely managed via `.env` file. + +## πŸ“Folder Structure + +``` +πŸ“¦ GKeylogger-5155 +β”œβ”€β”€ app/ +β”‚ β”œβ”€β”€ data/ +β”‚ β”‚ β”œβ”€β”€ key_log.txt +β”‚ β”‚ β”œβ”€β”€ clipboard.txt +β”‚ β”‚ β”œβ”€β”€ systeminfo.txt +β”‚ β”‚ └── screenshots/ +β”‚ β”‚ └── *.png +β”‚ β”œβ”€β”€ .gitignore +β”‚ β”œβ”€β”€ guikeylogger.py +β”‚ β”œβ”€β”€ requirements.txt +β”œβ”€β”€ config.json +β”œβ”€β”€ package.json +└── README.md +``` + +## Tech Stack + +* **Python 3.9+** +* **CustomTkinter** +* **Pynput** +* **Pillow (PIL)** +* **Pyperclip** +* **smtplib (built-in)** +* **python-dotenv 1.0+** + +## Installation & Setup + +### 1. Clone Repository + +```bash +git clone https://github.com//Keylogger5155.git +cd Keylogger5155/app +``` + +### 2. Create Virtual Environment + +```bash +python -m venv venv +venv\Scripts\activate # Windows +source venv/bin/activate # Linux/Mac +``` + +### 3. Install Requirements + +```bash +pip install -r requirements.txt +``` + +### 4. Configure Environment + +Create a `.env` file: + +```bash +email=email@gmail.com +pass=password +``` + +### 6. Run the App + +```bash +python guikeylogger.py +``` + +## Example Output + +``` +πŸ“ data/ +β”œβ”€β”€ key_log.txt +β”‚ [2025-11-01 08:30:12] Key pressed: A +β”‚ [2025-11-01 08:30:13] Key pressed: B + +β”œβ”€β”€ clipboard.txt +β”‚ Copied Text: "Hello World" + +β”œβ”€β”€ screenshots/ +β”‚ screenshot_2025-11-01_08-31-00.png + +└── systeminfo.txt +β”‚ OS: Windows 10 +β”‚ Hostname: user-PC +β”‚ Processor: Intel Core i5 +β”‚ IP: 192.xxx.x.5 +``` + +## Contributing + +1. Fork the repo +2. Create a feature branch + ```bash + git checkout -b feature-name + ``` +3. Commit changes + ```bash + git commit -m "Added new feature" + ``` +4. Push and create a Pull Request + +## Community + +This project is part of Opcode, IIIT Bhagalpur. Maintainers will review PRs, suggest changes, and merge contributions. Use Issues to report bugs or suggest features. From 43cc473dcec6d1a4fd70e820729b1f37c068b034 Mon Sep 17 00:00:00 2001 From: indar suthar Date: Wed, 5 Nov 2025 13:51:24 +0530 Subject: [PATCH 2/2] docs: config details --- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/README.md b/README.md index ec6499d..2291c85 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,55 @@ It provides: └── README.md ``` +## Configuration Details (config.json) + +The config.json file lets you customize paths, intervals, email, and GUI settings β€” no code changes needed. + +#### Default Config + +```{ +"paths": { +"data_dir": "data", +"keys_file": "data/key_log.txt", +"system_file": "data/systeminfo.txt", +"clipboard_file": "data/clipboard.txt", +"screenshot_dir": "data/screenshots" +}, +"intervals_seconds": { +"screenshot_interval": 900, +"email_interval": 900, +"clipboard_interval": 30 +}, +"screenshots": { "keep_latest": 10 }, +"email": { +"smtp_host": "smtp.gmail.com", +"smtp_port": 587, +"from_env": true +}, +"gui": { "icon": "cracking.ico", "image": "cracking.png", "window_title": "Key Logger 5155" }, +"safety": { "require_confirm": true } +} +``` + +#### Parameter Summary - + + +| Section | Key | Default | Description | +| :-------------------- | :-------------------- | :------------------- | :--------------------------------- | +| **paths** | `data_dir` | `data` | Directory for storing logs. | +| | `keys_file` | `data/key_log.txt` | Keystroke log file. | +| | `clipboard_file` | `data/clipboard.txt` | Clipboard data file. | +| | `screenshot_dir` | `data/screenshots` | Folder for screenshots. | +| **intervals_seconds** | `screenshot_interval` | `900` | Take screenshot every 15 mins. | +| | `email_interval` | `900` | Send logs via email every 15 mins. | +| | `clipboard_interval` | `30` | Capture clipboard every 30s. | +| **screenshots** | `keep_latest` | `10` | Keep only latest screenshots. | +| **email** | `smtp_host` | `smtp.gmail.com` | Mail server for sending logs. | +| | `from_env` | `true` | Load credentials from`.env`. | +| **gui** | `window_title` | `Key Logger 5155` | GUI window title. | + +#### - Modify these values to change log intervals, file paths, or email setup without touching the source code. + ## Tech Stack * **Python 3.9+**