gerunn
gerunn

Reputation: 1269

How to disable Google Chrome extension autoupdate

How do I disable Google Chrome extension autoupdate?

Upvotes: 58

Views: 71108

Answers (7)

gerunn
gerunn

Reputation: 1269

Disabling a concrete extension update

You can do this by editing the extension's manifest.json file:

  • On Windows: C:\Users\<USERNAME>\AppData\Local\Google\Chrome\User Data\Default\Extensions\<EXTENSION-ID>\<VERSION>\manifest.json (find out the extension's ID by enabling Developer Mode in the extension settings page)

  • On MacOS: Open /Users/USERNAME/Library/Application Support/Google/Chrome/Default/Extensions/EXTENSION-ID/VERSION/manifest.json in a text editor.

  • On Ubuntu for Chromium: ${HOME}/.config/chromium/Default/Preferences

In this file, set the "update_url" property to something invalid like "https://localhost" for example. For the given url, it makes auto-updating that extension as simply impossible.

Source: Google Product Form

Until 2017 ( https://issues.chromium.org/issues/40471118 ), you could also disable all Google Chrome extension updates:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update]
"AutoUpdateCheckPeriodMinutes"=dword:00000000
"UpdateDefault"=dword:00000000

Source: Making Google Chrome leave itself alone

Upvotes: 58

intika
intika

Reputation: 9762

Disabling update for a specific extension:

This can be achieved with the system policies, (more details here)

For Linux :

  • Get the installed extensions list (IDs), this can be found with ls -l ~/.config/google-chrome/Default/Extensions or chrome://extensions
  • Create the necessary directory if not present mkdir -p /etc/opt/chrome/policies/managed (with root)
  • Create the needed file policies file touch /etc/opt/chrome/policies/managed/google-chrome.json
  • Edit that file with the code bellow
  • open the page chrome://policy/ and reload the policies
{
  "ExtensionSettings": {
    "ghijklmnopabcdefghijklmnopabcdef": {
      "update_url": "https://127.0.0.1/update_url",
      "override_update_url": true
    },
    "YOUR-EXTENSION-ID-LIKE-THE-PREVIOUS-EXAMPLE": {
      "update_url": "https://127.0.0.1/update_url",
      "override_update_url": true
    }
  }
}

Note: this can not be applied widely to all extensions in a single rule and also for each newly installed extension the file need to be updated

Upvotes: 4

Igor
Igor

Reputation: 1737

Just (re)install the extension via Load unpacked.

Let's suppose "Roboform Password Manager" extension version 8.6.5.5 dropped some important functionality, so you want to keep version 8.6.2.2 installed.

  1. Go to chrome://extensions/
  2. Enable Developer mode

  3. Get the required version of the plugin:

    • If Chrome still got the version you need:

      • Utilize Pack extension button on the plugin details page.
      • Just copy the extension folder, e.g. C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\Extensions\pnlccmojcmeohlpggmfnbbiapkmbliob. The extension id is visible in the url bar, on the plugin details page, e.g. chrome://extensions/?id=pnlccmojcmeohlpggmfnbbiapkmbliob.
    • If the version you need was overwritten already:

      • Get appropriate ".crx" from some extensions archive
      • Look for ".crx" in "C:\Program Files\..." (applications/installers sometimes bundle original ".crx" versions, unaffected by any updates)
  4. Unzip (e.g. with 7-zip) your ".crx" (or paste the extension folder contents) to a non-temporary folder - you would have to keep those files in place until you uninstall the extension.

  5. Click Load unpacked, select that folder.

If you just drag&drop the ".crx" file, Chrome extension details would show Source=Chrome Web Store, and it would get updated as soon as you click Update extensions now. But for an unpacked extension, you get a special "Unpacked extension" overlay icon, Source=Unpacked extension and it won't get updated.

Just tested on Chrome 79.0.3945.88 (64-bit), Windows.

Now, Chrome shows "Disable developer mode extensions" popup on each startup. Personally, I just manually dismiss them each time. I do not re-start Chrome too often.

Upvotes: 3

0x384c0
0x384c0

Reputation: 2294

After updating Google Chrome to v60, no solution found on the Internet has helped me

So i just blocked IP addresses, used for updating, by doing following steps:

  • Opened Chrome with blank browser tab
  • Waited, until extension autoupdate begins, by looking on to network tab in Resource Monitor
  • Wrote out all the IP addresses with high download rate. My IP address list was:
    64.233.161.94
    64.233.161.102
    64.233.163.95
    74.125.238.132
    108.177.14.138
    173.194.73.132
    173.194.222.102
    216.58.209.110
    216.58.209.97
    173.194.222.99
    173.194.32.227
    173.194.113.172
    173.194.32.224
    195.216.237.77
    74.125.232.170
    143.215.130.61
    74.125.238.147
    173.194.122.137
    173.194.44.66
    173.194.44.67
    173.194.44.95
    173.194.122.136
    74.125.232.183
    74.125.232.171
  • Created outbound rule for chrome.exe in Windows Firewall and added listed IP addresses to blocklist

After I enabled this rule, chrome was unable to update my extensions.

Upvotes: 1

Aquarius Power
Aquarius Power

Reputation: 3985

this is a complementary answer to the accepted one https://stackoverflow.com/a/27657703/1422630 , allowing disable all at once on chromium

this is also only for linux (may be run on windows thru cygwin tho, not tested..)

this script will

  • backup the prefs file,
  • modify it,
  • if didnt succeed will output "FAILED"
  • show the differences using meld if installed
#!/bin/bash

set -ue

strPref="$HOME/.config/chromium/Default/Preferences"
cat "$strPref" |egrep "\"update_url[^,]*," -o |sort -u
read -p "existing unique urls above..." -n 1

strBkp="${strPref}.`date +"%Y%m%d%H%M%S"`.bkp"
if cp -v "$strPref" "$strBkp";then
  strUpdUrl="clients2.google.com/service/update2/crx" #change this if needed  #TODO should match any URL...
  sed -i -r "s@(update_url\":\"https{,1}://)(${strUpdUrl})@\1127.0.0.1@g" "$strPref"
  if grep "$strUpdUrl" "$strPref";then echo FAILED >&2;exit 1;fi

  cmdDiff=colordiff
  if which meld;then cmdDiff=meld;fi
  #$cmdDiff <(cat "$strPref" |egrep "\"update_url[^,]*," -o) <(cat "$strBkp" |egrep "\"update_url[^,]*," -o)
  $cmdDiff <(cat "$strPref" |sed -r 's@","@",\n"@g') <(cat "$strBkp" |sed -r 's@","@",\n"@g')
fi

tested on chromium: Version 63.0.3239.84 (Official Build) Built on Ubuntu , running on Ubuntu 16.04 (64-bit)

obs.: that script also works for google-chrome, just change the preferences file path

Upvotes: 2

James Shapiro
James Shapiro

Reputation: 6246

If the chrome extension is on Github (which many if not most of them are), you can simply:

(1.) clone the Github repo,

(2.) reset the head to the version that you want, and

(3.) enable Developer Mode at chrome://extensions/

(4.) select the "Load unpacked" option from chrome://extensions/, and then select the folder enclosing the source code for the extension.

I recently used this technique to downgrade my version of Reddit Link Opener, which no longer supports users who have opted out of using that site's redesign. This worked for me on MacOS, but should work on all platforms.

If the extension is loaded as an unpacked extension (in the manner described above), it will NOT auto-update to a newer version.

Upvotes: 7

Xichas
Xichas

Reputation: 39

Hi all those solitions for me have one disadvantage is that all extensions have no updates, I needed to stop only for one extension in this case and wanted al the other to keep making updates.

I think I found the solutuion for windows

Go to C:\Users\YOUR_NAME_HERE\AppData\Local\Google\Chrome\User Data\Default\Extensions\YOUR_FOLDER APP HERE\

In that folder app click in properties and select read only an aplly that to all subfolders and files... for now for me solved the problem !!!

Regards xichas

Upvotes: 3

Related Questions