如何在 Chrome 扩展中监听 http 请求以及如何在 manifest.json 中设置它的权限

How to listen to http requests in a Chrome extension and how to set the permissions for it in manifest.json

我正在努力实现 waldalla to 的想法。

我了解如何在 Chrome 扩展程序中针对问题的面向服务器端进行编码,即发送 HTTP 请求和接收响应,但我不知道如何在面向客户端的端进行编码,即 在定义的端口上侦听 来自浏览器外部的 HTTP 请求

我已经阅读了 Chrome 的 Native Messaging API。但是,据我所知,它用于通过 stdin/stdout 进行通信,而不是通过 HTTP。

那么,如何在 Google Chrome 扩展中监听 HTTP 请求?以及如何在扩展程序的 manifest.json 文件中为此设置权限?

一个 Chrome 扩展无法*监听网络连接,至少是任意的。

* WebRTC 可能是个例外,但这对于代理标准 HTTP 不是很有用。

Native Messaging 确实是一种逃避 API 限制的方法,方法是在通过 STDIO 与扩展对话的本机配套应用程序中做任何您想做的事情。

[Extension] <-- STDIO --> [Native host] <-- anything, eg. HTTP --> [Client]

请注意,它不是任意的 STDIO,而是特定的基于 JSON 的本机主机协议。

另请注意,扩展程序需要生成本机主机应用程序的新副本;它无法连接到已经 运行 的一个。