Detect manipulative UI dark patterns and reveal masked links in real-time
Features β’ Installation β’ Usage β’ Screenshots β’ Contributing β’ Support
- β° 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
- 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)
- 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
- β All scanning happens locally in your browser
- β No data sent to external servers
- β No tracking or analytics
- β No account required
- β Open source and auditable
- Visit the Firefox Add-ons page
- Click Add to Firefox
- Confirm the installation
- Start browsing protected!
# 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- Install the extension from Firefox Add-ons
- Browse normally - Dark Radar works automatically in the background
- Click the toolbar icon to view current page detections
- Open sidebar with
Ctrl+Shift+D(Windows/Linux) orCmd+Shift+D(Mac) - Hover over links to see instant risk analysis
| Shortcut | Action |
|---|---|
Ctrl+Shift+D / Cmd+Shift+D |
Open/close sidebar |
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
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)
- JavaScript - Vanilla ES6+ (no frameworks)
- CSS3 - Custom properties, animations
- Firefox WebExtensions API - browser.* namespace
- Font Awesome 6.5.1 - Icon library (CDN)
- β
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
- β‘ Debounced scanning (500ms)
- β‘ Efficient DOM queries
- β‘ LRU cache for statistics
- β‘ Minimal memory footprint (<500KB)
Contributions are welcome! Here's how you can help:
Found a bug or have a feature request? Open an issue
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
# 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 readyThis project is licensed under the MIT License - see the LICENSE file for details.
If you find Dark Radar useful, consider supporting the project:
- 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