如何禁用Google Chrome扩展程序的自动更新

50

我该如何禁用Google Chrome扩展程序的自动更新?

7个回答

48

我找到的解决方案:

1. 禁用具体扩展程序的更新

这正是我想要的!

您可以通过编辑扩展程序的manifest.json文件来实现:

  • 在Windows上: C:\Users\<USERNAME>\AppData\Local\Google\Chrome\User Data\Default\Extensions\<EXTENSION-ID>\<VERSION>\manifest.json (通过在扩展设置页面启用开发者模式来查找扩展程序的ID)

  • 在MacOS上: 在文本编辑器中打开/Users/USERNAME/Library/Application Support/Google/Chrome/Default/Extensions/EXTENSION-ID/VERSION/manifest.json

  • 对于Chromium上的Ubuntu:${HOME}/.config/chromium/Default/Preferences

在该文件中,将"update_url"属性设置为类似于"https://localhost"这样无效的内容。 对于给定的URL,使得自动更新该扩展程序变得不可能。

来源:https://productforums.google.com/d/msg/chrome/l3zOZeO-5-M/Y7VaR0KCWNIJ

2. 禁用所有Google Chrome扩展程序的更新

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

来源:让Google Chrome保持不变


2
我在这个文件中没有看到任何 "update_url" 属性。 - Tomer
2
对于Chrome浏览器,文件路径为.config/google-chrome/Default/Preferences - Aquarius Power
2
为了一次性禁用所有内容,当Chromium停止时,我执行了以下操作:sed -r 's@(.*update_url。*)(clients2.google.com/service/update2/crx)(.*)@\ 127.0.0.1\3 @'~/.config/chromium/默认/首选项| grep update_url(缺少-i sed选项是有意的,以便您可以在应用之前备份所有内容并检查它)。 - Aquarius Power
2
在MacOS 10.12.1和Chrome 54.0.2840.98上,我发现偏好设置文件位于:HD/Users/$Username/Library/Application Support/Google/Chrome/Default/Preferences。 - gerbz
13
不确定是否有其他人注意到了... 但是你的“解决方案2”已经不存在了:“此网站无法访问。 chrome://plugins/ 的网页可能暂时无法访问,或者它可能已永久移动到新的 Web 地址。” 显然,谷歌(现在也包括 Mozilla)正在与用户作战。 唯一剩下的合理选择是不使用扩展程序,并且不使用 Chrome 和 Firefox,直到有人再次发明了网络浏览器。(一款不会故意使用户容易受到伤害和攻击的浏览器。) - 7vujy0f0hy
显示剩余5条评论

5
如果Chrome扩展程序在Github上(许多扩展程序都是如此),那么您可以简单地执行以下操作:
(1.) 克隆Github存储库,
(2.) 将头重置为所需版本,然后
(3.) 在chrome://extensions/中启用开发者模式,
(4.) 从chrome://extensions/选择“加载已解压的扩展程序”选项,然后选择包含扩展程序源代码的文件夹。
我最近使用了这种方法来降级我的Reddit Link Opener版本,因为该版本不再支持选择退出使用该站点的重新设计的用户。这对我在MacOS上有效,但应该适用于所有平台。
如果扩展程序以未打包的扩展程序形式加载(按照上述方式),它将不会自动更新到新版本。

1
使用分叉的The Great Suspender(在GitHub上)对我没有起作用 - Chrome仍然自动更新它。 - Gal Grünfeld

3

禁用特定扩展程序的更新:

可以通过系统策略来实现(详细信息在此处)。

对于Linux:

  • 获取已安装的扩展程序列表(ID),可以使用ls -l ~/.config/google-chrome/Default/Extensionschrome://extensions找到。
  • 如未出现,需要创建必要的目录mkdir -p /etc/opt/chrome/policies/managed(具有root权限)。
  • 创建所需的策略文件touch /etc/opt/chrome/policies/managed/google-chrome.json
  • 使用下面的代码编辑该文件。
  • 打开页面chrome://policy/并重新加载策略。
{
  "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
    }
  }
}

注意:这不能广泛地适用于所有扩展的单个规则,对于每个新安装的扩展,需要更新文件。

对于Windows和macOS用户,请参阅https://support.google.com/chrome/a/answer/187202了解策略路径和进一步的说明。 - Arnie97

2

大家好,对于我来说,所有的解决方案都有一个缺点,就是所有扩展程序都没有更新。在这种情况下,我需要停止一个扩展程序,而希望其他所有扩展程序继续进行更新。

我想我找到了Windows的解决方案:

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

