parental control plugin

Started by joostman, Today at 07:32:18 AM

Previous topic - Next topic
Hello,

my name is Joost and I am a new user on this forum. I am a relatif new user of OPNsense and I think the product is great. However, in my usecase I have a need for parental control. With three young kids we must help the kids learning to explore the internet. Besides making agreements with the kids about the usage, I would like be able to globally track what they are doing. Of course there are commercial products in the market, also for example Apple and Google Family control, but I wanted a complete solution inside the local network. Besides this, I also wanted to use a "soevereign" solution, big tech doesn't have to learn from my situation.

So I decided to develop -with some AI help- a parental control plugin. I strongly believe in open source, so of course I want to share this and let other people participate to make it better. In the end, I would like to provide this plugin by the official OPNsense plugin store.

If you want to try it, it is available on Github: https://github.com/joost01/opnsense_parentalcontrol . In the Readme every different function is explained. In my case I use Adguard home, so i can make kids profiles with it and intergrate this with the plugin. I know not everyone is using this, so I also added support voor Pihole. If you are using no adblocking software at all, there is also an option to use the buildin unbound DNS software.

It is still in early development, but most functions are working now.

Please let me know if this plugin is usefull and if it can be made better in any way.

For now the plugin has the following functions:

- Bedtime schemes
- Time budgets (for groups of devices, so if a child has multiple devices it calculates to total usage)
- website profiles, so you can enforce safe search, adult filters and so on. This function works best with an external adblocker like Adguard and Pihole, but I also added some basic functionality if you don't use these in your network.

If time is up, a child can send a request for more time. The frequency these request can be send is adjustable. If time is up, an informational page is displayed with the reason (at this moment it this only works for http sites)

I used as much as possible the opnsense plugin structures of other plugins. Also, there is an option for localization. I am from the Netherlands, so English and Dutch are actually filled. But other languages can be added on the native way