comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

PROXYgetter

  • 5 Respuestas
  • 2622 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Xt3mP

  • *
  • Underc0der
  • Mensajes: 432
  • Actividad:
    0%
  • Reputación 0
  • Ellos me están buscando, pero yo los encontraré.
    • MSN Messenger - Xt3mP@h4x0rz.us
    • AOL Instant Messenger - Xt3mP@h4x0rz.us
    • Yahoo Instant Messenger - Xt3mP@h4x0rz.us
    • Ver Perfil
    • Xt3mP
« en: Abril 16, 2012, 04:02:31 am »
PROXYgetter es una herramienta en PHP la cual fue inspirada en la herramienta de Dedalo en python, es decir, el mecanismo es diferente pero la idea principal fue tomada de dicho script.


Actualmente consta de dos páginas donde obtengo los proxys:
  • proxys.com.ar
  • xroxy.com

Funcionamiento
El mecanismo es sumamente fácil; mediante expresiones regulares obtengo una lista de proxys a los cuales mediante sockets compruebo el tiempo de conexión para solo mostrar los que el usuario requiera ya que tiene un sistema de personalización.

  • Max. pages (1-5): Se puede ingresar un número del 1 al 5 tomando de referencia que la página proxys.com.ar solo tiene 5 páginas.
  • Timeout: El tiempo máximo de espera.
  • Show all results: Sirve para mostrar resultados tanto positivos como negativos.
  • Stop processing if there’s X positive matches: Indicamos cuantos proxys correctos debe haber para detener la carga del script; 0 significa todos.