在该文件夹中,单击属性并选择只读,并将其应用于所有子文件夹和文件... 对我来说,现在问题已经解决!!!

问候 xichas


不错的选择,但我已经拒绝了在那里创建和删除文件和文件夹的权限。 - igor
我尝试了这种方法,但是(例如Google Cast)扩展程序仍然被删除了。 - Skip R

2

只需通过 加载已解压的扩展程序 重新安装扩展程序。

假设 "Roboform Password Manager" 扩展程序版本 8.6.5.5 删除了一些重要功能,因此您想保留安装版本为 8.6.2.2 的扩展程序。

  1. 打开 chrome://extensions/
  2. 启用 开发者模式

  3. 获取所需的插件版本:

    • 如果Chrome仍有您需要的版本:

      • 利用 插件详细信息页面上的 打包扩展程序 按钮。
      • 只需复制 扩展程序文件夹,例如 C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\Extensions\pnlccmojcmeohlpggmfnbbiapkmbliob。扩展程序ID可在url栏中看到,在插件详细信息页面上,例如 chrome://extensions/?id=pnlccmojcmeohlpggmfnbbiapkmbliob
    • 如果您需要的版本已被覆盖:

      • 从一些扩展程序存档中获取适当的 ".crx"。
      • 在 "C:\Program Files\..." 中查找 ".crx"(应用程序/安装程序有时会捆绑原始 ".crx" 版本,不受任何更新影响)
  4. 解压缩(例如使用7-zip)您的 ".crx"(或粘贴扩展程序文件夹内容)到非临时文件夹中 - 您必须将这些文件保留在原地,直到卸载扩展程序。

  5. 单击 加载已解压的扩展程序,选择该文件夹。

如果您只是将“.crx”文件拖放,Chrome扩展程序详细信息将显示Source=Chrome Web Store,并且只需单击立即更新扩展程序即可更新。但对于未打包的扩展程序,您会得到一个特殊的“未打包的扩展程序”覆盖图标,Source=Unpacked extension,它不会得到更新。
在Windows上测试了Chrome 79.0.3945.88(64位),现在,Chrome在每次启动时都会显示“禁用开发者模式扩展程序”弹出窗口。个人而言,我每次都手动关闭它们。我不经常重新启动Chrome。

对我来说没有用,它们仍然自动更新。在Chromium 71.0.3578.98,Ubuntu中进行了测试。 - Alejandro Garcia
1
@AlejandroGarcia,抱歉让您久等了。但是在我的Chrome 89.0.4389.90上仍能正常工作。在您的情况下,是否至少显示了“未打包的扩展”覆盖图标呢? - Igor
是的,更新后那个图标消失了。 - Alejandro Garcia
1
@AlejandroGarcia,有没有可能你在某个时候离开了“开发者模式”?答案[1](https://stackoverflow.com/a/49949657/1032586)和[2](https://dev59.com/tV8e5IYBdhLWcg3wHnks#26058672)似乎确认未打包的扩展程序通常不会自动更新(只能从相同的本地文件夹重新加载)。他们还提到了“固定扩展ID”的情况(但如果您正在使用它,您应该比我更了解其影响)。抱歉,我不确定更多细节。 - Igor
奇怪..我又做了一遍,现在它们不再更新了,看来你的答案仍然有效! - Alejandro Garcia

1

在将Google Chrome更新到v60后,我在互联网上找不到任何解决方案

所以我只是通过以下步骤阻止了用于更新的IP地址:

  • 使用空白浏览器标签打开Chrome
  • 等待扩展自动更新开始,在Resource Monitor中查看网络选项卡
  • 列出所有下载速度高的IP地址。我的IP地址列表如下:
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
  • 在Windows防火墙中创建chrome.exe的出站规则,并将列出的IP地址添加到阻止列表中

启用此规则后,Chrome无法更新我的扩展程序。


1
这是对已接受答案https://dev59.com/u14c5IYBdhLWcg3wsb7I#27657703补充回答,可在Chromium上一次性禁用所有内容。
这也仅适用于Linux(虽然可以通过Cygwin在Windows上运行,但未经过测试..)。
此脚本将:
  • 备份首选项文件,
  • 修改它,
  • 如果失败,则输出“FAILED”
  • 使用meld显示差异(如果已安装)
#!/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

在Chromium上测试通过:版本号为63.0.3239.84(官方版本),构建于Ubuntu系统,运行在Ubuntu 16.04(64位)上。

注意:该脚本同样适用于Google Chrome,只需更改偏好设置文件路径即可。


我发现这对Chromium也非常有用。 - kf06925

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接