我正在构建一个 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'}
并且浏览器重定向此请求。