Skip to content

Commit 3326fac

Browse files
authored
Update README.en.md
1 parent 674ac54 commit 3326fac

1 file changed

Lines changed: 50 additions & 49 deletions

File tree

README.en.md

Lines changed: 50 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,57 @@
11
[中文](README.md)
22

3-
# Keyboard Behavior Monitor
3+
# 🎹 Keyboard Activity Monitor
44

5-
## Overview
5+
## 📋 Overview
66

7-
Still lingering over the girl you like? Anxious about your competitors? This program can help you monitor the keyboard activities of target applications (such as QQ or WeChat) and record this data, which will automatically be sent to your email after a period of time.
7+
Still hung up on a girl you like? Anxious about your competitors? This program can help you monitor keyboard activities of target applications (like QQ or WeChat) and record the data, automatically sending it to your email after a period of time.
88

9-
### Features
9+
### ⚙️ Feature Overview
1010

11-
- **Application Monitoring**: This program monitors the running status of customized applications. When it detects that a specified application is running, it begins recording keyboard behavior.
12-
- **Auto Startup**: Once the packaged file is executed, it automatically adds itself to the startup folder, enabling the auto-startup function.
13-
- **Keystroke Logging**: Records detailed information about keyboard presses, including key content, number of presses, and time of pressing.
14-
- **Data Storage**: The recorded data is stored as compressed binary files to save storage space.
15-
- **Email Sending**: The program regularly checks and sends the recorded keyboard data through the specified email.
16-
- **Data Reading**: An independent program, `Read.py`, is provided to decompress and read the stored binary data, displaying the data in a tabular format that can be exported as CSV or Excel files.
17-
- **Packaging Tool**: A [Packaging Tool](https://github.com/ystemsrx/Application-Monitoring/releases) is provided to package the program into a single executable file with support for custom icons.
11+
- **🔍 Application Monitoring**: The program monitors the running status of specified applications and starts recording keyboard activities when the target application is detected.
12+
- **🔄 Auto Start at Boot**: After the packaged file is run, it will automatically add itself to the startup folder, enabling it to start with the system.
13+
- **⌨️ Keyboard Logging**: Records detailed information about keyboard presses, including key content, key press count, and time of the key press.
14+
- **💾 Data Storage**: The recorded data is stored as compressed binary files to save storage space.
15+
- **📧 Email Sending**: The program periodically checks and sends the recorded keyboard data via a specified email address.
16+
- **📊 Data Reading**: Provides a separate program `Read.py` for decompressing and reading the stored binary data, displaying it in a tabular format that can be exported as a CSV or Excel file.
17+
- **🛠️ Packaging Tool**: Offers a [Packaging Tool](https://github.com/ystemsrx/Application-Monitoring/releases) that can package the program into a single executable file, with support for custom icons.
1818

19-
### File Descriptions
19+
### 📁 File Descriptions
2020

21-
- **Application_Monitoring**: The main program, used to monitor the running status of QQ and WeChat, record keyboard behavior, save the data as compressed binary files, and send it via email at regular intervals.
22-
- **Read.py**: Data reading tool that decompresses and reads the binary files generated by `Application_Monitoring`, providing data visualization and export functions. We have also added an AI-based data interpretation feature for this tool (you need to provide your **own API** and fill it in the list at the beginning of the code, currently only supporting OpenAI, Zhipu Qingyan, Tongyi Qianwen).
23-
- **Package_tool.py**: Packaging tool used to package Python scripts into a single executable file with support for custom icons.
21+
- **Application_Monitoring**: The main program used to monitor the running status of QQ and WeChat, record keyboard activities, save data as compressed binary files, and periodically send the data via email.
22+
- **Read.py**: A data reading tool that decompresses and reads the binary files generated by `Application_Monitoring`, providing data visualization and export functionality. We also added AI-powered data interpretation to this tool (you need to provide **your own API** and fill in the list at the beginning of the code; currently, only OpenAI, Zhipu Qingyan, and Tongyi Qianwen are supported).
23+
- **Package_tool.py**: A packaging tool used to package Python scripts into a single executable file with support for custom icons.
2424

25-
### Instructions
25+
### 📝 Usage Instructions
2626

27-
1. **Monitoring and Recording**:
28-
- Package `Application_Monitoring` (using the [packaging tool](https://github.com/ystemsrx/Application-Monitoring/releases)) into an exe, and then run it on the target computer. The program will continuously and automatically detect the running status of QQ and WeChat in the background and begin recording keyboard input.
29-
- The data will be stored in real-time in the `key_data.bin` file.
30-
- Every 24 hours, the data will be sent to you via email.
27+
1. **Monitoring and Logging**:
28+
- Package `Application_Monitoring` (using the [packaging tool](https://github.com/ystemsrx/Application-Monitoring/releases)) into an exe, then run it on the target computer. The program will continuously and automatically monitor the running status of QQ and WeChat in the background and start recording keyboard input.
29+
- Data is stored in real-time in the `key_data.bin` file.
30+
- Every 24 hours, the data will be sent to your email.
31+
- Don’t worry about needing a reason to get the target to open the file. This file can disguise itself as a Minesweeper game, with the packaged version only being 11MB in size. After running, it will open Minesweeper while the monitoring program runs in the background, and even if Minesweeper is closed, it won’t affect the monitoring.
32+
- The program automatically detects whether it’s being run at startup or manually, so there’s no need to worry about Minesweeper popping up on startup.
3133

3234
2. **Reading and Exporting**:
33-
- Run the `Read.py` program and drag the `key_data.bin` file into it to view the recorded keyboard input data.
35+
- Run the `Read.py` program and drag in the `key_data.bin` file to view the recorded keyboard input data.
3436

35-
**Important: Running [Read.py](Read.py) requires the installation of `PyQt5`, `Pandas` and `requests` libraries. Install them using `pip install pyqt5 pandas requests`.**
37+
**Important: Running [Read.py](Read.py) requires the installation of `PyQt5`, `Pandas`, and `Requests`. Install them by running `pip install pyqt5 pandas requests`.**
3638

37-
- You can filter and export the data as CSV or Excel files for further analysis.
39+
- You can filter and export the data as a CSV or Excel file for further analysis.
40+
- The tool also supports AI-powered data recovery (API KEY required, currently only OpenAI, Zhipu Qingyan, and Tongyi Qianwen are supported).
3841

3942
3. **Packaging Tool**:
4043

41-
- Your computer must have Python installed, which can be [downloaded here](https://www.python.org/downloads/release/python-3125/).
42-
- The packaging tool can package the above two scripts into standalone executable files. [Click here](https://github.com/ystemsrx/Application-Monitoring/releases). Drag the Python scripts into the interface to package them, supporting the addition of custom icons (drag images or icons directly).
44+
- Your computer must have Python installed, which can be downloaded [here](https://www.python.org/downloads/release/python-3125/).
45+
- The packaging tool allows you to package the above scripts into standalone executable files. [Click here](https://github.com/ystemsrx/Application-Monitoring/releases) to package the script by dragging it into the interface. It supports adding custom icons (just drag in the image or icon).
4346

44-
### Required Inputs
47+
### 🖋️ Fields to Fill In
4548

46-
In the `Application_Monitoring` file, there are several areas that need to be filled in and modified to ensure the program works as intended:
49+
There are a few fields in the `Application_Monitoring` file that need to be filled in or modified to ensure the program works as expected:
4750

48-
1. **Email Configuration**:
49-
- `from_addr`: Sender's email address.
50-
- `to_addr`: Recipient's email address.
51-
- `password`: Sender's email SMTP authorization code. Please search for how to obtain this authorization code.
51+
1. **📧 Email Configuration**:
52+
- `from_addr`: The sender's email address.
53+
- `to_addr`: The recipient's email address.
54+
- `password`: The SMTP authorization code for the sender's email. Please search for how to obtain the authorization code.
5255

5356
Example:
5457
```python
@@ -57,42 +60,40 @@ In the `Application_Monitoring` file, there are several areas that need to be fi
5760
password = "your_email_password_or_smtp_token"
5861
```
5962

60-
2. **File Storage Path**:
61-
- `compressed_file`: The file path for storing compressed data. Modify the storage path as needed to ensure the program has permission to read and write files at that path. It is recommended to write to a drive other than the C drive.
63+
2. **💽 File Storage Path**:
64+
- `compressed_file`: The file path for storing compressed data. Please modify the storage path as needed, ensuring the program has permission to read/write files in that path. It is recommended to store files on a drive other than the C drive.
6265

6366
Example:
6467
```python
6568
compressed_file = "D:\\your_path\\compressed_key_data.bin"
6669
```
6770

68-
3. **Time Interval Setting**:
69-
- `interval_time`: The program is set by default to send recorded emails every 24 hours (86400 seconds). You can modify this time interval as needed, with the default being 24 hours.
71+
3. ** Interval Setting**:
72+
- `interval_time`: The program is set by default to send the recorded email every 24 hours (86400 seconds). You can modify this interval as needed. The default is 24h.
7073

71-
Example, modify to send every 12 hours:
74+
For example, to send every 12 hours:
7275
```python
7376
interval_time = 43200: # 12 hours in seconds
7477
```
7578

76-
4. **Application List**:
77-
- Add applications to `applications = ["QQ", "WeChat"]`. By default, QQ and WeChat are included, and applications should be separated by commas and enclosed in quotation marks. **Note**: Applications must be listed by their process name rather than their own name (as seen in Task Manager). For example, **Enterprise WeChat** is called **WXWork**.
79+
4. **📱 Application List**:
80+
- Add applications in `applications = ["QQ", "WeChat"]`. The default is QQ and WeChat. Separate the applications with commas and enclose them in quotes. **Note**: Applications should be named according to the process name rather than the application name (you can see this in Task Manager). For example, **WeCom** is called **WXWork**.
7881

79-
5. **API List in [Read.py](Read.py)**:
80-
- If you need to use the AI data interpretation function, please fill in your own API KEY in the list. If you prefer not to fill it in the list, you can temporarily enter it when the program starts. Currently, we only support API KEYS from OpenAI, Zhipu Qingyan, and Tongyi Qianwen. You can also add more models yourself in the `setup_model_selector` function.
82+
5. **🤖 API List in [Read.py](Read.py)**:
83+
- If you need to use the AI data interpretation feature, please fill in your API KEY in the list. If you don’t want to include it in the list, you can temporarily fill it in when the program starts. Currently, the supported API KEYs are only for OpenAI, Zhipu Qingyan, and Tongyi Qianwen. Additionally, you can add more models in the `setup_model_selector` function.
8184

82-
### TODO List
85+
### TODO List
8386

84-
- [x] **Unified Application Monitoring**: Monitor an application simply by entering its name in the list, without manually adjusting the program code.
87+
- [x] **Unified Application Monitoring**: By entering the application name in the list, you can monitor the application without manually adjusting the program code.
8588

86-
- [x] **Data Interpretation Tool**: The current program can only record keystrokes but cannot interpret complete Pinyin input. We will develop a tool that can interpret and reconstruct the actual text input by the user, making it easier to understand the input content.
89+
- [x] **Data Interpretation Tool**: The current program can only record key content but cannot interpret complete Pinyin input. A tool will be developed in the future to interpret and reconstruct the actual text input by the user, making the input content more intuitive to understand.
8790

88-
- [X] **Auto Startup**: Added auto startup feature.
91+
- [X] **Auto Start at Boot**: Added the ability to start at boot.
8992

90-
### Disclaimer
93+
### ⚠️ Disclaimer
9194

92-
The functions involved in this program may infringe on personal privacy or violate laws and regulations. Please ensure that you have obtained explicit consent from the relevant individuals before use and comply with the laws of your location. Unpermitted monitoring and data collection may result in legal liabilities. The developers are not responsible for any illegal use or consequences arising therefrom.
95+
The features of this program may infringe on personal privacy or violate laws and regulations. Please ensure that you have obtained explicit consent from the relevant parties before use and comply with the laws of your location. Unauthorized monitoring and data collection may result in legal liability. The developer is not responsible for any illegal use or consequences resulting from such use.
9396

9497
---
9598

96-
**Important Reminder**: Please use this program with caution and abide by all relevant laws and regulations.
97-
98-
---
99+
**Important Notice**: Please use this program with caution and comply with all relevant laws and regulations.

0 commit comments

Comments
 (0)