Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/12/2005, 03:30
Shockly
 
Fecha de Ingreso: agosto-2005
Mensajes: 109
Antigüedad: 18 años, 7 meses
Puntos: 0
Dominios disponibles, Script y listados.

Hola,

Ayer, mientras estaba mirando la disponibilidad de un dominio se me ocurrió que no tenía que ser difícil generar un listado completo...
Dicho y hecho, este es el script.

Adelanto que,

- Dominios disponibles de 3 letras: 0
- Dominios disponibles de 4 letras: 108.320

Sacar los de 5 y siguientes... tal vez otro día.


Un saludo.


El script y los listados están en http://shockly.com/find_available_domains/

El script:
Código PHP:
<?php
/*
        http://shockly.com/find_available_domains/
    
        v1.0.0. 03/12/2005, one AT shockly DOT com
*/
//---------------------------------------------------------------------------------------------------
//  definiciones

    
error_reportingE_ALL );
    @
set_time_limit);
    
ignore_user_abort);

    
//  El script se aborta creando una CARPETA con este nombre:
    
define'ABORT_SCRIPT''ABORT_SCRIPT' );

//---------------------------------------------------------------------------------------------------
//  funciones

    
function esta_disponible$dominio ) {
        if( !
$id = @fsockopen"rs.internic.net"43$errno$errstr10 ) ) { 
            die( 
"<br><br>- Imposible conectar con 'rs.internic.net'<br>" );
        } else { 
            
fputs$id"$dominio\r\n" );
            while( !
feof$id ) ) { 
                
$buffer fgets$id128 ); 
                if( 
ereg"No match for \""$buffer ) ) { 
                    
fclose$id );
                    return 
true;
                } 
            } 
            
fclose($id);
        } 
        return 
false;
    }

//---------------------------------------------------------------------------------------------------
//  main


    
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\r\n";
    echo 
"<HTML>\r\n";
    echo 
" <HEAD>\r\n";
    echo 
"    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\r\n";
    echo 
"    <title>Find available domains</title>\r\n";
    echo 
"    <!-- no cache headers -->\r\n";
    echo 
"    <meta http-equiv=\"Pragma\" content=\"no-cache\">\r\n";
    echo 
"    <meta http-equiv=\"no-cache\">\r\n";
    echo 
"    <meta http-equiv=\"Expires\" content=\"-1\">\r\n";
    echo 
"    <meta http-equiv=\"Cache-Control\" content=\"no-store\">\r\n";
    echo 
"    <meta http-equiv=\"Cache-Control\" content=\"no-cache\">\r\n";
    echo 
"    <meta http-equiv=\"Cache-Control\" content=\"must-revalidate\">\r\n";
    echo 
"    <!-- end no cache headers -->\r\n";
    echo 
" </HEAD>\r\n";
    echo 
"<BODY \r\n";
    echo 
"    bgcolor=\"#D5D5D5\" \r\n";
    echo 
"    text=\"#000000\" \r\n";
    echo 
"    id=\"all\" \r\n";
    echo 
"    leftmargin=\"25\" \r\n";
    echo 
"    topmargin=\"25\" \r\n";
    echo 
"    marginwidth=\"25\" \r\n";
    echo 
"    marginheight=\"25\" \r\n";
    echo 
"    link=\"#000020\" \r\n";
    echo 
"    vlink=\"#000020\" \r\n";
    echo 
"    alink=\"#000020\">\r\n";
    echo 
"<center><h1>Find available domains</h1></center>\r\n";
    echo 
"<pre>\r\n";
    echo 
"<br>";
    
    echo 
"---   test   ---<br>";
    
$dominio "elpais.com";
    if( !
esta_disponible$dominio ) )
        echo 
" El dominio '$dominio' *NO* está disponible<br>";
    else
        echo 
" El dominio '$dominio' *SÍ* está disponible<br>";
    
$dominio "elpais123oOo000.com";
    if( !
esta_disponible$dominio ) )
        echo 
" El dominio '$dominio' *NO* está disponible<br>";
    else
        echo 
" El dominio '$dominio' *SÍ* está disponible<br>";
    echo 
"--- end test ---<br>";
    echo 
"<br>";


    
$letras "4";
    
$dominio "aaaa.com";
    
$dominio_break "zzzy.com";
    
    
    
$fn_log "disponibles_de_" $letras "_letras.txt";
    if( 
$fn_log != "" ) {
        
$f_id fopen$fn_log"w" );
        if( 
$f_id ) {
            
fwrite$f_id"\r\n\r\n" );
            
fwrite$f_id"- Dominios disponibles de $letras letras '.com'\r\n" );
            
fwrite$f_id"- v1.0.0. 03/12/2005, one AT shockly DOT com\r\n\r\n\r\n" );
        }
    }
    else
        
$f_id false;
    
$cnt_encontrados 0;
    
$cnt_mirados 0;
    
$t_start time();
    for( 
$dominio[0]='a'$dominio[0] <= 'z'$dominio[0]=chr(ord($dominio[0])+)) {
        for( 
$dominio[1]='a'$dominio[1] <= 'z'$dominio[1]=chr(ord($dominio[1])+)) {
            for( 
$dominio[2]='a'$dominio[2] <= 'z'$dominio[2]=chr(ord($dominio[2])+)) {
                for( 
$dominio[3]='a'$dominio[3] <= 'z'$dominio[3]=chr(ord($dominio[3])+)) {

                    if( 
file_existsABORT_SCRIPT ) ) {
                        @
rmdirABORT_SCRIPT );
                        
$dominio $dominio_break;
                        break;
                    }

                    
$cnt_mirados++;
                    
                    if ( !
esta_disponible$dominio ) ) {
                        echo 
str_pad$cnt_mirados6"0"STR_PAD_LEFT ) . "  $dominio<br>";
                        if( 
$cnt_mirados 0x00000100 ) {
                            @
ob_flush();
                            @
flush();
                        }
                    }
                    else {
                        if( 
$f_id )
                            
fwrite$f_id"$dominio\r\n" );
                        
$cnt_encontrados++;
                        echo 
"El dominio '$dominio' *SÍ* está disponible<br>";
                        @
ob_flush();
                        @
flush();
                    }
                    
                }
            }
        }
    }

    
$t_delta time() - $t_start;
    
$t_delta = (floor(($t_delta-(floor($t_delta/86400)*86400))/3600)." horas, "
    
.floor(($t_delta-(floor($t_delta/3600)*3600))/60)." minutos y "
    
.floor($t_delta-(floor($t_delta/60))*60)." segundos.");

    
setlocaleLC_TIME,"spanish" );
    
$str_fecha strftime"%A %d de %B de %Y - %H:%M:%S"time() );
    
    if( 
$f_id ) {
        
fwrite$f_id"\r\n\r\n" );
        
fwrite$f_id"- $str_fecha\r\n" );
        
fwrite$f_id"- La búsqueda duró: " $t_delta "\r\n" );
        
fwrite$f_id"\r\n" );
        
fwrite$f_id"- Dominios disponibles de $letras letras '.com': " number_format$cnt_encontrados0',''.') . "\r\n" );
        @
fclose$f_id );
    }
    
    echo
"<br><br>";
    echo
"- $str_fecha<br>";
    echo
"- La búsqueda duró: " $t_delta "<br>";
    echo
"<br>";
    echo
"- Dominios disponibles de $letras letras '.com': " number_format$cnt_encontrados0',''.') . "<br>";
    echo 
"<br><br><h1>- FIN -</h1><br>";
    echo( 
"</pre><br>" );
    echo( 
"</BODY>" );
    echo( 
"</HTML>" );
    
    
//---------------------------------------------------------------------------------------------------
//  end
?>