ClickForge is an open-source auto-clicker designed to be powerful enough for power users, but simple enough for anyone to use. Built as a vibe-coded learning resource, it solves common bottlenecks in Python desktop apps to achieve 200+ Clicks Per Second (CPS) while maintaining a clean, modern GUI.
Update (v2.0): ClickForge is now fully supported on Windows, macOS, and Linux! Every release is automatically built in the cloud via GitHub Actions.
- 🚀 Extreme Performance: Bypasses standard library limitations on Windows using direct
ctypes(SendInput) and microsecond spin-waiting to achieve true 1ms (and sub-millisecond) delays. - 🎨 Premium UI: A stunning, responsive Bento Grid interface powered by
CustomTkinter, featuring Google's Lora font and smooth Dark/Light modes. - 👨 Humanize Mode (Anti-Cheat Evasion): Optionally add a ±15% randomized jitter to your click intervals to perfectly simulate human imperfection.
- ⌨️ Smart Hotkeys: Global start/stop hotkey (default
F6) with easy, bug-free rebinding. - 🎯 Advanced Positioning: Click at your active cursor, or pick a fixed coordinate on your screen.
- ⏱️ Precision Intervals: Supports floating-point intervals (e.g.,
0.5 ms) for when you need to push the absolute limits. - 🔄 Modes & Types: Left, Right, or Middle mouse buttons. Single or Double clicks. Continuous mode or Fixed target counts.
- 💾 Persistent Settings: Remembers all your configurations between launches.
- Go to the Releases tab on GitHub.
- Download the version for your operating system:
- Windows: Download
ClickForge-Windows.zip, extract, and runClickForge.exe - macOS: Download
ClickForge-macOS.zip, extract, and runClickForge.app - Linux: Download
ClickForge-Linux.zip, extract, and run the binary
- Windows: Download
- No installation required!
ClickForge is built to be a great learning resource for Python GUI and automation development.
- Python 3.8 or higher
- Git
-
Clone the repository:
git clone https://github.com/efeartn/ClickForge.git cd ClickForge -
Install the required dependencies:
pip install -r requirements.txt
-
Run the app:
python main.py
To package the application into a standalone .exe using PyInstaller:
python -m PyInstaller clickforge.spec --cleanThe compiled executable will be located in the dist/ folder.
Most Python auto-clickers cap out at around 60 CPS on Windows. This happens for two reasons:
- The
pynputbottleneck: Creating Python objects and traversing the ctypes wrapper for every single click is too slow. - The Windows Timer Resolution: Standard
time.sleep()andthreading.Event.wait()on Windows have a base resolution of ~15.6ms. If you ask Python to sleep for 1ms, it actually sleeps for 15.6ms.
ClickForge solves this by:
- Using a custom
_precise_waitfunction that utilizestime.perf_counter()for a high-precision CPU spin-wait on micro-intervals, bypassing the OS tick limitation. - Calling the Windows
SendInputAPI directly viactypesusing pre-allocated C-structures, stripping out all wrapper overhead.
Contributions are welcome! Whether it's porting the high-speed SendInput logic to macOS (CGEvent), adding new features, or fixing bugs:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Note: Windows may show a SmartScreen warning because this is an indie app. Click 'More info' -> 'Run anyway' to bypass it.
0 comments
log in to comment.