Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

LinkGuard

Privacy-first browser extension that checks link safety before you click.

πŸ”’ Zero tracking | ⚑ Sub-100ms response | 🌐 Open-source | πŸ›‘οΈ Real-time analysis


🎯 What is LinkGuard?

LinkGuard protects you from clicking dangerous links by analyzing them in real-time. Simply hover over any link to see:

  • βœ… Safety rating (Safe / Caution / Suspicious)
  • βœ… Real destination URL
  • βœ… Security warnings (HTTP vs HTTPS, suspicious domains, phishing keywords)
  • βœ… Instant analysis in under 100ms

All analysis happens before you click - giving you the information you need to browse safely.


πŸš€ Installation

Install from Chrome Web Store

Or see Development Setup to run from source.


✨ Features

Current (v0.1.0)

Core Protection:

  • βœ… Hover detection on all links
  • βœ… Real-time safety analysis
  • βœ… Pattern-based threat detection (suspicious TLDs, phishing keywords, IP addresses)
  • βœ… HTTPS vs HTTP checking
  • βœ… URL expansion for shortened links (bit.ly, tinyurl, etc.)
  • βœ… Beautiful tooltip interface
  • βœ… Statistics tracking
  • βœ… Smart caching (sub-100ms for repeated checks)
  • βœ… Privacy-first (zero tracking, local analysis)

Coming Soon

  • πŸ”œ Google Safe Browsing API integration
  • πŸ”œ Multi-API verification (VirusTotal, PhishTank)
  • πŸ”œ Domain age checking
  • πŸ”œ SSL certificate validation
  • πŸ”œ Settings page with customization options
  • πŸ”œ Cross-browser support (Firefox, Safari, Edge)

Planned Premium Features

  • πŸ”œ Advanced threat intelligence (multiple APIs)
  • πŸ”œ Link screenshot preview
  • πŸ”œ Historical threat data
  • πŸ”œ Custom whitelist/blacklist
  • πŸ”œ Advanced analytics dashboard
  • πŸ”œ Unlimited checks (free tier: 1,000/month)

πŸ› οΈ Tech Stack

Extension:

  • Vanilla JavaScript (no frameworks for speed)
  • Chrome Extension Manifest V3
  • Content scripts + Background service worker
  • Local storage (privacy-first)

Current Analysis:

  • Pattern-based detection (suspicious TLDs, keywords, protocols)
  • Smart caching system (24-hour cache, sub-100ms responses)

Planned Integrations:

  • Google Safe Browsing API (10K requests/day free)
  • WHOIS lookup (domain age)
  • SSL Labs (certificate checking)

Future Backend (Premium):

  • Node.js/Express (Vercel)
  • PostgreSQL (Supabase)
  • Redis cache (Upstash)

πŸ’» Development Setup

For Contributors & Developers:

Prerequisites

  • Chrome/Chromium browser
  • Git
  • Text editor (VS Code recommended)

Installation

  1. Clone the repository:
git clone https://github.com/nowakpwel/linkguard.git
cd linkguard
  1. Load extension in Chrome:

    • Open Chrome and go to chrome://extensions/
    • Enable "Developer mode" (top right toggle)
    • Click "Load unpacked"
    • Select the repository folder
    • LinkGuard icon appears in toolbar!
  2. Test it:

    • Visit any website (github.com, reddit.com, etc.)
    • Hover over any link
    • See LinkGuard tooltip appear with safety information!
  3. Open console for debugging:

    • Right-click extension icon β†’ "Inspect popup" (for popup debugging)
    • Press F12 on any webpage β†’ Console tab (for content script logs)
    • chrome://extensions/ β†’ Click "service worker" (for background script logs)

πŸ“‚ Project Structure

