如何在Safari Content Blocker扩展程序中重定向请求

问题描述 投票:1回答:1

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

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

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

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

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

甚至在Safari / MacOS中也可能吗?我可以在chrome和firefox扩展中通过挂接onBeforeRequest挂钩来做到这一点。我向我的设备发出请求,如果设备说域不正确,那么我返回了{redirect_url: 'http://localhost:9000'},浏览器重定向了此请求。

safari safari-extension safari-app-extension
1个回答
0
投票

您可以尝试在内容脚本中拦截HTTP请求,然后根据请求将请求重定向到localhost。 post中提供了更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.