https://github.com/devidw/tabgod

execute any javascript on any chromium tabs - cross-tab parallel execution

https://github.com/devidw/tabgod

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.4%) to scientific vocabulary

Keywords

browser-extension chrome-devtools-extension chrome-extension devtool devtools devtools-extension extension-chrome tabs-management

Keywords from Contributors

harden
Last synced: 4 months ago · JSON representation

Repository

execute any javascript on any chromium tabs - cross-tab parallel execution

Basic Info
Statistics
  • Stars: 159
  • Watchers: 3
  • Forks: 9
  • Open Issues: 0
  • Releases: 0
Topics
browser-extension chrome-devtools-extension chrome-extension devtool devtools devtools-extension extension-chrome tabs-management
Created about 2 years ago · Last pushed about 2 years ago
Metadata Files
Readme License

readme.md



tabgod

execute any javascript on any chromium tabs

  • adds options page with tabgod() function

ts async function tabgod( tabFilterFunc: (tab: chrome.tabs.Tab, ...args: unknown[]) => boolean, exeFunc: (...args: unknown[]) => unknown, options?: { tabFilterArgs?: unknown[]; exeArgs?: unknown[]; evalAdd?: string; }, ): Promise<{ tabId: number; result: unknown }[]> { // }

examples

having chatgpt and pi talk to each other

https://github.com/devidw/tabgod/assets/68775926/d103bf67-5ed6-4e34-bb96-7b35d42f9d2d

searching same query on multiple search engines

usage

  1. open extensions options page
  2. open devtools console
  3. use provided tabgod() function
    1. choose execution targets by writing a filter function that will include/excluce tabs based on defined criteria
      • https://developer.chrome.com/docs/extensions/reference/api/tabs#type-Tab
    2. write any js to execute in world of targeted tabs

js tabgod( (tab) => tab.url.includes("example.org"), () => document.body.style.background = "pink", );

notes on first release

  • initial idea was to make tabgod function available in all devtools consoles for easy and direct access for developers right from every console
  • the implementation added tabgod to the global window object
  • however this introduced a serious security issue, since this has made the function available to websites also, allowing them to interact with other tabs, destroying the idea of secure tab origins
  • thanks to danielsmc pointing it out
  • this has been immediately addressed by moving the function only to the options page of the extension, and not accepting external connections in the service worker

Owner

  • Name: David Wolf
  • Login: devidw
  • Kind: user
  • Location: The Zone

// uncommenting

GitHub Events

Total
  • Watch event: 4
  • Fork event: 1
Last Year
  • Watch event: 4
  • Fork event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 12
  • Total Committers: 2
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.083
Past Year
  • Commits: 12
  • Committers: 2
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.083
Top Committers
Name Email Commits
David Wolf 6****w 11
Erjan K e****x@g****m 1

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 2
  • Total pull requests: 1
  • Average time to close issues: about 4 hours
  • Average time to close pull requests: about 4 hours
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 1.5
  • Average comments per pull request: 1.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 1
  • Average time to close issues: about 4 hours
  • Average time to close pull requests: about 4 hours
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 1.5
  • Average comments per pull request: 1.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • erjanmx (1)
  • danielsmc (1)
  • johncmunson (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

package.json npm
  • @types/chrome ^0.0.260 development
  • @types/node ^20.11.16 development
  • typescript ^5.3.3 development
pnpm-lock.yaml npm
  • @types chrome@0.0.260 development
  • @types filesystem@0.0.35 development
  • @types filewriter@0.0.33 development
  • @types har-format@1.2.15 development
  • @types node@20.11.16 development
  • typescript@5.3.3 development
  • undici-types@5.26.5 development