Mac上的伪造者/铬长期提示“接受传入的网络连接?”

时间:2019-02-06 00:44:37

标签: macos chromium firewall

我有一个使用puppeteer来测试网站的节点应用程序。直到我们更新到最新的puppeteer 1.12.2之前,我们都没有问题。

  1. 节点在计时器上启动人偶
  2. 每次启动时,系统都会询问:“您是否希望应用程序Chromium.app接受传入的网络连接”

在“安全性和隐私”设置的“防火墙”选项卡中,专门为Chromium设置了ACCEPT。 (而且我们也尝试过将其关闭)在这一点上似乎没有令人愉悦的MacOS。

关于如何使MacOS安静并识别/保留防火墙首选项的任何建议吗?

2 个答案:

答案 0 :(得分:2)

另一种选择是自签名证书,请按照此注释中的说明进行操作:

https://github.com/GoogleChrome/puppeteer/issues/4752#issuecomment-524086077

在此详细介绍如何打开证书创建者:https://support.apple.com/en-gb/guide/keychain-access/kyca2686/mac

然后在回购的根目录中运行:

sudo codesign -s MyCertificateName -f ./node_modules/puppeteer/.local-chromium/mac-674921/chrome-mac/Chromium.app --deep

答案 1 :(得分:0)

升级puppeteer和MacOS之后,我们遇到了同样的问题。我们必须采取的一种解决方案是通过指定executablePath来指示木偶使用我们自己的 Chrome 而不是捆绑的 chromium 。以下是我们如何指定打字稿的代码段。如果您使用香草JS,也是一样。

有时还不够,我们必须使headless选项 false 使其始终有效,这确实很烦人。

      /**
       * create a puppeteer 'Browser' object.
       */
      public static createBrowser(): Promise<Browser> {
        return puppeteer.launch({
          // ... other options
          headless: false,
          executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
        });
      }

希望它也对您有用。 :-)