Windows-based Parental Control & Time-of-Use System
- Time Of Use Control: Set total allowed computer usage, show warnings before time expires, and perform safe shutdown automatically.
- Website Blocking: Block unwanted websites system-wide using the Windows hosts file; works on all major browsers.
- Application & Process Monitoring: Monitor multiple processes (games, browsers, launchers) and log usage to a central file.
- Background Client (Watchdog): Automatically restarts protection modules if stopped to ensure continuous protection.
- Administrator GUI: Run with elevated permissions to safely modify settings, including blocked sites, processes, and time limits.
- Centralized Configuration: All parameters stored in a single YAML file for easy customization.
- Installer: Automatically sets up the program, creates the ParentalControl folder in the user directory, and adds the client to startup.
All settings are stored in settings.yml.
blocked_sites: - site.com processes: - app.exe check_interval: 1 log_file: ListApps.txt redirect_ip: 127.0.0.1 total_time_seconds: 7200 warning_before_seconds: 300 shutdown_delay: 10
OfficerDuck/ │ ├── client.py # Watchdog client ├── BlockSite.py # Hosts-based website blocking ├── TimeOfUse.py # Time limit logic & shutdown ├── app_ControlSystem.py # Application monitoring ├── installer.py # Installer script ├── administrator.py # Admin GUI ├── settings.yml # Configuration file
- Python
- PyYAML
- psutil
- Windows API (ctypes, registry, system calls)
- Run installer.py to start the installation process.
- After installation, It's recommended to restart your computer to ensure all modules run correctly.
- To change settings later, search for "Administrator" in the Start menu and open the GUI. The application icon will be the OfficerDuck logo.
- All changes to settings.yml will take effect immediately after saving.
MIT License
ONLY SOURCE CODE. FINISHED!
Modules and features are actively being developed.