linkguard/extension/
β”œβ”€β”€ manifest.json              # Extension configuration
β”œβ”€β”€ README.md                  # This file
β”œβ”€β”€ LICENSE                    # MIT License
β”‚
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ popup/                 # Extension popup UI
β”‚   β”‚   β”œβ”€β”€ popup.html
β”‚   β”‚   β”œβ”€β”€ popup.css
β”‚   β”‚   └── popup.js
β”‚   β”‚
β”‚   β”œβ”€β”€ content/               # Injected into web pages
β”‚   β”‚   β”œβ”€β”€ content.js
β”‚   β”‚   └── content.css
β”‚   β”‚
β”‚   β”œβ”€β”€ background/            # Service worker
β”‚   β”‚   └── background.js
β”‚   β”‚
β”‚   β”œβ”€β”€ utils/                 # Shared utilities
β”‚   β”‚   β”œβ”€β”€ api.js            # API integrations
β”‚   β”‚   └── urlParser.js      # URL analysis
β”‚   β”‚
β”‚   └── assets/                # Icons and images
β”‚       β”œβ”€β”€ icon16.png
β”‚       β”œβ”€β”€ icon48.png
β”‚       └── icon128.png
β”‚
└── docs/                      # Documentation
    β”œβ”€β”€ ARCHITECTURE.md
    └── CONTRIBUTING.md

πŸ› Debugging & Development Tips

Console Access

Popup console:

  • Right-click extension icon β†’ "Inspect popup"

Content script console:

  • Press F12 on any webpage β†’ Console tab
  • Look for messages starting with "LinkGuard:"

Background service worker console:

  • Go to chrome://extensions/
  • Click "service worker" link under LinkGuard
  • (Note: Service worker sleeps when inactive - hover over a link to wake it up)

Common Issues

Extension doesn't load:

  • Check that manifest.json is in the root folder
  • Look for red "Errors" button in chrome://extensions/
  • Verify all required files are present (see Project Structure below)

Tooltip doesn't appear:

  • Refresh the webpage (Ctrl+R / Cmd+R)
  • Check console for JavaScript errors
  • Ensure you hover for at least 300ms (prevents flashing)
  • Verify content.css is loading

Tooltip stuck on "Checking...":

  • Open background service worker console
  • Check for errors in message passing
  • Verify background.js is running

Testing Tips

  • Test on multiple sites: github.com, reddit.com, news sites
  • Test different link types: HTTPS, HTTP, IP addresses, suspicious domains
  • Check performance: Console shows response times for each check
  • Try edge cases: Very long URLs, special characters, malformed links

🀝 Contributing

LinkGuard is open-source and welcomes contributions!

Ways to help:

  • πŸ› Report bugs
  • πŸ’‘ Suggest features
  • πŸ”§ Submit pull requests
  • πŸ“– Improve documentation
  • ⭐ Star the repo!

See CONTRIBUTING.md for guidelines.


πŸ”’ Privacy Commitment

LinkGuard is privacy-first by design:

  • βœ… Zero tracking - No analytics, no telemetry
  • βœ… Zero data collection - Links checked locally when possible
  • βœ… Open-source - Full transparency, audit our code
  • βœ… No user accounts - Works immediately, no signup
  • βœ… Minimal permissions - Only what's necessary

When we call external APIs (Google Safe Browsing, etc.), we send only the URL hash, never your full browsing history.


πŸ“œ License

MIT License - see LICENSE file for details.


🌐 Links


πŸ‘¨β€πŸ’» Author

Pawel Nowak (@nowakpwel)

  • 🌍 Based in WrocΕ‚aw, Poland
  • πŸ’Ό Java Developer | Privacy Advocate
  • πŸ”— LinkedIn

πŸ“Š Roadmap

βœ… v0.1.0 (Current - Live on Chrome Web Store!)

  • βœ… Hover detection working
  • βœ… Real-time analysis
  • βœ… Tooltip interface
  • βœ… Pattern-based threat detection
  • βœ… URL expansion for shortened links
  • βœ… Statistics tracking
  • βœ… Sub-100ms response time
  • βœ… Published to Chrome Web Store

πŸ”œ v0.2.0

  • Google Safe Browsing API integration
  • Improved threat detection accuracy
  • Settings page with preferences

πŸ”œ v1.0.0 - Premium Features

  • Multi-API verification (VirusTotal, PhishTank)
  • Advanced analytics dashboard
  • Custom whitelist/blacklist
  • Business tier

πŸ”œ v2.0.0 - Cross-platform

  • Firefox extension
  • Safari extension
  • Edge extension

⭐ Star this repo if you want safer browsing!

πŸš€ Built in public - follow the journey!


Last updated: March 2026

About

Privacy-first browser extension that checks link safety before you click. Zero tracking, open-source, sub-100ms response time.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages