Yowsup v2.5.2 esta lanzado, Observa(https://github.com/tgalal/yowsup/releases/tag/v2.5.2)
Deseo darle las gracias Inmensas a Tgalal por realizar este excelente producto y por un soporte totalmente integro
Para apoyar su proyecto, puedes donar aqui
==========================================================
Yowsup es una libreria Python que nos da las funcionalidades de whastapp.
Para empezar (debes tener yowsup configurado). Puedes hacerlo mediantes estos links (Construidos por el mismo Tgalal)
- yowsup's Arquitectura
- Crear una aplicacion de ejemplo
- Cli (Command Line Interface) de yowsup
- Como desarrollar para yowsup, mantenerlo, debug e integridad del mismo
- Requiere python2.6+, o python3.0 +
- Requiere los paquetes python: python-dateutil,
- Requiere los paquetes para encripcion lado a lado: protobuf, pycrypto, python-axolotl-curve25519
- Requiere los paquetes python para la CLI: argparse, readline (o pyreadline para windows), pillow (para enviar imagenes)
Puedes instalar usando setup.py para hacerlo con todas las dependencias, usar pip:
pip install yowsup2
O usar el easy install
easy_install yowsup2
Tu necesitas tener instaladas las cabeceras de python (probablemente vienen desde el python-dev package) y ncurses-dev, Luego si podemos correr
python setup.py install
- Tenemos un tutorial bastante explicado para Ubuntu linux (Gracias a su autor Jagjeet Singh)
Hay veces el paquete python-dateutil nos da un error referente a los permisos de ejecucion en yowsup (Mira Este reporte de bug) Para arreglarlo, es mediante el comando chmod 644 a un archivo .txt que hace referencia el bug.
Tu necesitas tener instalado: py27-pip-7.1.2(+), py27-sqlite3-2.7.11_7(+), y luego correr
pip install yowsup2
python setup.py install
Necesitas tener permisos de administrador, y luego correr con el comando 'sudo'
- Instalamos el compilador mingw
- Agrega mingw a tu variable PATH de windows (Java nos enseña https://www.java.com/es/download/help/path.xml)
- En el PATH donde esta instalado Python (PYTHONPATH\Lib\distutils) crea un archivo llamado "distutils.cfg" y agregale la(s) siguiente(s) lineas:
[build]
compiler=mingw32
- Instala gcc:
mingw-get.exe install gcc
- Instala zlib
Y luego:
python setup.py install
Si pycrypto falla en la instalacion con un error como: "chmod error". Tu puedes instalarlo independientemente con el siguiente comando
easy_install http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe
o para python 3:
(Realmente esta parte trajo muchos problemas, solo fue posible hacerlo con el easy_install setup.py de Yowsup y teniendo instalado Python 3.5)
Si tenemos problemas con el python-axolotl (o el curve), referente a:
unable find vcvarsall.bat
Debemos instalar las Visual C++ 2015 Build Tools:
Luego instalamos el modulo de Request:
-
Vamos a el Path de Python a la carpeta Scripts, he ingresamos:
-
easy_install.exe requests
-
Para las imagenes, Vamos a el Path de Python a la carpeta Scripts, he ingresamos:
-
easy_install pillow
Y luego si podemos lanzar de nuevo el comando
python setup.py install
Si usas el comando
pip freeze
Sabras los paquetes que tienes instalados (Python), voy a mostrarles las versiones de los paquetes que tenemos y tambien su version actual:
- pycrypto==2.6.1
- pyreadline==2.1
- python-axolotl==0.1.39
- python-axolotl-curve25519==0.1
- python-dateutil==2.6.1
- pillow==5.0.0
- protobuf==3.5.1
- yowsup2==2.5.0
- pip version 7.1.2
Y la version de Python es:
- Python 3.5.1
Con esto tenemos funcionando Yowsup a hoy 24/01/2018
Nuestro path, debe quedar configurado de la siguiente manera (La instalacion fue hecha en Windows, si, en Windows, el mas complejo).
- Nuestro MINGW-HOME = C:\MinGW
- Nuestro PYTHON_HOME = C:\Users\user\AppData\Local\Programs\Python\Python35-32
Es posible que pida igualmente alguna distribucion de C++ Compiler de Visual Studio (Esta es la que hacemos referencia con el error "unable find vcvarsall.bat").
- (Opcional) VCINSTALLDIR = C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
Si tienes problemas, este link pudo solventarlos
Luego en el Path, las agregamos (No olvides separalas por ";" hasta el final)
-
Ejemplo:
-
PATH = VCINSTALLDIR;MINGW-HOME;PYTHON_HOME ;
IMPORTANTE
-
Primero, debemos descargar https://github.com/mgp25/classesMD5-64 Si no es el EXE (No estamos en Windows). Copia el contenido del archivo archivo en otro archivo MD5.py
-
Ingresamos a la ruta donde guardamos el archivo
-
Ingresamos a descargar la ultima apk de Whatsapp Aqui (Descargada la ponemos en la misma ruta de nuestro archivo MD5.py)
-
Ejecutamos el comando
python MD5.py WhatsApp.apk
-
Obtenemos algo como:
Version: 2.17.344 classesDex: OxVSHnBDYNBZmSiYzwF9+A==
- Primero, debemos decargar https://github.com/mgp25/classesMD5-64 (El .exe)
- Ingresamos a la ruta donde guardamos el archivo
- Ingresamos a descargar la ultima apk de Whatsapp Aqui (Descargada la ponemos en la misma ruta de nuestro archivo Classes.exe)
- Ejecutamos el comando
Classes.exe WhatsApp.apk
- Obtenemos algo como:
Version: 2.17.344 classesDex: OxVSHnBDYNBZmSiYzwF9+A==
Despues cuando obtenemos el classesDex
En la URL (ruta local de tu pc) (Donde descargamos nuestro codigo Yowsup): yowsup-master\yowsup\env\ env_android.py (Si env_android.py)
Reemplazamos la linea por el classesDex que obtuvimos
_MD5_CLASSES = classesDex
Y la linea VERSION por el version obtenido (El que esta arriba del classesDex)
_VERSION = Version
Y luego volvemos a compilar
python setup.py build
IMPORTANTE
- Antes del registro, debemos acceder de nuevo a la URL donde descargamos localmente nuestro codigo Yowsup:
yowsup-master\yowsup\env\ env.py (Si env.py)
- En la Linea DEFAULT del archivo, debemos colocal android
DEFAULT = "android"
- Luego si vamos a solicitar nuestro codigo SMS o VOICE
Obtener codigo (Cuidado, donde dice sms|voice TIENE QUE IR UNO SOLAMENTE, es para el ejemplo, si es SMS (quitemos el voice y viceversa))
python yowsup-cli registration --requestcode sms|voice --phone ccnumerodecelular --cc xx --mcc xxx --mnc xxx -E android
- El CC es el country code : Link Importante va sin el "+"
- El MCC es el mobile country code : Link
- El MNC es el mobile network code : Link
Busca el de tu pais, y empresa telefonica correspondiente
- Luego cuando obtengamos nuestro numero de 7 digitos (Incluido el "-"), utilizamos el siguiente comando (He incluimos el numero de celular y el codigo que nos retorno):
python yowsup-cli registration --register xxx-xxx --phone ccnumerodecelular --cc xx -E android
- Luego si todo sale bien, obtendras algo como esto (Salen muchas mas lineas, pero lo importante es la siguiente):
pw: b'Bgasdjasdhasdaser56='
-
Este es nuestro password utilizado para poder realizar un correcto Logueo en Whatsapp.
-
Ahora, crearemos un archivo llamado config.config en la raiz de nuestro codigo yowsup (yowsup-master\config.config) e ingresaremos las siguientes lineas:
## Actual config starts below ##
cc=xx
phone=xxnumerodecelular
password=el_codigo_pw_sin_el_b
- "el_codigo_pw_sin_el_b" = Es decir lo que esta adentro de las comillas y despues del b'
Es muy importante tener en cuenta esto
- Despues de este paso, debemos regresar al archivo env.py y reemplazar el default de nuevo:
Estaba asi:
DEFAULT = "android"
Y debe ir ahora:
DEFAULT = "s40"
- Luego ya simplemente utilizamos los comando para los ejemplos, como por ejemplo:
python yowsup-cli demos --yowsup --config aqui/va/el/path/config.config
O el echoclient
python yowsup-cli echoclient --yowsup --config aqui/va/el/path/config.config
O el sendclient
python yowsup-cli sendclient --yowsup --config aqui/va/el/path/config.config
Nos logueamos con:
- Auth: Logged in!
- [connected]:
Para enviar un mensaje
/message send ccnumerocelular "El mensaje es este, de prueba"
Y los recibimos tipo
[ccnumerodecelular@s.whatsapp.net(03-01-2018 14:54)]:[0A040C9EC3604C5AD5F23D5B6BC637CE] como estas?
Gracias especiales a las personas sobre todo, que desean mantener el proyecto, y realizar aportes constructivos.
Porfavor Lee esto Si tu quieres contribuir con la construccion de yowsup2
Gracias Tgalal!
Desde Enero 1, 2015 yowsup esta licenciado bajo GPLv3+: http://www.gnu.org/licenses/gpl-3.0.html.
==========================================================