Skip to content

jhapendra-kandel/NetGuard-DNS-Monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

118 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ NetGuard DNS Monitor v2.0

Python License Status Platform

Real-time DNS Monitoring & Network Security System
A comprehensive DNS proxy server with advanced threat detection, intelligent caching, and network analytics.

Author: Jhapendra Kandel
Email: jhapendrakandel10@gmail.com
Institution: Softwarica College of IT & E-Commerce (Coventry University)
Project: 1st Year Python Programming - Introduction to Programming Module
Inspired by: Pi-hole - Network-wide Ad Blocking


πŸ“Ί Watch It In Action

-- Linked removed for privacy reasons --

πŸ‘† Click to watch the complete video tutorial on YouTube

Full walkthrough from installation to advanced features. Everything you need to know in one video!


πŸ“‹ Table of Contents


πŸ€” What Is This?

Hey! So I built this DNS monitoring tool for my 1st year programming project. Basically, every time you visit a website, your device asks a DNS server "what's the address of google.com?" - and this tool sits in the middle, watching everything.

Think of it like a security camera for your internet. You can:

  • πŸ‘€ See every website your devices visit in real-time
  • 🚫 Block ads and trackers across ALL devices on your network
  • ⚠️ Detect suspicious activity (malware, phishing, weird patterns)
  • πŸ“Š Analyze your network behavior with cool charts
  • ⚑ Speed up your internet with smart caching

Why I built this:

  • I wanted to see what my devices were REALLY doing online (spoiler: tons of tracking!)
  • Block those annoying ads without browser extensions
  • Learn network programming for my college project
  • Actually understand how DNS works, not just read about it

What makes it special:

  • Works on all devices simultaneously (phones, laptops, smart TVs!)
  • No per-device configuration needed
  • Real-time monitoring and analytics
  • Production-ready with proper error handling
  • Cross-platform (Windows, Mac, Linux)

πŸš€ Key Features

Core Functionality

Feature Description Status
🌐 DNS Proxy Server Full-featured DNS forwarding on port 53 βœ… Active
⚑ Smart Caching TTL-based intelligent response caching βœ… Active
🚫 Ad/Tracker Blocking Block 64,000+ domains with one click βœ… Active
πŸ” Anomaly Detection AI-inspired pattern recognition βœ… Active
πŸ“Š Real-time Analytics Live stats with visual charts βœ… Active
πŸ’Ύ Data Export Export logs to CSV for analysis βœ… Active
⚠️ Security Alerts Threat detection with severity levels βœ… Active

What You Get

1. Intelligent DNS Caching

  • Speeds up your internet by remembering DNS answers
  • Reduces bandwidth usage by 40-60%
  • Automatic TTL-based expiration
  • Cache hit rates of 60-70% in normal use
  • Toggle on/off with one click

2. Advanced Threat Detection

  • Excessive Queries: Detects DDoS or malware (>200 queries/min)
  • Suspicious Domains: Flags malware/phishing keywords
  • DGA Detection: Catches algorithmically generated domains
  • Real-time Alerts: Severity classification (HIGH/MEDIUM/LOW)
  • Alert History: Review past threats

3. Comprehensive Blocklist Management

  • 64,292 pre-installed domains ready to use!
  • Default list blocks common ads and trackers
  • Wildcard subdomain blocking
  • Allowlist override for false positives
  • Import custom lists (but see warning below!)

4. Network Analytics Dashboard

  • Query type distribution (A, AAAA, CNAME, MX, TXT)
  • Top 10 most active devices
  • Top 10 most requested domains
  • Cache performance metrics
  • Network behavior insights
  • Visual charts and graphs

πŸ–ΌοΈ Screenshots

Main Dashboard - Live Logs

Real-time DNS query monitoring Monitor every DNS query with color-coded status indicators

Statistics & Analytics

Network insights and charts Comprehensive analytics with pie charts and bar graphs

Blocklist Manager

Domain blocking interface Easily manage blocked and allowed domains

Security Alerts

Threat detection monitor Real-time security alerts with severity classification


⚑ Quick Start (5 Minutes!)

Prerequisites

  • Python 3.8 or higher installed
  • Administrator/sudo access
  • Active network connection

Step 1: Clone Repository

