DON’T PANIC

le blog de skoot.

[PIX] Nouvelle fonctionnalité en test (redirecteur de hotlinks)

Bon c’est le truc dont on parle dans les commentaire de l’article juste en dessous. En bref :

http://pix.nofrag.com/<l’URL d’une image sur un autre site>
redirigera vers l’URL de l’image stockée sur pix.

http://pix.nofrag.com/t/<l’URL d’une image sur un autre site >
et
http://pix.nofrag.com/tt/<l’URL d’une image sur un autre site >
redirigeront respectivement vers la vignette de taille 150 pixels et la vignette de taille 600 pixels de l’image.

Et enfin,
http://pix.nofrag.com/page/<l’URL d’une image sur un autre site >
redirigera vers la page web de pix affichant l’image.

Exemples :
http://pix.nofrag.com/http://www.nofrag.com/images/002ea9.jpg
http://pix.nofrag.com/t/http://www.nofrag.com/images/002ea9.jpg
http://pix.nofrag.com/page/http://www.nofrag.com/images/002ea9.jpg

Dites moi si ça marche pour vous…

Je sais pas encore si je vais l’annoncer sur la home de pix ou pas, parce que bon… c’est pratique mais ça fait mois de pubs vues. :)

14 commentaires pour “[PIX] Nouvelle fonctionnalité en test (redirecteur de hotlinks)”

  1. skoot dit :

    Contrairement à imgred, j’ai préféré faire des redirections (à base de header("Location:")) plutôt que de servir l’image directement.

    Ca ne devrait presque rien changer pour l’utilisateur final. Du moins j’espère, j’attend vos retours si y a un truc qui ne marche pas.

  2. AeN0 dit :

    Ca a l’air de marcher.

  3. Mysterius dit :

    C’est génial merci Skoot.

  4. Mathieu dit :

    "Contrairement à imgred, j’ai préféré faire des redirections"
    Donc les images ne sont pas stockées sur pix.nofrag.com ?

  5. r4z0r dit :

    Zip upload serait pas mal non plus

  6. pthc dit :

    @Mathieu
    Oh si, la redirection est juste effectuée vers l’url du fichier stocké sur pix.

    @skoot
    Ca a l’air de fonctionner correctement, cependant j’attends de voir la différence au niveau utilisation cpu si tout le monde utilisait ça au lieu de la méthode classique de pix. D’ailleurs ça marche comment ? url rewriting ou lecture de l’url demandée par l’index.php ?

    J’essaierais dès que j’aurais moins de boulot, de réfléchir à la possibilité de faire un tri ‘automatique’ comme par magie sans mettre plus de 300 enfants dans le même par repertoire, avec une simple preg d’url rewriting. Je pense avoir une idée, bien que j’ai un doute sur le fait que la puissance des expressions régulières soit suffisament poussée.

    Oh et pour la pub je viens seulement d’y penser, mais au moment ou l’image est ‘linkée’ pour la première fois (c’est à dire quand elle est téléchargée vers le serveur), tu pourrais redigirer non pas vers cette image, mais vers une page qui met une pub + affiche les codes forum et cie. Les fois suivante où l’image sera solicitée, le script donnera ton header(’location: …’);

  7. skoot dit :

    Mathieu: comme le dit pthc les images sont bien sur pix. Seulement là où ingred fourni l’image directement lorsqu’on la lui demande, moi je renvoie le navigateur vers l’endroit où l’image est réellement stockée. Ainsi, si la personne veut réutiliser l’URL qui est dans sa barre d’adresse, ce ne sera plus celle qui fait référence au site d’origine mais celle vers laquelle je l’ai renvoyé, et qui se trouve être que je vais chercher en statique (donc plus vite). De même, ça évite aux moteurs de recherches, proxy, et caches de navigateur d’indexer ces URLs, ils indexent la redirection à la place.

    r4z0r: Qu’est-ce que tu entends par Zip upload ?

    pthc: Il y a une regexp de plus dans index.php qui fait un include d’un nouveau script (proxy.php). Dans proxy.php, on va voir si l’URL est déjà en base de donnée, si elle n’y est pas on va chercher le fichier sur le serveur distant, si on le trouve on l’enregistre à la mode PIX, et on met en base le couple URL/hash MD5 (la nouvelle table ne contient que 3 champs : URL (avec un index unique), hash, et date).

    Donc à chaque appel d’une image de ce type, on a au minimum une requête SQL.

    Cela dit autant les problèmes de performance étaient critiques du temps ou pix était là pour bouffer la bande passante que nofrag n’utilisait pas, autant maintenant on a une machine dédiée juste pour pix. C’est certes pas une machine de course, mais c’est largement suffisant pour ce genre de chose. Et puis je ne crois pas que cette méthode devienne un jour favorite, ça suppose quand même un besoin bien spécifique : faire un hotlink d’une image qui se trouve sur un site, qui lui-même risque de souffrir du hotlink (ou les interdit). La plupart des images hébergées sur pix sont des images originales : screenshots, photos perso, bannières de sites, avatars de forum, etc. Il y a évidemment pas mal de cul, mais personne ne vas faire un site de cul en mettant des URL qui font référence à un autre site… c’est pas très commerçant.

    Et concernant ton idée de linker une image vers une page web (pour afficher les pubs), ça va surtout casser des tags img. :)

  8. djulz dit :

    R4z0r veut peut-etre dire que l’on puisse uploader un ensemble d’images zippées et qu’un link soit généré pour chacune des images. Si ce n’est pas le cas, autant pour moi :)

    Sinon très bon code que tu as pondu après avoir matté les sources :)

    Bonne continuation!

  9. Mathieu dit :

    Ouf, j’avais peur que ce ne soit qu’une simple redirection vers l’image originale. :p

  10. BalrogAlastor dit :

    Ca ne servirait à rien alors… ??

  11. booz dit :

    Si, à nourrir la barre d’adresse.

  12. r4z0r dit :

    C’est exact

  13. skoot dit :

    C’est un peu relou à coder pour un truc qui va servir 3 fois par an… pas tellement la partie dézip du truc, mais surtout la page affichant plusieurs résultats et autant d’URLs.

  14. r4z0r dit :

    J’utilise cette fonction très souvent sur un autre site, puis c’est bien plus facile quand on veut poster plusieurs images dans un seul message. Il y a plein des blogs qui utilise pix pour les images et je pense cette que fonction sera la bienvenue pour eux. Mais bon c’est à toi de voir….

Laisser un commentaire

Vous devez être connecté avec votre compte Wefrag pour publier un commentaire.