A Chrome Extension that helps you edit URLs with ease.
URL Monster can help you edit URL:
- List scheme/host/port/path/queries/fragment of the current URL as separate components
- Create/edit/delete/decode/encode/copy components
- Rebuild the full URL and apply to current/new tab
This extension has been upgraded to Manifest V3, ensuring compatibility with the latest Chrome Extension standards and future-proofing the extension.
- ✅ Updated to
manifest_version: 3 - ✅ Migrated from
browser_actiontoaction - ✅ Converted background scripts to service worker
- ✅ Updated Content Security Policy format
- ✅ Integrated GA4 Measurement Protocol API
- ✅ Replaced deprecated APIs (clipboard, etc.)
- Node.js v10 or higher (tested with v23)
- npm
# Install dependencies
npm install --ignore-scripts
# Copy environment variables template
cp .env.example .env
# Edit .env and add your GA4 API Secret (optional)
# GA4_API_SECRET=your_api_secret_here
# Build the extension
npm run build- Open
chrome://extensions/in Chrome - Enable Developer mode
- Click Load unpacked
- Select the
dist/directory
This extension uses GA4 Measurement Protocol API for usage tracking.
-
Get API Secret:
- Go to Google Analytics
- Navigate to Admin > Data Streams > [Your Stream]
- Scroll to "Measurement Protocol API secrets"
- Create a new API secret
- Copy the secret
-
Configure Environment Variable:
# Edit .env file GA4_API_SECRET=your_api_secret_here -
Rebuild:
npm run build
-
Reload Extension:
- Go to
chrome://extensions/ - Click the reload button on URL Monster
- Go to
page_view: When popup is openedparse_error: When URL parsing failserror_type: 'furl' or 'comp'
Note: GA4 real-time reports may take 5-30 minutes to show data.
This project uses environment variables to protect sensitive API keys in the source code:
- API secrets are stored in
.env(git-ignored) .env.exampleprovides a template- Secrets are injected during build via webpack
Even with environment variables, the API Secret will be visible in the bundled JavaScript after building. Anyone who installs the extension can inspect the source code at chrome://extensions/.
Why this is acceptable for GA4:
- GA4 Measurement Protocol API Secret has limited risk
- It only allows sending analytics data, not accessing your account
- Worst case: someone sends fake data to your GA4 property
- Solution: Regenerate the API secret and publish an update
Best Practices:
- ✅ Use environment variables to protect source code
- ✅ Use a dedicated GA4 property for this extension
- ✅ Monitor for unusual analytics data
- ✅ Rotate API secrets periodically if needed
⚠️ Don't worry excessively - it's not a payment or authentication API
# Production build
npm run build
# Development build
npm run build:dev
# Watch mode
npm run watch
# Lint
npm run lint- Vue.js 2.x
- Vuex (state management)
- Webpack 4
- Sass/SCSS
- Babel
- version 3.0.0 - Manifest V3 upgrade, GA4 integration, modern tooling
- version 2.1.0 - fix query typing issue
- version 2.0.0 - remake with Vue.js
- version 1.1 - add viewport meta for mobile devices
- version 1.0 - initial version