git clone https://github.com/jhapendra-kandel/NetGuard-DNS-Monitor.git
cd NetGuard-DNS-Monitor

Step 2: Install Dependencies

pip install -r requirements.txt

Step 3: Run Application

Windows (as Administrator):

python main.py

Linux/macOS:

sudo python3 main.py

You should see this:

╔══════════════════════════════════════╗
β•‘   πŸ›‘οΈ  NetGuard DNS Monitor v2.0     β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

βœ“ DNS Server running on port 53
βœ“ Cache enabled
βœ“ Blocklist enabled (64,292 domains ready!)
βœ“ Anomaly detection active

Step 4: Configure Your Devices

Find your computer's IP:

  • Windows: ipconfig (look for IPv4 Address)
  • Mac/Linux: hostname -I or ip addr

Set DNS on your phone/laptop:

  1. Go to WiFi Settings
  2. Set Primary DNS to your computer's IP (e.g., 192.168.1.100)
  3. Set Secondary DNS to 8.8.8.8
  4. Save and reconnect

Test it:

  • Browse any website on your device
  • Check NetGuard's "Live Logs" tab
  • You should see DNS queries appearing!

πŸ“– Detailed guide: See QUICK_SETUP.md for step-by-step instructions


πŸ“¦ Installation

Automated Setup (Recommended)

Windows:

setup.bat

Linux/macOS:

chmod +x setup.sh
./setup.sh

Manual Installation

Step 1: Create Virtual Environment

# Windows
python -m venv venv
venv\Scripts\activate

# Linux/macOS
python3 -m venv venv
source venv/bin/activate

Step 2: Install Dependencies

pip install -r requirements.txt

Step 3: Verify Installation

python main.py --help

πŸ“– Full guide: See INSTALLATION.md for OS-specific detailed instructions


πŸ“š Usage Guide

1. Live Logs Tab

What it shows:

  • Every DNS query from your network in real-time
  • Color-coded status (Green=Success, Red=Blocked, Blue=Cached)
  • Source IP, domain name, query type, response time

Controls:

  • Filter by domain/IP: Search for specific queries
  • Filter by type: Show only A, AAAA, CNAME, etc.
  • Pause/Resume: Stop live updates
  • Clear Logs: Remove all entries

2. Statistics & Analytics

Metrics displayed:

  • Total queries, success/failure rates
  • Blocked queries percentage
  • Cache hit rate and performance
  • Network insights and recommendations

Visual charts:

  • Query type distribution (pie chart)
  • Top 10 active devices (bar chart)
  • Top 10 requested domains (bar chart)

Auto-refresh: Stats update automatically when tab is active

3. Blocklist Manager

Adding domains manually:

  1. Click "βž• Add Blocked Domain"
  2. Enter domain (e.g., ads.example.com)
  3. Click OK

Using the default list:

  1. Click "πŸ”„ Load Default Ads/Trackers"
  2. 100+ common ad/tracker domains loaded instantly

Wildcard blocking:

  • Block doubleclick.net
  • Also blocks: ads.doubleclick.net, tracking.doubleclick.net, etc.

Allowlist:

  • Add domains to bypass blocklist
  • Useful for accidentally blocked sites

4. Security Alerts

Alert types:

  • HIGH: Excessive queries, DGA detection
  • MEDIUM: Suspicious domain keywords
  • LOW: Minor anomalies

Alert actions:

  • View details and timestamps
  • Export to log file
  • Clear alert history

πŸ“– Detailed manual: See USAGE.md for complete feature documentation


🚫 Blocklist Setup ⚑ IMPORTANT!

Method 1: Pre-installed Blocklist (RECOMMENDED βœ…)

We've included a ready-to-use blocklist with 64,292 domains!

How to use it:

  1. Locate the file: preinstalled-blocklist.json
  2. Open it and copy all the content
  3. Open blocklist.json (create it if it doesn't exist)
  4. Paste the content into blocklist.json
  5. Save and restart NetGuard

Why this method?

  • βœ… Fast loading - No download needed
  • βœ… Stable - Won't crash or freeze the app
  • βœ… 64,292 domains - Comprehensive blocking
  • βœ… Pre-tested - Verified to work properly

Method 2: Default List (Built-in)

  1. Open NetGuard
  2. Go to "Blocklist Manager" tab
  3. Click "πŸ”„ Load Default Ads/Trackers"
  4. Adds 100+ common ad/tracker domains instantly

⚠️ WARNING - GitHub/URL Imports

DO NOT use the "Import from URL/GitHub" feature for large lists!

Why?

  • ❌ App may crash during large imports
  • ❌ UI freezes while processing 100,000+ domains
  • ❌ Memory issues on some systems

If you MUST import a custom list:

  1. Download the list manually
  2. Copy the domains
  3. Paste into blocklist.json file
  4. Restart the app

Expected ad blocking rate:

  • Default list: ~60%
  • Pre-installed list: ~72%+
  • Custom lists: varies

πŸ—οΈ Architecture

System Design

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Client Devices (Your Network)              β”‚
β”‚        Phones, Laptops, Smart TVs, IoT Devices          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚ DNS Queries (Port 53)
                      β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              NetGuard DNS Monitor (This App)            β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚         GUI Interface (Tkinter)                   β”‚  β”‚
β”‚  β”‚  [Live Logs] [Statistics] [Blocklist] [Alerts]    β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚         Core DNS Server (dns_server.py)           β”‚  β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”           β”‚  β”‚
β”‚  β”‚  β”‚  Cache   β”‚ β”‚Blocklist β”‚ β”‚ Anomaly  β”‚           β”‚  β”‚
β”‚  β”‚  β”‚  Engine  β”‚ β”‚  Engine  β”‚ β”‚ Detector β”‚           β”‚  β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚ Forwarded Queries
                      β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         Upstream DNS (Google: 8.8.8.8)                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

How It Works

  1. Device sends DNS query β†’ Your phone asks "what's facebook.com?"
  2. NetGuard intercepts β†’ Catches the query before it leaves your network
  3. Security checks:
    • Is it in the blocklist? β†’ Block it!
    • Is it in the cache? β†’ Return cached answer (fast!)
    • Is it suspicious? β†’ Generate alert!
  4. Forward to upstream β†’ If not blocked/cached, ask Google DNS
  5. Cache the response β†’ Save for future use
  6. Return to device β†’ Your phone gets the answer
  7. Log everything β†’ You see it in Live Logs tab

Component Architecture

main.py (Entry Point)
β”œβ”€β”€ DNS Server Thread (background daemon)
β”‚   β”œβ”€β”€ Request Handler (multi-threaded)
β”‚   β”‚   β”œβ”€β”€ 1. Check Cache (DNSCache)
β”‚   β”‚   β”œβ”€β”€ 2. Check Blocklist (DNSBlocklist)
β”‚   β”‚   β”œβ”€β”€ 3. Anomaly Detection (AnomalyDetector)
β”‚   β”‚   β”œβ”€β”€ 4. Forward to Upstream (8.8.8.8)
β”‚   β”‚   └── 5. Cache Response
β”‚   └── Log Queue (thread-safe communication)
β”‚
└── GUI Thread (main interface)
    β”œβ”€β”€ Live Logs Tab (real-time display)
    β”œβ”€β”€ Statistics Tab (charts & analytics)
    β”œβ”€β”€ Blocklist Manager (domain management)
    └── Alerts Monitor (security warnings)

πŸ“– Deep dive: See ARCHITECTURE.md for technical details


πŸ”§ Technical Details

Technologies Used

Technology Purpose Version
Python Core programming language 3.8+
dnslib DNS protocol handling 0.9.23
Tkinter GUI framework Built-in
Matplotlib Charts and visualizations 3.8.4
Threading Concurrent request handling Built-in
Socket Network communication Built-in

Performance Metrics

Metric Without Cache With Cache Improvement
Avg Response Time 45ms 2ms 95.6% faster
Queries/Second ~200 ~1000 5x throughput
Network Usage 100% 40% 60% reduction

Cache hit rates:

  • First hour: 20-30%
  • After 2 hours: 50-60%
  • Steady state: 60-70%

Scalability

  • βœ… Handles 1000+ concurrent connections
  • βœ… Processes 10,000+ queries/minute
  • βœ… Cache size: Up to 10,000 entries
  • βœ… Log retention: 10,000 entries (auto-cleanup)

Security Features

Protection against:

  • Malware distribution sites
  • Phishing domains
  • Ad and tracking networks
  • Command & Control servers
  • DNS tunneling attempts

Detection capabilities:

  • Excessive query rates (DDoS indicators)
  • Suspicious domain patterns
  • Domain Generation Algorithms (DGA)
  • Anomalous network behavior

πŸ› Troubleshooting

"Permission Denied" Error

Problem:

❌ Permission denied! Run as administrator/sudo

Solution:

  • Windows: Right-click Command Prompt β†’ "Run as Administrator"
  • Linux/macOS: Use sudo python3 main.py

No DNS Queries Appearing

Checklist:

  1. βœ… Is NetGuard running as admin/sudo?
  2. βœ… Did you set DNS on your device to your computer's IP?
  3. βœ… Is your computer's IP correct? (didn't change?)
  4. βœ… Is firewall allowing UDP port 53?

Debug:

# Test DNS server locally
nslookup google.com 127.0.0.1

# Check if port 53 is listening
# Windows:
netstat -an | findstr :53

# Linux/macOS:
sudo netstat -tulpn | grep :53

"Port 53 Already in Use"

Problem: Another service is using port 53

Solution:

# Windows - find and kill process
netstat -ano | findstr :53
taskkill /PID <process_id> /F

# Linux/macOS - find and kill process
sudo lsof -i :53
sudo kill -9 <PID>

App Freezes When Importing Blocklist

Problem: Importing large lists from GitHub/URLs

Solution: Use the pre-installed blocklist instead!

  1. Copy content from preinstalled-blocklist.json
  2. Paste into blocklist.json
  3. Restart app

πŸ“– More solutions: See INSTALLATION.md for complete guide


πŸ“ Project Structure

NetGuard-DNS-Monitor/
β”‚
β”œβ”€β”€ main.py                    # Application entry point
β”œβ”€β”€ dns_server.py              # Core DNS server logic (820 lines)
β”œβ”€β”€ gui.py                     # Tkinter GUI interface (1,150 lines)
β”œβ”€β”€ stats.py                   # Statistics computation (370 lines)
β”œβ”€β”€ cli.py                     # Command-line interface (optional)
β”‚
β”œβ”€β”€ requirements.txt           # Python dependencies
β”œβ”€β”€ preinstalled-blocklist.json # 64,292 domains ready to use!
β”œβ”€β”€ blocklist.json             # Active blocklist (create this)
β”œβ”€β”€ allowlist.json             # Allowed domains (auto-generated)
β”‚
β”œβ”€β”€ setup.py                   # Automated setup script
β”œβ”€β”€ setup.bat                  # Windows quick setup
β”œβ”€β”€ setup.sh                   # Linux/macOS quick setup
β”‚
β”œβ”€β”€ πŸ“Έ screenshots/               # Documentation screenshots
β”‚   β”œβ”€β”€ live-logs.png
β”‚   β”œβ”€β”€ statistics.png
β”‚   β”œβ”€β”€ blocklist.png
β”‚   └── alerts.png
β”‚
| # ----Documentation files----
β”œβ”€β”€ README.md                 # This file
β”œβ”€β”€ QUICK_SETUP.md            # 5-minute setup guide
β”œβ”€β”€ INSTALLATION.md           # Detailed installation
β”œβ”€β”€ USAGE.md                  # Feature documentation
β”œβ”€β”€ ARCHITECTURE.md           # Technical deep dive
β”œβ”€β”€ CHANGELOG.md              # Version history
└── PROJECT_SUMMARY.md        # Academic summary

Total lines of code: ~2,810 lines
Development time: 3 months
Coffee consumed: Too much β˜•


πŸŽ“ Project Information

Academic Details

Project Type: 1st Year Python Programming Project
Module: Introduction to Programming
Institution: Softwarica College of IT & E-Commerce
Affiliation: Coventry University, United Kingdom
Academic Year: 2025-2026
Student: Jhapendra Kandel
Email: jhapendrakandel10@gmail.com

Skills Demonstrated

βœ… Python Programming Fundamentals

  • Object-Oriented Programming (OOP)
  • Multithreading and concurrency
  • Exception handling and error management
  • File I/O and data persistence

βœ… Network Programming

  • Socket programming (UDP)
  • DNS protocol implementation
  • Client-server architecture
  • Network packet handling

