如何在 Chrome 21+ 中安装私人用户脚本?

如何在 Chrome 21+ 中安装私人用户脚本?

在 Chrome 20 及更早版本中,您只需.user.js在 Chrome 中打开任何文件,它就会提示您安装用户脚本。

然而,在 Chrome 21 及更高版本中,它会下载文件,并在顶部显示一条警告,提示“扩展程序、应用程序和用户脚本只能从 Chrome 网上应用店添加”。

截屏

“了解更多”链接指向http://support.google.com/chrome_webstore/bin/answer.py?hl=zh-CN&answer=2664769,但该页面没有提及任何有关用户脚本的内容,只提及.crx格式、应用程序和主题的扩展。

这部分听起来很有趣:

企业管理员:您可以指定允许直接通过以下方式安装扩展程序、应用和主题的 URL:政策ExtensionInstallSources

因此,我运行了以下命令,然后重新启动了 Chrome 和 Chrome Canary:

defaults write com.google.Chrome ExtensionInstallSources -array "https://gist.github.com/*"
defaults write com.google.Chrome.canary ExtensionInstallSources -array "https://gist.github.com/*"

遗憾的是,这些设置似乎只影响扩展、应用程序和主题(如文中所述),而不影响用户脚本。(我已经提交了错误要求该设置也影响用户脚本。)

关于如何在 Chrome 21+ 中安装私人用户脚本(我不想添加到 Chrome 网上应用店)有什么想法吗?

答案1

问题是 的gist.github.com原始 URL 会重定向到不同的域。因此,我们必须改用以下命令:

# Allow installing user scripts via GitHub or Userscripts.org
defaults write com.google.Chrome ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"
defaults write com.google.Chrome.canary ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"

这有效!


无论如何,这似乎是一个解决办法(感谢保罗·霍恩提示):

  1. 下载用户脚本。
  2. 打开chrome://chrome/extensions/
  3. 将用户脚本文件拖放到您在步骤2中打开的页面上。

答案2

使用以下方式启动 Chrome开关--enable-easy-off-store-extension-install

使用命令行开关 (来自 Chromium.org):

在 Windows 上:

  • 右键单击“Chrome”图标。
  • 选择属性
  • 在目标行的末尾,放置以下参数: --enable-easy-off-store-extension-install
  • 它看起来应该是这样的:chrome.exe --enable-easy-off-store-extension-install

在 OS X 上:

  • /Applications/Chromium.app/Contents/MacOS/Chromium --enable-easy-off-store-extension-install

  • 对于 Google Chrome,您需要转义空格,如下所示: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-easy-off-store-extension-install

在 Linux 上:

  • chromium-browser --enable-easy-off-store-extension-install

答案3

好吧,我花了几个小时才搞清楚。我猜 Google 工程师认为,只有我们知道如何耍花招并绕过他们的障碍,我们才有资格安装不受信任的扩展程序。

中的说明Mathias 的回答看起来非常适合 Mac OS X,但我使用 Linux。以下是我在 Linux 上所做的操作,以便更轻松地(Chrome-21 之前的风格)安装全部第三方扩展、应用程序和用户脚本从任何网站

  1. 创建策略目录(如果它尚不存在):

    sudo mkdir -p /etc/opt/chrome/policies/recommended/
    
  2. 创建策略文件:

    cd /etc/opt/chrome/policies/recommended/
    
    sudo tee easy_install_extensions.json <<EOF
    {
        "ExtensionInstallSources": ["<all_urls>"]
    }
    EOF
    
  3. 重启 Chrome。通过 完全退出程序menu -> Exit;不要只关闭当前窗口。


资料来源:

笔记:

  • <all_urls>(上面使用的)是根据URL 匹配文档. 很高兴知道。
  • 根据Linux 政策文档,目录/etc/opt/chrome/policies/{managed,recommended}/包含 JSON 策略文件。如果条目发生冲突,managed则覆盖recommended

相关内容