**Advanced automation toolkit for keyboard, mouse, and screen interaction.**
autoARC
A modular, production-grade automation toolkit for keyboard and mouse control. Built for preventing AFK kicks in games like VALORANT or CS:GO, automating repetitive typing, running timed key sequences, simulating realistic human-like mouse movement — with anti-detection jitter baked in at every level.
No game files are modified. No server communication is touched. autoARC operates entirely at the OS input layer.
Features
Automation
| # | Feature | Description |
|---|---|---|
| 1 | AutoTyper | Clipboard-based message spammer — supports full Unicode, emoji, and special characters |
| 2 | Anti-AFK Movement | Randomised WASD keypresses with configurable weapon key cycling |
| 3 | Mouse Simulation | Smooth random mouse movement across the screen using easeInOutQuad curves |
| 4 | Screen Capture | Screenshot + OpenCV edge analysis with brightness and RGB stats |
| 5 | Timed Execution | Run movement actions for a fixed duration with configurable intervals |
| 6 | Custom Key Sequence | Repeat any validated key combo N times with per-key jitter |
| 7 | 360° Mouse Path | True smooth circular mouse movement — incremental angle, not random scatter |
| 8 | Auto-Clicker | Single / double / burst / hold modes with CPS limiter and session stats |
Monitoring Suite
| # | Feature | Description |
|---|---|---|
| 10 | SysSentinel | Real-time CPU, RAM, GPU temp/load, Disk I/O, and Network I/O monitor with configurable alert rules and optional process kill on threshold breach |
| 11 | NetWatch | Live ping graph to custom hosts, packet loss detection, bandwidth usage, and Discord alerts when a host goes down |
Configuration & Notifications
| # | Feature | Description |
|---|---|---|
| 9 | Discord Webhook | Optional real-time embeds to your Discord channel on every key event |
Monitoring Config — sentinel_config.json
All monitoring thresholds and defaults are driven by a single JSON file at the project root — no Python editing required to tune the monitoring suite.
{
"shared": {
"sample_interval_sec": 1.0,
"history_len": 60
},
"sys_sentinel": {},
"net_watch": {
"ping_timeout_sec": 3.0,
"loss_alert_threshold": 20.0,
"down_hold_consecutive": 5,
"default_hosts": [
{ "ip": "8.8.8.8", "label": "Google DNS" },
{ "ip": "1.1.1.1", "label": "Cloudflare" }
]
}
}
The config is loaded once at startup via features/sentinel_cfg.py into typed dataclass objects. If the file is missing, all values fall back to safe built-in defaults — the app never crashes over a bad config.
SysSentinel
Watches the whole machine in real time with a live terminal dashboard:
- CPU — usage % with sparkline trend
- RAM — usage % + used / total GB
- GPU — temperature + load % + VRAM used/total (NVIDIA via
pynvml, AMD/Intel via WMI on Windows,lspcion Linux) - Disk I/O — read / write MB/s with sparkline
- Network I/O — recv / send KB/s with sparkline
- System Specs panel — OS, CPU name / cores / threads / max frequency, RAM total, GPU name / VRAM / driver, disk total / free — shown at the top of the dashboard on every refresh
Alert rules — set a threshold (e.g. CPU > 90%) and a hold duration (e.g. 10s). If the metric stays breached for that long, a Discord webhook fires. Optionally specify a process name to kill automatically when the rule fires.
GPU detection priority:
pynvml— NVIDIA Management Library (temp, load, VRAM used, driver)wmiWin32_VideoController — AMD / Intel on Windows (name, VRAM, driver)- OpenHardwareMonitor WMI namespace — real-time temp + load for any GPU if OHM is running
lspci— Linux fallback (name, vendor inference)
NetWatch
Monitors network health in real time:
- ICMP ping to each host — raw socket first, OS
pingfallback if permissions are denied - RTT bar per host — color-coded green / yellow / red by latency
- Sparkline trend — 60-sample rolling RTT history per host
- Packet loss % — rolling average, alert fires when it crosses your configured threshold
- Bandwidth — system-wide recv / send KB/s via psutil
- Host-down alert — fires after N consecutive timeouts (configurable in JSON), sends Discord embed
Default hosts (Google DNS, Cloudflare, Quad9, OpenDNS) and all thresholds come from sentinel_config.json.
Safety & Anti-Detection
- Jitter on every action — all timing values carry random variance so no two inputs are identical
- F8 pause/resume — suspend any running task without killing the script
- Emergency stop — move the mouse to the top-left corner at any time to abort instantly (pyautogui FailSafe)
- Zero recursion — clean loop architecture, no stack overflow on long sessions
Project Structure
autoARC/
├── main.py ← Entry point
├── install.bat ← One-click dependency installer (Windows)
├── start.bat ← Launches with correct terminal size (120×36)
├── sentinel_config.json ← Monitoring thresholds & defaults (edit freely)
│
├── core/
│ ├── utils.py ← Jitter, input helpers, pause state, F8 listener
│ ├── display.py ← Loading screen, menu, UI rendering, terminal resize
│ └── webhook.py ← Discord webhook notification engine
│
└── features/
├── __init__.py ← FEATURE_MAP — registers all features
├── sentinel_cfg.py ← Typed config loader for sentinel_config.json
│
├── autotyper.py ← [1] Unicode message spammer
├── automove.py ← [2] Anti-AFK WASD movement
├── mouse_simulation.py ← [3] Random mouse movement
├── screen_capture.py ← [4] Screenshot + OpenCV analysis
├── timed_execution.py ← [5] Timed movement execution
├── custom_key_sequence.py ← [6] Validated key combo repeater
├── mouse_360.py ← [7] Smooth circular mouse path
├── auto_clicker.py ← [8] Multi-mode auto clicker
├── webhook_settings.py ← [9] Discord webhook setup UI
├── sys_sentinel.py ← [10] System monitor + alerter
└── net_watch.py ← [11] Network monitor + alerter
Installation
Windows — one click
Double-click install.bat. It will verify Python, upgrade pip, and install every dependency automatically.
Manual — any platform
pip install -r requirements.txt
Core dependencies:
| Package | Purpose |
|---|---|
pyautogui |
Mouse and keyboard automation |
pyperclip |
Clipboard access for Unicode typer |
colorama |
Colored terminal output |
pyfiglet |
ASCII art banner |
opencv-python |
Screen capture and image analysis |
numpy |
Required by OpenCV |
keyboard |
F8 pause/resume hotkey listener |
psutil |
System stats for SysSentinel and NetWatch (auto-installed on first run if missing) |
Optional — enhanced GPU monitoring:
| Package | Purpose |
|---|---|
pynvml |
NVIDIA GPU temperature, load, and VRAM (recommended for NVIDIA users) |
pywin32 |
WMI access for AMD/Intel GPU info on Windows |
keyboardmay requiresudoon Linux.pynvmlrequires an NVIDIA GPU and driver. Without optional packages, features degrade gracefully — the app always runs.
Running
# Recommended — sets terminal to 120×36 automatically
start.bat
# Or directly
python main.py
On first launch you'll be asked whether to set up a Discord webhook — completely optional and skippable. After that the main menu appears.
Discord Webhook (optional)
autoARC sends real-time embeds to a Discord channel on every key event:
- Session start / end
- Feature start / done
- Errors and exceptions
- FailSafe emergency stop
- Keyboard interrupt
- SysSentinel alert rule triggers
- NetWatch host-down and packet loss alerts
Setup:
- Discord → any channel → Settings → Integrations → Webhooks → New Webhook
- Copy the webhook URL
- In autoARC choose [9], or say
yat the first-launch prompt
Adding a New Feature
- Create
features/my_feature.pywith adef run() -> None:function - Register it in
features/__init__.py→FEATURE_MAP - Add a row to
MENU_ITEMSincore/display.py
main.py never needs to be touched.
Is it detectable?
autoARC operates purely at the OS input layer — it sends the same signals as a physical keyboard and mouse. It makes no changes to game files, memory, or network traffic. Anti-detection jitter ensures no two actions share the same timing fingerprint.
If autoARC is useful to you, consider leaving a ⭐ on the repository.
Made by volksgeistt
Metadata
Release files for autoarc 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| autoarc-1.0.0.tar.gz | 34.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autoarc-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 72.2 kB
Release files / autoarc-1.0.0.tar.gz
| Download URL | autoarc-1.0.0.tar.gz |
|---|---|
| Size | 34.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d94aebe2ba9ae34dbc5c2b72717f4105504441fe40d8c991d634ff211a7d1bd8
|
|
BLAKE2b-256 checksum How to use checksums |
03cd2b2eebe7c3f212b8c2bbf631cbd81db480877fab6a3134443605b108dc8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.6
|
Release files / autoarc-1.0.0-py3-none-any.whl
| Download URL | autoarc-1.0.0-py3-none-any.whl |
|---|---|
| Size | 38.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d19e62c21445eeb30e1ee3dc921d10dd3c39faf315f022913d81795e84aaed7b
|
|
BLAKE2b-256 checksum How to use checksums |
e22c4c080c41e29b8633ea7f7ba9867b3c1f4de69b01113f38f6aeb14d2c8641
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.6
|