PythonGmailKeylogger
Keylogger written in Python 3.11 that sends all the logs to gmail account via smtplib.
Install / Use
/learn @BPPL0806/PythonGmailKeyloggerREADME
Python 3.11 Gmail keylogger
<img align="right" src="imgs/klggr.png">Keylogger written in Python 3.11 that sends logs to gmail account via smtplib.
By default keylogger sends all logs every 5 minutes. If nothing is captured after the last email, nothing will be sent as long as the program will detect another key being pressed.
pip requirements:
- pynput
- email.mime.text
- socket
- platform
- requests
- time
- smtplib
- pyinstaller (building executables)
Instructions <img align="right" src="imgs/manual.png">
1. Using gmail address and app password in keylogger.
You need generated gmail app password, just put it inside code of main.pyw with email address and app password (at lines 72-74).

2. Building windows executable.
I've put ready batch script into this repository that creates executable of main.pyw using pyinstaller.
If you want to change name of python script to something else you have to change name of file from "main.pyw" to your own inside buildExe.bat.

After script is done, it will copy ready .exe file into the same location as buildExe.bat and delete unneeded files created by pyinstaller.
Program doesn't hide itself so it will run from where it's currently located.
Example message sent by program.

VirusTotal analysis

Related Skills
node-connect
351.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
110.6kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
110.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
351.2kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
