#!/usr/bin/perl # # ITESM Free Printing # Escrito por Trew # - http://trew.icenetx.net # # ¿Por qué pagas por algo que podría ser gratis? # Imprime lo que quieras en cualquier campus del Tec de Monterrey. ## # El archivo que mandes debe estar en formato postscript. # Ejemplo de uso: $ ./itesm_printing.pl 8 archivo.ps #### use Net::FTP; if (@ARGV<2) { print q(Uso: ./itesm_printing.pl Printers' ID: Cafeteria - 7 Aulas224 - 8 CyberBN(1-3) - 32-34 CyberColor - 36 SalaMaestros - 22 Profesional - 19 Other - 0 ); exit; } print q(>> ITESM free printing script >> Discovered and written by Trew ); ## Variables - Aquí modifica el IP de las impresoras y el nombre de los directorios de impresión. my $id = @ARGV[0]; my $ip = "10.32.9." . $id; # En la mayoría de las impresoras el directorio de impresión es PORT1 # en algunas el directorio es lp1, hice este IF rapidamente para que el programa # sepa que directorio usar dependiendo de la impresora. my $dir = ($id==32 || $id==33 || $id==34 || $id==19)? "lp1" : "PORT1"; my $file = @ARGV[1]; # En caso de que se quiera imprimir en otra impresora... if (!$id) { print "\nPrinter IP Adress: "; $ip = ; chop($ip); print "Printing directory: "; $dir = ; chop($dir); } print "\n[+] Connecting...\n"; $printer = Net::FTP->new($ip) or die "[-] Cannot reach IP: $@"; print "[+] Trying to login...\n"; $printer->login("ftp","") or die "[-] Couldn't login: ", $printer-message; $printer->binary or die "[-] Couldn't set binary method: ", $printer-message; $printer->cwd($dir) or die "[-] Couldn't change to printing dir: ",$printer-message; print "[+] Everythin ok!!!\n"; print "[+] Sending file...\n"; $printer->put($file) or die "[-] Couldn't send file: ",$printer-message; print "[+] File sent... should be printed already\n"; $printer->quit; print "[+] Done.\n",