Я пытаюсь создать обратный прокси, чтобы он работал как http://www.meowbify.com/, Это классная платформа, которая заменяет изображения анимацией кошек. Я пробовал «обратный прокси» Apache и nginx просто для обратного прокси одного существующего сайта, который работал нормально с такими сайтами, как www.bcc.co.uk, но не работал с edition.cnn.com/. (Я использовал обычный ReverseProxyPass в apache и proxy_pass в nginx). В apache я также использовал proxy_html_module, чтобы переписать ссылки.
Так как же http://www.meowbify.com/ работает? Я искал сайт mobifiy, который гласит:
Как это работает: Mobify.js использует технику, называемую адаптацией на стороне клиента, для ремикса HTML в браузере. Ремиксированный контент интерпретируется браузером так, как если бы сервер отправил его в первую очередь!
Тег Mobify.js запускает адаптацию и загружает файл Mobify.js, который ее выполняет. Тег активируется в браузерах iOS, Android и BlackBerry. По умолчанию файл Mobify.js загружается с сервера разработки.
Сервер разработки является частью Mobify Client, инструмента командной строки для создания проектов Mobify.js. Он динамически компилирует файл Mobify.js по запросу. Файл состоит из двух частей: API Mobify.js и адаптации для конкретного сайта.
Адаптации выражаются как серия операций с исходной DOM, DOM, созданной на основе исходного HTML страницы. Элементы HTML можно выбрать, а затем отобразить с помощью шаблона. Наконец, обработанный шаблон записывается в браузер.
Короче говоря, он использует некоторую магию css для отображения сайта, адаптированного для каждого браузера.
Я предполагаю, что уловка mewbifity заключается в манипулировании каталогами сайта (например, cat.'site'.meowbify.com /).
Так как я могу сделать что-то подобное?
Заранее спасибо, Гил
На самом деле Meowbify имеет открытый исходный код, так что вы можете взглянуть на код на github и при необходимости вдохновиться: https://github.com/mobify/meowbify
Он использует довольно простые средства кодирования желаемого URL-адреса: cat / cats для обозначения протокола http или https, затем исходное имя хоста, затем .meowbify.com, а затем путь и строку запроса, как они находятся в исходном URL-адресе.
После запроса желаемого документа он использует потоковый XML-анализатор в стиле SAX для поиска и перезаписи интересующих его тегов (в данном случае в основном src
атрибуты <img>
elements), а затем обслуживает полученный HTML.
<img>
тегиsrc
атрибут в каждом <img>
тег, с URL-адресами ваших изображенийЧто касается того, как именно сделать что-либо / все из вышеперечисленного, это будут вопросы по программированию для сообщества, которое поддерживает ваш предпочтительный язык.
Помните, что это не изменит всю сеть для ваших предполагаемых клиентов (жертв?), А только тех, кто указывает URL-адрес, для которого они хотят использовать прокси.