/thegreatsuspender-notrack

A chrome extension for suspending all tabs to free up memory, privacy-oriented with no analytics tracking.

Primary LanguageJavaScriptGNU General Public License v2.0GPL-2.0

The Great Suspender - Without Analytics Tracking

PLEASE NOTE: If you are switching to this extension from a different version of TheGreatSuspender, first export your tabs from the plugin settings window then, after updating, re-import your suspended tabs. Alternatively unsuspend (or bookmark) your existing suspended tabs before upgrading - you can find "unsuspend all tabs" by clicking on the extension icon in the top right corner of Chrome

Import/Export Instructions: https://i.imgur.com/jgr0qEd.png

Modified version of "The Great Suspender" to remove analytics tracking and rogue .js files from anonymous developer who is now in control of the GitHub source & web store versions.

Read more:

New ownership announcement

New maintainer is probably malicious

Flagged as malware by Microsoft Edge

Reddit forum discussion

Medium Article

This project is a fork from v7.1.8 of The Great Suspender with all tracking code removed, along with some annoying popups/prompts.

This work carries no guarantees only to the best of my ability in 2 hours using notepad2 & AstroGrep. I am not a developer and do not intend to spend much time keeping this extension updated.

"The Great Suspender" is a free and open-source Google Chrome extension for people who find that chrome is consuming too much system resource or suffer from frequent chrome crashing. Once installed and enabled, this extension will automatically suspend tabs that have not been used for a while, freeing up memory and cpu that the tab was consuming.

If you have suggestions or problems using the extension, please submit a pull request.

If you have lost tabs from your browser: The original developer has written a guide for how to recover your lost tabs here.

Chrome Web Store

This version of The Great Suspender is not available on the Chrome Web Store.

You should install this extension from source

  1. Download the latest available version and unarchive to your preferred location (whichever suits you).
  2. Using Google Chrome browser, navigate to chrome://extensions/ and enable "Developer mode" in the upper right corner.

