Мой коварный скрипт-перехватчик

Один сайт переехал, а ресурсы всё продолжали тянуться к старым адресам. я — далеко не хакер, но мне посчастливилось на днях написать JavaScript-прокси-скрипт, чтобы порешать эту проблему.

я перенаправила исходящие запросы на стороне клиента с помощью Service Worker-а. Сделала массив прокси-правил в формате: что есть (регулярное выражение) и на что заменить.

В Service Worker-е сделала обработчик события fetch, где подменила оригинальный адрес с помощью event.respondWith(). Чтобы ничего не поломалось, я скопировала заголовки и метод оригинального запроса.

Потом зарегистрировала Service Worker на странице, при этом решив проблему кэширования добавлением: - параметра ?v=${Date.now()} к имени файла; - заголовка Cache-Control: no-cache.

Поборола CORS-ограничения, отключив отправку учётных данных (credentials: ‘omit’) в режиме cors.

И, наконец, красненькие строчки пропали из вкладки Network. Ура!

#прикольнаяработа

Мой коварный скрипт-перехватчик | Сетка — социальная сеть от hh.ru