Transform your Linux desktop automation with KeresLang - the only production-ready Domain-Specific Language built specifically for X11 automation. From simple scripts to complex enterprise workflows, KeresLang delivers unmatched reliability, security, and performance.
KeresLang isn't just another automation tool - it's a production-ready platform designed for serious automation workflows. Whether you're automating game interactions, web testing, system administration, or complex desktop workflows, KeresLang provides the reliability, security, and performance you need.
28+ example scripts • Complete documentation • Man pages • Debian package
Game & Web Automation
Perfect for automating complex game interactions, web testing, and repetitive tasks. Anti-detection features keep your automation undetectable with humanized timing and fuzzy targeting.
Enterprise Security
Built for production environments with stack protection, FORTIFY source, resource limits, and comprehensive audit logging. Secure by design with proper systemd integration.
High Performance
Written in clean C99 for maximum performance. Efficient memory management, optimized execution, and real-time metrics collection for monitoring automation health.
Developer Friendly
Clean DSL syntax with variables, functions, and control flow. 28+ example scripts, comprehensive documentation, and easy debugging with dry-run mode.
Ready to Transform Your Automation?
Join developers and system administrators who trust KeresLang for their most critical automation workflows.
Get started in minutes with our comprehensive examples and documentation.
Real-World Automation Examples
See how KeresLang transforms complex automation tasks into simple, readable scripts. From basic operations to advanced workflows, KeresLang handles it all with 28+ production-ready examples:
Game Automation
# Advanced game automation with anti-detection
SET base_x "500"
SET base_y "300"
SET click_delay "200"
# Humanized clicking with randomization
FUNC safe_click(x, y)
MOVE ${x} ${y}
DELAY ${click_delay}
LEFT_CLICK
DELAY "100 + random(50)" # Variable timing
RETURN
END
# Automated combat sequence
REPEAT 10
CALL safe_click("${base_x}", "${base_y}")
DELAY "500 + random(200)"
IF ${_iteration} == 5
TYPE "Healing potion used\n"
BREAK # Exit early if needed
END
END
Web Automation
# Automated web testing and form filling
RUNAPP "firefox"
WAITWIN "Mozilla Firefox" 5000
WINDOW_ACT "Mozilla Firefox"
# Navigate to website
KEY "Ctrl+l"
TYPE "https://example.com"
KEY "Return"
DELAY 2000
# Fill complex form with validation
FUNC fill_form_field(x, y, value)
CLICK ${x} ${y}
DELAY 200
TYPE "${value}"
DELAY 100
RETURN
END
# Form automation with error handling
IF_WIN_EXISTS "Login Form"
CALL fill_form_field("300", "200", "test@example.com")
CALL fill_form_field("300", "250", "password123")
CLICK "400" "300" # Submit button
DELAY 1000
# Check for success/error
IF_WIN_EXISTS "Success"
TYPE "Login successful!\n"
ELSE IF_WIN_EXISTS "Error"
TYPE "Login failed - retrying\n"
BREAK
END
END
System Administration
# Automated system maintenance and monitoring
FUNC check_system_status()
# Launch system monitor
RUNAPP "htop"
WAITWIN "htop" 3000
# Check CPU usage
MOVE 100 50
LEFT_CLICK
DELAY 500
# Take screenshot of status
KEY "F12"
DELAY 1000
# Close monitor
KEY "q"
SET _ret "System check completed"
RETURN
END
# Automated maintenance routine
WHILE 1
CALL check_system_status()
TYPE "Status: ${_ret}\n"
# Wait 5 minutes
DELAY 300000
# Check if maintenance needed
IF ${_iteration} > 10
TYPE "Maintenance cycle complete\n"
BREAK
END
END
Advanced Features
# Dynamic positioning with arithmetic
SET screen_width "1920"
SET screen_height "1080"
SET center_x "${screen_width} / 2"
SET center_y "${screen_height} / 2"
# Calculate safe zones
SET safe_left "100"
SET safe_right "${screen_width} - 100"
SET safe_top "100"
SET safe_bottom "${screen_height} - 100"
# Dynamic positioning with validation
FUNC safe_move_and_click(x, y)
# Validate coordinates are in safe zone
IF ${x} < ${safe_left} || ${x} > ${safe_right}
TYPE "X coordinate ${x} outside safe zone\n"
RETURN
END
IF ${y} < ${safe_top} || ${y} > ${safe_bottom}
TYPE "Y coordinate ${y} outside safe zone\n"
RETURN
END
MOVE ${x} ${y}
LEFT_CLICK
TYPE "Clicked at (${x}, ${y})\n"
RETURN
END
# Use the function with calculated positions
CALL safe_move_and_click("${center_x}", "${center_y}")
What Can You Automate with KeresLang?
KeresLang excels in scenarios where reliability, security, and performance matter most:
Game Automation
Complex game interactions with anti-detection
Inventory management and crafting
Combat automation with humanized timing
Resource gathering and farming
Multi-account management
Web Testing & Automation
Automated form filling and validation
Cross-browser testing workflows
Data extraction and scraping
Social media automation
E-commerce testing
System Administration
Automated system monitoring
Configuration management
Backup and maintenance tasks
User account management
Security auditing
Data Processing
Spreadsheet automation
Report generation
File processing workflows
Database operations
API testing and validation
Quick Installation
KeresLang is available as a Debian package with full system integration:
Debian Package Installation (Recommended)
# Install the Debian package
sudo dpkg -i kereslang_1.0.0-1_amd64.deb
# Fix dependencies if needed
sudo apt-get install -f
# Enable and start the service
sudo systemctl enable kereslang
sudo systemctl start kereslang
Build from Source
# Clone and build
git clone <repository>
cd KeresLang
make
# Install system-wide
sudo make install
# Copy production configuration
sudo cp config/kereslang.conf /etc/kereslang/
# Install systemd service
sudo cp systemd/kereslang.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable kereslang
Your First Script
# Create hello.keres
TYPE "Hello, World!\n"
DELAY 1000
MOVE 100 200
LEFT_CLICK
# Run it
kereslang hello.keres
# Test with dry-run
kereslang --dry-run --verbose hello.keres
Why KeresLang Outperforms Other Automation Tools
KeresLang isn't just another automation script - it's a complete platform designed for serious automation workflows. Here's what sets us apart:
Core Language Features
Clean DSL: Write automation scripts that read like plain English - no complex syntax to learn
Smart Variables: Dynamic variable interpolation with `${name}` syntax for flexible automation
Advanced Control Flow: IF/ELSE/ELSE IF, WHILE, REPEAT loops with BREAK support for complex logic
Reusable Functions: Define functions with parameters and return values for modular automation
Intelligent Window Management: Find, focus, and interact with windows by title with built-in error handling
Precise Input Simulation: Keyboard and mouse automation with pixel-perfect control
Application Orchestration: Launch and manage applications with automatic window detection
Enhanced Features (Latest)
Dynamic Positioning: Use `${x} ${y}` in MOVE commands for intelligent, adaptive automation
Smart Loop Control: Exit loops early with `BREAK` for more efficient automation workflows
Cleaner Logic: Chain multiple conditions with `ELSE IF` for readable, maintainable code
Mathematical Power: Full arithmetic support (`+`, `-`, `*`, `/`) for complex calculations
Bulletproof Error Handling: Division by zero detection, validation, and graceful error recovery
Production-Ready Scripts: 28+ enhanced examples showcasing all advanced features
Resource Management: Memory and execution time constraints (512MB, 300s timeout) to prevent runaway automation
Real-Time Metrics: Performance monitoring and reporting for optimization and troubleshooting
Compliance Ready: Security event tracking and audit logging for enterprise compliance
Fault Tolerance: Automatic retry for failed operations with exponential backoff
Graceful Operations: Proper signal handling and cleanup for reliable production deployment
Service Integration: Production service deployment with systemd integration for enterprise environments
Zero-Config Setup: Automatic config file discovery and validation for hassle-free deployment
Anti-Detection Features
Humanized Timing: Lognormal timing distributions that mimic real human behavior patterns
Fuzzy Targeting: Intelligent coordinate jitter for natural, undetectable mouse movements
Realistic Interactions: Simulated misclicks and recovery patterns that appear human
Anti-Ban Intelligence: Random pauses and natural interaction patterns to avoid detection
Behavioral Profiling: Seeded behavior profiles for consistent, human-like randomization
Enterprise-Grade Monitoring & Management
KeresLang provides comprehensive monitoring and management capabilities designed for production environments. Track performance, debug issues, and optimize your automation workflows: