Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 432fa562626c4ba0b9993cce7def9fa4 > files > 9

linuxsms-0.77-6mdv2010.0.noarch.rpm

# script en perl para enviar mensajes cortos
# a tfnos gsm (mas conocidos como sms 8-))
# URL: http://linuxsms.sourceforge.net
# email: thesumidero@yahoo.com

use Lang:Spanish_sucks;


### PRINCIPAL ###

Este es mi 2º script "decente" en Perl (el 1º fue bfl), creado en unas horas
de algunas tardes aburridas. Como no encontraba en linux un buen programa
para enviar sms, decidi crear mi propio script en Perl (por supuesto) 8-).
Seguramente el script contendra gran cantidad de fallos, errores
y mala programacion pero bueno, tened en cuenta que no soy un guru del Perl ;)


### USO ###

=> Linea de comandos larga y clasica (CMDLINE=0 en el archivo de configuracion)

Ejemplo usando la agenda (nombre:alex):
./linuxsms.pl -name:alex -server:navegalia -sms:"esto es el texto a enviar"

Ejemplo usando un numero (649111222):
./linuxsms.pl -number:649111222 -server:navegalia -sms:"esto es el texto a enviar"

Ejemplo usando un numero y un prefijo internacional (34 649111222):
./linuxsms.pl -prefix:34 -number:649111222 -server:icicampus -sms:"esto es el texto a enviar"

=> Linea de comandos corta (por defecto) y moderna (CMDLINE=1 en el archivo de configuracion)
ATENCION, esta caracteristica esta en pruebas y es algo inestable, si te da algun
problema, por favor usa la clasica. Tiene bastantes limitaciones con respecto a la
antigua, quizas la mas importante es que el mensaje no se puede leer desde la
entrada standard y que la opcion de usar el servidor por defecto del archivo de
configuracion no funciona. Las opciones extra (-z, -debug) tienen que ser usadas
como ultimos argumentos, porque los 3 primeros estan reservados.

Ejemplo usando la agenda (nombre:alex):
./linuxsms.pl alex navegalia "esto es el texto a enviar"

Ejemplo usando un numero (649111222):
./linuxsms.pl 649111222 navegalia "esto es el texto a enviar"

Ejemplo usando un numero y un prefijo internacional (34 649111222):
./linuxsms.pl 34 649111222 icicampus "esto es el texto a enviar"

Ejemplo usando la entrada standard
/usr/games/fortune | ./linuxsms 34 649111222 icicampus

Confuso / Necesitas mas ayuda / donde esta la pagina man 8-) ?
./linuxsms.pl -h


### Archivos de configuracion ###

En todos los archivos, las lineas que comiencen por un '#' son comentarios
y se ignoran de cara a la ejecucion del programa.
__ATENCION__ : TODOS LOS FICHEROS DEBEN TENER UNA LINEA EN BLANCO AL FINAL

============> Agenda ($HOME/.linuxsms/addressbook) <==================

La estructura es bastante sencilla como indican los ejemplos, en cada
linea debemos meter:

nombre:prefijo:numero:servidor_por_defecto
    
Se distinguen mayusculas de minusculas. Prefijo es el prefijo internacional:

minombre:34:641234567

El prefijo se puede omitir, por ejemplo:

minombre::641234567

(esto asumira el prefijo por defecto de la configuracion principal)

El servidor por defecto, si existe, sera el usado al para enviar los sms a esa
persona. Esta opcion solo sera ignorada si se indica un servidor desde la
linea de comandos.

=========> Cuentas / Passwords ($HOME/.linuxsms/password) <===========

Al igual que el anterior y del mismo modo que aparece en los ejemplos,
en cada linea debemos indicar:

nombre_del_servidor:alias:clave

Se distinguen mayusculas de minusculas, el nombre del servidor debe ser
uno de los que usa el programa y el alias/clave son evidentemente las
que registraste previamente en tu cuenta de la web del servidor.

=======> Configuracion general ($HOME/.linuxsms/linuxsmsrc) <=========

En este archivo la sintaxis es VARIABLE=VALOR, a continuacion una explicacion
de cada una:

LANG: puede tomar el valor de ES o EN, por ahora para lo unico que se usa
es para abreviar el sms con unos diccionarios.

MYNUMBER: nuestro numero de telefono, en algunos servidores es posible enviar
un numero de telefono remitente (no se incluye el prefijo internacional).

SERVER: es el servidor por defecto a usar si no le indicamos ninguno en la
linea de comandos. Debe existir soporte para dicho servidor en el programa.
Esta opcion sera ignorada en caso de que se indique un servidor en la linea
de comandos o que haya un servidor por defecto para esa entrada indicado en 
la agenda.

PREFIX: prefijo por defecto a usar en servidores internacionales, por ejemplo
si vas a enviar el sms a españa, indica aqui un 34

CMDLINE: puede valer 1 o 0. La antigua linea de comandos (0) era un poco mas
larga e incomoda, la nueva (1) nos evita teclear bastantes opciones.

ANSI: puede valer YES o NO, si lo activamos (YES) el script sacara la salida
por pantalla con colores ANSI (el terminal debe soportarlos).

SIGNATURE: esto trabaja en conjunto con el parametro -sig, si aqui indicamos por
ejemplo 'SIGNATURE= - mi firma', y al ejecutar añadimos -sig, lo que hara sera
añadir al final del sms la cadena ' - mi firma'.

ALWAYS_SIGNATURE: si ponemos esta opcion en YES, la firma de SIGNATURE se añadira
siempre al final.

SECURITY: por defecto es YES, si lo cambiamos a NO, podremos ejecutar el script
como root, pero atencion, esto puede causar un gran agujero de seguridad.

SERVER_LIST: por defecto es NORMAL, si lo cambiamos a FULL, en la lista de los
servidores nos dara mas informacion (donde registrarnos).

PROXY: puedes configurar aqui el host y puerto de tu proxy, por ejemplo:
    PROXY=miproxy.com:8080
NOTA!!!: el soporte de proxy es inestable y experimental, por ahora no existen
opciones avanzadas (autentificacion y otros).

LOG: por defecto es NO, cambiandolo a YES guarda un log de todos los sms que han
sido enviados con exito.
 
=========> Diccionario ($HOME/.linuxsms/dict) <===========

Se pueden añadir nuevas palabras escribiendo nuevas lineas con la siguiente
estructura:

palabra_a_buscar:palabra_para_reemplazo:

uno:1
por:x
menos:-
te:t

No se distinguen mayusculas de minusculas.


### FASQ: (Respuestas a Frecuentes Preguntas Estupidas) ###
...la mayoria, porque no has leido la jodida ayuda (-h)

+ Como puedo listar el contenido de la agenda ? 
- ./linuxsms -addressbook

+ Como puedo ver los servidores soportados ?
- ./linuxsms -server

+ Porque el script no funciona como root ?
- Porque no hacen falta privilegios de root para usar el script ;)
  ...ademas, has pensado la posibilidad de que haya incluido en el
  script una oscura opcion secreta megamalefica que haga un 'rm -rf /'
  ... seguro que la mayoria ni se molesta en leer el codigo fuente...

+ El script no envia sms con espacios en el texto!
  (ejemplo: -sms:esto es el texto a enviar)
- Has omitido las comillas ?, CLARO QUE SI, porque si hubieras leido
  la ayuda, sabrias que deberias escribirlo asi:
  -sms:"esto es el texto a enviar"

+ Existe alguna funcion para comprobar/actualizar el script a versiones
  mas modernas ?
- Por favor, ACOSTUMBRATE a leer la ayuda ;-) la opcion es '-update'                                 

+ Como creo una cuenta para los servidores de registro ?
- En la pagina del proveedor/servidor en el que quieras registrarte esta
  toda la informacion bien clara, asi que leela. Si no lo encuentras, vuelve
  a leer. Yo (el autor) me dedico a hacer scripts y no puedo enseñarte "como
  debes manejarte en Internet".

+ Que novedades o cambios hay en la version xxx del script ?
- Lee el archivo 'CHANGES'.


### FAQ: (Respuestas a Preguntas Frecuentes) ###

+ El script no funciona, da el error:
 "Perl v5.0.0 required--this is only vx.x.x, stopped at ..."
