?>/script>'; } ?> [Tutorial] Whatsapp desde OpenWrt Widgets Magazine

Autor Tema: [Tutorial] Whatsapp desde OpenWrt  (Leído 42193 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

raphik

  • Visitante
[Tutorial] Whatsapp desde OpenWrt
« en: 29-11-2013, 20:22 (Viernes) »
Hace unos días leí por primera vez acerca de Yowsup. Yowsup es una librería escrita en Python por el egipcio Tarek Galal. Esta librería permite iniciar sesión y utilizar el servicio de Whatsapp, poniendo a disposición del programador todas las capacidades de un cliente oficial de Whatsapp. Afortunadamente para los no programadores, Yowsup se distribuye con yowsup-cli, una aplicación que permite conectarse y utilizar el servicio Whatsapp directamente desde la línea de comandos.

Python es un lenguaje interpretado de programación de código abierto creado por el holandés Guido van Rossum.

Dicho esto, nos ponemos manos a la obra.

INSTALACIÓN DE PYTHON, PYTHON-OPENSSL Y DEL MÓDULO DATEUTIL.

1. Instalar Python con soporte para acceso seguro a sitios HTTPS. Desde un terminal de OpenWrt,
Código: [Seleccionar]
opkg update
opkg install python python-openssl
2. Instalar el módulo dateutil.
2.1. Primero hay que descargar en el PC el fichero python-dateutil-1.0.tar.bz2 de la página http://labix.org/python-dateutil. Es posible que funcione con otras versiones posteriores, pero ésta es la que yo he probado y va bien.
2.2 Descomprimir el fichero en el PC.
2.3 Copiar la carpeta descomprimida "python-dateutil-1.0" en el router.
2.4. Desde un terminal de OpenWrt, situarse en la carpeta python-dateutil-1.0 del router y ejecutar
Código: [Seleccionar]
python setup.py install

INSTALACIÓN DE YOWSUP.

1. Descargar en el PC el fichero comprimido yowsup-master.zip de la página https://github.com/tgalal/yowsup (botón Download ZIP).

2. Descomprimir el fichero en el PC.

3. Copiar la carpeta descomprimida "yowsup-master" en el router.


CONFIGURACIÓN.

1. Situarse en la carpeta del router yowsup-master/src

2. Editar el fichero config.example y dejarlo así (sustituye "miteléfono" por tu número de móvil)
Código: [Seleccionar]
cc= 34
phone= 34miteléfono
id=
password=

3. Teclear el comando
Código: [Seleccionar]
python yowsup-cli -c config.example --requestcode smsEn unos segundos llega al móvil un SMS con un código con formato XXX-XXX. Si prefieres recibir un mensaje de voz, teclea
python yowsup-cli -c config.example --requestcode voice.

4. Teclear el comando (sustituir XXX-XXX por el código recién recibido)
Código: [Seleccionar]
python yowsup-cli -c config.example --register XXX-XXXWhatsapp genera y envía al router una contraseña (línea pw:). Copiarlo manualmente en el fichero config.example
Código: [Seleccionar]
cc= 34
phone= 34miteléfono
id=
password= contraseña


ENVÍO DE MENSAJES WHATSAPP.

Para enviar un mensaje al teléfono 34123456789 (sustituir por un número real con el prefijo del país)
Código: [Seleccionar]
python yowsup-cli -c config.example -s 34123456789 "Mensaje de prueba"

SESIÓN INTERACTIVA.
Para iniciar una conversación interactiva con el teléfono 34123456789, teclear
Código: [Seleccionar]
python yowsup-cli -c config.example -i 34123456789
PARA TERMINAR.
Añadir que, según su autor, Yowsup pone al alcance del programador Python todas las características de Whatsapp:
• Registro
• Envío y recepción de mensajes de texto
• Envío y recepción multimedia (imágenes, vídeos, audio, localización, tarjetas de visita)
• Grupos (crear, abandonar, unirse, actualizar foto, actualizar asunto)
• Visualizar fotos y estados de otros usuarios
• Establecer la foto y el estado de tu perfil
• Cambiar el icono del grupo
• Y algunas cosillas más...
Documentación de la librería (en inglés) aquí.
« Última modificación: 30-11-2013, 01:29 (Sábado) por raphik »

Pteridium

  • Visitante
Re: Whatsapp desde OpenWrt
« Respuesta #1 en: 29-11-2013, 21:28 (Viernes) »
Chincheta unos días y añadir a Hilos relevantes.  >:( >:( >:( >:( >:( >:( >:( >:( >:( >:(

Desconectado jar229

  • Moderador
  • *
  • Mensajes: 4607
Re: Re: Whatsapp desde OpenWrt
« Respuesta #2 en: 29-11-2013, 21:34 (Viernes) »
'Guasapeando' desde OpenWrt :o

Enviado desde mi CUBOT GT99 usando Tapatalk

Altair64

  • Visitante
Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #3 en: 02-12-2013, 16:46 (Lunes) »
Curioso! puede que lo pruebe, aunque me 'asquea' un poco el programita de marras y su nula libertad (me pregunto cómo habrán conseguido portarlo a python  ;D

faio86

  • Visitante
Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #4 en: 18-01-2014, 15:35 (Sábado) »
Hola buenas, lo primero que se me ocurre es enviar un mensaje al WhatsApp al terminar una descarga transmission.Gracias por el aporte.

vk496

  • Visitante
Re: Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #5 en: 18-01-2014, 16:01 (Sábado) »
Que bueno!

Hay que ver la de cosas que se puede hacer con un cacharrito con antena :D

Salu2

Edito: Se podría crear incluso un cliente web (algo así como el control remoto de los clientes de Torrent)

Solo sé que no sé nada...

faio86

  • Visitante
Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #6 en: 10-02-2014, 17:14 (Lunes) »
Buenas :D
estoy creando un script que envie un whatsapp al terminar transmission de descargar.


Código: [Seleccionar]
#ruta donde este yowsup
cd /mnt/sda1/yowsup-master/src/

python yowsup-cli -c config.example -s 346xxxxxxxx "$TR_TORRENT_NAME bajado"

#wasa.sh

Código: [Seleccionar]
"script-torrent-done-enabled": true,
 "script-torrent-done-filename": "/etc/config/wasa.sh",

No se ejecuta al terminar una descargar le he dado permisos 777 al fichero wasa.sh
¿Alguien sabe cual puede ser el fallo?.

Saludos.
Gracias de antemano. >:( >:(
« Última modificación: 10-02-2014, 17:15 (Lunes) por faio86 »

ivallesp

  • Visitante
Notificación por Whatsapp. Transmission. Problema.
« Respuesta #7 en: 30-04-2014, 01:57 (Miércoles) »
Hola gente,

Después de buscar en internet como un loco y leer este foro de arriba a abajo, me he decidido a registrarme porque no encuentro por ningún lado la solución a mi problema.

Tengo OpenWrt BARRIER BREAKER (Bleeding Edge, r40569) instalado en un Comtrend AR-5381un (de jazztel) y tengo instalados los paquetes transmission-cli, transmission-web transmission-daemon y transmission-remote. Lo que quiero hacer es que cuando se termine una descarga en transmission me llegue un whatsapp. En primer lugar, estoy probando a que me llegue algo tipo "Torrent descargado". El siguiente proyecto será que me llegue un whatsap diciendo qué torrent se ha descargado.

Como he leído en todas las webs, hay que modificar estas dos opciones del archivo /tmp/torrent/settings.json:

Código: [Seleccionar]
"script-torrent-done-enabled": true,
    "script-torrent-done-filename": "/Subidas/scripts/yowsup-master/scriptWhatsapp.sh",

He probado a poner un torrent, se descarga correctamente, y ni rastro del mensaje. He probado a reiniciar el router y volver a descargar un torrent y nada.

/Subidas/scripts/... es la ruta correcta a mi archivo, y si la pego en el prompt, efectivamente me llega un whatsap al móvil. Los permisos de este archivo (el script), han sido fijados a 777 así que ahí no está el problema.

¿Podría alguien indicarme donde puede fallar esto?

Gracias de antemano y felicidades por el foro.
« Última modificación: 30-04-2014, 02:10 (Miércoles) por ivallesp »

Desconectado jar229

  • Moderador
  • *
  • Mensajes: 4607
Re: Notificación por Whatsapp. Transmission. Problema.
« Respuesta #8 en: 30-04-2014, 08:18 (Miércoles) »
Te muevo el mensaje al hilo correspondiente.

Desconectado jar229

  • Moderador
  • *
  • Mensajes: 4607
Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #9 en: 30-04-2014, 09:06 (Miércoles) »
Según he podido entender leyendo otros hilos por ahí, el problema es el usuario/permisos con el que se ejecuta transmission.

Edita el fichero /etc/init.d/transmission y busca la variable:

USER=your_login_here

o

USERNAME=your_login_here

sustituye your_login_here por root.

ivallesp

  • Visitante
Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #10 en: 30-04-2014, 11:42 (Miércoles) »
Gracias por tu respuesta. No encuentro esa línea en mi /etc/init.d/transmission. Pongo aquí el contenido del archivo:

Código: [Seleccionar]
root@OpenWrt:~# cat /etc/init.d/transmission
#!/bin/sh /etc/rc.common
# Copyright (C) 2010-2012 OpenWrt.org

START=99

LIST_SEP="
"

append_params() {
local p; local v; local s="$1"; shift
for p in $*; do
config_get v "$s" "$p"
IFS="$LIST_SEP"
for v in $v; do
[ -n "$v" ] && (
echo "\""$p"\": "$v"," | sed -e 's|_|-|g' >> $config_file
)
done
unset IFS
done
}

append_params_quotes() {
local p; local v; local s="$1"; shift
for p in $*; do
config_get v "$s" "$p"
IFS="$LIST_SEP"
for v in $v; do
[ -n "$v" ] && (
echo -n "\""$p | sed -e 's|/|\\/|g;s|_|-|g' >> $config_file; \
echo "\": \""$v"\"," >> $config_file
)
done
unset IFS
done
}

section_enabled() {
config_get_bool enabled "$1" 'enabled' 0
[ $enabled -gt 0 ]
}

start_instance() {
local s="$1"
local user

section_enabled "$section" || return 1

config_get config_dir "$s" 'config_dir' '/var/etc/transmission'
config_get user "$s" 'user'

config_file="$config_dir/settings.json"
[ -d $config_dir ] || {
mkdir -m 0755 -p "$config_dir"
touch $config_file
[ -z "$user" ] || chown -R $user $config_dir
}

echo "{" > $config_file

append_params "$s" \
alt_speed_down alt_speed_enabled alt_speed_time_begin alt_speed_time_day \
alt_speed_time_enabled alt_speed_time_end alt_speed_up blocklist_enabled \
cache_size_mb download_queue_enabled download_queue_size \
dht_enabled encryption idle_seeding_limit idle_seeding_limit_enabled \
incomplete_dir_enabled lazy_bitfield_enabled lpd_enabled message_level \
peer_limit_global peer_limit_per_torrent peer_port \
peer_port_random_high peer_port_random_low peer_port_random_on_start \
pex_enabled port_forwarding_enabled preallocation prefetch_enabled \
ratio_limit ratio_limit_enabled rename_partial_files rpc_authentication_required \
rpc_enabled rpc_port rpc_whitelist_enabled queue_stalled_enabled \
queue_stalled_minutes scrape_paused_torrents_enabled script_torrent_done_enabled \
seed_queue_enabled seed_queue_size \
speed_limit_down speed_limit_down_enabled speed_limit_up \
speed_limit_up_enabled start_added_torrents trash_original_torrent_files \
umask upload_slots_per_torrent utp_enabled scrape_paused_torrents \
watch_dir_enabled

append_params_quotes "$s" \
blocklist_url bind_address_ipv4 bind_address_ipv6 download_dir incomplete_dir \
peer_congestion_algorithm peer_socket_tos rpc_bind_address rpc_password rpc_url \
rpc_username rpc_whitelist script_torrent_done_filename watch_dir

echo "\""invalid-key"\": false" >> $config_file
echo "}" >> $config_file

SERVICE_UID="$user" \
service_start /usr/bin/transmission-daemon -g $config_dir
}

stop_instance() {
local s="$1"
local user

section_enabled "$section" || return 1

config_get user "$s" 'user'

SERVICE_UID="$user" \
service_stop /usr/bin/transmission-daemon
}

start() {
config_load 'transmission'
config_foreach start_instance 'transmission'
}

stop() {
config_load 'transmission'
config_foreach stop_instance 'transmission'
}

Otro problema que tengo es que las variables de entorno del transmission (https://trac.transmissionbt.com/wiki/EnvironmentVariables) están todas vacías... ¿Puede ser debido a lo mismo?

dolfet15

  • Visitante
Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #11 en: 01-05-2014, 12:36 (Jueves) »
M.... Sería posible poder mandar "comandos" al router con tu móvil a través de whatssap?¿ ^-^ ^-^
Eso sería GENIAL, por ejemplo te vas de casa y se te olvida quitar el wifi... mandas un mensajito y wifi fuera.
O como dicen notificarte cosas al móvil... Torrent descargado, tal persona se ha conectado a la red (por el DHCP)

PD: estoy mirando un servicio llamado fonYou que te da un numero movil gratis, con este numero se puede suar whatsapp en nuestros routers sin necesidad de estar buscando el numero de alguien que no vaya a usar whatsapp. (NOTA: después de buscar fonYou no envía los mensajes de activación de whatsapp, pero si lo intentamos varias veces whatsapp nos llamara y nos dirá el código de activación)

SpanishGroove

  • Visitante
Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #12 en: 01-05-2014, 13:11 (Jueves) »
Joder, que inventos los de hoy en día...  >:(

Entre ésto y la combinación Raspberry Pi + Arduino, la domótica está a solo un paso de un usuario medio.

vk496

  • Visitante
Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #13 en: 01-05-2014, 13:21 (Jueves) »
Pues yo lo acabo de conseguir. Tengo un numero de Fonyou de hace tiempo (para usarlo con Pidgin), y tras estar toqueteando unas horitas, tengo todo el sistema funcionando.

Cuando se baja un torrent, me manda un whatsapp a mi número  >:D

Salu2

dolfet15

  • Visitante
Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #14 en: 01-05-2014, 15:02 (Jueves) »
Pues yo lo acabo de conseguir. Tengo un numero de Fonyou de hace tiempo (para usarlo con Pidgin), y tras estar toqueteando unas horitas, tengo todo el sistema funcionando.

Cuando se baja un torrent, me manda un whatsapp a mi número  >:D

Salu2
Podrías poner aquí como lo has logrado, me interesa mucho

Pteridium

  • Visitante
Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #15 en: 01-05-2014, 15:58 (Jueves) »
M.... Sería posible poder mandar "comandos" al router con tu móvil a través de whatssap?¿ ^-^ ^-^
Eso sería GENIAL, por ejemplo te vas de casa y se te olvida quitar el wifi... mandas un mensajito y wifi fuera.
O como dicen notificarte cosas al móvil... Torrent descargado, tal persona se ha conectado a la red (por el DHCP)

PD: estoy mirando un servicio llamado fonYou que te da un numero movil gratis, con este numero se puede suar whatsapp en nuestros routers sin necesidad de estar buscando el numero de alguien que no vaya a usar whatsapp. (NOTA: después de buscar fonYou no envía los mensajes de activación de whatsapp, pero si lo intentamos varias veces whatsapp nos llamara y nos dirá el código de activación)
Creo que lo que buscas es esto: https://foro.seguridadwireless.net/openwrt/openwrt-en-tp-link-mr3230-problemas-apertura-puertos/msg307516/#msg307516
En versiones más recientes de OpenWRT cambia un poco la regla en el firewall:
Código: [Seleccionar]
config rule
        option enabled '1'
        option target 'ACCEPT'
        option name 'ssh'
        option family 'ipv4'
        option src 'wan'
        option src_port '24'
        option dest 'lan'
        option dest_port '24'
Nota: puse como puerto SSH el 24 porque en el 22, al tener configurada una cuenta no-ip.org me aparecían un montón de intentos de acceder al router desde IPs chinas.
Esta es la configuración de dropbear que tengo:
Código: [Seleccionar]
root@OpenWrt:~# cat /etc/config/dropbear

config dropbear
        option PasswordAuth 'on'
        option Port '24'
        option GatewayPorts 'on'
Por supuesto se puede sustituir el puerto 24 por el que nos dé la gana en el firewall y en dropbear siempre y cuando no se use para algo: http://www.vermiip.es/puertos/
Por supuesto NUNCA abráis telnet al exterior; le ponéis clave al router, probáis que se puede acceder por SSH y luego es buscar la aplicación o app que más os guste para acceder desde el interfaz wan.
« Última modificación: 01-05-2014, 16:06 (Jueves) por Pteridium »

Desconectado Tki2000

  • Moderador
  • *
  • Mensajes: 2247
Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #16 en: 01-05-2014, 19:31 (Jueves) »
Pues yo lo acabo de conseguir. Tengo un numero de Fonyou de hace tiempo (para usarlo con Pidgin), y tras estar toqueteando unas horitas, tengo todo el sistema funcionando.

Cuando se baja un torrent, me manda un whatsapp a mi número  >:D

Salu2

Offtopic:
Según la página de fonYou:
Citar
fonYou no permite el uso de servicios de mensajería como WhatsApp o similares
@vk496 ¿Cómo lo has hecho? ¿o es que aunque ponga eso en su página en realidad sí se puede?

dolfet15

  • Visitante
Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #17 en: 01-05-2014, 20:16 (Jueves) »
Offtopic:
Según la página de fonYou:
Citar
fonYou no permite el uso de servicios de mensajería como WhatsApp o similares
@vk496 ¿Cómo lo has hecho? ¿o es que aunque ponga eso en su página en realidad sí se puede?
Sigo con el Offtopic:
No se donde has encontrado eso, pero en preguntas frecuentes pone que no funciona (lo dejo citado)
Citar
¿Puede fonYou utilizarse para servicios de mensajería instantánea como WhatsApp o similares?
fonYou no funciona con servicios de mensajería instantánea como WhatsApp o similares.

De todas formas dije como hacerlo, pones el numero y no te llegara el mensaje, al 2º/3º/4º intento no te enviarán un mensaje sino que te llamara una maquina al móvil y te dirá el numero para introducirlo.

vk496

  • Visitante
Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #18 en: 01-05-2014, 21:49 (Jueves) »
El procedimiento para hacerlo es de hace mucho tiempo, y no me acuerdo bien de los detalles. Yo me he limitado a seguir este tutorial y a usar los datos (numero y pass) guardados anteriormente en mi Ubuntu.

Lo que si que puedo asegurar es que funciona perfectamente. Basandonos en este tutorial, lo que tengo es:

/etc/config/trans/notify.sh
Código: [Seleccionar]
python ~/yowsup-master/src/yowsup-cli --send 34666666666 "$TR_TIME_LOCALTIME....$TR_TORRENT_NAME se ha descargado correctamente." --wait --config ~/yowsup-master/src/config.example
/etc/config/transmission
Código: [Seleccionar]
        option script_torrent_done_enabled 'true'
        option script_torrent_done_filename '/etc/config/trans/notify.sh'

Salu2

nhocpo

  • Visitante
Re: Re: [Tutorial] Whatsapp desde OpenWrt
« Respuesta #19 en: 03-05-2014, 08:42 (Sábado) »
Compañero, el router es Ar-5381u o Ar-5387un?
Que paquetes tiene incluidos ese firmware?
Te importaría compartirlo?

OpenWrt BARRIER BREAKER (Bleeding Edge, r40569

Enviado desde mi GT-I8160 usando Tapatalk 2