Whatsapp PHP

  • arlo
  • Avatar di arlo Autore
  • Offline
  • www.matteoarlotti.it
Di più
04/02/2016 20:10 - 04/02/2016 20:46 #79307 da arlo
Whatsapp PHP è stato creato da arlo
Ok, diciamo che da titolo si intuisce tutto il post.
Io sono una di quelle persone che ha bisogno di condividere :cheer:
Premetto che non è una guida passo a passo, ma semplicemente un "vi avviso dell'esistenza e buon divertimento"



Ho trovato e installato per bene una libreria online che mi permette di avere, grazie a php, whatsapp online dentro a un database mysql e quindi poter utilizzare i servizi di messaggeria istantanea senza un cellulare accesso.

Su hosting non la installerete mai per limitazioni. Io ad esempio mi son comprato un Raspberry PI da 25 euro nel quale ho installato una piattaforma LAMP (Apache, mysql, php).

La libreria si chiama CHAT-API: github.com/mgp25/Chat-API
A prima vista sembra una bestemmia ma in realtà, capito il funzionamento, è abbastanza semplice.

Necessita per funzionare di almeno PHP 5.6 o superiore, della libreria PHP Protobuf e Curve25519.
Protobuf per interpretare gli oggetti come nodi, e Curve per decifrare i messaggi di whatsapp

L'installazione delle librerie è molto semplice, basta scaricarli da Github, unzipparli, caricarli sul vostro server, e da connessione SSH (raggiunta la cartella) digitare:
phpize
./configure
make
make install
E' necessario il pacchetto php5-dev altrimenti phpize non verrà eseguito

Una volta installate dovrete farle caricare ad apache e riavviarlo.
Nei vostri php ini (esempio: /etc/php5/apache2/php.ini) aggiungete a fine riga:
extension_dir = "/usr/lib/php5/20090626/"
extension="protobuf.so"
extension="curve25519.so"
Ogni installazione ha un numero diverso di extension dir, dipende dal vostro s.o. e versione
Fatelo sia per il php caricato da apache, che per il php utilizzato dal CLI (shell)

Fatto questo si tratta solo di compilare la pagina php :D
All'interno della cartella examples trovate un sacco di file già pronti dal quale poter partire.
Ad esempio registerTool.php lo potete usare per attivare l'account e ottenere cosi il vostro USERID e la vostra PASSWORD
Attenzione, non è una pagina da eseguire da browser ma tramite shell!
Comando:
php registerTool.php
All'interno di exampleFunctional.php ci sono le classi necessarie per connettervi a WA, per mettersi in ascolto di nuovi messaggi, per inviare un messaggio a un numero target e un sacco di altri giochi.

Ma quindi a script realizzato, come lo eseguo?
Le opzioni sono due. La prima è quello di creare una pagina php che verrà poi richiamata ogni minuto tramite una cronjob. La seconda (quella che utilizzo io) è di realizzare interamente il sistema tramite shell. Quindi tenere uno script che avvia la pagina php e la termina ogni giorno, in modo da avere la consegna dei messaggi in tempo reale.
La pagina contiene un parametro while che rimane in ascolto perenne di messaggi in arrivo. Se scegliete la seconda opzione vi raccomando di settare nel vostro codice php l'esecuzione della pagina a tempo indeterminato.
ini_set('max_execution_time', 0);
Per avviare da php shell e non rischiare la chiusura a logout utente potete usare questo comando
nohup php /path/globale/del/vostro/script.php 2> /dev/null & echo $!
Vi restituirà il PID del processo con il quale potrete impostare il kill automatico a mezzanotte. Il kill avviene solo per alleggerire la cache di sistema

Se avete qualche problema potete chiedere, provo ad aiutarvi, ma non prima di avervi spronato ad usare stackoverflow e senza darvi la pappa pronta :side:
Ultima Modifica 04/02/2016 20:46 da arlo.
Ringraziano per il messaggio: RADIO FORMAT

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
04/02/2016 21:41 #79309 da Radio Incontro
Risposta da Radio Incontro al topic Whatsapp PHP
Ciao Matteo! Leggo nel tuo screen un certo "Niki Zincarelli"...che mi sembra di conoscere in quanto nostro compaesano!!
Lo saluti da parte di Radio Incontro di Polignano?
Comunque sei un genio! Potresti confezionare il sistemino tutto pronto "chiavi in mano", proprio come quello che ti sei fatto tu! ;) ;)

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • ClaudioRouge
11/07/2016 15:58 #80514 da ClaudioRouge
Risposta da ClaudioRouge al topic Whatsapp PHP
ciao Arlo,
Sto provando quel prodotto su un server interno con centos che abbiamo in radio.
premetto che sono un sistemista quindi me la cavo con i sistemi linux..

dunque ho messo su un serverino apache + php 5.6.23 con le librerie Protobuf e Curve25519 ma quando da ssh lancio: php registerTool.php
inserendo:
Username (country code + number, do not use + or 00): 39388XXXXXXXXX (corretto che non vuole + o 00)
ho questo errore:

Array
(
[cc] => 39
[in] => xxxxxxxxxx
[lg] => xxxxx
[lc] => xxxx
[id] => xxxxxx
[mistyped] => 6
[network_radio_type] => 1
[simnum] => 1
=>
[copiedrc] => 1
[hasinrc] => 1
[rcmatch] => 1
[pid] => 5551
[extexist] => 1
[extstate] => 1
)
stdClass Object
(
[status] => fail
[reason] => incorrect
[sms_length] => 6
[voice_length] => 6
[sms_wait] => 0
[voice_wait] => 0
)
There was a problem trying to request the code.

secondo te cosa può essere?
grazie mille!
Claudio

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • arlo
  • Avatar di arlo Autore
  • Offline
  • www.matteoarlotti.it
Di più
11/07/2016 16:03 - 11/07/2016 16:06 #80515 da arlo
Risposta da arlo al topic Whatsapp PHP
Prova con il cancellare tutti i file .dat dalla cartella wadata e riprova. Dovrebbe chiederti anche che metodo utilizzare per la verifica e funzionare normalmente.
Altrimenti se ancora ti da problemi, utilizza WART per ottenere ID e password, è un eseguibile windows basico
github.com/mgp25/WART
Ultima Modifica 11/07/2016 16:06 da arlo.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • ClaudioRouge
11/07/2016 16:35 #80516 da ClaudioRouge
Risposta da ClaudioRouge al topic Whatsapp PHP
purtroppo anche cancellando i .dat mi da lo stesso problema.
sms o voice l'errore è lo stesso.
più tardi provo con l'eseguibile di windows.
spero di non doverti disturbare :)
grazie
Claudio

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • ClaudioRouge
11/07/2016 18:46 #80517 da ClaudioRouge
Risposta da ClaudioRouge al topic Whatsapp PHP
Purtroppo non va neanche il software..
ho provato anche da: www.watools.es/pwd.html ma mi arriva l'sms con i 6 numeri ma non me li accetta anche usando l'eseguibile (allegato cattura.png)..
mentre se provo a fare una nuova registrazione con l'eseguibile va in errore (cattura2.png).
ho provato con diversi numeri, anche con 2 numeri di pacca mai usati con whatsapp..
non vorrei che whatsapp abbia bloccato questi software per la generazione della password..
si accettano consigli...
grazie
Claudio
Allegati:

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • ClaudioRouge
11/07/2016 20:19 #80518 da ClaudioRouge
Risposta da ClaudioRouge al topic Whatsapp PHP
Ho paura che sia come temevo..
whatsapp mi ha "bannato" i numeri.
allego screenshot.
quindi a quanto pare se si prova ad usare questi metodi "non riconosciuti" whatsapp ti banna dai loro servizi!
ho inviato una mail al supporto sperando che riattivino uno dei numeri che ho usato per fare i test (e fortunatamente non è quello che usavamo in radio per gli acoltatori).
qualcuno ha avuto il mio stesso problema?
Grazie
Claudio
Allegati:

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • arlo
  • Avatar di arlo Autore
  • Offline
  • www.matteoarlotti.it
Di più
12/07/2016 09:27 #80524 da arlo
Risposta da arlo al topic Whatsapp PHP
stranissimo, io ho provato a registrarmi nuovamente ma mi è andata a buon fine.. hai clonato GIT o hai fatto il download e l'upload a mano?
che IP stai utilizzando?
così su due piedi non mi viene in mente nulla del motivo per cui ti abbiano bloccato. Il blocco forse è derivato dalle troppe registrazioni fallite. Il perchè falliscano però è da capire

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • ClaudioRouge
12/07/2016 11:35 #80525 da ClaudioRouge
Risposta da ClaudioRouge al topic Whatsapp PHP
Ho provato a mettere la macchina virtuale su un'infrastruttura esterna provando con IP diversi ma non penso sia una questione di IP.
Ho trovato questa guida, magari prendendo la password da qui:
github.com/mgp25/Chat-API/wiki/Extracting-password-from-device
potrebbe funzionare ugualmente?

per lo script, ho fatto download senza clonare il GIT..
ho scaricato questo via wget: github.com/mgp25/Chat-API/archive/master.zip
e decompresso lato server.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • ClaudioRouge
26/08/2016 12:13 #80846 da ClaudioRouge
Risposta da ClaudioRouge al topic Whatsapp PHP
Ciao a tutti,
purtroppo ancora non sono riuscito vincente con questo dilemma.
qualsiasi numero inserisco mi viene "bannato" da whatsapp.. ho finito i numeri di test e vorrei evitare di mettere quello "ufficiale" che usiamo per la radio per evitare che mi blocchino definitivamente anche questo.

Domanda: esiste una qualche appliance o macchina virtuale già pronta per il reploy che funzioni senza problemi?
A questo punto mi viene da pensare che sia qualche incompatibilità di versioni che uso che a whatsapp dia fastidio...

Da sistemista non so cosa altro provare. si accettano consigli.

Grazie
Claudio

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • arlo
  • Avatar di arlo Autore
  • Offline
  • www.matteoarlotti.it
Di più
22/09/2016 16:29 - 22/09/2016 16:29 #80964 da arlo
Risposta da arlo al topic Whatsapp PHP

ClaudioRouge ha scritto: Ciao a tutti,
purtroppo ancora non sono riuscito vincente con questo dilemma.
qualsiasi numero inserisco mi viene "bannato" da whatsapp.. ho finito i numeri di test e vorrei evitare di mettere quello "ufficiale" che usiamo per la radio per evitare che mi blocchino definitivamente anche questo.Claudio


ho fatto una installazione anche oggi, tramite composer e tutto è filato liscio, ti posso solo dire di controllare bene il codice che utilizzi perche sulla libreria problemi non ne rilevo.
ne ho tre attive che han sempre funzionato, e controllo regolarmente gli aggiornamenti con gli update di composer
Ultima Modifica 22/09/2016 16:29 da arlo.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • ClaudioRouge
23/09/2016 10:48 #80969 da ClaudioRouge
Risposta da ClaudioRouge al topic Whatsapp PHP
Ciao Arlo,
allora forse mi sto perdendo qualcosa io..
potrebbe essere un problema di incompatibilità del webserver che sto mettendo su io?
Server version: Apache/2.2.15 (Unix)
PHP 5.6.23 (cli) (built: Jun 23 2016 19:09:38)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

questo è il PHPINFO: 91.134.124.72/testphp.php

Da come si può vedere il Curve e protobuf sono installati.
questo è il folder del WA: 91.134.124.72/radiopuntozero/

e lanciando il register da SSH sembra dare qualche output:

php -f registerTool.php
####################
# #
# WA Register Tool #
# #
####################
Username (country code + number, do not use + or 00): 39

Per ora con la radio stiamo usando un emulatore android su un PC per whatsapp ma vorrei fare una cosa più "seria"..

Grazie per l'aiuto.
Claudio

Si prega Accedi o Crea un account a partecipare alla conversazione.

Tempo creazione pagina: 0.090 secondi

MB STUDIO HOME / LITE / PRO

MB STUDIO PRO / LITE MB Studio trasforma il computer in una stazione radio. Suona, mixa, sovrappone automaticamente voce e musica, jingles, pubblicita', notiziari. Riproduce stazioni radio web o satellitari e scarica automaticamente notiziari o rubriche da internet. Oltre al player multitraccia, include anche un CD audio ripper. La versione PRO Incorpora anche un jukebox musicale automatico via sms e/o emails.

MB RECASTER PRO

video reel32MB RECASTER PRO comprende un registratore audio con schedulatore dedicato, trasmissione Webcast verso qualunque server Shoutcast, Icecast o Windows Media, funzione AutoDJ che permette di suonare files casuali da una lista di 4 cartelle, ricevitore URL che vi permette di registrare un qualunque flusso audio esterno o ritrasmetterlo al vostro server (transcoder), un convertitore di files audio da/a qualunque formato.

MB LIVE

MB LIVEMB LIVE è un software per la trasmissione di audio \ video in diretta da postazione esterna a studio centrale. Questo programma, sfrutta una qualsiasi connessione TCPIP. E' fornito gratuitamente insieme al programma MB STUDIO PRO.