This is complete vibe coding, including the massive Readme.
A Python program that launches Google Chrome in kiosk mode, locking the browser to a specific website in fullscreen with all device permissions auto-granted.
- ✅ Detects existing Chrome installation on Windows
- ✅ Auto-downloads Chrome if not installed (via Selenium)
- ✅ Launches in kiosk mode (fullscreen, no UI chrome)
- ✅ Locks navigation to target URL (prevents leaving the website)
- ✅ Auto-grants all device permissions (camera, microphone, geolocation, notifications)
- ✅ Suppresses popups, dialogs, and extension UI
- ✅ Packagable as standalone .exe via auto-py-to-exe
- OS: Windows 10/11
- Python: 3.8 or higher
- Internet connection (for Chrome download if needed)
cd rt-student-clientpip install -r requirements.txtpython main.pyThe script will:
- Detect Chrome or download it if not present
- Launch Chrome in kiosk mode pointing to:
https://rt.redhillaviation.co.uk/?config=jsd - Run in fullscreen with device permissions auto-granted
- Keep running until you press Ctrl+C to exit
auto-py-to-exe-
In the GUI, select:
- Script Location: Point to
main.py - Onefile: Check this box (creates single .exe)
- Window Based: Check this box (hides console window) - optional
- Output Location: Choose output directory
- Icon File: (optional) Add a custom icon
- Script Location: Point to
-
Click CONVERT .PY TO .EXE
-
The resulting
.exefile will be in the output directory and can run on any Windows machine without Python installed
pyinstaller --onefile --windowed main.pyThis creates dist/main.exe that can be distributed and run independently.
To change the target URL, edit main.py and modify the TARGET_URL variable:
TARGET_URL = "https://your-desired-url.com"Then rebuild the .exe if needed.
- Exit the kiosk: Press Ctrl+C in the terminal (or Alt+F4 to close the Chrome window directly)
- Task Manager: If needed, you can force-close via Windows Task Manager
- The
--appflag locks the browser to the target URL but prevents most navigation - DevTools are disabled to prevent advanced users from bypassing the URL lock
- All device permissions are auto-granted (camera, microphone, geolocation, etc.)
- Popups and extensions are disabled
- Consider this a "soft" kiosk mode suitable for controlled environments (e.g., classroom kiosks)
rt-student-client/
├── main.py # Core launcher script
├── requirements.txt # Python dependencies
├── README.md # This file
- Selenium: WebDriver for Chrome automation
- auto-py-to-exe: GUI wrapper for PyInstaller to build .exe
This project is provided as-is for educational purposes.
For issues or questions, contact the development team.