Auto ARC — Automation & System Sentinel tools
Project description
**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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autoarc-1.0.0.tar.gz.
File metadata
- Download URL: autoarc-1.0.0.tar.gz
- Upload date:
- Size: 34.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d94aebe2ba9ae34dbc5c2b72717f4105504441fe40d8c991d634ff211a7d1bd8
|
|
| MD5 |
ab8995422689b6c500940c5813bd889c
|
|
| BLAKE2b-256 |
03cd2b2eebe7c3f212b8c2bbf631cbd81db480877fab6a3134443605b108dc8a
|
File details
Details for the file autoarc-1.0.0-py3-none-any.whl.
File metadata
- Download URL: autoarc-1.0.0-py3-none-any.whl
- Upload date:
- Size: 38.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d19e62c21445eeb30e1ee3dc921d10dd3c39faf315f022913d81795e84aaed7b
|
|
| MD5 |
4ebfd58e9b9f81bf755ce4a427edd535
|
|
| BLAKE2b-256 |
e22c4c080c41e29b8633ea7f7ba9867b3c1f4de69b01113f38f6aeb14d2c8641
|