
Simple Suspender av VehpuS
Suspend / unsuspend a tab, with minimal privacy concerns by design
Du behöver Firefox för att kunna använda den här tillägget
Metadata för tillägg
Skärmbilder

Om detta tillägg
A cross-browser extension to suspend inactive / unused tabs by "hiding" them behind a static, generic browser error page. Basically to suspend https://moshe-gr.com, it will be redirected to http://localhost:0/#https://www.moshe-gr.com (try it ;) ).
If you want to install the extension from source code (to ensure no possible abuse) - follow the instructions in the Github repo: https://github.com/VehpuS/simple-cross-browser-suspender.
If you want to install the extension from source code (to ensure no possible abuse) - follow the instructions in the Github repo: https://github.com/VehpuS/simple-cross-browser-suspender.
Utvecklarens kommentarer
Betygsätt din upplevelse
Stöd denna utvecklare
Utvecklaren av det här tillägget frågar att du kan hjälpa till att stödja den fortsatta utvecklingen genom att göra ett litet bidrag.
Mer information
- Länkar för tillägg
- Version
- 1.0
- Storlek
- 40,41 kB
- Senast uppdaterad
- för 4 år sedan (24 jul 2021)
- Relaterade kategorier
- Licens
- MIT-licens
- Versionshistorik
Lägg till i samling
Fler tillägg av VehpuS
- Det finns inga betyg än
- Det finns inga betyg än
- Det finns inga betyg än
- Det finns inga betyg än
- Det finns inga betyg än
- Det finns inga betyg än
==========
My own TL;DR
--------------------
The great suspender was an extension that would automatically replace an open tab with a static, low memory page that would redirect back to the original on demand or after a set idle time. After a change of ownership, it was abused to contain malware, and therefore removed by Google.
Looking to avoid another extension by an unknown developer (who can always change), I opted to find a safer solution. I believe I have found it and want to share it in a way that can let others use / replicate it for their own benefit, at the level of knowledge and safety they require.
Additional resources
------------------------------
The great suspender (RIP): https://www.zdnet.com/article/google-kills-the-great-suspender-heres-what-you-should-do-next/
In much more detail: https://github.com/greatsuspender/thegreatsuspender/issues/1263
Why is this solution safer
=====================
No static page - cannot be abused without changing the logic in a noticeable way.
Hash parameter - not sent to a server by the browser, by design.
https://stackoverflow.com/questions/15238391/hash-params-vs-url-params-when-to-use-which
I decided to use localhost:0 as a "host" to keep things local, and on a port that shouldn't conflict with other services / local servers.
See why here: https://www.lifewire.com/port-0-in-tcp-and-udp-818145
Simple code base - easy to fork, install manually, and if necessary - replicate.
The core of the script boils down to:
const suspendPrefix = "https://localhost:0/#";
const toggleSuspendUrl = (pageUrl) =>
pageUrl.startsWith(suspendPrefix)
? pageUrl.replace(suspendPrefix, "")
: `${suspendPrefix}${pageUrl}`;
if (browser) {
browser.browserAction.onClicked.addListener((tab) => {
browser.tabs.update(tab.id, { url: toggleSuspendUrl(tab.url) });
});
}
The API I'm using doesn't require running Javascript code on the web page in the tab - just to get a page's URL. This makes the abuse potential minimal, and is reflected in the extensions limited permissions.
Advanced features, if/when added, will be "opt in" via a separate installation (on stores if / when I upload them) and branch (or possibly repository) - to always provide a stable, simple, and secure base version.
Known issues
===========
Cannot unsuspend internal pages in Firefox, due to the following issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1269456