#!/usr/bin/perl
#
# Mon Jul  9 01:03:24 CEST 2001
# Envia sms usando naFFFFegalia pero atraves de bestial
#
# Version 0.1b Tue Apr 10 14:47:22 CEST 2001
# Aņadido servidor de enviasms.com 
#

# Mon Mar 19 00:40:35 CET 2001 A. Ramos <aramos@hispalinux.es>
# Envia sms usando el servidor de naFFegalia.o teleFFopolis
# Version 0.1a
#
#
# La agenda se encuentra en el home de casa usuario.
# Tiene de nombre .dabsmsrc y tiene que contener
# nombre=numero



# el que tiene 1 es el que vale 
#####################################################
$bestial="1";
$navegalia="0";
$enviasms="0";

$email="dAb\@rocks.com";

$path=`echo \$HOME`;
chomp($path);
$agenda = $path."/.dabsmsrc";

#####################################################

use IO::Socket;

	unless ( defined($ARGV[1]) ) {
		print "Usage: ";
		print "$0 <numero|nombre> <msg> [repeticiones]\n";
		exit 1;
	} else {
		$num=$ARGV[0];
		$msg=$ARGV[1];
		$rep=$ARGV[2];
	}


	unless ( $num =~ /\d{9}/ ) {
		open (AGENDA, "$agenda");
		while (<AGENDA>) {
			if ( /$num/ ) { 
			($trash,$num)=split(/=/); 
			chomp($num);
			} 
		}
	}

	unless ( defined($rep)) { $rep="1"; }

for ($x=1;$x <= $rep;$x++) {

	if ( $bestial == "1" ) { &bestial }
	if ( $navegalia == "1" ) { &nave }
	if ( $enviasms == "1" ) { &enviasms }

}
sub bestial {

	if ( length($msg) > "152" ) { 
		print length($msg);
		print "Error: Mensaje muy largo\n";
		exit 1;
	 }
	$server="213.97.18.187";
	$port="80";

	$socket	= IO::Socket::INET->new(PeerAddr => $server,
					PeerPort => $port,
					Proto	 => "tcp",
					Type	 => SOCK_STREAM)
		or die "No puedo conectar a $server : $@\n";

	print $socket "POST /sms/send.php HTTP/1.1\n";
	print $socket "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*\n";
	print $socket "Referer: http://www.bestial.org/sms/\n";
	print $socket "Accept-Language: es\n";
	print $socket "Content-Type: application/x-www-form-urlencoded\n";
	print $socket "Accept-Encoding: gzip, deflate\n";
	$cntlnt=length("num=$num&cnt=$cnt%2F130&msg=$msg")+3;
	print $socket "Content-Length: $cntlnt\n";
	print $socket "User-Agent: dAbSMS rulz v1.0\n";
	print $socket "Host: www.bestial.org\n\n";
	$cnt=length($num)+length($num);
	print $socket "num=$num&cnt=$cnt%2F130&msg=$msg\n\n\n\n";

	$answer = <$socket>;
		if ($answer =~ /OK/ ) {
			print "Ok, sms enviado: $x\n";
		} 

	close($socket);

}



sub nave {
	if ( length($msg) > "143" ) { 
		print length($msg);
		print "Error: Mensaje muy largo\n";
		exit 1;
	 }

	$a=length($msg)+34;
	$server="212.73.32.37";
	$port="80";


	$socket	= IO::Socket::INET->new(PeerAddr => $server,
					PeerPort => $port,
					Proto	 => "tcp",
					Type	 => SOCK_STREAM)
		or die "No puedo conectar a $server : $@\n";


	print $socket "POST /cgi-bin/cgi-nav HTTP/1.0\n";
	print $socket "Referer: http://www.navegalia.com/portal/ofiweb/sms/texto.htm\n";
	print $socket "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*\n";
	print $socket "Accept-Language: es\n";
	print $socket "Content-Type: application/x-www-form-urlencoded\n";
	print $socket "Accept-Encoding: gzip, deflate\n";
	print $socket "User-Agent: Links (0.95; Linux 2.2.18pre21 i686)\n";
	print $socket "Pragma: no-cache\n";
	print $socket "Host: teleav.airtelmovil.net\n";
	print $socket "Content-Length: $a\n\n";
	print $socket "tNumber=$num&nAddress=&mBody=$msg\n\n\n";

	@answer = <$socket>;
	foreach $linea (@answer) {
		if ($linea =~ /correctamente/ ) {
			print "Ok, sms enviado: $x\n";
		}

	}
		close ($socket);


}

sub enviasms {

if ( length($msg) > "143" ) { 
		print length($msg);
		print "Error: Mensaje muy largo\n";
		exit 1;
	 }

	$a=length($msg)+48;
	$server="www.enviasms.com";
	$port="80";


	$socket	= IO::Socket::INET->new(PeerAddr => $server,
					PeerPort => $port,
					Proto	 => "tcp",
					Type	 => SOCK_STREAM)
		or die "No puedo conectar a $server : $@\n";


	print $socket "POST /enviasms/gateway.php HTTP/1.1\n";
	print $socket "Host: www.enviasms.com\n";
	print $socket "User-Agent: Links (0.95; Linux 2.2.18pre21 i686)\n";
	print $socket "Accept: */*\n";
	print $socket "Accept-Charset: us-ascii, ISO-8859-1\n";
	print $socket "Connection: Keep-Alive\n";
	print $socket "Content-Type: application/x-www-form-urlencoded\n";
	print $socket "Content-Length: $a\n\n";
	print $socket "alias=$email&telefono=$num&mensaje=$msg\n\n\n\n";

	@answer = <$socket>;
	foreach $linea (@answer) {
		if ($linea =~ /correctamente/) {
			print "Ok, sms enviado: $x\n";
		}

		

	}
	
	close($socket);
}
exit 0;

