GitHub - devidw/tabgod: execute any javascript on any chromium tabs - cross-tab parallel execution
Extracto
execute any javascript on any chromium tabs - cross-tab parallel execution - devidw/tabgod
Contenido
tabgod
execute any javascript on any chromium tabs
- adds options page with
tabgod()function
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
demo.mp4
searching same query on multiple search engines
usage
- open extensions options page
- open devtools console
- use provided
tabgod()function- choose execution targets by writing a filter function that will include/excluce tabs based on defined criteria
- write any js to execute in world of targeted tabs
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
Fuente: GitHub
