Назад | Перейти на главную страницу

Обратный прокси на всю WWW

Я пытаюсь создать обратный прокси, чтобы он работал как 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.

  1. Настройте веб-сайт с обработчиком, который принимает URL-адрес как часть строки запроса
  2. При каждом запросе на этот веб-сайт создавайте собственное веб-соединение с переданным URL-адресом.
  3. Очистите полученный HTML-код для <img> теги
  4. Заменить значение src атрибут в каждом <img> тег, с URL-адресами ваших изображений
  5. Подать замененный HTML-код в ответ на исходный запрос
  6. ????
  7. Прибыль.

Что касается того, как именно сделать что-либо / все из вышеперечисленного, это будут вопросы по программированию для сообщества, которое поддерживает ваш предпочтительный язык.

Помните, что это не изменит всю сеть для ваших предполагаемых клиентов (жертв?), А только тех, кто указывает URL-адрес, для которого они хотят использовать прокси.