Disponibilidad de dominios .CL en Perl

Hace tiempo que no escribo algún artículo, al parecer Twitter es más fácil para redactar ideas a la rápida.

Hoy quería registrar un dominio en NIC Chile, y me di cuenta que está por vencer, de hecho en un mes aproximadamente debería estar libre. Pero en realidad lo mas probable es que me olvide y no alcance a registrarlo cuando quede libre y otra persona me lo “gane”.

Por ésto es que decidí hacer un pequeño script que me ayudara a chequear de forma diaria (gracias a cron) si el dominio está disponible. La idea es que me envíe un e-mail una vez el susodicho esté libre, pero esa parte aún no la hago y tampoco es la idea hacerlo junto, o sea, unix style ;).

El script en cuestión lo publico a continuación, bajo la licencia GPLv3, que puedes encontrar en http://www.gnu.org/licenses/gpl.html. Si quieres hacer uso comercial, contacta conmigo 😉

#!/usr/bin/perl
#
# Check if .CL domain is available or not.
# Author: Jaime Oyarzun K. joyarzun {at} inf dot utfsm dot cl
# Date: 20100418
# License: GPLv3
#
# usage: ./whoisCL.pl [.cl]
#
# Output:
# 0 when domain is not available
# 1 when domain is available
#
# Crashes if connection cannot be established or no argument is given.
#

use IO::Socket;

$sock = new IO::Socket::INET (
  PeerAddr => 'whois.nic.cl',
  PeerPort => 43,
  Proto => 'tcp',
) or die "Connection error!";

if ($#ARGV<0) {
  die "Requires one argument: "
};

$domain = $ARGV[0];

print $sock "$domain\n";

$exists = 1;

while ($line = <$sock>) {
  chomp($line);
  if ($line =~ m/no existe/) {
    $exists = 0;
    print "1\n";
  }
}

if ($exists) {
  print "0\n";
}

close($sock);

Espero que a alguien le sirva, quedo atento a los comentarios. Saludos!

Mito.

Saturday, April 17th, 2010 How-To's, Internet, Linux

Leave a Reply