make
Use sudo
to run. The keylogger outputs to the /tmp/.keylogger.log
file. You can also get output via a WebSocket. However, this requires the libwebsockets library. Install libwebsockets and then run:
make USE_LIBWEBSOCKETS=1
If target device is incorrect. Use the --dev <PATH>
option to specify a device event. List available devices run ls -l /dev/input/by-id/
Example:
sudo out/keylogger --dev /dev/input/event7
There is a list of options available
Option | Default Value | Description |
---|---|---|
--dev |
/dev/input/event* |
Specify the device event to use |
--printk |
Show keystrokes in terminal | |
--port |
33300 |
Specify websocket port |
The keylogger server also supports secure WebSocket connections. Set an environment variable with the path to your certificate and private key files.
# Required
export KEYLOGGER_SSL_CERT_PATH=PATH_TO_CERT.pem
export KEYLOGGER_SSL_KEY_PATH=PATH_TO_KEY.pem
# Optional
export KEYLOGGER_SSL_CA_PATH=
// Client
const ws = new WebSocket("wss://localhost:33300");
Note
Please note that you also need to add the authority certificate file to the browser you are using.
This file is usually in the .crt
format.
make test
Warning
Rootless method gives you direct access to your keyboard.
To run rootless, follow these steps:
-
Create a udev rules file (for example, /etc/udev/rules.d/90-keylogger.rules)
echo "SUBSYSTEM==\"input\", OWNER=\"$USER\", MODE=\"0660\"" | sudo tee /etc/udev/rules.d/90-keylogger.rules > /dev/null
-
Reload udev rules
sudo udevadm control --reload-rules sudo udevadm trigger
~/.clang-format
base from Google
BasedOnStyle: Google
IndentWidth: 4
ColumnLimit: 120
In Google i trust