{"id":20041596,"url":"https://github.com/rozensoftware/whip4brats","last_synced_at":"2025-07-03T17:32:42.434Z","repository":{"id":187545907,"uuid":"663056913","full_name":"rozensoftware/whip4brats","owner":"rozensoftware","description":"Parental Control Software","archived":false,"fork":false,"pushed_at":"2023-08-14T18:43:36.000Z","size":283,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T05:31:46.975Z","etag":null,"topics":["cpp20","csharp","parental-control","rust","windows-10","windows-11","windows-service"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rozensoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-06T13:10:45.000Z","updated_at":"2025-01-25T22:02:30.000Z","dependencies_parsed_at":"2024-11-13T10:47:21.317Z","dependency_job_id":"3014b6dd-1204-4865-b93c-2ca416d3d405","html_url":"https://github.com/rozensoftware/whip4brats","commit_stats":null,"previous_names":["rozensoftware/whip4brats"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/rozensoftware/whip4brats","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rozensoftware%2Fwhip4brats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rozensoftware%2Fwhip4brats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rozensoftware%2Fwhip4brats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rozensoftware%2Fwhip4brats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rozensoftware","download_url":"https://codeload.github.com/rozensoftware/whip4brats/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rozensoftware%2Fwhip4brats/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263369590,"owners_count":23456327,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp20","csharp","parental-control","rust","windows-10","windows-11","windows-service"],"created_at":"2024-11-13T10:47:13.133Z","updated_at":"2025-07-03T17:32:42.386Z","avatar_url":"https://github.com/rozensoftware.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Whip for Brats\n\nv 0.1.0\n\nThis is a mini system for monitoring the time children spend in front of a computer screen during the day (and night). Unfortunately, children and early adolescents have no restraint in sitting in front of the computer and playing computer games. This is another remedy for parents, who can indicate how long the computer will function for a child.\nAfter a certain amount of time, there is a screen lock, which prevents further play (or makes it very difficult).\n\n## Screenshots\n\n![Whip for Brats GUI App](https://github.com/rozensoftware/whip4brats/blob/master/whip4bratsgui.png)\n\n## Features\n\n- A weekly calendar indicating the range of available time: from an hour with minutes, to an hour with minutes\n- Disabling/Enabling surveillance\n- Three-level system with supervisor service, command execution application and GUI app for setting time and other parameters\n- Temporary removal of the lock from 5 minutes to 1 hour\n- Multilingual (currently English and Polish - mostly translated)\n\n## Building\n\nBuild everything. Publish Whip4BratsGUI (.NET) app.\n\nCopy all files listed below into your folder:\n\n- brat-server.exe\n- executor.exe\n- BratLocker.exe\n- All files from .NET publish folder; there you'll find Whip4BratsGUI.exe file.\n\n## Installation\n\nRun Whip3BratsSetup.msi to install software.\nRun the Whip4BratsGUI module and configure the parental settings, i.e.: the parent password, child account name and password (currently not used).\n(The application password is the password of the parent's account in the system or '1234' at the first start).\nA temporary password of '1234' will be created, which will be replaced with the password of the parent after it is configured on the Password Setup Screen.\nIf for some reason you entered incorrect password, remove the key from the Windows registry as described below and restart the program.\n\nImportant! The child's account should not be in the Administrator group of the computer, or the supervision will be possible to remove by the child. On the other hand, the parent account must belong to the computer Administrator group.\nNext, define the time when the child can play on the computer. There is an option which can deactivate time limits.\n\nOnce you have made all the settings in the Whip4BratsGUI, you can start the service which can be done in Whip4BratsGUI app on Advanced Settings Page.\n(If the service did not start click the Start Service buttton again - to be fixed).\n\nTo install (register) service manually run the below command with elevated privileges:\n\n```powershell\n./brat-server --register\n```\n\nUnregister:\n\n```powershell\n./brat-server --unregister\n```\n\nFor help type:\n\n```powershell\n./brat-server --help\n```\n\nStart the service from The Service Management.\n\n## Uninstallation\n\nIf you installed the software by running *msi* file you must stop the service manually and run the command as Administrator to unregister the service:\n\n```powershell\n./brat-server -u\n```\n\nNext remove the application from Windows Program Files as any other installed app and registry keys (see below).\n\nIf you installed the software manually the following steps must be done as Administrator:\n\n- Stop the whip4brats service\n- Execute command as above\n- Delete folder where the files reside\n- Remove registry key: *HKEY_LOCAL_MACHINE\\SOFTWARE\\Rozen Software\\Whip4Brats*\n\nSo, currently there is no one-click solution for removing the software.\n\n## Locked Screen\n\nWhen the computer screen has been locked, only the parent can unlock it by entering the password on the lock screen and selecting additional time.\nThe screen is not locked completely, but the locking is so troublesome that further work is pointless.\n\n## The Project\n\nThe system consists of several components:\n\n- Windows service that monitors user time and executes proper actions (brat-server) - written in Rust\n- TCP Command Server (Executor or a bridge between service and user space) - written in Rust\n- Screen Locker - written in C++20\n- Whip4BratsGUI (Application for setting time and other parameters) - written in C# (.NET 7)\n- Whip4BratsSetup - VS project for creating Windows MSI. Microsoft Visual Studio Installer Projects Extension must be installed to be able to build the installer.\n\nVisual Studio 2022 and VS Code have been used to write this software.\n\nBart-server writes logs to the Application node of the Windows System Event.\n\n## TODO\n\nThese are some ideas to implement in future:\n\n- Write applications to remotely change the available time and monitor computer usage from the web browser.\n- Block the launch of selected applications.\n- Reporting of computer usage in given time intervals.\n- Automatic removing the software from the system\n\n## License\n\nThis project is licensed under either of\n\nApache License, Version 2.0, (LICENSE-APACHE or \u003chttp://www.apache.org/licenses/LICENSE-2.0\u003e) MIT license (LICENSE-MIT or \u003chttp://opensource.org/licenses/MIT\u003e) at your option.\n\n## Contributing / Feedback\n\nThis project is not finished and is waiting to be developed further.\nSeveral technologies were used to write it:\n\n- Rust (Windows Service, TCP Server)\n- C/C++ (Windows API)\n- C# (WinUI)\n\nYou are sure to find something in it for you.\nIf you want to contribute, you are more than welcome to be a part of the project! Try to share your thoughts first! Feel free to open a new issue if you want to discuss new ideas.\n\nAny kind of feedback is welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frozensoftware%2Fwhip4brats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frozensoftware%2Fwhip4brats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frozensoftware%2Fwhip4brats/lists"}