Instead of software that runs on your PC, I recommend configuring your router to use OpenDNS. OpenDNS is a public name server that offers optional custom content blocking. You sign up for a free account, add your network (based on your public IP), and select the content you want to block.
The advantage to this approach is that by configuring your router, it will affect everything on your network; not just your linux PC, but all PCs, mobile devices, game systems, and anything else that you have in your house.
OpenDNS allows you quite a bit of customization as to what you want to block. There are low, moderate, and high presets, where "low" blocks only porn, and high even blocks social media and time-wasting sites. Or you can select specific categories of sites to block (there are about 60 different categories of sites to choose from). You can, of course, blacklist any sites you want. You can also block known proxy sites, to make it difficult for your genius kids to bypass.
If you have a dynamic IP, you'll need to tell notify OpenDNS of your new IP, so that it can respond with your custom settings. This is done through a service called DNS-O-Matic, also run by OpenDNS. You can either run a background process on your PC to notify DNS-O-Matic of your IP address, or, depending on your router firmware, you might be able to get your router to do it automatically.
The step-by-step instructions on how to do this are, of course, different for every router firmware. I use DD-WRT on my router, and there are instructions on setting this all up on the wiki. DD-WRT also has the option of intercepting all DNS requests, no matter what the client's DNS settings are, so that it is more difficult for someone on your network to simply enter a manual DNS server setting and bypass the whole thing.