image

  1. Click on "Load Unpacked" in top-left corner and select the src FOLDER from extracted data > click Open Folder (Or you can try drag & drop the src folder in to your chrome://extensions window)

image

  1. Confirm The Great Suspender now appears in chrome://extensions AND in your chrome://policy

If you have completed the above steps, the "welcome" page will open indicating successful installation of the extension.

Be sure to unsuspend all suspended tabs before removing any other version of the extension or they will disappear forever!

Enterprise/Windows Domain installation of extension .crx via Group Policy

  1. Get extension .crx following steps above or download from releases
  2. Install Chrome admx/adml templates from Google on a domain controller
  3. Create new file Update.xml on network filestore or similar, and enable read permissions for all relevent domain users/groups
  4. Populate Update.xml with code below
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
  <app appid='EXTENSION_ID'>
    <updatecheck codebase='file://SERVER/SHARE/EXTENSIONS/thegreatsuspender-7.1.9-notrack.crx' version='7.1.9' />
  </app>
</gupdate>
  1. Modify Update.xml with correct values:
  • app appid= you can find in chrome://extensions
  • codebase= leads to extension .crx file. (SMB/network shared folder works fine) Use forward slash not back slashes!
  • version= should be extension version shown in chrome://extensions
  1. Open Group Policy Editor (gpedit.msc) on a domain controller.
  2. Use either Computer or User policies, locate and enable the policy Configure the list of force-installed apps and extensions
  • Located at Policies/Administrative Templates/Google/Google Chrome/Extensions/
  1. Add the following (UNC path works well) to enforce automatic installation: App IDs and update URLs to be force installed:
  • EXTENSION_ID;\\SERVER\SHARE\PATH\TO\Update.xml
  1. Run gpupdate.exe on client machines after adjusting Group Policy enforcement & permissions
  2. Once installed, if you update the extension & update.xml, but Chrome does not install the new extension version, try disabling the specific Group Policy, run gpupdate on clients then re-enable the policy & run gpupdate again. This appears to be a Chrome issue.

Build from github (untested in this release)

Dependencies: openssl, npm.

Clone the repository and run these commands:

npm install
npm run generate-key
npm run build

It should say:

Done, without errors.

The extension in crx format will be inside the build/crx/ directory. You can drag it into [extensions] (chrome://extensions) to install locally.

Integrating with another Chrome extension or app

The old extension had a small external api to allow other extensions to request the suspension of a tab. See this issue for more information.

Windows Group Policies / Windows Registry configuration values

Since extension version 7.1.8 it is possible to set the configuration using the system registy, which can be applied via group policies on Microsoft Windows. More Info

The whitelist consists of a list of domains seperated by a space character, do not include http:// or https:// Here's an example: domain1.com www.domain2.com sub.domain3.com

Configuration stored in registry can be either HKCU or HKLM at \Software\Policies\Google\Chrome\3rdparty\extensions\EXTENSION_ID\policy

Replace the EXTENSION_ID with the correct value

  • To enable function (true) use REG_DWORD set to 1
  • To disable function (false) use REG_DWORD set to 0
  • When using REG_SZ "quotes" are not required

The following settings can be defined:

  • SCREEN_CAPTURE (string, default: '0')
  • SCREEN_CAPTURE_FORCE (boolean, default: false)
  • SUSPEND_IN_PLACE_OF_DISCARD (boolean, default: false)
  • DISCARD_IN_PLACE_OF_SUSPEND (boolean, default: false)
  • USE_ALT_SCREEN_CAPTURE_LIB (boolean, default: false)
  • DISCARD_AFTER_SUSPEND (boolean, default: false)
  • IGNORE_WHEN_OFFLINE (boolean, default: false)
  • IGNORE_WHEN_CHARGING (boolean, default: false)
  • UNSUSPEND_ON_FOCUS (boolean, default: false)
  • IGNORE_PINNED (boolean, default: true)
  • IGNORE_FORMS (boolean, default: true)
  • IGNORE_AUDIO (boolean, default: true)
  • IGNORE_ACTIVE_TABS (boolean, default: true)
  • IGNORE_CACHE (boolean, default: false)
  • ADD_CONTEXT (boolean, default: true)
  • SYNC_SETTINGS (boolean, default: true)
  • ENABLE_CLEAN_SCREENCAPS (boolean, default: false)
  • SUSPEND_TIME (string (minutes), default: '60')
  • NO_NAG (boolean, default: false)
  • WHITELIST (string (one URL per line), default: '')
  • THEME (string, default: 'light')

Step by Step:

Note that config changes don't seem to apply until Chrome is restarted, sometimes requires closing/re-opening chrome for a second time

  1. Copy the extension ID from chrome://extensions
  2. Create required registry keys (pick either HKLM or HKCU) obviously add your own extension ID, at: \Software\Policies\Google\Chrome\3rdparty\extensions\EXTENSION_ID\policy
  • Use REG_SZ for string config values
  • Use REG_DWORD for boolean config (1 for true, 0 for false)
  • Use REG_SZ for WHITELIST, split each domain with a space char. Extension doesn't care for www. but do not include http/s:// domain1.com domain2.com www.domain3.com whatever.you.want.com
  1. Restart Chrome at least once, if not twice
  2. Go to chrome://policy and click "Reload policies" in top left, you should see your configuration listed Config Example

Contributing to this extension

Contributions are very welcome. Feel free to submit pull requests for new features and bug fixes. For new features, ideally you would raise an issue for the proposed change first so that we can discuss ideas. This will go a long way to ensuring your pull request is accepted.

License

This work is licensed under a GNU GENERAL PUBLIC LICENSE (v2)

Shoutouts

This package uses the html2canvas library written by Niklas von Hertzen. It also uses the indexedDb wrapper db.js written by Aaron Powell. Thank you also to BrowserStack for providing free chrome testing tools. Original source from The Great Suspender v7.1.8