Как перенаправить запрос в расширении Safari Content Blocker - PullRequest
1 голос
/ 29 апреля 2020

Я создаю расширение приложения Safari, которое будет перенаправлять определенные запросы через локальный прокси.

Например, https://tracking-script.com/track/user/123 необходимо перенаправить http://localhost:9000

Единственная проблема, которую я делаю не знаю, какие домены плохие во время применения bootstrap. Мой пакет включает в себя: 1. Приложение MacOS для размещения расширения Safari и блокировщика контента 2. Расширение Safari, где я могу выполнять определенные действия 3. Блокировщик содержимого, который в основном дает правила для Safari во время приложения bootstrap https://www.infoq.com/articles/safari-content-blockers/

Можно ли динамически проверять запрос и перенаправлять его через заданный порт?

В моей локальной сети есть устройство, которое предоставляет мне эти правила. Поэтому, если страница запрашивает https://tracking-script.com/track/user/123, я сначала хочу проконсультироваться с моим устройством, работающим на localhost. Если в ответе устройства указано this domain is bad, я хочу, чтобы мой блокировщик контента перенаправил этот запрос на http://localhost:9000 вместо перехода на исходный URL.

Возможно ли это даже в Safari / MacOS? Я могу сделать это в расширениях chrome и firefox, подключив ловушку onBeforeRequest. Я отправляю запрос на свое устройство, и если устройство сообщает, что домен неисправен, я возвращаю {redirect_url: 'http://localhost:9000'}, и браузер перенаправляет этот запрос.

...