SlopScore
00 crowd

Kestrel (github.com/slungus57/Kestrel)

Kestrel is a lightweight Roblox anti-AFK tool designed to keep your session active by simulating normal player activity. Simple, efficient, and easy to use, Kestrel helps prevent automatic AFK kicks while staying unobtrusive. This project is fully vibe coded.
Python · ★ 5 · 0 forks · MIT · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)other
listed 2 hours ago by slungus57 · last checked 2 hours ago
The owner didn't write this. This repo never submitted itself. The Cap'm found it on a truffle trawl and wrote its paperwork from what GitHub already shows. Picked by hand by the Cap'm on 2026-09-11: Kestrel, a terminal Windows utility that sends timed key presses to keep a Roblox window from going AFK; the owner says "This project is fully vibe coded.". 5 stars; MIT license. The owner did not submit this. Votes count; awards don't until the owner claims it.

I'm not calling your project slop! Geeze, it's a joke... Do you own this repo?

Log in with GitHub as slungus57. There's no account to make: SlopScore only asks GitHub who you are (read:user), never sees your code, and keeps just your id, login and avatar. Then you can:

  • Keep it, on your terms. Commit your own slopscore.md (spec) and press Refresh. Your paperwork replaces the Cap'm's, and you can submit it for Slop of the Day.
  • Take it down. One click on Remove. It stays gone; the trawl never brings it back.

Log in with GitHub

Can't log in as the owner? Request a takedown. No login needed, and a trawled listing comes down right away.

GitHub says
Kestrel is a lightweight Roblox anti-AFK tool designed to keep your session active by simulating normal player activity. Simple, efficient, and easy to use, Kestrel helps prevent automatic AFK kicks while staying unobtrusive. This project is fully vibe coded.
created
2026-08-16 · pushed 3 weeks ago · 16 commits · 1 contributor
release
v1.0.1 · 2026-08-19
languages
Python 100%
paperwork
licensereadme 42% health
dependencies
no dependency graph (no manifest, or disabled) · OSV.dev, checked 2 hours ago

Disclosures, inferred by the Cap'm

slopbucket
vibe-coded
category
other
ai_generated
mostly
human_touch
light
status
works-on-my-machine
language (detected)
python
license (detected)
mit

The Cap'm's log

The Cap'm wrote this paperwork, not the owner. This repo never submitted itself to SlopScore. The Cap'm picked it by hand: Kestrel, a terminal Windows utility that sends timed key presses to keep a Roblox window from going AFK; the owner says "This project is fully vibe coded.". It carries the MIT license. The disclosures above are his best guess from what GitHub shows.

Is this yours? Commit a real slopscore.md and press Refresh to replace this, or remove the listing in one click. There's no account to make: you log in with GitHub.

README (read the rest on GitHub)

Kestrel

Keep your Roblox window awake.

Kestrel is a terminal-only Windows utility that periodically performs configurable OS-level keyboard actions. It uses pynput for normal keyboard input and does not inject into Roblox, inspect Roblox memory, modify Roblox files, hook game internals, or manipulate network traffic.

Requirements

  • Windows 10/11
  • Python 3.11 or newer
  • A normal terminal such as Windows Terminal, PowerShell, or Command Prompt

Installation

From the Kestrel project directory:

py -3.11 -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip
pip install -r requirements.txt

Run

python main.py

Optional configuration path:

python main.py --config path\to\config.json

Show the configuration guide without starting the dashboard:

python main.py --config-help

Configuration

Kestrel automatically creates config.json with safe defaults if it is missing.

Example:

{
    "enabled": false,
    "interval": 600,
    "randomization": 10,
    "actions": [
        {
            "key": "w",
            "duration": 1.0
        },
        {
            "key": "s",
            "duration": 1.0
        },
        {
            "key": "space",
            "duration": 0.2
        }
    ],
    "target_window": "Roblox"
}

enabled

Boolean. When true, Kestrel starts active after initialization. When false, it starts stopped.

interval

Number of seconds between action cycles.

  • 600 = every 10 minutes
  • 300 = every 5 minutes
  • 60 = every minute
  • 10 = every 10 seconds

randomization

Non-negative number of seconds. Each interval is randomly adjusted by approximately ±randomization.

0 disables randomization.

actions

An ordered list. Every action has:

  • key: a supported keyboard key
  • duration: how long that key is held, in seconds

interval and duration are intentionally different:

INTERVAL = time between cycles
DURATION = how long an individual key is held

target_window

Optional text matched against the focused Windows window title. With:

"target_window": "Roblox"

Kestrel only sends keyboard input when a foreground window title contains Roblox.

Use:

"target_window": null

to disable window filtering.

Supported keys

Letters a-z, digits 0-9, plus:

  • space
  • enter
  • escape
  • tab
  • shift
  • ctrl
  • alt
  • backspace
  • delete
  • home
  • end
  • pageup
  • pagedown
  • left
  • right
  • up
  • down
  • f1 through f12

Controls

Dashboard

  • S — start
  • P — pause
  • X — stop
  • R — reload configuration
  • I — information
  • L — activity log
  • O — open config.json
  • T — theme menu
  • Q — quit

Global hotkeys

  • F8 — toggle active/inactive
  • F9 — emergency stop and release held keys

Themes

Press T from the dashboard to open the terminal theme menu. Changes apply immediately and are saved to theme.json.

Built-in themes:

  • Natural Green
  • Forest
  • Ocean Blue
  • Warm Amber
  • Rosewood
  • Monochrome

Choose C in the theme menu to open theme.json in the default Windows text editor and customize every palette color using #RRGGBB values. Close the editor and Kestrel reloads the theme automatically.

R restores the default Natural Green palette. The terminal's physical background color remains controlled by the terminal emulator; Kestrel customizes its text, status, borders, and accents.

Configuration reload

Edit config.json, then press R.

Kestrel validates the actual file and replaces the active configuration when it is valid. Invalid configuration is reported in a readable error message and does not crash the program.

Activity log

Recent activity is shown in the dashboard and detailed events are persisted to:

kestrel.log

Examples include startup, configuration reloads, cycle starts/completions, errors, and shutdown.

Safety and scope

Kestrel is an OS-level keyboard automation utility. It intentionally does not:

  • inject code into Roblox
  • read Roblox memory
  • modify Roblox processes or files
  • hook Roblox internals
  • manipulate game network traffic
  • bypass anti-cheat systems
  • implement exploits
  • alter game data

Troubleshooting

pynput cannot register global hotkeys

Windows security software or another application may interfere with global keyboard hooks. Kestrel logs the failure and the dashboard remains usable.

Roblox window is never activated

Check the exact visible Roblox window title or set:

"target_window": null

to disable filtering.

A configuration change is rejected

Press R after correcting the specific field named by the error message.

I pressed Q

Kestrel stops automation, releases held keys, stops keyboard listeners and worker threads, flushes the activity log, stops Rich rendering, clears the terminal, and exits cleanly.

Optional executable packaging

Kestrel is a normal Python project. If you later want a Windows executable, a tool such as PyInstaller can be used, for example:

pip install pyinstaller
pyinstaller --onefile --name Kestrel main.py

Test the Python version first before packaging so that terminal input, Rich rendering, and global hotkeys are known to work on the target system.

Scan report · 2026-09-11
  • Prohibited terms or links
  • Repository eligibility
  • slopscore.md paperwork
  • Content policy
  • Risk review

0 comments

log in to comment.

report this listinglog in to report