1

我正在构建一个 Safari 应用程序扩展,它将通过本地代理重定向某些请求。

例如https://tracking-script.com/track/user/123需要重定向http://localhost:9000

唯一的问题是我不知道在应用程序引导期间哪些域不好。我的捆绑包包括:1. 用于托管 Safari 扩展和内容阻止程序的 MacOS 应用程序 2. 我可以执行某些操作的 Safari 扩展程序 3. 内容阻止程序,它基本上在应用程序引导期间为 Safari 提供规则 https://www.infoq.com/articles/野生动物园内容拦截器/

是否可以动态检查请求并通过给定端口重定向它?

我的本地网络上有一个设备,它给了我这些规则。因此,如果一个页面请求https://tracking-script.com/track/user/123我首先想咨询我在 localhost 上运行的设备。如果设备的响应说this domain is bad我希望我的内容阻止程序将此请求重定向到http://localhost:9000而不是转到原始 URL。

这在 Safari/MacOS 中是否可行?我可以通过连接 onBeforeRequest 钩子在 chrome 和 firefox 扩展中做到这一点。我向我的设备发出请求,如果设备说域错误,那么我返回{redirect_url: 'http://localhost:9000'}并且浏览器重定向此请求。

4

1 回答 1

0

您可以尝试在内容脚本中拦截 HTTP 请求,然后将请求重定向到 localhost(如果有请求)。更多细节在这篇文章中给出。

于 2020-06-14T17:15:55.157 回答