Código: PHP
  1. <?php
  2. /*
  3.  * Name: PROXYgetter
  4.  * Author: Xt3mP
  5.  * Contact: xt3mp[at]null[dot]net
  6.  * Bugs: xt3mp[at]null[dot]net
  7.  * Personal website: http://xt3mp.mx
  8.  * Website: http://backroot.org
  9.  * Version: 1.0 BETA
  10.  */
  11. ?>
  12. <!DOCTYPE html>
  13. <html>
  14. <head>
  15. <title>PROXYgetter v1.0 [Xt3mP]</title>
  16. <style type="text/css">body{background-color:#000;color:#FFF;font-family:"Courier New";font-size:14px}div#container{background-color:#151515;border:1px dashed #FFF;margin:0 auto;padding:5px;text-align:center;width:800px}input{font-family:"Courier New";text-align:center}h1{border-bottom:1px dashed #FFF;border-top:1px dashed #FFF;margin:0 0 5px;padding:0}p{border-top:1px dashed #FFF;margin:5px 0 0;padding:0}a{color:lime;text-decoration:none}a:hover{color:#FFF}.result{border-top:1px dashed #FFF}</style>
  17. </head>
  18. <body>
  19. <div id="container">
  20. <pre>
  21.  ______  ______  _______  ___ ___  ___ ___                __    __PROXYgetter v1.0
  22. |   __ \|   __ \|       ||   |   ||   |   |.-----..-----.|  |_ |  |_ .-----..----.
  23. |    __/|      <|   -   ||-     -| \     / |  _  ||  -__||   _||   _||  -__||   _|
  24. |___|   |___|__||_______||___|___|  |___|  |___  ||_____||____||____||_____||__|
  25.                                            |_____|             Powered By Xt3mP
  26.                                                              xt3mp[at]null[dot]net
  27. </pre>
  28.         <h1>Free proxys for you</h1>
  29.         <form action="" method="POST">
  30.                 For each page, the script tries to verify the connection of 50 proxys.<br />
  31.                 Max. pages (1-5): <input type="text" name="pages" value="5" size="1" maxlength="1"> -
  32.                 Timeout: <input type="text" name="timeout" value="1" size="1" maxlength="1"><br />
  33.                 Show all results: <select name="show"><option value="no">No</option><option value="yes">Yes</option></select><br />
  34.                 Stop processing if there's <input type="text" name="stop" value="0" size="2" maxlength="2"> positive matches<br />
  35.                 <font color="red">[0: All]</font><br />
  36.                 <input type="submit" name="get" value="Give me proxys for free!">
  37.         </form>
  38.         <?php
  39.         if(isset($_POST['get']))
  40.         {
  41.                 echo '<div class="result">';
  42.                 $proxyList = array();
  43.                 $pages = (!is_numeric($_POST['pages']) or $_POST['pages'] < 1 or $_POST['pages'] > 5) ? 5 : abs($_POST['pages']);
  44.                 $timeOut = (!is_numeric($_POST['timeout'])) ? 5 : abs($_POST['timeout']);
  45.                 $show = ($_POST['show'] != 'no' && $_POST['show'] != 'yes') ? 'yes' : $_POST['show'];
  46.                 $stop = ($_POST['stop'] == 0 or !is_numeric($_POST['stop']) or $_POST['stop'] > 50) ? 'all' : abs($_POST['stop']);
  47.                 $counter = 0;
  48.                 $quit = false;
  49.                 #This section of the code
  50.                #is for proxys.com.ar
  51.                for($i = 0; $i <= $pages; $i++)
  52.                 {
  53.                         if($quit)
  54.                         {
  55.                                 break;
  56.                         }else{
  57.                                 $web = ($i == 0) ? 'http://www.proxys.com.ar/' : 'http://www.proxys.com.ar/index.php?act=list&port=&type=&country=&page='.$i;
  58.                                 $webContent = @file_get_contents($web);
  59.                                 $_pattern1 = "/<tr class=\"cells\" onmouseover=\"this\.className='cells2'\" onmouseout=\"this\.className='cells'\">(.*?)<\/tr>/is";
  60.                                 $pregMatch = @preg_match_all($_pattern1, $webContent, $proxyData, PREG_SET_ORDER);
  61.                                 for($x = 0; $x<count($proxyData); $x++)
  62.                                 {
  63.                                         $_pattern2 = "/<td>(.*)<\/td>/i";
  64.                                         $pregMatch = @preg_match_all($_pattern2, $proxyData[$x][1], $proxyConnect, PREG_SET_ORDER);
  65.                                         $proxyIp = $proxyConnect[0][1];
  66.                                         $proxyPort = $proxyConnect[1][1];
  67.                                         $proxyCountry = $proxyConnect[3][1];
  68.                                         $proxyTarget = $proxyIp.':'.$proxyPort;
  69.                                         $fp = @fsockopen($proxyIp, $proxyPort, $errno, $errstr, $timeOut);
  70.                                         if($fp)
  71.                                         {
  72.                                                 if(!in_array($proxyTarget, $proxyList))
  73.                                                 {
  74.                                                         $counter++;
  75.                                                         array_push($proxyList, $proxyTarget);
  76.                                                         echo '<font color="lime">'.$proxyTarget.' > '.$proxyCountry.'</font><br />';
  77.                                                         if($counter == $stop)
  78.                                                         {
  79.                                                                 $quit = true;
  80.                                                                 break;
  81.                                                         }
  82.                                                 }
  83.                                         }elseif(!$fp && $show == 'yes'){
  84.                                                 echo '<font color="red">'.$proxyTarget.' > '.$proxyCountry.'</font><br />';
  85.                                         }
  86.                                 }
  87.                         }
  88.                 }
  89.                 #This section of the code
  90.                #is for xroxy.com
  91.                if(!$quit)
  92.                 {
  93.                         $latency = $timeOut * 1000;
  94.                         $web = 'http://www.xroxy.com/proxylist.php?port=&type=&ssl=&country=&latency='.$latency.'&reliability=#table';
  95.                         $webContent = @file_get_contents($web);
  96.                         $_pattern1 = "/<tr class='row[(1|0){1}]'>(.*?)<\/tr>/is";
  97.                         $pregMatch = @preg_match_all($_pattern1, $webContent, $proxyData, PREG_SET_ORDER);
  98.                         for($i=0; $i<count($proxyData); $i++)
  99.                         {
  100.                                 $_pattern2 = "/<td[( nowrap='nowrap'>|>)?](.*?)<\/td>/s";
  101.                                 $pregMatch = @preg_match_all($_pattern2, $proxyData[$i][1], $proxyConnect, PREG_SET_ORDER);
  102.                                 $proxyIp = @preg_replace("/\s/", '', $proxyConnect[1][1]);
  103.                                 $proxyPort = $proxyConnect[2][1];
  104.                                 $proxyCountry = str_replace("nowrap='nowrap'>", "", $proxyConnect[5][1]);
  105.                                 $proxyTarget = $proxyIp.':'.$proxyPort;
  106.                                 echo '<font color="lime">'.$proxyTarget.' > '.$proxyCountry.'</font><br />';
  107.  
  108.                         }
  109.                 }
  110.                 //echo count($proxyList).' matches.';
  111.                 echo '</div>';
  112.         }
  113.         ?>
  114.         <p>Coded by <a href="http://xt3mp.mx">Xt3mP</a> for <a href="http://backroot.org">backroot.org</a></p>
  115. </div>
  116. </body>
  117. </html>

Proof:

Nota: Los proxys devueltos fueron testeados en Mozilla, además, el script es un poco simple.

Saludos.
« Última modificación: Abril 16, 2012, 07:00:55 pm por Xt3mP »
Cada vez que me das Karma me motivas

Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    0%
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de
« Respuesta #1 en: Abril 16, 2012, 09:31:40 am »
Qué maquina
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« Respuesta #2 en: Abril 16, 2012, 01:22:40 pm »
y donde este el codigo de dedalo , porque lo estoy buscando y no lo encuentro.

Desconectado Xt3mP

  • *
  • Underc0der
  • Mensajes: 432
  • Actividad:
    0%
  • Reputación 0
  • Ellos me están buscando, pero yo los encontraré.
    • MSN Messenger - Xt3mP@h4x0rz.us
    • AOL Instant Messenger - Xt3mP@h4x0rz.us
    • Yahoo Instant Messenger - Xt3mP@h4x0rz.us
    • Ver Perfil
    • Xt3mP
« Respuesta #3 en: Abril 16, 2012, 05:52:22 pm »
Acá está el de Dedalo:
Código: Perl
  1. from urllib2 import Request, urlopen, URLError, HTTPError
  2. import urllib2, string, re
  3. def test(ip, puerto):
  4.         proxy = urllib2.ProxyHandler({"http" : ip+":"+puerto})
  5.         opener = urllib2.build_opener(proxy)
  6.         urllib2.install_opener(opener)
  7.         try:
  8.                 web=urllib2.urlopen("http://whatismyip.org/", timeout=3)
  9.                 print web.read()
  10.                 f=open("ip.txt", "a")
  11.                 f.write(ip+":"+puerto+"\n")
  12.         except Exception as e:
  13.                 print  str(e)
  14. def extractor():
  15.         a=urllib2.urlopen("http://www.cybersyndrome.net/pla5.html")
  16.         list= a.readlines()
  17.         cad=list[106]
  18.         cadena=cad.split("</li>")
  19.         for i in cadena:
  20.                
  21.                 inicio=i.find('">')
  22.                 fin=i.find('</a>')
  23.                 proxypuerto=i[inicio+2:fin]
  24.                 if proxypuerto!='/ol>':
  25.                         proxy=proxypuerto.split(":")
  26.                         ip=str(proxy[0])
  27.                         puerto=str(proxy[1])
  28.                         print "ip/url: "+str(ip)+"\n"
  29.                         print "puerto: "+str(puerto)+"\n"
  30.                         print "resultado: "
  31.                         test(ip, puerto)
  32.                         print "------------------------"
  33.        
  34. if __name__ == "__main__":  
  35.         print "PROXY FINDER By Dr.Neox And Dedalo for Backroot.org"
  36.         extractor()
  37.         anon()

Sólo que los lista sin comprobarlos, saludos.
Cada vez que me das Karma me motivas

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« Respuesta #4 en: Abril 16, 2012, 06:28:25 pm »
pero lo hizo en Python o hay otra version en Perl ?
Cuando tenga tiempo voy a hacer uno Perl donde compruebe 4 o 5 paginas para despues comprobarlos de uno en uno.

Las paginas que eh encontrado (aparte de las dos tuyas)  hasta ahora son estas

Código: [Seleccionar]
http://www.proxys.com.ar/index.php
http://www.xroxy.com/proxylist.php
http://spys.ru/en/free-proxy-list/1/
http://www.proxylist.net/
http://proxy-ip-list.com/free-usa-proxy-ip.html
http://proxies.my-proxy.com/proxy-list-4.html

Desconectado Xt3mP

  • *
  • Underc0der
  • Mensajes: 432
  • Actividad:
    0%
  • Reputación 0
  • Ellos me están buscando, pero yo los encontraré.
    • MSN Messenger - Xt3mP@h4x0rz.us
    • AOL Instant Messenger - Xt3mP@h4x0rz.us
    • Yahoo Instant Messenger - Xt3mP@h4x0rz.us
    • Ver Perfil
    • Xt3mP
« Respuesta #5 en: Abril 16, 2012, 07:40:02 pm »
Fue en python, me equivoqué; y sobre las páginas, en una oportunidad las actualizo. Gracias.
Cada vez que me das Karma me motivas

 

¿Te gustó el post? COMPARTILO!