Cross-browser domain research for Chrome, Edge, Firefox, Safari, and Chromium-based browsers. Built with WXT and TypeScript 7.
- Detects the current website's registrable domain.
- Extracts target domains from marketplace landers, including Afternic
/forsale/example.comURLs. - Shows RDAP/WHOIS registration details through an independent Cloudflare Worker at
ext.domaindetails.com. - Searches supported domain marketplaces on demand.
- Stores up to 20 changed lookup snapshots per domain locally and highlights observed changes.
- Opens prefilled DomainDetails results, marketplace, and monitoring pages with extension attribution.
- Presents a disclosed, default-on anonymous usage choice before sending the first event; it can be disabled before continuing or at any time. Analytics never include domains, source page URLs, page titles, marketplace names, or raw lookup data.
- Adds a context-menu lookup for selected text, links, and the current page.
Requirements: Node.js 22+ and npm 10+.
Copy .env.example to .env.local and set WXT_PUBLIC_POSTHOG_KEY to the Domain Details public PostHog project key. A missing key safely disables analytics in that build; it does not affect lookup features. The release workflow receives the value from the GitHub Actions WXT_PUBLIC_POSTHOG_KEY repository secret.
npm install
npm run dev
npm run dev:firefoxValidation:
npm run typecheck
npm test
npm run build:allBuild outputs are written to .output/. Create store archives with:
npm run zip:allThe Chrome archive can also be submitted to Edge. Firefox receives a browser-specific MV3 package and source archive. Safari uses the checked-in Xcode wrapper, refreshed from the generated output:
npm run build:safari
xcrun safari-web-extension-packager \
--rebuild-project "$PWD/safari/Domain Details/Domain Details.xcodeproj" \
--copy-resources --no-open --no-prompt \
"$PWD/.output/safari-mv3"entrypoints/popup/: popup UI, browser-tab detection, feature orchestration.entrypoints/background.ts: installation lifecycle and context menu.lib/domain.ts: URL, public-suffix, and marketplace-lander extraction.lib/api.ts: first-party lookup and marketplace API clients.lib/history.ts: local snapshots and field-level diffs.lib/analytics.ts: consent-aware, allowlisted analytics sent through the first-party PostHog proxy.lib/links.ts: prefilled DomainDetails links and UTM attribution.
activeTab: read the current page URL after the user opens the extension.scripting: inspect basic metadata only when a marketplace URL does not contain the target domain.contextMenus: offer the explicit right-click lookup action.storage: store observed history and analytics preference locally.https://ext.domaindetails.com/*: perform requested RDAP/WHOIS lookups without depending on the core app.https://api.domaindetails.com/*: perform requested marketplace searches.https://f.domaindetails.com/*: send anonymous usage events when enabled.
No always-on content script or blanket all-sites host permission is used.
See PRIVACY.md and docs/STORE_SUBMISSION.md before publishing.