Reverse proxy sur l'set de la WWW

J'essaie de créer un proxy inverse pour travailler comme http://www.meowbify.com/ , c'est une plate-forme cool qui remplace les images par des animations de chats. J'ai essayé Apache et nginx "proxy inverse" juste pour inverser le proxy d'un site existant, qui fonctionnait bien avec des sites comme www.bcc.co.uk mais n'a pas fonctionné avec edition.cnn.com/. (J'utilisais le ReverseProxyPass régulier dans apache et proxy_pass dans nginx). Dans Apache, j'ai également utilisé le proxy_html_module, afin de réécrire les liens.

Alors, comment fonctionne http://www.meowbify.com/ ? J'ai cherché sur le site mobifiy qui déclare:

Comment cela fonctionne: Mobify.js utilise une technique appelée adaptation côté client pour remixer le HTML dans le browser. Le contenu remixé est interprété par le browser comme si le server l'avait envoyé en premier lieu!

La balise Mobify.js amorce l'adaptation et charge le file Mobify.js, qui l'exécute. La balise s'active dans les browsers iOS, Android et BlackBerry. Par défaut, le file Mobify.js est chargé à partir du server de développement.

Le server de développement fait partie du Mobify Client, un outil de command line pour la construction de projets Mobify.js. Il comstack dynamicment le file Mobify.js par request. Le file contient deux parties, l'API Mobify.js et les adaptations spécifiques au site.

Les adaptations sont exprimées sous la forme d'une série d'opérations sur le DOM source, le DOM construit à partir du HTML original de la page. Les éléments HTML peuvent être sélectionnés, puis rendus avec un model. Enfin, le model rendu est écrit sur le browser.

Pour rendre la longue histoire courte, elle utilise de la magie css pour afficher le site adapté à chaque browser.

Je suppose que le truc de la méfiance est la manipulation des directorys du site (c.-à-d. Cat.'site'.meowbify.com /).

Alors, comment puis-je faire quelque chose de similaire?

Merci d'avance, Guyl

  1. Configurez un site Web avec un gestionnaire qui accepte une URL dans le cadre d'une string de requête
  2. Sur chaque request sur ce site, créez votre propre connection Web à l'URL passée
  3. Récoltez le HTML résultant pour les balises <img>
  4. Remplacez la valeur de l'atsortingbut src dans chaque marque <img> , avec les URL de vos propres images
  5. Servez le HTML remplacé en réponse à la request initiale
  6. ????
  7. Profit.

En ce qui concerne exactement comment faire tout / ci-dessus, ceux-ci seraient des questions de programmation pour la communauté qui prend en charge votre langue préférée.

Rappelez-vous que cela ne changera pas le Web entier pour vos clients (victimes?) Uniquement ceux qui spécifient l'URL qu'ils veulent transmettre.

Meowbify est en fait open source, donc vous pouvez regarder le code sur github et vous inspirer comme il se doit: https://github.com/mobify/meowbify

Il utilise un moyen assez simple de coder l'URL souhaitée: cat / cats pour désigner le protocole http ou https, puis le nom d'hôte original, puis .meowbify.com, puis le path d'access et la string de requête tels qu'ils se trouvent dans l'URL d'origine.

Après avoir demandé le document souhaité, il utilise un parsingur XML en mode SAX pour find et réécrire les balises intéressées (dans ce cas, principalement les attributes src éléments <img> , puis sert le HTML résultant.