Skip to content

dakidarts/dark-radar

Repository files navigation

Dark Radar Screenshot

πŸ” Dark Radar

Detect manipulative UI dark patterns and reveal masked links in real-time

Firefox Add-on Version License Stars

Features β€’ Installation β€’ Usage β€’ Screenshots β€’ Contributing β€’ Support


🎯 Features

🚨 Real-Time Dark Pattern Detection

  • ⏰ Fake Countdowns - Identifies artificial time pressure from resetting timers
  • ⚑ Forced Urgency - Detects manipulative language rushing your decisions
  • πŸ‘οΈ Hidden Unsubscribe - Finds intentionally obscured opt-out options
  • 🎯 Misleading Buttons - Catches actions that don't match button labels
  • βœ… Pre-selected Options - Highlights pre-checked boxes benefiting services
  • πŸ’° Hidden Costs - Reveals additional fees buried in fine print

πŸ”— Advanced Link Analysis

  • Risk Scoring - 0-100 risk rating with color-coded levels (Low/Medium/High)
  • URL Unmasking - Detects shortened URLs (bit.ly, tinyurl, etc.)
  • Tracking Detection - Identifies utm_, fbclid, gclid parameters
  • Affiliate Tags - Reveals monetization schemes in links
  • Redirect Chains - Warns about multiple redirects
  • Hover Tooltips - Instant analysis on link hover (toggle on/off)

πŸ“Š Comprehensive Monitoring

  • Popup Dashboard - Quick overview of current page detections
  • Sidebar Panel - Detailed analysis with 3 tabs (Current/History/Stats)
  • Auto-Refresh - Scans automatically on tab change
  • Detection History - Track patterns across all visited sites
  • Global Statistics - View totals, top patterns, and offending domains
  • Export Reports - Download JSON reports of all detections

πŸ”’ Privacy-First Design

  • βœ… All scanning happens locally in your browser
  • βœ… No data sent to external servers
  • βœ… No tracking or analytics
  • βœ… No account required
  • βœ… Open source and auditable

πŸ“₯ Installation

Firefox Add-ons (Recommended)

  1. Visit the Firefox Add-ons page
  2. Click Add to Firefox
  3. Confirm the installation
  4. Start browsing protected!

Manual Installation (Development)

# Clone the repository
git clone https://github.com/dakidarts/dark-radar.git
cd dark-radar

# Load in Firefox
# 1. Open Firefox and navigate to about:debugging
# 2. Click "This Firefox"
# 3. Click "Load Temporary Add-on"
# 4. Select manifest.json from the cloned directory

πŸš€ Usage

Quick Start

  1. Install the extension from Firefox Add-ons
  2. Browse normally - Dark Radar works automatically in the background
  3. Click the toolbar icon to view current page detections
  4. Open sidebar with Ctrl+Shift+D (Windows/Linux) or Cmd+Shift+D (Mac)
  5. Hover over links to see instant risk analysis

Keyboard Shortcuts

Shortcut Action
Ctrl+Shift+D / Cmd+Shift+D Open/close sidebar

Customization

Access settings via toolbar icon β†’ Settings or sidebar β†’ Settings button:

  • βš™οΈ Enable/disable real-time protection
  • 🏷️ Toggle visual badges on detected patterns
  • πŸ”” Control browser notifications
  • ⏱️ Adjust scan interval (1-60 seconds)
  • 🎯 Enable/disable individual pattern types
  • πŸ”— Toggle link hover analysis
  • πŸ—‘οΈ Clear detection history and statistics

πŸ› οΈ Technical Details

Architecture

dark-radar/
β”œβ”€β”€ manifest.json          # Extension manifest (Firefox Manifest V2)
β”œβ”€β”€ background.js          # Global statistics & message handling
β”œβ”€β”€ content.js             # Page scanning & link analysis
β”œβ”€β”€ content.css            # Injected styles for badges
β”œβ”€β”€ popup.html/js/css      # Toolbar popup interface
β”œβ”€β”€ sidebar.html/js/css    # Detailed sidebar panel
β”œβ”€β”€ options.html/js/css    # Settings page
└── icons/                 # Extension icons (16-128px)

Tech Stack

  • JavaScript - Vanilla ES6+ (no frameworks)
  • CSS3 - Custom properties, animations
  • Firefox WebExtensions API - browser.* namespace
  • Font Awesome 6.5.1 - Icon library (CDN)

Security Features

  • βœ… No innerHTML - Safe DOM manipulation only
  • βœ… Content Security Policy enforced
  • βœ… Input sanitization on all user data
  • βœ… SSRF protection for URL resolution
  • βœ… XSS prevention (no eval/dynamic code)
  • βœ… Comprehensive error handling

Performance

  • ⚑ Debounced scanning (500ms)
  • ⚑ Efficient DOM queries
  • ⚑ LRU cache for statistics
  • ⚑ Minimal memory footprint (<500KB)

🀝 Contributing

Contributions are welcome! Here's how you can help:

Reporting Issues

Found a bug or have a feature request? Open an issue

Pull Requests

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Setup

# Clone your fork
git clone https://github.com/YOUR_USERNAME/dark-radar.git
cd dark-radar

# Create a feature branch
git checkout -b feature/your-feature

# Make changes and test in Firefox
# Load temporary add-on from about:debugging

# Submit PR when ready

πŸ“œ License

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


πŸ’– Support

If you find Dark Radar useful, consider supporting the project:

Buy Me A Coffee

Connect With Us

X (Twitter) Instagram YouTube GitHub Website


πŸ™ Acknowledgments

  • Thanks to all contributors who help improve Dark Radar
  • Inspired by the fight against deceptive design patterns
  • Built with ❀️ for a more transparent web

Made with ❀️ by @dakidarts

⭐ Star this repo if you find it useful!

Report Bug β€’ Request Feature β€’ Documentation

About

Detect manipulative UI dark patterns and reveal masked links in real-time. Protect yourself from scams, fake urgency, and hidden tracking.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors