Logo

Guard Project Information

A comprehensive open-source parental control solution showcasing modern full-stack development skills with Next.js, C#, and enterprise-grade architecture.

Project Overview

An open source personal project showcasing modern full-stack development skills

Guard is an open source personal project designed for simple, flexible, and secure internet access control—originally created for my own child's devices.

The system consists of two main apps:

Web Dashboard

A modern web dashboard (built with Next.js, Node.js, TypeScript, Tailwind CSS, Prisma ORM, PostgreSQL, and custom context providers) where you set a PIN code, scheduled rules, and permanently restricted categories for each device.

Windows Client

A lightweight Windows client app (written in C#) that's installed on each protected Windows computer. This app receives instructions from your online dashboard, saves them securely to local files, and applies internet restrictions by updating the hosts file and Windows Firewall according to your chosen schedule.

A dedicated Node.js API keeps the Windows apps in sync, sending updated instructions to each device as needed.

Enterprise-Grade Reliability Features

Several helper mechanisms are built in for reliability and safety:

🕐 Time Integrity

A time helper checks real time to ensure schedules cannot be bypassed by changing the system clock.

💾 Hosts File Backup

The app automatically saves a backup of the hosts file every few days.

🔄 Two-Process Architecture

Two app processes monitor each other, ensuring the client app restarts itself if closed in Task Manager.

🔒 Secure Uninstall

The Windows client cannot be uninstalled if it's assigned to a dashboard, unless the correct PIN code is entered—in which case, all system changes are fully cleaned up.

🌐 Smart IP Resolution

Periodical URL to IP checking allows the system to block correct IP addresses of services, ensuring restrictions work even when services change their infrastructure.

📊 Event Logging

All key actions, such as failed PIN entries, dashboard access, and app issues (like no internet or start/stop times), are logged and viewable from the dashboard.

Why I Built This

With Guard, you can easily manage and schedule safe internet access for your family.You control everything in a user-friendly dashboard, and the client app ensures your rules are reliably enforced on any remote Windows device.

This project was created to help my own child have a healthy internet routine—and now it's available to help others too.