>> |
No.20223
Файл: Inou Battle wa Nichijou-kei no Naka de.png -(1034 KB, 1280x720, Inou Battle wa Nichijou-kei no Naka de.png)
Какой инструментарий наиболее удобен для подмены скриптов, то есть для того, чтобы разглядеть, как поведёт себя некий сайт в том случае, если один-два файла скриптов его заменить другими (например, новыми) версиями?
Администратор сайта может для этой цели завести два сервера (условно говоря, staging и production). Но допустим, что инструментарий нужен не администратору, а автору¹ нового скрипта.
Ещё для этой цели можно поставить себе прокси-сервер, который станет перехватывать запрос к старым скриптам и подменять его на запрос нового скрипта. Однако, во-первых, это внебраузерное решение проблемы морально устарело (оно «родом из девяностых»), во-вторых, автор сайта может² заставить браузер воспротивиться такой подмене, в-третьих, относительно много возни (и прокси ставить, и браузер на него перенастраивать) сравнительно с тем случаем, когда готовое решение ставилось бы прямо во браузер в качестве расширения.
Однако, когда я начал погугливать расширения браузеров, подменою скриптов занимающиеся, то стали попадаться такие рецепты, сложность которых находится на грани неадекватности.
Вот, для наглядности, пример одного такого: поставьте, дескать, расширение «HTTPS Anywhere», если оно ещё не стоит (у меня стоит), затем зайдите в настройки расширений во браузере (about:addons в Firefox или chrome://extensions в Chrome и Chromium), оттуда в настройки HTTPS Anywhere и мягко жмякните мышою чуть ниже заголовка General Settings и затем нажмите на клавиатуре тайное сочетание клавиш Ctrl+Z (sic!!), и только тогда откроется специальное окошко для вписывания правил подмены адресов, а правила эти составляются на XML-подобном языке (так что, например, «&» надо всюду на «&» заменять).
Есть чё попроще?
Могут ли, скажем, идейные наследники Greasemonkey (например, Violentmonkey) заниматься подменою скриптов во браузере на лету, и каков рецепт этого?
________
¹ Предположим, что я хочу проверить, как начнёт вести себя 410чан в том случае, когда скрипт http://410chan.org/lib/javascript/protoaculous-compressed.js будет подменён расположенным по адресу https://code.jquery.com/jquery-3.3.1.min.js скриптом, а скрипт http://410chan.org/lib/javascript/kusaba.js подменён будет расположенным в реплике >>20215 скриптом (который для проверки, так уж и быть, можно в Интернет положить куда-нибудь). Полностью проверить это мне не удастся в любом случае (так как определённая часть джаваскрипта предназначена работать только у модератора, например), но частично — почему бъ и нѣтъ.
² Чтобы предотвратить подмену скрипта вне браузера, автору сайта достаточно в теге «script» поставить параметр «integrity» и вписать туда хэш настоящего скрипта.
|