A professional Firefox extension that allows users to quickly submit URLs for security analysis using urlscan.io's powerful scanning service.
- 🔒 Right-Click Security Scanning: Context menu integration for quick URL scanning
- ⚙️ Customizable Settings: Configure API key, scan visibility, and custom tags
- 🎨 Professional UI: Modern, clean interface matching urlscan.io branding
- 🔐 Secure Storage: API keys stored locally in Firefox's secure storage
- 📊 Automatic Results: Opens scan results automatically when ready
- 🏷️ Custom Tagging: Organize your scans with custom tags
- Download the latest release
- Open Firefox and navigate to
about:addons - Click the gear icon and select "Install Add-on From File"
- Select the downloaded
.xpifile
- Clone this repository
- Open Firefox and navigate to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on"
- Select any file in the extension directory
-
Get an API Key:
- Register at urlscan.io
- Generate your API key from your profile page
-
Configure Extension:
- Click the URLScan.io extension icon in your Firefox toolbar
- Enter your API key
- Choose scan visibility (Public/Unlisted/Private)
- Optionally customize tags (default:
firefox, extension)
-
Start Scanning:
- Right-click any link on a webpage
- Select "Scan with urlscan.io"
- Wait for the scan to complete (results open automatically)
- Version: 3 (Manifest V3)
- Minimum Firefox: 109.0+
contextMenus: For right-click menu integrationactiveTab: To access the current tab's contexttabs: To open scan results in new tabsstorage: To securely store user settingsnotifications: To display scan status updateshttps://urlscan.io/*: To communicate with urlscan.io API
/app/
├── manifest.json # Extension manifest (Manifest V3)
├── background.js # Background service worker
├── options.html # Settings page
├── options.js # Settings logic
├── icons/ # Extension icons
│ ├── urlscan_16.png
│ ├── urlscan_32.png
│ └── urlscan_256.png
└── README.md # This file
This extension integrates with the urlscan.io API v1:
- Scan Submission:
POST https://urlscan.io/api/v1/scan/ - Result Polling:
GET https://urlscan.io/api/v1/result/{uuid}/
- User right-clicks a link and selects "Scan with urlscan.io"
- Extension submits the URL to urlscan.io API
- Initial 10-second delay (scans typically take 10-15 seconds)
- Polls every 2 seconds for up to 40 seconds
- Opens results page automatically when ready
- Local Storage Only: API keys are stored exclusively in Firefox's secure local storage
- No Third-Party Sharing: Your API key is never transmitted to any service except urlscan.io
- User Control: You control scan visibility (public/unlisted/private)
- Open Source: All code is available for inspection
- ✅ ESLint validated
- ✅ Modern ES6+ JavaScript
- ✅ Comprehensive error handling
- ✅ JSDoc documentation
- ✅ Input validation
To test the extension:
- Load it temporarily in Firefox (
about:debugging) - Configure your API key in the options page
- Right-click any link and test the scanning functionality
- Verify notifications appear correctly
- Confirm results page opens automatically
- ✨ Upgraded to Manifest V3
- ✨ Added customizable tags feature (defaults: firefox, extension)
- 🐛 Fixed polling delay bug
- 🎨 Complete UI redesign with urlscan.io branding
- 🔐 Added API key show/hide toggle
- ✅ Added comprehensive input validation
- 📝 Improved error messages and user feedback
- 🏗️ Better code structure with JSDoc comments
- ♿ Added accessibility improvements
- Initial release
- Basic URL scanning functionality
- Context menu integration
- Settings page
Developer: Paul Rutten (info@paulrutten.nl)
Powered by:
- urlscan.io - Website security scanner
- urlscan.io API - Public API
This extension is provided as-is for use with urlscan.io's services. Please refer to urlscan.io's terms of service for API usage guidelines.
For issues or questions:
- Email: info@paulrutten.nl
- Check urlscan.io documentation
- ✅ Manifest V3 compliant
- ✅ Clear privacy policy (API keys stored locally)
- ✅ All permissions justified and documented
- ✅ No obfuscated code
- ✅ Comprehensive error handling
- ✅ User-friendly interface
- ✅ Professional design
- ✅ Proper versioning
- ✅ Complete documentation
- ✅ Tested on Firefox 109+