A powerful Chrome/Edge browser extension that allows you to block websites with password protection. Maintain a list of blocked sites and require a password to access them.
- Password Protection: Secure your blocked sites with a password
- Easy Management: Add/remove sites from the block list via settings
- Enable/Disable: Toggle the blocking feature on/off
- Cross-Tab Protection: Works across multiple tabs and windows
- Session Management: Temporarily unlock sites for 30 minutes after password entry
- Modern UI: Clean, responsive design with dark mode support
- Backup & Restore: Export and import your settings
- Quick Actions: Block current site directly from the popup
- Secure Storage: Passwords are hashed and salted, never stored in plain text
- Password Verification: Current password required for changes, removal, and disabling
- Download/Clone this repository to your local machine
- Install dependencies and build:
npm install npm run build:prod
- Load the extension from the
dist/directory:- Chrome:
chrome://extensions/β Enable Developer Mode β Load unpacked β Selectdist/folder - Edge:
edge://extensions/β Enable Developer Mode β Load unpacked β Selectdist/folder
- Chrome:
- Pin the extension to your toolbar for easy access
- Download/Clone this repository to your local machine
- Generate Icons:
npm install npm run generate-icons
- Load the extension from the root directory (same steps as above)
The extension comes with a script to automatically generate PNG icons from the SVG source:
npm run generate-iconsOr manually:
node generate-icons.jsThis will create all required icon sizes:
- 16x16 pixels β
icons/icon16.png - 32x32 pixels β
icons/icon32.png - 48x48 pixels β
icons/icon48.png - 128x128 pixels β
icons/icon128.png
- Click the SecureTab icon in your browser toolbar
- Click "Settings" to open the options page
- Set a password (minimum 4 characters)
- Add websites to your block list
- Enable the extension using the toggle switch
- Open the extension settings
- In the "Blocked Websites" section, enter a URL or domain
- Click "Add" to block the site
- Use the "Remove" button next to any site to unblock it
- Navigate to a website you want to block
- Click the SecureTab icon
- Click "Block This Site" in the popup
- Set Password: Enter a new password and confirm it
- Change Password: Enter current password, then new password and confirm it
- Remove Password: Enter current password to verify before removing protection
When you try to access a blocked website:
- A password prompt will appear
- Enter your password
- Click "Unlock" to proceed
- The site will be temporarily unlocked for 30 minutes
- Use "Go Back" to return to the previous page
Note: After entering the correct password, the site remains unlocked for 30 minutes. You can manage unlock sessions in the settings page.
- Enable/Disable: Toggle website blocking on/off (password required to disable from options/popup)
- Password Management: Set, change, or remove your password
- Blocked Sites: Add or remove websites from the block list
- Unlock Sessions: View and manage temporarily unlocked sites
- Backup & Restore: Export settings to a file or import from a backup
The extension accepts various URL formats:
- Full URLs:
https://example.com - Domains:
example.com - Subdomains:
sub.example.com
- Password Hashing: Uses SHA-256 with salt for password storage
- Secure Storage: All data stored in browser's local storage
- No Plain Text: Passwords are never stored in plain text
- Salt Generation: Unique salt for each password
SecureTab/
βββ manifest.json # Extension manifest
βββ background.js # Background service worker
βββ content.js # Content script
βββ password-prompt.html # Password prompt page
βββ password-prompt.css # Password prompt styles
βββ options.html # Settings page
βββ options.css # Settings page styles
βββ options.js # Settings page logic
βββ popup.html # Extension popup
βββ popup.css # Popup styles
βββ popup.js # Popup logic
βββ icons/ # Extension icons
β βββ icon.svg # Source SVG icon
β βββ icon16.png # 16x16 icon
β βββ icon32.png # 32x32 icon
β βββ icon48.png # 48x48 icon
β βββ icon128.png # 128x128 icon
βββ generate-icons.js # Icon generation script
βββ README.md # This file
- Web Request Interception: Uses Chrome's
webRequestAPI to intercept navigation - Domain Matching: Checks if the requested URL matches any blocked domains
- Password Prompt: Redirects to a custom password prompt page
- Password Verification: Hashes the entered password and compares with stored hash
- Access Control: Only allows access if the password is correct
- State Synchronization: Automatically syncs extension state between browser management and internal settings
- Incognito Mode: May not work in incognito/private browsing mode
- Browser Extensions: Cannot block access to browser extension pages
- Local Files: Cannot block access to local files (
file://URLs) - Browser Settings: Cannot block access to browser settings pages
- Check if the extension is enabled in browser settings
- Verify that website blocking is enabled in the extension settings
- Ensure you have set a password
- Check the browser console for any error messages
- Make sure you're entering the correct password
- Try resetting the password in the settings
- Check if the password was set correctly
- Verify the site is in your blocked list
- Check the URL format (try both with and without
https://) - Ensure the extension is enabled
- Try refreshing the page
To update the extension:
- Download the latest version
- Remove the old extension from your browser
- Load the new version as an unpacked extension
- Your settings will be preserved in browser storage
This project is open source and available under the MIT License.
Contributions are welcome! Please feel free to submit a Pull Request.
SecureTab is production-ready for Chrome Web Store and Microsoft Edge Add-ons Store submission.
npm run build:prodThis creates:
- Production-ready extension in
dist/ - ZIP archive for store upload
- Store assets and documentation
- Store Listing: See
STORE_LISTING.mdfor detailed description - Privacy Policy: See
PRIVACY.mdfor privacy information - Submission Guide: See
SUBMISSION_GUIDE.mdfor step-by-step instructions
β
Privacy policy compliant with GDPR/CCPA
β
Professional store listing content
β
High-quality icons and assets
β
Proper permission justification
β
Security-focused design
β
Production-ready code quality
If you encounter any issues or have questions:
- Check the troubleshooting section above
- Review the browser console for error messages
- Create an issue in the project repository
Note: This extension is for personal use and productivity. Please respect website terms of service and use responsibly.