Skip to content

vkkodali/OpenHere

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenHere

A tiny, privacy-friendly browser extension for Firefox and Chrome.

Hold Ctrl + Shift (or Cmd + Shift on a Mac) and click any link to open it in the same tab — even when the link is coded to open in a new tab or window (for example target="_blank", rel="noopener", or JavaScript that calls window.open).

Why

Some sites force links to open in a new tab. When you'd rather stay in the current tab, OpenHere gives you a consistent shortcut to override that behavior on demand, without changing any other browsing.

How it works

OpenHere injects a small content script that listens for clicks in the capture phase. When you click a link with the activating modifiers held, it:

  1. Prevents the default navigation and the browser's own "open in new tab" shortcut.
  2. Stops the page's own click handlers from running (so site scripts can't override it).
  3. Navigates the current tab to the link's URL.

Links without a real destination (empty, #, pure fragments, or javascript:) are left untouched.

Permissions & privacy

  • No special permissions beyond the content script needed to run on pages.
  • No background script, no network requests, no analytics, no data collection.
  • Everything runs locally in your browser.

Install for development

Chrome / Chromium / Edge

  1. Open chrome://extensions.
  2. Enable Developer mode (top-right).
  3. Click Load unpacked and select this project folder.

Firefox

  1. Open about:debugging#/runtime/this-firefox.
  2. Click Load Temporary Add-on….
  3. Select the manifest.json file in this project folder.

Temporary add-ons are removed when Firefox restarts. For a permanent install, use a signed build from addons.mozilla.org.

Build for the stores

Install the dev tooling once:

npm install

Lint the extension:

npm run lint

Create a Firefox/AMO package (.zip in web-ext-artifacts/):

npm run build:firefox

Create a Chrome Web Store package (.zip in web-ext-artifacts/):

npm run build:chrome

Submitting

  • addons.mozilla.org: Upload the web-ext-artifacts/openhere-*.zip build. The Firefox add-on ID and minimum version live in browser_specific_settings.gecko in manifest.json.
  • Chrome Web Store: Upload the web-ext-artifacts/openhere-chrome-*.zip build via the Developer Dashboard.

Project structure

manifest.json          # Manifest V3 config (Chrome + Firefox)
src/content.js         # The click interceptor
icons/                 # Extension icons (16/32/48/128) + SVG source
scripts/build-chrome.js# Chrome packaging helper

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors