ClockBot is a local Electron tray app for automating IEYASU clock-in and clock-out actions.
- Desktop UI for saved or session-based credentials
- Configurable morning and evening schedule, defaulting to
09:00and18:00 - System tray support with minimize-to-tray behavior
- Live status panel and rolling log view
- Manual
Clock InandClock Outtest actions - Chrome Extension-driven automation against
https://f.ieyasu.co/fointl/login - Visual in-page cursor playback for hover, click, and typing motion feedback
- Extension bridge that reuses your regular Chrome session
-
Install dependencies:
powershell -ExecutionPolicy Bypass -File .\scripts\install.ps1
-
Start the app:
powershell -ExecutionPolicy Bypass -File .\scripts\start.ps1
-
Load the unpacked extension from
browser-extension\inchrome://extensions. -
Enter your username and password, then click
Start Monitoring.
-
Install dependencies:
npm install
-
Start the app:
npm start
-
Load the unpacked extension from
browser-extension/inchrome://extensions. -
On the first run, allow browser and macOS location access if prompted.
-
Install dependencies, including the Windows packager:
powershell -ExecutionPolicy Bypass -File .\scripts\install.ps1
-
Build the Windows portable artifacts:
powershell -ExecutionPolicy Bypass -File .\scripts\package-win.ps1
The packaging script prefers the local
.electron-cachefirst, which helps avoid repeated Electron downloads. -
Find the output in:
.\dist\
The build generates two x64 Windows outputs in .\dist\:
ClockBot-portable-<version>.exeA single-file portable app. It is easy to share, but startup is slower because it unpacks itself on each launch.ClockBot-win-unpacked-<version>.zipA zip archive containing the unpacked app folder. Extract it once and runClockBot.exeinside for much faster startup.
On macOS, build a zip archive with:
npm run pack:macThe output will be written to ./dist/.
Some Windows terminals launch npm.cmd with a \\?\C:\... current directory, which makes cmd.exe fall back to C:\Windows and breaks npm install / npm start.
The scripts in scripts\ normalize the project path and call npm.cmd --prefix <project> ..., so they keep working even when the current directory is reported in that extended-path format.
- Saved credentials are encrypted with Electron's system-backed secure storage and are not written in plain text.
- Settings and logs are stored under Electron's user data directory.
- Chrome must be installed locally because the active automation path runs through the ClockBot extension.
- The browser stays visible during every automation run.
- Load the unpacked extension from
browser-extension/and keep regular Chrome open while ClockBot is running. - On Windows, ClockBot can inject the current system location for the attendance site.
- On macOS and other platforms, ClockBot falls back to the browser's own location permissions, so the first visible run may require a one-time permission grant.
- You can override browser detection by setting
CLOCKBOT_BROWSER_PATHto a local browser executable.