- Necesitas una version de Perl >= 5.0 

+ Donde esta el fichero de configuracion principal ?
- en $HOME/.linuxsms/ encontraras el fichero 'linuxsmsrc' 8-)
  ... en versiones anteriores a 0.32 era '.linuxsmsrc'

+ Donde esta el fichero que contiene la agenda ?
- en $HOME/.linuxsms/ encontraras el fichero 'addressbook' 8-)
  ... en versiones anteriores a 0.32 era '.addressbook'

+ Donde esta el fichero de passwords ?
- en $HOME/.linuxsms/ encontraras el fichero 'password' 8-)
  ... en versiones anteriores a 0.32 era '.password'
  
+ Tienes pensado añadir un entorno grafico mas amigable al script ?
- Igor Castang implemento una en Perl Tk ya hace tiempo, que funcionaba
  para las versiones < 0.3x. Recientemente Kali la ha modificado para
  que funcione con las ultimas versiones. Puedes obtenerla en la pagina
  principal (linuxsms.sourceforge.net). Yo (z0mbie) no programo ni
  mantengo esta GUI, por tanto y a no ser que sea para colaborar en ella
  por vuestra cuenta como hicieron sus autores, por favor no me pregunteis
  por nuevas versiones o cualquier otra cosa relacionada con la GUI, ya
  que iran directamente a /dev/null ;)

+ Mi terminal no soporta codigos de color ANSI || tus colores son una mierda
- En el fichero de configuracion principal, cambia el valor de la linea:
  ANSI=YES por otro valor diferente (ejemplo: "ANSI=NUNCA") 8-)
  Por defecto y compatibilidad con terminales antiguos, el soporte de colores
  con codigos ANSI esta desactivado.

+ He encontrado un buen servidor gateway para enviar sms que no se encuentra
  en el script, puedes añadirlo ?
- Enviame un email con la direccion del servidor y vere lo que puedo hacer }:)

+ Puedes decirme el secreto o metodo que usas para añadir servidores ?
- No hay ningun secreto, generalmente cargo un sniffer, para capturar todos los
  paquetes, luego cargo mi navegador y voy a un servidor que ofrezca servicios
  de sms, envio un sms de prueba y cierro la conexion. Mas tarde examino el fichero
  de captura del sniffer para analizar los datos (formularios, cabeceras...)
  y finalmente intento reproducir en una rutina el mismo metodo. Si estas
  interesado, echa un vistazo en el script a la seccion de servidores.
  Frecuentemente tambien compruebo la lista de servidores del 'winsms' por si
  hay algun servidor nuevo interesante y rapido.

+ Puedes añadir la opcion 'xxxx' al script ?
- Puede que si, puede que no, enviame un email con tus sugerencias...

+ Como funciona el DEBUG ?
- Activalo con '-debug' y vuelca la STDERR por ejemplo a un archivo:
  linuxsms.pl -name:nombre -server:servidor -sms:"test" -debug 2> debug.txt
  El DEBUG sera grabado en el archivo debug.txt
  Desde la version v0.20 ha desparecido en el archivo de configuracion principal
  la variable que lo activaba (DEBUG=YES||NO), ya que resulta mas comodo hacerlo
  en la linea de comandos.

+ Como puedo añadir un simbolo de '&' o '!' en el sms ?, el shell me da el siguiente
  error al teclear ./linuxsms alex "vaya admiracion!":
  bash: !": event not found
- Añade el sms entre simbolos de comillas simples, por ejemplo:
  ./linuxsms alex 'un simbolo & y el de admiracion!'

+ Puedo enviar la salida de un comando a linuxsms ?
- Si, linuxsms puede leer el sms desde STDIN, solo haz lo siguiente:
   /usr/games/fortune | linuxsms numero servidor
   linuxsms numero servidor
   (escribe el sms y cuando acabes teclea Crtl+D)

+ Mas informacion, donde puedo hacer mis consultas, etc...
- Si no te llega con la documentacion puedes ponerte en contacto con el autor via
  email (thesumidero@yahoo.com). Asi mismo hay una lista de correo / foro donde
  puedes hacer tus consultas/sugerencias/comentarios, puedes leerla online desde web
  (http://groups.yahoo.com/group/linuxsms) o bien subscribirte y recibirla en tu 
  email (manda un mensaje a: linuxsms-subscribe@yahoogroups.com)

 
### CODIGOS DE SALIDA ###

Si estas pensando en llamar a este script desde otro y necesitas que te devuelva un
valor de salida (error?) al ejecutarse, aqui esta lo que buscas:

    0 - sms enviado correctamente
    1 - sms no enviado correctamente
    2 - sms no enviado correctamente (los webmasters han cambiado el metodo)


### SERVIDORES ###

Con registro (suelen ser los mas fiables): 

everyday   - 124 caracteres && 03 SMS / dia - solo España
             no soporta flash
	     registra la cuenta en http://www.everyday.com
	     solo puedes enviar sms si cuentas con puntos
	     para conseguir puntos usa la opcion -credits
	     (un maximo de 5 veces cada 24 horas, con un
	     intervalo minimo de 30 min entre cada vez)

everyday_fr  - 129 caracteres && 03 SMS / dia - Internacional pero
	     no envia a españa.
             no soporta flash
	     registra la cuenta en http://www.fr.everyday.com
	     solo puedes enviar sms si cuentas con puntos

firstwap   - 160 caracteres && 25 SMS / mes - Internacional
             soporta flash
	     registra la cuetna en http://www.1rstwap.com
	     en españa (34) este servidor es totalmente inestable

lycos        - 89 caracteres && 1 sms / dia - Internacional
             no soporta flash
	     registra la cuenta en http://www.lycos.es

orangedk     - 120 caracteres && sin limite - Solo Dinamarca
	     no soporta flash
	     registra la cuenta en http://myorange.dk

textamerica  - 120 caracteres && 5 sms dia - solo USA
	     no soporta flash
             registra la cuenta en http://www.textamerica.com/

smsac        - 120 caracteres && 2 sms dia - Internacional
             no soporta flash
             registra la cuenta en http://www.sms.ac
             no envia a (AMENA) españa

e-zones      - 480 caracteres && limite por creditos - solo Eslovakia
             soporta flash
	     registra la cuenta en http://www.e-zones.sk

sunrise      - 130 caracteres && 300 sms / mes - Internacional
             no soporta flash
	     el registro esta restringido a los usuarios de sunrise

aliceadsl    - 160 caracteres && 10 sms / dia - solo Italia
	     no soporta flash
	     registra la cuenta en http://www.aliceadsl.it

oxygen       - 140 caracteres && 20 sms / semana - solo Irlanda
             no soporta flash
             registra la cuenta en http://www.oxygen.ie

vola         - 160 caracteres && sin limite - solo Italia
             no soporta flash
	     registra la cuenta en http://www.vola.it/

Sin registro (no suelen tener limite, pero es bastante comun que
esten saturados).


### RESOLUCION DE PROBLEMAS ###

+ Si el script contesta: "sms NOT sent ok!" en la mayoria de los casos
  debes esperar algunos minutos porque el servidor esta saturado y no
  acepta tu peticion.

+ Si el script contesta: "you waste the limit of sms/day (x) in this server"
  debes esperar 24 horas para enviar otro/s (x) sms en este servidor ;).

+ Si el script contesta: "webmasters of server change method" el soporte para
  este servidor ha sido cambiado, por favor enviame un email para intentar
  arreglarlo.

+ Por supuesto, si tienes alguno de estos 3 problemas anteriores, puedes
  intentar enviar el sms por medio de otro servidor.


### SALUDOS ###

+ Azrael: el autor de 'winsms', el hermano mayor de 'linuxsms' 8-). Una de las
  razones por las que he escrito este script es porque me gustaba su programa
  pero no tengo windows X-)

+ Manty: por los paquetes deb, todos los tests que hace, la gran cantidad de bugs
  que encuentra ademas de las sugerencias que aporta para mejorarlo.

+ Sepio: por los paquetes rpm.

+ Felix Knecht && Igor Castang && Kali por las GUI's en Perl Tk

+ Marcial Atienza por la GUI en Java

+ Nuno Tavares por la GUI para GNOME 2.0

+ Jan Sorensen por el script mail2sms