A Chrome extension for selecting multiple links via click-and-drag and performing bulk actions.
- Chrome Extension Manifest V3
- JavaScript
- Chrome Extension APIs
src/
background.js # Service worker (MV3)
content.js # Page injection logic
manifest.json # Extension manifest
offscreen.html # Offscreen document (clipboard)
offscreen.js
styles/
content.css # Selection overlay styles
ui/
popup/
popup.html
popup.css
popup.js
options/
options.html
options.css
options.js
assets/
icons/
fonts/
git clone https://github.com/DontPokeMe/linkslinger.git
cd linkslinger- Open
chrome://extensions - Enable Developer Mode
- Click Load unpacked
- Select the
src/directory
No build step required.
The extension runs directly from source in src/.
User configuration is stored in:
chrome.storage.localPrimary settings object:
settings.actions[]Each action defines:
- Activation key
- Mouse trigger
- Behavior (open tabs, new window, copy, etc.)
- Options (smart select, dedupe, filters)
- UI color
- Service worker (
background.js) handles action execution (open tabs, copy, bookmark, new window). - Content script (
content.js) handles DOM selection and overlay rendering only; it does not perform actions. - Communication is via
chrome.runtime.sendMessage/chrome.runtime.onMessage(content → background for "activate"; background broadcasts "update" to tabs when settings change).
Declared in manifest.json:
storagetabsbookmarksscriptingclipboardWriteoffscreencontextMenushost_permissions: <all_urls>
Ensure permissions remain minimal and justified.
- Fork the repo
- Create a feature branch
- Submit a pull request
All features should:
- Avoid breaking existing settings schema
- Include migration handling if settings structure changes
- Avoid introducing unnecessary permissions
Active and requested features are tracked in GitHub Issues.
- Privacy policy: PRIVACY.md — host this at a stable URL and set that URL in the store listing and Privacy tab.
- Zero external calls: LinkSlinger runs entirely locally in your browser. It never tracks what you do, never collects your data, and never makes external network requests.
- Store assets and listing: See docs/STORE_ASSETS.md and docs/STORE_LISTING.md for required images and suggested dashboard copy.
MIT License.