[Tutoriel] Script bash pour trouver des proxys

Ici, on va retrouver les tutoriels sur le sujet du référencement et toutes les astuces pour les webmasters

Adsense

Adsense
 

[Tutoriel] Script bash pour trouver des proxys

Message non lupar mnttech » Mar 27 Mar 2012 14:53

Aujourd’hui on va inaugurer une nouvelle catégorie du blog (et oui encore une!). Il s’agit de la catégorie référencement. Et pour commencer on va parler de proxy, car comme chacun sait les proxys sont très importants en référencement. On les utilise à tous va pour spammer commenter les blogs avec des scripts bash ou php, pour faire du spam referrer et pour tout un tas d’autres choses…

Mais pour cette fois on va parler d’une technique un peu particulière pour trouver des proxys car on va s’appuyer sur le super outil de Lemoussel qui se trouve ici : Liste de proxys. Comme le titre l’indique on va utiliser un script bash pour faire une liste des proxys.

Et là vous vous dites : « mais il est trop bidon avec son script bash! J’te fais ça en 2 minutes à grands coups de lynx -source et de sed! » Et là je vous réponds : « Regarde mieux le lien que je viens de te lâcher et tu vas vite voir que tu vas avoir un gros problème avec ton lynx -source! ». Pour les incultes ;) , lynx -source permet d’obtenir la source d’une page.

En effet chaque proxy est indiqué dans une image il n’apparait donc pas dans la source de la page. C’est là que le script devient intéressant car il fait appel à l’OCR. Et pour faire de l’OCR en bash j’utilise un petit soft opensource, tesseract, conçu par HP et maintenu par google. Pour l’installer sur une debian, rien de plus simple :

Code: Tout sélectionner
# apt-get install tesseract-ocr


Par contre pour l’utilisation c’est déjà un peu plus chiant. Il faut que l’image soit en tiff et qu’elle soit en noir et blanc et en 8bits maxi. Autant vous dire que ça pose souvent problème quand on veut briser un captcha par exemple. Il faut donc faire appel à imagemagick pour convertir tout ça dans le format qui va bien. Il y a également quelques autres petites subtilités comme la tailles de l’image et la façon de virer les défaut inclus dans les captchas mais ce n’est pas l’objet de l’article.

Je vais donc vous envoyer directement le script en le bourrant de commentaire et je pense que ça fera l’affaire pour le comprendre. (Je vous préviens que j’ai écrit ça vite fait donc c’est pas optimisé du tout (et après relecture je confirme!), c’est juste pour le concept car finalement je m’en sers pas, je préfère ce bon vieux tor :) )

Code: Tout sélectionner
#! /bin/bash
#Script qui permet de relever les proxy sur le site http://www.insolite-du-geek.fr/seo/Proxy-find-list.php
#Création d'une boucle pour tester les proxys récupérer un par un
#Compteur pour la boucle
countProxy=1
#Nombre max de proxy qu'on veut récupérer
maxProxy=48
#Lancement de la boucle
while (( $countProxy < $maxProxy ))
do
    #Histoire que ça raconte un peu quelque chose
    echo "Numéro de la passe de recherche du proxy : "$countProxy
    #Regarder les sources de la page pour voir que chaque image est numéroté en partant de 1 à 50
    urlProxy=http://www.insolite-du-geek.fr/seo/images/proxies/proxy$countProxy.png
    #récupération de l'image contenant l'adresse du proxy. L'utilisation de curl au lieu de wget ou lynx n'a aucune utilité ici mais vu que je l'avais écris comme ça je le laisse
    curl --location --silent -O $urlProxy > /dev/null
    #Pareil ce sleep ne sert surement à rien mais il ne fait de mal à personne alors on le laisse
    sleep 2
    #Conversion de l'image png en tif de 8 bits et agrandissement de 200%. L'option monochrome permet de mettre en noir et blanc
    #Pour utiliser convert vous devez avoir installé imagemagick
    #On agrandit l'image car sinon tessercat n'arrive pas à lire
    convert -sample 200%x200% -monochrome -depth 8 proxy$countProxy.png proxy$countProxy.tif
    #Un sleep histoire d'attendre que la conversion soit terminée
    sleep 2
    #Lecture de l'image avec tesseract (j'ai l'option -l deu qui veut dire que je lis en allemand car j'ai installé cette langue mais chez vous ce sera pas forcement la bonne langue, je vous laisse faire un man tesseract)
    tesseract proxy$countProxy.tif proxy$countProxy -l deu > /dev/null
    #Attribution de la valeur du fichier à la variable proxy
    proxy=$(cat proxy$countProxy.txt)
    echo $proxy >> proxyList.txt
    #Suppression de tous les fichiers temporaires
    rm proxy$countProxy.png
    rm proxy$countProxy.tif
    rm proxy$countProxy.txt
    #Affichage du proxy trouvé
    echo Le proxy trouvé est le suivant : $proxy
    #Incrémentation de la variable countProxy pour faire avancer la boucle
    countProxy=$(($countProxy+1))
done


Maintenant, à vous d’utiliser ce script (ou pas) mais c’est surtout pour illustrer l’utilisation de tesseract dans un script bash. Je vous laisse imaginer ce que ça permet de faire en terme de captcha; quand on couple ça avec du curl on peut obtenir des résultats plutôt sympa.
N'hésitez pas à faire appel à nous pour de la maintenance informatique
Avatar de l’utilisateur
mnttech
Administrateur du site
 
Messages: 290
Inscription: Lun 10 Aoû 2009 15:45

Retourner vers Référencement et Webmaster

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité