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_reporting( E_ALL );
@set_time_limit( 0 );
ignore_user_abort( 1 );
// 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, $errstr, 10 ) ) {
die( "<br><br>- Imposible conectar con 'rs.internic.net'<br>" );
} else {
fputs( $id, "$dominio\r\n" );
while( !feof( $id ) ) {
$buffer = fgets( $id, 128 );
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])+1 )) {
for( $dominio[1]='a'; $dominio[1] <= 'z'; $dominio[1]=chr(ord($dominio[1])+1 )) {
for( $dominio[2]='a'; $dominio[2] <= 'z'; $dominio[2]=chr(ord($dominio[2])+1 )) {
for( $dominio[3]='a'; $dominio[3] <= 'z'; $dominio[3]=chr(ord($dominio[3])+1 )) {
if( file_exists( ABORT_SCRIPT ) ) {
@rmdir( ABORT_SCRIPT );
$dominio = $dominio_break;
break;
}
$cnt_mirados++;
if ( !esta_disponible( $dominio ) ) {
echo str_pad( $cnt_mirados, 6, "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.");
setlocale( LC_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_encontrados, 0, ',', '.') . "\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_encontrados, 0, ',', '.') . "<br>";
echo "<br><br><h1>- FIN -</h1><br>";
echo( "</pre><br>" );
echo( "</BODY>" );
echo( "</HTML>" );
//---------------------------------------------------------------------------------------------------
// end
?>