βœ… Software Development

  • GUI design with Tkinter
  • Data visualization with Matplotlib
  • Algorithm design and optimization
  • Version control with Git/GitHub

βœ… Security Concepts

  • Threat detection algorithms
  • Pattern recognition
  • Input validation
  • Security best practices

What I Learned

This project taught me way more than just coding:

Technical Skills:

  • How DNS actually works (not just theory!)
  • Multi-threading is HARD but essential
  • Caching makes everything faster
  • Error handling saves lives (and your app!)

Real-World Experience:

  • Privacy matters (so much tracking online!)
  • Performance optimization is an art
  • Documentation is as important as code
  • Testing on different platforms is crucial

The Struggle: Not gonna lie - threading bugs almost made me give up. DNS protocol docs are confusing. GUI kept crashing. But Stack Overflow, YouTube tutorials, and lots of coffee got me through! πŸ˜…

Inspiration

This project was heavily inspired by Pi-hole - the amazing network-wide ad blocker. I wanted to understand how it works and build my own version as a learning experience. Big thanks to the Pi-hole team for the inspiration!

Citation

If you use this project in your work, please cite:

Kandel, J. (2026). NetGuard DNS Monitor: A Python-based Real-time DNS 
Monitoring and Network Security System. Softwarica College of IT & 
E-Commerce (Coventry University). 
GitHub: https://github.com/jhapendra-kandel/NetGuard-DNS-Monitor

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License - Copyright (c) 2026 Jhapendra Kandel

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software...

TL;DR: Do whatever you want with this code! If you use it for your project, a mention would be cool but not required. 😊


πŸ™ Acknowledgments

Inspiration & References

  • Pi-hole - Network-wide ad blocking (main inspiration!)
  • Unbound - Validating, recursive DNS resolver
  • DNSCrypt - DNS encryption protocol

Technologies & Libraries

  • Python Software Foundation - Python programming language
  • Tk/Tcl - GUI framework
  • dnslib - Python DNS library by Paul Chakravarti
  • matplotlib - Data visualization library

Educational Resources

  • RFC 1035 - Domain Names Implementation
  • OWASP Top 10 - Security best practices
  • Computer Networks by Andrew Tanenbaum
  • Real Python tutorials
  • Stack Overflow community

Personal Thanks

  • Softwarica College - For the project opportunity
  • Coventry University - Academic affiliation
  • My Professors - Guidance and feedback
  • My Classmates - Testing on their devices
  • YouTube Tutorials - Learned threading from them
  • Stack Overflow - Saved me countless times
  • Coffee - Essential fuel for late-night coding β˜•

πŸ“§ Contact & Support

Author: Jhapendra Kandel
Email: jhapendrakandel10@gmail.com
GitHub: @jhapendra-kandel
Institution: Softwarica College of IT & E-Commerce

Get Help


πŸ—ΊοΈ Future Roadmap

Version 2.1 (Planned)

  • Dark mode UI theme
  • Database storage (SQLite) for unlimited logs
  • HTTPS DNS support (DNS-over-HTTPS)
  • Email alerts for critical threats
  • Custom alerting rules

Version 3.0 (Future Vision)

  • Web-based dashboard (access from any device)
  • Machine learning-based anomaly detection
  • Mobile app companion (iOS/Android)
  • Cloud sync capabilities
  • Docker containerization

πŸ“– Full roadmap: See Features_roadmap.md for detailed plans


⭐ Show Your Support

If you found this project helpful or learned something from it:

  • ⭐ Star this repository on GitHub
  • 🍴 Fork it and try building your own features
  • πŸ“’ Share it with classmates who might benefit
  • πŸ’¬ Leave feedback in the issues section
  • πŸ“§ Email me your success stories!

Every star motivates me to keep improving this project! πŸš€


Made with ❀️, β˜•, and lots of debugging

3 months of coding β€’ 2,810 lines β€’ Countless bugs fixed β€’ 100% worth it!

Powered by curiosity and caffeine β˜•


⬆ Back to Top


NetGuard DNS Monitor - Your Network's Guardian
Protecting privacy, blocking ads, monitoring threats - one DNS query at a time

About

Real-time DNS monitoring with intelligent threat detection and ad-blocking

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages